/* ==========================================================
   ENERGYFLEX / FLEX ENERGY — ULTRA V3 (corrigido + melhorado)
   - Corrige: formulário Salesforce, nav quebrando linha, botão QR invisível, depoimentos vazios
   - Adiciona: autocomplete cidades (datalist), máscara, microinterações, acessibilidade
   ========================================================== */

:root{
  --solar:#F7C42D;
  --solar2:#FFD36A;
  --solar-d:#E8B400;

  --ocean:#0F2A44;
  --ocean2:#0B1E33;

  --paper:#ffffff;
  --off:#F6F7FB;
  --mist:#EEF2FA;

  --ink:#0B1220;
  --text:#273042;
  --muted:#66708A;

  --line:rgba(15,42,68,.14);
  --line2:rgba(15,42,68,.08);

  --r-sm:12px;
  --r:18px;
  --r-lg:26px;
  --r-xl:34px;

  --sh1: 0 10px 35px rgba(15,42,68,.12);
  --sh2: 0 18px 70px rgba(15,42,68,.14);
  --sh3: 0 30px 110px rgba(15,42,68,.18);

  --ease:cubic-bezier(.2,.9,.2,1);
  --t:220ms var(--ease);

  --container:1180px;
  --announce-h:44px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 20% -10%, rgba(247,196,45,.14), transparent 60%),
    radial-gradient(1200px 700px at 90% 0%, rgba(15,42,68,.10), transparent 55%),
    linear-gradient(180deg, #fff 0%, #fbfcff 25%, #f6f7fb 70%, #f2f4fb 100%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.loading *{transition:none!important}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid rgba(247,196,45,.9); outline-offset:3px; border-radius:12px;}

.container{width:min(var(--container), calc(100% - 48px)); margin-inline:auto}
.section{padding:96px 0}
.section--tight{padding:70px 0}
.section--alt{
  background:
    radial-gradient(1000px 600px at 20% 0%, rgba(247,196,45,.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,0), rgba(15,42,68,.02));
}
.grid{display:grid; gap:22px}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr))}
@media (max-width: 980px){
  .grid-2,.grid-3{grid-template-columns:1fr}
  .section{padding:74px 0}
}

h1,h2,h3,h4{
  font-family:"Syne","DM Sans",system-ui,sans-serif;
  color:var(--ink);
  margin:0 0 12px;
}
h1{font-size:clamp(2.2rem,5.2vw,4.05rem); line-height:1.02; letter-spacing:-.04em}
h2{font-size:clamp(1.7rem,3.2vw,2.75rem); line-height:1.12; letter-spacing:-.025em}
h3{font-size:1.15rem; line-height:1.25}
p{margin:0 0 14px; line-height:1.88}
.muted{color:var(--muted)}
.max70{max-width:70ch}

.kicker{
  display:inline-flex; align-items:center; gap:10px;
  padding:9px 14px;
  border-radius:999px;
  background:rgba(247,196,45,.20);
  color:var(--ocean);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:.72rem;
}
.kicker::before{
  content:"";
  width:10px;height:10px;border-radius:50%;
  background:var(--solar);
  box-shadow:0 0 0 4px rgba(247,196,45,.18);
}

.hr{
  width:76px;height:4px;border-radius:999px;
  background:linear-gradient(90deg, var(--solar), rgba(247,196,45,.12));
  margin-top:16px;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 20px;
  border-radius:16px;
  border:1px solid transparent;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.86rem;
  cursor:pointer;
  transition: transform var(--t), box-shadow var(--t), background var(--t), border-color var(--t), color var(--t), filter var(--t);
  user-select:none;
}
.btn--sm{padding:10px 14px; border-radius:14px; font-size:.80rem}
.btn--primary, .btn-y{
  background:linear-gradient(135deg, var(--solar), var(--solar2));
  color:var(--ink);
  box-shadow:0 18px 50px rgba(247,196,45,.40);
}
.btn--primary:hover, .btn-y:hover{transform:translateY(-2px); box-shadow:0 26px 65px rgba(247,196,45,.50)}
.btn--primary:active, .btn-y:active{transform:translateY(0)}
.btn--outline, .btn-o{
  background:rgba(255,255,255,.78);
  border-color:rgba(15,42,68,.18);
  color:var(--ink);
}
.btn--outline:hover, .btn-o:hover{transform:translateY(-2px); background:#fff; box-shadow:var(--sh1)}
.btn--ghost{
  background:rgba(15,42,68,.06);
  border-color:rgba(15,42,68,.10);
  color:var(--ink);
}
.btn--ghost:hover{transform:translateY(-2px); background:rgba(15,42,68,.09); box-shadow:var(--sh1)}
.pulse{
  animation:pulse 1.8s var(--ease) infinite;
}
@keyframes pulse{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-1px)}
}

.pill{
  display:inline-flex; align-items:center; gap:9px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,42,68,.12);
  background:#fff;
  color:var(--ink);
  font-weight:900;
  font-size:.86rem;
  box-shadow:0 8px 24px rgba(15,42,68,.06);
}
.pill i{color:var(--solar-d)}

.card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,42,68,.10);
  border-radius:var(--r);
  box-shadow:var(--sh1);
  padding:24px;
}
.card--glass{
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.66));
  backdrop-filter: blur(14px);
}
.card__icon{
  width:50px;height:50px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(247,196,45,.20);
  color:var(--ocean);
  box-shadow:0 14px 40px rgba(247,196,45,.18);
  margin-bottom:12px;
}
.badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(15,42,68,.70);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.72rem;
}
.badge::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:var(--solar);
  box-shadow:0 0 0 4px rgba(247,196,45,.18);
}

.note{
  border-radius:16px;
  padding:12px 14px;
  border:1px dashed rgba(15,42,68,.20);
  background:rgba(15,42,68,.03);
  color:var(--muted);
  font-size:.92rem;
}

/* Header + announce */
.skip-link{
  position:absolute; left:14px; top:-64px;
  background:#fff; color:var(--ink);
  border-radius:12px;
  padding:10px 12px;
  border:1px solid var(--line);
  z-index:9999;
  transition: top var(--t);
}
.skip-link:focus{top:14px}

.announce{
  position:sticky;
  top:0;
  z-index:1002;
  background:linear-gradient(90deg, rgba(15,42,68,.92), rgba(15,42,68,.98));
  color:rgba(255,255,255,.92);
  font-weight:800;
  font-size:.92rem;
  letter-spacing:.02em;
}
.announce__inner{
  display:flex;
  gap:14px;
  justify-content:center;
  align-items:center;
  padding:10px 0;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:auto hidden;
  scrollbar-width:none;
}
.announce__inner::-webkit-scrollbar{display:none}
.announce strong{color:var(--solar)}
.announce a{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:rgba(247,196,45,.55);
}

.site-header{
  position:sticky;
  top:var(--announce-h);
  z-index:1001;
  background:rgba(255,255,255,.68);
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(15,42,68,.08);
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.88);
  box-shadow:0 12px 48px rgba(15,42,68,.08);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:14px 0;
}
.brand__logo{height:40px; width:auto}

/* ✅ Fix: nav quebrando linha */
.nav{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow:auto hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  max-width: clamp(520px, 56vw, 920px);
}
.nav::-webkit-scrollbar{display:none}
.nav a{
  padding:10px 10px;
  border-radius:14px;
  color:var(--text);
  font-weight:800;
  opacity:.92;
  transition: background var(--t), transform var(--t), opacity var(--t);
  white-space:nowrap;
}
.nav a:hover{background:rgba(15,42,68,.06); transform:translateY(-1px); opacity:1}
.nav a.is-active{background:rgba(247,196,45,.22); color:var(--ocean)}
.header__actions{display:flex; gap:10px; align-items:center}
.icon-btn{
  width:46px;height:46px;border-radius:16px;
  border:1px solid rgba(15,42,68,.12);
  background:rgba(255,255,255,.82);
  display:grid; place-items:center;
  cursor:pointer;
  transition:transform var(--t), background var(--t), box-shadow var(--t);
  flex:0 0 auto;
}
.icon-btn:hover{transform:translateY(-2px); box-shadow:var(--sh1); background:#fff}
.icon-btn__bars{width:18px;height:12px; display:block; position:relative}
.icon-btn__bars::before{
  content:""; position:absolute; left:0; right:0; top:0; height:2px;
  background:var(--ocean);
  border-radius:10px;
  box-shadow:0 5px 0 var(--ocean), 0 10px 0 var(--ocean);
}
@media (max-width: 980px){
  .nav{display:none}
  .announce{display:none}
  .site-header{top:0}
}


/* Mobile menu */
.mobile-menu{position:fixed; inset:0; z-index:2005; pointer-events:none}
.mobile-menu.is-open{pointer-events:auto}
.mobile-menu__backdrop{position:absolute; inset:0; background:rgba(15,42,68,.45); opacity:0; transition:opacity var(--t)}
.mobile-menu.is-open .mobile-menu__backdrop{opacity:1}
.mobile-menu__panel{
  position:absolute; top:0; right:0; height:100%;
  width:min(430px, calc(100% - 56px));
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.90));
  border-left:1px solid rgba(15,42,68,.10);
  box-shadow:var(--sh3);
  transform:translateX(110%);
  transition:transform var(--t);
  padding:18px;
  display:flex; flex-direction:column; gap:14px;
}
.mobile-menu.is-open .mobile-menu__panel{transform:translateX(0)}
.mobile-menu__top{display:flex; align-items:center; justify-content:space-between}
.mobile-menu__brand{display:flex; gap:10px; align-items:center}
.mobile-menu__logo{height:34px}
.mobile-menu__title{font-family:"Syne"; font-weight:900; color:var(--ink)}
.mobile-menu__nav{display:flex; flex-direction:column; gap:8px; padding:10px 0}
.mobile-menu__nav a{
  padding:14px 12px;
  border-radius:16px;
  border:1px solid rgba(15,42,68,.10);
  background:#fff;
  font-weight:900;
}
.mobile-menu__nav a:hover{background:rgba(247,196,45,.18)}
.mobile-menu__cta{margin-top:auto}
.mobile-menu__fineprint{margin:10px 0 0; color:var(--muted); font-size:.92rem}

/* HERO */
.hero{
  position:relative; overflow:hidden;
  padding:88px 0 56px;
}
.hero__slides{position:absolute; inset:-40px; overflow:hidden}
.hero__slide{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:0;
  transform:scale(1.04);
  transition: opacity 900ms var(--ease), transform 1400ms var(--ease);
  filter: saturate(1.05) contrast(1.02);
}
.hero__slide.is-on{opacity:1; transform:scale(1.0)}
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 500px at 18% 22%, rgba(247,196,45,.32), transparent 60%),
    radial-gradient(900px 500px at 82% 18%, rgba(15,42,68,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.78) 45%, rgba(246,247,251,.96));
  backdrop-filter: blur(2px);
}
.hero__grid{
  position:relative;
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap:34px;
  align-items:center;
}
@media (max-width: 980px){ .hero__grid{grid-template-columns:1fr; padding-top:10px} }

.hero__title em{font-style:normal; color:var(--solar-d)}
.hero__lead{font-size:1.08rem; max-width:62ch}
.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.hero__trust{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px}

.hero__panel{
  border-radius:var(--r-xl);
  border:1px solid rgba(15,42,68,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.64));
  box-shadow:var(--sh2);
  overflow:hidden;
}
.hero__panel-top{padding:18px 18px 0}
.hero__panel-body{padding:18px}
.hero__panel-grid{display:grid; gap:12px}

/* Range (slider) ✅ melhoria visual */
.range{
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(15,42,68,.14);
  background:#fff;
}
.range__top{display:flex; align-items:center; justify-content:space-between; gap:10px}
.range__value{font-family:"Syne"; font-weight:900; color:var(--ink); font-size:1.15rem}
.range input[type="range"]{
  width:100%;
  margin-top:12px;
  height:40px;              /* bigger touch target */
  background:transparent;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
}
.range input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--solar);
  border:3px solid #fff;
  box-shadow:0 12px 28px rgba(247,196,45,.45);
  margin-top:-10px; /* align with 10px track */
}
.range input[type="range"]::-moz-range-thumb{
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--solar);
  border:3px solid #fff;
  box-shadow:0 12px 28px rgba(247,196,45,.45);
}
.metric{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 14px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(15,42,68,.10);
}
.metric strong{
  font-family:"DM Sans",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:900;
  color:var(--ink);
  font-size:1.28rem;
  letter-spacing:-.01em;
}
.metric span{color:var(--muted); font-weight:800}
.mini{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}

/* Steps */
.steps{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px}
@media (max-width: 980px){ .steps{grid-template-columns:1fr} }
.step{
  position:relative;
  padding:22px;
  border-radius:var(--r);
  background:#fff;
  border:1px solid rgba(15,42,68,.10);
  box-shadow:var(--sh1);
  overflow:hidden;
}
.step::after{
  content:"";
  position:absolute; inset:-40px -40px auto auto;
  width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(247,196,45,.35), transparent 65%);
  transform:translate(20px,-20px);
}
.step__n{
  width:48px;height:48px;border-radius:16px;
  display:grid;place-items:center;
  font-family:"Syne";
  font-weight:900;
  color:var(--ink);
  background:rgba(247,196,45,.24);
  margin-bottom:10px;
}

/* Testimonials ✅ agora sempre visível */
.carousel__track{display:flex; gap:16px; overflow:auto; scroll-snap-type:x mandatory; padding:6px 2px 10px}
.carousel__track::-webkit-scrollbar{height:10px}
.carousel__track::-webkit-scrollbar-thumb{background:rgba(15,42,68,.12); border-radius:999px}
.testi{
  flex:0 0 min(460px, 92%);
  scroll-snap-align:start;
  border-radius:var(--r-lg);
}
.stars{color:var(--solar-d); letter-spacing:2px; font-size:.95rem}
.testi__quote{font-size:1.02rem}
.testi__who{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; color:var(--muted); font-weight:800}
.avatar{
  width:46px;height:46px;border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(15,42,68,.10);
  background:#fff;
  box-shadow:0 12px 30px rgba(15,42,68,.10);
}

/* Gallery */
.mosaic{display:grid; grid-template-columns: repeat(12, 1fr); gap:12px}
.mosaic a{
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(15,42,68,.10);
  box-shadow:0 14px 40px rgba(15,42,68,.10);
  position:relative;
  min-height:180px;
  background:#fff;
}
.mosaic img{width:100%; height:100%; object-fit:cover; transition:transform 900ms var(--ease); filter:saturate(1.03)}
.mosaic a:hover img{transform:scale(1.06)}
.mosaic .cap{
  position:absolute; left:14px; bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(15,42,68,.72);
  color:#fff;
  font-weight:900;
  letter-spacing:.05em;
  font-size:.78rem;
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
}
.m1{grid-column: span 7}
.m2{grid-column: span 5}
.m3{grid-column: span 4}
.m4{grid-column: span 4}
.m5{grid-column: span 4}
@media (max-width: 980px){ .m1,.m2,.m3,.m4,.m5{grid-column: span 12} }

/* Page hero */
.page-hero{
  position:relative; overflow:hidden;
  padding:84px 0 54px;
  color:#fff;
}
.page-hero__bg{position:absolute; inset:0; background-size:cover; background-position:center; filter:saturate(1.02) contrast(1.02)}
.page-hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 520px at 18% 18%, rgba(247,196,45,.35), transparent 60%),
    linear-gradient(180deg, rgba(15,42,68,.86), rgba(15,42,68,.62));
}
.page-hero__content{position:relative}
.page-hero__content h1{color:#fff}
.page-hero__content p{max-width:78ch; color:rgba(255,255,255,.86); font-size:1.05rem}

/* ✅ Salesforce Form Styles (corrige tudo do print) */
#lp-form{margin-top:14px}
#lp-form .toggle-pj{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:8px;
  border-radius:18px;
  background:rgba(15,42,68,.04);
  border:1px solid rgba(15,42,68,.10);
  margin-bottom:14px;
}
#lp-form .toggle-pj input{position:absolute; opacity:0; pointer-events:none}
#lp-form .toggle-pj label{
  padding:12px 12px;
  border-radius:14px;
  background:#fff;
  border:1px solid rgba(15,42,68,.10);
  font-weight:900;
  color:var(--ink);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition: background var(--t), transform var(--t), border-color var(--t), box-shadow var(--t);
}
#lp-form .toggle-pj input:checked + label{
  background:rgba(247,196,45,.22);
  border-color:rgba(247,196,45,.55);
  box-shadow:0 14px 35px rgba(247,196,45,.18);
}
#lp-form .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
@media (max-width: 700px){ #lp-form .form-row{grid-template-columns:1fr} }

#lp-form .form-g{margin-top:10px}
#lp-form .form-lbl{
  display:block;
  font-weight:900;
  color:var(--ink);
  margin-bottom:8px;
}
#lp-form .form-c{
  width:100%;
  padding:14px 14px;
  border-radius:16px;
  border:1px solid rgba(15,42,68,.14);
  background:#fff;
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
}
#lp-form .form-c:focus{
  outline:none;
  border-color:rgba(247,196,45,.9);
  box-shadow:0 0 0 4px rgba(247,196,45,.18);
}
#lp-form textarea.form-c.ta{min-height:110px; resize:vertical}
#lp-form button.btn{width:100%; justify-content:center; margin-top:10px}

/* Datalist dropdown (cidade) */
input[list]::-webkit-calendar-picker-indicator{display:none}

/* Footer ✅ QR button visível */
.site-footer{
  background:linear-gradient(180deg, rgba(15,42,68,.92), rgba(15,42,68,.98));
  color:rgba(255,255,255,.86);
  padding:70px 0 28px;
  margin-top:54px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.35fr repeat(3, 1fr);
  gap:24px;
  align-items:start;
}
@media (max-width: 980px){ .footer__grid{grid-template-columns:1fr; gap:18px} }
.footer__logo{height:38px; width:auto; margin-bottom:10px}
.footer__title{color:#fff; margin:0 0 10px}
.footer__link{display:block; padding:8px 0; color:rgba(255,255,255,.78); font-weight:800}
.footer__link:hover{color:#fff}
.footer__meta{margin:0 0 8px; color:rgba(255,255,255,.78); font-weight:700}
.footer__meta i{color:var(--solar); margin-right:8px}
.footer__social{display:flex; gap:10px; margin-top:12px}
.footer__social a{
  width:44px;height:44px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}
.footer__social a:hover{background:rgba(255,255,255,.12)}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.10);
  margin-top:26px;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.site-footer .btn--outline, .site-footer .btn-o{
  background:#fff;
  color:var(--ink);
  border-color:rgba(255,255,255,.55);
}
.site-footer .btn--outline:hover, .site-footer .btn-o:hover{
  background:rgba(255,255,255,.92);
}

/* Floating CTAs */
.wa-fab{
  position:fixed; right:18px; bottom:18px;
  width:58px;height:58px;border-radius:18px;
  display:grid;place-items:center;
  background:linear-gradient(135deg, #25D366, #1fbf5b);
  color:#fff;
  box-shadow:0 18px 45px rgba(37,211,102,.35);
  z-index:1200;
  transition:transform var(--t), filter var(--t);
}
.wa-fab:hover{transform:translateY(-2px); filter:saturate(1.05)}
.wa-fab i{font-size:1.35rem}

.sticky-cta{
  position:fixed;
  left:50%;
  transform:translateX(-50%);
  bottom:16px;
  z-index:1100;
  display:none;
}
.sticky-cta .card{
  padding:10px 10px;
  border-radius:999px;
  display:flex;
  align-items:center;
  gap:10px;
}
.sticky-cta .hint{font-weight:900; color:var(--ink); white-space:nowrap}
@media (max-width: 980px){ .sticky-cta{display:block} }

/* Reveal animations */
.reveal{opacity:0; transform: translateY(14px); transition: opacity 650ms var(--ease), transform 650ms var(--ease)}
.reveal.is-in{opacity:1; transform:none}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none}
  .hero__slide{transition:none}
  .pulse{animation:none}
}

@media (min-width: 981px){
  .testi{flex:0 0 calc(50% - 10px)}
}

/* About split (Quem Somos) */
.about-split{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:22px;
  align-items:center;
}
@media (max-width: 980px){
  .about-split{grid-template-columns:1fr}
}
.about-split__text p{margin-bottom:14px}
.about-illu{
  margin:0;
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(15,42,68,.10);
  background:#fff;
  box-shadow: 0 18px 70px rgba(15,42,68,.12);
}
.about-illu img{
  width:100%;
  height:auto;
  display:block;
}
.about-illu figcaption{
  padding:12px 14px;
  font-size:.92rem;
  color:var(--muted);
  background:linear-gradient(180deg, rgba(247,196,45,.08), rgba(255,255,255,0));
}

/* ==========================================================
   Ultra V6 additions
   ========================================================== */

/* Proof cards */
.proof-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:18px;
}
@media (max-width: 980px){
  .proof-grid{grid-template-columns:1fr}
}
.proof-card{
  position:relative;
  overflow:hidden;
}
.proof-card::after{
  content:"";
  position:absolute;
  inset:-40px -40px auto auto;
  width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(247,196,45,.30), transparent 65%);
  transform:translate(20px,-20px);
}
.proof-top{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-bottom:12px;
}
.proof-top .tag{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(15,42,68,.06);
  border:1px solid rgba(15,42,68,.10);
  font-weight:900;
  color:var(--ink);
  font-size:.84rem;
}
.proof-top .tag i{color:var(--solar-d)}
.proof-values{
  display:grid;
  gap:10px;
  position:relative;
  z-index:1;
}
.proof-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(15,42,68,.10);
}
.proof-row span{color:var(--muted); font-weight:900}
.proof-row strong{
  font-family:"Syne";
  color:var(--ink);
  font-size:1.15rem;
}
.proof-row strong.blur{
  filter: blur(2.2px);
  opacity:.75;
}
.proof-footer{
  margin-top:12px;
  color:var(--muted);
  font-weight:800;
  font-size:.92rem;
}

/* Trust / legal section */
.trust-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:22px;
  align-items:center;
}
@media (max-width: 980px){ .trust-grid{grid-template-columns:1fr} }
.bill-mock{
  border-radius:24px;
  border:1px solid rgba(15,42,68,.10);
  overflow:hidden;
  background:#fff;
  box-shadow: var(--sh2);
}
.bill-mock__head{
  padding:14px 14px;
  background:linear-gradient(135deg, rgba(15,42,68,.92), rgba(15,42,68,.98));
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bill-mock__head strong{font-family:"Syne"; font-weight:900}
.bill-mock__body{padding:14px 14px}
.bill-line{
  display:flex; justify-content:space-between; gap:12px;
  padding:10px 0;
  border-bottom:1px dashed rgba(15,42,68,.14);
}
.bill-line:last-child{border-bottom:none}
.bill-line .k{color:var(--muted); font-weight:900}
.bill-line .v{font-weight:900; color:var(--ink)}
.bill-highlight{
  margin-top:12px;
  border-radius:18px;
  padding:12px 12px;
  border:1px solid rgba(247,196,45,.45);
  background:rgba(247,196,45,.14);
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.bill-highlight i{color:var(--solar-d); margin-top:2px}
.bill-highlight strong{display:block; font-family:"Syne"; color:var(--ink)}

/* Industry chips */
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.chip{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(15,42,68,.12);
  background:#fff;
  font-weight:900;
  color:var(--ink);
  box-shadow:0 10px 24px rgba(15,42,68,.06);
}
.chip i{color:var(--solar-d)}

/* Contact add-ons */
.form-mini{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:10px 0 0;
}
.form-mini .pill{
  box-shadow:none;
  background:rgba(255,255,255,.9);
}
.inline-radio{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:8px;
}
.inline-radio label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(15,42,68,.12);
  background:#fff;
  font-weight:900;
  cursor:pointer;
}
.inline-radio input{accent-color: var(--solar)}
.small-note{
  margin-top:8px;
  color:var(--muted);
  font-size:.86rem;
  font-weight:700;
}

/* Sustentabilidade - initiatives grid (sus-grid) */
.sus-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:22px;
}
@media (max-width: 980px){
  .sus-grid{grid-template-columns:1fr}
}
.sus-card{
  position:relative;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(15,42,68,.10);
  box-shadow: 0 18px 70px rgba(15,42,68,.12);
  min-height:220px;
  background:#fff;
  transform: translateZ(0);
}
.sus-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition: transform 900ms var(--ease);
}
.sus-card:hover img{transform:scale(1.06)}
.sus-ov{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(15,42,68,.10), rgba(15,42,68,.70));
}
.sus-body{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:10px;
  padding:18px 18px;
  color:#fff;
}
.sus-body h3{
  margin:0;
  color:#fff;
  font-family:"Syne";
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  line-height:1.05;
  text-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.sus-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  align-self:flex-start;
  padding:10px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--solar), var(--solar2));
  color:var(--ink);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:.82rem;
  box-shadow:0 18px 45px rgba(247,196,45,.35);
}
.sus-card--center{
  grid-column: 2 / span 1;
  min-height:240px;
}
@media (max-width: 980px){
  .sus-card--center{grid-column:auto}
}

/* Mobile menu - safe area / notch support */
.mobile-menu__panel{
  padding-top: max(18px, env(safe-area-inset-top));
}

/* Hide header hamburger while menu is open (prevents double buttons) */
body.menu-open #menuBtn{visibility:hidden}

/* Range track styling */
.range input[type="range"]::-webkit-slider-runnable-track{
  height:10px;
  border-radius:999px;
  background:rgba(15,42,68,.16);
  border:1px solid rgba(15,42,68,.10);
}
.range input[type="range"]::-moz-range-track{
  height:10px;
  border-radius:999px;
  background:rgba(15,42,68,.16);
  border:1px solid rgba(15,42,68,.10);
}
.range input[type="range"]::-moz-range-progress{
  height:10px;
  border-radius:999px;
  background:rgba(247,196,45,.55);
}
