:root{
  --ink:#0f2137; --ink-soft:#4a5b6e; --muted:#7c8a9a;
  --paper:#f6f9fc; --surface:#ffffff; --line:#e4ebf2;
  --brand:#0a84d8; --brand-dark:#0866ab; --brand-soft:#e8f4fd;
  --gold:#e8a01e; --gold-soft:#fdf3df; --wa:#25d366; --live:#1f9d5a;
  --shadow-sm:0 4px 14px -6px rgba(15,33,55,.14);
  --shadow-md:0 14px 40px -18px rgba(15,33,55,.20);
  --shadow-lg:0 30px 70px -28px rgba(10,132,216,.28);
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:88px; -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--paper); color:var(--ink-soft);
  font-family:'Inter',system-ui,sans-serif; line-height:1.65;
  overflow-x:hidden;
  background-image:
    radial-gradient(950px 520px at 88% -12%, rgba(10,132,216,.10), transparent 60%),
    radial-gradient(760px 480px at -5% -5%, rgba(232,160,30,.10), transparent 55%);
  background-repeat:no-repeat;
}
#app{ overflow-x:hidden; width:100%; }
h1,h2,h3,h4,.font-display{ font-family:'Plus Jakarta Sans','Inter',sans-serif; color:var(--ink); letter-spacing:-.015em; }
img{ max-width:100%; display:block; }
a{ color:inherit; }

.eyebrow{ font-size:.75rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--brand); }

.card{
  background:var(--surface); border:1px solid var(--line); border-radius:20px;
  box-shadow:var(--shadow-sm); transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s, border-color .35s;
}
.card-hover:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); border-color:#cfe1f1; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-weight:700; border-radius:14px; padding:.85rem 1.4rem; line-height:1;
  transition:transform .22s cubic-bezier(.2,.7,.2,1), box-shadow .22s, background .22s, border-color .22s, color .22s;
  white-space:nowrap; cursor:pointer;
}
.btn:active{ transform:translateY(1px) scale(.99); }
.btn-primary{ background:var(--brand); color:#fff; box-shadow:0 12px 26px -12px rgba(10,132,216,.6); }
.btn-primary:hover{ background:var(--brand-dark); transform:translateY(-2px); box-shadow:0 18px 40px -14px rgba(10,132,216,.65); }
.btn-outline{ background:#fff; color:var(--ink); border:1px solid var(--line); }
.btn-outline:hover{ border-color:var(--brand); color:var(--brand); transform:translateY(-2px); }
.btn-gold{ background:var(--gold); color:#3a2a00; box-shadow:0 12px 26px -12px rgba(232,160,30,.55); }
.btn-gold:hover{ background:#d9930f; transform:translateY(-2px); }
.btn-wa{ background:var(--wa); color:#fff; box-shadow:0 12px 26px -12px rgba(37,211,102,.55); }
.btn-wa:hover{ background:#1fbd5a; transform:translateY(-2px); }
.btn-ghost-light{ background:#fff; border:1px solid var(--line); color:var(--brand); }
.btn-ghost-light:hover{ background:var(--brand-soft); border-color:#bfe0f6; }

.divider{ height:1px; background:var(--line); }

.chip{
  display:inline-flex; align-items:center; gap:.45rem;
  padding:.55rem .9rem; border-radius:999px; font-size:.82rem; font-weight:600; color:var(--ink);
  background:#fff; border:1px solid var(--line); transition:all .22s; cursor:pointer;
}
.chip:hover{ border-color:var(--brand); background:var(--brand-soft); color:var(--brand-dark); }
.chip-static{ cursor:default; }
.chip-static:hover{ border-color:var(--line); background:#fff; color:var(--ink); }
.pill{
  display:inline-flex; align-items:center; padding:.35rem .7rem; border-radius:999px;
  font-size:.72rem; font-weight:700; background:var(--paper); border:1px solid var(--line); color:var(--ink-soft);
}

.field{
  width:100%; background:#fff; border:1px solid var(--line); border-radius:12px;
  padding:.8rem 1rem; color:var(--ink); font-size:.95rem; transition:border-color .2s, box-shadow .2s;
}
.field:focus{ outline:none; border-color:var(--brand); box-shadow:0 0 0 3px rgba(10,132,216,.14); }
.field::placeholder{ color:#9aa7b5; }

.tab-btn{
  padding:.62rem 1.05rem; border-radius:999px; font-size:.86rem; font-weight:700;
  border:1px solid var(--line); background:#fff; color:var(--ink-soft); transition:all .22s; white-space:nowrap;
}
.tab-btn:hover{ color:var(--brand); border-color:#bfe0f6; }
.tab-btn.active{ color:#fff; background:var(--brand); border-color:var(--brand); box-shadow:0 10px 24px -12px rgba(10,132,216,.55); }

.navbar-scrolled{ box-shadow:0 10px 30px -18px rgba(15,33,55,.25); border-bottom-color:var(--line) !important; }

.gac-spin{ transform-origin:32px 32px; animation:gacSpin 16s linear infinite; }
.gac-swirl{ transform-origin:32px 32px; animation:gacSpin 34s linear infinite reverse; }
@keyframes gacSpin{ to{ transform:rotate(360deg); } }

@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-11px); } }
.f1{ animation:floaty 5s ease-in-out infinite; }
.f2{ animation:floaty 6s ease-in-out infinite .7s; }
.f3{ animation:floaty 5.4s ease-in-out infinite 1.3s; }
.f4{ animation:floaty 6.6s ease-in-out infinite .4s; }
.airflow path{ stroke-dasharray:5 11; animation:flow 1.5s linear infinite; }
@keyframes flow{ to{ stroke-dashoffset:-32; } }
.snow circle{ animation:drift 4.2s linear infinite; }
.snow circle:nth-child(2){ animation-delay:1.1s; }
.snow circle:nth-child(3){ animation-delay:2.2s; }
.snow circle:nth-child(4){ animation-delay:3.1s; }
.snow circle:nth-child(5){ animation-delay:1.7s; }
@keyframes drift{ 0%{ transform:translateY(-8px); opacity:0; } 15%{ opacity:1; } 100%{ transform:translateY(70px); opacity:0; } }
@keyframes fanspin{ to{ transform:rotate(360deg); } }
.hero-fan{ transform-origin:center; animation:fanspin 3.4s linear infinite; }

@keyframes pulseRing{ 0%{ transform:scale(.9); opacity:.7; } 70%{ transform:scale(2.3); opacity:0; } 100%{ opacity:0; } }
.pulse-dot{ position:relative; }
.pulse-dot::after{ content:""; position:absolute; inset:0; border-radius:999px; background:currentColor; animation:pulseRing 2.2s ease-out infinite; }

.reveal{ opacity:0; transform:translateY(26px); }

.faq-panel{ max-height:0; overflow:hidden; transition:max-height .4s ease; }

::-webkit-scrollbar{ width:11px; height:11px; }
::-webkit-scrollbar-track{ background:#eef3f8; }
::-webkit-scrollbar-thumb{ background:#c8d6e4; border-radius:20px; border:2px solid #eef3f8; }
::-webkit-scrollbar-thumb:hover{ background:#a9becf; }

.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

@media (max-width:767px){ #app{ padding-bottom:74px; } }

@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
}
