/* =====================================================================
   CorpRaasta — global stylesheet
   Theme tokens, base typography and every animation used across pages.
   ===================================================================== */

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Ubuntu', system-ui, sans-serif;
  background: var(--bg);
  color: var(--fg);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}

:root {
  --bg:#faf8f2; --bg-2:#f2eee4; --card:#ffffff; --fg:#15130e; --muted:#6b675d;
  --border:rgba(21,19,14,0.10); --border-2:rgba(21,19,14,0.055);
  --accent:#2563eb; --accent-2:#1d4ed8; --accent-soft:rgba(37,99,235,0.10);
  --shadow:0 1px 3px rgba(20,19,14,.05),0 10px 34px rgba(20,19,14,.07);
  --footer-bg:#08080a; --footer-fg:#f3f1ec; --footer-muted:#86837c;
}
:root[data-theme="dark"] {
  --bg:#070708; --bg-2:#0c0c10; --card:#131318; --fg:#f4f2ec; --muted:#9d9a90;
  --border:rgba(255,255,255,0.11); --border-2:rgba(255,255,255,0.05);
  --accent:#3b82f6; --accent-2:#60a5fa; --accent-soft:rgba(59,130,246,0.15);
  --shadow:0 1px 3px rgba(0,0,0,.45),0 14px 42px rgba(0,0,0,.55);
  --footer-bg:#040405; --footer-fg:#f3f1ec; --footer-muted:#7c7972;
}

::selection { background: var(--accent); color: #fff; }

a { color: inherit; }
img { max-width: 100%; display: block; }
input, select, textarea { font-family: 'Ubuntu', sans-serif; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: .8; }
input:focus, select:focus, textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

/* ---- Animations (consolidated from every page) ---- */
@keyframes spin      { to { transform: rotate(360deg); } }
@keyframes spinrev   { to { transform: rotate(-360deg); } }
@keyframes sweep     { to { transform: rotate(360deg); } }
@keyframes corepulse { 0%,100% { opacity:.35; transform:scale(.92); } 50% { opacity:.8; transform:scale(1.18); } }
@keyframes pulse     { 0%,100% { opacity:.45; transform:translate(-50%,-50%) scale(1); } 50% { opacity:.9; transform:translate(-50%,-50%) scale(1.12); } }
@keyframes floaty    { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes blink     { 0%,100% { opacity:1; } 50% { opacity:.25; } }
@keyframes fadeup    { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes fadein    { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes menudrop  { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
@keyframes tickpop   { 0% { opacity:0; transform:scale(.3); } 60% { opacity:1; transform:scale(1.18); } 100% { opacity:1; transform:scale(1); } }
@keyframes growbar   { from { width:0; } to { width:100%; } }
@keyframes dots      { 0% { opacity:.2; } 50% { opacity:1; } 100% { opacity:.2; } }

/* Scroll-reveal */
[data-reveal] { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
[data-reveal].in { opacity:1; transform:none; }

/* Hover helpers (replaces the design tool's inline style-hover attribute) */
.lnk { transition: color .15s; }
.lnk:hover { color: var(--fg) !important; }
.btn-accent { transition: background .15s; }
.btn-accent:hover { background: var(--accent-2) !important; }
.btn-soft { transition: background .15s; }
.btn-soft:hover { background: var(--bg-2) !important; }
.card-lift { transition: transform .15s, box-shadow .15s, border-color .15s; }
.card-lift:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.card-lift.accent-on-hover:hover { border-color: var(--accent); }
.foot-lnk { transition: color .15s; }
.foot-lnk:hover { color: #fff !important; }
.soc { transition: background .15s; }
.soc:hover { background: var(--accent) !important; }
.soc.wa:hover { background: #25D366 !important; }
.toc-lnk { transition: background .12s, color .12s; }
.toc-lnk:hover { background: var(--bg-2); color: var(--fg) !important; }
.chip-btn { transition: background .15s, border-color .15s; }
.chip-btn:hover { border-color: var(--accent); background: var(--accent-soft); }

/* Hide scrollbar on the services jump-nav */
.noscroll::-webkit-scrollbar { height: 0; }
