/* Reading scale: preserve the approved layout, increase secondary text. */
.product-page .site-header nav a,
.product-page .channel-link,
.product-page .text-link { font-size:16px; }
.product-page .eyebrow { font-size:13px; color:#6d706b; }
.product-page .hero-aside p { font-size:20px; }
.product-page .gallery-label { font-size:15px; color:#636661; line-height:1.7; }
.product-page .segmented { width:252px; }
.product-page .segmented button { font-size:15px; padding:10px 18px; }
.product-page .feature-ribbon a { font-size:17px; }
.product-page .feature-tabs button { font-size:17px; }
.product-page .feature-kicker { font-size:15px; }
.product-page .story-description,
.product-page .section-lead,
.product-page .extension-item p,
.product-page .pro-description { font-size:18px; color:#62665f; line-height:1.85; }
.product-page .feature-story ul { font-size:16px; }
.product-page .feature-story li::before { font-size:14px; }
.product-page .story-zoom,
.product-page .journal-controls button { font-size:15px; }
.product-page .journal-controls button { padding:8px 13px; }
.product-page .price-tag,
.product-page .later-price,
.product-page .pro-price p { font-size:14px; color:#62695b; }
.product-page .price-tag { color:#a74e31; }
.product-page .primary-button { font-size:16px; }
.product-page .comparison { font-size:16px; }
.product-page .comparison thead th { font-size:18px; }
.product-page .comparison thead th:first-child { font-size:15px; }
.product-page .comparison thead span { font-size:14px; color:#686f60; }
.product-page .purchase-note,
.product-page .unlock-dialog .purchase-note { font-size:14px; color:#69705f; }
.product-page .footer-top nav { font-size:15px; }
.product-page .footer-bottom { font-size:14px; color:#687060; line-height:1.8; }
.product-page .dialog-topline { font-size:16px; }
.product-page .image-dialog>p { font-size:14px; color:#67715e; }
.product-page .unlock-dialog ol { font-size:17px; line-height:2.1; }
.product-page .unlock-price { font-size:20px; }
.product-page .unlock-price>span { font-size:15px; color:#69705f; }
.product-page .image-error { font-size:16px; }

/* Information pages use the same comfortable, restrained reading scale. */
.legal-page .legal { max-width:1180px; }
.legal-page .legal-header>p { font-size:23px; line-height:1.8; max-width:800px; }
.legal-page .document-date { font-size:16px; color:#776d6a; }
.legal-page .prose p,.legal-page .prose li { font-size:20px; line-height:1.85; color:#5e5865; }
.legal-page .prose h2 { font-size:28px; }
.legal-page .prose h3 { font-size:23px; }
.legal-page .about-values p { font-size:20px; }
.legal-page .component-grid span,.legal-page .component-grid a { font-size:16px; }
.legal-page .prose p.attribution { font-size:17px; }
.legal-page .nav-shell nav a { font-size:16px; }
.legal-page .nav-cta { font-size:15px; }
.legal-page .site-footer nav { font-size:16px; }
.legal-page .site-footer>span,.legal-page .site-footer .content-boundary { font-size:14px; color:#716866; }
.legal-page .dialog-lead { font-size:19px; }
.legal-page .fine-print,.legal-page .dialog-scope { font-size:16px; }
.legal-page #unlock-dialog ol { font-size:18px; }

.reading-document { --reading-top:128px; scroll-padding-top:var(--reading-top); }
.legal-page .document-layout { grid-template-columns:210px minmax(0,1fr); gap:48px; }
.legal-page .document-sidebar {
  top:var(--reading-top,128px); gap:4px; padding:0 6px 6px 0;
  max-height:calc(100dvh - var(--reading-top,128px) - 24px);
  overflow:auto; overscroll-behavior:contain; scrollbar-width:thin;
  scrollbar-color:#d5cec6 transparent; font-size:17px; color:#68616a;
}
.legal-page .directory-label {
  padding:0 14px 12px; font-size:13px; letter-spacing:.08em; color:#817770;
}
.legal-page .document-sidebar a {
  display:block; position:relative; padding:10px 14px; border-radius:7px;
  line-height:1.55; transition:background-color .2s,color .2s; transform:none;
}
.legal-page .document-sidebar a::before {
  content:''; position:absolute; inset:12px auto 12px 0; width:3px;
  border-radius:3px; background:transparent; transition:background-color .2s;
}
.legal-page .document-sidebar a:hover { background:#f6f3ef; color:#40372f; transform:none; }
.legal-page .document-sidebar a[aria-current="location"] { background:#f6ece3; color:#934d30; font-weight:600; }
.legal-page .document-sidebar a[aria-current="location"]::before { background:#b86c44; }
.legal-page .document-sidebar a:focus-visible { outline:2px solid #b86c44; outline-offset:-2px; }

@media(max-width:1100px) {
  .product-page .site-header nav { gap:22px; }
  .product-page .story-description,.product-page .section-lead,
  .product-page .extension-item p,.product-page .pro-description { font-size:17px; }
  .product-page .feature-tabs { gap:20px; }
  .product-page .feature-tabs button { font-size:16px; }
  .product-page .comparison { font-size:15px; }
  .product-page .feature-story ul { font-size:15px; }
  .legal-page .document-layout { grid-template-columns:195px minmax(0,1fr); gap:28px; }
}
@media(max-width:800px) {
  .product-page .site-header nav a,.product-page .channel-link { font-size:14px; }
  .product-page .site-header nav { gap:17px; }
  .product-page .hero-aside p { font-size:18px; }
  .product-page .feature-ribbon a { font-size:15px; }
  .product-page .feature-tabs { gap:17px; }
  .product-page .feature-tabs button { font-size:15px; }
  .product-page .feature-story ul,.product-page .story-zoom { font-size:14px; }
  .product-page .footer-top nav { gap:20px; font-size:14px; }
  .legal-page .nav-shell nav a { font-size:14px; }
}
@media(max-width:700px) {
  .reading-document { --reading-top:170px; }
  .legal-page .legal-header>p { font-size:21px; }
  .legal-page .document-date { font-size:15px; }
  .legal-page .prose p,.legal-page .prose li,.legal-page .about-values p { font-size:18px; }
  .legal-page .prose h2 { font-size:25px; }
  .legal-page .prose h3 { font-size:21px; }
  .legal-page .document-layout { display:block; }
  .legal-page .document-sidebar {
    display:flex; flex-direction:row; gap:6px; top:89px; z-index:5;
    margin:0 -8px 28px; padding:8px; max-height:none;
    background:rgba(255,255,255,.96); border-bottom:1px solid #eee9e2;
    font-size:15px; scrollbar-width:none; border-radius:10px;
  }
  .legal-page .document-sidebar::-webkit-scrollbar { display:none; }
  .legal-page .directory-label { display:none; }
  .legal-page .document-sidebar a { flex-shrink:0; padding:10px 13px; white-space:nowrap; }
  .legal-page .document-sidebar a::before { inset:auto 13px 4px; width:auto; height:2px; }
  .legal-page .component-grid a { white-space:normal; }
  .legal-page .site-footer nav { font-size:15px; }
}
@media(max-width:560px) {
  .product-page .eyebrow { font-size:12px; }
  .product-page .hero-aside { display:block; }
  .product-page .hero-aside p { font-size:17px; }
  .product-page .hero-aside .text-link {
    display:inline-flex; font-size:15px; width:auto; height:auto;
    padding:10px 0 0; gap:10px; border-radius:0; background:none;
  }
  .product-page .gallery-label { font-size:14px; text-align:center; }
  .product-page .segmented { width:232px; margin-left:30px; }
  .product-page .segmented button { font-size:14px; padding:9px 14px; }
  .product-page .feature-ribbon a { font-size:16px; }
  .product-page .feature-tabs { gap:18px; justify-content:flex-start; }
  .product-page .feature-tabs button { font-size:15px; }
  .product-page .story-description,.product-page .section-lead,
  .product-page .extension-item p,.product-page .pro-description { font-size:16px; }
  .product-page .feature-kicker { font-size:14px; }
  .product-page .feature-story ul { font-size:14px; gap:7px 14px; }
  .product-page .feature-story li::before { font-size:12px; }
  .product-page .journal-controls button { font-size:14px; }
  .product-page .pro-intro { column-gap:12px; }
  .product-page .pro-price p { font-size:13px; white-space:normal; }
  .product-page .primary-button { font-size:14px; padding:13px 14px; gap:8px; }
  .product-page .comparison { font-size:14px; }
  .product-page .comparison th,.product-page .comparison td { padding:16px 7px; }
  .product-page .comparison th:first-child { width:48%; }
  .product-page .comparison thead th { font-size:16px; }
  .product-page .comparison thead th:first-child { font-size:14px; }
  .product-page .comparison thead span { font-size:13px; }
  .product-page .purchase-note { font-size:13px; }
  .product-page .footer-top nav { gap:17px; font-size:14px; }
  .product-page .footer-bottom { font-size:13px; }
  .product-page .dialog-topline { font-size:14px; }
  .product-page .image-dialog>p { font-size:13px; }
  .product-page .unlock-dialog ol { font-size:16px; }
  .product-page .unlock-price { font-size:18px; }
  .product-page .unlock-price>span { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
  .reading-document { scroll-behavior:auto; }
  .legal-page .document-sidebar a,.legal-page .document-sidebar a::before { transition:none; }
}
