/* Shared shapes, typography and spacing; scoped to the four information pages. */
body.page.visible-support { background:#fff; }
body.page.visible-support #page #content > .ast-container {
    max-width:calc(var(--visible-content,1200px) + var(--visible-gutter,32px)*2);
    padding-inline:var(--visible-gutter,32px);
}
body.page.visible-support #page #primary { width:100%; min-width:0; margin:0; padding:64px 0 var(--visible-section,88px); border:0; }
body.page.visible-support #page .ast-article-single { margin:0; padding:0; background:#fff; border:0; }
body.page.visible-support #page .entry-content { color:#525252; font-size:17px; line-height:1.8; overflow-wrap:break-word; }
body.page.visible-support #page .entry-content > .visible-info { max-width:100%; margin:0; padding:0; color:#171717; }
body.page.visible-support #page .visible-info-hero { margin:0; padding:0 0 56px; border:0; }
body.page.visible-support #page :is(.visible-info-kicker,.visible-policy-kicker) {
    margin:0 0 20px; color:var(--ast-global-color-0,#335edb); font-size:11px;
    font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:.14em;
}
body.page.visible-support #page .visible-info h1,
body.page.visible-policy #page .entry-header h1 {
    margin:0 0 24px; max-width:900px; color:#171717; font-family:inherit;
    font-size:clamp(40px,5vw,64px); font-weight:700; line-height:1.08; letter-spacing:-.045em; text-wrap:balance;
}
body.page.visible-support #page .visible-info-lead { max-width:650px; margin:0 0 28px; color:#737373; font-size:20px; line-height:1.65; }
body.page.visible-support #page .visible-info .wp-block-buttons { margin:0; gap:12px; }
body.page.visible-support #page .visible-info .wp-block-button__link {
    display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:15px 25px;
    border:1px solid #171717; border-radius:var(--visible-control-radius,999px); background:#171717; color:#fff;
    font-family:inherit; font-size:15px; font-weight:500; line-height:1.4; text-transform:none; text-decoration:none;
}
body.page.visible-support #page .visible-info .wp-block-button__link:hover { background:#333; border-color:#333; }
body.page.visible-support #page .visible-info-body { max-width:100%; margin:0; }
body.page.visible-support #page .visible-info-body h2 { margin:0 0 24px; font-size:32px; font-weight:700; line-height:1.2; letter-spacing:-.03em; }
body.page.visible-support #page .visible-info-body p { margin:0 0 20px; color:#666; font-size:17px; line-height:1.8; }
body.page.visible-support #page .visible-info-body p:last-child { margin-bottom:0; }
body.page.visible-support #page .visible-info-body a { text-underline-offset:4px; }
body.page.visible-support #page .visible-info-section { min-width:0; margin:0; padding:0; }
body.page.visible-support #page .visible-info-dark {
    margin:0; padding:40px; border:1px solid #242424; border-radius:var(--visible-card-radius,16px);
    background-color:#171717;
    background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);
    background-size:40px 40px; color:#fff;
}
body.page.visible-support #page .visible-info-dark h2 { color:#fff; }
body.page.visible-support #page .visible-info-dark p { color:#c7c7c7; }
body.page.visible-support #page .visible-info-dark a { color:#fff; }

/* About: a centered introduction, then varied editorial sections. */
body.page.visible-support-about #page .visible-info-hero { max-width:960px; margin:0 auto 56px; text-align:center; padding-bottom:0; }
body.page.visible-support-about #page .visible-info-hero :is(h1,.visible-info-lead) { margin-left:auto; margin-right:auto; }
body.page.visible-support-about #page .visible-info-hero .wp-block-buttons { justify-content:center; }
body.page.visible-support-about #page .visible-info-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
body.page.visible-support-about #page .visible-info-body > .visible-info-section:first-child { padding:16px 0 0; }
body.page.visible-support-about #page .visible-info-body > .visible-info-section:first-child h2 { max-width:420px; font-size:40px; }
body.page.visible-support-about #page .visible-info-body > .visible-info-section:last-child {
    grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:64px;
    border-top:1px solid #e6e6e6; padding-top:48px;
}
body.page.visible-support-about #page .visible-info-body > .visible-info-section:last-child h2 { grid-column:1; grid-row:1/3; max-width:430px; font-size:40px; }
body.page.visible-support-about #page .visible-info-body > .visible-info-section:last-child p { grid-column:2; }

/* Contact: introduction and contact details above the two help sections. */
body.page.visible-support-contact #page .visible-info { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px 64px; align-items:start; }
body.page.visible-support-contact #page .visible-info-hero { grid-column:1; grid-row:1; padding:20px 0 0; align-self:center; }
body.page.visible-support-contact #page .visible-info h1 { max-width:600px; }
body.page.visible-support-contact #page .visible-info-lead { font-size:19px; }
body.page.visible-support-contact #page .visible-info-body { display:contents; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section {
    padding:36px 40px; border:1px solid #e6e6e6; border-radius:var(--visible-card-radius,16px); background:#fafafa;
}
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child { grid-column:2; grid-row:1; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child h2 { margin-bottom:26px; font-size:28px; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child p:first-of-type { margin-bottom:24px; line-height:1.8; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child a { color:#171717; font-size:22px; font-weight:500; text-decoration:none; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child a:hover { text-decoration:underline; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child p:last-child { font-size:14px; line-height:1.85; }
body.page.visible-support-contact #page .visible-info-dark { grid-column:1; grid-row:2; align-self:stretch; }
body.page.visible-support-contact #page .visible-info-body > .visible-info-section:last-child { grid-column:2; grid-row:2; align-self:stretch; background:#fff; }

/* Policies: native policy content with a linked, collapsible contents menu. */
body.page.visible-policy #page .visible-policy-kicker { margin-bottom:16px; }
body.page.visible-policy #page .entry-header { margin:0; }
body.page.visible-policy #page .entry-header h1 { margin:0 0 28px; }
body.page.visible-policy #page .visible-policy-switch { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 44px; padding:0 0 32px; border-bottom:1px solid #e6e6e6; }
body.page.visible-policy #page .visible-policy-switch a {
    display:inline-flex; align-items:center; min-height:44px; padding:10px 19px;
    border:1px solid #dedede; border-radius:999px; color:#515151; background:#fff;
    font-size:14px; line-height:1.5; font-weight:500; text-decoration:none;
}
body.page.visible-policy #page .visible-policy-switch a[aria-current=page] { background:#171717; color:#fff; border-color:#171717; }
body.page.visible-policy #page .visible-policy-switch a:hover { border-color:#171717; }
body.page.visible-policy #page .visible-policy-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:64px; align-items:start; }
body.page.visible-policy #page .visible-policy-sidebar { position:sticky; top:56px; min-width:0; }
body.page.visible-policy #page .visible-policy-toc { margin:0; padding:22px; border:1px solid #e6e6e6; border-radius:16px; background:#fafafa; }
body.page.visible-policy #page .visible-policy-toc summary { color:#171717; font-size:16px; font-weight:600; line-height:1.5; cursor:pointer; }
body.page.visible-policy #page .visible-policy-toc nav { max-height:calc(100vh - 180px); overflow-y:auto; overscroll-behavior:contain; margin-top:18px; }
body.page.visible-policy #page .visible-policy-toc ol { margin:0; padding:0; list-style:none; }
body.page.visible-policy #page .visible-policy-toc li { margin:0; padding:0; }
body.page.visible-policy #page .visible-policy-toc a { display:block; padding:7px 0; color:#666; font-size:13px; line-height:1.5; text-decoration:none; }
body.page.visible-policy #page .visible-policy-toc a:hover { color:#171717; text-decoration:underline; text-underline-offset:3px; }
body.page.visible-policy #page .visible-policy-content { width:100%; min-width:0; max-width:820px; color:#525252; font-size:17px; line-height:1.8; }
body.page.visible-policy #page .visible-policy-content p { margin:0 0 22px; }
body.page.visible-policy #page .visible-policy-content h2 { color:#171717; font-size:29px; font-weight:700; line-height:1.25; letter-spacing:-.025em; padding-top:38px; margin:44px 0 22px; border-top:1px solid #e6e6e6; scroll-margin-top:88px; }
body.page.visible-policy #page .visible-policy-content h3 { color:#171717; font-size:22px; font-weight:600; line-height:1.3; letter-spacing:-.015em; margin:32px 0 18px; scroll-margin-top:88px; }
body.page.visible-policy #page .visible-policy-content h4 { color:#171717; font-size:18px; line-height:1.4; font-weight:600; margin:26px 0 16px; }
body.page.visible-policy #page .visible-policy-content :is(ul,ol) { margin:0 0 24px; padding-left:1.3em; }
body.page.visible-policy #page .visible-policy-content li { margin-bottom:10px; }
body.page.visible-policy #page .visible-policy-content a { text-underline-offset:4px; }
body.page.visible-policy #page .visible-policy-content code { padding:2px 5px; background:#f5f5f5; color:#444; border-radius:4px; font-size:.87em; overflow-wrap:anywhere; }
body.page.visible-policy #page .visible-policy-content blockquote { margin:26px 0; padding:22px 24px; border:1px solid #e5e5e5; border-left:3px solid var(--ast-global-color-0,#335edb); border-radius:0 12px 12px 0; background:#fafafa; color:#666; font-size:15px; font-style:normal; line-height:1.75; }
body.page.visible-policy #page .visible-policy-content blockquote p:last-child { margin-bottom:0; }
body.page.visible-policy #page .visible-policy-content table { display:block; width:100%; max-width:100%; margin:24px 0 32px; overflow-x:auto; border:1px solid #e5e5e5; border-radius:12px; border-collapse:separate; border-spacing:0; background:#fff; font-size:13px; line-height:1.65; }
body.page.visible-policy #page .visible-policy-content table thead { display:table-header-group; }
body.page.visible-policy #page .visible-policy-content table tbody { display:table-row-group; }
body.page.visible-policy #page .visible-policy-content table tr { display:table-row; }
body.page.visible-policy #page .visible-policy-content table :is(th,td) { display:table-cell; min-width:110px; }
body.page.visible-policy #page .visible-policy-content table td::before { display:none; }
body.page.visible-policy #page .visible-policy-content :is(th,td) { padding:14px 16px; border:0; border-bottom:1px solid #e8e8e8; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
body.page.visible-policy #page .visible-policy-content th { color:#171717; background:#f5f5f5; font-size:12px; font-weight:600; white-space:nowrap; }
body.page.visible-policy #page .visible-policy-content tr:last-child td { border-bottom:0; }
body.page.visible-policy #page .visible-policy-content tbody tr:nth-child(even) { background:#fafafa; }
body.page.visible-policy #page .visible-policy-content table td:nth-child(2) { min-width:200px; }
body.page.visible-policy #page .visible-policy-content table :is(th,td):first-child { min-width:140px; }
body.page.visible-policy #page .visible-policy-content table :is(th,td):last-child { min-width:160px; }
body.page.visible-policy #page .visible-policy-content > p:first-child { color:#737373; }
body.page.visible-support #page #primary :is(a,button,summary,input,textarea):focus-visible { outline:3px solid var(--ast-global-color-0,#335edb); outline-offset:4px; }
@media(max-width:1000px) {
    body.page.visible-support-about #page .visible-info-body { gap:40px; }
    body.page.visible-support-contact #page .visible-info { gap:32px; }
    body.page.visible-support-contact #page .visible-info-body > .visible-info-section { padding:30px; }
    body.page.visible-support #page .visible-info-dark { padding:32px; }
    body.page.visible-policy #page .visible-policy-layout { grid-template-columns:230px minmax(0,1fr); gap:40px; }
}
@media(max-width:850px) {
    body.page.visible-support-contact #page .visible-info { grid-template-columns:minmax(0,1fr); }
    body.page.visible-support-contact #page .visible-info-hero,
    body.page.visible-support-contact #page .visible-info-dark,
    body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child,
    body.page.visible-support-contact #page .visible-info-body > .visible-info-section:last-child { grid-column:1; grid-row:auto; }
    body.page.visible-support-contact #page .visible-info-hero { padding:0 0 8px; }
    body.page.visible-policy #page .visible-policy-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
    body.page.visible-policy #page .visible-policy-sidebar { position:static; }
    body.page.visible-policy #page .visible-policy-toc { padding:18px 20px; }
    body.page.visible-policy #page .visible-policy-toc nav { max-height:360px; }
}
@media(max-width:700px) {
    body.page.visible-support-about #page .visible-info-body { grid-template-columns:minmax(0,1fr); gap:32px; }
    body.page.visible-support-about #page .visible-info-body > .visible-info-section:last-child { display:block; padding-top:32px; }
}
@media(max-width:600px) {
    body.page.visible-support #page #content > .ast-container { padding-inline:20px; }
    body.page.visible-support #page #primary { padding:40px 0 48px; }
    body.page.visible-support #page .visible-info h1,body.page.visible-policy #page .entry-header h1 { font-size:40px; line-height:1.1; letter-spacing:-.035em; }
    body.page.visible-support #page .visible-info-lead { font-size:18px; }
    body.page.visible-support #page .visible-info-body h2 { font-size:28px; }
    body.page.visible-support-about #page .visible-info-hero { margin-bottom:44px; }
    body.page.visible-support-about #page .visible-info-body > .visible-info-section:first-child h2,
    body.page.visible-support-about #page .visible-info-body > .visible-info-section:last-child h2 { font-size:32px; }
    body.page.visible-support #page .visible-info-dark,body.page.visible-support-contact #page .visible-info-body > .visible-info-section { padding:26px; }
    body.page.visible-support-contact #page .visible-info-body > .visible-info-section:first-child a { font-size:21px; }
    body.page.visible-policy #page .visible-policy-switch { margin-bottom:28px; padding-bottom:28px; }
    body.page.visible-policy #page .visible-policy-content { font-size:16px; line-height:1.8; }
    body.page.visible-policy #page .visible-policy-content h2 { font-size:25px; padding-top:28px; margin-top:34px; }
    body.page.visible-policy #page .visible-policy-content h3 { font-size:21px; }
    body.page.visible-policy #page .visible-policy-content :is(th,td) { padding:12px; }
}
@media print {
    body.page.visible-policy #page .visible-policy-sidebar,body.page.visible-policy #page .visible-policy-switch { display:none; }
    body.page.visible-policy #page .visible-policy-layout { display:block; }
    body.page.visible-policy #page .visible-policy-content { max-width:none; font-size:11pt; }
    body.page.visible-policy #page .visible-policy-content table { display:table; overflow:visible; }
}
