/* ============================================================
   anltx — Design System v2  (light + colorful, per-page accent)
   ------------------------------------------------------------
   Default = DARK theme (service pages). Each page may override
   --accent / --ink to recolor. body.theme-light = LIGHT theme
   (used on the homepage).
   ============================================================ */

:root{
  /* accent (overridable per page) */
  --accent:    #e40000;
  --accent-2:  #ff3b3b;
  --accent-soft: rgba(228,0,0,.12);

  /* dark tokens */
  --ink:        #07080c;
  --ink-2:      #0b0d13;
  --ink-3:      #0f121a;
  --line:       rgba(255,255,255,.08);
  --line-soft:  rgba(255,255,255,.05);
  --text:       #e9ebf0;
  --muted:      #9aa1ad;
  --muted-2:    #6b7280;
  --panel:      rgba(255,255,255,.03);
}

/* LIGHT THEME ------------------------------------------------ */
body.theme-light{
  --line:      rgba(15,18,25,.10);
  --line-soft: rgba(15,18,25,.06);
  --text:      #0f1115;
  --muted:     #55606f;
  --muted-2:   #8b93a1;
  --panel:     #ffffff;
  --panel-2:   #f5f7fa;
  background:#ffffff;
  color:#0f1115;
}

html{ scroll-behavior:smooth; }
body{
  background:var(--ink);
  color:var(--text);
  font-family:"Inter",ui-sans-serif,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

.font-display{ font-family:"Space Grotesk","Inter",sans-serif; letter-spacing:-.02em; }
.mono{ font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace; }

::selection{ background:var(--accent); color:#fff; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:transparent; }
::-webkit-scrollbar-thumb{ background:#c3c9d2; border-radius:10px; }
body:not(.theme-light)::-webkit-scrollbar-thumb{ background:#20242e; }

/* eyebrow */
.eyebrow{
  font-family:"JetBrains Mono",ui-monospace,monospace;
  font-size:.7rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--muted); display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--accent); display:inline-block; }

/* text helpers */
.text-accent{ color:var(--accent); }
.text-gradient{
  background:linear-gradient(180deg,#ffffff 0%,#c7cbd4 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* backgrounds */
.bg-grid{
  background-image:
    linear-gradient(var(--line-soft) 1px,transparent 1px),
    linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
          mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 40%,transparent 100%);
}
.bg-dots{ background-image:radial-gradient(var(--line) 1px,transparent 1px); background-size:22px 22px; }
.glow{ position:absolute; border-radius:9999px; filter:blur(90px); pointer-events:none; opacity:.5; }
.glow-red{ background:radial-gradient(circle,var(--accent),transparent 70%); }
.glow-accent{ background:radial-gradient(circle,var(--accent),transparent 70%); }

/* mesh gradient blob for light hero */
.mesh{
  background:
    radial-gradient(40% 55% at 15% 25%, rgba(37,99,235,.30), transparent 60%),
    radial-gradient(45% 55% at 85% 20%, rgba(228,0,0,.28), transparent 60%),
    radial-gradient(50% 60% at 50% 100%, rgba(22,163,74,.26), transparent 60%);
}

.hairline{ height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--line),transparent); }

/* buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-weight:600; font-size:.95rem; line-height:1;
  padding:.9rem 1.5rem; border-radius:.75rem; cursor:pointer;
  transition:transform .18s ease, background .2s ease, border-color .2s ease, box-shadow .25s ease, color .2s ease, filter .2s ease;
  white-space:nowrap;
}
.btn-primary{ background:var(--accent); color:#fff; box-shadow:0 10px 30px -10px var(--accent); }
.btn-primary:hover{ filter:brightness(1.08); transform:translateY(-2px); box-shadow:0 16px 42px -12px var(--accent); }
.btn-ghost{ background:transparent; color:var(--text); border:1px solid var(--line); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); transform:translateY(-2px); }
.btn-whatsapp{ background:#25d366; color:#052e16; box-shadow:0 10px 30px -10px rgba(37,211,102,.7); }
.btn-whatsapp:hover{ background:#1fb855; transform:translateY(-2px); }
.btn-dark{ background:#0f1115; color:#fff; }
.btn-dark:hover{ transform:translateY(-2px); background:#000; }

/* cards */
.card{
  position:relative; border-radius:1.1rem; transition:transform .25s ease, border-color .25s ease, box-shadow .3s ease;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line);
}
.card:hover{ transform:translateY(-4px); border-color:var(--accent); box-shadow:0 24px 60px -30px var(--accent); }
.card-static{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line); border-radius:1.1rem;
}
/* light-theme cards = solid white with soft shadow */
.theme-light .card{
  background:#ffffff; border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(15,18,25,.04), 0 8px 24px -18px rgba(15,18,25,.25);
}
.theme-light .card:hover{ box-shadow:0 24px 50px -24px var(--accent); }
.theme-light .card-static{ background:#ffffff; border:1px solid var(--line); box-shadow:0 1px 2px rgba(15,18,25,.04); }

/* nav */
.nav-link{ position:relative; color:var(--muted); transition:color .2s; }
.nav-link:hover,.nav-link.active{ color:var(--text); }
.nav-link::after{ content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:var(--accent); transition:width .25s ease; }
.nav-link:hover::after,.nav-link.active::after{ width:100%; }

/* header */
[data-header]{ transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease; border-bottom:1px solid transparent; }
[data-header].is-scrolled{ background:rgba(7,8,12,.72); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
body.theme-light [data-header].is-scrolled{ background:rgba(255,255,255,.82); border-bottom:1px solid var(--line); }

/* scroll reveal */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
[data-delay="1"]{ transition-delay:.08s; }
[data-delay="2"]{ transition-delay:.16s; }
[data-delay="3"]{ transition-delay:.24s; }
[data-delay="4"]{ transition-delay:.32s; }
[data-delay="5"]{ transition-delay:.40s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* marquee */
.marquee{ display:flex; gap:2.5rem; width:max-content; animation:marquee 30s linear infinite; }
.marquee-wrap:hover .marquee{ animation-play-state:paused; }
@keyframes marquee{ to{ transform:translateX(-50%); } }
.icon-chip{
  display:inline-flex; align-items:center; gap:.6rem; white-space:nowrap;
  padding:.7rem 1.15rem; border-radius:999px; font-weight:600; font-size:.92rem;
  border:1px solid var(--line); background:var(--panel); color:var(--muted);
}
.icon-chip svg{ width:20px; height:20px; flex:none; }

/* discipline accent variants */
.disc-it{    --accent:#2563eb; --accent-2:#3b82f6; --accent-soft:rgba(37,99,235,.12); }
.disc-design{--accent:#e40000; --accent-2:#ff3b3b; --accent-soft:rgba(228,0,0,.12); }
.disc-data{  --accent:#16a34a; --accent-2:#22c55e; --accent-soft:rgba(22,163,74,.12); }

a{ text-decoration:none; }
