/* Obsidian / Silver finish. Load after public.css and the page-specific styles.
   This file does not change layout, page content, or application behavior. */
:root {
  color-scheme: dark;
  --mono-bg: #090909;
  --mono-surface: #141414;
  --mono-raised: #1d1d1d;
  --mono-recessed: #0d0d0d;
  --mono-ink: #f2f2f2;
  --mono-muted: #aaaaaa;
  --mono-line: #303030;
  --mono-edge: #494949;
  --mono-control-edge: #727272;
  --mono-action: #efefef;
  --mono-action-ink: #101010;
  --mono-action-hover: #ffffff;
  --mono-header: rgba(9,9,9,.96);
  --mono-sheen: rgba(255,255,255,.055);
  --mono-shadow: 0 24px 58px -18px rgba(0,0,0,.55), 0 3px 10px rgba(0,0,0,.16);
  --mono-inset: inset 0 1px 0 rgba(255,255,255,.055);
  --mono-card-shadow: 0 5px 15px -7px rgba(0,0,0,.42);
  --mono-heading-soft: #bebebe;
  --mono-rule: #424242;
  --gold: #d6b974;
  --silver: #c6c9cd;
  --platinum: #dce0e3;
  --palladium: #a8abad;
}
:root[data-theme="light"] {
  color-scheme: light;
  --mono-bg: #f2f2f2;
  --mono-surface: #ffffff;
  --mono-raised: #e9e9e9;
  --mono-recessed: #f6f6f6;
  --mono-ink: #161616;
  --mono-muted: #5d5d5d;
  --mono-line: #d4d4d4;
  --mono-edge: #909090;
  --mono-control-edge: #858585;
  --mono-action: #202020;
  --mono-action-ink: #ffffff;
  --mono-action-hover: #000000;
  --mono-header: rgba(242,242,242,.96);
  --mono-sheen: rgba(255,255,255,.7);
  --mono-shadow: 0 24px 58px -18px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.025);
  --mono-inset: inset 0 1px 0 rgba(255,255,255,.75);
  --mono-card-shadow: 0 5px 15px -7px rgba(0,0,0,.12);
  --mono-heading-soft: #626262;
  --mono-rule: #bfbfbf;
  --gold: #8a651d;
  --silver: #61666c;
  --platinum: #70777c;
  --palladium: #555b60;
}
/* The home and features pages declare their own palette, so inherit the
   concept tokens explicitly on those bodies as well as the other pages. */
:root, body.home-page, body.features-page {
  --bg: var(--mono-bg);
  --panel: var(--mono-surface);
  --panel-soft: var(--mono-raised);
  --ink: var(--mono-ink);
  --muted: var(--mono-muted);
  --line: var(--mono-line);
  --mint: var(--mono-action);
  --mint-dark: var(--mono-raised);
}
html, body, .home-page, .features-page {
  background: var(--bg);
  color: var(--ink);
}
body { -webkit-font-smoothing: antialiased; }
::selection { background: var(--mono-action); color: var(--mono-action-ink); }
a { color: var(--ink); }
.site-header {
  background: var(--mono-header);
  border-color: var(--line);
  box-shadow: 0 1px 0 var(--mono-sheen);
}
.brand svg, .preview-wordmark svg { stroke: var(--ink); }
.brand small { color: var(--muted); }
.public-nav a { color: var(--muted); }
.public-nav a:hover, .public-nav a[aria-current="page"] {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 8px;
}
.button, .home-page .button, .features-page .button {
  background: var(--mono-action);
  color: var(--mono-action-ink);
  border-color: var(--mono-action);
  box-shadow: 0 3px 7px rgba(0,0,0,.09), inset 0 1px 0 rgba(255,255,255,.14);
  border-radius: 6px;
  letter-spacing: -.01em;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.button:hover, .home-page .button:hover, .features-page .button:hover {
  background: var(--mono-action-hover);
  color: var(--mono-action-ink);
  border-color: var(--mono-action-hover);
  transform: none;
}
.button.secondary, .home-page .button.secondary, .features-page .button.secondary {
  background: transparent;
  color: var(--ink);
  border-color: var(--mono-control-edge);
  box-shadow: none;
}
.button.secondary:hover, .home-page .button.secondary:hover, .features-page .button.secondary:hover {
  background: var(--mono-raised);
  color: var(--ink);
  border-color: var(--ink);
}
:is(a, button, summary, input, select, textarea):focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}
.eyebrow, .tour-category, .feature-card .number, .feature-index, .trust-label {
  color: var(--muted);
}
.hero h1, .tour-hero h1, .page-hero h1 {
  font-weight: 650;
  text-wrap: balance;
}
.hero h1 em, .tour-hero h1 span { color: var(--mono-heading-soft); }
.home-section h2, .section-heading h2, .tour-section-heading h2,
.tour-ledger-copy h2, .tour-planning-copy h2 { text-wrap: balance; }
.home-page .eyebrow, .features-page .eyebrow { letter-spacing: .15em; }
.hero .intro, .page-hero .intro, .tour-hero-copy>p { color: var(--muted); }
.positive { color: var(--ink); }
.hero-kicker:before { background: var(--gold); }
.portfolio-preview, .home-page .portfolio-preview {
  background: var(--panel);
  border-color: var(--mono-edge);
  box-shadow: var(--mono-shadow), var(--mono-inset);
  transform: none;
}
.home-page .preview-top, .preview-top, .tour-preview-bar {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: var(--mono-inset);
}
.home-page .sample-label {
  background: var(--mono-recessed);
  border-color: var(--mono-edge);
  color: var(--silver);
  font-weight: 550;
}
.preview-value, .preview-metrics dd, .tour-ledger-overview>div>strong,
.tour-ledger-metrics dd, .tour-plan-result>strong {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}
.preview-caption, .tour-ledger-preview>figcaption, .tour-plan-preview>figcaption {
  background: var(--mono-recessed);
  border-color: var(--line);
}
.home-page .preview-metrics, .tour-ledger-metrics { border-color: var(--mono-rule); }
.preview-row, .tour-holding { border-color: var(--line); }
.preview-ring>div { background: var(--panel); }
.home-page .metal, .metal, .tour-holding .metal, .tour-four-metals>span {
  border-color: color-mix(in srgb, currentColor 45%, transparent);
  background: color-mix(in srgb, currentColor 7%, transparent);
  box-shadow: var(--mono-inset);
}
.gold { color: var(--gold); }
.silver { color: var(--silver); }
.platinum { color: var(--platinum); }
.palladium { color: var(--palladium); }
.home-tool, .feature-card, .tour-card, .tour-record-card, .pricing-card,
.help-card, .contact-form, .toc, .home-assurance .trust-list {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: var(--mono-inset), var(--mono-card-shadow);
}
.home-tool h3, .feature-card h3, .tour-card h3, .tour-record-card h3,
.help-card h2, .contact-section h2, .pricing-card h2 { color: var(--ink); }
.tool-heading svg, .tour-record-card>svg, .hero-bottom-note svg {
  stroke: var(--silver);
  stroke-width: 1.65;
}
.home-tool h3, .feature-card h3, .tour-card h3, .tour-record-card h3 {
  font-weight: 630;
  text-wrap: balance;
}
.tool-heading>span, .tour-sample, .feature-card .number {
  font-variant-numeric: tabular-nums;
  color: var(--muted);
}
.home-steps li:before {
  color: var(--ink);
  background: var(--panel);
  border-color: var(--mono-edge);
  box-shadow: var(--mono-inset);
}
.home-assurance .trust-list dt span { color: var(--silver); }
.tour-ledger {
  background: var(--panel);
  border-color: var(--line);
  box-shadow: var(--mono-inset);
}
.tour-ledger-preview, .tour-plan-preview {
  background: var(--mono-recessed);
  border-color: var(--mono-edge);
  box-shadow: var(--mono-shadow);
}
.tour-planning { background: var(--panel); border-color: var(--line); }
.tour-valuation>div {
  background: var(--mono-recessed);
  border-color: var(--mono-edge);
}
.tour-valuation>div:first-child {
  background: var(--mono-raised);
  border-color: var(--silver);
  box-shadow: var(--mono-inset);
}
.tour-chart-line { stroke: var(--silver); }
#tour-chart-fill stop { stop-color: var(--silver); }
.tour-scenario dd {
  background: var(--panel);
  border-color: var(--mono-edge);
  box-shadow: var(--mono-inset);
}
.tour-slider, .tour-goal-track { background: var(--line); }
.tour-goal-track>span { background: var(--gold); }
.access-notes { background: var(--mono-recessed); border-color: var(--line); }
.cta-band, .home-page .cta-band, .features-page .cta-band {
  background: var(--mono-raised);
  border-color: var(--mono-edge);
  box-shadow: var(--mono-inset), var(--mono-card-shadow);
}
.cta-band p { color: var(--muted); }
.cta-band .eyebrow { color: var(--silver); }
.home-tools-link a, .tour-text-link, .section-link, .preview-caption a {
  text-decoration-color: var(--mono-rule);
  text-underline-offset: 5px;
}
.home-tools-link a:hover, .tour-text-link:hover, .section-link:hover, .preview-caption a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}
.prose .callout, .contact-warning {
  background: var(--panel);
  border-left-color: var(--silver);
}
.formula { background: var(--mono-raised); }
.contact-form input, .contact-form textarea, .contact-form select {
  color: var(--ink);
  background: var(--mono-recessed);
  border-color: var(--mono-control-edge);
  accent-color: var(--mono-action);
}
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus {
  border-color: var(--ink);
  outline-color: var(--ink);
}
.contact-form label { font-weight: 600; }
.contact-form ::placeholder { color: var(--muted); opacity: 1; }
.contact-form .contact-status { color: var(--ink); }
.contact-form .contact-status.error {
  color: var(--ink);
  border-left: 2px solid var(--ink);
  padding-left: 12px;
}
.faq details[open] summary { color: var(--ink); }
.faq summary:hover { color: var(--silver); }
.faq summary::marker { color: var(--muted); }
.faq details[open] summary::marker { color: var(--ink); }
.site-footer { background: var(--mono-recessed); border-color: var(--mono-rule); }
.footer-links a:hover { color: var(--ink); }
/* Existing mobile tour rules use !important for these illustrated cards. */
@media (min-width:371px) and (max-width:600px) {
  .tour-valuation>div { background: var(--mono-recessed)!important; border-color: var(--mono-edge)!important; }
  .tour-valuation>div:first-child { background: var(--mono-raised)!important; border-color: var(--silver)!important; }
}
@media (prefers-reduced-motion:reduce) {
  .button { transition: none; }
}
