/* Source: style.css */
/*
Theme Name: 速搜科技
Author: 速搜科技
Description: 速搜科技企业服务官网主题，涵盖数字证书、网络安全、软件开发与本地商户服务。
Version: 4.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: certnova
*/

:root {
  --ink: #081121;
  --muted: #5c6b82;
  --line: #dce5f2;
  --brand: #1858f2;
  --brand-dark: #0b36a8;
  --mint: #19c897;
  --paper: #f5f8fd;
  --white: #fff;
  --shadow: 0 20px 60px rgba(11, 38, 87, .10);
}

.web-advantages-title { font-size:clamp(30px,3.3vw,38px); line-height:1.2; }
.web-advantages-copy { color:var(--muted); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top:148px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; line-height: 1.65; }
a { color: inherit; text-decoration: none; }
.wrap { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.site-header { position: sticky; top:var(--admin-bar-offset,0px); z-index: 20; background:#fff; border-bottom: 1px solid rgba(220,229,242,.85); }
body.admin-bar { --admin-bar-offset:32px; }
html:has(body.admin-bar) { scroll-padding-top:180px; }
@media(max-width:782px) {
  body.admin-bar { --admin-bar-offset:46px; }
  html:has(body.admin-bar) { scroll-padding-top:194px; }
  body.admin-bar #wpadminbar { position:fixed; }
}
.nav { height:74px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.logo { display: flex; align-items: center; gap: 11px; font-size: 21px; font-weight: 800; letter-spacing: -.5px; }
.brand-logo { width:30px; height:30px; display:block; flex:none; }
.brand-name { display:flex; flex-direction:column; color:var(--ink); font-size:17px; line-height:1; letter-spacing:.4px; }
.brand-name small { margin-top:4px; color:#74839a; font-size:6px; font-weight:750; letter-spacing:1px; }
.logo-mark { width: 34px; height: 40px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,var(--brand),#4b83ff); clip-path: polygon(50% 0,92% 16%,88% 72%,50% 100%,12% 72%,8% 16%); font-size: 17px; }
.nav-links { min-width:0; height:74px; display:flex; flex:1 1 auto; flex-wrap:nowrap !important; align-items:center; justify-content:center; gap:clamp(14px,1.7vw,25px); color:#344259; font-size:14px; font-weight:600; white-space:nowrap; }
.nav-links > a,.dropdown-head { height:74px; display:flex; align-items:center; flex:none; }
.nav-links a:hover { color: var(--brand); }
.nav-links > .is-current,.nav-dropdown.is-current .dropdown-label,.nav-dropdown.is-current > .dropdown-head > a { position:relative; color:var(--brand); }
.nav-links > a.is-current::after,.nav-dropdown.is-current > .dropdown-head::after { content:""; position:absolute; left:50%; bottom:0; width:22px; height:3px; border-radius:3px 3px 0 0; background:var(--brand); transform:translateX(-50%); }
.nav-dropdown { position:relative; height:74px; display:flex; flex:none; align-items:center; white-space:nowrap; }
.dropdown-head { gap:3px; }
.dropdown-label { color:#344259; cursor:default; }
.nav-dropdown:hover .dropdown-label,.nav-dropdown:focus-within .dropdown-label { color:var(--brand); }
.submenu-toggle { width:20px; height:28px; padding:0; border:0; color:#506079; background:transparent; cursor:pointer; font-size:15px; transition:color .15s ease,transform .15s ease; }
.nav-dropdown.is-open .submenu-toggle { color:var(--brand); transform:rotate(180deg); }
.dropdown-head .nav-group-toggle { width:auto; height:100%; display:flex; align-items:center; gap:6px; font:inherit; color:inherit; transform:none; }
.nav-group-toggle .dropdown-label { cursor:pointer; }
.nav-group-toggle .nav-chevron { font-size:15px; transition:transform .2s; }
.nav-dropdown.is-open .nav-group-toggle .nav-chevron { transform:rotate(180deg); }
.nav-dropdown:hover .nav-group-toggle,.nav-dropdown.is-open .nav-group-toggle { transform:none; }
.nav-submenu { position:absolute; top:62px; left:50%; z-index:30; min-width:180px; padding:9px; display:flex; flex-direction:column; gap:2px; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:0 18px 45px rgba(11,38,87,.14); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-50%,-6px); transition:opacity .18s ease,transform .18s ease,visibility .18s ease; }
.nav-submenu-services { min-width:190px; }
.nav-submenu-integrated { width:390px; padding:13px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.nav-submenu-group { min-width:0; padding:4px; display:flex; flex-direction:column; gap:2px; }
.nav-submenu-group + .nav-submenu-group { border-left:1px solid var(--line); padding-left:12px; }
.nav-submenu-group > small { padding:4px 12px 7px; color:#8a97aa; font-size:10px; font-weight:800; letter-spacing:.8px; }
.nav-submenu:before { content:""; position:absolute; left:0; right:0; top:-12px; height:12px; }
.nav-submenu a { padding:9px 12px; border-radius:7px; color:#41516a; font-size:13px; white-space:nowrap; }
.nav-submenu a:hover { color:var(--brand); background:#eef3ff; }
.nav-submenu a.is-current { color:var(--brand); background:#eef3ff; font-weight:700; }
.nav-dropdown.is-open .nav-submenu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,0); }
.menu-toggle { display:none; width:42px; height:42px; padding:9px; border:0; border-radius:9px; background:#edf3ff; cursor:pointer; }
.menu-toggle span { width:22px; height:2px; display:block; margin:4px auto; border-radius:2px; background:#263b5c; transition:.25s ease; }
.nav-actions { display:flex; align-items:center; gap:8px; flex:none; }
.account-action { position:relative; min-height:40px; padding:0 13px; display:inline-flex; align-items:center; justify-content:center; gap:7px; border:1px solid transparent; border-radius:10px; color:#34445d; background:transparent; font:inherit; font-size:13px; font-weight:750; opacity:1; -webkit-text-fill-color:currentColor; cursor:pointer; transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.account-login { padding-inline:9px; }
.account-login:hover { color:var(--brand); background:#f5f8ff; }
.account-register { min-width:66px; color:#1759db; border-color:#bfd1f6; background:linear-gradient(145deg,#f8fbff,#edf3ff); box-shadow:0 7px 18px rgba(33,91,198,.09); }
.account-action:hover { transform:translateY(-1px); }
.account-action.is-current { color:var(--brand); border-color:#9ebcff; background:#edf3ff; box-shadow:0 7px 18px rgba(33,91,198,.12); }
.account-status { width:6px; height:6px; flex:none; border-radius:50%; background:#24c99a; box-shadow:0 0 0 3px rgba(36,201,154,.13); }
.account-avatar { position:relative; width:18px; height:18px; flex:none; border:1.7px solid currentColor; border-radius:50%; }
.account-avatar::before { content:""; position:absolute; top:3px; left:50%; width:4px; height:4px; border:1.4px solid currentColor; border-radius:50%; transform:translateX(-50%); }
.account-avatar::after { content:""; position:absolute; left:50%; bottom:2px; width:8px; height:4px; border:1.4px solid currentColor; border-bottom:0; border-radius:7px 7px 0 0; transform:translateX(-50%); }
.nav-account-panel { display:none; }
.mobile-menu-open {
  position:fixed;
  left:0;
  right:0;
  width:100%;
  overflow:hidden;
}
:where(a,button,summary):focus-visible { outline:3px solid #6594ff; outline-offset:4px; }
.logo { flex-shrink:0; }
:where(.hero-grid,.ssl-hero-grid,.ssl-detail-hero-grid,.ssl-detail-layout,.ssltrus-hero-grid,.email-hero-grid,.local-hero-grid,.web-hero-grid,.products,.ssl-products,.brand-grid,.partner-logos,.email-plan,.local-scene-layout,.about-hero-grid,.contact-hero-grid,.about-capability-grid,.contact-channel-grid,.footer-grid) > * { min-width:0; }
:where(h1,h2,h3,.ssl-specs b,.ssl-detail-side dd,.brand-mark,.sale-price,.ssl-buy-price) { overflow-wrap:anywhere; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border-radius: 9px; color: #fff; background: var(--brand); font-weight: 700; box-shadow: 0 8px 22px rgba(24,88,242,.22); transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .15s ease; }
.btn:hover { transform: translateY(-2px); background: var(--brand-dark); }
.btn-outline { color: var(--ink); background: #fff; border: 1px solid var(--line); box-shadow: none; }
.btn-outline:hover { color:#fff; border-color:var(--brand-dark); }
.hero { position: relative; overflow: hidden; padding: 100px 0 86px; background: radial-gradient(circle at 80% 25%,rgba(24,88,242,.13),transparent 30%),linear-gradient(180deg,#f8fbff 0%,#fff 100%); }
.hero:after { content:""; position:absolute; width:460px; height:460px; right:-250px; bottom:-250px; border:80px solid rgba(24,88,242,.045); border-radius:50%; }
.hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 70px; align-items: center; }
/* Business illustrations retain their native 3:2 composition at every breakpoint. */
.hero-illustration { width:100%; max-width:600px; min-width:0; margin-inline:auto; overflow:hidden; border:1px solid rgba(195,213,247,.55); border-radius:24px; background:#eef4ff; box-shadow:0 18px 48px rgba(5,26,65,.12); }
.hero-illustration img,.service-art img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.service-art { overflow:hidden; background:#eef4ff; }
.industry-card.industry-illustrated { min-height:0; padding:0; overflow:hidden; justify-content:flex-start; border:1px solid var(--line); color:var(--ink); background:#fff; }
.industry-art,.contact-art { margin:0; overflow:hidden; background:#eef4ff; }
.industry-art img,.contact-art img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.industry-copy { padding:22px; }
.industry-copy p { color:var(--muted); opacity:1; line-height:1.75; }
.contact-art { margin-bottom:24px; border-radius:14px; }
@media(max-width:1000px) { .hero-illustration { max-width:540px; } .email-hero-grid:has(>.hero-illustration),.local-hero-grid:has(>.hero-illustration),.web-hero-grid:has(>.hero-illustration),.about-hero-grid:has(>.hero-illustration) { gap:32px; } }
@media(max-width:600px) { .hero-illustration { max-width:390px; border-radius:18px; box-shadow:0 10px 24px rgba(5,26,65,.08); } }
.eyebrow { display: inline-flex; gap: 8px; align-items:center; padding: 7px 12px; border: 1px solid #cbdcff; border-radius: 99px; color: var(--brand); background:#fff; font-size: 13px; font-weight: 700; }
.eyebrow:before { content:""; width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 0 4px rgba(25,200,151,.13); }
h1 { margin: 24px 0 20px; font-size: clamp(42px,5vw,68px); line-height: 1.08; letter-spacing: -2.7px; }
.gradient { color: var(--brand); }
.hero-copy { max-width: 610px; color: var(--muted); font-size: 18px; }
.hero-actions { display:flex; gap:12px; margin:32px 0 30px; }
.mini-trust { display:flex; flex-wrap:wrap; gap:20px; color:#475569; font-size:13px; }
.mini-trust span:before { content:"✓"; margin-right:7px; color:var(--mint); font-weight:900; }
.security-card { position:relative; padding:32px; border:1px solid #dbe7fb; border-radius:24px; background:rgba(255,255,255,.88); box-shadow:var(--shadow); }
.browser { border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#fff; }
.browser-top { display:flex; gap:6px; padding:12px 14px; background:#f1f5f9; }
.browser-top i { width:8px; height:8px; border-radius:50%; background:#cbd5e1; }
.url { margin:14px; padding:10px 14px; border-radius:7px; color:#526177; background:#f7f9fc; font-size:12px; }
.url b { color:var(--mint); }
.shield { margin:28px auto 18px; width:118px; height:136px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#1760fa,#0c3eb8); clip-path:polygon(50% 0,95% 17%,88% 72%,50% 100%,12% 72%,5% 17%); font-size:52px; filter:drop-shadow(0 16px 20px rgba(24,88,242,.25)); }
.verified { text-align:center; padding: 0 20px 28px; }
.verified strong { display:block; font-size:20px; }
.verified small { color:var(--muted); }
.floating-chip { position:absolute; right:-22px; bottom:70px; padding:13px 17px; border-radius:11px; background:#fff; box-shadow:0 14px 35px rgba(9,30,66,.14); font-size:12px; font-weight:700; }
.floating-chip b { color:var(--mint); }
.trust-copy { display:block; min-width:92px; }
.trust-copy strong { color:#263b5c; line-height:1.2; }
.trust-copy > span { display:block; margin-top:5px; }
.section { padding:96px 0; }
.section.alt { background:var(--paper); }
.section-head { max-width:680px; margin:0 auto 48px; text-align:center; }
.section-head h2 { margin:12px 0; font-size:clamp(31px,4vw,44px); line-height:1.15; letter-spacing:-1.4px; }
.section-head p { margin:0; color:var(--muted); }
.section-head h2 { text-wrap:balance; }
.products { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.product { position:relative; padding:30px; border:1px solid var(--line); border-radius:16px; background:#fff; transition:.2s; }
.product:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.product.featured { border:2px solid var(--brand); box-shadow:0 18px 50px rgba(24,88,242,.12); }
.badge { position:absolute; top:-13px; right:22px; padding:5px 12px; border-radius:99px; color:#fff; background:var(--brand); font-size:11px; font-weight:800; }
.product h3 { margin:15px 0 4px; font-size:22px; }
.product > p { color:var(--muted); font-size:14px; min-height:48px; }
.price { margin:24px 0; font-size:38px; font-weight:850; letter-spacing:-1.5px; }
.price small { color:var(--muted); font-size:13px; font-weight:500; letter-spacing:0; }
.product ul { list-style:none; padding:0; margin:24px 0; border-top:1px solid #edf1f6; }
.product li { padding:11px 0; border-bottom:1px solid #edf1f6; color:#46556b; font-size:13px; }
.product li:before { content:"✓"; margin-right:8px; color:var(--mint); font-weight:900; }
.product .btn { width:100%; }
.product { display:flex; flex-direction:column; }
.product .btn { margin-top:auto; }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.service-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.service-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; transition:.25s ease; }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.service-visual { height:190px; display:grid; place-items:center; background:linear-gradient(145deg,#eaf1ff,#f8fbff); overflow:hidden; }
.service-content { position:relative; padding:28px; }
.service-number { position:absolute; top:27px; right:27px; color:#d8e2f2; font-size:25px; font-weight:850; }
.service-content h3 { margin:0 0 10px; padding-right:36px; font-size:23px; }
.service-content p { min-height:68px; margin:0; color:var(--muted); font-size:13px; }
.service-content ul { list-style:none; padding:16px 0; margin:16px 0; border-top:1px solid #edf1f6; border-bottom:1px solid #edf1f6; }
.service-content li { padding:4px 0; color:#46556b; font-size:13px; }
.service-content li:before { content:"✓"; margin-right:8px; color:var(--mint); font-weight:900; }
.service-content a { color:var(--brand); font-size:13px; font-weight:800; }
.service-card { display:flex; flex-direction:column; }
.service-content { display:flex; flex-direction:column; flex:1; }
.service-content a { margin-top:auto; }
.partners-section { background:linear-gradient(180deg,#f6f8fc,#eef4ff); }
.partner-carousel { position:relative; padding-top:8px; }
.partner-stories { display:flex; gap:20px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory; scrollbar-width:none; }
.partner-stories::-webkit-scrollbar { display:none; }
.partner-story { min-height:0; padding:26px; display:grid; grid-template-columns:96px minmax(0,1fr); align-items:center; gap:22px; border:1px solid #dce5f2; border-radius:18px; background:#fff; box-shadow:0 12px 32px rgba(11,38,87,.055); }
.partner-story { flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start; }
.partner-arrow { position:absolute; z-index:5; top:50%; width:52px; height:88px; padding:0; display:grid; place-items:center; border:0; border-radius:0; color:#5f7595; background:transparent; box-shadow:none; cursor:pointer; font-size:52px; font-weight:300; line-height:1; transform:translateY(-50%); transition:color .2s ease,transform .2s ease,opacity .2s ease; }
.partner-arrow:hover { color:var(--brand); background:transparent; transform:translateY(-50%) scale(1.08); }
.partner-arrow:disabled { color:#aab6c8; background:transparent; box-shadow:none; cursor:default; opacity:.28; }
.partner-prev { left:-62px; right:auto; }.partner-next { right:-62px; }
.partner-logo-image { width:96px; height:72px; padding:5px; display:grid; place-items:center; flex:none; border-radius:14px; background:#f8faff; }
.partner-logo-image img { display:block; max-width:100%; max-height:62px; width:auto; height:auto; object-fit:contain; }
.partner-logos img { display:block; max-width:150px; max-height:52px; width:auto; height:auto; object-fit:contain; }
.partner-logos img { max-width:min(150px,100%); }
.partner-story > div:last-child { min-width:0; overflow-wrap:anywhere; }
.partner-story h3 { margin:0 0 9px; font-size:19px; line-height:1.4; }.partner-story h3 small { padding:3px 6px; border-radius:4px; color:#7e8ba0; background:#f0f3f8; font-size:9px; vertical-align:middle; }.partner-story p { margin:0; color:var(--muted); font-size:13px; line-height:1.75; }
.partner-logos { margin-top:24px; padding:22px; display:grid; grid-template-columns:repeat(6,1fr); gap:12px; border-radius:17px; background:var(--brand); }
.partner-logo-head { margin-top:42px; text-align:center; }.partner-logo-head h3 { margin:6px 0 0; font-size:26px; }
.partner-logos > div { min-height:82px; padding:12px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:8px; background:#fff; text-align:center; }
.partner-logos b { color:#253650; font-size:14px; letter-spacing:.2px; }.partner-logos span { margin-top:4px; color:#8a98ab; font-size:9px; }
.feature { padding:8px; }
.icon { width:50px; height:50px; display:grid; place-items:center; border-radius:13px; color:var(--brand); background:#eaf0ff; font-size:22px; }

/* Source: assets/css/theme-components.css */
/* Equal-width information cards use a centered visual anchor while copy stays left aligned. */
.reason .icon,
.web-plan > .icon,
.base-item > .icon,
.email-feature-grid article > span,
.local-benefit-grid .benefit-icon,
.gaode-right-grid .benefit-icon { margin-left:auto; margin-right:auto; }
.icon img { width:26px; height:26px; display:block; object-fit:contain; }
.benefit-icon img { width:27px; height:27px; display:block; object-fit:contain; }
.email-envelope img { width:40px; height:40px; display:block; }
.feature h3 { margin:18px 0 8px; font-size:18px; }
.feature p { margin:0; color:var(--muted); font-size:14px; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; counter-reset:step; }
.step { position:relative; padding-top:20px; counter-increment:step; }
.step:before { content:"0" counter(step); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#fff; background:var(--brand); font-weight:800; }
.step:not(:last-child):after { content:""; position:absolute; left:57px; right:-14px; top:43px; border-top:1px dashed #a9b9d2; }
.step h3 { margin:18px 0 6px; font-size:17px; }
.step p { margin:0; color:var(--muted); font-size:13px; }
.cta { padding:64px; display:flex; align-items:center; justify-content:space-between; gap:40px; border-radius:24px; color:#fff; background:linear-gradient(120deg,#071939,#0d42bc 65%,#1767ff); overflow:hidden; }
.cta h2 { margin:0 0 10px; font-size:34px; }
.cta p { margin:0; color:#c9d8f6; }
.cta .btn { color:var(--brand); background:#fff; white-space:nowrap; }
.hero-actions > .btn:first-child { min-width:190px; }
.faq { max-width:820px; margin:auto; }
.faq details { padding:20px 0; border-bottom:1px solid var(--line); }
.faq summary { cursor:pointer; font-weight:700; }
.faq p { margin:12px 0 0; color:var(--muted); font-size:14px; }
/* Shared by website and email certificates, enterprise email and brand pages. */
.ssl-jump { position:sticky; top:calc(74px + var(--admin-bar-offset,0px)); z-index:15; border-bottom:1px solid var(--line); background:#fff; }
.ssl-jump .wrap { height:60px; display:flex; align-items:center; gap:28px; overflow-x:auto; overflow-y:hidden; white-space:nowrap; scrollbar-width:none; }
.ssl-jump .wrap::-webkit-scrollbar { display:none; }
.ssl-jump a { flex:none; display:flex; align-items:center; min-height:44px; color:#526177; font-size:13px; font-weight:700; }
.ssl-jump a:hover { color:var(--brand); }
.ssl-jump a:focus-visible { outline-offset:-3px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:10000; padding:10px 16px; border-radius:8px; color:#fff; background:#1858f2; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); outline:2px solid #fff; outline-offset:3px; }
#main-content { scroll-margin-top:90px; }
.site-footer { padding:60px 0 28px; color:#aebbd0; background:#061124; }
.footer-grid { display:block; }
.footer-grid > .footer-brand { grid-column:1 / -1; display:flex; align-items:center; gap:40px; padding-bottom:26px; border-bottom:1px solid #1a2940; }
.footer-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:32px 24px; padding-top:32px; }
.footer-nav-group { min-width:0; }
.footer-nav-links > a { overflow-wrap:anywhere; }
.footer-brand p { max-width:680px; margin:0; line-height:1.85; }
.footer-grid .footer-brand .logo { flex:none; margin:0; min-height:44px; }
.site-footer .footer-phone { display:inline-flex; align-items:center; min-height:44px; margin:0; color:inherit; font-size:inherit; }
main :is(.faq,.sf-faq) summary { min-height:44px; }
main :is(.ssltrus-filter,.email-sign-filter) button { min-height:44px; }
main .ssl-type>a,main .brand-email-link { display:inline-flex; align-items:center; min-height:44px; }
.footer-grid > div > a:not(.logo),.footer-nav > div > a { overflow-wrap:anywhere; }
.site-footer a.logo { width:max-content; display:inline-flex; flex-direction:row; align-items:center; gap:13px; margin:0 0 18px; color:#fff; }
.site-footer .brand-logo { width:48px; height:48px; }
.site-footer .brand-name { display:flex; flex-direction:column; justify-content:center; font-size:24px; line-height:1.05; }
.site-footer .brand-name { color:#fff; }
.site-footer .brand-name small { margin-top:6px; color:#7185a5; font-size:8px; letter-spacing:1.5px; }
.site-footer h4 { margin:0 0 15px; color:#fff; }
.site-footer p,.site-footer a { color:#91a0b8; font-size:13px; }
.site-footer a { display:block; margin:8px 0; }
/* Current column: static emphasis, no spacing changes or menu effects. */
.site-footer .footer-nav-links > a.is-current {
  color:#c8dcff; text-decoration:underline; text-decoration-color:#7eabff;
  text-underline-offset:5px; text-decoration-thickness:2px;
}
.copyright { margin-top:45px; padding-top:22px; display:flex; justify-content:space-between; border-top:1px solid #1a2940; font-size:12px; }
.page-position-tools {
  position:fixed; right:max(18px,env(safe-area-inset-right));
  bottom:calc(104px + env(safe-area-inset-bottom)); z-index:18;
  display:flex; flex-direction:column; gap:6px;
}
.page-position-tools a {
  width:50px; min-height:52px; padding:7px 4px; display:flex;
  flex-direction:column; align-items:center; justify-content:center; gap:2px;
  border:1px solid #d4dfef; border-radius:10px; color:#526a8b;
  background:#fff; box-shadow:0 3px 12px rgba(19,49,92,.08);
  font-size:11px; font-weight:650; line-height:1.4; text-decoration:none;
}
.page-position-tools a:hover { color:#1858e8; border-color:#9ebbf0; background:#f3f7ff; }
.page-position-tools a:focus-visible { outline:2px solid #1858e8; outline-offset:3px; }
.mobile-menu-open .page-position-tools { visibility:hidden; }
#site-bottom { height:0; scroll-margin:0; }
@media(max-width:620px) {
  .page-position-tools { right:max(8px,env(safe-area-inset-right)); bottom:calc(16px + env(safe-area-inset-bottom)); gap:4px; }
  .page-position-tools a { width:44px; min-height:44px; padding:7px; border-radius:9px; }
  .page-position-tools span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
}
.page-position-tools[data-position-hidden="true"] { visibility:hidden; }
@media print { .page-position-tools { display:none; } }
@media(max-height:420px) { .page-position-tools { bottom:calc(12px + env(safe-area-inset-bottom)); } }
.beian { padding-top:13px; display:flex; align-items:center; justify-content:center; gap:0; color:#71819a; font-size:12px; }
.beian a { display:inline-flex; align-items:center; gap:3px; margin:0; color:#71819a; line-height:20px; }
.beian a:hover { color:#c8d5e8; }
.beian { justify-content:safe center; }
.beian-divider { margin:0 4px; color:#34445c; }
.footer-placeholder { color:#71819a; line-height:20px; white-space:nowrap; }
.footer-contact { padding-top:12px; display:flex; align-items:center; justify-content:center; gap:22px; color:#71819a; font-size:12px; }
.beian-icon { width:20px; height:20px; flex:0 0 20px; object-fit:contain; }
