/* Accountison brand system — layered on top of Tailwind's CDN utility classes. */

:root {
  --c1: #325765; /* deep teal — primary */
  --c2: #37828d; /* mid teal — primary hover / accents */
  --c3: #4d838f; /* soft teal */
  --c4: #4a7e89; /* muted teal */
  --ink: #1c2b30;
  --paper: #f7fbfc;
  --sand: #f3ede2; /* warm neutral — alternate section background */
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  color: var(--ink);
}

h1, h2, h3, h4,
.font-display {
  font-family: "Fraunces", ui-serif, Georgia, serif;
  letter-spacing: -0.01em;
}

/* ---------- brand utility classes ---------- */

.grad-brand { background: linear-gradient(135deg, var(--c1), var(--c2)); }
.grad-soft { background: linear-gradient(160deg, #f7fbfc 0%, #eef5f7 100%); }
.card-glow { box-shadow: 0 16px 40px rgba(50, 87, 101, 0.12); }
.text-brand { color: var(--c1); }
.bg-sand { background: var(--sand); }
.brand-tag {
  color: var(--c1);
  background: rgba(50, 87, 101, 0.08);
  border-color: rgba(50, 87, 101, 0.16);
}

/* ---------- angled section dividers ---------- */

.divider { display: block; width: 100%; line-height: 0; }
.divider svg { display: block; width: 100%; height: 64px; }
@media (min-width: 768px) {
  .divider svg { height: 96px; }
}

/* ---------- no-scrollbar (review carousel) ---------- */

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

/* ---------- scroll reveal ---------- */

.reveal { opacity: 0; transform: translateY(22px); transition: all .65s ease; }
.reveal.in { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .floaty, .marquee { animation: none !important; }
}

/* ---------- motion ---------- */

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.floaty { animation: float 4s ease-in-out infinite; }

@keyframes marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.marquee { animation: marquee 28s linear infinite; }

/* ---------- header ---------- */

.scrolled-header {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(6px);
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1);
}
.glass-nav { background: transparent; }
.glass-main-header {
  background: #ffffff;
  border-bottom: 1px solid rgba(203, 213, 225, 0.65);
}
.mobile-menu-glass {
  background: rgba(255, 255, 255, 0.42);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
}
@media (max-width: 767px) {
  .mobile-topbar-hidden #top-utility { display: none; }
  .mobile-topbar-hidden #header-shell { margin-top: 0; }
}
.nav-link.is-active { color: var(--c1); }

/* ---------- cookie consent ---------- */

#cookie-consent {
  position: fixed;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 60;
  max-width: 380px;
  margin: 0 auto;
  transform: translateY(140%);
  transition: transform .4s ease;
}
#cookie-consent.is-visible { transform: translateY(0); }
