/* Page bodies use the same tokens as the application and entry workflow. */
html[data-theme] body[data-fe-design-system] .fe-public-page {
    max-width:1100px; width:100%; min-width:0; margin:0 auto;
    color:var(--fe-ink); font-family:var(--fe-font-ui);
}
html[data-theme] body[data-fe-design-system] :is(.fe-public-page--legal,.fe-public-page--faq) { max-width:880px; }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-c-page-header__kicker { color:var(--fe-muted); }
html[data-theme] body[data-fe-design-system] .fe-public-page a:not(.btn) { color:var(--fe-interaction); text-underline-offset:3px; }
html[data-theme] body[data-fe-design-system] .fe-public-page--onboarding {
    --t-ink:var(--fe-ink); --t-ink-hi:var(--fe-ink); --t-ink-2:var(--fe-secondary); --t-ink-3:var(--fe-muted);
    --t-surface-2:var(--fe-sunken); --t-line:var(--fe-line); --t-seam:var(--fe-line); --t-teal:var(--fe-secondary);
}
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.stat-card .label,.support-field label) { font-size:var(--fe-type-caption); }
/* These captions/values otherwise inherit terminal or inline color overrides. */
html[data-theme] body[data-fe-design-system] .fe-public-page .support-field label { color:var(--fe-secondary) !important; }
html[data-theme] body[data-fe-design-system] .fe-public-page--about .stat-card .value { color:var(--fe-ink) !important; }
html[data-theme] body[data-fe-design-system] .fe-public-page .card {
    background:var(--fe-surface); border-color:var(--fe-line); border-radius:var(--fe-radius-panel); box-shadow:none;
}
html[data-theme] body[data-fe-design-system] .fe-public-page .card:hover { transform:none; }
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.btn,summary) { min-height:44px; }
html[data-theme] body[data-fe-design-system] .fe-public-page summary { gap:12px; }
html[data-theme] body[data-fe-design-system] .fe-public-page input:not([type=checkbox]):not([type=radio]),
html[data-theme] body[data-fe-design-system] .fe-public-page :is(select,textarea) {
    font-size:16px; min-height:46px; color:var(--fe-ink); border-color:var(--fe-control-line); background:var(--fe-sunken);
}
html[data-theme] body[data-fe-design-system] .fe-public-prose { padding:24px; font-size:16px; line-height:1.7; color:var(--fe-secondary); }
html[data-theme] body[data-fe-design-system] .fe-public-prose > :is(p,ul,ol) { max-width:66ch; }
html[data-theme] body[data-fe-design-system] .fe-public-prose :is(a,button) { overflow-wrap:anywhere; }
html[data-theme] body[data-fe-design-system] .fe-public-page--faq details[open] summary > span { transform:rotate(45deg); }
html[data-theme] body[data-fe-design-system] .fe-public-page--onboarding [hidden] { display:none !important; }
html[data-theme] body[data-fe-design-system] .fe-public-page--onboarding label { flex-wrap:wrap; }
html[data-theme] body[data-fe-design-system] .fe-public-page--onboarding label a { min-height:44px; display:inline-flex; align-items:center; }
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.fe-pricing-context,.fe-tier,.fe-pro-status,.fe-trust-band,.fe-trust-tile,.fe-risk-band,.fe-referral-band,.fe-faq) {
    background:var(--fe-surface); border:1px solid var(--fe-line); box-shadow:none; border-radius:var(--fe-radius-panel); min-width:0;
}
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.fe-tier--pro,.fe-trust-tile)::before { content:none; }
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.fe-tier__name,.fe-trust-tile__num,.fe-trust-band__copy strong) { color:var(--fe-ink); }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-tier--pro .fe-tier__name::after { content:none; }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-tier__trial-ribbon {
    position:static; display:inline-flex; padding:8px 12px; margin-bottom:16px; border-radius:5px;
    background:var(--fe-sunken); color:var(--fe-tier); border:1px solid var(--fe-line); box-shadow:none;
}
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-tier__features li::before { background:var(--fe-sunken); border-color:var(--fe-line); box-shadow:none; color:var(--fe-secondary); }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-tier__features li.is-exclude::before { color:var(--fe-muted); }
html[data-theme] body[data-fe-design-system] .fe-public-page :is(.fe-tier__yearly .save,.fe-pricing-context__chips span) { color:var(--fe-secondary); background:var(--fe-sunken); border-color:var(--fe-line); }
/* The legacy annual CTA has an inline stylesheet !important gradient. */
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-tier__cta--annual { background:var(--fe-interaction) !important; color:var(--fe-on-interaction); box-shadow:none; }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-risk-band__icon { background:var(--fe-sunken); color:var(--fe-muted); border-color:var(--fe-line); }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-pricing-context { margin:0 0 24px; max-width:none; }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-plan-details { margin:16px 0; border-top:1px solid var(--fe-line); border-bottom:1px solid var(--fe-line); }
html[data-theme] body[data-fe-design-system] .fe-public-page .fe-plan-details summary { display:list-item; padding:12px 0; color:var(--fe-secondary); cursor:pointer; font-size:14px; }
@media (max-width:767px) {
    html[data-theme] body[data-fe-design-system] .fe-public-prose { padding:20px; }
    html[data-theme] body[data-fe-design-system] .fe-public-page :is(.fe-tier,.fe-trust-band,.fe-risk-band,.fe-faq) { padding:20px; }
}


/* Footer destinations share one reading rhythm in either application shell. */
html[data-theme] body[data-fe-design-system] .fe-info-page {
    width:100%; max-width:1080px; margin-inline:auto; min-width:0;
    color:var(--fe-ink); font-family:var(--fe-font-ui);
}
html[data-theme] body[data-fe-design-system] .fe-info-page.fe-public-page--legal { max-width:880px; }
.fe-info-directory, .fe-document-contents {
    margin:0 0 24px; border:1px solid var(--fe-line); border-radius:var(--fe-radius-panel);
    background:var(--fe-surface); color:var(--fe-ink);
}
.fe-info-directory > summary, .fe-document-contents > summary {
    cursor:pointer; min-height:48px; padding:14px 18px; font-size:14px; font-weight:650;
}
.fe-info-directory > summary span, .fe-document-contents > summary span {
    margin-left:10px; color:var(--fe-muted); font-size:13px; font-weight:400;
}
.fe-info-directory nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; padding:0 12px 12px; }
.fe-info-directory nav a {
    min-height:44px; display:flex; align-items:center; padding:8px 12px;
    border:1px solid transparent; border-radius:6px; text-decoration:none; font-size:14px;
}
.fe-info-directory nav a[aria-current="page"] { background:var(--fe-sunken); border-color:var(--fe-line); font-weight:700; }
.fe-info-directory nav a:hover { background:var(--fe-sunken); }
.fe-document-contents ol { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 16px; padding:0 18px 16px; margin:0; }
.fe-document-contents a { display:flex; align-items:center; min-height:44px; padding:8px 0; font-size:14px; line-height:1.45; }
html[data-theme] body[data-fe-design-system] .fe-info-page .fe-public-prose { padding:clamp(20px,4vw,40px); line-height:1.8; }
.fe-info-page .fe-document-heading { color:var(--fe-ink); font-size:20px; line-height:1.35; margin:32px 0 12px; padding-top:24px; border-top:1px solid var(--fe-line); scroll-margin-top:110px; }
.fe-info-page .fe-document-heading:first-child { padding-top:0; margin-top:0; border-top:0; }
.fe-info-page .fe-public-prose :is(p,ul,ol) { margin-bottom:14px; }
.fe-info-page .fe-public-prose li + li { margin-top:8px; }
.fe-info-intro { max-width:68ch; color:var(--fe-secondary); line-height:1.7; font-size:16px; margin:0 0 28px; }
.fe-product-updates { border-top:1px solid var(--fe-line); }
.fe-product-update { display:grid; grid-template-columns:160px minmax(0,1fr); column-gap:32px; padding:30px 0; border-bottom:1px solid var(--fe-line); }
.fe-product-update__category { grid-row:1 / span 3; color:var(--fe-muted); font-size:13px; line-height:1.5; padding-top:4px; }
.fe-product-update h2 { font-size:22px; line-height:1.3; font-weight:700; color:var(--fe-ink); margin:0 0 12px; }
.fe-product-update :is(p,ul) { color:var(--fe-secondary); font-size:16px; line-height:1.7; max-width:68ch; margin:0 0 12px; }
.fe-product-update ul { padding-left:20px; margin-bottom:0; }
.fe-product-update li + li { margin-top:6px; }
.fe-info-help { margin:28px 0 0; padding:24px; background:var(--fe-surface); border:1px solid var(--fe-line); border-radius:var(--fe-radius-panel); }
.fe-info-help h2 { font-size:18px; margin:0 0 8px; color:var(--fe-ink); }
.fe-info-help p { font-size:15px; line-height:1.6; color:var(--fe-secondary); margin:0 0 16px; }
.fe-info-help nav { display:flex; flex-wrap:wrap; gap:10px; }
.fe-info-page :is(a,summary):focus-visible { outline:2px solid var(--fe-interaction); outline-offset:3px; }
html[data-theme] body[data-fe-design-system] .fe-info-page.fe-public-page--contact .card { padding:24px; }
@media (max-width:767px) {
    .fe-info-directory nav, .fe-document-contents ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .fe-document-contents ol { grid-template-columns:minmax(0,1fr); }
    .fe-product-update { display:block; padding:24px 0; }
    .fe-product-update__category { padding:0; margin-bottom:10px; }
    .fe-product-update h2 { font-size:21px; }
    .fe-info-help { padding:20px; }
    .fe-info-page .fe-document-heading { font-size:19px; }
    html[data-theme] body[data-fe-design-system] .fe-info-page.fe-public-page--contact .card { padding:20px; }
}
