/* ═══════════════════════════════════════════════════════════
   RAIZ CONTÁBIL — projeto conceito Empusites
   Azul-noite + âmbar · Sora + Manrope · landing page
   ═══════════════════════════════════════════════════════════ */

:root{
  --night:   #0A1628;
  --night-2: #0D1D31;
  --night-3: #13273F;
  --night-4: #1A3352;

  --amber:    #F5A524;
  --amber-lt: #FBC85C;
  --amber-dk: #C97F0E;

  --txt:   #EDF1F7;
  --txt-2: rgba(237,241,247,.66);
  --txt-3: rgba(237,241,247,.42);

  --ink:   #0A1628;
  --ink-2: rgba(10,22,40,.66);
  --ink-3: rgba(10,22,40,.42);
  --white: #FFFFFF;
  --mist:  #F1F4F9;

  --line:   rgba(237,241,247,.11);
  --line-2: rgba(237,241,247,.22);

  --fd: 'Sora', 'Segoe UI', system-ui, sans-serif;
  --fs: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --wrap: 1180px;
  --pad:  clamp(20px, 5vw, 42px);
  --sec:  clamp(70px, 9.5vw, 130px);
  --r:    14px;
  --r-lg: 22px;
  --e:    cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body{
  background:var(--night); color:var(--txt);
  font-family:var(--fs); font-size:16px; line-height:1.66; letter-spacing:-.008em;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden;
}
img,svg{ display:block; max-width:100% }
a{ color:inherit; text-decoration:none }
ul,ol{ list-style:none }
button,input,select{ font:inherit; color:inherit }
::selection{ background:var(--amber); color:var(--night) }
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad) }

h1,h2,h3{ font-family:var(--fd); font-weight:700; line-height:1.08; letter-spacing:-.04em }
em{ font-style:normal; color:var(--amber) }

.grain{ position:fixed; inset:0; z-index:800; pointer-events:none; opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E") }

/* ─────────── seções ─────────── */
.sec{ padding-block:var(--sec) }
.sec--deep{ background:var(--night-2) }
.sec--soft{ background:var(--night-2) }
.sh{ max-width:660px; margin-bottom:clamp(40px,5vw,64px) }
.sh--c{ margin-inline:auto; text-align:center }
.sh h2{ font-size:clamp(29px,4.4vw,50px) }
.sh__lead{ font-size:16px; color:var(--txt-2); margin-top:18px; max-width:48ch }
.sh--c .sh__lead{ margin-inline:auto }

.kick{ display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.19em;
  text-transform:uppercase; color:var(--txt-3); margin-bottom:18px }
.kick--am{ color:var(--amber) }

.pill{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--txt-2);
  background:rgba(245,165,36,.11); border:1px solid rgba(245,165,36,.28);
  padding:7px 16px; border-radius:100px; margin-bottom:24px }
.pill b{ color:var(--amber); font-weight:700 }

/* ─────────── header ─────────── */
.hd{ position:fixed; top:0; left:0; right:0; z-index:900; padding-block:15px;
  border-bottom:1px solid transparent;
  transition:background .35s ease, border-color .35s ease, padding .35s var(--e) }
.hd.stuck{ background:rgba(10,22,40,.82); backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px); border-bottom-color:var(--line); padding-block:10px }
.hd__row{ display:flex; align-items:center; justify-content:space-between; gap:20px }
.brand{ display:inline-flex; align-items:center; gap:11px }
.brand svg{ transition:transform .5s var(--e) }
.brand:hover svg{ transform:rotate(-8deg) }
.brand__txt{ display:flex; flex-direction:column; line-height:1;
  font-family:var(--fd); font-size:19px; font-weight:700; letter-spacing:-.04em }
.brand__txt small{ font-family:var(--fs); font-size:9.5px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--txt-3); margin-top:3px }

/* ─────────── botões ─────────── */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 26px; border-radius:100px; font-size:14.5px; font-weight:700;
  border:1.5px solid transparent; cursor:pointer; white-space:nowrap; position:relative; overflow:hidden;
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .4s var(--e), box-shadow .4s var(--e) }
.btn svg{ transition:transform .4s var(--e) }
.btn:hover svg{ transform:translateX(4px) }
.btn--sm{ padding:10px 19px; font-size:13.5px }
.btn--lg{ padding:17px 32px; font-size:16px }
.btn--block{ width:100% }
.btn--amber{ background:var(--amber); color:var(--night);
  box-shadow:0 8px 24px -8px rgba(245,165,36,.6) }
.btn--amber:hover{ background:var(--amber-lt); transform:translateY(-2px);
  box-shadow:0 16px 36px -10px rgba(245,165,36,.75) }
.btn--amber::after{ content:''; position:absolute; inset:0; width:50%;
  transform:translateX(-130%) skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent) }
.btn--amber:hover::after{ animation:shine .8s var(--e) }
@keyframes shine{ to{ transform:translateX(330%) skewX(-18deg) } }
.btn--line{ border-color:var(--line-2); color:var(--txt) }
.btn--line:hover{ border-color:var(--amber); color:var(--amber); background:rgba(245,165,36,.07) }

/* ─────────── hero ─────────── */
.hero{ position:relative; padding-block:clamp(104px,13vh,150px) clamp(60px,7vw,96px); overflow:hidden }
.hero__glow{ position:absolute; top:-30%; left:-10%; width:900px; height:900px; pointer-events:none;
  background:radial-gradient(circle, rgba(245,165,36,.16), transparent 62%);
  animation:drift 13s ease-in-out infinite }
@keyframes drift{ 0%,100%{ transform:translate(0,0) scale(1) } 50%{ transform:translate(60px,40px) scale(1.1) } }
.hero__rings{ position:absolute; top:6%; right:-14%; pointer-events:none; opacity:.5 }
.hero__rings i{ position:absolute; border:1px solid var(--line); border-radius:50% }
.hero__rings i:nth-child(1){ width:420px; height:420px }
.hero__rings i:nth-child(2){ width:620px; height:620px; top:-100px; left:-100px }
.hero__rings i:nth-child(3){ width:820px; height:820px; top:-200px; left:-200px }
.hero__in{ position:relative; display:grid; grid-template-columns:1.06fr .94fr;
  gap:clamp(32px,4vw,60px); align-items:center }

.lines{ font-size:clamp(38px,5.9vw,72px); line-height:1.02; letter-spacing:-.05em; margin-bottom:24px }
.lines > span{ display:block; overflow:hidden; padding-bottom:.08em }
.lines .ln{ display:block; transform:translateY(108%); transition:transform 1s var(--e) }
.lines.in .ln{ transform:none }
.lines > span:nth-child(1) .ln{ transition-delay:.06s }
.lines > span:nth-child(2) .ln{ transition-delay:.17s }

.hero__sub{ font-size:clamp(15.5px,1.5vw,18px); color:var(--txt-2); max-width:46ch; margin-bottom:26px }
.hero__checks{ display:flex; flex-direction:column; gap:10px; margin-bottom:30px }
.hero__checks li{ position:relative; padding-left:28px; font-size:14.5px; color:var(--txt-2) }
.hero__checks li::before{ content:''; position:absolute; left:0; top:3px; width:18px; height:18px;
  border-radius:50%; background:rgba(245,165,36,.16); border:1px solid rgba(245,165,36,.4) }
.hero__checks li::after{ content:''; position:absolute; left:5.5px; top:8.5px; width:7px; height:4px;
  border-left:2px solid var(--amber); border-bottom:2px solid var(--amber); transform:rotate(-45deg) }

.proof{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:24px; border-top:1px solid var(--line) }
.proof__faces{ display:flex }
.proof__faces i{ width:32px; height:32px; border-radius:50%; margin-left:-9px;
  background:var(--night-4); border:2px solid var(--night); display:grid; place-content:center;
  font-size:10.5px; font-weight:700; font-style:normal; color:var(--txt-2) }
.proof__faces i:first-child{ margin-left:0 }
.proof__faces i:last-child{ background:var(--amber); color:var(--night) }
.proof p{ font-size:13.5px; color:var(--txt-3) }
.proof b{ color:var(--txt); font-weight:700 }

/* formulário de captação */
.lead{ background:var(--white); color:var(--ink); border-radius:var(--r-lg);
  padding:clamp(26px,3vw,36px); box-shadow:0 40px 90px -34px rgba(0,0,0,.85) }
.lead__flag{ display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.13em;
  text-transform:uppercase; background:var(--amber); color:var(--night);
  padding:5px 12px; border-radius:100px; margin-bottom:16px }
.lead h2{ font-size:clamp(21px,2.3vw,26px); color:var(--ink); margin-bottom:10px }
.lead__sub{ font-size:13.5px; color:var(--ink-3); margin-bottom:24px; line-height:1.55 }
.fld{ margin-bottom:15px }
.fld label{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:7px }
.fld input,.fld select{ width:100%; padding:14px 16px; border-radius:11px;
  border:1.5px solid rgba(10,22,40,.18); background:var(--mist); font-size:14.5px; color:var(--ink);
  transition:border-color .3s ease, box-shadow .3s ease }
.fld input::placeholder{ color:var(--ink-3) }
.fld input:focus,.fld select:focus{ outline:none; border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(245,165,36,.22) }
.lead__ok{ margin-top:12px; font-size:13px; color:var(--amber-dk); text-align:center; font-weight:600 }
.lead__legal{ margin-top:14px; font-size:11.5px; color:var(--ink-3); text-align:center }

/* ─────────── faixa ─────────── */
.strip{ background:var(--night-3); border-block:1px solid var(--line); padding-block:14px; overflow:hidden }
.strip__t{ display:flex; align-items:center; gap:24px; width:max-content; animation:scrollx 38s linear infinite }
.strip span{ font-size:13.5px; font-weight:600; color:var(--txt-3); white-space:nowrap;
  letter-spacing:.02em; text-transform:uppercase }
.strip i{ color:var(--amber); font-size:8px; font-style:normal }
@keyframes scrollx{ to{ transform:translateX(-50%) } }

/* ─────────── casos ─────────── */
.cases{ display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:clamp(14px,1.8vw,20px) }
.case{ position:relative; background:var(--night-2); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:clamp(26px,3vw,34px); overflow:hidden;
  transition:transform .5s var(--e), border-color .35s ease }
.case::before{ content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--amber),transparent);
  transform:scaleX(0); transition:transform .6s var(--e) }
.case:hover{ transform:translateY(-6px); border-color:var(--line-2) }
.case:hover::before{ transform:scaleX(1) }
.case__n{ display:block; font-family:var(--fd); font-size:12px; font-weight:700;
  color:var(--amber); letter-spacing:.08em; margin-bottom:16px }
.case h3{ font-size:21px; margin-bottom:11px }
.case p{ font-size:14.5px; color:var(--txt-2) }

/* ─────────── qualificador ─────────── */
.quiz{ padding-block:var(--sec); background:
  radial-gradient(700px circle at 50% 0%, rgba(245,165,36,.09), transparent 62%), var(--night) }
.quizbox{ max-width:760px; margin-inline:auto; background:var(--night-2);
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  padding:clamp(28px,3.4vw,44px); box-shadow:0 40px 90px -40px rgba(0,0,0,.9); position:relative }
.quizbox__bar{ position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--line); border-radius:var(--r-lg) var(--r-lg) 0 0; overflow:hidden }
.quizbox__bar i{ display:block; height:100%; width:33.33%;
  background:linear-gradient(90deg,var(--amber-dk),var(--amber-lt)); transition:width .5s var(--e) }

.qstep,.qresult{ display:none }
.qstep.is-on,.qresult.is-on{ display:block; animation:stepIn .5s var(--e) }
@keyframes stepIn{ from{ opacity:0; transform:translateY(12px) } to{ opacity:1; transform:none } }
.qstep__n{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--amber); margin-bottom:14px }
.qstep h3{ font-size:clamp(21px,2.6vw,29px); margin-bottom:24px }
.qstep__hint{ margin-top:18px; font-size:12.5px; color:var(--txt-3); line-height:1.55 }
.opts{ display:flex; flex-direction:column; gap:11px }
.opt{ text-align:left; padding:16px 20px; border-radius:var(--r);
  border:1.5px solid var(--line-2); background:transparent; color:var(--txt);
  font-size:15px; font-weight:500; cursor:pointer; position:relative;
  transition:all .3s ease }
.opt::after{ content:''; position:absolute; right:20px; top:50%; margin-top:-4px;
  width:8px; height:8px; border-right:2px solid var(--txt-3); border-bottom:2px solid var(--txt-3);
  transform:rotate(-45deg); transition:all .3s ease }
.opt:hover{ border-color:var(--amber); background:rgba(245,165,36,.09); transform:translateX(4px) }
.opt:hover::after{ border-color:var(--amber) }

.qresult__k{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--amber); margin-bottom:12px }
.qresult h3{ font-size:clamp(24px,3.2vw,36px); margin-bottom:14px; color:var(--amber) }
.qresult > p{ font-size:16px; color:var(--txt-2); line-height:1.7; margin-bottom:20px }
.qresult__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px }
.qresult__tags span{ font-size:12.5px; font-weight:600; color:var(--txt-2);
  background:var(--night-3); border:1px solid var(--line); padding:6px 14px; border-radius:100px }
.qresult__act{ display:flex; flex-wrap:wrap; gap:11px }
.qresult__disc{ margin-top:22px; padding-top:18px; border-top:1px solid var(--line);
  font-size:12px; color:var(--txt-3); line-height:1.55 }

/* ─────────── incluso ─────────── */
.inc{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(32px,5vw,68px); align-items:start }
.inc__copy h2{ font-size:clamp(29px,4vw,46px); margin-bottom:20px }
.inc__copy > p{ font-size:15.5px; color:var(--txt-2); max-width:42ch; margin-bottom:28px }
.inc__price{ display:flex; flex-wrap:wrap; gap:28px; padding:22px 0 26px; margin-bottom:26px;
  border-block:1px solid var(--line) }
.inc__price span{ display:block; font-size:11.5px; font-weight:700; letter-spacing:.1em;
  text-transform:uppercase; color:var(--txt-3); margin-bottom:6px }
.inc__price b{ font-family:var(--fd); font-size:clamp(28px,3.4vw,38px); font-weight:700;
  color:var(--amber); letter-spacing:-.04em; line-height:1 }
.inc__list{ display:grid; grid-template-columns:1fr 1fr; gap:10px }
.inc__list li{ position:relative; padding:14px 16px 14px 44px; font-size:14px; color:var(--txt-2);
  background:var(--night-3); border:1px solid var(--line); border-radius:var(--r);
  transition:border-color .35s ease, transform .45s var(--e) }
.inc__list li:hover{ border-color:rgba(245,165,36,.4); transform:translateY(-3px) }
.inc__list li::before{ content:''; position:absolute; left:16px; top:16px; width:16px; height:16px;
  border-radius:50%; background:rgba(245,165,36,.18) }
.inc__list li::after{ content:''; position:absolute; left:20.5px; top:20.5px; width:7px; height:4px;
  border-left:2px solid var(--amber); border-bottom:2px solid var(--amber); transform:rotate(-45deg) }

/* ─────────── passos ─────────── */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(232px,1fr)); gap:clamp(14px,2vw,22px) }
.step{ position:relative; padding-top:26px; border-top:2px solid var(--line) }
.step::before{ content:''; position:absolute; top:-5px; left:0; width:8px; height:8px;
  border-radius:50%; background:var(--amber); box-shadow:0 0 0 4px rgba(245,165,36,.18) }
.step__d{ display:inline-block; font-family:var(--fd); font-size:11.5px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; color:var(--amber); margin-bottom:12px }
.step h3{ font-size:20px; margin-bottom:10px }
.step p{ font-size:14px; color:var(--txt-2) }

/* ─────────── garantia ─────────── */
.warranty{ padding-block:clamp(40px,5vw,64px); background:var(--night-3); border-block:1px solid var(--line) }
.warranty__in{ display:flex; align-items:center; gap:clamp(20px,3vw,34px); flex-wrap:wrap }
.warranty__ic{ width:64px; height:64px; flex:none; color:var(--amber);
  background:rgba(245,165,36,.11); border:1px solid rgba(245,165,36,.3);
  border-radius:18px; display:grid; place-content:center }
.warranty__ic svg{ width:30px; height:30px }
.warranty h2{ font-size:clamp(21px,2.5vw,29px); margin-bottom:8px }
.warranty p{ font-size:14.5px; color:var(--txt-2); max-width:62ch }

/* ─────────── depoimentos ─────────── */
.quotes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(14px,2vw,22px) }
.q{ background:var(--night-2); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:clamp(24px,3vw,32px); transition:transform .5s var(--e), border-color .35s ease }
.q:hover{ transform:translateY(-6px); border-color:var(--line-2) }
.q__stars{ color:var(--amber); font-size:14px; letter-spacing:2px; margin-bottom:16px }
.q blockquote{ font-size:15px; line-height:1.72; color:var(--txt-2); margin-bottom:22px }
.q figcaption{ display:flex; align-items:center; gap:12px; padding-top:18px; border-top:1px solid var(--line) }
.q__ph{ width:40px; height:40px; border-radius:12px; flex:none; display:grid; place-content:center;
  background:rgba(245,165,36,.16); color:var(--amber); font-family:var(--fd); font-size:13px; font-weight:700 }
.q figcaption b{ display:block; font-size:14.5px; font-weight:700 }
.q figcaption small{ font-size:12px; color:var(--txt-3) }

/* ─────────── FAQ ─────────── */
.faq__wrap{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(32px,5vw,72px); align-items:start }
.faq__wrap .sh{ margin-bottom:0; position:sticky; top:110px }
.faq{ display:flex; flex-direction:column; border-top:1px solid var(--line) }
.qa{ border-bottom:1px solid var(--line) }
.qa summary{ list-style:none; cursor:pointer; padding:22px 42px 22px 0; position:relative;
  font-size:16.5px; font-weight:600; letter-spacing:-.02em; transition:color .3s ease }
.qa summary::-webkit-details-marker{ display:none }
.qa summary:hover{ color:var(--amber-lt) }
.qa summary::after,.qa summary::before{ content:''; position:absolute; right:6px; top:50%;
  background:var(--amber); transition:transform .45s var(--e), opacity .35s ease }
.qa summary::after{ width:13px; height:1.6px; margin-top:-.8px }
.qa summary::before{ width:1.6px; height:13px; margin-top:-6.5px; margin-right:5.7px }
.qa[open] summary{ color:var(--amber) }
.qa[open] summary::before{ transform:rotate(90deg); opacity:0 }
.qa__b{ padding:0 42px 24px 0; animation:stepIn .45s var(--e) }
.qa__b p{ font-size:14.8px; color:var(--txt-2); line-height:1.75 }

/* ─────────── CTA final ─────────── */
.last{ position:relative; padding-block:clamp(80px,10vw,140px); text-align:center; overflow:hidden;
  border-top:1px solid var(--line) }
.last__glow{ position:absolute; bottom:-45%; left:50%; transform:translateX(-50%);
  width:min(900px,120vw); height:640px; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(245,165,36,.2), transparent 64%);
  animation:drift 11s ease-in-out infinite }
.last__in{ position:relative; z-index:2 }
.last h2{ font-size:clamp(30px,5vw,58px); margin-bottom:20px }
.last__sub{ font-size:clamp(15.5px,1.5vw,18px); color:var(--txt-2); max-width:52ch; margin:0 auto 32px }
.last__note{ margin-top:20px; font-size:12px; color:var(--txt-3); letter-spacing:.04em }

/* ─────────── rodapé ─────────── */
.ft{ background:var(--night-2); border-top:1px solid var(--line); padding-block:44px 24px }
.ft__in{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  padding-bottom:28px; border-bottom:1px solid var(--line) }
.ft__nav{ display:flex; flex-wrap:wrap; gap:8px 22px }
.ft__nav a{ font-size:13.5px; color:var(--txt-2); transition:color .3s ease }
.ft__nav a:hover{ color:var(--amber) }
.ft__bot{ display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding-top:20px;
  font-size:12px; color:var(--txt-3) }
.ft__bot a{ color:var(--amber); border-bottom:1px solid rgba(245,165,36,.35) }

/* ─────────── assinatura Empusites ─────────── */
.sig{ position:fixed; right:22px; bottom:22px; z-index:850; display:flex; align-items:center;
  gap:11px; padding:9px 15px 9px 9px; border-radius:100px; background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(10,22,40,.2); box-shadow:0 18px 40px -14px rgba(0,0,0,.7);
  opacity:0; transform:translateY(14px); pointer-events:none;
  transition:opacity .6s var(--e), transform .6s var(--e), padding .5s var(--e) }
.sig.show{ opacity:1; transform:none; pointer-events:auto }
.sig:hover{ padding-right:21px }
.sig__mark{ width:31px; height:31px; border-radius:9px; background:var(--night); color:var(--txt);
  display:grid; place-content:center; font-family:var(--fd); font-size:16px; font-weight:700; flex:none }
.sig__id{ display:flex; flex-direction:column; line-height:1.06; color:var(--ink) }
.sig__id small{ font-size:8.5px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:var(--ink-3) }
.sig__id b{ font-family:var(--fd); font-size:14px; font-weight:700; letter-spacing:-.03em }
.sig__cta{ display:inline-flex; align-items:center; gap:6px; max-width:0; overflow:hidden;
  white-space:nowrap; font-size:13px; font-weight:700; color:var(--amber-dk);
  transition:max-width .55s var(--e), margin-left .55s var(--e) }
.sig:hover .sig__cta{ max-width:210px; margin-left:5px }

/* ─────────── reveal ─────────── */
.rv{ opacity:0; transform:translateY(20px); transition:opacity .8s var(--e), transform .8s var(--e) }
.rv.in{ opacity:1; transform:none }
.rv[data-d="1"]{ transition-delay:.09s } .rv[data-d="2"]{ transition-delay:.18s }
.rv[data-d="3"]{ transition-delay:.27s } .rv[data-d="4"]{ transition-delay:.36s }
.rv[data-d="5"]{ transition-delay:.45s }

/* ─────────── responsivo ─────────── */
@media (max-width:1000px){
  .hero__in,.inc,.faq__wrap{ grid-template-columns:1fr }
  .hero__form{ max-width:520px }
  .faq__wrap .sh{ position:static }
  .hero__rings{ display:none }
}
@media (max-width:620px){
  .sig{ right:14px; bottom:14px; padding:8px 13px 8px 8px }
  .sig:hover .sig__cta{ max-width:0; margin-left:0 }
  .inc__list{ grid-template-columns:1fr }
  .qresult__act .btn{ width:100% }
  .warranty__in{ gap:18px }
  .ft__in{ flex-direction:column; align-items:flex-start }
}

:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; border-radius:6px }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important;
    transition-duration:.001ms!important; scroll-behavior:auto!important }
  .rv{ opacity:1; transform:none }
  .lines .ln{ transform:none }
}
