:root {
  --aura-bg: #05060a;
  --aura-surface: rgba(255, 255, 255, .065);
  --aura-surface-strong: rgba(255, 255, 255, .11);
  --aura-text: #f8fafc;
  --aura-muted: rgba(248, 250, 252, .68);
  --aura-border: rgba(255, 255, 255, .14);
  --aura-accent: #8b5cf6;
  --aura-accent-2: #22d3ee;
  --aura-dark-text: #10131a;
  --aura-container: 1180px;
  --aura-radius-sm: 12px;
  --aura-radius-md: 20px;
  --aura-radius-lg: 32px;
  --aura-shadow: 0 30px 100px rgba(0, 0, 0, .35);
  --aura-section: clamp(72px, 9vw, 132px);
  --aura-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--aura-bg);
  color: var(--aura-text);
  font-family: var(--aura-font);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3, h4 { font-family: var(--aura-font-heading, var(--aura-font)); line-height: 1.04; letter-spacing: -.045em; margin: 0 0 .7em; }
h1 { font-size: clamp(3rem, 13vw, 7.5rem); }
h2 { font-size: clamp(2.1rem, 7vw, 4.8rem); }
h3 { font-size: clamp(1.4rem, 4vw, 2.3rem); }
p { margin: 0 0 1rem; }
.aura-container { width: min(100% - 40px, var(--aura-container)); margin-inline: auto; }
.aura-section { padding-block: var(--aura-section); }
.aura-main { min-height: 55vh; }
.aura-content { color: var(--aura-muted); }
.aura-content > :where(p, ul, ol, blockquote, pre, h1, h2, h3, h4, h5, h6):not(.alignwide):not(.alignfull) { max-width: 780px; }
.aura-content .alignwide { max-width: var(--aura-container); }
.aura-content .alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); }
.screen-reader-text, .aura-skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.aura-skip-link:focus { position: fixed; z-index: 9999; top: 12px; left: 12px; background: #fff; color: #000; padding: 10px 14px; border-radius: 10px; }

body.admin-bar .aura-site-header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .aura-site-header { top: 46px; }
}

aura-root { display: block; }


/* Aura v0.9.0 Vibe Coding Compatibility
   The theme keeps native Aura components styled, but avoids constraining pasted HTML sections. */
body.aura-vibe-mode .aura-content > :where(section, div, article, header, footer, main, aside, figure, [data-aura-vibe], .vibe-section, .ai-section, .custom-section, .custom-html, .html-section) {
  max-width: none;
}

body.aura-vibe-mode :where(.aura-content, .entry-content) :where([style]) {
  /* Intentional empty low-specificity rule: documents that inline styles are respected. */
}

body.aura-vibe-mode :where(.aura-content, .entry-content) :where(.vibe-section, .ai-section, .custom-section, .custom-html, .html-section, [data-aura-vibe]) {
  color: inherit;
  font-family: inherit;
}

body.aura-vibe-mode :where(.aura-content, .entry-content) :where(.vibe-section, .ai-section, .custom-section, .custom-html, .html-section, [data-aura-vibe]) :where(h1, h2, h3, h4, h5, h6, p, a, button) {
  max-width: none;
}

/* Aura v1.1.1 Default Canvas Page
   Default pages stay full-width and avoid editorial wrappers so pasted HTML,
   builder sections, and AI-generated layouts are not constrained by the theme. */
.aura-page-canvas-default {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.aura-page-canvas-default .aura-canvas-entry,
.aura-page-canvas-default .aura-content-canvas {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: inherit;
}

.aura-page-canvas-default .aura-content-canvas > * {
  max-width: none;
}

.aura-page-canvas-default .aura-content-canvas > .alignfull {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.aura-page-canvas-default .aura-content-canvas > :first-child {
  margin-top: 0;
}

.aura-page-canvas-default .aura-content-canvas > :last-child {
  margin-bottom: 0;
}

/* Aura v1.2.0 Accessibility & QA foundation */
:focus { outline: none; }
:focus-visible {
  outline: 3px solid var(--aura-focus-ring, var(--aura-accent));
  outline-offset: 4px;
}

.aura-button,
button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.aura-menu-toggle,
.aura-primary-nav a,
.aura-site-footer a {
  -webkit-tap-highlight-color: transparent;
}

.aura-button,
button,
input[type="button"],
input[type="submit"],
.wp-block-button__link {
  min-height: 44px;
}

.aura-primary-nav a,
.aura-site-footer a {
  text-decoration-skip-ink: auto;
}

.aura-menu-toggle {
  min-width: 44px;
  min-height: 44px;
}

body.aura-mobile-menu-open {
  overflow: hidden;
}

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

@media (forced-colors: active) {
  .aura-button,
  .wp-block-button__link,
  .aura-menu-toggle {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }
}
