/* Interior-page layouts built on the shared styles in homepage.css. */
.interior-page { min-height: 100vh; display: flex; flex-direction: column; }
.interior-page #main { flex: 1; align-content: start; }
.page-hero { padding-block: 48px 56px; }
.page-hero h1 { max-width: 20ch; font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 760; line-height: 1.08; margin-bottom: 20px; }
.page-hero .lede { max-width: 62ch; }
.page-hero .eyebrow { margin-bottom: 20px; }
.page-content { max-width: 800px; margin-inline: auto; overflow-wrap: anywhere; }
.page-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.2; margin-bottom: 16px; }
.page-content h3 { line-height: 1.3; margin-bottom: 12px; }
.page-content p { color: var(--muted); }
.page-content p + p { margin-top: 16px; }
.page-content a:not(.button):not(.app-store) { color: var(--accent-text); }
.page-content a:not(.button):not(.app-store):hover { color: var(--accent-hover); }
.page-content > section + section { margin-top: 32px; padding-top: 32px; border-top: 1px solid var(--border); }
.page-content ul, .page-content ol { padding-left: 24px; color: var(--muted); }
.page-content li + li { margin-top: 8px; }
.page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 24px; margin-block: 24px; }
.support-email { max-width: 100%; font-size: 1rem; text-align: center; }
.navigation a[aria-current="page"] { color: var(--accent-text); }
.legal-links a[aria-current="page"] { color: var(--accent-text); }
.share-explanation { background: var(--cream-light); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; margin-top: 32px; }
.share-explanation h2 { font-size: 1.25rem; }
.page-content code { background: var(--cream-light); padding: 2px 6px; border-radius: 4px; font-size: .875em; }

/* The policy export retains its text, links, anchors, and attribution.
   Override its embedded typography only within this document. */
.policy-content { color: var(--muted); line-height: 1.7; }
.policy-content :is(span, div, p, li, bdt, td, th) {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}
.policy-content :is(h2, h3) { color: var(--ink); text-wrap: initial; }
.policy-content h2 { font-size: clamp(1.375rem, 2.8vw, 1.75rem); letter-spacing: -.025em; }
.policy-content [data-custom-class="subtitle"] { display: inline-block; margin-bottom: 16px; font-size: .875rem !important; }
.policy-content a, .policy-content a * { color: var(--accent-text) !important; }
.policy-content a:hover, .policy-content a:hover * { color: var(--accent-hover) !important; }
.policy-content ul { list-style-type: square; }
.policy-content ul ul { list-style-type: circle; }
.policy-table { max-width: 100%; overflow-x: auto; margin-block: 24px; border: 1px solid var(--border); border-radius: 16px; }
.policy-table:focus-visible { outline: 3px solid var(--accent-text); outline-offset: 4px; }
.policy-table table { width: 100% !important; min-width: 560px; border-collapse: collapse; border-style: hidden; }
.policy-table td, .policy-table th { padding: 12px !important; border: 1px solid var(--border) !important; vertical-align: top; }
.policy-table tr:first-child { background: var(--cream-light); color: var(--ink); }

@media (max-width: 680px) {
  .page-hero { padding-block: 32px; }
  .page-hero h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
  .page-hero .lede { font-size: 1rem; }
  .page-content > section + section { margin-top: 24px; padding-top: 24px; }
  .share-explanation { padding: 20px; margin-top: 24px; }
}
