:root {
  --edison-accent: #FFFC00;
  --edison-ink: #15140F;
  --edison-white: #FFFFFF;
  --edison-fog: #F6F6F8;
  --edison-stone: #F3F2EC;
  --edison-blue: #4D6FA0;
  --edison-muted: #60615A;
  --edison-darkSurface: #22221C;
  --edison-onDarkMuted: #B8BAB0;
  --edison-border: #D5D6CD;
  --edison-controlBorder: #75766D;
  --edison-accentHover: #FFFC00;
}

@font-face {
  font-family: 'Outfit';
  src: url('fonts/Outfit-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --edison-font-heading: 'Outfit', Arial, sans-serif;
  --edison-font-body: 'Outfit', Arial, sans-serif;
  --edison-font-control: 'Outfit', Arial, sans-serif;
  --edison-weight-heading: 500;
  --edison-weight-body: 400;
  --edison-weight-control: 500;
}

/* Edison semantic color applications. Load after ../colors.css. */
:root {
  --edison-color-action: #FFFC00;
  --edison-color-action-hover: #FFFC00;
  --edison-color-on-action: #15140F;
  --edison-color-action-border: #15140F;
  --edison-color-focus-ring: #4D6FA0;
  --edison-color-info-surface: #4D6FA0;
  --edison-color-on-info: #FFFFFF;
  --edison-color-selected-surface: #FFFC00;
  --edison-color-on-selected: #15140F;
}
:root, [data-edison-color="light"] {
  color-scheme: light;
  --edison-color-canvas: #FFFFFF;
  --edison-color-surface: #FFFFFF;
  --edison-color-surface-subtle: #F6F6F8;
  --edison-color-text: #15140F;
  --edison-color-text-muted: #60615A;
  --edison-color-border: #D5D6CD;
  --edison-color-control-border: #75766D;
  --edison-color-link: #4D6FA0;
  --edison-color-logo: #000000;
}
[data-edison-color="soft"] {
  color-scheme: light;
  --edison-color-canvas: #F6F6F8;
  --edison-color-surface: #FFFFFF;
  --edison-color-surface-subtle: #F6F6F8;
  --edison-color-text: #15140F;
  --edison-color-text-muted: #60615A;
  --edison-color-border: #D5D6CD;
  --edison-color-control-border: #75766D;
  --edison-color-link: #4D6FA0;
  --edison-color-logo: #000000;
}
[data-edison-color="dark"] {
  color-scheme: dark;
  --edison-color-canvas: #15140F;
  --edison-color-surface: #22221C;
  --edison-color-surface-subtle: #15140F;
  --edison-color-text: #FFFFFF;
  --edison-color-text-muted: #B8BAB0;
  --edison-color-border: #60615A;
  --edison-color-control-border: #75766D;
  --edison-color-link: #FFFFFF;
  --edison-color-logo: #ffffff;
}


/* Site components use the canonical Edison role tokens above. */
:root { color-scheme: light; }
body { font-family:var(--edison-font-body); font-weight:var(--edison-weight-body); }
:where(h1,h2,h3,h4) { font-family:var(--edison-font-heading); font-weight:var(--edison-weight-heading); }
:where(button,input,select,textarea) { font-family:var(--edison-font-control); }
:where(button,summary) { font-weight:var(--edison-weight-control); }
:where(strong,b) { font-weight:500; }
:where(a) { color:var(--edison-color-link); text-decoration:underline; text-underline-offset:3px; }
:where(:focus-visible) { outline:2px solid var(--edison-color-focus-ring); outline-offset:3px; }

/* Shared primary-action states; component dimensions stay in their fragments. */
body :is(#site-header a.nav-cta,#data-hero a.dh-cta,#data-value a.dv-cta,#brokerage-process a.bp-cta,#seller-control a.sc-cta,#business-fit a.fit-cta,.quiz-actions .primary,#review-dialog #review-submit) {
  background:var(--edison-color-action);
  color:var(--edison-color-on-action);
  border:1px solid var(--edison-color-action-border);
  font-family:var(--edison-font-control);
  font-weight:var(--edison-weight-control);
  text-decoration:none;
  transition:background .15s ease;
}
body :is(#site-header a.nav-cta,#data-hero a.dh-cta,#data-value a.dv-cta,#brokerage-process a.bp-cta,#seller-control a.sc-cta,#business-fit a.fit-cta,.quiz-actions .primary,#review-dialog #review-submit):hover {
  background:var(--edison-color-action-hover);
}
body :is(#site-header a.nav-cta,#data-hero a.dh-cta,#data-value a.dv-cta,#brokerage-process a.bp-cta,#seller-control a.sc-cta,#business-fit a.fit-cta,.quiz-actions .primary,#review-dialog #review-submit):active {
  background:var(--edison-color-action-hover);
  box-shadow:inset 0 0 0 1px var(--edison-color-action-border);
  transform:translateY(1px);
}
body :is(#site-header a.nav-cta,#data-hero a.dh-cta,#data-value a.dv-cta,#brokerage-process a.bp-cta,#seller-control a.sc-cta,#business-fit a.fit-cta,.quiz-actions .primary,#review-dialog #review-submit):disabled {
  background:var(--edison-color-surface-subtle);
  color:var(--edison-color-text-muted);
  border-color:var(--edison-color-control-border);
  box-shadow:none;
  transform:none;
  opacity:1;
  cursor:wait;
}
body #data-value .dv-filter-options button { font-family:var(--edison-font-control); font-weight:500; }
body #data-value .dv-filter-options button[aria-pressed="true"] {
  background:var(--edison-color-selected-surface);
  color:var(--edison-color-on-selected);
  border-color:var(--edison-color-action-border);
}
body header>a:not(.brand):not(.site-skip),#faq a,#our-approach a,.quiz-success a {
  color:var(--edison-color-link);
  text-decoration:underline;
  text-underline-offset:3px;
}
.quiz-actions .back { color:var(--edison-color-link); font-weight:500; }
body .field input::placeholder { color:var(--edison-muted); }
body .software-choice { font-weight:400; }
body .software-choice:has(input:checked) { background:var(--edison-color-selected-surface); border-color:var(--edison-color-action-border); }
body .software-choice input { accent-color:var(--edison-ink); }
@media(prefers-reduced-motion:reduce) {
  body :is(a,button) { transition:none; }
}
