/* Follow the device preference immediately, without script or a stored override.
   Sample designs retain their own identities; downloadable PDFs remain light. */
:root { color-scheme: light dark; }
@media screen and (prefers-color-scheme: dark) {
  :root {
    --sc-canvas:#0e1724; --sc-surface:#172438;
    --sc-ink:#eef3fc; --sc-ink-soft:#b3c1d5; --sc-accent:#8eafff;
    --dialog-ink:#eef3fc; --dialog-bg:#172438;
    --ink:#eef3fc; --soft:#b3c1d5; --blue:#8eafff;
    --line:#34455d; --paper:#0e1724; --green:#86d2b8;
  }
  body { background:var(--sc-canvas); color:var(--sc-ink); }
  .ap-mark { border-color:var(--sc-accent); }
  .ap-mark:after { background:var(--sc-accent); }
  .hero-copy h1 span,.ap-close h2 em,.lens-controls button[aria-pressed=true] { color:var(--sc-accent); }
  .art-mat,.structure-close { background:var(--sc-canvas); }
  .home-price { background:var(--sc-surface); }
  .choosing,.mat { background:var(--sc-canvas); }
  .perspective-story { background:linear-gradient(90deg,rgba(14,23,36,.9) 0%,rgba(14,23,36,.8) 55%,rgba(14,23,36,0) 100%); }
  .choosing-field { background-color:#223148; }
  .chosen { background:#2858d9; }
  .perspective-story,.choosing { border-color:var(--line); }
  .price-line { background:var(--sc-surface); border-color:var(--line); }
  .price-line strong { color:var(--sc-ink); }
  .home-price-card { background:#142034; border-color:var(--line); }
  .start-doors,.door { border-color:var(--line); }
  .door { background:var(--sc-surface); }
  .door-primary { background:#142034; }
  .door-fine,.terms p,.door-refund a { color:var(--sc-ink); }
  .home-price-plans li { border-color:var(--line); }
  .home-price .pricing-step,.home-price-intro>p:last-child,.home-price .price-term { color:var(--sc-ink-soft); }
  .hero-art figcaption,.film-inset,.perspective,.perspective-stage,.investment,.foundation-section,.visibility-questions,
  .review-entry,.service-plan,.work-note { background:var(--sc-surface); color:var(--sc-ink); }
  .lens-act,.website-gallery,.visibility-progress,.working-together,.practice-portfolio,.design-fee { background:#142034; }
  .home-services,.website-care,.monthly-section,.work-sheet { background:#173a9b; color:#fff; }
  .visibility-plan,.summary-consult { background:#19335a; color:#fff; }
  .ap-button,.pricing-button,.primary-button { background:#2858d9; color:#fff; }
  .ap-button:hover,.pricing-button:hover,.primary-button:hover:not(:disabled) { background:#3467ef; }
  .primary-button:active:not(:disabled) { background:#204bc0; }
  .door .ap-button-quiet { background:transparent; color:var(--sc-ink); border-color:var(--sc-ink-soft); }
  .door .ap-button-quiet:hover { background:var(--sc-ink); color:#0e1724; }
  .visibility-plan .pricing-button,.summary-consult .primary-button { background:#d9e4ff; color:#142d58; }
  .visibility-plan .pricing-button:hover,.summary-consult .primary-button:hover { background:#fff; color:#142d58; }
  .perspective p:not(.margin-note),.lens-explainer,.lens-controls button,
  .person-name span,.visibility-intro>p,.dimension-summary { color:var(--sc-ink-soft); }
  .visibility-intro .visibility-lead { color:var(--sc-ink); }
  .nav-cta,.structure-footer,.gallery-note,.included-foundations,
  .process-line,.lens-controls button,.design-fee,.design-amount,.service-plan,.pricing-details details,
  .foundation-list>div,.first-days>li,.work-note dl>div,.question-list details,
  .question-list details:last-child,.service-navigation,.outcome-copy .outcome-promise { border-color:var(--line); }
  /* The inset demonstrates a separate therapist design, not the agency theme. */
  .example-frame { color:#142744; color-scheme:light; box-shadow:12px 16px 0 #24344e; }
  .lens-corner { color:var(--sc-accent); }
  .domain-field { background:#0e1724; border-color:#7084a1; }
  .domain-field input::placeholder { color:#a8bad2; }
  .secondary-button { background:var(--sc-surface); color:var(--ink); border-color:var(--line); }
  .secondary-button:hover { background:#243752; }
  .example-banner,.partial-note { background:#1b3050; color:#d0dfff; }
  .form-error { color:#ffabae; }
  .loading-track { background:#263956; }
  .dimension { background:#172438; border-color:var(--line); box-shadow:none; }
  .dimension,.dimension.low,.dimension.medium,.dimension.high { --gauge:#8eafff; }
  .dimension.good { --gauge:#86d2b8; }
  .dimension.unknown { --gauge:#a2b2c9; }
  .dimension header>span { background:#283952; color:#d1dced; }
  .dimension-counts { border-color:var(--line); }
  .thermometer { background:#344762; }
  .unknown .thermometer:before { background:#344762; }
  .visibility-hero { background:var(--sc-canvas); }
  .visibility-hero:before { background:linear-gradient(90deg,#0e1724 0%,rgba(14,23,36,.98) 38%,rgba(14,23,36,.92) 49%,rgba(14,23,36,.24) 68%,rgba(14,23,36,.12) 100%); }
  .visibility-film-caption { color:#eef3fc; }
  .visibility-film-control { background:rgba(14,23,36,.92); color:#eef3fc; border-color:#7084a1; }
  .visibility-film-control:hover { background:#172438; }
  :focus-visible { outline-color:#a5bfff; }
  ::selection { background:#416ec9; color:white; }
}
@media screen and (prefers-color-scheme: dark) and (max-width:1000px) {
  .visibility-hero:before { background:linear-gradient(90deg,#0e1724 0%,rgba(14,23,36,.98) 53%,rgba(14,23,36,.9) 64%,rgba(14,23,36,.2) 87%); }
}
@media screen and (prefers-color-scheme: dark) and (max-width:760px) {
  .visibility-hero:before { background:linear-gradient(180deg,#0e1724 0%,#0e1724 calc(100% - 380px),rgba(14,23,36,.98) calc(100% - 365px),rgba(14,23,36,.12) calc(100% - 250px)); }
}
@media print { :root { color-scheme:light; } }

/* Available to keyboard users without occupying the page header. */
a.skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
a.skip:focus { position:fixed; top:12px; left:12px; z-index:100; padding:12px 18px; background:var(--sc-canvas); color:var(--sc-ink); border:2px solid var(--sc-accent); border-radius:4px; }
