/* Opt-in visual layer for reviewed inner pages. Loaded for screen media only,
   preserving existing print layouts and all tool behavior. */
html.sd-inner {
  --void-2: var(--sd-surface-1);
  --bone-soft: var(--sd-text-2);
  --bone-dim: var(--sd-text-2);
  --cyan-rgb: 0, 209, 255;
  --gold-rgb: 244, 194, 104;
  --hairline: var(--sd-border);
}
.sd-inner body { background: var(--sd-bg-0); }
.sd-inner .nav,
.sd-inner .ip-drawer { background: var(--sd-bg-1); }
.sd-inner .nav-brand,
.sd-inner .ip-home { font-family: var(--sd-font-brand); }
.sd-inner .hero h1,
.sd-inner section h2,
.sd-inner .answer-capsule h2,
.sd-inner .callout h2,
.sd-inner .final-cta h2,
.sd-inner .tool h3,
.sd-inner .qa h3,
.sd-inner .cap-title,
.sd-inner .sec-h,
.sd-inner .pic-h,
.sd-inner .pic-plain-t {
  font-family: var(--sd-font-display);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.15;
}
.sd-inner .hero h1 { font-size: clamp(34px, 5.5vw, 60px); line-height: 1.04; }
.sd-inner .hero h1 .accent { color: var(--sd-text-1); }
.sd-inner .hero-bg::after { opacity: .1; }
.sd-inner .hero-lede,
.sd-inner .sec-lede,
.sd-inner .cap-body,
.sd-inner .cap-list,
.sd-inner .ip-link,
.sd-inner .ip-link-sec .ip-t,
.sd-inner .fcl-capsule p,
.sd-inner .tri-hint,
.sd-inner .tri-cui,
.sd-inner .pic-note,
.sd-inner .pic-empty,
.sd-inner .pic-list li,
.sd-inner .pic-flag-d,
.sd-inner .pic-step-d,
.sd-inner .pic-plain-d,
.sd-inner .pic-method,
.sd-inner .pic-disclaimer,
.sd-inner .pic-consent { font-family: var(--sd-font-body); }
.sd-inner .tri-hint,
.sd-inner .pic-note,
.sd-inner .pic-empty,
.sd-inner .pic-list li,
.sd-inner .pic-flag-d,
.sd-inner .pic-step-d,
.sd-inner .pic-plain-d,
.sd-inner .pic-method,
.sd-inner .pic-disclaimer,
.sd-inner .pic-consent { font-size: 14px; line-height: 1.6; }
.sd-inner .tool,
.sd-inner .cap,
.sd-inner .answer-capsule,
.sd-inner .callout,
.sd-inner .rule-box,
.sd-inner .fcl-capsule { background: var(--sd-surface-1); border-color: var(--sd-border); border-radius: var(--sd-radius); }
.sd-inner .tool { border-left-color: var(--sd-gold-muted); }
.sd-inner .tool h3 a { border-bottom-color: var(--sd-border); }
.sd-inner .tool h3 a:hover { color: var(--sd-cyan); border-bottom-color: var(--sd-cyan); }
.sd-inner .btn { font-family: var(--sd-font-body); letter-spacing: .08em; border-radius: var(--sd-radius); }
.sd-inner .btn-primary { background: rgba(var(--cyan-rgb), .1); }
.sd-inner .btn-primary:hover { background: rgba(var(--cyan-rgb), .18); }
.sd-inner .nav-cta { color: var(--sd-cyan); border-color: var(--sd-border); }
.sd-inner .ip-link.is-current { color: var(--sd-cyan); }
/* The readiness footer previously exceeded a 375px viewport. Let its
   descriptive caption wrap, while keeping the action and progress legible. */
@media (max-width: 500px) {
  .sd-inner #f-bar { gap: 8px; }
  .sd-inner #f-bar .bar-fig { min-width: 0; white-space: normal; line-height: 1.4; }
  .sd-inner #f-bar .bar-cta { flex-shrink: 0; letter-spacing: .04em; }
}
@media (prefers-reduced-motion: reduce) {
  html.sd-inner { scroll-behavior: auto; }
  .sd-inner .btn,
  .sd-inner .btn:hover { transition: none; transform: none; }
}

/* Facility explainer batch: only the two reviewed .sd-facility hosts opt in.
   Keep claims, disclosure, native controls and print styling in their hosts. */
.sd-facility .hero-frame,
.sd-facility .cap::before,
.sd-facility .cap::after { display: none; }
.sd-facility body::before { background: none; }
.sd-facility .hero-lede { max-width: 60ch; }
.sd-facility section > p,
.sd-facility .ft-list,
.sd-facility .faq-body { max-width: 68ch; line-height: 1.65; }
.sd-facility section h2 { max-width: 30ch; margin-bottom: 20px; }
.sd-facility .ft-prose h3,
.sd-facility .ft-card h3,
.sd-facility .ft-card h4,
.sd-facility .ft-consent h4,
.sd-facility .ft-group-heading,
.sd-facility .faq summary {
  font-family: var(--sd-font-display);
  letter-spacing: -.015em;
  line-height: 1.3;
}
.sd-facility .ft-opt,
.sd-facility .ft-cta,
.sd-facility .ft-list-tight li,
.sd-facility .ft-rule,
.sd-facility .ft-field input,
.sd-facility .ft-consent-fine,
.sd-facility table.data-table tbody th {
  font-family: var(--sd-font-body);
}
.sd-facility .ft-opt,
.sd-facility .ft-cta { letter-spacing: .02em; }
.sd-facility .ft-rule,
.sd-facility .ft-consent-fine { font-size: 14px; letter-spacing: 0; line-height: 1.65; }
.sd-facility .ft-lines li::before { font-family: var(--sd-font-tech); }
.sd-facility .ft-group {
  padding: 24px 0 8px;
  background: none;
  border: 0;
  border-top: 1px solid var(--sd-border);
}
.sd-facility .ft-opt,
.sd-facility .ft-symptom,
.sd-facility .ft-card,
.sd-facility .ft-authority-note,
.sd-facility .final-cta { background: var(--sd-surface-1); }
.sd-facility .ft-opt.is-on,
.sd-facility .ft-symptom.is-on { background: rgba(var(--cyan-rgb), .14); }
@media (max-width: 760px) {
  .sd-facility .answer-capsule { padding: 20px; }
  .sd-facility .hero-ctas { gap: 12px; }
}
