@import "tailwindcss";
/* Provides the `animate-in`/`fade-in`/`slide-in-from-*`/`zoom-in-*` utilities
used across the dropdowns and this page — Tailwind v4's successor to
tailwindcss-animate. Without this registered, those classes are silent
no-ops (which is what had been happening in NavDropdown/MobileMenu). */
@import "tw-animate-css";
/* Real header animations (sticky drop, Order Now pulse, Login border-draw) —
   kept global since <Header> renders on every route. Every other
   page-type-specific stylesheet that used to live here (strips, banners,
   sidebars, tool-pages, tables, sample-landing, new-offer-strip, draft-tabs,
   dissertation-sections, full-page-layout, essay-writes, new-essay-writing —
   collectively ~11,000 lines) moved to `app/[...slug]/article-chrome.css`:
   none of it is reachable from the home page, but importing it here made it
   part of the render-blocking CSS on every route including `/`. See that
   file's header comment for the full rationale. */
@import "./header-animations.css";

@plugin "@tailwindcss/typography";

/*
 * The template's own webfonts. Its CSS (copied into strips.css and
 * service-sidebar.css) asks for `robotolight` / `robotomedium` /
 * `robotoregular` by name in 27 places; without these the browser fell back
 * to a default face, which is why blocks like the sidebar's "BEST DEALS"
 * title rendered wider and heavier than the live site's. Files copied from
 * templates/GAH/fonts/.
 */
@font-face {
  font-family: "robotolight";
  src: url("/fonts/roboto-light-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "robotoregular";
  src: url("/fonts/roboto-regular-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "robotomedium";
  src: url("/fonts/roboto-medium-webfont.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


:root {
  --background: #ffffff;
  --foreground: #171717;
}

html {
  overflow-x: hidden;
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
  /* `overflow-x: hidden` here (in addition to `html`, above) used to be the
     safety net for stray decorative bleed from raw CMS HTML
     (`new-essay-writing.css` etc.). Removed: setting a non-visible
     `overflow-x` on `body` forces `overflow-y` to compute to `auto` (CSS
     overflow spec), turning `body` into its own scroll container distinct
     from the real (`html`) one — which broke the header `Navbar`'s
     `position: sticky` (its nearest scrolling ancestor became `body`,
     which never itself visibly scrolls, so "stuck" never triggered; the
     navbar just scrolled away with the page). `html`'s rule alone already
     catches the same overflow, since `html` is the actual root scroller. */
}

/*
 * Every rule that used to follow here (`.common-strip`, `.homesprite`,
 * `.newconversationstrip`, `.prose a.button`, `.prose a:not(.button)`,
 * `.prose ul>li`, `.custom-blog-scrollbar`, table styling, ...) only ever
 * matched CMS article / Services-page markup, never anything on the home
 * page — moved to `app/[...slug]/article-chrome.css` so it's not part of
 * every route's render-blocking CSS. See that file for the rules themselves.
 *
 * `a { text-decoration: none }` stays here (not moved) because it's a plain
 * `a` selector, not `.prose a` — it covers every link site-wide, including
 * the home page's own, not just CMS article content. @tailwindcss/typography
 * would otherwise underline every link inside `.prose` via its own
 * low-specificity `:where()` selectors.
 */
a {
  text-decoration: none;
}