/* GM Ar Condicionado — estilos compartilhados (biosite, site e catálogo)
   Agência QVP · animações sempre ativas (não respeita "reduzir movimento" por decisão de projeto) */
:root{
  --navy:#081a36; --navy2:#0f2c5a; --navy3:#173d7a;
  --blue:#39b5ff; --blue2:#1e90e6; --sky:#8fd6ff;
  --ice:#eaf7ff; --frost:#d4efff; --white:#fff;
  --ink:#0b1b33; --muted:#5b6f8c;
  --r:22px; --r-sm:14px;
  --sh:0 18px 50px -18px rgba(8,26,54,.45);
  --sh-soft:0 10px 30px -14px rgba(8,26,54,.25);
  --ease:cubic-bezier(.2,.8,.2,1);
  --f-head:"Sora",system-ui,sans-serif; --f-body:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{font-family:var(--f-body);color:var(--ink);background:var(--ice);line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--f-head);line-height:1.12;letter-spacing:-.02em}
.wrap{width:min(1180px,92vw);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Botões ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:1em 1.6em;border-radius:999px;font-weight:700;font-family:var(--f-head);font-size:.98rem;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .3s;overflow:hidden;isolation:isolate}
.btn svg{width:1.2em;height:1.2em;flex:none}
.btn:hover{transform:translateY(-3px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-ice{background:linear-gradient(135deg,#fff,#d9f2ff);color:var(--navy);box-shadow:0 14px 40px -12px rgba(57,181,255,.8)}
.btn-blue{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;box-shadow:0 14px 34px -12px rgba(30,144,230,.9)}
.btn-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}
.btn-ghost:hover{background:rgba(255,255,255,.16)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:var(--sh-soft)}
.btn-wa{background:linear-gradient(135deg,#25d366,#13a851);color:#fff;box-shadow:0 14px 34px -12px rgba(19,168,81,.8)}
.shine::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 48%,transparent 66%);
  transform:translateX(-120%);animation:shine 3.2s var(--ease) infinite}
@keyframes shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

/* ---------- Neve / ar frio ---------- */
.snow{position:fixed;inset:0;pointer-events:none;z-index:0}
.airlines path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:2;stroke-linecap:round;
  stroke-dasharray:60 240;animation:air 3.6s linear infinite}
.airlines path:nth-child(2){animation-delay:-.9s;stroke-opacity:.4}
.airlines path:nth-child(3){animation-delay:-1.8s;stroke-opacity:.3}
.airlines path:nth-child(4){animation-delay:-2.7s;stroke-opacity:.5}
@keyframes air{to{stroke-dashoffset:-300}}

/* ---------- Revelação ao rolar ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s}.rv-d2{transition-delay:.16s}.rv-d3{transition-delay:.24s}.rv-d4{transition-delay:.32s}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:200;
  background:var(--navy);color:#fff;padding:.9em 1.3em;border-radius:14px;font-size:.92rem;
  box-shadow:var(--sh);transition:transform .45s var(--ease);max-width:90vw;text-align:center}
.toast.show{transform:translate(-50%,0)}

/* ---------- Botão flutuante WhatsApp ---------- */
.fab{position:fixed;right:18px;bottom:18px;z-index:90;width:60px;height:60px;border-radius:50%;
  display:grid;place-items:center;background:linear-gradient(135deg,#25d366,#13a851);color:#fff;
  box-shadow:0 12px 30px -8px rgba(19,168,81,.8)}
.fab svg{width:30px;height:30px}
.fab::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #25d366;animation:ping 2.2s ease-out infinite}
@keyframes ping{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.35);opacity:0}}

.credit{font-size:.78rem;opacity:.7}
.credit a{font-weight:700}
