/* Page-local visual refinement. This file is never loaded by the homepage. */
html:has(body.download-page),html:has(body.support-hub) { scroll-padding-top:0; }
body.download-page,body.support-hub { --hub-ink:#202a37; --hub-muted:#66717e; --hub-line:#e3e9ef; --hub-blue:#0067ce; }
body.download-page #main.container { padding-top:28px; }
body.download-page #main.container>.download-hub-hero { position:relative; padding:40px 182px 38px 40px; text-align:left; background:#f3f7fb; border:1px solid #e5edf5; border-radius:24px; }
body.download-page .download-hub-icon { position:absolute; right:38px; top:50%; transform:translateY(-50%); width:104px; height:104px; padding:23px; margin:0; border:1px solid #e2eaf3; border-radius:26px; background:#fff; color:#0071e3; }
body.download-page #main.container>.download-hub-hero .eyebrow { color:#376184; font-size:11px; font-weight:600; letter-spacing:.12em; }
body.download-page #main.container>.download-hub-hero h1 { margin:17px 0; font-size:46px; line-height:1.25; letter-spacing:-.035em; text-wrap:balance; }
body.download-page #main.container>.download-hub-hero p { max-width:630px; margin:0; font-size:16px; color:#5e6977; }
body.download-page .download-hub-hero .hero-bottom { justify-content:flex-start; margin-top:23px; gap:12px; color:#66717e; }
body.download-page .download-hub-hero .secure { background:#fff; color:#376184; border:1px solid #dde7f1; padding:5px 11px; }
body.download-page .download-jump { position:sticky; top:var(--inner-header-height,64px); z-index:20; justify-content:flex-start; gap:8px; margin:16px 0 30px; padding:12px 0; border-bottom:1px solid var(--hub-line); background:#fff; }
body.download-page .download-jump a { min-height:42px; padding:9px 17px; background:transparent; border:1px solid transparent; border-radius:10px; color:#5b6674; font-size:13px; }
body.download-page .download-jump a:hover { border-color:#dae5ef; background:#f4f8fc; color:var(--hub-blue); }
body.download-page .download-jump a[aria-current="location"] { color:#005fbe; background:#eaf3fc; border-color:#d8e8f7; font-weight:600; }
body.download-page :is(#free-checker,.download-resource-row,#download-details,#file-check,#download-origin) { scroll-margin-top:var(--inner-jump-offset,144px); }
body.download-page .content-tool-guide { margin:28px 0 32px; padding:0; border:0; border-radius:0; }
body.download-page .content-tool-guide h2 { font-size:25px; letter-spacing:-.025em; }
body.download-page .content-download-intro { font-size:14px; color:#67717e; margin-bottom:20px; }
body.download-page .content-tool-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; counter-reset:tools; }
body.download-page .content-tool-list>div { position:relative; display:flex; flex-direction:column; gap:12px; min-width:0; padding:20px 17px 14px; border:1px solid var(--hub-line); border-radius:16px; background:#fff; counter-increment:tools; transition:border-color .18s,background .18s; }
body.download-page .content-tool-list>div::before { content:counter(tools,decimal-leading-zero); color:#3476b7; font-size:11px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.1em; }
body.download-page .content-tool-list>div:hover,body.download-page .content-tool-list>div:focus-within { border-color:#a9c8e7; background:#f8fbfe; }
body.download-page .content-tool-list dt { padding:0; font-size:15px; line-height:1.5; }
body.download-page .content-tool-list dd { flex:1; display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
body.download-page .content-tool-list dd>span { order:0; font-size:12px; line-height:1.75; color:#6a7380; text-align:left; }
body.download-page .content-tool-list dd>a { order:1; margin-top:auto; min-height:38px; font-size:12px; line-height:1.7; text-decoration:none; color:#0066cc; }
body.download-page .content-tool-list dd>a::after { content:""; position:absolute; inset:0; border-radius:16px; }
body.download-page .content-tool-list dd>a:focus-visible { outline:none; }
body.download-page .content-tool-list dd>a:focus-visible::after { outline:3px solid #0071e3; outline-offset:3px; }
body.download-page .auth-free-card { margin:28px 0 38px; padding:27px 30px; border:1px solid #dbe8f4; border-radius:20px; background:#f3f8fd; }
body.download-page .auth-free-card h2 { font-size:24px; }
body.download-page .auth-free-card .auth-badge { color:#286398; }
body.download-page .section-label { align-items:flex-end; gap:24px; margin-bottom:20px; }
body.download-page .section-label h2 { font-size:27px; }
body.download-page .section-label h2>span { display:inline-flex; align-items:center; justify-content:center; min-width:30px; min-height:26px; padding:3px 7px; margin-left:7px; border-radius:7px; background:#edf3f9; color:#416b93; }
body.download-page .section-label p { max-width:350px; font-size:12px; color:#747e89; }
body.download-page .resources { gap:18px; }
body.download-page .download-resource-row { padding:28px; border:1px solid var(--hub-line); border-radius:20px; background:#fff; }
body.download-page .download-resource-row .resource-preview { border-color:#e1e7ee; background:#f5f7fa; box-shadow:none; }
body.download-page .download-resource-row .resource-preview img { background:#f5f7fa; }
body.download-page .download-resource-row .resource-preview figcaption { background:#f8fafc; }
body.download-page .download-resource-row .tag { color:#426582; background:#edf3f8; border-radius:6px; }
body.download-page .download-resource-row h2 { color:var(--hub-ink); font-size:24px; }
body.download-page .download-resource-row .download.primary { border-radius:12px; box-shadow:0 3px 9px #0071e310; }
body.download-page .download-resource-row>details { border-color:#e9edf2; }
body.download-page .download-details,body.download-page .content-file-check { border-color:var(--hub-line); padding:30px; border-radius:20px; }
body.download-page .content-file-check h2,body.download-page .download-details h2 { font-size:25px; }
body.download-page .help { background:#f5f8fc; border:1px solid #e3ebf3; border-radius:20px; }
body.download-page #password-dialog { border:1px solid #e2e9f0; border-radius:22px; }

body.support-hub { background:#f7f9fc; }
body.support-hub #main.support-shell { padding-top:34px; }
body.support-hub #main .support-hero { max-width:none; display:grid; grid-template-columns:1.12fr 1fr; column-gap:64px; margin:0 8px 32px; text-align:left; }
body.support-hub #main .support-breadcrumb { grid-column:1/-1; margin:0 0 30px; font-size:12px; }
body.support-hub #main .support-hero .eyebrow { grid-column:1/-1; margin:0; color:#386a98; font-weight:600; font-size:10px; letter-spacing:.12em; }
body.support-hub #main .support-hero h1 { grid-column:1; margin:18px 0 16px; font-size:44px; line-height:1.3; letter-spacing:-.035em; }
body.support-hub #main .support-hero .intro { grid-column:2; grid-row:3; align-self:center; margin:0; padding-left:26px; border-left:2px solid #cedeed; color:#667381; font-size:16px; line-height:1.9; }
body.support-hub #main .support-updated { grid-column:1/-1; margin:0; color:#7a8590; font-size:11px; }
body.support-hub #main .support-routes { gap:14px; margin:0 0 18px; padding:0; border:0; border-radius:0; background:transparent; }
body.support-hub #main .support-routes a { border:1px solid #e0e7ef; border-radius:18px; padding:24px; box-shadow:0 2px 6px #243f6003; }
body.support-hub #main .support-routes .support-route-number { display:flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:9px; background:#eef5fc; color:#346f9f; margin:0 0 7px; }
body.support-hub #main .support-routes strong { font-size:19px; }
body.support-hub #main .support-routes a::after { top:27px; right:22px; color:#7e9bb5; }
body.support-hub #main .support-routes a[aria-current="location"] { border-color:#b4d1ed; background:#f5faff; }
body.support-hub #main .support-quick-contact { margin:0 0 28px; padding:18px 22px; background:#edf3f9; border:1px solid #e0e8f1; border-radius:14px; }
body.support-hub #main .support-quick-contact .button { border-radius:10px; border-color:#c3d7ec; background:#fff; }
body.support-hub #main .help-page .support-panel { padding:34px 36px; border:1px solid #e3e9ef; border-radius:20px; margin-bottom:22px; scroll-margin-top:var(--inner-jump-offset,100px); }
body.support-hub #main .support-section-heading { align-items:center; gap:14px; margin-bottom:16px; }
body.support-hub #main .support-section-number { display:inline-flex; align-items:center; justify-content:center; width:34px; min-height:34px; border-radius:10px; padding:0; background:#edf4fc; color:#3473ab; font-size:12px; font-weight:600; }
body.support-hub #main .support-section-heading h2,body.support-hub #main .support-faq>h2 { font-size:27px; line-height:1.4; }
body.support-hub #main .help-checks label { background:#f6f8fb; border-color:#edf0f4; }
body.support-hub #main .help-checks label:has(input:checked) { border-color:#b5d0eb; background:#edf6ff; }
body.support-hub #main .help-grid article { border-color:#e2e9f1; border-radius:14px; }
body.support-hub #main .help-grid article h3 { font-size:18px; }
body.support-hub #main .support-report-helper { padding:26px; border:1px solid #dce7f2; background:#f6f9fd; border-radius:16px; }
body.support-hub #main .support-report-helper h3 { color:#263a4f; font-size:22px; }
body.support-hub #main .support-faq summary { display:list-item; padding-right:12px; line-height:1.8; }

@media(max-width:1000px) {
 body.download-page .content-tool-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.support-hub #main .support-hero { column-gap:30px; }
 body.support-hub #main .support-hero h1 { font-size:38px; }
 body.support-hub #main .support-hero .intro { font-size:15px; padding-left:20px; }
}
@media(max-width:760px) {
 body.download-page #main.container { padding-top:18px; }
 body.download-page #main.container>.download-hub-hero { padding:28px 26px; border-radius:20px; }
 body.download-page .download-hub-icon { position:static; transform:none; width:46px; height:46px; padding:8px; margin:0 0 20px; border-radius:12px; }
 body.download-page #main.container>.download-hub-hero h1 { font-size:36px; }
 body.download-page #main.container>.download-hub-hero p { font-size:15px; }
 body.download-page .download-jump { position:static; display:flex; flex-wrap:wrap; margin:12px 0 24px; gap:6px; padding:4px 0 16px; }
 body.download-page .download-jump a { background:#f5f7fa; min-height:40px; padding:8px 12px; font-size:12px; }
 body.download-page .content-tool-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.download-page .content-tool-list>div:last-child { grid-column:1/-1; }
 body.download-page .content-tool-list>div:last-child dd { flex-direction:row; align-items:center; justify-content:space-between; }
 body.download-page .content-tool-list>div:last-child dd>a { margin:0; flex-shrink:0; }
 body.support-hub #main.support-shell { padding-top:25px; }
 body.support-hub #main .support-hero { display:block; margin:0 2px 28px; }
 body.support-hub #main .support-breadcrumb { margin-bottom:26px; }
 body.support-hub #main .support-hero h1 { font-size:36px; margin:17px 0; }
 body.support-hub #main .support-hero .intro { border:0; padding:0; font-size:15px; }
 body.support-hub #main .support-updated { margin-top:17px; }
 body.support-hub #main .help-page .support-panel { padding:28px; }
}
@media(max-width:650px) {
 body.download-page #main.container>.download-hub-hero { padding:24px 22px; }
 body.download-page #main.container>.download-hub-hero h1 { font-size:31px; line-height:1.3; margin:14px 0; letter-spacing:-.04em; }
 body.download-page #main.container>.download-hub-hero .eyebrow { font-size:9px; }
 body.download-page .download-hub-hero .hero-bottom { align-items:flex-start; flex-wrap:wrap; margin-top:18px; font-size:11px; }
 body.download-page .content-tool-guide h2 { font-size:23px; }
 body.download-page .content-tool-list { gap:10px; }
 body.download-page .content-tool-list>div { padding:16px 14px 10px; gap:10px; border-radius:13px; }
 body.download-page .content-tool-list dt { font-size:14px; }
 body.download-page .content-tool-list dd>span { font-size:11.5px; }
 body.download-page .content-tool-list dd>a { font-size:11.5px; }
 body.download-page .content-tool-list>div:last-child dd { flex-direction:column; align-items:flex-start; gap:5px; }
 body.download-page .auth-free-card { padding:22px; }
 body.download-page .auth-free-card h2 { font-size:22px; }
 body.download-page .section-label { align-items:flex-start; gap:10px; }
 body.download-page .section-label h2 { font-size:24px; }
 body.download-page .download-resource-row { padding:20px; border-radius:17px; }
 body.download-page .download-resource-row h2 { font-size:23px; }
 body.download-page .download-details,body.download-page .content-file-check,body.download-page .help { padding:22px; border-radius:17px; }
 body.download-page .content-file-check h2,body.download-page .download-details h2 { font-size:23px; }
 body.support-hub #main .support-routes { gap:10px; }
 body.support-hub #main .support-routes a { padding:19px 16px; border-radius:15px; }
 body.support-hub #main .support-routes a::after { top:24px; right:16px; }
 body.support-hub #main .support-routes strong { font-size:17px; }
 body.support-hub #main .support-quick-contact { padding:18px; gap:14px; }
 body.support-hub #main .help-page .support-panel { padding:24px 19px; border-radius:17px; }
 body.support-hub #main .support-section-heading h2,body.support-hub #main .support-faq>h2 { font-size:23px; }
 body.support-hub #main .support-section-number { width:28px; min-height:28px; border-radius:8px; font-size:11px; }
 body.support-hub #main .support-report-helper { padding:19px 15px; }
}
@media(max-width:360px) {
 body.download-page #main.container>.download-hub-hero { padding:22px 18px; }
 body.download-page #main.container>.download-hub-hero h1 { font-size:28px; }
 body.download-page .content-tool-list { grid-template-columns:1fr; }
 body.support-hub #main .support-hero h1 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) {
 body.download-page .content-tool-list>div,body.download-page .download-jump a { transition:none; }
}
