/* Obsidian / violet colour study. Layout and content live in styles.css and index.html.
   Keep bright violet for accents; body copy stays neutral for comfortable reading.
   Screen-only colours preserve the original ink-friendly print stylesheet. */
@media screen {
  :root {
    color-scheme: dark;
    --ink: #f3f0f6;
    --muted: #b8b2c1;
    --accent: #b878ff;
    --accent-deep: #7627c2;
    --teal: var(--accent);
    --mint: #d3b0ff;
    --line: #332c3d;
    --paper: #151318;
    --white: #0b0a0d;
    --dark: #0c0a10;
  }
  ::selection { background: #7132a9; color: #fff; }
  body { background: #0b0a0d; }
  a:focus-visible, button:focus-visible, summary:focus-visible,
  .dark-section a:focus-visible, .footer a:focus-visible { outline-color: #c28bff; }
  .header { background: rgba(11,10,14,.97); border-color: #302638; }
  .brand-name { color: #f4f1f7; }
  .brand-descriptor { color: #b7aabd; }
  .brand-dot { color: #b878ff; }
  .header nav>a:not(.button):hover { color: #d3b0ff; }
  .button, .button-light {
    color: #fff;
    border-color: #9851d9;
    background: linear-gradient(135deg,#8636ce,#6720a8);
    box-shadow: 0 0 25px #912cf31a, inset 0 1px 0 #d3a3ff20;
  }
  .button:hover, .button-light:hover {
    color: #fff;
    border-color: #c588ff;
    background: linear-gradient(135deg,#9541df,#7726bc);
    box-shadow: 0 0 28px #a43dff35, inset 0 1px 0 #d3a3ff25;
  }
  .skip-link { background: #6720a8; color: #fff; }
  .status-dot { background: #bb75ff; box-shadow: 0 0 10px #9e41e980; }
  .hero {
    background: radial-gradient(ellipse at 84% 28%,#4f176c30,transparent 53%),
      linear-gradient(135deg,#111014,#09080c);
  }
  .hero h1 span { color: #b878ff; text-shadow: 0 0 50px #7d25b524; }
  .hero .eyebrow { color: #c9bbd6; }
  .hero-visual {
    background: radial-gradient(ellipse at 50% 47%,#49205f65,transparent 65%),#121016;
    border-color: #493054;
    box-shadow: 0 0 65px #7c29b611, inset 0 1px 0 #d5a5ff0d;
  }
  .diagram-top { color: #bca7ca; }
  .diagram-bottom { border-color: #3b2a46; color: #c5b6d0; }
  .diagram-arrow { color: #c18bff; }
  .principles { border-color: #302638; }
  .principles a { border-color: #77508f; }
  .services { background: #151318; border-color: #302638; }
  .eyebrow { color: #c599f4; }
  .service-card {
    background: linear-gradient(145deg,#1e1924,#161319 65%);
    border-color: #3a2c45;
    box-shadow: inset 0 1px 0 #c598ff0a;
    transition: border-color .18s, box-shadow .18s;
  }
  .service-card:hover { border-color: #81549e; box-shadow: 0 0 28px #8c2fd20b; }
  .card-top>span { color: #b89bc9; }
  .card-top svg { stroke: #ba7cff; }
  .service-outcome, .service-card .text-link { border-color: #3b2c47; }
  .service-outcome .small-label { color: #c28bff; }
  .dark-section { color: #f3f0f6; background: #0c0a10; }
  .approach { background: radial-gradient(ellipse at 4% 60%,#43145b25,transparent 55%),#0c0a10; }
  .dark-section h2 { color: #f3f0f6; }
  .dark-section .section-intro>p, .steps p { color: #b8b2c1; }
  .steps li { border-color: #3a2b44; }
  .step-number { color: #d3b0ff; border-color: #68407f; background: #211329; }
  .approach-note { border-color: #3a2b44; }
  .approach-note p { color: #b8b2c1; }
  .approach-note strong { color: #f3f0f6; }
  .deliverables { background: #111014; }
  .report-visual { background: radial-gradient(ellipse at 45% 50%,#3e1c4f85,transparent 70%),#17121d; border: 1px solid #382840; }
  .report-page { background: #211a29; border-color: #5a3b6b; box-shadow: 0 15px 40px #0008; }
  .report-brand { color: #f3f0f6; }
  .report-rule { background: #4b3459; }
  .report-line { background: #45334f; }
  .report-finding, .report-footer { border-color: #4b3459; }
  .report-footer { color: #bfa3cd; }
  .about { background: #17141b; border-color: #36293f; }
  .about-tags span { background: #271a32; color: #d3b0ff; border-color: #644078; }
  .faq { background: #0e0c12; }
  .faq-list, details { border-color: #392a43; }
  .contact {
    background: radial-gradient(ellipse at 80% 45%,#54227345,transparent 60%),
      linear-gradient(120deg,#1b1125,#100b16 70%);
    border-top: 1px solid #512d68;
  }
  .contact h2 span { color: #bc7dff; }
  .contact:after { border-color: #4e2a65; box-shadow: 0 0 0 70px #27133155,0 0 0 71px #4e2a6580; }
  .contact-grid>div>p:not(.eyebrow), .contact-aside>p { color: #bfb3c9; }
  .contact-aside { border-color: #624074; }
  .contact-aside li { color: #ddd3e6; }
  .contact-aside .contact-privacy { border-color: #4c305e; }
  .contact-privacy a { color: #d9c4ed; }
  .footer { background: #070609; color: #c3b7cd; }
  .footer .brand-dot { color: #b878ff; }
  .footer-top>p { color: #b8adbf; }
  .footer-bottom { border-color: #302337; color: #ac9db7; }
  .document-main { background: radial-gradient(ellipse at 95% 0%,#3e175426,transparent 55%),#0e0c12; }
  .document-main .privacy-intro { color: #e0d6e9; }
  .menu-toggle { color: #f3f0f6; border-color: #634574; background: #19121f; }
  .menu-lines, .menu-lines:after { background: #e2cbf5; }
  .header nav.is-open { background: #141017; border-color: #523366; box-shadow: 0 20px 30px #0005; }
  @media (max-width:900px) { html:not(.js) .header nav { background: #0b0a0d; } }
  @media (prefers-reduced-motion:reduce) { .service-card { transition: none; } }
}
