/* ==========================================================================
   AS AI Technology — Unified Design System
   --------------------------------------------------------------------------
   This file is the single source of truth for brand tokens, theme surfaces,
   reusable component classes, and cross-page visual normalization.

   Usage for future pages:
   - Load this stylesheet after page-local CSS so global tokens win.
   - Use .as-section, .as-card, .as-btn, .as-badge, .as-input, .as-modal.
   - Prefer token variables over raw colors: var(--as-bg), var(--as-surface),
     var(--as-text), var(--as-primary), var(--as-border), etc.
   ========================================================================== */

:root {
  color-scheme: light;

  /* Brand palette */
  --as-primary: #2563eb;
  --as-primary-strong: #1d4ed8;
  --as-secondary: #06b6d4;
  --as-accent: #d6a642;
  --as-success: #059669;
  --as-warning: #d97706;
  --as-error: #dc2626;
  --as-info: #0891b2;

  /* Light theme: premium white mode, not plain white */
  --as-bg: #f6f8ff;
  --as-bg-soft: #eef3ff;
  --as-bg-muted: #e8eefc;
  --as-surface: rgba(255, 255, 255, .86);
  --as-surface-strong: rgba(255, 255, 255, .96);
  --as-surface-muted: rgba(255, 255, 255, .66);
  --as-surface-tint: rgba(37, 99, 235, .075);
  --as-overlay: rgba(8, 13, 31, .58);
  --as-border: rgba(37, 99, 235, .14);
  --as-border-strong: rgba(37, 99, 235, .26);
  --as-text: #0c1533;
  --as-text-soft: #314268;
  --as-text-muted: #637291;
  --as-text-inverse: #ffffff;

  /* Typography */
  --as-font-sans: 'Inter', 'Tajawal', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --as-font-display: 'Inter', 'Tajawal', system-ui, sans-serif;
  --as-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --as-leading-tight: 1.08;
  --as-leading-title: 1.14;
  --as-leading-body: 1.68;

  /* 4px spacing rhythm */
  --as-space-1: 4px;
  --as-space-2: 8px;
  --as-space-3: 12px;
  --as-space-4: 16px;
  --as-space-5: 20px;
  --as-space-6: 24px;
  --as-space-8: 32px;
  --as-space-10: 40px;
  --as-space-12: 48px;
  --as-space-16: 64px;
  --as-space-20: 80px;
  --as-space-24: 96px;
  --as-section-y: clamp(72px, 9vw, 128px);

  /* Radius, shadow, and motion */
  --as-radius-xs: 6px;
  --as-radius-sm: 8px;
  --as-radius-md: 10px;
  --as-radius-lg: 12px;
  --as-radius-xl: 16px;
  --as-radius-2xl: 20px;
  --as-radius-full: 999px;
  --as-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);
  --as-shadow-md: 0 16px 44px rgba(15, 23, 42, .10);
  --as-shadow-lg: 0 28px 80px rgba(15, 23, 42, .16);
  --as-shadow-glow: 0 0 0 1px rgba(37, 99, 235, .10), 0 0 46px rgba(37, 99, 235, .14);
  --as-ease: cubic-bezier(.22, 1, .36, 1);
  --as-duration-fast: 140ms;
  --as-duration: 220ms;
  --as-duration-slow: 420ms;

  /* Backward-compatible aliases used by older CSS. */
  --c-blue: var(--as-primary);
  --c-blue-b: var(--as-primary-strong);
  --c-purple: #6d5dfc;
  --c-primary: var(--as-primary);
  --c-primary-b: var(--as-primary-strong);
  --bg-0: var(--as-bg);
  --bg-1: var(--as-bg-soft);
  --bg-2: var(--as-bg-muted);
  --bg-card: var(--as-surface-strong);
  --bg-base: var(--as-bg);
  --bg-elevated: var(--as-surface-strong);
  --t-1: var(--as-text);
  --t-2: var(--as-text-soft);
  --t-3: var(--as-text-muted);
  --t-4: #94a3b8;
  --b-0: var(--as-border);
  --b-1: var(--as-border);
  --b-2: var(--as-border-strong);
  --b-glow: rgba(37, 99, 235, .24);
  --gl: var(--as-surface-tint);
  --gl-h: rgba(37, 99, 235, .12);
  --sh-card: var(--as-shadow-md);
  --sh-card-hover: var(--as-shadow-lg);

  /* Page-local aliases normalized into the global system. */
  --about-line: var(--as-border);
  --about-muted: var(--as-text-muted);
  --about-cyan: var(--as-secondary);
  --about-blue: var(--as-primary);
  --about-gold: var(--as-accent);
  --academy-bg: var(--as-bg);
  --academy-panel: var(--as-surface);
  --academy-line: var(--as-border);
  --academy-muted: var(--as-text-muted);
  --academy-cyan: var(--as-secondary);
  --academy-blue: var(--as-primary);
  --academy-gold: var(--as-accent);
  --case-line: var(--as-border);
  --case-cyan: var(--as-secondary);
  --case-blue: var(--as-primary);
  --case-gold: var(--as-accent);
  --career-line: var(--as-border);
  --career-cyan: var(--as-secondary);
  --career-blue: var(--as-primary);
  --career-gold: var(--as-accent);
  --community-line: var(--as-border);
  --community-cyan: var(--as-secondary);
  --community-blue: var(--as-primary);
  --community-gold: var(--as-accent);
  --community-mint: var(--as-success);
  --bg: var(--as-bg);
  --panel: var(--as-surface);
  --line: var(--as-border);
  --muted: var(--as-text-muted);
  --cyan: var(--as-secondary);
  --blue: var(--as-primary);
  --gold: var(--as-accent);
}

[data-theme="dark"] {
  color-scheme: dark;

  --as-primary: #6d8dff;
  --as-primary-strong: #4f6ef7;
  --as-secondary: #00e6f6;
  --as-accent: #f5c86a;
  --as-success: #47f0b5;
  --as-warning: #f59e0b;
  --as-error: #fb7185;
  --as-info: #38bdf8;

  --as-bg: #080910;
  --as-bg-soft: #0e1220;
  --as-bg-muted: #151a2d;
  --as-surface: rgba(255, 255, 255, .06);
  --as-surface-strong: rgba(18, 22, 38, .92);
  --as-surface-muted: rgba(255, 255, 255, .035);
  --as-surface-tint: rgba(0, 240, 255, .09);
  --as-overlay: rgba(0, 0, 0, .62);
  --as-border: rgba(255, 255, 255, .12);
  --as-border-strong: rgba(0, 240, 255, .30);
  --as-text: #f8fbff;
  --as-text-soft: #c9d4e6;
  --as-text-muted: #94a3b8;
  --as-text-inverse: #07111f;

  --as-shadow-sm: 0 1px 2px rgba(0, 0, 0, .30);
  --as-shadow-md: 0 18px 55px rgba(0, 0, 0, .32);
  --as-shadow-lg: 0 32px 90px rgba(0, 0, 0, .44);
  --as-shadow-glow: 0 0 0 1px rgba(0, 240, 255, .12), 0 0 56px rgba(0, 240, 255, .16);
}

html {
  background: var(--as-bg);
}

body {
  min-height: 100%;
  background:
    radial-gradient(circle at 16% 5%, color-mix(in srgb, var(--as-secondary) 13%, transparent), transparent 32rem),
    radial-gradient(circle at 84% 10%, color-mix(in srgb, var(--as-accent) 10%, transparent), transparent 30rem),
    linear-gradient(180deg, var(--as-bg) 0%, var(--as-bg-soft) 50%, var(--as-bg) 100%) !important;
  color: var(--as-text) !important;
  font-family: var(--as-font-sans) !important;
  transition: background var(--as-duration-slow) var(--as-ease), color var(--as-duration) var(--as-ease);
}

body::before {
  background-image:
    linear-gradient(color-mix(in srgb, var(--as-text) 5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--as-text) 5%, transparent) 1px, transparent 1px) !important;
  opacity: .75;
}

[data-theme="light"] body::before {
  opacity: .44;
}

h1, h2, h3, h4, h5, h6,
.brand-text,
.footer-brand-name {
  font-family: var(--as-font-display);
  letter-spacing: 0 !important;
}

p {
  line-height: var(--as-leading-body);
}

/* Reusable components for new pages. */
.as-section {
  padding-block: var(--as-section-y);
}

.as-container {
  width: min(100% - 32px, 1200px);
  margin-inline: auto;
}

.as-card,
.as-modal,
.as-panel {
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-lg);
  background: var(--as-surface);
  color: var(--as-text);
  box-shadow: var(--as-shadow-md);
  backdrop-filter: blur(18px);
}

.as-card {
  transition: transform var(--as-duration) var(--as-ease), border-color var(--as-duration) var(--as-ease), box-shadow var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease);
}

.as-card:hover {
  transform: translateY(-3px);
  border-color: var(--as-border-strong);
  box-shadow: var(--as-shadow-lg), var(--as-shadow-glow);
}

.as-btn {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--as-radius-sm);
  padding: 12px 20px;
  border: 1px solid transparent;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--as-duration) var(--as-ease), border-color var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease), box-shadow var(--as-duration) var(--as-ease);
}

.as-btn:hover {
  transform: translateY(-2px);
}

.as-btn-primary {
  color: #06111f;
  background: linear-gradient(135deg, var(--as-secondary), var(--as-primary));
  box-shadow: var(--as-shadow-glow);
}

[data-theme="light"] .as-btn-primary {
  color: #ffffff;
}

.as-btn-secondary {
  color: var(--as-text);
  border-color: var(--as-border);
  background: var(--as-surface);
}

.as-btn-secondary:hover {
  border-color: var(--as-border-strong);
  background: var(--as-surface-tint);
}

.as-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--as-radius-full);
  border: 1px solid var(--as-border);
  background: var(--as-surface-tint);
  color: var(--as-primary);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.as-input,
.as-select,
.as-textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-sm);
  background: var(--as-surface-strong);
  color: var(--as-text);
  padding: 12px 14px;
  transition: border-color var(--as-duration) var(--as-ease), box-shadow var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease);
}

.as-input:focus,
.as-select:focus,
.as-textarea:focus {
  outline: none;
  border-color: var(--as-primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--as-primary) 16%, transparent);
}

.hero-platform-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: min(100%, 720px);
  margin-top: 22px;
}

.hero-platform-strip a {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-lg);
  background: var(--as-surface);
  color: var(--as-text);
  text-decoration: none;
  box-shadow: var(--as-shadow-sm);
  transition: transform var(--as-duration) var(--as-ease), border-color var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease);
}

.hero-platform-strip a:hover {
  transform: translateY(-2px);
  border-color: var(--as-border-strong);
  background: var(--as-surface-tint);
}

.hero-platform-strip span,
.hero-platform-strip strong {
  display: block;
}

.hero-platform-strip span {
  color: var(--as-primary);
  font-size: 12px;
  font-weight: 900;
}

.hero-platform-strip strong {
  margin-top: 3px;
  color: var(--as-text-soft);
  font-size: 12px;
  font-weight: 700;
}

/* Shared shell normalization for the newly created editorial pages. */
:is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) {
  color: var(--as-text);
}

:is(.about-section, .academy-section, .hub-section, .case-section, .career-section, .community-section) {
  padding-block: var(--as-section-y);
}

:is(.about-glass, .academy-glass, .hub-glass, .case-glass, .career-glass, .community-glass),
:is(.about-card, .academy-card, .hub-card, .case-card, .career-card, .community-card) {
  border-color: var(--as-border) !important;
  background: var(--as-surface) !important;
  color: var(--as-text);
  box-shadow: var(--as-shadow-md) !important;
}

:is(.about-card, .academy-card, .hub-card, .case-card, .career-card, .community-card):hover {
  border-color: var(--as-border-strong) !important;
  box-shadow: var(--as-shadow-lg), var(--as-shadow-glow) !important;
}

:is(.about-eyebrow, .academy-eyebrow, .hub-eyebrow, .case-eyebrow, .career-eyebrow, .community-eyebrow) {
  color: var(--as-accent) !important;
}

:is(.about-eyebrow, .academy-eyebrow, .hub-eyebrow, .case-eyebrow, .career-eyebrow, .community-eyebrow)::before {
  background: var(--as-secondary) !important;
  box-shadow: 0 0 20px color-mix(in srgb, var(--as-secondary) 65%, transparent) !important;
}

:is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.text-slate-300, .text-slate-400, .text-slate-500) {
  color: var(--as-text-soft) !important;
}

:is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.text-white) {
  color: var(--as-text) !important;
}

:is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.text-night) {
  color: #06111f !important;
}

[data-theme="light"] :is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.bg-white\/\[\.025\], .bg-white\/\[\.03\], .bg-white\/\[\.04\], .bg-white\/\[\.05\], .bg-white\/\[\.06\], .bg-white\/\[\.07\]) {
  background-color: rgba(255, 255, 255, .48) !important;
}

[data-theme="light"] :is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.border-white\/10, .border-white\/12, .border-white\/14) {
  border-color: var(--as-border) !important;
}

[data-theme="dark"] :is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) :is(.bg-white\/\[\.025\], .bg-white\/\[\.03\]) {
  background-color: rgba(255, 255, 255, .025) !important;
}

/* Shared CTA and filter treatment for page-specific controls. */
:is(.role-filter, .case-filter, .hub-nav-link, .activity-tab, .track-tab, .module-toggle) {
  border-color: var(--as-border) !important;
  background: var(--as-surface) !important;
  color: var(--as-text-soft) !important;
}

:is(.role-filter, .case-filter, .hub-nav-link, .activity-tab, .track-tab, .module-toggle):hover {
  border-color: var(--as-border-strong) !important;
  color: var(--as-text) !important;
}

:is(.role-filter[aria-pressed="true"], .case-filter[aria-pressed="true"], .activity-tab[aria-selected="true"], .track-tab[aria-selected="true"], .hub-nav-link.active) {
  border-color: var(--as-border-strong) !important;
  background: var(--as-surface-tint) !important;
  color: var(--as-primary) !important;
}

/* Existing shared navigation/footer aligned to the same system. */
.site-header {
  background: color-mix(in srgb, var(--as-bg) 86%, transparent) !important;
  border-bottom-color: var(--as-border) !important;
}

.site-header.scrolled,
.site-header.stuck {
  background: color-mix(in srgb, var(--as-bg) 94%, transparent) !important;
  box-shadow: var(--as-shadow-md) !important;
}

.brand-mark,
.footer-brand-mark {
  border-radius: var(--as-radius-sm) !important;
  background: linear-gradient(135deg, var(--as-primary), #7c3aed) !important;
}

.nav-link,
.brand-text,
.footer-brand-name {
  color: var(--as-text) !important;
}

.brand-text,
.nav-link,
.nav-cta-btn {
  white-space: nowrap !important;
}

.nav-link {
  color: var(--as-text-soft) !important;
  border-radius: var(--as-radius-sm) !important;
}

.nav-link:hover,
.nav-link.active {
  color: var(--as-text) !important;
  background: var(--as-surface-tint) !important;
}

.nav-link[aria-current="page"] {
  color: var(--as-primary) !important;
}

.nav-platform-menu {
  width: min(520px, calc(100vw - 32px)) !important;
  min-width: 480px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
  padding: 14px !important;
}

.nav-platform-intro {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 12px 14px;
  border-bottom: 1px solid var(--as-border);
}

.nav-platform-intro strong {
  color: var(--as-text);
  font-size: 14px;
}

.nav-platform-intro span {
  color: var(--as-text-muted);
  font-size: 12px;
  font-weight: 800;
}

.nav-platform-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  min-height: 78px;
  padding: 12px;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-lg);
  background: var(--as-surface-tint);
  color: var(--as-text);
  text-decoration: none;
  transition: transform var(--as-duration) var(--as-ease), border-color var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease);
}

.nav-platform-item:hover,
.nav-platform-item.active {
  transform: translateY(-2px);
  border-color: var(--as-border-strong);
  background: var(--as-surface);
}

.nav-platform-mark {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: var(--as-radius-sm);
  background: linear-gradient(135deg, var(--as-secondary), var(--as-primary));
  color: #fff;
  font-weight: 900;
}

.nav-platform-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.nav-platform-copy strong {
  font-size: 14px;
  color: var(--as-text);
}

.nav-platform-copy small {
  font-size: 12px;
  color: var(--as-text-muted);
  line-height: 1.35;
}

.nav-toggle-btn,
.lang-toggle-btn {
  border-color: var(--as-border) !important;
  background: var(--as-surface-tint) !important;
  color: var(--as-text) !important;
}

.nav-cta-btn,
.btn-primary {
  border-radius: var(--as-radius-sm) !important;
  background: linear-gradient(135deg, var(--as-primary), #7c3aed) !important;
  box-shadow: var(--as-shadow-glow) !important;
}

.site-footer {
  background: var(--as-bg-soft) !important;
  border-top-color: var(--as-border) !important;
  color: var(--as-text) !important;
}

.footer-platform {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 28px;
  padding: 32px;
  margin-bottom: 34px;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-2xl);
  background:
    radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--as-secondary) 18%, transparent), transparent 36%),
    linear-gradient(135deg, var(--as-surface), var(--as-surface-muted));
  box-shadow: var(--as-shadow-md);
}

.footer-platform-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--as-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer-platform h2 {
  max-width: 620px;
  color: var(--as-text);
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: var(--as-leading-title);
  font-weight: 900;
}

.footer-platform p {
  max-width: 620px;
  margin-top: 14px;
  color: var(--as-text-soft);
  font-size: 15px;
}

.footer-platform-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.footer-platform-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--as-border);
  border-radius: var(--as-radius-lg);
  background: var(--as-surface);
  color: var(--as-text);
  text-decoration: none;
  transition: transform var(--as-duration) var(--as-ease), border-color var(--as-duration) var(--as-ease), background var(--as-duration) var(--as-ease);
}

.footer-platform-card:hover {
  transform: translateY(-2px);
  border-color: var(--as-border-strong);
  background: var(--as-surface-tint);
}

.footer-platform-index {
  display: block;
  margin-bottom: 18px;
  color: var(--as-primary);
  font-family: var(--as-font-mono);
  font-size: 11px;
  font-weight: 900;
}

.footer-platform-card strong,
.footer-platform-card span:last-child {
  display: block;
}

.footer-platform-card strong {
  font-size: 17px;
  font-weight: 900;
}

.footer-platform-card span:last-child {
  margin-top: 5px;
  color: var(--as-text-muted);
  font-size: 13px;
}

.footer-tagline,
.footer-links a,
.footer-contact-item,
.footer-legal-link {
  color: var(--as-text-soft) !important;
}

.footer-links a:hover,
.footer-contact-item:hover,
.footer-legal-link:hover {
  color: var(--as-primary) !important;
}

@media (min-width: 1025px) and (max-width: 1360px) {
  .nav {
    gap: 6px !important;
  }

  .brand {
    gap: 8px !important;
  }

  .brand-text {
    font-size: 14px !important;
  }

  .nav-links {
    gap: 1px !important;
    margin-right: 8px !important;
  }

  .nav-link {
    padding-inline: 9px !important;
    font-size: 13px !important;
  }

  .nav-toggles {
    margin-right: 8px !important;
  }

  .nav-cta-btn {
    padding-inline: 15px !important;
  }

  .nav-platform-menu {
    min-width: 440px !important;
  }
}

@media (max-width: 900px) {
  .footer-platform {
    grid-template-columns: 1fr;
    padding: 22px;
  }
}

/* Light-mode fixes for dark-only page artwork. */
[data-theme="light"] .community-node,
[data-theme="light"] .community-node-main {
  background: rgba(255, 255, 255, .70) !important;
  border-color: var(--as-border) !important;
}

[data-theme="light"] .community-node span {
  color: #ffffff;
}

[data-theme="light"] .community-orbit::before {
  border-color: var(--as-border);
}

[data-theme="light"] .community-line {
  opacity: .36;
}

/* Product and utility page consistency. */
:is(.feat-card, .use-case-card, .step, .price-card, .integration-card, .faq-item) {
  border-color: var(--as-border) !important;
  background: var(--as-surface-strong) !important;
  box-shadow: var(--as-shadow-md) !important;
}

:is(.feat-card, .use-case-card, .step, .price-card, .integration-card, .faq-item):hover {
  border-color: var(--as-border-strong) !important;
  box-shadow: var(--as-shadow-lg) !important;
}

@media (max-width: 640px) {
  :root {
    --as-section-y: 72px;
  }

  :is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) h1 {
    font-size: clamp(2rem, 8.8vw, 2.8rem) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  :is(.about-shell, .academy-shell, .hub-shell, .case-shell, .career-shell, .community-shell) h2 {
    font-size: clamp(1.55rem, 7vw, 2.25rem) !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-wrap: balance;
  }

  :is(.about-shell, .case-shell, .career-shell) #hero > .mx-auto.grid {
    min-height: auto !important;
    align-items: start !important;
    padding-top: 5.25rem !important;
    padding-bottom: 3.5rem !important;
  }

  :is(.about-shell, .case-shell, .career-shell, .community-shell) :is(#hero, .community-hero) p:not(.about-eyebrow):not(.case-eyebrow):not(.career-eyebrow):not(.community-eyebrow) {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  :is(.about-card, .case-card, .career-card, .community-card, .as-card) p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #chat-launcher {
    right: 12px !important;
    bottom: 12px !important;
  }

  #chat-launcher-btn {
    width: 48px !important;
    height: 48px !important;
  }

  .hero-platform-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-platform-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
