:root {
  --accent-primary: #1f1f1f;
  --accent-primary-light: #4b5563;
  --accent-primary-dark: #000000;
  --accent-primary-rgb: 31, 31, 31;
  --site-container-max: 80rem;
  --site-main-padding-y: 4rem;
  --site-main-padding-y-mobile: 2rem;
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-display: Georgia, 'Times New Roman', serif;
  --font-nav: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-button: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-link: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-h1: Georgia, 'Times New Roman', serif;
  --font-h2: Georgia, 'Times New Roman', serif;
  --font-h3: Georgia, 'Times New Roman', serif;
  --font-h4: Georgia, 'Times New Roman', serif;
  --font-h5: Georgia, 'Times New Roman', serif;
  --font-h6: Georgia, 'Times New Roman', serif;
  --theme-body-size: 1rem;
  --theme-body-size-mobile: 0.98rem;
  --theme-body-line-height: 1.7;
  --theme-body-weight: 400;
  --theme-body-letter-spacing: 0;
  --theme-h1-size: 3rem;
  --theme-h1-size-mobile: 2.4rem;
  --theme-h1-weight: 700;
  --theme-h1-letter-spacing: 0;
  --theme-h2-size: 2.25rem;
  --theme-h2-size-mobile: 1.9rem;
  --theme-h2-weight: 700;
  --theme-h2-letter-spacing: 0;
  --theme-h3-size: 1.65rem;
  --theme-h3-size-mobile: 1.45rem;
  --theme-h3-weight: 700;
  --theme-h3-letter-spacing: 0;
  --theme-h4-size: 1.35rem;
  --theme-h4-size-mobile: 1.25rem;
  --theme-h4-weight: 700;
  --theme-h4-letter-spacing: 0;
  --theme-h5-size: 1.15rem;
  --theme-h5-size-mobile: 1.1rem;
  --theme-h5-weight: 700;
  --theme-h5-letter-spacing: 0;
  --theme-h6-size: 1rem;
  --theme-h6-size-mobile: 1rem;
  --theme-h6-weight: 700;
  --theme-h6-letter-spacing: 0;
  --theme-nav-size: 0.9rem;
  --theme-nav-weight: 600;
  --theme-nav-letter-spacing: 0.08em;
  --theme-nav-transform: uppercase;
  --theme-button-size: 0.95rem;
  --theme-button-weight: 600;
  --theme-link-size: 1rem;
  --theme-link-weight: 500;
  --theme-eyebrow-size: 0.8rem;
  --theme-eyebrow-weight: 700;
  --theme-eyebrow-letter-spacing: 0.16em;
  --theme-eyebrow-transform: uppercase;
  --theme-blockquote-size: 1.1rem;
  --theme-button-radius: 999px;
  --theme-card-radius: 1.1rem;
  --theme-panel-radius: 1.4rem;
  --theme-section-spacing: 4rem;
  --theme-card-shadow: 0 25px 60px -30px rgba(0, 0, 0, 0.55);
  --theme-button-primary-bg: #000000;
  --theme-button-primary-hover: #1f1f1f;
  --theme-button-primary-text: #ffffff;
  --theme-button-secondary-border: rgba(161, 161, 170, 0.24);
  --theme-button-secondary-bg-dark: transparent;
  --theme-button-secondary-bg-light: transparent;
  --theme-button-secondary-text-dark: #f4f4f5;
  --theme-button-secondary-text-light: #18181b;
  --theme-home-hero-image: none;
  --theme-services-hero-image: none;
  --theme-contact-image: none;
  --theme-parallax-attachment: scroll;
  --theme-separator-max-width: 18rem;
  --theme-separator-height: 0.625rem;
  --theme-separator-core: #4b5563;
  --theme-separator-edge: rgba(31, 31, 31, 0.3);
  --theme-separator-glow: rgba(31, 31, 31, 0.42);
}
:root {
  --accent-secondary: #6b7280;
}
[data-theme="dark"] {
  --site-surface-base: #000000;
  --site-surface-card: #111111;
  --site-surface-muted: #1f1f1f;
  --site-border: rgba(255, 255, 255, 0.14);
  --site-text-primary: #ffffff;
  --site-text-secondary: #d4d4d4;
  --site-text-muted: #a3a3a3;
  --link-color: #ffffff;
  --link-hover-color: #d4d4d4;
  --theme-input-bg: #111111;
  --theme-input-border: rgba(255, 255, 255, 0.12);
  --theme-hero-overlay: rgba(12, 15, 17, 0.42);
  --theme-contact-overlay: rgba(12, 15, 17, 0.34);
  --theme-separator-core: #4b5563;
  --theme-separator-edge: rgba(31, 31, 31, 0.3);
  --theme-separator-glow: rgba(31, 31, 31, 0.42);
}
[data-theme="light"] {
  --site-surface-base: #ffffff;
  --site-surface-card: #ffffff;
  --site-surface-muted: #f5f5f5;
  --site-border: rgba(0, 0, 0, 0.08);
  --site-text-primary: #111111;
  --site-text-secondary: #404040;
  --site-text-muted: #666666;
  --link-color: #111111;
  --link-hover-color: #000000;
  --theme-input-bg: #ffffff;
  --theme-input-border: rgba(0, 0, 0, 0.1);
  --theme-hero-overlay: rgba(255, 255, 255, 0.22);
  --theme-contact-overlay: rgba(245, 239, 230, 0.2);
  --theme-separator-core: #000000;
  --theme-separator-edge: rgba(0, 0, 0, 0.24);
  --theme-separator-glow: rgba(0, 0, 0, 0.16);
}
