

/* =============================================
   Ivy SAT & English — Polished Theme Add‑Ons
   Works alongside Tailwind. No resets; just polish.
   ============================================= */

:root{
  --bg: #ffffff;
  --bg-soft:#f7f8fb;
  --ink:#0f172a;       /* slate-900 */
  --muted:#475569;     /* slate-600 */
  --line:#e5e7eb;      /* slate-200 */
  --primary:#111827;   /* near-black */
  --primary-2:#1f2937; /* hover */
  --accent:#2563eb;    /* blue-600 */
  --radius:16px;
  --shadow-sm:0 1px 2px rgba(0,0,0,.06);
  --shadow-md:0 10px 24px rgba(15,23,42,.12);
}

/* Base type tweaks */
body{ color:var(--ink); line-height:1.65; }
section p{ color:var(--muted); }

/* Sticky header glass effect */
header{ backdrop-filter:saturate(180%) blur(10px); background:rgba(255,255,255,.9); border-bottom:1px solid var(--line); }

/* Buttons (opt‑in classes, complements Tailwind) */
.btn{ display:inline-block; padding:.65rem 1.1rem; border-radius:12px; font-weight:600; box-shadow:var(--shadow-sm); transition:transform .12s ease, box-shadow .2s ease, background .2s ease; }
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--primary); color:#fff; }
.btn-primary:hover{ background:var(--primary-2); box-shadow:var(--shadow-md); }
.btn-outline{ border:1px solid var(--line); color:var(--ink); }
.btn-outline:hover{ background:#f3f4f6; }

/* Cards: subtle lift on hover */
.card{ border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }

/* Logo row (Brown + Columbia) */
.logo-row{ display:flex; align-items:center; justify-content:center; gap:1.25rem; }
.logo-row img{ max-height:84px; width:auto; filter:grayscale(.2) contrast(1.05); transition:filter .25s ease, transform .2s ease; }
.logo-row img:hover{ filter:grayscale(0) contrast(1.1); transform:translateY(-2px) scale(1.02); }
@media (min-width:768px){ .logo-row img{ max-height:96px; } }

/* Credential mini-cards (the two pill cards under logos) */
.cred-pill{ border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease; }
.cred-pill:hover{ transform:translateY(-2px); box-shadow:var(--shadow-md); }

/* Feature badges row (SAT / ENG / VIP) */
.feature-badge{ border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow-sm); }
.feature-badge .tag{ display:inline-flex; height:36px; width:36px; border-radius:10px; align-items:center; justify-content:center; background:var(--primary); color:#fff; font-size:.8rem; font-weight:700; }

/* Reveal animation utilities */
@keyframes fadeUp{0%{opacity:0;transform:translateY(8px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
.reveal{ opacity:0; transform:translateY(8px) scale(.98); }
.revealed{ animation:fadeUp .6s ease-out both; }

/* Tables (Pricing) */
table.pricing{ width:100%; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.pricing thead{ background:#f3f4f6; }
.pricing th, .pricing td{ padding:.75rem; text-align:left; }
.pricing tr + tr{ border-top:1px solid var(--line); }

