/* Page-scoped visual refinements. Original copy, markup and interactions are retained. */
@layer pd-quality {
  /* About: a quieter process diagram, a stronger reading rhythm. */
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process {
    padding: 28px !important;
    border-color: var(--pd-ui-line) !important;
    border-radius: var(--pd-ui-radius-panel) !important;
    background: var(--pd-ui-surface) !important;
    box-shadow: 0 24px 64px -42px #02080d !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process-node {
    padding: 22px 20px !important;
    border-color: var(--pd-ui-line) !important;
    border-radius: var(--pd-ui-radius-card) !important;
    background: var(--pd-ui-bg) !important;
    text-decoration: none !important;
    transition: border-color 180ms ease, background-color 180ms ease, translate 180ms ease !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process-node :is(span,svg) {
    text-decoration: none !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process-name {
    color: var(--pd-ui-text) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: -.02em !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process-caption {
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: var(--pd-ui-muted) !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-process-node:hover {
    border-color: var(--pd-ui-action) !important;
    background: var(--pd-ui-surface) !important;
    translate: 0 -2px;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-section-heading {
    margin-bottom: 32px !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-section .pd-card-surface {
    border-color: var(--pd-ui-line) !important;
    box-shadow: none !important;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-section .pd-card-heading {
    line-height: 1.35 !important;
    letter-spacing: -.025em !important;
    text-wrap: pretty;
  }
  html[data-page="about"] body.pd-about-page #main-content .pd-about-section .pd-card-description {
    line-height: 1.75 !important;
  }

  /* Report: keep the input and every state in place; clarify the supporting rail. */
  html[data-page="report"] body.pd-report-page #main-content .rp-panel--form {
    background: var(--pd-ui-surface) !important;
    border-color: var(--pd-ui-control-line) !important;
    border-radius: var(--pd-ui-radius-panel) !important;
    box-shadow: 0 24px 64px -48px #02080d !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-form .rp-label {
    color: var(--pd-ui-text) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-input-row input {
    border-radius: var(--pd-ui-radius-control) !important;
  }
  html[data-page="report"] body.pd-report-page #main-content :is(.rp-submit,.rp-rail-btn) {
    border-radius: var(--pd-ui-radius-control) !important;
    background: var(--pd-ui-action) !important;
    color: var(--pd-ui-on-action) !important;
    box-shadow: none !important;
  }
  html[data-page="report"] body.pd-report-page #main-content :is(.rp-submit,.rp-rail-btn):hover {
    background: var(--pd-ui-action-hover) !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-quick {gap: 10px !important;}
  html[data-page="report"] body.pd-report-page #main-content .rp-quick-link {
    justify-content: flex-start !important;
    min-height: 48px !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    border: 1px solid var(--pd-ui-line) !important;
    border-radius: var(--pd-ui-radius-control) !important;
    color: var(--pd-ui-text) !important;
    background: var(--pd-ui-surface) !important;
    text-decoration: none !important;
    transition: border-color 180ms ease, background-color 180ms ease !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-quick-link > i {
    width: 18px;
    color: var(--pd-ui-action) !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-quick-link:hover {
    border-color: var(--pd-ui-control-line) !important;
    background: var(--pd-ui-raised) !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-rail-card {
    border-color: var(--pd-ui-line) !important;
    background: var(--pd-ui-surface) !important;
    border-radius: var(--pd-ui-radius-card) !important;
    box-shadow: none !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-sources li {
    min-height: 44px;
    border-radius: 6px;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-about {
    margin-top: 14px !important;
    padding: 32px 0 0 !important;
    border: 0 !important;
    border-top: 1px solid var(--pd-ui-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-about h2 {
    margin-bottom: 28px !important;
    font: 600 clamp(25px,2.2vw,30px)/1.25 var(--pd-ui-display) !important;
    letter-spacing: -.03em !important;
    text-wrap: pretty;
  }
  html[data-page="report"] body.pd-report-page #main-content .rp-about p {line-height: 1.8 !important;}

  /* FAQ: one clear search surface and comfortable question and answer spacing. */
  html[data-page="faq"] body.faq-redesign .faq-search-wrap {
    background: var(--pd-ui-surface) !important;
    border-color: var(--pd-ui-line) !important;
    box-shadow: 0 24px 64px -44px #02080d !important;
  }
  html[data-page="faq"] body.faq-redesign .faq-search-field {
    min-height: 54px;
    border-color: var(--pd-ui-control-line) !important;
    border-radius: var(--pd-ui-radius-control) !important;
    background: var(--pd-ui-bg) !important;
  }
  html[data-page="faq"] body.faq-redesign .faq-search-field:focus-within {
    border-color: var(--pd-ui-action) !important;
    box-shadow: 0 0 0 3px rgb(var(--pd-ui-accent-rgb) / .14) !important;
  }
  html[data-page="faq"] body.faq-redesign .faq-search-topics a {
    min-height: 46px;
    align-items: center;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-item {
    border-bottom-color: var(--pd-ui-line) !important;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-item.open {
    background: rgb(var(--pd-ui-accent-rgb) / .035) !important;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-question-title {
    font-size: 17px !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: -.015em !important;
    text-wrap: pretty;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-item.open .faq-question-title {
    color: var(--pd-ui-action) !important;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-answer-inner {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
  html[data-page="faq"] body.faq-redesign #main-content .faq-answer-inner :is(p,li) {text-wrap: pretty;}

  /* Legal: an open reading column, with the original navigation beside it. */
  html[data-pd-family="legal"] body #main-content .pd-legal-main > .glass {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  html[data-pd-family="legal"] body #main-content .legal-section {
    background: transparent !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-legal-main .prose {
    max-width: 70ch !important;
    margin-inline: 0 !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-legal-main :is(p,dd,li) {
    line-height: 1.8 !important;
    text-wrap: pretty;
  }
  html[data-pd-family="legal"] body #main-content .pd-legal-main .legal-section > h2 {
    letter-spacing: -.03em !important;
    line-height: 1.25 !important;
    text-wrap: pretty;
  }
  html[data-pd-family="legal"] body #main-content .pd-side-card {
    background: var(--pd-ui-surface) !important;
    border-color: var(--pd-ui-line) !important;
    border-radius: var(--pd-ui-radius-card) !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-side-toc #toc-list a {
    text-decoration-color: transparent !important;
    transition: color 180ms ease, background-color 180ms ease, text-decoration-color 180ms ease !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-side-toc #toc-list a:hover {
    text-decoration-color: currentColor !important;
    color: var(--pd-ui-action) !important;
  }
  html[data-pd-family="legal"] body #main-content .legal-definitions > div {
    padding-block: 20px !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-policy-index {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 0 40px !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 28px 8px !important;
    border-top-color: var(--pd-ui-line) !important;
    transition: background-color 180ms ease, border-color 180ms ease !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card:hover {
    background: rgb(var(--pd-ui-accent-rgb) / .035) !important;
    border-top-color: var(--pd-ui-control-line) !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card h2 {
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: -.025em !important;
  }
  html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card p {
    max-width: 48ch;
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  html:is([data-page="about"],[data-page="report"],[data-page="faq"],[data-pd-family="legal"]) body :is(main,.faq-hero-inner) :is(a,button,input,textarea,select,summary):focus-visible {
    outline: 2px solid var(--pd-ui-action) !important;
    outline-offset: 4px !important;
  }
  @media (min-width:1100px) {
    html[data-pd-family="legal"] body #main-content .pd-legal-grid {
      grid-template-columns: 256px minmax(0,760px) !important;
      gap: clamp(40px,5vw,80px) !important;
    }
    html[data-pd-family="legal"] body #main-content .pd-side-toc #toc-list a {
      font-size: 13px !important;
      padding-block: 9px !important;
    }
  }
  @media (max-width:767px) {
    html[data-page="about"] body.pd-about-page #main-content .pd-about-process {padding: 20px 16px !important;}
    html[data-page="about"] body.pd-about-page #main-content .pd-about-process-node {padding: 18px 14px !important;}
    html[data-page="about"] body.pd-about-page #main-content .pd-about-process-name {font-size: 16px !important;}
    html[data-page="about"] body.pd-about-page #main-content .pd-about-process-caption {font-size: 12px !important;}
    html[data-page="report"] body.pd-report-page #main-content .rp-panel--form {padding: 22px 18px !important;}
    html[data-page="report"] body.pd-report-page #main-content .rp-agent {padding: 16px !important;}
    html[data-page="report"] body.pd-report-page #main-content .rp-rail-card {padding: 22px 20px !important;}
    html[data-page="faq"] body.faq-redesign #main-content .faq-question-title {font-size: 16px !important;}
    html[data-page="faq"] body.faq-redesign #main-content .faq-answer-inner {font-size: 15px !important;}
    html[data-pd-family="legal"] body #main-content .pd-legal-main .prose {max-width: 100% !important;}
    html[data-pd-family="legal"] body #main-content .pd-legal-main .legal-section > h2 {
      font-size: clamp(24px,6.6vw,29px) !important;
      line-height: 1.3 !important;
    }
    html[data-pd-family="legal"] body #main-content .pd-policy-index {grid-template-columns: minmax(0,1fr) !important;}
    html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card {padding: 26px 4px !important;}
    html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card h2 {font-size: 20px !important;}
    html[data-pd-family="legal"] body #main-content .pd-policy-index .pd-policy-link-card p {font-size: 14px !important;}
  }
  @media (prefers-reduced-motion:reduce) {
    html[data-page="about"] body.pd-about-page #main-content .pd-about-process-node {
      transition: none !important;
      translate: none !important;
    }
  }
}
