/**
 * Aigenttra Theme — main.css
 *
 * Phase 2 scope: design tokens, base reset, accessibility helpers,
 * layout primitives, button system, announcement bar, site header,
 * mega menu, mobile navigation, site footer, and print rules.
 *
 * All colour values reference CSS custom properties so that the dark
 * mode variant (applied via the .dark class on <html>) is handled
 * automatically with zero duplication.
 *
 * Section map:
 *   1.  Design tokens — light mode
 *   2.  Design tokens — dark mode (.dark class + prefers-color-scheme)
 *   3.  Base reset
 *   4.  Accessibility helpers
 *   5.  Layout — .site, .container
 *   6.  Button system — .btn
 *   7.  Announcement bar
 *   8.  Site header — #masthead
 *   9.  Header logo
 *  10.  Header navigation (desktop)
 *  11.  Mega menu panel
 *  12.  Header actions
 *  13.  Mobile navigation
 *  14.  Site footer — #colophon
 *  15.  Footer branding
 *  16.  Footer navigation
 *  17.  Footer newsletter
 *  18.  Footer legal bar
 *  19.  WordPress nav menu reset
 *  20.  Print
 */

/* ─────────────────────────────────────────────────────────────────────────────
   1. Design tokens — light mode
   ───────────────────────────────────────────────────────────────────────────── */

:root {
  /* Colour primitives */
  --background:          0 0% 98%;
  --foreground:          240 10% 4%;
  --border:              240 6% 90%;
  --input:               240 6% 90%;
  --ring:                240 5% 65%;

  --card:                0 0% 100%;
  --card-foreground:     240 10% 4%;

  --popover:             0 0% 100%;
  --popover-foreground:  240 10% 4%;

  --primary:             235 85% 55%;
  --primary-foreground:  0 0% 100%;

  --secondary:           240 5% 96%;
  --secondary-foreground:240 6% 10%;

  --muted:               240 5% 96%;
  --muted-foreground:    240 4% 46%;

  --accent:              240 5% 96%;
  --accent-foreground:   240 6% 10%;

  --destructive:         0 84% 60%;
  --destructive-foreground: 0 0% 100%;

  /* Semantic aliases — used throughout this stylesheet */
  --color-bg:            hsl(var(--background));
  --color-fg:            hsl(var(--foreground));
  --color-border:        hsl(var(--border));
  --color-primary:       hsl(var(--primary));
  --color-primary-fg:    hsl(var(--primary-foreground));
  --color-secondary:     hsl(var(--secondary));
  --color-secondary-fg:  hsl(var(--secondary-foreground));
  --color-muted:         hsl(var(--muted));
  --color-muted-fg:      hsl(var(--muted-foreground));
  --color-card:          hsl(var(--card));

  /* Typography */
  --font-sans:           'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:           'Menlo', 'Monaco', 'Consolas', monospace;

  /* Sizing */
  --radius:              0.375rem;   /* 6 px */
  --radius-sm:           calc(var(--radius) - 2px);
  --radius-lg:           calc(var(--radius) + 4px);
  --radius-xl:           calc(var(--radius) + 8px);
  --radius-full:         9999px;

  /* Shadows */
  --shadow-sm:   0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow:      0 2px 4px 0 rgb(0 0 0 / 0.06), 0 1px 2px -1px rgb(0 0 0 / 0.06);
  --shadow-md:   0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg:   0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl:   0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  --shadow-2xl:  0 25px 50px -12px rgb(0 0 0 / 0.25);

  /* Layout */
  --container-max:       90rem;       /* 1440 px */
  --container-padding:   1.5rem;      /* 24 px */

  /* Header */
  --header-height:       5rem;        /* 80 px — unscrolled */
  --header-height-scrolled: 4rem;     /* 64 px — scrolled */
  --header-height-mobile:   3.5rem;   /* 56 px */

  /* Animation */
  --ease-out-expo:       cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:         cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast:       150ms;
  --duration-normal:     250ms;
  --duration-slow:       400ms;

  /* Z-index scale */
  --z-header:     100;
  --z-mega-menu:  110;
  --z-mobile-nav: 200;
  --z-backdrop:   190;
}

/* ─────────────────────────────────────────────────────────────────────────────
   2. Design tokens — dark mode
   Applied via: (a) .dark class on <html> set by main.js theme toggle,
                (b) @media prefers-color-scheme: dark as the auto fallback.
   ───────────────────────────────────────────────────────────────────────────── */

.dark,
html[data-theme="dark"] {
  --background:          240 10% 4%;
  --foreground:          0 0% 98%;
  --border:              240 4% 16%;
  --input:               240 4% 16%;
  --ring:                240 5% 65%;

  --card:                240 6% 6%;
  --card-foreground:     0 0% 98%;

  --popover:             240 6% 6%;
  --popover-foreground:  0 0% 98%;

  --primary:             235 85% 65%;
  --primary-foreground:  0 0% 100%;

  --secondary:           240 4% 16%;
  --secondary-foreground:0 0% 98%;

  --muted:               240 4% 16%;
  --muted-foreground:    240 5% 65%;

  --accent:              240 4% 16%;
  --accent-foreground:   0 0% 98%;

  --destructive:         0 63% 31%;
  --destructive-foreground: 0 0% 98%;

  --shadow-2xl:          0 25px 50px -12px rgb(0 0 0 / 0.6);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not(.light) {
    --background:          240 10% 4%;
    --foreground:          0 0% 98%;
    --border:              240 4% 16%;
    --input:               240 4% 16%;
    --ring:                240 5% 65%;
    --card:                240 6% 6%;
    --card-foreground:     0 0% 98%;
    --popover:             240 6% 6%;
    --popover-foreground:  0 0% 98%;
    --primary:             235 85% 65%;
    --primary-foreground:  0 0% 100%;
    --secondary:           240 4% 16%;
    --secondary-foreground:0 0% 98%;
    --muted:               240 4% 16%;
    --muted-foreground:    240 5% 65%;
    --accent:              240 4% 16%;
    --accent-foreground:   0 0% 98%;
    --destructive:         0 63% 31%;
    --destructive-foreground: 0 0% 98%;
    --shadow-2xl:          0 25px 50px -12px rgb(0 0 0 / 0.6);
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   3. Base reset
   ───────────────────────────────────────────────────────────────────────────── */

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-bg);
  color: var(--color-fg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  cursor: pointer;
  font-family: inherit;
  background: none;
  border: none;
}

ul,
ol {
  list-style: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   4. Accessibility helpers
   ───────────────────────────────────────────────────────────────────────────── */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  background-color: var(--color-bg);
  color: var(--color-fg);
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  height: auto;
  left: 0.5rem;
  line-height: normal;
  padding: 1rem 1.5rem;
  text-decoration: none;
  top: 0.5rem;
  width: auto;
  z-index: calc(var(--z-mobile-nav) + 10);
}

.skip-link {
  position: fixed;
  top: -100%;
  left: 0.5rem;
  z-index: calc(var(--z-mobile-nav) + 10);
  padding: 0.75rem 1.25rem;
  background: var(--color-primary);
  color: var(--color-primary-fg);
  font-size: 0.875rem;
  font-weight: 600;
  border-radius: var(--radius);
  transition: top var(--duration-fast) var(--ease-in-out);
}

.skip-link:focus {
  top: 0.5rem;
}

/* Focus ring — applied to interactive elements throughout this theme */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   5. Layout
   ───────────────────────────────────────────────────────────────────────────── */

.site {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

.site > #main,
.site > main {
  flex: 1 0 auto;
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

@media (min-width: 768px) {
  .container {
    padding-inline: 1.5rem;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   6. Button system
   Mirrors the React <Button> component variants: primary, outline.
   ───────────────────────────────────────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  border-radius: var(--radius);
  border: 1px solid transparent;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--duration-fast) var(--ease-in-out),
    color            var(--duration-fast) var(--ease-in-out),
    border-color     var(--duration-fast) var(--ease-in-out),
    box-shadow       var(--duration-fast) var(--ease-in-out),
    opacity          var(--duration-fast) var(--ease-in-out);
  user-select: none;
}

.btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Primary */
.btn--primary {
  background-color: var(--color-primary);
  color: var(--color-primary-fg);
  border-color: var(--color-primary);
}

.btn--primary:hover {
  opacity: 0.9;
}

.btn--primary:active {
  opacity: 0.8;
}

/* Outline */
.btn--outline {
  background-color: transparent;
  color: var(--color-fg);
  border-color: var(--color-border);
}

.btn--outline:hover {
  background-color: var(--color-secondary);
}

/* Full-width modifier — used in mobile nav CTAs */
.btn--full {
  width: 100%;
}

/* ─────────────────────────────────────────────────────────────────────────────
   7. Announcement bar
   announcement-bar.js hides the bar instantly if dismissed via localStorage.
   The bar is rendered in DOM; JS adds .is-hidden to suppress it.
   ───────────────────────────────────────────────────────────────────────────── */

.announcement-bar {
  display: block;
  overflow: hidden;
  transition: max-height var(--duration-normal) var(--ease-out-expo),
              opacity    var(--duration-normal) var(--ease-out-expo);
}

.announcement-bar.is-hidden {
  display: none;
}

.announcement-bar__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 2.5rem;
}

.announcement-bar__content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 500;
}

.announcement-bar__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.announcement-bar__cta {
  margin-left: 0.25rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity var(--duration-fast);
}

.announcement-bar__cta:hover {
  opacity: 0.8;
}

.announcement-bar__dismiss {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  opacity: 0.7;
  transition: opacity var(--duration-fast), background-color var(--duration-fast);
}

.announcement-bar__dismiss:hover {
  opacity: 1;
}

/* Type variants */
.announcement-bar--info {
  background-color: var(--color-secondary);
  color: var(--color-secondary-fg);
}

.announcement-bar--info .announcement-bar__dismiss:hover {
  background-color: rgb(0 0 0 / 0.08);
}

.announcement-bar--success {
  background-color: hsl(142 76% 36% / 0.12);
  color: hsl(142 76% 28%);
}

.dark .announcement-bar--success,
html[data-theme="dark"] .announcement-bar--success {
  color: hsl(142 76% 52%);
}

.announcement-bar--warning {
  background-color: hsl(38 92% 50% / 0.12);
  color: hsl(38 92% 30%);
}

.dark .announcement-bar--warning,
html[data-theme="dark"] .announcement-bar--warning {
  color: hsl(38 92% 65%);
}

.announcement-bar--promo {
  background-color: var(--color-primary);
  color: var(--color-primary-fg);
}

.announcement-bar--promo .announcement-bar__dismiss:hover {
  background-color: rgb(255 255 255 / 0.2);
}

/* ─────────────────────────────────────────────────────────────────────────────
   8. Site header
   ───────────────────────────────────────────────────────────────────────────── */

.site-header {
  position: sticky;
  top: 0;
  width: 100%;
  z-index: var(--z-header);
}

.header-inner {
  height: var(--header-height-mobile);
  background-color: transparent;
  border-bottom: 1px solid transparent;
  transition:
    height                var(--duration-normal) var(--ease-in-out),
    background-color      var(--duration-normal) var(--ease-in-out),
    border-color          var(--duration-normal) var(--ease-in-out),
    box-shadow            var(--duration-normal) var(--ease-in-out),
    backdrop-filter       var(--duration-normal) var(--ease-in-out);
}

.header-inner .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

/* Scrolled state — applied by mega-menu.js */
.site-header.is-scrolled .header-inner {
  background-color: hsl(var(--background) / 0.85);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-color: var(--color-border);
  box-shadow: var(--shadow-sm);
}

@media (min-width: 768px) {
  .header-inner {
    height: var(--header-height);
  }

  .site-header.is-scrolled .header-inner {
    height: var(--header-height-scrolled);
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   9. Header logo
   ───────────────────────────────────────────────────────────────────────────── */

.header-logo {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.header-logo .custom-logo-link,
.header-logo__wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: opacity var(--duration-fast);
}

.header-logo .custom-logo-link:hover,
.header-logo__wordmark:hover {
  opacity: 0.85;
}

.header-logo .custom-logo {
  height: 2rem;
  width: auto;
}

.header-logo__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius);
  background-color: var(--color-primary);
  color: var(--color-primary-fg);
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .header-logo__mark {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.header-logo__name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  display: none;
}

@media (min-width: 480px) {
  .header-logo__name {
    display: block;
  }
}

@media (min-width: 768px) {
  .header-logo__name {
    font-size: 1.25rem;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   10. Header navigation (desktop)
   Hidden on mobile; the mobile drawer handles smaller viewports.
   ───────────────────────────────────────────────────────────────────────────── */

.header-nav {
  display: none;
  flex: 1;
  justify-content: center;
  height: 100%;
}

@media (min-width: 1024px) {
  .header-nav {
    display: flex;
  }
}

.header-nav__list {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Top-level nav item wrapper */
.menu-item[data-nav-item] {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

/* Shared styles for trigger buttons and plain links */
.nav-trigger,
.nav-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--radius);
  color: var(--color-fg);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition:
    background-color var(--duration-fast) var(--ease-in-out),
    color            var(--duration-fast) var(--ease-in-out);
  white-space: nowrap;
  position: relative;
}

.nav-trigger:hover,
.nav-link:hover {
  background-color: var(--color-secondary);
}

.nav-trigger.is-active,
.nav-link.is-active,
.nav-trigger[aria-expanded="true"] {
  color: var(--color-primary);
}

/* Active underline indicator */
.nav-trigger.is-active::after,
.nav-link.is-active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0.5rem;
  right: 0.5rem;
  height: 2px;
  background-color: var(--color-primary);
  border-radius: var(--radius-full);
}

/* Chevron icon inside triggers */
.nav-chevron {
  transition: transform var(--duration-fast) var(--ease-in-out);
  flex-shrink: 0;
}

.nav-trigger[aria-expanded="true"] .nav-chevron {
  transform: rotate(180deg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   11. Mega menu panel
   Shown/hidden by mega-menu.js via the hidden attribute + .is-open class.
   Matches the React MegaMenu component: frosted glass, 300px wide card.
   ───────────────────────────────────────────────────────────────────────────── */

.mega-menu-panel {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  width: 18.75rem;              /* 300px */
  margin-top: 0.75rem;
  z-index: var(--z-mega-menu);
  background-color: rgb(255 255 255 / 0.92);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid rgb(0 0 0 / 0.08);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-2xl);
  overflow: hidden;

  /* Entry animation */
  opacity: 0;
  pointer-events: none;
  transition:
    opacity   var(--duration-fast) var(--ease-out-expo),
    transform var(--duration-fast) var(--ease-out-expo);
}

.dark .mega-menu-panel,
html[data-theme="dark"] .mega-menu-panel {
  background-color: hsl(240 10% 4% / 0.96);
  border-color: rgb(255 255 255 / 0.1);
}

/* mega-menu.js toggles .is-open on the parent [data-nav-item] */
.menu-item.is-open > .mega-menu-panel {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Remove the hidden attribute's visual effect — JS manages visibility */
.mega-menu-panel[hidden] {
  display: block; /* override HTML hidden; opacity + pointer-events handle it */
}

/* Panel content */
.mega-menu-panel__heading {
  display: block;
  padding: 0.5rem 0.75rem 0.25rem;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-muted-fg);
  opacity: 0.6;
  user-select: none;
}

.mega-menu-list {
  padding: 0.5rem;
  list-style: none;
}

.mega-menu-item {
  list-style: none;
}

.mega-menu-link {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.625rem 0.75rem;
  border-radius: var(--radius-lg);
  text-decoration: none;
  transition: background-color var(--duration-fast) var(--ease-in-out);
}

.mega-menu-link:hover {
  background-color: rgb(0 0 0 / 0.05);
}

.dark .mega-menu-link:hover,
html[data-theme="dark"] .mega-menu-link:hover {
  background-color: rgb(255 255 255 / 0.08);
}

.mega-menu-link__title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
  opacity: 0.9;
  transition: opacity var(--duration-fast);
}

.mega-menu-link:hover .mega-menu-link__title {
  opacity: 1;
}

.mega-menu-link__desc {
  font-size: 0.75rem;
  color: var(--color-muted-fg);
  line-height: 1.4;
  transition: color var(--duration-fast);
}

.mega-menu-link:hover .mega-menu-link__desc {
  color: var(--color-muted-fg);
  opacity: 0.8;
}

/* ─────────────────────────────────────────────────────────────────────────────
   12. Header actions
   ───────────────────────────────────────────────────────────────────────────── */

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}

.header-actions__icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-full);
  color: var(--color-fg);
  background: none;
  border: none;
  cursor: pointer;
  transition: background-color var(--duration-fast) var(--ease-in-out);
}

.header-actions__icon-btn:hover {
  background-color: var(--color-secondary);
}

/* CTA button — hidden on small screens */
.header-actions__cta {
  display: none;
}

@media (min-width: 768px) {
  .header-actions__cta {
    display: inline-flex;
    margin-left: 0.25rem;
  }
}

/* Mobile toggle — hidden on desktop */
.header-actions__mobile-toggle {
  display: flex;
}

@media (min-width: 1024px) {
  .header-actions__mobile-toggle {
    display: none;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   13. Mobile navigation
   ───────────────────────────────────────────────────────────────────────────── */

/* Backdrop */
.mobile-nav-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background-color: hsl(var(--background) / 0.75);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  z-index: var(--z-backdrop);
  opacity: 0;
  transition: opacity var(--duration-normal) var(--ease-in-out);
}

.mobile-nav-backdrop.is-visible {
  display: block;
  opacity: 1;
}

/* Drawer panel */
.mobile-nav {
  position: fixed;
  inset-block: 0;
  right: 0;
  width: 100%;
  max-width: 24rem;
  background-color: var(--color-card);
  border-left: 1px solid var(--color-border);
  box-shadow: var(--shadow-2xl);
  z-index: var(--z-mobile-nav);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform var(--duration-normal) var(--ease-out-expo);
}

.mobile-nav.is-open {
  transform: translateX(0);
}

/* Header row */
.mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
  flex-shrink: 0;
}

.mobile-nav__wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  border-radius: var(--radius-sm);
}

.mobile-nav__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius);
  background-color: var(--color-primary);
  color: var(--color-primary-fg);
  flex-shrink: 0;
}

.mobile-nav__name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.mobile-nav__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-full);
  color: var(--color-fg);
  transition: background-color var(--duration-fast);
}

.mobile-nav__close:hover {
  background-color: var(--color-secondary);
}

/* Custom logo in drawer header */
.mobile-nav__header .custom-logo-link {
  display: inline-flex;
}

.mobile-nav__header .custom-logo {
  height: 1.75rem;
  width: auto;
}

/* Navigation list */
.mobile-nav__nav {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.75rem;
}

.mobile-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav__item {
  border-bottom: 1px solid hsl(var(--border) / 0.5);
}

.mobile-nav__item:last-child {
  border-bottom: none;
}

/* Top-level link */
.mobile-nav__link {
  display: block;
  width: 100%;
  padding: 0.625rem 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-fg);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: color var(--duration-fast);
}

.mobile-nav__link.is-active,
.mobile-nav__link:hover {
  color: var(--color-primary);
}

/* Accordion toggle button */
.mobile-nav__accordion-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0.625rem 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--color-fg);
  text-align: left;
  border-radius: var(--radius-sm);
  transition: color var(--duration-fast);
}

.mobile-nav__accordion-toggle:hover {
  color: var(--color-primary);
}

.mobile-nav__accordion-toggle[aria-expanded="true"] {
  color: var(--color-primary);
}

.mobile-nav__chevron {
  flex-shrink: 0;
  transition: transform var(--duration-fast) var(--ease-in-out);
}

.mobile-nav__accordion-toggle[aria-expanded="true"] .mobile-nav__chevron {
  transform: rotate(180deg);
}

/* Sub-navigation */
.mobile-nav__subnav {
  list-style: none;
  margin: 0;
  padding: 0.25rem 0 0.5rem 0.75rem;
  overflow: hidden;
}

.mobile-nav__subitem {
  list-style: none;
}

.mobile-nav__sublink {
  display: block;
  padding: 0.375rem 0.5rem;
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: color var(--duration-fast);
}

.mobile-nav__sublink:hover {
  color: var(--color-primary);
}

/* Footer area */
.mobile-nav__footer {
  padding: 1rem;
  border-top: 1px solid var(--color-border);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mobile-nav__ctas {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.mobile-nav__social {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.mobile-nav__social-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  color: var(--color-muted-fg);
  border-radius: var(--radius-sm);
  transition: color var(--duration-fast);
}

.mobile-nav__social-link:hover {
  color: var(--color-fg);
}

/* Custom logo in mobile nav header */
.mobile-nav .custom-logo-link {
  display: inline-flex;
  align-items: center;
}

.mobile-nav .custom-logo {
  height: 1.75rem;
  width: auto;
}

/* ─────────────────────────────────────────────────────────────────────────────
   14. Site footer
   ───────────────────────────────────────────────────────────────────────────── */

.site-footer {
  background-color: var(--color-card);
  border-top: 1px solid var(--color-border);
  margin-top: auto;
}

/* ─────────────────────────────────────────────────────────────────────────────
   15. Footer branding
   ───────────────────────────────────────────────────────────────────────────── */

.footer-branding {
  padding-block: 3.5rem;
  border-bottom: 1px solid var(--color-border);
}

.footer-branding__logo {
  margin-bottom: 1.25rem;
}

.footer-branding__wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  text-decoration: none;
  border-radius: var(--radius-sm);
}

.footer-branding__mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary);
  color: var(--color-primary-fg);
  flex-shrink: 0;
  box-shadow: 0 0 0 4px hsl(var(--primary) / 0.15);
}

.footer-branding__name {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* Custom logo in footer */
.footer-branding .custom-logo-link {
  display: inline-flex;
}

.footer-branding .custom-logo {
  height: 2rem;
  width: auto;
}

.footer-branding__desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.625;
  max-width: 24rem;
  margin-bottom: 1.75rem;
}

/* Contact list */
.footer-branding__contact {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin-bottom: 1.75rem;
}

.footer-branding__contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.875rem;
  color: var(--color-muted-fg);
}

.footer-branding__contact-item a {
  color: var(--color-muted-fg);
  text-decoration: none;
  transition: color var(--duration-fast);
}

.footer-branding__contact-item a:hover {
  color: var(--color-fg);
}

.footer-branding__contact-icon {
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: hsl(var(--primary) / 0.5);
}

/* Social icons */
.footer-branding__social {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.footer-branding__social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: var(--radius-xl);
  border: 1px solid hsl(var(--border) / 0.5);
  color: var(--color-muted-fg);
  background-color: hsl(var(--secondary) / 0.4);
  text-decoration: none;
  transition:
    color             var(--duration-fast),
    background-color  var(--duration-fast),
    border-color      var(--duration-fast),
    transform         var(--duration-fast),
    box-shadow        var(--duration-fast);
}

.footer-branding__social-icon:not(.footer-branding__social-icon--placeholder):hover {
  color: var(--color-primary);
  background-color: hsl(var(--primary) / 0.08);
  border-color: hsl(var(--primary) / 0.25);
  transform: translateY(-2px);
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
}

.footer-branding__social-icon--placeholder {
  opacity: 0.3;
  cursor: default;
}

/* ─────────────────────────────────────────────────────────────────────────────
   16. Footer navigation
   ───────────────────────────────────────────────────────────────────────────── */

.footer-nav {
  padding-block: 3rem;
  border-bottom: 1px solid var(--color-border);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 1.5rem;
}

@media (min-width: 640px) {
  .footer-nav {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .footer-nav {
    grid-template-columns: repeat(6, 1fr);
    gap: 1.5rem;
  }
}

.footer-nav__heading {
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--color-fg);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.footer-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* WordPress injects <li> → <a> structure */
.footer-nav__list li a {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  text-decoration: none;
  transition: color var(--duration-fast);
  border-radius: var(--radius-sm);
}

.footer-nav__list li a:hover {
  color: var(--color-fg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   17. Footer newsletter
   ───────────────────────────────────────────────────────────────────────────── */

.footer-newsletter {
  padding-block: 2.5rem;
  border-bottom: 1px solid var(--color-border);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .footer-newsletter {
    flex-direction: row;
    align-items: center;
    gap: 4rem;
  }
}

.footer-newsletter__copy {
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .footer-newsletter__copy {
    width: 40%;
  }
}

.footer-newsletter__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.375rem;
}

.footer-newsletter__desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.625;
}

.footer-newsletter__form-wrap {
  flex: 1;
  min-width: 0;
}

.footer-newsletter__input-row {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

@media (min-width: 640px) {
  .footer-newsletter__input-row {
    flex-direction: row;
  }
}

.footer-newsletter__input {
  flex: 7;
  min-width: 0;
  padding: 0.625rem 1rem;
  font-size: 0.875rem;
  font-family: var(--font-sans);
  background-color: var(--color-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  color: var(--color-fg);
  transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.footer-newsletter__input::placeholder {
  color: hsl(var(--muted-foreground) / 0.5);
}

.footer-newsletter__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px hsl(var(--primary) / 0.15);
}

.footer-newsletter__submit {
  flex: 3;
  justify-content: center;
}

.footer-newsletter__disclaimer {
  margin-top: 0.625rem;
  font-size: 0.75rem;
  color: var(--color-muted-fg);
  line-height: 1.5;
}

.footer-newsletter__privacy-link {
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color var(--duration-fast);
}

.footer-newsletter__privacy-link:hover {
  color: var(--color-fg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   18. Footer legal bar
   ───────────────────────────────────────────────────────────────────────────── */

.footer-legal-bar {
  padding-block: 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .footer-legal-bar {
    flex-direction: row;
    justify-content: space-between;
  }
}

.footer-legal-bar__copyright {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  order: 2;
}

@media (min-width: 640px) {
  .footer-legal-bar__copyright {
    order: 1;
  }
}

.footer-legal-bar__nav {
  order: 1;
}

@media (min-width: 640px) {
  .footer-legal-bar__nav {
    order: 2;
  }
}

.footer-legal-bar__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-legal-bar__list li a {
  font-size: 0.75rem;
  color: var(--color-muted-fg);
  text-decoration: none;
  transition: color var(--duration-fast);
  border-radius: var(--radius-sm);
}

.footer-legal-bar__list li a:hover {
  color: var(--color-fg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   19. WordPress nav menu reset
   Removes WordPress's default ul/li styles injected via wp_nav_menu().
   ───────────────────────────────────────────────────────────────────────────── */

.header-nav__list,
.mobile-nav__list,
.mobile-nav__subnav,
.footer-nav__list,
.footer-legal-bar__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* WordPress adds .current-menu-item to active items */
.footer-nav__list .current-menu-item > a,
.footer-legal-bar__list .current-menu-item > a {
  color: var(--color-fg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   20. Print
   ───────────────────────────────────────────────────────────────────────────── */

@media print {
  .site-header,
  .mobile-nav-backdrop,
  .mobile-nav,
  #announcement-bar,
  .header-actions__mobile-toggle {
    display: none !important;
  }

  .site-footer {
    border-top: 1px solid #ccc;
  }

  .footer-newsletter,
  .footer-branding__social {
    display: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   21. Homepage — Section base & shared utilities
   ───────────────────────────────────────────────────────────────────────────── */

/* Section base */
.home-section {
  padding-block: 5rem;
  position: relative;
}

.home-section--muted {
  background-color: var(--color-muted);
}

.home-section--card {
  background-color: var(--color-card);
}

.home-section--transparent {
  background-color: transparent;
}

/* Container width variants */
.container--lg {
  max-width: 72rem;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

.container--md {
  max-width: 48rem;
  margin-inline: auto;
  padding-inline: var(--container-padding);
}

/* Section header — centred, max-width 2xl */
.section-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 4rem;
  max-width: 42rem;
  margin-inline: auto;
  margin-bottom: 4rem;
}

.section-title {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--color-fg);
  margin-bottom: 1rem;
}

.section-subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--color-muted-fg);
}

/* Text gradient utility (shared across Hero, Metrics, etc.) */
.text-gradient {
  background: linear-gradient(
    135deg,
    var(--color-primary) 0%,
    hsl(var(--primary) / 0.7) 50%,
    hsl(265 85% 65%) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

/* Shared card */
.card {
  border-radius: var(--radius-xl);
  background-color: var(--color-card);
}

.card--outlined {
  border: 1px solid var(--color-border);
}

/* Shared badge */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-full);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.025em;
}

.badge--outline {
  border: 1px solid hsl(var(--primary) / 0.3);
  color: var(--color-primary);
  background: transparent;
}

/* Visually hidden (for aria-live etc.) */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   22. Hero section
   ───────────────────────────────────────────────────────────────────────────── */

.home-hero {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding-top: 5rem;    /* header clearance */
  padding-bottom: 2rem;
}

/* Background layers */
.home-hero__background {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
}

.home-hero__grid-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-image:
    linear-gradient(to right,  rgba(0,0,0,1) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,1) 1px, transparent 1px);
  background-size: 40px 40px;
  background-position: center center;
}

.dark .home-hero__grid-pattern {
  opacity: 0.05;
}

.home-hero__glow {
  position: absolute;
  border-radius: var(--radius-full);
  filter: blur(120px);
  mix-blend-mode: screen;
  pointer-events: none;
}

.home-hero__glow--primary {
  top: -10%;
  left: -10%;
  width: 40%;
  height: 40%;
  background: hsl(var(--primary) / 0.2);
}

.dark .home-hero__glow--primary {
  background: hsl(var(--primary) / 0.3);
}

.home-hero__glow--violet {
  bottom: -10%;
  right: -10%;
  width: 40%;
  height: 40%;
  background: hsl(265 85% 65% / 0.1);
}

.dark .home-hero__glow--violet {
  background: hsl(265 85% 65% / 0.2);
}

.home-hero__orb {
  position: absolute;
  border-radius: var(--radius-full);
  filter: blur(80px);
  pointer-events: none;
}

@keyframes hero-float {
  0%, 100% { transform: translateY(-15px); opacity: 0.5; }
  50%       { transform: translateY(15px);  opacity: 0.8; }
}

@keyframes hero-float-reverse {
  0%, 100% { transform: translateY(15px);  opacity: 0.5; }
  50%       { transform: translateY(-15px); opacity: 0.7; }
}

@media (prefers-reduced-motion: no-preference) {
  .home-hero__orb--top {
    top: 20%;
    right: 15%;
    width: 16rem;
    height: 16rem;
    background: hsl(var(--primary) / 0.05);
    animation: hero-float 8s ease-in-out infinite;
  }

  .home-hero__orb--bottom {
    bottom: 30%;
    left: 10%;
    width: 18rem;
    height: 18rem;
    background: hsl(265 85% 65% / 0.05);
    animation: hero-float-reverse 10s ease-in-out infinite;
    animation-delay: 1s;
  }
}

/* Content */
.home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 52rem;
  margin-inline: auto;
  width: 100%;
}

/* Trust badge */
.home-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: var(--radius-full);
  border: 1px solid hsl(var(--border) / 0.5);
  background: hsl(var(--background) / 0.5);
  backdrop-filter: blur(8px);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-fg);
  margin-bottom: 1.5rem;
  box-shadow: var(--shadow-sm);
}

.home-hero__badge-dot {
  position: relative;
  display: inline-flex;
  width: 0.625rem;
  height: 0.625rem;
}

.home-hero__badge-ping {
  position: absolute;
  inset: 0;
  border-radius: var(--radius-full);
  background-color: #22c55e;
  opacity: 0.75;
}

@media (prefers-reduced-motion: no-preference) {
  .home-hero__badge-ping {
    animation: ping 1.5s cubic-bezier(0, 0, 0.2, 1) infinite;
  }
}

@keyframes ping {
  75%, 100% { transform: scale(2); opacity: 0; }
}

.home-hero__badge-dot::after {
  content: '';
  position: relative;
  display: inline-flex;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: var(--radius-full);
  background-color: #22c55e;
}

/* Eyebrow */
.home-hero__eyebrow {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-muted-fg);
  margin-bottom: 1.25rem;
}

/* Headline */
.home-hero__headline {
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--color-fg);
  margin-bottom: 2rem;
  max-width: 51rem;
}

.home-hero__headline-break {
  display: none;
}

@media (min-width: 768px) {
  .home-hero__headline-break {
    display: block;
  }
}

/* Description */
.home-hero__description {
  font-size: 1.125rem;
  line-height: 1.65;
  color: var(--color-muted-fg);
  max-width: 36rem;
  text-wrap: balance;
  margin-bottom: 3rem;
}

/* CTA row */
.home-hero__cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

@media (min-width: 640px) {
  .home-hero__cta-row {
    flex-direction: row;
    width: auto;
  }
}

.home-hero__cta-primary {
  box-shadow: 0 4px 24px hsl(var(--primary) / 0.3);
}

.home-hero__cta-secondary {
  background: hsl(var(--background) / 0.5);
  backdrop-filter: blur(8px);
}

/* Social proof */
.home-hero__social-proof {
  font-size: 0.75rem;
  color: var(--color-muted-fg);
  opacity: 0.6;
  letter-spacing: 0.03em;
  margin-top: 1.25rem;
}

/* Metrics grid */
.home-hero__metrics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .home-hero__metrics {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 5rem;
  }
}

.home-hero__metric {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border-left: 1px solid hsl(var(--border) / 0.4);
}

/* First in each row has no left border */
.home-hero__metric--0,
.home-hero__metric--2 {
  border-left: none;
}

@media (min-width: 768px) {
  .home-hero__metric--2 {
    border-left: 1px solid hsl(var(--border) / 0.4);
  }
  .home-hero__metric--0 {
    border-left: none;
  }
}

.home-hero__metric-value {
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  display: block;
  line-height: 1;
}

.home-hero__metric-label {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  font-weight: 500;
  letter-spacing: 0.025em;
  margin-top: 0.25rem;
  display: block;
}

/* Hero preview (decorative dashboard) */
.home-hero__preview {
  width: 100%;
  max-width: 64rem;
  margin-inline: auto;
  margin-top: 5rem;
  position: relative;
  z-index: 10;
}

.home-hero__preview-glow {
  position: absolute;
  inset: 2rem;
  background: hsl(var(--primary) / 0.15);
  filter: blur(80px);
  border-radius: 1.5rem;
  pointer-events: none;
}

.home-hero__preview-card {
  width: 100%;
  position: relative;
  transform: perspective(1400px) rotateX(4deg) rotateY(-2deg);
  transform-style: preserve-3d;
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__preview-card {
    transform: none;
  }
}

.home-hero__chrome {
  height: 2.75rem;
  border-bottom: 1px solid hsl(var(--border) / 0.5);
  display: flex;
  align-items: center;
  padding-inline: 1rem;
  gap: 1rem;
  background: hsl(var(--muted) / 0.3);
  border-radius: 1rem 1rem 0 0;
}

.home-hero__preview-card > .home-hero__chrome {
  overflow: hidden;
  border-radius: 1rem 1rem 0 0;
}

/* Wrapper card shell */
.home-hero__preview-card {
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid hsl(var(--border) / 0.6);
  box-shadow: 0 40px 100px rgba(0,0,0,0.3);
  background: hsl(var(--card) / 0.7);
  backdrop-filter: blur(24px);
}

.home-hero__chrome-dots {
  display: flex;
  gap: 0.375rem;
  flex-shrink: 0;
}

.home-hero__chrome-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--radius-full);
}

.home-hero__chrome-dot--red    { background: rgba(239,68,68,0.8); }
.home-hero__chrome-dot--yellow { background: rgba(234,179,8,0.8); }
.home-hero__chrome-dot--green  { background: rgba(34,197,94,0.8); }

.home-hero__chrome-url {
  flex: 1;
  display: flex;
  justify-content: center;
}

.home-hero__chrome-url > div,
.home-hero__chrome-url-text {
  width: 12rem;
  height: 1.5rem;
  border-radius: 0.375rem;
  background: hsl(var(--background) / 0.5);
  border: 1px solid hsl(var(--border) / 0.5);
  display: flex;
  align-items: center;
  padding-inline: 0.75rem;
  gap: 0.5rem;
}

.home-hero__chrome-indicator {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background: rgba(34,197,94,0.7);
  flex-shrink: 0;
}

.home-hero__chrome-url-text {
  height: 0.5rem;
  width: 6rem;
  background: hsl(var(--muted-foreground) / 0.2);
  border-radius: 0.25rem;
  border: none;
  padding: 0;
}

.home-hero__chrome-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.home-hero__chrome-btn {
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 0.375rem;
  background: hsl(var(--muted) / 0.5);
  border: 1px solid hsl(var(--border) / 0.4);
}

.home-hero__chrome-btn--wide {
  width: 4rem;
  background: hsl(var(--primary) / 0.2);
  border-color: hsl(var(--primary) / 0.2);
}

.home-hero__preview-body {
  display: flex;
  height: 26rem;
}

@media (min-width: 768px) {
  .home-hero__preview-body {
    height: 31rem;
  }
}

/* Sidebar */
.home-hero__sidebar {
  width: 3.5rem;
  border-right: 1px solid hsl(var(--border) / 0.4);
  display: flex;
  flex-direction: column;
  background: hsl(var(--background) / 0.2);
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .home-hero__sidebar {
    width: 13rem;
  }
}

.home-hero__sidebar-logo {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.home-hero__sidebar-logo-icon {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home-hero__sidebar-logo-inner {
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 0.25rem;
  background: rgba(255,255,255,0.6);
}

.home-hero__sidebar-logo-text {
  display: none;
  height: 0.5rem;
  width: 4rem;
  background: hsl(var(--muted-foreground) / 0.3);
  border-radius: 0.25rem;
}

@media (min-width: 768px) {
  .home-hero__sidebar-logo-text {
    display: block;
  }
}

.home-hero__sidebar-nav {
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.home-hero__sidebar-item {
  padding: 0.5rem;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: default;
}

.home-hero__sidebar-item.is-active {
  background: hsl(var(--primary) / 0.1);
}

.home-hero__sidebar-icon {
  width: 1rem;
  height: 1rem;
  border-radius: 0.25rem;
  background: hsl(var(--muted-foreground) / 0.3);
  flex-shrink: 0;
}

.is-active .home-hero__sidebar-icon {
  background: var(--color-primary);
}

.home-hero__sidebar-label {
  display: none;
  height: 0.375rem;
  border-radius: 0.25rem;
  background: hsl(var(--muted-foreground) / 0.2);
}

@media (min-width: 768px) {
  .home-hero__sidebar-label { display: block; }
  .home-hero__sidebar-label--0 { width: 80%; }
  .home-hero__sidebar-label--1 { width: 75%; }
  .home-hero__sidebar-label--2 { width: 66%; }
  .home-hero__sidebar-label--3 { width: 50%; }
  .home-hero__sidebar-label--4 { width: 60%; }
}

.home-hero__preview-main {
  flex: 1;
  overflow: hidden;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* KPI cards */
.home-hero__kpi-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .home-hero__kpi-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.home-hero__kpi-card {
  border-radius: 0.75rem;
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--card) / 0.8);
  overflow: hidden;
}

.home-hero__kpi-bar {
  height: 3px;
  width: 100%;
}

.home-hero__kpi-bar--primary  { background: var(--color-primary); }
.home-hero__kpi-bar--emerald  { background: #10b981; }
.home-hero__kpi-bar--violet   { background: #8b5cf6; }
.home-hero__kpi-bar--amber    { background: #f59e0b; }

.home-hero__kpi-inner {
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.home-hero__kpi-dot-bg {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home-hero__kpi-dot-bg--primary { background: hsl(var(--primary) / 0.1); }
.home-hero__kpi-dot-bg--emerald { background: rgba(16,185,129,0.1); }
.home-hero__kpi-dot-bg--violet  { background: rgba(139,92,246,0.1); }
.home-hero__kpi-dot-bg--amber   { background: rgba(245,158,11,0.1); }

.home-hero__kpi-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
}

.home-hero__kpi-dot--primary { background: var(--color-primary); }
.home-hero__kpi-dot--emerald { background: #10b981; }
.home-hero__kpi-dot--violet  { background: #8b5cf6; }
.home-hero__kpi-dot--amber   { background: #f59e0b; }

.home-hero__kpi-value {
  height: 0.625rem;
  width: 2.5rem;
  background: hsl(var(--muted-foreground) / 0.3);
  border-radius: 0.25rem;
  margin-bottom: 0.25rem;
}

.home-hero__kpi-label {
  font-size: 0.625rem;
  color: var(--color-muted-fg);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Mini chart — restructured to match React HeroPreview chart layout */
.home-hero__chart {
  flex: 1;
  border: 1px solid hsl(var(--border) / 0.4);
  border-radius: 0.75rem;
  background: hsl(var(--card) / 0.2);   /* bg-card/20 */
  padding: 0.75rem;
  display: flex;
  flex-direction: column;
  /* no gap — children use specific margins */
}

/* Chart header (title placeholder, legend, period buttons) */
.home-hero__chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.75rem;
  flex-shrink: 0;
}

.home-hero__chart-header-left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.home-hero__chart-title-bar {
  height: 0.75rem;
  width: 5rem;
  background: hsl(var(--foreground) / 0.15);
  border-radius: 0.25rem;
}

.home-hero__chart-legend {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.home-hero__chart-legend-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background: hsl(var(--primary) / 0.6);
  flex-shrink: 0;
}

.home-hero__chart-legend-label {
  height: 0.5rem;
  width: 3rem;
  background: hsl(var(--muted-foreground) / 0.2);
  border-radius: 0.25rem;
}

.home-hero__chart-header-right {
  display: flex;
  gap: 0.375rem;
}

.home-hero__chart-period {
  height: 1.25rem;
  width: 2rem;
  border-radius: 0.25rem;
  background: hsl(var(--muted) / 0.4);
  border: 1px solid hsl(var(--border) / 0.4);
}

.home-hero__chart-period--active {
  background: hsl(var(--primary) / 0.15);
  border-color: hsl(var(--primary) / 0.2);
}

/* Chart body: relative container for absolute grid lines, gradient, and bars */
.home-hero__chart-body {
  flex: 1;
  position: relative;
  min-height: 3rem;
}

.home-hero__chart-gridline {
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid hsl(var(--border) / 0.2);
  pointer-events: none;
}

/* Gradient area fill — clip-path polygon mirrors React HeroPreview */
.home-hero__chart-area {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 75%;
  background: linear-gradient(to top, hsl(var(--primary)), transparent);
  clip-path: polygon(0 100%,0 72%,8% 48%,17% 58%,25% 22%,33% 34%,42% 12%,50% 0%,58% 20%,67% 2%,75% 18%,83% 8%,92% 16%,100% 0%,100% 100%);
  opacity: 0.08;
  pointer-events: none;
}

/* Bars — absolute positioned inside chart-body */
.home-hero__chart-bars {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  gap: 3px;
}

.home-hero__chart-bar-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
}

.home-hero__chart-bar {
  width: 100%;
  border-radius: 2px 2px 0 0;
  background: hsl(var(--primary) / 0.25);
  min-height: 4px;
}

/* Bar index 7 (value 100) — primary colour + glow */
.home-hero__chart-bar--highlight {
  background: var(--color-primary);
  box-shadow: 0 0 16px 4px hsl(var(--primary) / 0.5);
}

.home-hero__chart-baseline {
  display: flex;
  gap: 3px;
}

.home-hero__chart-tick {
  flex: 1;
  height: 0.375rem;
  background: hsl(var(--muted-foreground) / 0.1);
  border-radius: 0.125rem;
}

/* Floating status badges */
.home-hero__badge-status,
.home-hero__badge-agents {
  position: absolute;
  background: var(--color-card);
  border: 1px solid hsl(var(--border) / 0.8);
  box-shadow: var(--shadow-lg);
  border-radius: 0.75rem;
  padding: 0.5rem 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--color-fg);
  white-space: nowrap;
}

.home-hero__badge-status {
  right: -0.5rem;
  top: 5rem;
}

@media (min-width: 768px) {
  .home-hero__badge-status {
    right: -1.5rem;
    top: 7rem;
  }
}

.home-hero__badge-agents {
  left: -0.5rem;
  bottom: 5rem;
}

@media (min-width: 768px) {
  .home-hero__badge-agents {
    left: -1.5rem;
    bottom: 7rem;
  }
}

.home-hero__status-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: var(--radius-full);
  background: #10b981;
  flex-shrink: 0;
}

.home-hero__avatar-stack {
  display: flex;
}

.home-hero__avatar-stack .home-hero__avatar + .home-hero__avatar {
  margin-left: -0.25rem;
}

.home-hero__avatar {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-card);
}

.home-hero__avatar--primary { background: hsl(var(--primary) / 0.6); }
.home-hero__avatar--emerald { background: rgba(16,185,129,0.6); }
.home-hero__avatar--violet  { background: rgba(139,92,246,0.6); }

/* KPI sparklines (mini bar charts matching React HeroPreview) */
.home-hero__kpi-sparkline {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 1rem;           /* h-4 */
  padding: 0 0.75rem 0.5rem;
}

.home-hero__kpi-spark {
  flex: 1;
  border-radius: 2px 2px 0 0;
  opacity: 0.6;           /* opacity-60 */
  min-height: 2px;
}

.home-hero__kpi-spark--primary { background: var(--color-primary); }
.home-hero__kpi-spark--emerald { background: #10b981; }
.home-hero__kpi-spark--violet  { background: #8b5cf6; }
.home-hero__kpi-spark--amber   { background: #f59e0b; }

/* Content header row above KPI cards (matches React HeroPreview) */
.home-hero__content-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid hsl(var(--border) / 0.4);
  background: hsl(var(--background) / 0.1);
  margin: -0.75rem -0.75rem 0.75rem;   /* bleed to card edges */
}

.home-hero__content-header-titles {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.home-hero__content-header-title-bar {
  height: 1rem;
  width: 8rem;
  background: hsl(var(--foreground) / 0.15);
  border-radius: 0.25rem;
}

.home-hero__content-header-subtitle-bar {
  height: 0.625rem;
  width: 5rem;
  background: hsl(var(--muted-foreground) / 0.2);
  border-radius: 0.25rem;
}

.home-hero__content-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Filter dropdown (hidden on small screens) */
.home-hero__content-header-filter {
  display: none;
  height: 2rem;
  width: 7rem;
  border-radius: 0.5rem;
  background: hsl(var(--muted) / 0.4);
  border: 1px solid hsl(var(--border) / 0.4);
  align-items: center;
  gap: 0.5rem;
  padding: 0 0.75rem;
}

@media (min-width: 768px) {
  .home-hero__content-header-filter {
    display: flex;
  }
}

.home-hero__content-header-filter-bar {
  height: 0.5rem;
  width: 3rem;
  background: hsl(var(--muted-foreground) / 0.25);
  border-radius: 0.25rem;
}

.home-hero__content-header-filter-icon {
  height: 0.75rem;
  width: 0.75rem;
  border-radius: 0.2rem;
  background: hsl(var(--muted-foreground) / 0.2);
  flex-shrink: 0;
}

/* Primary action button skeleton */
.home-hero__content-header-action {
  height: 2rem;
  width: 5rem;
  border-radius: 0.5rem;
  background: hsl(var(--primary) / 0.2);
  border: 1px solid hsl(var(--primary) / 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0 0.75rem;
}

.home-hero__content-header-action-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: var(--radius-full);
  background: hsl(var(--primary) / 0.7);
  flex-shrink: 0;
}

.home-hero__content-header-action-bar {
  height: 0.5rem;
  width: 2rem;
  background: hsl(var(--primary) / 0.5);
  border-radius: 0.25rem;
}

/* Bottom gradient fade */
.home-hero__fade-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8rem;
  background: linear-gradient(to top, var(--color-bg), transparent);
  z-index: 20;
  pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   23. Trust Indicators
   ───────────────────────────────────────────────────────────────────────────── */

.home-trust-indicators__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .home-trust-indicators__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .home-trust-indicators__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.home-trust-indicators__card {
  height: 100%;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background: hsl(var(--card) / 0.5);
  backdrop-filter: blur(4px);
  transition: background-color var(--duration-normal);
}

.home-trust-indicators__card:hover {
  background: var(--color-card);
}

.home-trust-indicators__icon-wrap {
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  background: hsl(var(--primary) / 0.1);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home-trust-indicators__icon-wrap svg {
  width: 1.5rem;
  height: 1.5rem;
}

.home-trust-indicators__card-title {
  font-size: 1.5rem;          /* text-2xl — matches React Heading size="xl" */
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.5rem;
  letter-spacing: -0.015em;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .home-trust-indicators__card-title {
    font-size: 1.875rem;      /* text-3xl */
  }
}

.home-trust-indicators__card-desc {
  font-size: 0.9375rem;
  color: var(--color-muted-fg);
  line-height: 1.5;
}

/* ─────────────────────────────────────────────────────────────────────────────
   24. Solutions Overview
   ───────────────────────────────────────────────────────────────────────────── */

.home-solutions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: stretch;
  grid-auto-rows: 1fr;        /* auto-rows-fr — equal row heights across all rows */
}

@media (min-width: 768px) {
  .home-solutions__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .home-solutions__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.home-solutions__item {
  display: flex;
}

@media (min-width: 768px) {
  .home-solutions__item--featured {
    grid-column: span 2;
  }
}

.home-solutions__card {
  width: 100%;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  transition: border-color var(--duration-normal), box-shadow var(--duration-normal);
}

.home-solutions__card:hover {
  border-color: hsl(var(--primary) / 0.3);
  box-shadow: var(--shadow-md);
}

.home-solutions__card--featured {
  background: hsl(var(--card) / 0.4);
  border-color: hsl(var(--primary) / 0.2);
}

.home-solutions__card-top {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.home-solutions__icon-wrap {
  padding: 0.75rem;
  border-radius: 0.75rem;
  background: var(--color-muted);
  color: var(--color-fg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.home-solutions__icon-wrap svg {
  width: 1.5rem;
  height: 1.5rem;
}

.home-solutions__icon-wrap--featured {
  background: var(--color-primary);
  color: hsl(var(--primary-foreground));
}

.home-solutions__card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-fg);
  padding-top: 0.25rem;
}

.home-solutions__card-desc {
  font-size: 0.9375rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
  flex-grow: 1;
  margin-bottom: 1.5rem;
}

.home-solutions__features {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.home-solutions__feature {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.home-solutions__check-icon {
  width: 1rem;
  height: 1rem;
  color: var(--color-primary);
  flex-shrink: 0;
}

.home-solutions__feature > span {
  font-size: 0.875rem;
  color: var(--color-fg);
}

.home-solutions__card-footer {
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}

.home-solutions__learn-more {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-primary);
  text-decoration: none;
}

.home-solutions__learn-more:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.home-solutions__arrow-icon {
  width: 1rem;
  height: 1rem;
  transition: transform var(--duration-fast);
}

.home-solutions__learn-more:hover .home-solutions__arrow-icon {
  transform: translateX(0.25rem);
}

.home-solutions__cta-wrap {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}

/* ─────────────────────────────────────────────────────────────────────────────
   25. Products Overview
   ───────────────────────────────────────────────────────────────────────────── */

.home-products__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 1024px) {
  .home-products__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.home-products__card {
  position: relative;
  height: 100%;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color var(--duration-normal), box-shadow var(--duration-normal);
}

.home-products__card--highlighted {
  background: linear-gradient(
    135deg,
    hsl(var(--primary) / 0.05) 0%,
    hsl(265 85% 65% / 0.03) 100%
  );
  border-color: hsl(var(--primary) / 0.4);
  /* ring + outer ambient glow matching React shadow-[0_0_40px_rgba(...primary...,0.08)] */
  box-shadow:
    0 0 0 1px hsl(var(--primary) / 0.1),
    0 0 40px hsl(var(--primary) / 0.08);
}

.home-products__card--coming-soon {
  filter: grayscale(50%);
  opacity: 0.7;               /* opacity-70 */
  transition: filter var(--duration-normal), opacity var(--duration-normal);
}

.home-products__card--coming-soon:hover {
  filter: grayscale(0);       /* hover:grayscale-0 */
  opacity: 1;
}

.home-products__highlight-bar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;                /* h-0.5 = 2px — matches React */
  /* from-primary/80 via-primary to-primary/40 */
  background: linear-gradient(
    to right,
    hsl(var(--primary) / 0.8),
    hsl(var(--primary)),
    hsl(var(--primary) / 0.4)
  );
  border-radius: 0.75rem 0.75rem 0 0; /* rounded-t-xl */
}

.home-products__card-header {
  margin-bottom: 1rem;
}

.home-products__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  border-radius: var(--radius-full);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;
}

/* Flagship — separate outlined badge with filled Star icon (matches React) */
.home-products__badge--flagship {
  background: transparent;
  border: 1px solid hsl(var(--primary) / 0.4);
  color: var(--color-primary);
}

.home-products__badge--flagship .home-products__badge-icon {
  fill: currentColor;   /* Star is filled, not just stroked */
}

.home-products__badge--live {
  background: hsl(var(--primary) / 0.1);
  color: var(--color-primary);
  border: 1px solid hsl(var(--primary) / 0.2);
}

.home-products__badge--soon {
  background: var(--color-muted);
  color: var(--color-muted-fg);
  border: 1px solid var(--color-border);
}

.home-products__badge-icon {
  width: 0.75rem;
  height: 0.75rem;
}

.home-products__card-body {
  flex-grow: 1;
}

.home-products__product-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-fg);
  margin-bottom: 0.375rem;
}

.home-products__product-tagline {
  font-size: 0.9375rem;
  color: var(--color-muted-fg);
  margin-bottom: 1.5rem;
}

.home-products__features {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.home-products__feature {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.home-products__check-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-primary);
  flex-shrink: 0;
  margin-top: 0.125rem;
}

.home-products__check-icon--muted {
  color: var(--color-muted-fg);
}

.home-products__feature > span {
  font-size: 0.875rem;
  color: var(--color-fg);
  line-height: 1.5;
}

.home-products__feature--muted > span {
  color: var(--color-muted-fg);
}

.home-products__card-footer {
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
  margin-top: auto;
}

.home-products__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.home-products__cta--highlighted {
  box-shadow: 0 4px 12px hsl(var(--primary) / 0.2);
}

.home-products__cta--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* Lock overlay for coming-soon products */
.home-products__lock-overlay {
  position: absolute;
  inset: 0;
  background: hsl(var(--background) / 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.home-products__lock-badge {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: var(--radius-full);
  background: hsl(var(--card) / 0.9);
  border: 1px solid var(--color-border);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--color-muted-fg);
  backdrop-filter: blur(4px);
}

.home-products__lock-icon {
  width: 0.875rem;
  height: 0.875rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   26. Enterprise Services
   ───────────────────────────────────────────────────────────────────────────── */

.home-services__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .home-services__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .home-services__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.home-services__item {
  display: flex;
}

.home-services__link {
  display: block;
  width: 100%;
  text-decoration: none;
}

.home-services__card {
  height: 100%;
  padding: 2rem;
  display: flex;
  flex-direction: column;
  transition: border-color var(--duration-normal), box-shadow var(--duration-normal);
}

.home-services__link:hover .home-services__card {
  border-color: hsl(var(--primary) / 0.4);
  box-shadow: var(--shadow-md);
}

.home-services__icon-wrap {
  width: 3rem;
  height: 3rem;
  border-radius: 0.75rem;
  background: var(--color-muted);
  color: var(--color-muted-fg);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  flex-shrink: 0;
  transition: background-color var(--duration-normal), color var(--duration-normal);
}

.home-services__icon-wrap svg {
  width: 1.5rem;
  height: 1.5rem;
}

.home-services__link:hover .home-services__icon-wrap {
  background: hsl(var(--primary) / 0.1);
  color: var(--color-primary);
}

.home-services__card-title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.75rem;
  transition: color var(--duration-normal);
}

.home-services__link:hover .home-services__card-title {
  color: var(--color-primary);
}

.home-services__card-desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
  flex-grow: 1;
  margin-bottom: 1.5rem;
}

.home-services__learn-more {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--color-muted-fg);
  margin-top: auto;
  transition: color var(--duration-normal);
}

.home-services__link:hover .home-services__learn-more {
  color: var(--color-primary);
}

.home-services__arrow-icon {
  width: 1rem;
  height: 1rem;
  transform: translateX(-0.25rem);
  transition: transform var(--duration-normal);
}

.home-services__link:hover .home-services__arrow-icon {
  transform: translateX(0);
}

/* ─────────────────────────────────────────────────────────────────────────────
   27. Tech Stack
   ───────────────────────────────────────────────────────────────────────────── */

.home-techstack__wrapper {
  max-width: 56rem;
  margin-inline: auto;
}

/* Tablist pill container */
.home-techstack__tablist {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2.5rem;
  background: hsl(var(--muted) / 0.5);
  padding: 0.375rem;
  border-radius: var(--radius-full);
  border: 1px solid hsl(var(--border) / 0.5);
}

/* Tab button */
.home-techstack__tab {
  padding: 0.5rem 1.25rem;
  border-radius: var(--radius-full);
  font-size: 0.875rem;
  font-weight: 500;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--color-muted-fg);
  transition: background-color var(--duration-normal), color var(--duration-normal), box-shadow var(--duration-normal);
  white-space: nowrap;
}

.home-techstack__tab:hover {
  color: var(--color-fg);
  background: hsl(var(--background) / 0.5);
}

.home-techstack__tab.is-active {
  background: var(--color-bg);
  color: var(--color-fg);
  border: 1px solid hsl(var(--border) / 0.5);
  box-shadow: var(--shadow-sm);
}

.home-techstack__tab:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Panel — CSS fade-in animation mirrors React AnimatePresence opacity:0,y:6 → opacity:1,y:0 */
.home-techstack__panel {
  outline: none;
}

@media (prefers-reduced-motion: no-preference) {
  /* Fires every time the hidden attribute is removed (panel becomes active) */
  .home-techstack__panel:not([hidden]) {
    animation: techstack-panel-fadein 0.2s ease-out both;
  }
}

@keyframes techstack-panel-fadein {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.home-techstack__panel-desc {
  text-align: center;
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  font-weight: 500;
  margin-bottom: 2rem;
}

/* Tech tiles grid */
.home-techstack__tiles {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

@media (min-width: 640px) {
  .home-techstack__tiles {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .home-techstack__tiles {
    grid-template-columns: repeat(5, 1fr);
  }
}

.home-techstack__tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1.75rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border);
  background: var(--color-card);
  transition: border-color var(--duration-normal), background-color var(--duration-normal), box-shadow var(--duration-normal);
  cursor: default;
}

.home-techstack__tile:hover {
  border-color: hsl(var(--primary) / 0.4);
  background: hsl(var(--primary) / 0.05);
  box-shadow: var(--shadow-sm);
}

.home-techstack__tile-badge {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.5rem;
  background: var(--color-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-muted-fg);
  transition: background-color var(--duration-normal), color var(--duration-normal);
}

.home-techstack__tile:hover .home-techstack__tile-badge {
  background: hsl(var(--primary) / 0.1);
  color: var(--color-primary);
}

.home-techstack__tile-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  text-align: center;
  transition: color var(--duration-normal);
}

.home-techstack__tile:hover .home-techstack__tile-name {
  color: var(--color-fg);
}

/* ─────────────────────────────────────────────────────────────────────────────
   28. Trust Center Preview
   ───────────────────────────────────────────────────────────────────────────── */

.home-trust-preview__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 48rem;
  margin-inline: auto;
  margin-bottom: 3rem;
}

.home-trust-preview__icon-wrap {
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius-full);
  background: hsl(var(--primary) / 0.1);
  color: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

.home-trust-preview__icon-wrap svg {
  width: 1.5rem;
  height: 1.5rem;
}

.home-trust-preview__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .home-trust-preview__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .home-trust-preview__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.home-trust-preview__card {
  height: 100%;
  padding: 2rem;
  background: hsl(var(--card) / 0.5);
  transition: border-color var(--duration-normal), background-color var(--duration-normal);
}

.home-trust-preview__card:hover {
  border-color: hsl(var(--primary) / 0.3);
  background: var(--color-card);
}

.home-trust-preview__card-title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-fg);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.home-trust-preview__check-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-primary);
  flex-shrink: 0;
}

.home-trust-preview__card-desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
}

.home-trust-preview__cta-wrap {
  display: flex;
  justify-content: center;
}

/* ─────────────────────────────────────────────────────────────────────────────
   29. Developer Experience
   ───────────────────────────────────────────────────────────────────────────── */

.home-developer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}

@media (min-width: 1024px) {
  .home-developer__grid {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 4rem;
  }
}

.home-developer__left {
  display: flex;
  flex-direction: column;
}

.home-developer__title {
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--color-fg);
  margin-bottom: 1rem;
}

.home-developer__subtitle {
  font-size: 1.125rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.home-developer__features {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.home-developer__feature {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.home-developer__feat-icon-wrap {
  margin-top: 0.25rem;
  background: var(--color-muted);
  padding: 0.5rem;
  border-radius: 0.5rem;
  flex-shrink: 0;
  color: var(--color-fg);
}

.home-developer__feat-icon-wrap svg {
  width: 1rem;
  height: 1rem;
}

.home-developer__feat-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-fg);
  margin-bottom: 0.25rem;
}

.home-developer__feat-desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.5;
}

.home-developer__github-mobile {
  display: block;
}

@media (min-width: 640px) {
  .home-developer__github-mobile {
    display: none;
  }
}

/* Code window */
.home-developer__right {
  display: flex;
}

.home-developer__code-window {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid var(--color-border);
  /* Light mode: bg-card (matches React's `bg-card dark:bg-[#0d0d12]`) */
  background: var(--color-card);
  overflow: hidden;
  box-shadow: var(--shadow-xl);
}

/* Dark mode: always-dark code window */
.dark .home-developer__code-window,
html[data-theme="dark"] .home-developer__code-window {
  background: hsl(240 6% 5%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not(.light) .home-developer__code-window {
    background: hsl(240 6% 5%);
  }
}

.home-developer__code-chrome {
  height: 2.75rem;
  /* Light mode: bg-muted/60 (matches React `bg-muted/60 dark:bg-white/5`) */
  border-bottom: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  padding-inline: 1rem;
  gap: 0.75rem;
  background: hsl(var(--muted) / 0.6);
}

.dark .home-developer__code-chrome,
html[data-theme="dark"] .home-developer__code-chrome {
  background: rgba(255, 255, 255, 0.05);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not(.light) .home-developer__code-chrome {
    background: rgba(255, 255, 255, 0.05);
    border-bottom-color: rgba(255, 255, 255, 0.1);
  }
}

.home-developer__code-dots {
  display: flex;
  gap: 0.375rem;
}

.home-developer__code-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: var(--radius-full);
}

.home-developer__code-dot--red    { background: #ff5f57; }
.home-developer__code-dot--yellow { background: #febc2e; }
.home-developer__code-dot--green  { background: #28c840; }

.home-developer__code-filename {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--color-muted-fg);  /* light mode: muted-fg; inherits dark via token */
}

.dark .home-developer__code-filename,
html[data-theme="dark"] .home-developer__code-filename {
  color: hsl(240 5% 55%);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not(.light) .home-developer__code-filename {
    color: hsl(240 5% 55%);
  }
}

.home-developer__code-body {
  overflow-x: auto;
}

.home-developer__pre {
  margin: 0;
  padding: 1.5rem;
  font-size: 0.8125rem;
  line-height: 1.7;
  overflow-x: auto;
}

.home-developer__code {
  font-family: var(--font-mono);
  color: hsl(220 14% 71%);   /* base text — One Dark palette */
  display: block;
  white-space: pre;
}

.home-developer__code-footer {
  padding: 0.75rem 1.5rem;
  /* Light mode: bg-muted/60 (mirrors chrome) */
  border-top: 1px solid var(--color-border);
  background: hsl(var(--muted) / 0.6);
  display: none;
  justify-content: flex-end;
}

.dark .home-developer__code-footer,
html[data-theme="dark"] .home-developer__code-footer {
  background: rgba(255, 255, 255, 0.05);
  border-top-color: rgba(255, 255, 255, 0.1);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not(.light) .home-developer__code-footer {
    background: rgba(255, 255, 255, 0.05);
    border-top-color: rgba(255, 255, 255, 0.1);
  }
}

@media (min-width: 640px) {
  .home-developer__code-footer {
    display: flex;
  }
}

.home-developer__github-desktop {
  font-size: 0.8125rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   30. Company Vision
   ───────────────────────────────────────────────────────────────────────────── */

.home-vision__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .home-vision__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}

/* Left column */
.home-vision__left {
  display: flex;
  flex-direction: column;
}

.home-vision__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  margin-bottom: 1.5rem;
}

.home-vision__title {
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--color-fg);
  margin-bottom: 1.5rem;
}

.home-vision__text {
  font-size: 1.125rem;
  color: var(--color-muted-fg);
  line-height: 1.7;
  margin-bottom: 2.5rem;
}

.home-vision__points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.home-vision__point {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.home-vision__point-icon {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  background: hsl(var(--primary) / 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: var(--color-primary);
}

.home-vision__point-icon svg {
  width: 0.875rem;
  height: 0.875rem;
}

.home-vision__point > span {
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-fg);
}

/* Right column: timeline */
.home-vision__right {
  position: relative;
  padding-left: 1.5rem;
}

@media (min-width: 768px) {
  .home-vision__right {
    padding-left: 2.5rem;
  }
}

.home-vision__timeline-line {
  position: absolute;
  left: 19px;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 1px;
  background: linear-gradient(to bottom, hsl(var(--primary) / 0.4), var(--color-border), transparent);
}

@media (min-width: 768px) {
  .home-vision__timeline-line {
    left: 27px;
  }
}

.home-vision__timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.home-vision__timeline-item {
  position: relative;
  padding-left: 2rem;
}

.home-vision__dot {
  position: absolute;
  left: 0;
  top: 0.5rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: var(--radius-full);
  border: 2px solid var(--color-bg);
  z-index: 1;
  transition: background-color var(--duration-normal);
}

.home-vision__dot--active {
  background: var(--color-primary);
  box-shadow: 0 0 0 4px hsl(var(--primary) / 0.2);
}

.home-vision__dot--planned {
  background: var(--color-border);
}

.home-vision__item-content {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.home-vision__item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
}

.home-vision__year-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-family: var(--font-mono);
  background: var(--color-primary);
  color: hsl(var(--primary-foreground));
  font-weight: 600;
}

.home-vision__year-badge--secondary {
  background: var(--color-secondary);
  color: var(--color-muted-fg);
}

.home-vision__item-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--color-fg);
}

.home-vision__item-title--muted {
  color: var(--color-muted-fg);
}

.home-vision__item-desc {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
}

/* ─────────────────────────────────────────────────────────────────────────────
   31. Testimonials
   ───────────────────────────────────────────────────────────────────────────── */

.home-testimonials__subtitle {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  font-style: italic;
  opacity: 0.7;
}

.home-testimonials__carousel {
  position: relative;
}

.home-testimonials__track {
  position: relative;
}

/* Testimonial card */
.home-testimonials__card {
  background: var(--color-card);
  border: 1px solid hsl(var(--border) / 0.6);
  border-radius: 1rem;
  /* px-8 py-10 — 2rem horizontal / 2.5rem vertical (mobile) */
  padding: 2.5rem 2rem;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  /* md:px-14 md:py-14 — 3.5rem both */
  .home-testimonials__card {
    padding: 3.5rem;
  }
}

/* Colour accent top bar */
.home-testimonials__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;                /* h-0.5 = 2px — matches React */
}

.home-testimonials__card--primary  .home-testimonials__accent { background: var(--color-primary); }
.home-testimonials__card--emerald  .home-testimonials__accent { background: #10b981; }
.home-testimonials__card--violet   .home-testimonials__accent { background: #8b5cf6; }
.home-testimonials__card--amber    .home-testimonials__accent { background: #f59e0b; }

/* Large decorative quote icon — rotate-180 (closing-quote orientation, matches React) */
.home-testimonials__quote-icon {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  opacity: 0.04;
  color: var(--color-fg);
}

@media (min-width: 768px) {
  .home-testimonials__quote-icon {
    top: 2rem;
    right: 2rem;
  }
}

.home-testimonials__quote-icon svg {
  /* w-16 h-16 mobile / md:w-20 md:h-20 desktop */
  width: 4rem;
  height: 4rem;
  transform: rotate(180deg);  /* rotate-180 — matches React <Quote className="rotate-180" /> */
}

@media (min-width: 768px) {
  .home-testimonials__quote-icon svg {
    width: 5rem;
    height: 5rem;
  }
}

/* Blockquote */
.home-testimonials__blockquote {
  margin: 0 0 2rem;
  padding: 0;
  border: none;
}

.home-testimonials__blockquote p {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--color-fg);
  font-style: normal;
  font-weight: 500;           /* font-medium — matches React */
}

@media (min-width: 768px) {
  .home-testimonials__blockquote p {
    font-size: 1.25rem;       /* md:text-xl */
  }
}

/* Attribution */
.home-testimonials__attribution {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.home-testimonials__avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
}

.home-testimonials__avatar--primary { background: var(--color-primary); }
.home-testimonials__avatar--emerald { background: #10b981; }
.home-testimonials__avatar--violet  { background: #8b5cf6; }
.home-testimonials__avatar--amber   { background: #f59e0b; }

.home-testimonials__meta {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}

.home-testimonials__name {
  font-style: normal;
  font-weight: 600;
  font-size: 0.9375rem;
  color: var(--color-fg);
}

.home-testimonials__role {
  font-size: 0.75rem;          /* text-xs — matches React */
  color: var(--color-muted-fg);
}

/* Company rendered as a separate element below role (matches React layout) */
.home-testimonials__company {
  font-size: 0.75rem;          /* text-xs */
  color: var(--color-muted-fg);
  font-weight: 500;            /* font-medium mt-0.5 */
  margin-top: 0.125rem;
}

/* Controls */
.home-testimonials__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.5rem;
  padding-inline: 0.5rem;
}

.home-testimonials__dots {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.home-testimonials__dot {
  height: 0.5rem;
  border-radius: var(--radius-full);
  background: var(--color-border);
  border: none;
  cursor: pointer;
  transition: width var(--duration-normal), background-color var(--duration-normal);
  width: 0.5rem;
  padding: 0;
}

.home-testimonials__dot:hover {
  background: var(--color-muted-fg);
}

.home-testimonials__dot.is-active,
.home-testimonials__dot[aria-selected="true"] {
  background: var(--color-primary);
  width: 2rem;
}

.home-testimonials__dot:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* ─────────────────────────────────────────────────────────────────────────────
   32. FAQ
   ───────────────────────────────────────────────────────────────────────────── */

.home-faq__header {
  text-align: center;
}

.home-faq__eyebrow {
  margin-bottom: 1rem;
}

.home-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;                /* space-y-2 — individually-carded items with 8px gap */
}

/* Each item is a bordered, rounded card — matches React AccordionItem */
.home-faq__item {
  border: 1px solid hsl(var(--border) / 0.6);
  border-radius: 0.75rem;     /* rounded-xl */
  padding-inline: 0.5rem;     /* px-2 */
  transition: border-color var(--duration-normal), background-color var(--duration-normal);
}

.home-faq__item.is-open {
  border-color: hsl(var(--primary) / 0.3);        /* data-[state=open]:border-primary/30 */
  background: hsl(var(--primary) / 0.02);          /* data-[state=open]:bg-primary/[0.02] */
}

.home-faq__question-wrap {
  margin: 0;
  font-size: inherit;
}

.home-faq__question-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  /* py-6 px-4 = 1.5rem vertical / 1rem horizontal (matches React AccordionTrigger) */
  padding: 1.5rem 1rem;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  font-size: 1rem;            /* text-base */
  font-weight: 500;           /* font-medium */
  color: var(--color-fg);
  border-radius: 0.75rem;     /* rounded-xl */
  transition: color var(--duration-fast);
}

@media (min-width: 768px) {
  .home-faq__question-btn {
    font-size: 1.125rem;      /* md:text-lg */
  }
}

.home-faq__question-btn:hover {
  color: var(--color-primary);
}

.home-faq__question-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

.home-faq__chevron {
  flex-shrink: 0;
  color: var(--color-muted-fg);
  transition: transform var(--duration-normal);
}

.home-faq__chevron svg {
  width: 1.25rem;
  height: 1.25rem;
}

.home-faq__item.is-open .home-faq__chevron {
  transform: rotate(180deg);
  color: var(--color-primary);
}

.home-faq__answer-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--duration-slow) var(--ease-in-out);
}

.home-faq__answer-panel:not([hidden]) {
  /* When visible, max-height is set inline by JS */
}

.home-faq__answer {
  /* pb-8 px-4 pr-12 — matches React AccordionContent */
  padding-top: 0;
  padding-bottom: 2rem;       /* pb-8 */
  padding-left: 1rem;         /* px-4 */
  padding-right: 3rem;        /* pr-12 — prevents text running under chevron */
}

.home-faq__answer p {
  font-size: 0.9375rem;
  color: var(--color-muted-fg);
  line-height: 1.7;
}

/* ─────────────────────────────────────────────────────────────────────────────
   33. Final CTA
   ───────────────────────────────────────────────────────────────────────────── */

.home-final-cta {
  padding-block: 6rem;
}

/* Background layers */
.home-final-cta__bg-tint {
  position: absolute;
  inset: 0;
  background: hsl(var(--primary) / 0.05);
  pointer-events: none;
}

.home-final-cta__bg-radial {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 43.75rem;
  height: 43.75rem;
  background: hsl(var(--primary) / 0.1);
  border-radius: var(--radius-full);
  filter: blur(120px);
  pointer-events: none;
}

.home-final-cta__bg-violet {
  position: absolute;
  top: 0;
  right: 0;
  width: 25rem;
  height: 25rem;
  background: hsl(265 85% 65% / 0.05);
  border-radius: var(--radius-full);
  filter: blur(100px);
  pointer-events: none;
}

.home-final-cta__outer {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 48rem;
  margin-inline: auto;
}

/* Glass card */
.home-final-cta__card {
  width: 100%;
  border-radius: 1.5rem;
  border: 1px solid hsl(var(--border) / 0.6);
  background: hsl(var(--card) / 0.4);
  backdrop-filter: blur(4px);
  box-shadow: 0 4px 32px rgba(0,0,0,0.06);
  /* px-8 py-14 mobile = 2rem/3.5rem (matches React) */
  padding: 3.5rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  /* md:px-16 md:py-20 = 4rem/5rem */
  .home-final-cta__card {
    padding: 5rem 4rem;
  }
}

.home-final-cta__headline {
  /* Heading size="4xl" → text-5xl md:text-6xl lg:text-7xl = 3rem/3.75rem/4.5rem */
  font-size: clamp(3rem, 6vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--color-fg);
  margin-bottom: 2rem;
}

.home-final-cta__subline {
  font-size: 1.25rem;
  color: var(--color-muted-fg);
  line-height: 1.6;
  max-width: 32rem;
  margin-bottom: 3rem;
}

/* CTA row */
.home-final-cta__cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin-bottom: 2.5rem;
}

@media (min-width: 640px) {
  .home-final-cta__cta-row {
    flex-direction: row;
    width: auto;
  }
}

.home-final-cta__btn-primary {
  box-shadow: 0 4px 24px hsl(var(--primary) / 0.3);
}

.home-final-cta__btn-secondary {
  background: hsl(var(--background) / 0.6);
  backdrop-filter: blur(4px);
}

/* Trust signals */
.home-final-cta__trust-signals {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.home-final-cta__signal {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  font-weight: 500;
}

.home-final-cta__signal-icon {
  width: 1rem;
  height: 1rem;
  color: var(--color-primary);
}

.home-final-cta__fine-print {
  font-size: 0.875rem;
  color: var(--color-muted-fg);
  opacity: 0.6;
  font-weight: 500;
  letter-spacing: 0.025em;
}

/* ─────────────────────────────────────────────────────────────────────────────
   34. Homepage button extras
   ───────────────────────────────────────────────────────────────────────────── */

/* Icon inside buttons */
.btn__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  transition: transform var(--duration-fast);
}

.btn--primary:hover .btn__icon,
.btn--outline:hover .btn__icon {
  transform: translateX(0.15rem);
}

/* Ghost + icon button used in carousel controls */
.btn--ghost {
  background: transparent;
  border: none;
  color: var(--color-fg);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-full);
  padding: 0.5rem;
  transition: background-color var(--duration-fast);
}

.btn--ghost:hover {
  background: var(--color-muted);
}

.btn--ghost svg {
  width: 1.25rem;
  height: 1.25rem;
}

.btn--icon {
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
}

.btn--sm {
  padding: 0.375rem 0.875rem;
  font-size: 0.8125rem;
}

/* ─────────────────────────────────────────────────────────────────────────────
   35. Scroll animation hooks (used with data-animate attributes)
   ───────────────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: no-preference) {
  [data-animate-item] {
    opacity: 0;
    transform: translateY(12px);
    transition:
      opacity var(--duration-slow) var(--ease-out-expo),
      transform var(--duration-slow) var(--ease-out-expo);
  }

  [data-animate-item].is-visible {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-animate-item] {
    opacity: 1;
    transform: none;
  }
}

/* ─────────────────────────────────────────────────────────────────────────────
   36. Hero floating badge entrance animations (mirrors React Framer Motion)
   delay: 0.5s / 0.65s, duration: 0.4s — opacity:0,x:±16 → opacity:1,x:0
   ───────────────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: no-preference) {
  .home-hero__badge-status {
    animation: hero-badge-enter-right 0.4s ease-out 0.5s both;
  }

  .home-hero__badge-agents {
    animation: hero-badge-enter-left 0.4s ease-out 0.65s both;
  }
}

@keyframes hero-badge-enter-right {
  from { opacity: 0; transform: translateX(1rem); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes hero-badge-enter-left {
  from { opacity: 0; transform: translateX(-1rem); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ─────────────────────────────────────────────────────────────────────────────
   37. Testimonials slide transition (mirrors React AnimatePresence y:12→0)
   Applied via JS .is-entering class on the newly-shown card.
   ───────────────────────────────────────────────────────────────────────────── */

@media (prefers-reduced-motion: no-preference) {
  .home-testimonials__card.is-entering {
    animation: testimonial-slide-in 0.35s ease-out both;
  }
}

@keyframes testimonial-slide-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ─────────────────────────────────────────────────────────────────────────────
   38. Shared Inner-Page styles + section-header component
   ───────────────────────────────────────────────────────────────────────────── */

/* ── Eyebrow badge (all inner pages) ── */
.eyebrow-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-brand-primary) 30%, transparent);
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-brand-primary);
}
.eyebrow-badge--mono { font-family: var(--font-mono, monospace); letter-spacing: 0; text-transform: none; }

/* ── Section header (centred eyebrow + headline + copy) ── */
.section-header { text-align: center; margin-bottom: 3rem; }
.section-header--left { text-align: left; }
.section-header__eyebrow { margin-bottom: 1rem; }
.section-header__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.section-header__copy { max-width: 64ch; margin: 0 auto; color: var(--color-text-secondary, rgba(255,255,255,0.7)); font-size: 1.0625rem; line-height: 1.65; }
.section-header--left .section-header__copy { margin: 0; }

/* ── Shared hero bg ── */
.industries-hero__bg, .resources-hero__bg, .company-hero__bg, .contact-hero__bg,
.trust-hero__bg, .developers-hero__bg, .legal-hero__bg, .blog-hero__bg {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0;
}
.industries-hero, .resources-hero, .company-hero, .contact-hero,
.trust-hero, .developers-hero, .legal-hero {
  position: relative; overflow: hidden;
  padding: 6rem 0 4rem;
}
.blog-hero { position: relative; overflow: hidden; padding: 4rem 0 2.5rem; }
.industries-hero__bg-grid, .resources-hero__bg-grid, .company-hero__bg-grid,
.contact-hero__bg-grid, .trust-hero__bg-grid, .developers-hero__bg-grid,
.legal-hero__bg-grid, .blog-hero__bg-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px);
  background-size: 48px 48px;
}
.industries-hero__bg-glow, .resources-hero__bg-glow, .company-hero__bg-glow,
.contact-hero__bg-glow, .trust-hero__bg-glow, .developers-hero__bg-glow {
  position: absolute; top: -30%; left: 50%; transform: translateX(-50%);
  width: 700px; height: 500px; border-radius: 50%;
  background: radial-gradient(ellipse, color-mix(in srgb, var(--color-brand-primary) 20%, transparent) 0%, transparent 70%);
  filter: blur(60px);
}

/* ── Inner hero shared layout ── */
.industries-hero__inner, .resources-hero__inner, .company-hero__inner,
.contact-hero__inner, .trust-hero__inner, .developers-hero__inner,
.legal-hero__inner, .blog-hero__inner {
  position: relative; z-index: 1; max-width: 860px; margin: 0 auto; text-align: center;
}
.industries-hero__eyebrow, .resources-hero__eyebrow, .company-hero__eyebrow,
.contact-hero__eyebrow, .trust-hero__eyebrow, .developers-hero__eyebrow,
.legal-hero__eyebrow, .blog-hero__eyebrow { margin-bottom: 1.25rem; }
.industries-hero__headline, .resources-hero__headline, .company-hero__headline,
.contact-hero__headline, .trust-hero__headline, .developers-hero__headline,
.legal-hero__headline, .blog-hero__headline {
  font-size: clamp(2rem, 5vw, 3.25rem); font-weight: 800; letter-spacing: -0.03em;
  line-height: 1.1; margin-bottom: 1.25rem; color: var(--color-text-primary, #fff);
}
.industries-hero__subline, .resources-hero__subline, .company-hero__subline,
.contact-hero__subline, .trust-hero__subline, .developers-hero__subline {
  font-size: 1.125rem; line-height: 1.65; max-width: 60ch; margin: 0 auto 2rem;
  color: var(--color-text-secondary, rgba(255,255,255,0.75));
}
.industries-hero__actions, .resources-hero__actions, .company-hero__actions,
.contact-hero__actions, .trust-hero__actions, .developers-hero__actions {
  display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-bottom: 2rem;
}

/* ── Page section shared padding ── */
.industries-overview, .industries-grid, .industries-spotlight, .industries-key-caps,
.industries-metrics, .industries-journey,
.trust-philosophy, .trust-platform-security, .trust-privacy, .trust-compliance,
.trust-infrastructure, .trust-responsible-ai, .trust-incident, .trust-metrics,
.developers-why-build, .developers-platform, .developers-sdks, .developers-architecture,
.developers-code-examples, .developers-workflow, .developers-tools, .developers-docs-preview,
.resources-categories, .resources-featured, .resources-docs-hub, .resources-learning-paths,
.resources-case-studies, .resources-download-center, .resources-community, .resources-newsletter,
.company-who-we-are, .company-our-story, .company-mission-vision, .company-core-values,
.company-innovation, .company-leadership, .company-global-impact, .company-future-roadmap,
.contact-choose-path, .contact-methods, .contact-office, .contact-enterprise, .contact-support,
.legal-documents, .blog-filter, .blog-featured, .blog-grid, .blog-newsletter {
  padding: 5rem 0;
}

/* ─────────────────────────────────────────────────────────────────────────────
   39. Products page
   ───────────────────────────────────────────────────────────────────────────── */

/* ── Products Hero ── */
.products-hero { position: relative; overflow: hidden; padding: 6rem 0 4rem; }
.products-hero__bg { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.products-hero__bg-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.03) 1px,transparent 1px); background-size: 48px 48px; }
.products-hero__bg-glow { position: absolute; top: -20%; left: 50%; transform: translateX(-50%); width: 800px; height: 600px; border-radius: 50%; background: radial-gradient(ellipse, color-mix(in srgb, var(--color-brand-primary) 18%, transparent) 0%, transparent 70%); filter: blur(60px); }
.products-hero__inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; text-align: center; }
.products-hero__eyebrow { margin-bottom: 1.25rem; }
.products-hero__headline { font-size: clamp(2.25rem, 5.5vw, 3.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 1.25rem; color: var(--color-text-primary, #fff); }
.products-hero__subline { font-size: 1.125rem; line-height: 1.65; max-width: 60ch; margin: 0 auto 2rem; color: var(--color-text-secondary, rgba(255,255,255,0.75)); }
.products-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-bottom: 2rem; }
.products-hero__pills { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; margin-bottom: 1.5rem; }
.products-hero__pill { padding: 0.3125rem 0.875rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 9999px; font-size: 0.8125rem; color: rgba(255,255,255,0.8); }
.products-hero__trust-bar { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; }
.products-hero__trust-item { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.6); }

/* ── Products Key Capabilities grid ── */
.products-key-caps { padding: 5rem 0; }
.products-key-caps__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.products-key-caps__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; transition: border-color 0.2s, background 0.2s; }
.products-key-caps__card:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 40%, transparent); background: rgba(255,255,255,0.06); }
.products-key-caps__icon { width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; color: var(--color-brand-primary); display: flex; align-items: center; justify-content: center; }
.products-key-caps__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.products-key-caps__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

/* ── Products Roadmap ── */
.products-roadmap { padding: 5rem 0; }
.products-roadmap__phases { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.products-roadmap__phase { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.products-roadmap__phase--current { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); background: color-mix(in srgb, var(--color-brand-primary) 6%, transparent); }
.products-roadmap__phase-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.products-roadmap__period { font-size: 0.8125rem; font-weight: 600; color: var(--color-brand-primary); }
.products-roadmap__badge { font-size: 0.6875rem; font-weight: 600; padding: 0.125rem 0.5rem; background: color-mix(in srgb, var(--color-brand-primary) 20%, transparent); border-radius: 9999px; color: var(--color-brand-primary); }
.products-roadmap__phase-title { font-size: 1rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--color-text-primary, #fff); }
.products-roadmap__items { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.products-roadmap__item { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; color: var(--color-text-secondary, rgba(255,255,255,0.7)); }

/* ─────────────────────────────────────────────────────────────────────────────
   40. Solutions page
   ───────────────────────────────────────────────────────────────────────────── */

.solutions-hero { position: relative; overflow: hidden; padding: 6rem 0 4rem; }
.solutions-hero__inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; text-align: center; }
.solutions-hero__headline { font-size: clamp(2.25rem, 5.5vw, 3.5rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; margin-bottom: 1.25rem; color: var(--color-text-primary, #fff); }
.solutions-hero__subline { font-size: 1.125rem; line-height: 1.65; max-width: 60ch; margin: 0 auto 2rem; color: var(--color-text-secondary, rgba(255,255,255,0.75)); }
.solutions-hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }

.solutions-challenges__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.solutions-challenges__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.solutions-challenges__icon { width: 2.5rem; height: 2.5rem; margin-bottom: 0.75rem; color: var(--color-brand-primary); }
.solutions-challenges__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.solutions-challenges__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 0.75rem; }
.solutions-challenges__badge { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 0.1875rem 0.625rem; background: rgba(239,68,68,0.15); border: 1px solid rgba(239,68,68,0.3); border-radius: 9999px; color: rgb(252,165,165); }

/* ── Solutions outcomes grid ── */
.solutions-outcomes__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.solutions-outcomes__card { text-align: center; padding: 2rem 1.5rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; }
.solutions-outcomes__value { display: block; font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; color: var(--color-brand-primary); margin-bottom: 0.25rem; }
.solutions-outcomes__label { display: block; font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.solutions-outcomes__sub { display: block; font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }

/* ─────────────────────────────────────────────────────────────────────────────
   41. Industries page
   ───────────────────────────────────────────────────────────────────────────── */

.industries-overview__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .industries-overview__grid { grid-template-columns: 1fr; gap: 2rem; } }
.industries-overview__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.industries-overview__copy { color: var(--color-text-secondary, rgba(255,255,255,0.75)); line-height: 1.7; margin-bottom: 1rem; }
.industries-overview__stat { margin-bottom: 1rem; }
.industries-overview__stat-value { display: block; font-size: 2rem; font-weight: 800; color: var(--color-brand-primary); }
.industries-overview__stat-label { font-size: 0.875rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.industries-overview__stats { display: flex; flex-direction: column; gap: 1.5rem; }

.industries-grid__list { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.industries-grid__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; transition: border-color 0.2s; }
.industries-grid__card:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); }
.industries-grid__icon { width: 2.5rem; height: 2.5rem; margin-bottom: 1rem; color: var(--color-brand-primary); }
.industries-grid__name { font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.625rem; color: var(--color-text-primary, #fff); }
.industries-grid__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1rem; }
.industries-grid__use-cases { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-direction: column; gap: 0.375rem; }
.industries-grid__use-case { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.7); }
.industries-grid__link { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; font-weight: 600; color: var(--color-brand-primary); text-decoration: none; margin-top: auto; }
.industries-grid__link:hover { gap: 0.625rem; }

.industries-metrics__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.industries-metrics__card { text-align: center; padding: 2rem 1.5rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; }
.industries-metrics__value { display: block; font-size: 2.25rem; font-weight: 800; letter-spacing: -0.03em; color: var(--color-brand-primary); margin-bottom: 0.25rem; }
.industries-metrics__label { display: block; font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.industries-metrics__sub { display: block; font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }

.industries-journey__timeline { list-style: none; padding: 0; margin: 3rem 0 0; display: flex; flex-direction: column; gap: 0; }
.industries-journey__step { display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; padding-bottom: 2rem; position: relative; }
.industries-journey__step:not(:last-child)::before { content: ''; position: absolute; left: 1.375rem; top: 2.5rem; bottom: 0; width: 2px; background: rgba(255,255,255,0.1); }
.industries-journey__step-num { width: 2.75rem; height: 2.75rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: color-mix(in srgb, var(--color-brand-primary) 15%, transparent); border: 2px solid color-mix(in srgb, var(--color-brand-primary) 40%, transparent); font-size: 0.75rem; font-weight: 700; color: var(--color-brand-primary); flex-shrink: 0; position: relative; z-index: 1; }
.industries-journey__step-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 0.5rem; }
.industries-journey__step-title { font-size: 1.0625rem; font-weight: 600; color: var(--color-text-primary, #fff); }
.industries-journey__step-duration { font-size: 0.8125rem; font-weight: 600; padding: 0.1875rem 0.625rem; background: rgba(255,255,255,0.07); border-radius: 9999px; color: rgba(255,255,255,0.7); white-space: nowrap; }
.industries-journey__step-desc { font-size: 0.9375rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

/* ─────────────────────────────────────────────────────────────────────────────
   42. Trust Center
   ───────────────────────────────────────────────────────────────────────────── */

.trust-hero__badges { display: flex; flex-wrap: wrap; gap: 0.625rem; justify-content: center; margin-top: 1.5rem; }
.trust-hero__badge { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; font-weight: 600; padding: 0.25rem 0.75rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 9999px; color: rgba(255,255,255,0.8); }

.trust-philosophy__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .trust-philosophy__grid { grid-template-columns: 1fr; gap: 2rem; } }
.trust-philosophy__eyebrow { margin-bottom: 1rem; }
.trust-philosophy__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.trust-philosophy__desc { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1rem; }
.trust-philosophy__stat { margin-top: 1.5rem; }
.trust-philosophy__stat-value { display: block; font-size: 1.75rem; font-weight: 800; color: var(--color-brand-primary); }
.trust-philosophy__stat-label { font-size: 0.875rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.trust-philosophy__principles { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.trust-philosophy__principle { display: flex; align-items: flex-start; gap: 1rem; }
.trust-philosophy__principle-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.trust-philosophy__principle-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.trust-philosophy__principle-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.trust-platform-security__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.trust-platform-security__pillar { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.trust-platform-security__icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); margin-bottom: 1rem; }
.trust-platform-security__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.trust-platform-security__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 0.75rem; }
.trust-platform-security__status { font-size: 0.75rem; font-weight: 600; padding: 0.1875rem 0.625rem; background: rgba(34,197,94,0.15); border-radius: 9999px; color: rgb(134,239,172); }

.trust-compliance__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.trust-compliance__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.trust-compliance__card-icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); margin-bottom: 0.75rem; }
.trust-compliance__card-name { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.trust-compliance__card-badge { display: inline-block; font-size: 0.75rem; font-weight: 600; padding: 0.1875rem 0.625rem; border-radius: 9999px; margin-bottom: 0.75rem; }
.trust-compliance__card-badge--compliant { background: rgba(34,197,94,0.15); color: rgb(134,239,172); }
.trust-compliance__card-badge--in-progress { background: rgba(234,179,8,0.15); color: rgb(253,224,71); }
.trust-compliance__card-badge--aligned,
.trust-compliance__card-badge--ready,
.trust-compliance__card-badge--available { background: rgba(99,102,241,0.15); color: rgb(165,180,252); }
.trust-compliance__card-note { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }
.trust-compliance__request { text-align: center; margin-top: 3rem; padding: 2rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; display: flex; align-items: center; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.trust-compliance__request p { color: var(--color-text-secondary, rgba(255,255,255,0.7)); }

.trust-metrics__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.trust-metrics__card { text-align: center; padding: 2rem 1.5rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; }
.trust-metrics__value { display: block; font-size: 2rem; font-weight: 800; color: var(--color-brand-primary); margin-bottom: 0.25rem; }
.trust-metrics__label { display: block; font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.trust-metrics__sub { display: block; font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }

.trust-responsible-ai__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.trust-responsible-ai__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.trust-responsible-ai__icon { width: 2.25rem; height: 2.25rem; color: var(--color-brand-primary); margin-bottom: 0.875rem; }
.trust-responsible-ai__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.trust-responsible-ai__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.trust-incident__phases { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.trust-incident__phase { display: flex; align-items: flex-start; gap: 1.25rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.trust-incident__phase-num { font-size: 2rem; font-weight: 800; color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); flex-shrink: 0; line-height: 1; }
.trust-incident__phase-title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.trust-incident__phase-desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.trust-infrastructure__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .trust-infrastructure__grid { grid-template-columns: 1fr; gap: 2rem; } }
.trust-infrastructure__eyebrow { margin-bottom: 1rem; }
.trust-infrastructure__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.trust-infrastructure__desc { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1.5rem; }
.trust-infrastructure__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.trust-infrastructure__metric-value { display: block; font-size: 1.5rem; font-weight: 800; color: var(--color-brand-primary); }
.trust-infrastructure__metric-label { display: block; font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.trust-infrastructure__features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.trust-infrastructure__feature { display: flex; align-items: flex-start; gap: 1rem; }
.trust-infrastructure__feature-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.trust-infrastructure__feature-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.trust-infrastructure__feature-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.trust-privacy__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .trust-privacy__grid { grid-template-columns: 1fr; gap: 2rem; } }
.trust-privacy__eyebrow { margin-bottom: 1rem; }
.trust-privacy__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.trust-privacy__desc { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1rem; }
.trust-privacy__principles { list-style: none; padding: 0; margin: 1.5rem 0 0; display: flex; flex-direction: column; gap: 1.25rem; }
.trust-privacy__principle { display: flex; align-items: flex-start; gap: 1rem; }
.trust-privacy__principle-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.trust-privacy__principle-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.trust-privacy__principle-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }
.trust-privacy__flow-title { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.trust-privacy__flow-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.trust-privacy__flow-item { display: flex; align-items: flex-start; gap: 1rem; }
.trust-privacy__flow-num { font-size: 0.75rem; font-weight: 700; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: color-mix(in srgb, var(--color-brand-primary) 15%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-primary) 35%, transparent); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--color-brand-primary); }

/* ─────────────────────────────────────────────────────────────────────────────
   43. Developers page
   ───────────────────────────────────────────────────────────────────────────── */

.developers-hero__terminal { position: absolute; right: -5%; top: 50%; transform: translateY(-50%); width: 440px; background: rgba(0,0,0,0.7); border: 1px solid rgba(255,255,255,0.1); border-radius: 0.75rem; overflow: hidden; backdrop-filter: blur(8px); }
@media (max-width: 1024px) { .developers-hero__terminal { display: none; } }
.developers-hero__terminal-bar { display: flex; align-items: center; gap: 0.375rem; padding: 0.625rem 0.875rem; background: rgba(255,255,255,0.05); border-bottom: 1px solid rgba(255,255,255,0.08); }
.developers-hero__terminal-dot { width: 0.625rem; height: 0.625rem; border-radius: 50%; }
.developers-hero__terminal-dot--red { background: #ff5f57; }
.developers-hero__terminal-dot--yellow { background: #ffbd2e; }
.developers-hero__terminal-dot--green { background: #28c840; }
.developers-hero__terminal-title { margin-left: auto; margin-right: auto; font-size: 0.75rem; color: rgba(255,255,255,0.5); font-family: var(--font-mono, monospace); }
.developers-hero__terminal-body { padding: 1.25rem; font-family: var(--font-mono, monospace); font-size: 0.8125rem; line-height: 1.7; color: rgba(255,255,255,0.85); white-space: pre-wrap; }
.syn-comment { color: rgba(255,255,255,0.35); }
.syn-keyword { color: #c792ea; }
.syn-name { color: #82aaff; }
.syn-string { color: #c3e88d; }

.developers-why-build__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.developers-why-build__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; transition: border-color 0.2s, background 0.2s; }
.developers-why-build__card:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 40%, transparent); background: rgba(255,255,255,0.06); }
.developers-why-build__icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); margin-bottom: 1rem; }
.developers-why-build__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.developers-why-build__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.developers-platform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .developers-platform__grid { grid-template-columns: 1fr; gap: 2rem; } }
.developers-platform__eyebrow { margin-bottom: 1rem; }
.developers-platform__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.developers-platform__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1.5rem; }
.developers-platform__features { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.developers-platform__feature { display: flex; align-items: flex-start; gap: 1rem; }
.developers-platform__feature-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.developers-platform__feature-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.developers-platform__feature-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.developers-sdks__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.developers-sdks__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.developers-sdks__card-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.developers-sdks__card-icon { color: var(--color-brand-primary); width: 1.75rem; height: 1.75rem; }
.developers-sdks__card-lang { font-size: 1rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.125rem; }
.developers-sdks__card-version { font-size: 0.75rem; color: var(--color-text-secondary, rgba(255,255,255,0.55)); font-family: var(--font-mono, monospace); }
.developers-sdks__card-status { margin-left: auto; font-size: 0.7rem; font-weight: 600; padding: 0.1875rem 0.5rem; background: rgba(99,102,241,0.2); border-radius: 9999px; color: rgb(165,180,252); white-space: nowrap; }
.developers-sdks__card-desc { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 1rem; }
.developers-sdks__card-install { display: flex; align-items: center; gap: 0.5rem; background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.1); border-radius: 0.5rem; padding: 0.625rem 0.875rem; }
.developers-sdks__card-command { font-family: var(--font-mono, monospace); font-size: 0.8125rem; color: rgba(255,255,255,0.9); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.developers-sdks__card-copy { padding: 0.25rem; opacity: 0.6; transition: opacity 0.15s; }
.developers-sdks__card-copy:hover { opacity: 1; }

.developers-architecture__diagram { margin-top: 3rem; display: flex; flex-direction: column; gap: 0; border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; overflow: hidden; }
.developers-architecture__layer { padding: 1.5rem 2rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
.developers-architecture__layer:last-child { border-bottom: none; }
.developers-architecture__layer--app { background: rgba(99,102,241,0.08); }
.developers-architecture__layer--api { background: rgba(var(--color-brand-primary-rgb, 99,102,241),0.12); }
.developers-architecture__layer--services { background: rgba(255,255,255,0.03); }
.developers-architecture__layer--infra { background: rgba(0,0,0,0.2); }
.developers-architecture__layer-label { display: block; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-bottom: 0.75rem; }
.developers-architecture__layer-items { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.developers-architecture__box { padding: 0.5rem 1rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 0.375rem; font-size: 0.875rem; color: rgba(255,255,255,0.85); white-space: nowrap; }
.developers-architecture__box--primary { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); color: var(--color-brand-primary); background: color-mix(in srgb, var(--color-brand-primary) 8%, transparent); }
.developers-architecture__connector { padding: 0.625rem 2rem; background: rgba(0,0,0,0.15); border-bottom: 1px solid rgba(255,255,255,0.05); }
.developers-architecture__connector span { font-size: 0.75rem; color: rgba(255,255,255,0.4); font-family: var(--font-mono, monospace); }

/* Dev Code Examples */
.developers-code-examples__window { border: 1px solid rgba(255,255,255,0.1); border-radius: 0.875rem; overflow: hidden; background: rgba(0,0,0,0.5); margin-top: 3rem; backdrop-filter: blur(8px); }
.dev-code__tabs { display: flex; align-items: center; gap: 0.125rem; padding: 0 1rem; background: rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.08); overflow-x: auto; }
.dev-code__tab { padding: 0.75rem 1rem; font-size: 0.8125rem; font-weight: 500; color: rgba(255,255,255,0.55); border: none; background: none; cursor: pointer; white-space: nowrap; border-bottom: 2px solid transparent; transition: color 0.15s, border-color 0.15s; }
.dev-code__tab:hover { color: rgba(255,255,255,0.85); }
.dev-code__tab.is-active { color: var(--color-brand-primary); border-bottom-color: var(--color-brand-primary); }
.dev-code__spacer { flex: 1; }
.dev-code__lang-badge { font-size: 0.7rem; font-weight: 600; padding: 0.125rem 0.5rem; background: rgba(255,255,255,0.08); border-radius: 9999px; color: rgba(255,255,255,0.5); white-space: nowrap; }
.dev-code__panel { }
.dev-code__panel-header { display: flex; align-items: center; justify-content: space-between; padding: 0.625rem 1.25rem; background: rgba(255,255,255,0.02); border-bottom: 1px solid rgba(255,255,255,0.06); }
.dev-code__filename { font-family: var(--font-mono, monospace); font-size: 0.75rem; color: rgba(255,255,255,0.45); }
.dev-code__copy { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: rgba(255,255,255,0.5); transition: color 0.15s; }
.dev-code__copy:hover { color: rgba(255,255,255,0.9); }
.dev-code__pre { margin: 0; padding: 1.5rem; overflow-x: auto; font-family: var(--font-mono, monospace); font-size: 0.8125rem; line-height: 1.7; color: rgba(255,255,255,0.9); }

/* Dev Workflow steps */
.developers-workflow__steps { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.5rem; }
.developers-workflow__step { display: flex; align-items: flex-start; gap: 1.25rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.developers-workflow__step-num { font-size: 2rem; font-weight: 800; color: color-mix(in srgb, var(--color-brand-primary) 40%, transparent); flex-shrink: 0; line-height: 1; }
.developers-workflow__step-icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); margin-bottom: 0.75rem; }
.developers-workflow__step-title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.developers-workflow__step-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 0.75rem; }
.developers-workflow__step-code { display: block; font-family: var(--font-mono, monospace); font-size: 0.75rem; background: rgba(0,0,0,0.4); border: 1px solid rgba(255,255,255,0.1); border-radius: 0.375rem; padding: 0.5rem 0.75rem; color: rgb(195,232,141); white-space: pre-wrap; }

.developers-tools__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.developers-tools__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.developers-tools__card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
.developers-tools__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.developers-tools__badge { font-size: 0.7rem; font-weight: 600; padding: 0.1875rem 0.5rem; background: rgba(99,102,241,0.15); border-radius: 9999px; color: rgb(165,180,252); }
.developers-tools__name { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.developers-tools__desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 0.75rem; }
.developers-tools__detail { font-family: var(--font-mono, monospace); font-size: 0.75rem; color: rgba(255,255,255,0.45); }

.developers-docs-preview__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .developers-docs-preview__grid { grid-template-columns: 1fr; gap: 2rem; } }
.developers-docs-preview__eyebrow { margin-bottom: 1rem; }
.developers-docs-preview__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.developers-docs-preview__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1.5rem; }
.developers-docs-preview__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.developers-docs-preview__sections { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; }
.developers-docs-preview__section { }
.developers-docs-preview__section-link { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 1.25rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; text-decoration: none; transition: border-color 0.15s, background 0.15s; }
.developers-docs-preview__section-link:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); background: rgba(255,255,255,0.06); }
.developers-docs-preview__section-icon { width: 1.75rem; height: 1.75rem; color: var(--color-brand-primary); flex-shrink: 0; }
.developers-docs-preview__section-body { flex: 1; }
.developers-docs-preview__section-title { font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.developers-docs-preview__section-desc { font-size: 0.8125rem; line-height: 1.55; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.developers-docs-preview__section-label { font-size: 0.7rem; font-weight: 600; padding: 0.125rem 0.5rem; background: rgba(255,255,255,0.07); border-radius: 9999px; color: rgba(255,255,255,0.55); white-space: nowrap; align-self: flex-start; }

/* ─────────────────────────────────────────────────────────────────────────────
   44. Resources page
   ───────────────────────────────────────────────────────────────────────────── */

.resources-hero__stats { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: 1.5rem; }
.resources-hero__stat { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.7); }

.resources-categories__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-categories__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; overflow: hidden; transition: border-color 0.2s; }
.resources-categories__card:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); }
.resources-categories__card-link { display: flex; align-items: center; gap: 1rem; padding: 1.5rem; text-decoration: none; }
.resources-categories__icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); flex-shrink: 0; }
.resources-categories__card-body { flex: 1; }
.resources-categories__name { font-size: 1rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.resources-categories__desc { font-size: 0.8125rem; line-height: 1.55; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.resources-categories__count { font-size: 0.75rem; font-weight: 600; padding: 0.1875rem 0.625rem; background: rgba(255,255,255,0.08); border-radius: 9999px; color: rgba(255,255,255,0.7); white-space: nowrap; align-self: flex-start; }

.resources-featured__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-featured__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.resources-featured__card-type { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.resources-featured__card-icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.resources-featured__type-label { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); }
.resources-featured__title { font-size: 1.0625rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.75rem; flex: 1; }
.resources-featured__title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.resources-featured__title a:hover { color: var(--color-brand-primary); }
.resources-featured__desc { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 1.25rem; flex: 1; }
.resources-featured__card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.resources-featured__read-time { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.5); }
.resources-featured__read-link { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; font-weight: 600; color: var(--color-brand-primary); text-decoration: none; }

.resources-docs-hub__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .resources-docs-hub__grid { grid-template-columns: 1fr; gap: 2rem; } }
.resources-docs-hub__eyebrow { margin-bottom: 1rem; }
.resources-docs-hub__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.resources-docs-hub__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1.5rem; }
.resources-docs-hub__sections { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.resources-docs-hub__section-link { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; text-decoration: none; transition: border-color 0.15s; }
.resources-docs-hub__section-link:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); }
.resources-docs-hub__section-icon { width: 1.75rem; height: 1.75rem; color: var(--color-brand-primary); flex-shrink: 0; }
.resources-docs-hub__section-body { flex: 1; }
.resources-docs-hub__section-title { font-size: 0.9375rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.125rem; }
.resources-docs-hub__section-desc { font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.resources-docs-hub__section-label { font-size: 0.7rem; font-weight: 600; padding: 0.125rem 0.5rem; background: rgba(255,255,255,0.07); border-radius: 9999px; color: rgba(255,255,255,0.55); white-space: nowrap; }

.resources-learning-paths__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-learning-paths__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.resources-learning-paths__card-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.resources-learning-paths__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.resources-learning-paths__audience { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); }
.resources-learning-paths__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.resources-learning-paths__desc { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1rem; }
.resources-learning-paths__meta { display: flex; gap: 1rem; margin-bottom: 1.25rem; }
.resources-learning-paths__duration,
.resources-learning-paths__modules { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.6); }
.resources-learning-paths__cta { margin-top: auto; }

.resources-case-studies__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-case-studies__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.resources-case-studies__card-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.resources-case-studies__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.resources-case-studies__industry { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); }
.resources-case-studies__title { font-size: 1rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.625rem; color: var(--color-text-primary, #fff); }
.resources-case-studies__desc { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1rem; }
.resources-case-studies__results { list-style: none; padding: 0; margin: 0 0 1.25rem; display: flex; flex-direction: column; gap: 0.375rem; }
.resources-case-studies__result { display: flex; align-items: flex-start; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.75); }
.resources-case-studies__read-link { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; font-weight: 600; color: var(--color-brand-primary); text-decoration: none; margin-top: auto; }

.resources-download-center__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-download-center__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.resources-download-center__card-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.resources-download-center__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.resources-download-center__type { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); }
.resources-download-center__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.resources-download-center__desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1rem; }
.resources-download-center__card-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; }
.resources-download-center__meta { font-size: 0.75rem; color: rgba(255,255,255,0.4); }

.resources-community__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.resources-community__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.resources-community__card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
.resources-community__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); }
.resources-community__stat { font-size: 0.7rem; font-weight: 600; padding: 0.125rem 0.5rem; background: rgba(255,255,255,0.07); border-radius: 9999px; color: rgba(255,255,255,0.6); }
.resources-community__name { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.resources-community__desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1.25rem; }

.resources-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1.25rem; padding: 3rem; }
@media (max-width: 768px) { .resources-newsletter__inner { grid-template-columns: 1fr; gap: 2rem; padding: 2rem; } }
.resources-newsletter__eyebrow { margin-bottom: 0.75rem; }
.resources-newsletter__headline { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 700; margin-bottom: 0.875rem; color: var(--color-text-primary, #fff); }
.resources-newsletter__copy { font-size: 0.9375rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1rem; }
.resources-newsletter__types { list-style: none; padding: 0; margin: 0 0 1rem; display: flex; flex-direction: column; gap: 0.375rem; }
.resources-newsletter__type { display: flex; align-items: center; gap: 0.375rem; font-size: 0.875rem; color: rgba(255,255,255,0.75); }
.resources-newsletter__frequency { display: flex; align-items: center; gap: 0.375rem; font-size: 0.8125rem; color: rgba(255,255,255,0.5); }
.resources-newsletter__label { display: block; font-size: 0.875rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.5rem; }
.resources-newsletter__input-row { display: flex; gap: 0.75rem; margin-bottom: 0.75rem; }
@media (max-width: 480px) { .resources-newsletter__input-row { flex-direction: column; } }
.resources-newsletter__input { flex: 1; padding: 0.75rem 1rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 0.5rem; color: #fff; font-size: 0.9375rem; transition: border-color 0.15s; }
.resources-newsletter__input::placeholder { color: rgba(255,255,255,0.35); }
.resources-newsletter__input:focus { outline: none; border-color: var(--color-brand-primary); }
.resources-newsletter__legal { font-size: 0.75rem; color: rgba(255,255,255,0.4); }
.resources-newsletter__legal a { color: rgba(255,255,255,0.6); }

/* ─────────────────────────────────────────────────────────────────────────────
   45. Company page
   ───────────────────────────────────────────────────────────────────────────── */

.company-who-we-are__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .company-who-we-are__grid { grid-template-columns: 1fr; gap: 2rem; } }
.company-who-we-are__eyebrow { margin-bottom: 1rem; }
.company-who-we-are__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.company-who-we-are__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1rem; }
.company-who-we-are__stats { display: flex; gap: 2rem; margin-top: 1.5rem; flex-wrap: wrap; }
.company-who-we-are__stat-value { display: block; font-size: 1.75rem; font-weight: 800; color: var(--color-brand-primary); }
.company-who-we-are__stat-label { font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.company-who-we-are__attributes { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.25rem; }
.company-who-we-are__attribute { display: flex; align-items: flex-start; gap: 1rem; }
.company-who-we-are__attr-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.company-who-we-are__attr-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.company-who-we-are__attr-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-our-story__timeline { list-style: none; padding: 0; margin: 3rem 0 0; display: flex; flex-direction: column; gap: 0; }
.company-our-story__milestone { display: grid; grid-template-columns: 5rem 1fr; gap: 1.5rem; padding-bottom: 2rem; position: relative; }
.company-our-story__milestone:not(:last-child)::before { content: ''; position: absolute; left: 2.375rem; top: 2rem; bottom: 0; width: 2px; background: rgba(255,255,255,0.08); }
.company-our-story__year { font-size: 1.25rem; font-weight: 800; color: var(--color-brand-primary); position: relative; z-index: 1; }
.company-our-story__milestone-title { font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.company-our-story__milestone-desc { font-size: 0.9375rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-mission-vision__eyebrow { margin-bottom: 2rem; }
.company-mission-vision__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2rem; }
@media (max-width: 640px) { .company-mission-vision__grid { grid-template-columns: 1fr; } }
.company-mission-vision__block { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 2rem; }
.company-mission-vision__block-icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); margin-bottom: 1rem; }
.company-mission-vision__label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--color-brand-primary); margin-bottom: 0.75rem; }
.company-mission-vision__text { font-size: 1.125rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.8)); font-style: italic; }
.company-mission-vision__north-stars { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 2rem; }
.company-mission-vision__north-stars-title { font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }
.company-mission-vision__north-stars-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 0.75rem; }
.company-mission-vision__north-star { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.9375rem; color: var(--color-text-secondary, rgba(255,255,255,0.8)); }

.company-core-values__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.company-core-values__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.company-core-values__icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); margin-bottom: 1rem; }
.company-core-values__title { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.company-core-values__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-innovation__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .company-innovation__grid { grid-template-columns: 1fr; gap: 2rem; } }
.company-innovation__eyebrow { margin-bottom: 1rem; }
.company-innovation__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.company-innovation__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); }
.company-innovation__pillars { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1.5rem; }
.company-innovation__pillar { display: flex; align-items: flex-start; gap: 1rem; }
.company-innovation__pillar-icon { width: 2.25rem; height: 2.25rem; display: flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.5rem; flex-shrink: 0; color: var(--color-brand-primary); }
.company-innovation__pillar-title { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.company-innovation__pillar-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-leadership__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.company-leadership__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.company-leadership__avatar { width: 3.5rem; height: 3.5rem; border-radius: 50%; background: color-mix(in srgb, var(--color-brand-primary) 15%, transparent); border: 2px solid color-mix(in srgb, var(--color-brand-primary) 30%, transparent); display: flex; align-items: center; justify-content: center; color: var(--color-brand-primary); margin-bottom: 1rem; overflow: hidden; }
.company-leadership__photo { width: 100%; height: 100%; object-fit: cover; }
.company-leadership__name { font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.company-leadership__title { font-size: 0.8125rem; font-weight: 600; color: var(--color-brand-primary); margin-bottom: 0.625rem; }
.company-leadership__bio { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-global-impact__stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-top: 2rem; margin-bottom: 3rem; }
@media (max-width: 640px) { .company-global-impact__stats { grid-template-columns: repeat(2, 1fr); } }
.company-global-impact__stat { text-align: center; }
.company-global-impact__stat-value { display: block; font-size: 2rem; font-weight: 800; color: var(--color-brand-primary); margin-bottom: 0.25rem; }
.company-global-impact__stat-label { font-size: 0.8125rem; color: var(--color-text-secondary, rgba(255,255,255,0.6)); }
.company-global-impact__regions { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; }
.company-global-impact__region { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.company-global-impact__region-icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); margin-bottom: 0.75rem; }
.company-global-impact__region-name { font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.25rem; color: var(--color-text-primary, #fff); }
.company-global-impact__region-cities { font-size: 0.8125rem; color: var(--color-brand-primary); margin-bottom: 0.75rem; font-weight: 600; }
.company-global-impact__region-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.company-future-roadmap__phases { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.company-future-roadmap__phase { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.company-future-roadmap__phase--current { border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); background: color-mix(in srgb, var(--color-brand-primary) 6%, transparent); }
.company-future-roadmap__phase-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.company-future-roadmap__period { font-size: 0.8125rem; font-weight: 700; color: var(--color-brand-primary); }
.company-future-roadmap__badge { font-size: 0.6875rem; font-weight: 600; padding: 0.125rem 0.5rem; background: color-mix(in srgb, var(--color-brand-primary) 20%, transparent); border-radius: 9999px; color: var(--color-brand-primary); }
.company-future-roadmap__phase-title { font-size: 1rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--color-text-primary, #fff); }
.company-future-roadmap__items { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.company-future-roadmap__item { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.875rem; color: var(--color-text-secondary, rgba(255,255,255,0.7)); }

/* ─────────────────────────────────────────────────────────────────────────────
   46. Contact page
   ───────────────────────────────────────────────────────────────────────────── */

.contact-hero__response-times { list-style: none; padding: 0; margin: 1.5rem auto 0; max-width: 560px; text-align: left; display: flex; flex-direction: column; gap: 0.5rem; }
.contact-hero__response-item { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(255,255,255,0.75); }

.contact-choose-path__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.contact-choose-path__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; gap: 0.75rem; }
.contact-choose-path__icon { width: 2.5rem; height: 2.5rem; color: var(--color-brand-primary); }
.contact-choose-path__title { font-size: 1.0625rem; font-weight: 600; color: var(--color-text-primary, #fff); }
.contact-choose-path__desc { font-size: 0.9375rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; }
.contact-choose-path__badge { font-size: 0.75rem; font-weight: 600; padding: 0.1875rem 0.625rem; background: rgba(255,255,255,0.07); border-radius: 9999px; color: rgba(255,255,255,0.6); align-self: flex-start; }

.contact-methods__grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 4rem; align-items: start; }
@media (max-width: 900px) { .contact-methods__grid { grid-template-columns: 1fr; gap: 2rem; } }
.contact-methods__eyebrow { margin-bottom: 1rem; }
.contact-methods__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1.5rem; color: var(--color-text-primary, #fff); }
.contact-methods__form { display: flex; flex-direction: column; gap: 1rem; }
.contact-methods__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .contact-methods__row { grid-template-columns: 1fr; } }
.contact-methods__field { display: flex; flex-direction: column; gap: 0.375rem; }
.contact-methods__field label { font-size: 0.875rem; font-weight: 600; color: var(--color-text-primary, #fff); }
.contact-methods__field input,
.contact-methods__field select,
.contact-methods__field textarea { background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 0.5rem; padding: 0.75rem 1rem; color: #fff; font-size: 0.9375rem; transition: border-color 0.15s; width: 100%; }
.contact-methods__field input::placeholder,
.contact-methods__field textarea::placeholder { color: rgba(255,255,255,0.35); }
.contact-methods__field input:focus,
.contact-methods__field select:focus,
.contact-methods__field textarea:focus { outline: none; border-color: var(--color-brand-primary); }
.contact-methods__field select option { background: #1a1a2e; color: #fff; }
.contact-methods__field--checkbox label { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; color: rgba(255,255,255,0.7); font-weight: 400; cursor: pointer; }
.contact-methods__field--checkbox input { width: auto; flex-shrink: 0; margin-top: 0.125rem; }
.contact-methods__submit { width: 100%; margin-top: 0.5rem; }
.contact-methods__status { padding: 0.75rem 1rem; border-radius: 0.5rem; font-size: 0.875rem; }
.contact-methods__info-col { position: sticky; top: 2rem; }
.contact-methods__response-info { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; margin-bottom: 1.5rem; }
.contact-methods__info-title { font-size: 1rem; font-weight: 600; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.contact-methods__next-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.875rem; counter-reset: step; }
.contact-methods__next-steps li { counter-increment: step; padding-left: 2rem; position: relative; font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.75)); }
.contact-methods__next-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 1.375rem; height: 1.375rem; border-radius: 50%; background: color-mix(in srgb, var(--color-brand-primary) 15%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-primary) 35%, transparent); font-size: 0.6875rem; font-weight: 700; color: var(--color-brand-primary); display: flex; align-items: center; justify-content: center; }
.contact-methods__privacy-note { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.8125rem; color: rgba(255,255,255,0.5); }

.contact-office__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; margin-top: 3rem; }
.contact-office__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; }
.contact-office__icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); margin-bottom: 0.75rem; }
.contact-office__city-wrap { margin-bottom: 0.75rem; }
.contact-office__city { font-size: 1.125rem; font-weight: 600; color: var(--color-text-primary, #fff); }
.contact-office__region { display: block; font-size: 0.8125rem; font-weight: 600; color: var(--color-brand-primary); }
.contact-office__address { font-style: normal; font-size: 0.875rem; line-height: 1.6; color: rgba(255,255,255,0.65); margin-bottom: 0.625rem; display: block; }
.contact-office__email { font-size: 0.875rem; color: var(--color-brand-primary); text-decoration: none; }
.contact-office__email:hover { text-decoration: underline; }

.contact-enterprise__grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 4rem; align-items: start; }
@media (max-width: 768px) { .contact-enterprise__grid { grid-template-columns: 1fr; gap: 2rem; } }
.contact-enterprise__eyebrow { margin-bottom: 1rem; }
.contact-enterprise__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.contact-enterprise__copy { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 1.5rem; }
.contact-enterprise__steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.contact-enterprise__step { display: flex; align-items: flex-start; gap: 1.25rem; padding-bottom: 1.75rem; position: relative; }
.contact-enterprise__step:not(:last-child)::before { content: ''; position: absolute; left: 1.25rem; top: 2.5rem; bottom: 0; width: 2px; background: rgba(255,255,255,0.08); }
.contact-enterprise__step-num { width: 2.5rem; height: 2.5rem; border-radius: 50%; background: color-mix(in srgb, var(--color-brand-primary) 15%, transparent); border: 2px solid color-mix(in srgb, var(--color-brand-primary) 40%, transparent); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; color: var(--color-brand-primary); flex-shrink: 0; position: relative; z-index: 1; }
.contact-enterprise__step-title { font-size: 1rem; font-weight: 600; margin-bottom: 0.375rem; color: var(--color-text-primary, #fff); }
.contact-enterprise__step-desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }

.contact-support__tiers { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; }
.contact-support__tier { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; padding: 1.75rem; display: flex; flex-direction: column; }
.contact-support__tier--plus { border-color: color-mix(in srgb, var(--color-brand-primary) 40%, transparent); background: color-mix(in srgb, var(--color-brand-primary) 5%, transparent); }
.contact-support__tier--critical { border-color: rgba(234,179,8,0.4); background: rgba(234,179,8,0.04); }
.contact-support__tier-header { margin-bottom: 1rem; }
.contact-support__tier-name { font-size: 1.125rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.25rem; }
.contact-support__tier-sla { font-size: 0.8125rem; font-weight: 700; color: var(--color-brand-primary); }
.contact-support__tier-items { list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.contact-support__tier-item { display: flex; align-items: flex-start; gap: 0.375rem; font-size: 0.875rem; color: var(--color-text-secondary, rgba(255,255,255,0.7)); }
.contact-support__tier-cta { margin-top: auto; }

/* ─────────────────────────────────────────────────────────────────────────────
   47. Blog
   ───────────────────────────────────────────────────────────────────────────── */

.blog-hero__subline { font-size: 1.0625rem; line-height: 1.65; max-width: 56ch; margin: 0 auto; color: var(--color-text-secondary, rgba(255,255,255,0.75)); }

.blog-filter { padding: 0; border-bottom: 1px solid rgba(255,255,255,0.08); position: sticky; top: 0; z-index: 10; background: var(--color-bg-primary, #0a0a0f); backdrop-filter: blur(8px); }
.blog-filter__inner { display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.blog-filter__inner::-webkit-scrollbar { display: none; }
.blog-filter__tab { padding: 1rem 1.25rem; font-size: 0.875rem; font-weight: 500; color: rgba(255,255,255,0.55); border: none; background: none; cursor: pointer; white-space: nowrap; border-bottom: 2px solid transparent; transition: color 0.15s, border-color 0.15s; }
.blog-filter__tab:hover { color: rgba(255,255,255,0.85); }
.blog-filter__tab.is-active { color: var(--color-brand-primary); border-bottom-color: var(--color-brand-primary); }

.blog-featured__card { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1.25rem; overflow: hidden; }
@media (max-width: 768px) { .blog-featured__card { grid-template-columns: 1fr; } }
.blog-featured__image { overflow: hidden; max-height: 360px; }
.blog-featured__image img { width: 100%; height: 100%; object-fit: cover; }
.blog-featured__body { padding: 2.5rem; display: flex; flex-direction: column; gap: 0.75rem; }
.blog-featured__cat { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); }
.blog-featured__title { font-size: clamp(1.25rem, 3vw, 1.875rem); font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; }
.blog-featured__title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.blog-featured__title a:hover { color: var(--color-brand-primary); }
.blog-featured__excerpt { font-size: 0.9375rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.7)); flex: 1; }
.blog-featured__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.8125rem; color: rgba(255,255,255,0.5); }
.blog-featured__sep { color: rgba(255,255,255,0.25); }

.blog-grid__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; }
.blog-grid__card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; overflow: hidden; display: flex; flex-direction: column; transition: border-color 0.2s; }
.blog-grid__card:hover { border-color: color-mix(in srgb, var(--color-brand-primary) 40%, transparent); }
.blog-grid__card-image { display: block; overflow: hidden; aspect-ratio: 16/9; }
.blog-grid__card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.35s ease; }
.blog-grid__card:hover .blog-grid__card-image img { transform: scale(1.04); }
.blog-grid__card-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.blog-grid__cat { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); margin-bottom: 0.5rem; }
.blog-grid__title { font-size: 1rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.5rem; }
.blog-grid__title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.blog-grid__title a:hover { color: var(--color-brand-primary); }
.blog-grid__excerpt { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); flex: 1; margin-bottom: 1rem; }
.blog-grid__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; font-size: 0.75rem; color: rgba(255,255,255,0.45); margin-top: auto; }
.blog-grid__sep { color: rgba(255,255,255,0.2); }
.blog-grid.is-loading { opacity: 0.5; pointer-events: none; }

.blog-pagination { padding: 2rem 0; }
.blog-pagination .page-numbers { list-style: none; padding: 0; margin: 0; display: flex; justify-content: center; gap: 0.5rem; flex-wrap: wrap; }
.blog-pagination .page-numbers li a,
.blog-pagination .page-numbers li span { display: flex; align-items: center; justify-content: center; min-width: 2.25rem; height: 2.25rem; padding: 0 0.75rem; border-radius: 0.5rem; font-size: 0.875rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: rgba(255,255,255,0.75); text-decoration: none; transition: background 0.15s, border-color 0.15s; }
.blog-pagination .page-numbers li .current { background: color-mix(in srgb, var(--color-brand-primary) 20%, transparent); border-color: color-mix(in srgb, var(--color-brand-primary) 50%, transparent); color: var(--color-brand-primary); }
.blog-pagination .page-numbers li a:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }

/* Blog single post */
.blog-post-header { padding: 4rem 0 0; }
.blog-post-header__breadcrumb ol { list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.8125rem; color: rgba(255,255,255,0.45); }
.blog-post-header__breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
.blog-post-header__breadcrumb a:hover { color: var(--color-brand-primary); }
.blog-post-header__inner { max-width: 780px; }
.blog-post-header__cat { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); display: block; margin-bottom: 0.75rem; }
.blog-post-header__title { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.03em; margin-bottom: 1.25rem; color: var(--color-text-primary, #fff); }
.blog-post-header__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-bottom: 2.5rem; }
.blog-post-header__sep { color: rgba(255,255,255,0.25); }
.blog-post-header__hero-image { margin-bottom: 2rem; }
.blog-post-header__img { width: 100%; border-radius: 1rem; display: block; }

.blog-post-body { display: grid; grid-template-columns: 1fr 280px; gap: 4rem; align-items: start; padding: 3rem 0; }
@media (max-width: 1024px) { .blog-post-body { grid-template-columns: 1fr; } .blog-post-sidebar { display: none; } }
.blog-post-body__article { min-width: 0; }
.blog-post-body__article.entry-content h2 { font-size: 1.5rem; font-weight: 700; margin: 2.5rem 0 1rem; color: var(--color-text-primary, #fff); }
.blog-post-body__article.entry-content h3 { font-size: 1.25rem; font-weight: 600; margin: 2rem 0 0.75rem; color: var(--color-text-primary, #fff); }
.blog-post-body__article.entry-content p { margin-bottom: 1.25rem; line-height: 1.75; color: var(--color-text-secondary, rgba(255,255,255,0.8)); }
.blog-post-body__article.entry-content a { color: var(--color-brand-primary); }
.blog-post-body__article.entry-content ul, .blog-post-body__article.entry-content ol { margin-bottom: 1.25rem; padding-left: 1.5rem; color: var(--color-text-secondary, rgba(255,255,255,0.8)); }
.blog-post-body__article.entry-content li { margin-bottom: 0.5rem; line-height: 1.65; }
.blog-post-body__article.entry-content blockquote { border-left: 3px solid var(--color-brand-primary); padding: 0.75rem 1.5rem; margin: 2rem 0; background: rgba(255,255,255,0.04); border-radius: 0 0.5rem 0.5rem 0; }
.blog-post-body__article.entry-content pre { background: rgba(0,0,0,0.5); border: 1px solid rgba(255,255,255,0.1); border-radius: 0.5rem; padding: 1.25rem; overflow-x: auto; margin-bottom: 1.25rem; }
.blog-post-body__article.entry-content code { font-family: var(--font-mono, monospace); font-size: 0.875em; background: rgba(255,255,255,0.08); padding: 0.125em 0.375em; border-radius: 0.25rem; }

.blog-post-sidebar { position: sticky; top: 5rem; display: flex; flex-direction: column; gap: 1.5rem; }
.blog-post-sidebar__heading, .blog-post-sidebar__share-heading { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.4); margin-bottom: 0.75rem; }
.blog-post-sidebar__toc { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; padding: 1.25rem; }
.blog-post-sidebar__toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.25rem; }
.legal-doc-toc__link, .blog-post-sidebar__toc-list a { display: block; font-size: 0.8125rem; color: rgba(255,255,255,0.6); text-decoration: none; padding: 0.25rem 0; transition: color 0.15s; }
.legal-doc-toc__link:hover, .blog-post-sidebar__toc-list a:hover { color: var(--color-text-primary, #fff); }
.legal-doc-toc__link.is-active, .blog-post-sidebar__toc-list a.is-active { color: var(--color-brand-primary); }
.legal-doc-toc__link--sub { padding-left: 0.875rem; font-size: 0.75rem; }
.blog-post-sidebar__share { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; padding: 1.25rem; }
.blog-post-sidebar__share-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.blog-post-sidebar__share-link { display: block; font-size: 0.875rem; color: rgba(255,255,255,0.7); text-decoration: none; padding: 0.375rem 0; background: none; border: none; cursor: pointer; text-align: left; transition: color 0.15s; }
.blog-post-sidebar__share-link:hover { color: var(--color-brand-primary); }
.blog-post-sidebar__cta { background: color-mix(in srgb, var(--color-brand-primary) 8%, transparent); border: 1px solid color-mix(in srgb, var(--color-brand-primary) 25%, transparent); border-radius: 0.75rem; padding: 1.25rem; text-align: center; }
.blog-post-sidebar__cta-icon { width: 2rem; height: 2rem; color: var(--color-brand-primary); margin: 0 auto 0.625rem; }
.blog-post-sidebar__cta-text { font-size: 0.875rem; font-weight: 600; color: var(--color-text-primary, #fff); margin-bottom: 0.75rem; }

.blog-post-footer { padding: 3rem 0; border-top: 1px solid rgba(255,255,255,0.08); }
.blog-post-footer__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 3rem; }
.blog-post-footer__tags-label { font-size: 0.875rem; font-weight: 600; color: rgba(255,255,255,0.5); }
.blog-post-footer__tag { font-size: 0.75rem; font-weight: 500; padding: 0.25rem 0.75rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 9999px; color: rgba(255,255,255,0.7); text-decoration: none; }
.blog-post-footer__tag:hover { border-color: var(--color-brand-primary); color: var(--color-brand-primary); }
.blog-post-footer__related { margin-bottom: 3rem; }
.blog-post-footer__related-heading { font-size: 1.25rem; font-weight: 600; margin-bottom: 1.5rem; color: var(--color-text-primary, #fff); }
.blog-post-footer__related-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.5rem; }
.blog-post-footer__related-card { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; overflow: hidden; }
.blog-post-footer__related-image { display: block; overflow: hidden; aspect-ratio: 16/9; }
.blog-post-footer__related-image img { width: 100%; height: 100%; object-fit: cover; }
.blog-post-footer__related-body { padding: 1rem; }
.blog-post-footer__related-cat { font-size: 0.6875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-brand-primary); display: block; margin-bottom: 0.375rem; }
.blog-post-footer__related-title { font-size: 0.9375rem; font-weight: 600; line-height: 1.4; margin-bottom: 0.375rem; }
.blog-post-footer__related-title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.blog-post-footer__related-title a:hover { color: var(--color-brand-primary); }
.blog-post-footer__related-date { font-size: 0.75rem; color: rgba(255,255,255,0.45); }
.blog-post-footer__cta { text-align: center; padding: 3rem 2rem; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1rem; }
.blog-post-footer__cta-heading { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.5rem; color: var(--color-text-primary, #fff); }

.blog-newsletter__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 1.25rem; padding: 2.5rem; }
@media (max-width: 768px) { .blog-newsletter__inner { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.75rem; } }
.blog-newsletter__headline { font-size: 1.375rem; font-weight: 700; margin-bottom: 0.5rem; color: var(--color-text-primary, #fff); }
.blog-newsletter__copy { font-size: 0.9rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); }
.blog-newsletter__input-row { display: flex; gap: 0.75rem; margin-bottom: 0.625rem; }
@media (max-width: 480px) { .blog-newsletter__input-row { flex-direction: column; } }
.blog-newsletter__input { flex: 1; padding: 0.75rem 1rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.15); border-radius: 0.5rem; color: #fff; font-size: 0.9375rem; }
.blog-newsletter__input:focus { outline: none; border-color: var(--color-brand-primary); }
.blog-newsletter__legal { font-size: 0.75rem; color: rgba(255,255,255,0.4); }

/* ─────────────────────────────────────────────────────────────────────────────
   48. Legal pages
   ───────────────────────────────────────────────────────────────────────────── */

.legal-hero__subline { font-size: 1.0625rem; line-height: 1.65; max-width: 60ch; margin: 0 auto 1rem; color: var(--color-text-secondary, rgba(255,255,255,0.75)); }
.legal-hero__last-updated { font-size: 0.8125rem; color: rgba(255,255,255,0.4); }

.legal-documents { background: none; }
.legal-documents__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.legal-documents__card { display: flex; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.legal-documents__card:first-child { border-top: 1px solid rgba(255,255,255,0.08); }
.legal-documents__card-icon { width: 2.5rem; height: 2.5rem; flex-shrink: 0; color: var(--color-brand-primary); background: color-mix(in srgb, var(--color-brand-primary) 10%, transparent); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; }
.legal-documents__card-body { flex: 1; }
.legal-documents__title { font-size: 1.0625rem; font-weight: 600; margin-bottom: 0.25rem; }
.legal-documents__title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.legal-documents__title a:hover { color: var(--color-brand-primary); }
.legal-documents__desc { font-size: 0.875rem; line-height: 1.6; color: var(--color-text-secondary, rgba(255,255,255,0.65)); margin-bottom: 0.25rem; }
.legal-documents__effective { font-size: 0.75rem; color: rgba(255,255,255,0.4); }
.legal-documents__read-link { display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; flex-shrink: 0; color: var(--color-brand-primary); opacity: 0.7; transition: opacity 0.15s; }
.legal-documents__read-link:hover { opacity: 1; }
.legal-documents__contact { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.9rem; color: rgba(255,255,255,0.55); }
.legal-documents__contact a { color: var(--color-brand-primary); }

/* Legal doc page layout */
.legal-doc-layout { display: grid; grid-template-columns: 260px 1fr; gap: 4rem; align-items: start; padding-top: 3rem; padding-bottom: 4rem; }
@media (max-width: 900px) { .legal-doc-layout { grid-template-columns: 1fr; } }
.legal-doc-toc { position: sticky; top: 5rem; }
.legal-doc-toc__inner { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 0.75rem; padding: 1.25rem; }
.legal-doc-toc__heading { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255,255,255,0.4); margin-bottom: 0.75rem; }
.legal-doc-toc__list { list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; flex-direction: column; gap: 0.125rem; }
.legal-doc-toc__contact { font-size: 0.8125rem; color: rgba(255,255,255,0.45); border-top: 1px solid rgba(255,255,255,0.08); padding-top: 1rem; }
.legal-doc-toc__contact a { color: var(--color-brand-primary); display: block; margin-top: 0.25rem; }
.legal-doc-header { padding: 4rem 0 2rem; }
.legal-doc-header__breadcrumb ol { list-style: none; padding: 0; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; font-size: 0.8125rem; color: rgba(255,255,255,0.45); }
.legal-doc-header__breadcrumb a { color: rgba(255,255,255,0.55); text-decoration: none; }
.legal-doc-header__breadcrumb a:hover { color: var(--color-brand-primary); }
.legal-doc-header__inner { display: flex; align-items: flex-start; gap: 1.25rem; }
.legal-doc-header__icon { width: 3rem; height: 3rem; flex-shrink: 0; color: var(--color-brand-primary); background: color-mix(in srgb, var(--color-brand-primary) 12%, transparent); border-radius: 0.75rem; display: flex; align-items: center; justify-content: center; }
.legal-doc-header__title { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 800; letter-spacing: -0.02em; margin-bottom: 0.75rem; color: var(--color-text-primary, #fff); }
.legal-doc-header__meta { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.legal-doc-header__meta-item { font-size: 0.8125rem; }
.legal-doc-header__meta-item dt { color: rgba(255,255,255,0.4); display: inline; }
.legal-doc-header__meta-item dd { color: rgba(255,255,255,0.75); display: inline; margin: 0 0 0 0.375rem; }
.legal-doc-content__body { max-width: none; }
.legal-doc-content__body.entry-content h2 { font-size: 1.375rem; font-weight: 700; margin: 2.5rem 0 1rem; scroll-margin-top: 6rem; color: var(--color-text-primary, #fff); }
.legal-doc-content__body.entry-content h3 { font-size: 1.125rem; font-weight: 600; margin: 1.75rem 0 0.75rem; scroll-margin-top: 6rem; color: var(--color-text-primary, #fff); }
.legal-doc-content__body.entry-content p { margin-bottom: 1.25rem; line-height: 1.75; color: var(--color-text-secondary, rgba(255,255,255,0.8)); }
.legal-doc-content__body.entry-content ul, .legal-doc-content__body.entry-content ol { margin-bottom: 1.25rem; padding-left: 1.5rem; color: var(--color-text-secondary, rgba(255,255,255,0.8)); }
.legal-doc-content__body.entry-content li { margin-bottom: 0.5rem; line-height: 1.65; }
.legal-doc-content__footer { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.08); display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; }
.legal-doc-content__footer-note { font-size: 0.875rem; color: rgba(255,255,255,0.55); flex: 1; }
.legal-doc-content__footer-note a { color: var(--color-brand-primary); }

/* ─────────────────────────────────────────────────────────────────────────────
   49. Search results & 404 page
   ───────────────────────────────────────────────────────────────────────────── */

/* Search */
.search-header { padding: 5rem 0 3rem; }
.search-header__inner { max-width: 700px; }
.search-header__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; margin-bottom: 0.75rem; color: var(--color-text-primary, #fff); }
.search-header__headline em { font-style: normal; color: var(--color-brand-primary); }
.search-header__count { font-size: 0.9375rem; color: rgba(255,255,255,0.55); margin-bottom: 1.5rem; }

.search-results-wrap { padding-bottom: 5rem; }
.search-results { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
.search-result { border-bottom: 1px solid rgba(255,255,255,0.08); padding: 1.5rem 0; }
.search-result:first-child { border-top: 1px solid rgba(255,255,255,0.08); }
.search-result__type { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--color-brand-primary); display: block; margin-bottom: 0.25rem; }
.search-result__title { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; }
.search-result__title a { color: var(--color-text-primary, #fff); text-decoration: none; }
.search-result__title a:hover { color: var(--color-brand-primary); }
.search-result__excerpt { font-size: 0.9375rem; line-height: 1.65; color: var(--color-text-secondary, rgba(255,255,255,0.7)); margin-bottom: 0.75rem; }
.search-result__meta { display: flex; align-items: center; gap: 0.75rem; font-size: 0.8125rem; color: rgba(255,255,255,0.45); }
.search-result__sep { color: rgba(255,255,255,0.2); }
.search-result__read-link { display: inline-flex; align-items: center; gap: 0.375rem; color: var(--color-brand-primary); text-decoration: none; font-weight: 600; font-size: 0.875rem; }
.search-empty { text-align: center; padding: 5rem 0; }
.search-empty__icon { width: 3rem; height: 3rem; color: rgba(255,255,255,0.3); margin: 0 auto 1.5rem; }
.search-empty__heading { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.75rem; color: var(--color-text-primary, #fff); }
.search-empty__copy { font-size: 1rem; color: rgba(255,255,255,0.6); margin-bottom: 2rem; max-width: 48ch; margin-left: auto; margin-right: auto; }
.search-empty__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.search-pagination { margin-top: 3rem; }

/* 404 */
.error-404 { padding: 8rem 0 6rem; }
.error-404__inner { max-width: 640px; margin: 0 auto; text-align: center; }
.error-404__code { font-size: clamp(5rem, 15vw, 8rem); font-weight: 900; letter-spacing: -0.05em; color: color-mix(in srgb, var(--color-brand-primary) 20%, transparent); line-height: 1; margin-bottom: 1.5rem; }
.error-404__headline { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 1rem; color: var(--color-text-primary, #fff); }
.error-404__copy { font-size: 1.0625rem; line-height: 1.65; color: rgba(255,255,255,0.65); margin-bottom: 2rem; }
.error-404__actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-bottom: 3rem; }
.error-404__search { margin-bottom: 3rem; }
.error-404__search-label { font-size: 0.875rem; color: rgba(255,255,255,0.5); margin-bottom: 0.75rem; }
.error-404__nav { }
.error-404__nav-label { font-size: 0.875rem; color: rgba(255,255,255,0.45); margin-bottom: 0.75rem; }
.error-404__nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.error-404__nav a { font-size: 0.875rem; font-weight: 500; padding: 0.375rem 0.875rem; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 9999px; color: rgba(255,255,255,0.7); text-decoration: none; transition: border-color 0.15s, color 0.15s; }
.error-404__nav a:hover { border-color: var(--color-brand-primary); color: var(--color-brand-primary); }

/* ── Copy success state ── */
.is-copied .btn__icon, button.is-copied { color: rgb(134,239,172) !important; }
