/* Source: assets/css/theme-responsive.css */
/* Shared content sizing: preserve image proportions and contain rich product data. */
.brand-logo-box img { max-width:min(145px,100%); }
.ssl-buy-brand img { min-width:0; max-width:min(180px,65%); }
.ssl-buy-brand span { overflow-wrap:anywhere; }
.ssl-buy-card { width:100%; }
.ssl-detail-hero .mini-trust { color:#d4e1f7; gap:10px 18px; }
.ssl-detail-hero .mini-trust span { line-height:1.6; }
.ssl-detail-side dt { flex:0 0 64px; }
.ssl-detail-side dd { min-width:0; }
.ssl-detail-content { min-width:0; overflow-wrap:anywhere; }
.ssl-detail-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.ssl-detail-content pre { max-width:100%; overflow:auto; }
.ssl-detail-content iframe,.ssl-detail-content video { max-width:100%; }
.page-content { max-width:860px; margin:0 auto 40px; overflow-wrap:anywhere; }
.page-content h1 { font-size:clamp(30px,4vw,46px); line-height:1.25; letter-spacing:-1px; }
.page-content h2,.page-content h3 { line-height:1.4; margin-top:1.5em; }
.page-content p,.page-content li { line-height:1.9; }
.page-content img,.page-content video { max-width:100%; height:auto; }
.page-content iframe { max-width:100%; }
.page-content figure { max-width:100%; margin-left:0; margin-right:0; }
.page-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.page-content td,.page-content th { padding:12px; border:1px solid var(--line); }
.page-content pre { padding:16px; overflow:auto; border-radius:10px; background:var(--paper); }
.sale-line { flex-wrap:wrap; }
.web-plan { display:flex; flex-direction:column; }
.web-plan > a { margin-top:auto; }
@media (min-width:621px) and (max-width:1000px) {
  .email-feature-grid,.local-benefit-grid,.local-flow-grid,.local-process,.gaode-right-grid,.gaode-platforms,.gaode-analysis-grid,.about-capability-grid,.about-identity-grid,.about-values-grid,.contact-channel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .email-function-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .local-scene-layout,.local-operation { grid-template-columns:minmax(0,1fr); }
  .about-values-grid article { padding:28px; }
  .contact-channel { padding:24px; }
}
@media (min-width:901px) and (max-width:1204px) {
  .partner-carousel { padding:8px 0 0; }
  .partner-prev { left:-34px; right:auto; }
  .partner-next { right:-34px; }
}
@media (max-width: 1120px) and (min-width: 901px) {
  .nav-links { gap:11px; font-size:13px; }
  .nav { gap:14px; }
  .nav-actions { gap:5px; }
  .account-action { padding-inline:8px; font-size:12px; }
}
@media (max-width: 900px) {
  /* Page content resets must not remove clearance for the fixed header. */
  body[class] { padding-top:74px; }
  .site-header {
    position:fixed;
    top:var(--admin-bar-offset,0px);
    left:0;
    right:0;
    z-index:1000;
    background:#fff;
    isolation:isolate;
  }
  .nav { position:relative; }
  .menu-toggle { display:block; margin-left:auto; }
  .menu-toggle.is-active span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .menu-toggle.is-active span:nth-child(2) { opacity:0; }
  .menu-toggle.is-active span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
  .nav-actions-desktop { display:none; }
  .nav-links { position:fixed; top:calc(74px + var(--admin-bar-offset,0px)); left:0; right:0; z-index:40; height:calc(100vh - 74px - var(--admin-bar-offset,0px)); max-height:none; padding:10px max(20px,calc((100vw - 1160px)/2)) calc(24px + env(safe-area-inset-bottom)) ; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; overflow-y:auto; border-top:1px solid var(--line); background:#fff; box-shadow:0 24px 40px rgba(11,38,87,.13); opacity:0; visibility:hidden; transform:translateY(-8px); pointer-events:none; transition:.2s ease; }
  .nav-links.is-open { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
  .nav-links { height:calc(100dvh - 74px - var(--admin-bar-offset,0px)); overscroll-behavior:contain; }
  .nav-links > a,.dropdown-head { width:100%; height:52px; display:flex; align-items:center; border-bottom:1px solid #edf1f6; font-size:15px; }
  .nav-links > a.is-current::after,.nav-dropdown.is-current > .dropdown-head::after { left:0; top:14px; bottom:auto; width:3px; height:24px; transform:none; border-radius:0 3px 3px 0; }
  .nav-links > a.is-current,.nav-dropdown.is-current .dropdown-head { padding-left:12px; background:#f5f8ff; }
  .nav-dropdown { width:100%; height:auto; display:block; }
  .dropdown-head { justify-content:space-between; }
  .dropdown-head > a,.dropdown-label { flex:1; }
  .dropdown-head .nav-group-toggle { width:100%; justify-content:space-between; text-align:left; }
  .submenu-toggle { width:44px; height:44px; font-size:18px; }
  .nav-dropdown:hover .submenu-toggle { transform:none; }
  .nav-submenu { position:static; width:100%; padding:0 0 6px 14px; display:none; border:0; border-radius:0; background:#f7f9fc; box-shadow:none; opacity:1; visibility:visible; pointer-events:auto; transform:none; transition:none; }
  .nav-submenu-integrated { grid-template-columns:1fr; gap:0; }
  .nav-submenu-group { padding:5px 8px 7px; }
  .nav-submenu-group + .nav-submenu-group { border-left:0; border-top:1px solid #e7edf7; padding:9px 8px 5px; }
  .nav-submenu-group > small { padding:3px 13px 4px; }
  .nav-submenu:before { display:none; }
  .nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu { display:none; }
  .nav-dropdown.is-open .nav-submenu { display:flex; transform:none; }
  .nav-dropdown.is-open .nav-submenu-integrated { display:grid; }
  .nav-dropdown.is-open .submenu-toggle { transform:rotate(180deg); }
  .nav-dropdown.is-open .dropdown-head .nav-group-toggle { transform:none; }
  .nav-submenu a { padding:11px 13px; font-size:13px; }
  .nav-account-panel { margin-top:auto; padding:18px 0 4px; display:block; border-top:1px solid #e7edf6; }
  .nav-account-heading { margin-bottom:11px; display:flex; align-items:center; justify-content:space-between; }
  .nav-account-heading strong { color:#263a57; font-size:14px; }
  .nav-account-heading span { padding:4px 8px; border-radius:999px; color:#138463; background:#e5f8f2; font-size:9px; font-weight:800; letter-spacing:.5px; }
  .nav-account-buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .nav-account-buttons .account-action { width:100%; min-height:44px; }
  .nav-account-buttons .account-register { color:#fff; border-color:var(--brand); background:var(--brand); box-shadow:0 8px 20px rgba(24,88,242,.18); }
  .nav-account-buttons .account-register small { margin-left:2px; color:#cfe0ff; font-size:9px; }
  .hero { padding-top:68px; }
  .hero-grid { grid-template-columns:1fr; gap:50px; }
  .ssl-hero-grid { grid-template-columns:1fr; }
  .ssl-detail-hero-grid,.ssl-detail-layout { grid-template-columns:1fr; }
  .ssltrus-hero-grid { grid-template-columns:1fr; }
  .email-hero-grid { grid-template-columns:1fr; }
  .email-visual { display:none; }
  .local-hero-grid { grid-template-columns:1fr; }
  .local-visual { display:none; }
  .ssltrus-shield { display:none; }
  .ssl-buy-card { max-width:520px; }
  .ssl-detail-side { position:static; }
  .web-hero-grid,.web-advantages { grid-template-columns:1fr; }
  .security-card { max-width:560px; }
  .products,.features,.service-cards,.ssl-products { grid-template-columns:1fr 1fr; }
  .partner-story { flex-basis:calc((100% - 20px)/2); }
  .partner-carousel { padding:8px 0 0; }
  .partner-prev { left:-28px; right:auto; }
  .partner-next { right:-28px; }
  .partner-logos { grid-template-columns:repeat(3,1fr); }
  .brand-grid { grid-template-columns:repeat(3,1fr); }
  .ssl-types { grid-template-columns:1fr; }
  .reason-grid { grid-template-columns:1fr 1fr; }
  .web-plans,.web-base { grid-template-columns:1fr 1fr; }
  .industry-grid,.case-grid { grid-template-columns:1fr 1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .step:after { display:none; }
  .footer-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
  .footer-grid > div:first-child { grid-column:1 / -1; }
  .about-hero-grid,.contact-hero-grid,.about-story-grid,.contact-ready-grid { grid-template-columns:1fr; gap:48px; }
  .about-facts-grid { grid-template-columns:1fr; }
  .about-brand-stage { max-width:480px; }
  .contact-hero-panel { max-width:560px; }
  .contact-service-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .nav-submenu a { white-space:normal; overflow-wrap:anywhere; line-height:1.55; }
  .ssl-hero { padding:40px 0; }
  .ssl-effect { padding:48px 0; }.ssl-effect-head { text-align:left; }.ssl-effect-figure { margin-top:24px; border-radius:16px; }.ssl-effect-figure figcaption { grid-template-columns:1fr; }.ssl-effect-figure figcaption span { padding:13px 16px 13px 39px; text-align:left; }
  .ssl-hero-grid { gap:28px; }
  .ssl-orbit { width:190px; height:190px; }
  .ssl-orbit:before { inset:24px; }
  .ssl-orbit:after { inset:48px; }
  .ssl-core { width:76px; height:88px; font-size:32px; }
  .ssl-dot { width:32px; height:32px; font-size:10px; }
  .ssl-dot.d1 { top:5px; left:30px; }
  .ssl-dot.d2 { right:-2px; top:76px; }
  .ssl-dot.d3 { bottom:4px; left:30px; }
  .hero { padding:48px 0 42px; }
  .hero:after { display:none; }
  .hero-grid { gap:30px; }
  .security-card { width:100%; padding:14px; border-radius:18px; box-shadow:0 14px 38px rgba(11,38,87,.1); }
  .browser { border-radius:12px; }
  .browser-top { padding:9px 11px; }
  .browser-top i { width:7px; height:7px; }
  .url { margin:10px; padding:9px 10px; overflow:hidden; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
  .shield { width:72px; height:84px; margin:17px auto 12px; font-size:32px; filter:drop-shadow(0 10px 14px rgba(24,88,242,.2)); }
  .verified { padding:0 12px 17px; }
  .verified strong { font-size:16px; }
  .verified small { display:block; margin-top:3px; overflow:hidden; font-size:10px; white-space:nowrap; text-overflow:ellipsis; }
  .floating-chip { position:static; width:max-content; max-width:100%; margin:10px auto 0; padding:8px 11px; border:1px solid #e4ebf6; box-shadow:none; font-size:10px; }
  .ssl-detail-hero { padding:50px 0; }
  .ssl-detail-hero-grid { gap:34px; }
  .ssl-detail-hero h1 { font-size:34px; }
  .ssl-breadcrumb { margin-bottom:22px; overflow:hidden; }
  .ssl-breadcrumb span { max-width:145px; }
  .ssl-buy-card { padding:23px; }
  .ssl-detail-bar .wrap { grid-template-columns:1fr 1fr; padding:12px 0; }
  .ssl-detail-bar div { padding:12px 10px; }
  .ssl-detail-bar div:nth-child(2) { border-right:0; }
  .ssl-detail-layout { gap:35px; }
  .ssltrus-stats .wrap { grid-template-columns:1fr 1fr; padding:10px 0; }
  .ssltrus-stats .wrap > div:nth-child(2) { border-right:0; }
  .ssltrus-levels { grid-template-columns:1fr; }
  .email-plan { grid-template-columns:1fr; }
  .email-plan-main { grid-row:auto; }
  .email-feature-grid { grid-template-columns:1fr 1fr; }
  .email-function-list { grid-template-columns:repeat(3,1fr); }
  .local-benefit-grid,.local-flow-grid,.local-process { grid-template-columns:1fr 1fr; }
  .local-operation { grid-template-columns:1fr; }
  .gaode-right-grid,.gaode-platforms,.gaode-analysis-grid { grid-template-columns:1fr 1fr; }
  .ssl-market-filter { grid-template-columns:1fr 1fr; }
  .ssl-detail-content h2 { font-size:27px; }
  .wrap { width:min(100% - 28px,1160px); }
  .nav .btn { display:none; }
  h1 { font-size:clamp(32px,9vw,38px); line-height:1.12; letter-spacing:-1.2px; }
  .ssl-hero h1,.email-hero h1,.local-hero h1,.ssltrus-hero h1,.web-hero h1,.cases-hero h1 { font-size:clamp(32px,9vw,38px); line-height:1.12; letter-spacing:-1.2px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn,.hero-actions > a:not(.btn) { width:100%; justify-content:center; text-align:center; }
  .trust-copy { min-width:0; }
  .products,.features,.service-cards,.ssl-products,.steps,.reason-grid { grid-template-columns:1fr; }
  .features { gap:12px; }
  .feature { padding:18px; display:grid; grid-template-columns:52px minmax(0,1fr); grid-template-rows:auto auto; column-gap:15px; row-gap:5px; align-items:start; border:1px solid #e4ebf7; border-radius:15px; background:linear-gradient(145deg,#f8faff,#fff); }
  .feature .icon { width:52px; height:52px; grid-row:1 / 3; margin:0; border-radius:14px; }
  .feature .icon img { width:27px; height:27px; }
  .feature h3 { margin:1px 0 0; font-size:17px; line-height:1.35; }
  .feature p { margin:0; font-size:12px; line-height:1.65; }
  .ssltrus-hero { padding:48px 0; }
  .brand-breadcrumb { overflow:hidden; white-space:nowrap; }
  .ssltrus-stats b { font-size:16px; }
  .ssltrus-stats .wrap > div { padding:14px 12px; }
  .email-hero { padding:50px 0; }
  .email-plan-main { padding:30px 24px; }
  .email-plan-specs { grid-template-columns:repeat(2,minmax(0,1fr)); padding:24px; gap:22px 16px; }
  .email-plan-specs b { font-size:20px; }
  .email-plan-list { grid-template-columns:1fr; }
  .email-plan-list { padding:25px 28px 30px 45px; }
  .smime-grid { grid-template-columns:1fr; }
  .email-feature-grid { grid-template-columns:1fr; }
  .email-function-list { grid-template-columns:1fr 1fr; }
  .local-hero { padding:50px 0; }
  .local-stats .wrap { grid-template-columns:1fr 1fr; padding:10px 0; }
  .local-stats .wrap>div { padding:13px 12px; }
  .local-stats .wrap>div:nth-child(2) { border-right:0; }
  .local-benefit-grid,.local-flow-grid,.local-process,.local-case-grid { grid-template-columns:1fr; }
  .local-benefit-grid article { min-height:0; padding:22px; display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 14px; }
  .local-benefit-grid .benefit-icon { grid-column:1; grid-row:1 / 3; width:44px; height:44px; margin:0; }
  .local-benefit-grid article > span { grid-column:2; align-self:end; }
  .local-benefit-grid h3 { grid-column:2; margin:0; font-size:17px; line-height:1.5; }
  .local-benefit-grid p { grid-column:1 / -1; margin-top:8px; font-size:13px; }
  .gaode-right-grid article { padding:22px; display:grid; grid-template-columns:44px minmax(0,1fr); gap:6px 14px; }
  .gaode-right-grid .benefit-icon { grid-row:1 / 3; width:44px; height:44px; }
  .gaode-right-grid h3 { grid-column:2; margin:0; font-size:17px; line-height:1.5; }
  .gaode-right-grid p { grid-column:2; font-size:13px; line-height:1.75; }
  .local-scene-layout,.local-operation-steps { grid-template-columns:1fr; }
  .local-operation-intro { padding:30px 24px; }
  .local-operation-steps { padding:18px; }
  .local-process-tip { flex-direction:column; }
  .gaode-right-grid,.gaode-platforms,.gaode-analysis-grid { grid-template-columns:1fr; }
  .gaode-marketing-layout,.gaode-decoration>div { grid-template-columns:1fr; }
  .ssl-market-filter { gap:4px; margin-bottom:24px; }
  .ssl-market-filter button { min-height:110px; padding:12px 4px 15px; }
  .ssl-market-icon { width:48px; height:48px; margin-bottom:7px; }
  .ssl-market-filter b { font-size:13px; }
  .ssl-product h3 { min-height:0; display:block; overflow:visible; -webkit-line-clamp:unset; }
  .ssl-product > p { height:auto; min-height:0; display:block; overflow:visible; -webkit-line-clamp:unset; }
  .ssl-specs { min-height:0; }
  .partner-carousel { padding:6px 0 0; }
  .partner-stories { gap:12px; }
  .partner-story { flex-basis:88%; min-width:0; min-height:0; padding:22px; grid-template-columns:80px minmax(0,1fr); gap:16px; }
  .partner-arrow { top:50%; width:42px; height:68px; font-size:42px; }
  .partner-prev { left:-18px; right:auto; }.partner-next { right:-18px; }
  .partner-logos { margin-top:18px; padding:12px; grid-template-columns:1fr 1fr; gap:8px; }
  .partner-logos > div { min-height:67px; }
  .brand-grid { grid-template-columns:1fr 1fr; }
  .web-plans,.web-base,.industry-grid,.case-grid,.adv-list { grid-template-columns:1fr; }
  .web-stats-grid { grid-template-columns:1fr 1fr; padding:14px 0; }
  .section { padding:56px 0; }
  .section-head { margin-bottom:26px; text-align:center; }
  .section-head h2 { font-size:clamp(26px,7vw,32px); line-height:1.35; letter-spacing:-.6px; }
  .section-head p { font-size:14px; line-height:1.75; }
  .cta h2 { font-size:26px; line-height:1.4; }
  .cta p { font-size:14px; line-height:1.75; }
  .ssl-detail-hero h1 { font-size:clamp(28px,8vw,34px); line-height:1.25; }
  .ssl-detail-side { padding:20px; }
  .ssl-detail-side dt,.ssl-detail-side dd { overflow-wrap:anywhere; }
  .ssl-jump .wrap { height:50px; gap:22px; }
  .ssl-jump a { display:flex; align-items:center; min-height:44px; }
  .ssl-detail-bar .wrap > div { min-width:0; }
  .ssl-detail-bar b { overflow-wrap:anywhere; }
  .email-feature-grid article { padding:22px; }
  .case-title-row { align-items:flex-start; flex-direction:column; gap:12px; }
  .case-title-row h2 { font-size:26px; }
  .cta { padding:38px 26px; flex-direction:column; align-items:flex-start; }
  .copyright { flex-direction:column; gap:8px; }
  .beian { width:100%; padding-bottom:4px; flex-direction:row; flex-wrap:nowrap; justify-content:safe center; gap:0; overflow-x:auto; white-space:nowrap; -webkit-overflow-scrolling:touch; }
  .beian::-webkit-scrollbar { display:none; }
  .site-footer .beian a { gap:4px; margin:0; flex:none; font-size:10px; line-height:18px; letter-spacing:0; }
  .footer-placeholder,.beian-divider { flex:none; font-size:10px; line-height:18px; }
  .beian-icon { width:15px; height:15px; flex-basis:15px; }
  .footer-contact { flex-direction:column; align-items:center; gap:4px; }
  .floating-chip { right:-5px; }
  .site-footer { padding:42px 0 22px; }
  .footer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 22px; }
  .footer-grid > .footer-brand { display:block; padding-bottom:22px; }
  .footer-grid > div:first-child { grid-column:1 / -1; }
  .footer-grid > div:first-child p { max-width:520px; margin:16px 0 0; line-height:1.75; }
  .site-footer h4 { margin-bottom:10px; font-size:15px; }
  .site-footer p,.site-footer a { font-size:12px; }
  .site-footer a { margin:6px 0; }
  .footer-grid > div > a:not(.logo),.footer-nav-links > a { min-height:36px; margin:0; padding:7px 0; font-size:13px; line-height:1.7; }
  .hero-actions > a:not(.btn) { display:flex; align-items:center; justify-content:center; min-height:44px; }
  .service-content > a,.about-capability-grid article > a { display:flex; align-items:center; min-height:44px; }
  .compare th,.compare td { padding:14px; }
  .compare th:first-child,.compare td:first-child { position:sticky; left:0; z-index:1; width:110px; min-width:110px; box-shadow:2px 0 0 #e8edf4; }
  .copyright { margin-top:30px; padding-top:18px; font-size:11px; text-align:center; align-items:center; }
  .steps { display:block; }
  .step { min-height:82px; padding:14px 0 18px; display:grid; grid-template-columns:38px minmax(0,1fr); grid-template-rows:auto auto; column-gap:14px; align-items:start; }
  .step:before { grid-column:1; grid-row:1 / 3; width:38px; height:38px; font-size:12px; position:relative; z-index:2; }
  .step:not(:last-child):after { display:block; left:18px; right:auto; top:52px; bottom:-2px; width:0; border-top:0; border-left:1px dashed #b8c7dc; }
  .step h3 { grid-column:2; grid-row:1; margin:0 0 5px; padding-top:1px; font-size:16px; line-height:1.35; }
  .step p { grid-column:2; grid-row:2; margin:0; font-size:12px; line-height:1.65; }
  #process,#faq { padding:48px 0; }
  #process .section-head,#faq .section-head { margin-bottom:22px; text-align:center; }
  #process .section-head h2,#faq .section-head h2 { margin:11px 0 0; font-size:clamp(28px,7.8vw,34px); line-height:1.18; letter-spacing:-1px; }
  #process .steps { padding-top:2px; }
  #faq .faq { display:grid; gap:10px; }
  #faq .faq details { padding:16px 17px; border:1px solid #e2e9f4; border-radius:12px; background:#fff; }
  #faq .faq summary { padding-right:24px; font-size:15px; line-height:1.5; }
  #faq .faq p { margin-top:10px; font-size:12px; line-height:1.7; }
  .about-hero,.contact-hero { padding:55px 0; }
  .about-hero h1,.contact-hero h1 { font-size:clamp(34px,10vw,42px); line-height:1.1; letter-spacing:-1.5px; }
  .about-hero h1 { font-size:clamp(28px,8.4vw,36px); line-height:1.16; letter-spacing:-1px; }
  .about-hero-copy>p,.contact-hero-grid>div>p { font-size:14px; line-height:1.8; }
  .about-brand-stage { display:none; }
  .about-story-grid { gap:26px; }.about-story h2 { font-size:30px; letter-spacing:-1px; }.about-story-points { margin-top:25px; grid-template-columns:1fr; gap:8px; }.about-story-points li { padding:12px 14px; display:flex; align-items:center; gap:12px; }.about-story-points strong { margin-top:0; }.about-story-copy p { margin-top:0; font-size:13px; line-height:1.85; }.about-story-copy p + p { margin-top:17px; padding-top:17px; }
  .about-capability-grid,.about-identity-grid,.about-values-grid,.contact-channel-grid,.contact-service-grid { grid-template-columns:1fr; }
  .about-identity { padding-top:10px; }
  .about-identity-grid { gap:12px; }
  .about-identity-grid article { min-height:0; padding:22px; border-radius:15px; }
  .about-identity-grid h3 { margin:18px 0 7px; font-size:19px; }
  .about-identity-grid p { font-size:13px; line-height:1.75; }
  .about-capability-grid article { min-height:0; padding:24px; }.about-icon { width:82px; height:82px; }.about-icon img { width:78px; height:78px; }.about-capability-grid small { top:30px; right:24px; }.about-capability-grid h3 { margin-top:20px; font-size:20px; }.about-capability-grid p { min-height:0; }
  .about-values { padding:54px 0; }.about-values .section-head { margin-bottom:26px; }.about-values .section-head p { margin-top:11px; }.about-values-grid { gap:12px; }.about-values-grid article { min-height:0; padding:23px; border-radius:15px; }.about-values-grid i { width:32px; height:32px; }.about-values-grid h3 { margin:19px 0 7px; font-size:20px; }
  .about-cta { padding:52px 0; }.about-cta .wrap { flex-direction:column; align-items:flex-start; }.about-cta h2 { font-size:30px; }.about-cta .btn { width:100%; }
  .contact-hero-grid { gap:32px; }.contact-hero-panel { padding:25px; }.contact-hero-panel>strong { font-size:21px; }
  .contact-channel { padding:24px; }
  .contact-service-grid article { min-height:0; padding:23px; }.contact-service-grid h3 { margin:25px 0 8px; }
  .contact-ready-grid { gap:32px; }.contact-ready h2 { font-size:31px; }.contact-ready li { grid-template-columns:40px 1fr; gap:13px; }
}
@media (max-width:380px) {
  .email-function-list { grid-template-columns:1fr; }
  .site-footer h4 { font-size:13px; }
  .ssl-product,.product { padding:20px; }
  .brand-tile { padding:14px 10px; }
  .partner-story { flex-basis:100%; padding:18px; grid-template-columns:68px minmax(0,1fr); gap:14px; border-radius:15px; }
  .partner-logo-image { width:68px; height:58px; padding:4px; border-radius:11px; }
  .partner-logo-image img { max-height:50px; }
  .partner-story h3 { margin-bottom:6px; font-size:17px; }
  .partner-story p { font-size:12px; line-height:1.7; }
}

/* Branded QR card: keep the original scannable bitmap untouched. */
.contact-qr-card .contact-qr { position:static; display:block; width:106px; height:106px; margin:0; padding:0; border:0; border-radius:7px; }
@media (max-width:620px) {
  .contact-channel-wechat { padding-right:24px; }
  .contact-qr-card { position:static; width:142px; margin-top:20px; }
}

/* Brand-led blocks read better centered on phones; keep long-form content left aligned. */
@media (max-width:620px) {
  .partners-section .section-head { max-width:420px; margin-right:auto; margin-left:auto; text-align:center; }
  .partners-section .section-head p { margin-right:auto; margin-left:auto; }
  .partner-carousel { padding:6px 0; }
  .partner-stories { padding-inline:6%; scroll-padding-inline:6%; }
  .partner-arrow { top:50%; bottom:auto; width:38px; height:38px; border:1px solid #dbe3ef; border-radius:50%; color:#62738d; background:rgba(255,255,255,.96); box-shadow:0 8px 24px rgba(11,38,87,.14); font-size:25px; transform:translateY(-50%); }
  .partner-arrow:hover { color:var(--brand); border-color:#b9cdf5; background:#fff; transform:translateY(-50%); }
  .partner-arrow:disabled { color:#aab6c8; border-color:#e4eaf3; background:#f5f7fb; opacity:1; }
  .partner-prev { right:auto; left:-7px; }
  .partner-next { right:-7px; left:auto; }
  .partner-story { flex-basis:100%; grid-template-columns:1fr; justify-items:center; gap:12px; scroll-snap-align:center; text-align:center; }
  .partner-story > div:last-child { width:100%; }
  .partner-logo-image { margin-right:auto; margin-left:auto; }
  .partner-logo-head { text-align:center; }
  .partner-logos > div { align-items:center; justify-content:center; text-align:center; }
  #brands .section-head { max-width:420px; margin-right:auto; margin-left:auto; text-align:center; }
  #brands .section-head p { margin-right:auto; margin-left:auto; }
}
/* Post-illustration layout balance, shared footer and contact accessibility. */
.contact-hero { padding:64px 0; }
.contact-art { max-width:260px; margin-inline:auto; }
.contact-hero-grid>.contact-hero-panel>p { font-size:14px; line-height:1.8; }
.contact-hero .hero-actions { margin:24px 0 0; }
.contact-channel { min-height:0; }
.contact-qr { position:static; display:block; width:96px; height:96px; margin-top:20px; }
.contact-channel-icon { margin-bottom:24px; }
@media(max-width:600px) {
  .industry-card.industry-illustrated { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:stretch; }
  .industry-art { display:flex; align-items:center; }
  .industry-art img { height:auto; width:100%; }
  .industry-copy { min-width:0; padding:16px; }
  .industry-copy h3 { font-size:17px; }
  .industry-copy p { font-size:13px; }
  .contact-hero { padding:38px 0; }
  .contact-art { max-width:210px; margin-bottom:18px; }
  .contact-hero-panel { padding:22px; }
  .contact-channel { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:14px; padding:20px; }
  .contact-channel-icon { grid-column:1; grid-row:1 / span 4; width:44px; height:44px; margin:0; border-radius:12px; }
  .contact-channel>small,.contact-channel>h3,.contact-channel>strong,.contact-channel>p,.contact-channel>.contact-qr { grid-column:2; }
  .contact-channel h3 { margin:5px 0 8px; font-size:19px; }
  .contact-channel p { margin-top:10px; font-size:13px; }
  .site-footer { padding:38px 0 20px; }
  .footer-grid > .footer-brand { padding-bottom:22px; }
  .footer-grid > .footer-brand .logo { margin-bottom:14px; }
  .footer-grid > .footer-brand p { margin-top:0; font-size:12px; line-height:1.8; }
  .footer-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px 28px; padding-top:26px; }
  .footer-nav > div { min-width:0; margin:0; }
  .footer-nav > div:last-child { margin-bottom:0; }
  .footer-nav h4 { margin-bottom:7px; font-size:15px; }
  .footer-nav > div > a { min-height:0; padding:5px 0; font-size:12px; line-height:1.65; }
  .copyright { margin-top:30px; padding-top:18px; align-items:center; gap:8px; font-size:11px; line-height:1.7; text-align:center; }
  .footer-contact { padding-top:12px; flex-direction:column; flex-wrap:nowrap; justify-content:center; align-items:center; gap:4px; font-size:12px; }
  .beian { width:100%; padding-top:13px; padding-bottom:4px; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center; gap:0; overflow:visible; white-space:normal; }
  .site-footer .beian a { white-space:normal; font-size:10px; text-align:center; }
  .footer-placeholder,.beian-divider { font-size:10px; }
}
@media(max-width:360px) {
  .industry-card.industry-illustrated { grid-template-columns:76px minmax(0,1fr); }
}
@media(max-width:600px) {
  .contact-channel-wechat .contact-qr-card { grid-column:2; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
/* Column hero height system: keep desktop page changes visually stable without clipping long copy. */
@media(min-width:1001px) {
  :is(.column-hero,.service-hero,.ssltrus-hero,.ssl-detail-hero,.email-hero,.email-sign-hero,.yuqing-hero,.case-center-hero) {
    min-height:560px !important;
    box-sizing:border-box;
  }
}

/* Source: assets/css/mobile-layout.css */
/* Opaque mobile navigation: never blend the page into the menu panel. */
.ssl-filter-status { margin:12px 0 20px; color:#526784; font-size:13px; }
/* Public service readability and usable targets; keep the established visual palette. */
main :is(.web-scope-note,.app-scope-note,.geo-note,.baike-note,.baike-agreement-note,.spns-boundary,.ops-boundary,.iot-boundary,.local-note) { color:#566981; }
main .home-business .home-card-kicker { color:#526d96; }
main .contact-channel > small,main .about-capability-grid article > small { color:#526d96; }
main :is(.ssl-products,.ssl-market-products) .sale-price small,
main :is(.ssl-products,.ssl-market-products) .old-price { color:#62718a; }
main .ssltrus-levels article>.validation-mark--dv { background:#1858f2; }
main .ssltrus-levels article>.validation-mark--ov { background:#936209; }
main .ssltrus-levels article>.validation-mark--ev { background:#7748bf; }
main .spns-result-phone>span { color:#566981; }
main .ssl-selection-note { margin:18px 0 0; color:#566981; font-size:13px; line-height:1.8; }
main .geo-service-copy small,main .baike-types small,main .baike-material-tip { color:#566981; }
main .development-app .app-scope-note,main .local-operation .local-operation-steps .process-step p { color:#566981; }
main .iot-twin-note strong { color:#116a57; }
main .cross-browser-bar span { color:#62718a; }
main :is(.brand-breadcrumb,.ssl-breadcrumb) a { display:inline-flex; align-items:center; min-height:32px; }
main :is(.ssl-jump,.yuqing-jump) a,
main .brand-email-link { display:inline-flex; align-items:center; min-height:44px; }
main :is(.ghost-link,.email-ghost,.ssl-type>a,.web-level>a) { display:inline-flex; align-items:center; min-height:44px; }
main :is(.faq,.faq-list,.home-faq) summary { min-height:44px; padding-block:5px; line-height:1.6; cursor:pointer; }
main a:focus-visible,main button:focus-visible,main summary:focus-visible { outline:3px solid #2457b8; outline-offset:4px; border-radius:4px; }
main .software-hero-copy>p>a,main .development-app .app-section-links a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:760px) {
  main :is(.brand-breadcrumb,.ssl-breadcrumb) a { min-height:44px; }
  main :is(.faq,.faq-list,.home-faq) summary { min-height:44px; padding-block:8px; }
  main .email-plan-main { grid-row:auto; padding:22px; }
  main .email-plan h3 { margin:12px 0 8px; font-size:23px; }
  main .email-plan-main p { margin:0; font-size:13px; line-height:1.75; }
  main .email-price { margin:16px 0; }
  main .email-plan-specs { padding:18px 22px; gap:14px; }
  main .email-plan-list { padding:18px 22px 22px 38px; gap:8px; font-size:12px; line-height:1.75; }
}
.btn { gap:6px; }
.home-product-content .btn { white-space:nowrap; }
@media (max-width:900px) {
  .site-header { z-index:1000; }
  .nav-links.is-open { background-color:#fff; opacity:1; isolation:isolate; }
  body.mobile-menu-open main,body.mobile-menu-open .site-footer { visibility:hidden; }
}
/* Shared heading rhythm: allow concise headings to stay on one desktop line. */
.section-head {
  width: min(100%, 900px);
  max-width: 900px;
}
.section-head h2,
.cta h2,
.about-story h2,
.about-cta h2,
.contact-ready h2,
.web-advantages-title,
.caller-intro h2,
.smslogo-intro h2,
.smslogo-value-grid h2 {
  text-wrap: balance;
}
.section-head > p {
  width: min(100%, 760px);
  margin-inline: auto;
  text-wrap: pretty;
}

/* Mobile layout refinements shared by the content columns. */
@media (max-width: 760px) {
  .web-plans {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
}

@media (max-width: 620px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
  }
  .wrap {
    width: calc(100% - 28px);
    max-width: calc(100% - 28px);
  }
  :where(main,section,article,div,figure,.hero-grid,.column-hero-grid,.service-hero-copy,.section-head) {
    min-width: 0;
  }
  :where(h1,h2,h3,p,li,a,span,strong) {
    max-width: 100%;
  }
  :where(h1,h2,h3) {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
  }
  .section-head {
    width: 100%;
  }
  .section-head h2 {
    font-size: clamp(25px, 7vw, 30px);
    line-height: 1.28;
  }
  .section-head > p {
    width: 100%;
    margin-inline: 0;
    font-size: 13px;
    line-height: 1.7;
  }
  .about-story h2 br,
  .about-cta h2 br,
  .contact-ready h2 br,
  .web-advantages-title br,
  .caller-intro h2 br,
  .smslogo-intro h2 br,
  .smslogo-value-grid h2 br {
    display: none;
  }
  .cta h2,
  .about-cta h2,
  .contact-ready h2,
  .web-advantages-title,
  .caller-intro h2,
  .smslogo-intro h2,
  .smslogo-value-grid h2 {
    font-size: clamp(25px, 7vw, 30px);
    line-height: 1.3;
    letter-spacing: -.5px;
  }

  /* Website-building plans: turn tall desktop cards into compact reading rows. */
  .web-plan {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 0 14px;
    min-height: 0;
    padding: 18px;
    border-radius: 15px;
  }
  .web-plan:before {
    width: 68px;
    height: 68px;
    top: -30px;
    right: -30px;
  }
  .web-plan > .icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 46px;
    height: 46px;
    margin: 0;
    border-radius: 13px;
  }
  .web-plan > .icon img {
    width: 25px;
    height: 25px;
  }
  .web-plan h3 {
    grid-column: 2;
    margin: 1px 0 4px;
    font-size: 17px;
    line-height: 1.4;
  }
  .web-plan > p {
    grid-column: 2;
    min-height: 0;
    font-size: 12px;
    line-height: 1.7;
  }
  .web-plan ul {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 12px;
    margin: 14px 0 10px;
    padding: 13px 0 0;
  }
  .web-plan li {
    min-width: 0;
    padding: 1px 0;
    font-size: 11px;
    line-height: 1.55;
  }
  .web-plan li:before {
    margin-right: 5px;
  }
  .web-plan > a {
    grid-column: 1 / -1;
    min-height: 38px;
    margin-top: 0;
    display: inline-flex;
    align-items: center;
  }

  /* Website foundations use the same icon/copy alignment on small screens. */
  .base-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 4px 13px;
    padding: 18px;
  }
  .base-item > .icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 12px;
  }
  .base-item > .icon img {
    width: 24px;
    height: 24px;
  }
  .base-item strong {
    grid-column: 2;
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
  }
  .base-item p {
    grid-column: 2;
    line-height: 1.7;
  }

  .web-advantages {
    gap: 28px;
  }
  .adv-visual {
    padding: 22px;
    border-radius: 18px;
  }
  .adv-board {
    padding: 20px;
  }
  .adv-list {
    gap: 12px;
  }
  .adv-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 4px 13px;
    align-items: start;
    padding: 16px 17px;
    border: 1px solid #e1e9f5;
    border-radius: 14px;
    background: #fff;
  }
  .adv-item > .icon {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 12px;
  }
  .adv-item > .icon img {
    width: 24px;
    height: 24px;
  }
  .adv-item h3 {
    grid-column: 2;
    margin: 0;
    font-size: 16px;
    line-height: 1.45;
  }
  .adv-item p {
    grid-column: 2;
    font-size: 12px;
    line-height: 1.65;
  }

  /* Give the website workflow a clearer mobile rhythm. */
  body.page-template-page-web .step {
    min-height: 90px;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 15px;
    padding: 12px 0 20px;
  }
  body.page-template-page-web .step:before {
    width: 40px;
    height: 40px;
  }
  body.page-template-page-web .step:not(:last-child):after {
    left: 19px;
    top: 52px;
    bottom: -2px;
  }
  body.page-template-page-web .step p {
    line-height: 1.7;
  }

  .web-stats-grid > div {
    padding: 12px 8px;
  }
  .web-stats-grid > div:nth-child(2) {
    border-right: 0;
  }
  .web-stats-grid > div:nth-child(-n+2) {
    border-bottom: 1px solid #213453;
  }

  /* Cards used by other columns: keep icon and copy in one visual row. */
  .reason,
  .email-feature-grid article,
  .caller-feature-grid article,
  .smslogo-feature-grid article,
  .smslogo-pain-grid article,
  .smslogo-scene-grid article {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 5px 14px;
    min-height: 0;
    padding: 18px;
  }
  .reason .icon,
  .email-feature-grid article > span,
  .caller-feature-icon,
  .smslogo-feature-grid article > span,
  .smslogo-pain-grid article > b,
  .smslogo-scene-grid article > span {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 44px;
    height: 44px;
    margin: 0;
    display: grid;
    place-items: center;
    border-radius: 12px;
  }
  .reason h3,
  .email-feature-grid h3,
  .caller-feature-grid h3,
  .smslogo-feature-grid h3,
  .smslogo-pain-grid h3,
  .smslogo-scene-grid h3 {
    grid-column: 2;
    margin: 0;
    font-size: 17px;
    line-height: 1.45;
  }
  .reason p,
  .email-feature-grid p,
  .caller-feature-grid p,
  .smslogo-feature-grid p,
  .smslogo-pain-grid p,
  .smslogo-scene-grid p {
    grid-column: 2;
    font-size: 12px;
    line-height: 1.7;
  }
  .smslogo-pain-grid article > b,
  .smslogo-scene-grid article > span {
    color: #235de2;
    background: #edf4ff;
    font-size: 13px;
    font-weight: 850;
  }

  /* Remove desktop equal-height placeholders once cards stack. */
  .product > p,
  .service-content p,
  .smime-grid p,
  .ssl-type p {
    min-height: 0;
  }
}

@media (max-width: 370px) {
  .web-plan ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Site-wide mobile rhythm: loaded last so page modules share one compact system. */
@media (max-width: 620px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  :where(.home-business,.development-page,.software-page,.baike-page,.geo-page,.caller-page,.smslogo-page,.compliance-page,.baidu-local-page,.industry-cases) img {
    max-width: 100%;
  }

  .section {
    padding: 44px 0;
  }
  .section-head {
    margin-bottom: 22px;
    text-align: center;
  }
  .section-head h2 {
    margin: 10px 0 8px;
    font-size: clamp(25px, 7vw, 29px);
    line-height: 1.28;
    letter-spacing: -.55px;
    text-wrap: balance;
  }
  .section-head > p {
    margin-right: auto;
    margin-left: auto;
    font-size: 13px;
    line-height: 1.7;
    text-wrap: pretty;
  }
  .section .eyebrow,
  .section :is(.local-eyebrow,.gaode-eyebrow) {
    max-width: 100%;
    padding: 5px 10px;
    font-size: 9px;
    line-height: 1.4;
    white-space: normal;
  }

  :where(.development-split,.caller-intro-grid,.smslogo-intro-grid,.smslogo-value-grid,.about-story-grid,.contact-ready-grid) h2 {
    margin: 12px 0 10px;
    font-size: clamp(25px, 7vw, 29px);
    line-height: 1.3;
    letter-spacing: -.55px;
    text-wrap: balance;
  }
  :where(.development-split,.caller-intro-grid,.smslogo-intro-grid,.smslogo-value-grid,.about-story-grid,.contact-ready-grid) h2 br {
    display: none;
  }

  :where(.development-cards,.development-scenes,.software-grid,.software-principles,.baike-types,.baike-reason-grid,.geo-services,.geo-questions,.caller-status-grid,.caller-scene-grid,.caller-feature-grid,.smslogo-feature-grid,.smslogo-pain-grid,.smslogo-scene-grid,.compliance-grid,.compliance-advantage-grid) {
    gap: 12px;
  }
  :where(.development-cards,.development-scenes,.software-principles,.baike-types,.baike-reason-grid,.geo-questions,.caller-status-grid,.caller-scene-grid,.caller-feature-grid,.smslogo-feature-grid,.smslogo-pain-grid,.smslogo-scene-grid,.compliance-grid,.compliance-advantage-grid) > article {
    min-height: 0;
    padding: 18px;
    border-radius: 15px;
  }
  :where(.development-cards,.development-scenes,.software-principles,.baike-types,.baike-reason-grid,.geo-questions,.caller-status-grid,.caller-scene-grid,.caller-feature-grid,.smslogo-feature-grid,.smslogo-pain-grid,.smslogo-scene-grid,.compliance-grid,.compliance-advantage-grid) h3 {
    font-size: 17px;
    line-height: 1.42;
    text-wrap: pretty;
  }
  :where(.development-cards,.development-scenes,.software-principles,.baike-types,.baike-reason-grid,.geo-questions,.caller-status-grid,.caller-scene-grid,.caller-feature-grid,.smslogo-feature-grid,.smslogo-pain-grid,.smslogo-scene-grid,.compliance-grid,.compliance-advantage-grid) p {
    font-size: 12px;
    line-height: 1.7;
  }

  .software-card,
  .geo-service,
  .industry-case {
    border-radius: 15px;
  }
  .software-card-body,
  .geo-service-copy,
  .industry-case-copy {
    padding: 18px;
  }
  .software-card h3,
  .geo-service h3,
  .industry-case-copy h2 {
    font-size: 19px;
    line-height: 1.4;
  }
  .software-card p,
  .geo-service p,
  .industry-case-copy p {
    font-size: 12px;
    line-height: 1.7;
  }

  :where(.development-process,.software-process,.geo-process) {
    display: block;
  }
  :where(.development-process,.software-process,.geo-process) > li {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 3px 13px;
    padding: 14px 0 17px;
    border-bottom: 1px solid #e4ebf5;
  }
  :where(.development-process,.software-process,.geo-process) > li::before {
    grid-column: 1;
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 11px;
    color: #fff;
    background: var(--brand);
    font-size: 11px;
  }
  :where(.development-process,.software-process,.geo-process) h3 {
    grid-column: 2;
    margin: 0;
    font-size: 16px;
    line-height: 1.4;
  }
  :where(.development-process,.software-process,.geo-process) p {
    grid-column: 2;
    margin: 0;
    font-size: 12px;
    line-height: 1.65;
  }

  .caller-process,
  .smslogo-process,
  .local-process {
    gap: 0;
  }
  :where(.caller-process,.smslogo-process) > li,
  .local-process > article {
    min-height: 0;
    padding: 17px 0;
    border: 0;
    border-bottom: 1px solid #e4ebf5;
    background: transparent;
  }

  .hero-actions {
    gap: 9px;
  }
  .hero-actions .btn,
  .hero-actions > a:not(.btn),
  .section .btn {
    min-height: 44px;
  }
  .cta {
    padding: 28px 22px;
    border-radius: 17px;
  }
  .cta h2 {
    font-size: 25px;
    line-height: 1.32;
  }

  .about-capability-grid article,
  .about-values-grid article,
  .contact-channel,
  .contact-service-grid article,
  .smime-grid article {
    min-height: 0;
    padding: 20px;
    border-radius: 15px;
  }
  .about-capability-grid h3,
  .about-values-grid h3,
  .contact-channel h3,
  .contact-service-grid h3,
  .smime-grid h3 {
    font-size: 19px;
  }

  .pain-section {
    padding: 42px 0 26px;
  }
  .pain-section + .section {
    padding-top: 32px;
  }
  .pain-grid {
    gap: 11px;
  }
  .pain-grid article {
    padding: 17px;
    border-radius: 15px;
  }
  .pain-grid h3 {
    font-size: 16px;
    line-height: 1.42;
  }
  .pain-grid p {
    font-size: 12px;
    line-height: 1.65;
  }

  .compare,
  .ssl-detail-content table,
  .page-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  details summary {
    line-height: 1.5;
  }

  /* Two-by-two metric strips need a visible row boundary on phones. */
  :is(.web-stats-grid,.email-stats .wrap,.local-stats .wrap,.ssltrus-stats .wrap) > div {
    min-width: 0;
    padding: 14px 10px;
  }
  :is(.web-stats-grid,.email-stats .wrap,.local-stats .wrap,.ssltrus-stats .wrap) > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
  :is(.web-stats-grid,.email-stats .wrap,.local-stats .wrap,.ssltrus-stats .wrap) > div:nth-child(2n) {
    border-right: 0;
  }

  /* Horizontal category rows should scroll cleanly without a stray scrollbar. */
  :is(.case-filter-bar .wrap,.ssl-jump .wrap,.yuqing-jump .wrap) {
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  :is(.case-filter-bar .wrap,.ssl-jump .wrap,.yuqing-jump .wrap)::-webkit-scrollbar {
    display: none;
  }
}
/* Anchor destinations must remain below the fixed mobile/tablet header. */
@media(max-width:900px){
  :where(section[id],article[id],div[id]){scroll-margin-top:calc(90px + var(--admin-bar-offset,0px))}
  .case-center :where(section[id]){scroll-margin-top:calc(154px + var(--admin-bar-offset,0px))}
}
/* Product names and parameters must remain readable without desktop-height gaps. */
@media(max-width:760px){
  .ssl-products .ssl-product { height:auto; padding:20px; }
  .ssl-products .ssl-product .brand { margin-bottom:12px; }
  .ssl-products .ssl-product h3 { display:block; min-height:0; margin-bottom:8px; font-size:18px; line-height:1.5; overflow:visible; -webkit-line-clamp:unset; }
  .ssl-products .ssl-product > p { display:block; height:auto; line-height:1.75; overflow:visible; -webkit-line-clamp:unset; }
  .ssl-products .ssl-specs { min-height:0; gap:8px 12px; padding:12px 0; margin:12px 0; }
  .ssl-products .ssl-specs b { display:block; overflow:visible; -webkit-line-clamp:unset; overflow-wrap:anywhere; }
  .ssl-products .ssl-product .sale-line { min-height:0; }
  .ssl-products .ssl-product .btn { margin-top:12px; }
  .web-method-grid .web-method-card { padding:20px; }
  .web-method-grid .web-method-image { width:68px; height:68px; margin:0 auto 12px; }
  .web-method-grid .web-method-card h3 { text-align:center; font-size:19px; margin-bottom:10px; }
  .web-method-grid .web-method-card p { font-size:13px; line-height:1.75; }
  .web-method-grid .web-method-card .web-method-limit { margin-top:12px; padding-top:10px; }
  .ops-system-grid article { padding:18px 20px; }
  .ops-system-grid img { width:88px; height:88px; margin:0 auto 12px; }
  .ops-system-grid h3 { font-size:19px; }
  .ops-system-grid p { font-size:13px; line-height:1.75; }
}
/* Tablet footer: generous touch targets without changing navigation groups. */
@media(min-width:621px) and (max-width:1000px) {
  .site-footer .footer-nav-links > a {
    display:flex; align-items:center; min-height:44px; margin:0; padding:6px 0;
  }
  .site-footer .beian a { min-height:44px; }
}
/* Mobile footer: full-width groups with two-column links keep headings easy to scan. */
@media(max-width:620px) {
  .site-footer { padding-top:28px; }
  .site-footer .footer-grid > .footer-brand { padding-bottom:16px; }
  .site-footer .footer-grid > .footer-brand .logo { gap:10px; margin-bottom:10px; }
  .site-footer .brand-logo { width:38px; height:38px; }
  .site-footer .brand-name { font-size:20px; }
  .site-footer .brand-name small { margin-top:5px; font-size:7px; letter-spacing:1.2px; }
  .site-footer .footer-grid > .footer-brand p { line-height:1.7; }
  .site-footer .footer-nav { grid-template-columns:minmax(0,1fr); gap:0; padding-top:8px; }
  .site-footer .footer-nav-group { display:block; min-width:0; padding:14px 0; border:0; border-top:1px solid #1b2e48; border-radius:0; background:transparent; }
  .site-footer .footer-nav-group:first-child { grid-column:auto; }
  .site-footer .footer-nav-group > h4 { display:flex; align-items:center; gap:8px; margin:0 0 7px; padding:0; color:#dce8fb; font-size:14px; font-weight:650; line-height:20px; }
  .site-footer .footer-nav-group > h4::before { content:""; width:3px; height:12px; border-radius:2px; background:#6599ee; }
  .site-footer .footer-nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:12px; row-gap:0; padding:0; }
  .site-footer .footer-nav-links > a { display:flex; align-items:center; min-height:40px; margin:0; padding:6px 0; border-radius:4px; color:#a8b7cd; font-size:13px; line-height:1.6; }
  .site-footer .footer-nav-links > a:hover { color:#fff; }
  .site-footer .footer-nav-links > a:focus-visible { outline:2px solid #8eb9ff; outline-offset:2px; }
  .site-footer .beian a { min-height:44px; }
  .site-footer .copyright { margin-top:8px; }
}
@media(max-width:359px) {
  .site-footer .footer-nav-links { column-gap:8px; }
  .site-footer .footer-nav-links > a { font-size:12px; }
}

/* Source: assets/css/card-icons.css */
:root {
  --card-icon-code:url("../images/iot-multiplatform-v2.webp");
  --semantic-icon:url("../images/about-digital-v2.webp");
}
/* Independent raster assets, bound to each card's meaning (not sprite offsets). */
.about-identity-grid article:nth-child(1){--semantic-icon:url("../images/about-digital-v2.webp")}
.about-identity-grid article:nth-child(2){--semantic-icon:url("../images/home-geo-v2.webp")}
.about-identity-grid article:nth-child(3){--semantic-icon:url("../images/website-custom-v2.webp")}
.about-identity-grid article:nth-child(4){--semantic-icon:url("../images/about-support-v2.webp")}
.about-values-grid article:nth-child(1){--semantic-icon:url("../images/about-security-v2.webp")}
.about-values-grid article:nth-child(2){--semantic-icon:url("../images/icon-renewal-v1.webp")}
.about-values-grid article:nth-child(3){--semantic-icon:url("../images/about-support-v2.webp")}
.smslogo-pain-grid article:nth-child(1){--semantic-icon:url("../images/icon-phone-warning-v1.webp")}
.smslogo-pain-grid article:nth-child(2){--semantic-icon:url("../images/business-icons-webp/sms-missed-message.webp")}
.smslogo-pain-grid article:nth-child(3){--semantic-icon:url("../images/business-icons-webp/sms-brand-inconsistent.webp")}
.smslogo-pain-grid article:nth-child(4){--semantic-icon:url("../images/about-security-v2.webp")}
.smslogo-feature-grid article:nth-child(1){--semantic-icon:url("../images/business-icons-webp/sms-list.webp")}
.smslogo-feature-grid article:nth-child(2){--semantic-icon:url("../images/business-icons-webp/sms-conversation.webp")}
.smslogo-feature-grid article:nth-child(3){--semantic-icon:url("../images/business-icons-webp/sms-notification.webp")}
.caller-feature-grid article:nth-child(1){--semantic-icon:url("../images/caller-id-identity-v2.webp")}
.caller-feature-grid article:nth-child(2){--semantic-icon:url("../images/business-icons-webp/caller-brand-logo.webp")}
.caller-feature-grid article:nth-child(3){--semantic-icon:url("../images/business-icons-webp/caller-call-information.webp")}
.caller-feature-grid article:nth-child(4){--semantic-icon:url("../images/icon-phone-warning-v1.webp")}
.cross-mode-grid article:nth-child(1){--semantic-icon:url("../images/website-template-v2.webp")}
.cross-mode-grid article:nth-child(2){--semantic-icon:url("../images/home-cross-border-v2.webp")}
.cross-mode-grid article:nth-child(3){--semantic-icon:url("../images/icon-network-domain-v1.webp")}
.compliance-advantage-grid article:nth-child(1){--semantic-icon:url("../images/business-icons-webp/compliance-assessment.webp")}
.compliance-advantage-grid article:nth-child(2){--semantic-icon:url("../images/business-icons-webp/compliance-coordination.webp")}
.compliance-advantage-grid article:nth-child(3){--semantic-icon:url("../images/business-icons-webp/compliance-tracking.webp")}
.compliance-advantage-grid article:nth-child(4){--semantic-icon:url("../images/icon-renewal-v1.webp")}
.baike-types article:nth-child(1){--semantic-icon:url("../images/business-icons-webp/encyclopedia-company.webp")}
.baike-types article:nth-child(2){--semantic-icon:url("../images/business-icons-webp/encyclopedia-brand.webp")}
.baike-types article:nth-child(3){--semantic-icon:url("../images/business-icons-webp/encyclopedia-person.webp")}
.baike-types article:nth-child(4){--semantic-icon:url("../images/business-icons-webp/encyclopedia-general.webp")}
.development-mini .development-cards article { --semantic-icon:url("../images/mini-showcase-v2.webp"); }
.development-mini .development-cards article:nth-child(2) { --semantic-icon:url("../images/mini-shop-zh-v3.webp"); }
.development-mini .development-cards article:nth-child(3) { --semantic-icon:url("../images/mini-booking-v2.webp"); }
.development-mini .development-cards article:nth-child(4) { --semantic-icon:url("../images/mini-members-v2.webp"); }
/* Ordered steps use their meaningful sequence number rather than unrelated art. */
body :is(.smslogo-process li>b,.caller-process li>b,.cross-process li>b,.compliance-flow li>b,.contact-ready ol li>span,.local-process article>i) {
  width:42px;height:42px;min-width:42px;padding:0;align-items:center;justify-content:center;border-radius:12px;box-shadow:none;font-size:13px;
}
body :is(.smslogo-process li>b,.caller-process li>b,.cross-process li>b,.compliance-flow li>b,.contact-ready ol li>span,.local-process article>i)::before { display:none; }

body :is(
  .about-identity-grid article>i,
  .about-values-grid article>i,
  .development-cards article>span,
  .smslogo-pain-grid article>b,
  .smslogo-feature-grid article>span,
  .caller-feature-icon,
  .cross-mode-grid article>b,
  .smslogo-process li>b,
  .caller-process li>b,
  .cross-process li>b,
  .compliance-flow li>b,
  .compliance-board-list li>b,
  .contact-ready ol li>span,
  .compliance-advantage-grid article>span,
  .local-process article>i,
  .baike-number
) {
  position:relative;
  box-sizing:border-box;
  width:74px;
  height:74px;
  min-width:74px;
  padding:0 7px 6px 0;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  border:1px solid #d4e1f7;
  border-radius:21px;
  color:#2463df;
  background:linear-gradient(145deg,#fff 0%,#edf4ff 100%);
  font-size:9px;
  font-style:normal;
  font-weight:900;
  line-height:1;
  letter-spacing:.3px;
  box-shadow:0 15px 34px rgba(33,92,196,.14),inset 0 1px 0 #fff;
}
body :is(
  .about-identity-grid article>i,
  .about-values-grid article>i,
  .development-cards article>span,
  .smslogo-pain-grid article>b,
  .smslogo-feature-grid article>span,
  .caller-feature-icon,
  .cross-mode-grid article>b,
  .smslogo-process li>b,
  .caller-process li>b,
  .cross-process li>b,
  .compliance-flow li>b,
  .compliance-board-list li>b,
  .contact-ready ol li>span,
  .compliance-advantage-grid article>span,
  .local-process article>i,
  .baike-number
)::before {
  content:"";
  position:absolute;
  inset:5px 7px 9px 5px;
  background-image:var(--semantic-icon);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
}


body .service-number {
  position:absolute;
  top:27px;
  right:27px;
  width:auto;
  height:auto;
  min-width:0;
  padding:0;
  border:0;
  color:#d8e2f2;
  background:none;
  box-shadow:none;
  font-size:25px;
  line-height:1;
}
body .service-number::before { content:none; }

.development-app .development-cards article>span { width:74px;height:74px;min-width:74px; }
.development-app .development-cards article:nth-child(1)>span::before {
  inset:8px 12px 18px;
  background-image:none;background-color:#111827;
  -webkit-mask:url("../images/platform-apple.svg") center/contain no-repeat;mask:url("../images/platform-apple.svg") center/contain no-repeat;
}
.development-app .development-cards article:nth-child(2)>span::before {
  inset:8px 10px 18px;
  background-image:none;background-color:#3ddc84;
  -webkit-mask:url("../images/platform-android.svg") center/contain no-repeat;mask:url("../images/platform-android.svg") center/contain no-repeat;
}
.development-app .development-cards article:nth-child(3)>span::before {
  background-image:none;background-color:#2468ee;
  -webkit-mask:url("../images/platform-harmonyos.png") center/contain no-repeat;mask:url("../images/platform-harmonyos.png") center/contain no-repeat;
}
.development-app .development-cards article:nth-child(4)>span::before { background-image:var(--card-icon-code);background-size:contain;background-position:center; }

body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,.baike-types) article> :is(span,b,i):first-child { margin-inline:auto; }
body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,.baike-types) article>h3 { text-align:center; }
body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid) article>p { text-align:left; }
.development-cards article>span,.smslogo-pain-grid article>b,.baike-number,.cross-mode-grid article>b { margin-bottom:22px; }
.cross-mode-grid h3,.compliance-advantage-grid h3 { margin-top:0; }
.about-identity-grid h3,.about-values-grid h3 { margin-top:22px; }
.compliance-advantage-grid article>span { z-index:2; }

/* Desktop: center the image icon and bold heading; keep descriptive copy left aligned. */
body :is(
  .reason-grid article,.features .feature,.web-plans .web-plan,.web-base .base-item,
  .adv-list .adv-item,.email-feature-grid article,.local-benefit-grid article,
  .gaode-right-grid article,.cross-capability-grid article,.compliance-grid .compliance-card,
  .baike-reason-grid article,.pain-grid article,.about-capability-grid article,
  .contact-service-grid article,.home-principles article,.home-service-grid article
) > :is(.icon,.benefit-icon,.pain-visual,.about-icon,.home-principle-icon,span):first-child {
  margin-left:auto;
  margin-right:auto;
}
body :is(
  .reason-grid article,.features .feature,.web-plans .web-plan,.web-base .base-item,
  .adv-list .adv-item,.email-feature-grid article,.local-benefit-grid article,
  .gaode-right-grid article,.cross-capability-grid article,.compliance-grid .compliance-card,
  .baike-reason-grid article,.pain-grid article,.about-capability-grid article,
  .contact-service-grid article,.home-principles article,.home-service-grid article
) h3 { text-align:center; }
body :is(
  .reason-grid article,.features .feature,.web-plans .web-plan,.web-base .base-item,
  .adv-list .adv-item,.email-feature-grid article,.local-benefit-grid article,
  .gaode-right-grid article,.cross-capability-grid article,.compliance-grid .compliance-card,
  .baike-reason-grid article,.pain-grid article,.about-capability-grid article,
  .contact-service-grid article,.home-principles article,.home-service-grid article
) p { text-align:left; }
.local-benefit-grid article > span { display:block; text-align:center; }
.contact-service-top { position:relative; justify-content:center; }
.contact-service-top .contact-service-icon { margin-inline:auto; }
.contact-service-top > b { position:absolute; top:0; right:0; }


body :is(.development-process,.geo-process,.baike-process)>li::before,.steps>.step::before {
  box-sizing:border-box;width:66px;height:66px;padding:0 6px 6px 0;display:flex;align-items:flex-end;justify-content:flex-end;
  border:1px solid #d4e1f7;border-radius:19px;color:#2463df;background-color:#f1f6ff;
  background-image:none;font-size:14px;line-height:1;align-items:center;justify-content:center;padding:0;
  box-shadow:0 13px 28px rgba(31,91,198,.13);
}

/* Sequence badges remain readable numbers, not repeated unrelated illustrations. */
body :is(.smslogo-process li>b,.caller-process li>b,.cross-process li>b,.compliance-flow li>b,.compliance-board-list li>b,.contact-ready ol li>span,.local-process article>i) {
  width:42px;height:42px;min-width:42px;padding:0;align-items:center;justify-content:center;border-radius:12px;box-shadow:none;font-size:13px;
}
body :is(.smslogo-process li>b,.caller-process li>b,.cross-process li>b,.compliance-flow li>b,.compliance-board-list li>b,.contact-ready ol li>span,.local-process article>i)::before { content:none; }
.web-base .base-item strong { text-align:center; }
body :is(.icon,.benefit-icon,.contact-channel-icon,.caller-status-icon,.email-feature-grid article>span) img { object-fit:contain;object-position:center; }

@media(max-width:620px){
  .web-base .base-item strong { text-align:left; }
  body :is(
    .about-identity-grid article>i,.about-values-grid article>i,.development-cards article>span,
    .smslogo-pain-grid article>b,.smslogo-feature-grid article>span,.caller-feature-icon,
    .cross-mode-grid article>b,.smslogo-process li>b,.caller-process li>b,.cross-process li>b,
    .compliance-flow li>b,.compliance-board-list li>b,.contact-ready ol li>span,
    .compliance-advantage-grid article>span,.local-process article>i,.baike-number
  ) { width:60px;height:60px;min-width:60px;border-radius:17px; }
  body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,.baike-types) article> :is(span,b,i):first-child { margin-inline:0; }
  body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,.baike-types) article>h3,
  body :is(.development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid) article>p { text-align:left; }
  body :is(
    .reason-grid article,.features .feature,.web-plans .web-plan,.web-base .base-item,
    .adv-list .adv-item,.email-feature-grid article,.local-benefit-grid article,
    .gaode-right-grid article,.cross-capability-grid article,.compliance-grid .compliance-card,
    .baike-reason-grid article,.pain-grid article,.about-capability-grid article,
    .contact-service-grid article,.home-principles article,.home-service-grid article
  ) > :is(.icon,.benefit-icon,.pain-visual,.about-icon,.home-principle-icon,span):first-child {
    margin-left:0;
    margin-right:0;
  }
  body :is(
    .reason-grid article,.features .feature,.web-plans .web-plan,.web-base .base-item,
    .adv-list .adv-item,.email-feature-grid article,.local-benefit-grid article,
    .gaode-right-grid article,.cross-capability-grid article,.compliance-grid .compliance-card,
    .baike-reason-grid article,.pain-grid article,.about-capability-grid article,
    .contact-service-grid article,.home-principles article,.home-service-grid article
  ) h3,
  .local-benefit-grid article > span { text-align:left; }
  .contact-service-top { justify-content:space-between; }
  .contact-service-top .contact-service-icon { margin-inline:0; }
  .contact-service-top > b { position:static; margin-left:auto; }
  body :is(.development-process,.geo-process,.baike-process)>li::before,.steps>.step::before { width:48px;height:48px;border-radius:14px; }
  .steps>.step { grid-template-columns:48px minmax(0,1fr); }
  .step:not(:last-child)::after { left:23px;top:60px; }
  body :is(.smslogo-process li>b,.caller-process li>b,.cross-process li>b,.compliance-flow li>b,.compliance-board-list li>b,.contact-ready ol li>span,.local-process article>i) { width:36px;height:36px;min-width:36px;border-radius:10px;font-size:12px; }

  /* Compact short icon cards instead of stacking desktop cards into tall mobile blocks. */
  body :is(
    .development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,
    .cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,
    .baike-types,.home-principles
  ) article {
    min-height:0;
    padding:19px;
    display:grid;
    grid-template-columns:60px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:14px;
    align-items:center;
  }
  body :is(
    .development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,
    .cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,
    .baike-types,.home-principles
  ) article > :first-child {
    grid-column:1;
    grid-row:1 / 3;
    align-self:start;
    margin:0;
  }
  body :is(
    .development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,
    .cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,
    .baike-types,.home-principles
  ) article > h3 {
    grid-column:2;
    align-self:end;
    margin:0 0 5px;
    font-size:18px;
    line-height:1.4;
  }
  body :is(
    .development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,
    .cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,
    .baike-types,.home-principles
  ) article > p {
    grid-column:1 / -1;
    min-height:0;
    margin:15px 0 0;
    font-size:13px;
    line-height:1.72;
  }
  body :is(
    .development-cards,.smslogo-pain-grid,.smslogo-feature-grid,.caller-feature-grid,
    .cross-mode-grid,.compliance-advantage-grid,.about-identity-grid,.about-values-grid,
    .baike-types,.home-principles
  ) article > :not(:first-child):not(h3):not(p) {
    grid-column:1 / -1;
  }
}

/* Source: assets/css/typography.css */
:root{
  --type-hero:clamp(38px,4.25vw,56px);
  --type-section:clamp(30px,3.1vw,40px);
  --type-feature:clamp(28px,2.75vw,36px);
  --type-cta:clamp(27px,2.5vw,32px);
  --type-subtitle:clamp(21px,2vw,27px);
  --type-card:clamp(19px,1.7vw,23px);
}

h1{
  font-size:var(--type-hero);
  line-height:1.1;
  letter-spacing:-2px;
}

.home-business .hero h1,
.ssl-hero h1,
.ssl-detail-hero h1,
.email-hero h1,
.local-hero h1,
.ssltrus-hero h1,
.web-hero h1,
.cases-hero h1,
.about-hero h1,
.contact-hero h1,
.column-hero h1,
.service-hero h1,
.service-hero.cross-hero h1,
.development-hero h1,
.geo-hero h1,
.baike-hero h1,
.software-hero h1,
.caller-hero h1{
  font-size:var(--type-hero);
  line-height:1.1;
  letter-spacing:-2px;
}

.account-intro h1{
  font-size:clamp(36px,3.7vw,48px);
  line-height:1.14;
  letter-spacing:-1.8px;
}

/* Long product names need their own scale, not smaller titles site-wide. */
.ssl-detail-hero h1 { font-size:clamp(32px,3.5vw,48px);line-height:1.22;text-wrap:balance; }

.section-head h2{
  font-size:var(--type-section);
  line-height:1.22;
  letter-spacing:-1px;
}

.about-story h2,
.cross-global h2,
.compliance-overview-copy h2,
.caller-intro h2,
.smslogo-intro h2,
.smslogo-value-grid h2,
.development-split h2{
  font-size:var(--type-feature);
  line-height:1.28;
  letter-spacing:-1px;
}

.contact-ready h2,
.compliance-faq h2,
.account-panel h2{
  font-size:clamp(29px,2.8vw,35px);
  line-height:1.25;
  letter-spacing:-.8px;
}

.cta h2,
.about-cta h2,
.cross-cta h2,
.compliance-end--consult h2,
.case-title-row h2{
  font-size:var(--type-cta);
  line-height:1.3;
  letter-spacing:-.6px;
}

.service-hero .hero-subtitle,
.development-hero h2,
.caller-hero h2,
.geo-hero h2,
.baike-hero h2,
.compliance-page .compliance-hero h2{
  font-size:var(--type-subtitle);
  line-height:1.45;
  letter-spacing:-.35px;
}

.ssl-detail-content h2{
  font-size:clamp(27px,2.5vw,32px);
  line-height:1.35;
  letter-spacing:-.5px;
}

.product h3,
.service-content h3,
.home-product-card h3,
.web-plan h3,
.cross-mode-grid h3,
.about-values-grid h3{
  font-size:var(--type-card);
  line-height:1.4;
  letter-spacing:-.35px;
}

.page-content h1{
  font-size:clamp(31px,3.6vw,42px);
  line-height:1.25;
  letter-spacing:-.8px;
}

.page-content h2{
  font-size:clamp(24px,2.5vw,30px);
  line-height:1.4;
}

@media(max-width:900px){
  :root{
    --type-hero:clamp(34px,7.2vw,44px);
    --type-section:clamp(28px,5.4vw,35px);
    --type-feature:clamp(27px,5vw,33px);
    --type-cta:clamp(25px,4.5vw,30px);
    --type-subtitle:clamp(20px,3.8vw,25px);
    --type-card:clamp(19px,3vw,22px);
  }
  .account-intro h1{font-size:clamp(33px,6.5vw,40px)}
  .account-panel h2{font-size:31px}
}

@media(max-width:620px){
  :root{
    --type-hero:clamp(30px,8.4vw,36px);
    --type-section:clamp(25px,7vw,29px);
    --type-feature:clamp(25px,6.8vw,29px);
    --type-cta:clamp(24px,6.5vw,27px);
    --type-subtitle:clamp(19px,5.4vw,22px);
    --type-card:clamp(18px,5.2vw,21px);
  }
  h1,
  .home-business .hero h1,
  .ssl-hero h1,
  .ssl-detail-hero h1,
  .email-hero h1,
  .local-hero h1,
  .ssltrus-hero h1,
  .web-hero h1,
  .cases-hero h1,
  .about-hero h1,
  .contact-hero h1,
  .column-hero h1,
  .service-hero h1,
  .service-hero.cross-hero h1,
  .development-hero h1,
  .geo-hero h1,
  .baike-hero h1,
  .software-hero h1,
  .caller-hero h1{
    font-size:var(--type-hero);
    line-height:1.16;
    letter-spacing:-1px;
  }
  .account-intro h1{font-size:30px;line-height:1.18;letter-spacing:-.9px}
  .account-panel h2{font-size:28px}
  .section-head h2{line-height:1.28;letter-spacing:-.5px}
  #process .section-head h2,
  #faq .section-head h2{
    font-size:var(--type-section);
    line-height:1.28;
    letter-spacing:-.5px;
  }
  .about-story h2,
  .cross-global h2,
  .compliance-overview-copy h2,
  .caller-intro h2,
  .smslogo-intro h2,
  .smslogo-value-grid h2,
  .development-split h2,
  .contact-ready h2,
  .compliance-faq h2{
    font-size:var(--type-feature);
    line-height:1.32;
    letter-spacing:-.5px;
  }
  .cta h2,
  .about-cta h2,
  .cross-cta h2,
  .compliance-end--consult h2,
  .case-title-row h2{
    font-size:var(--type-cta);
    line-height:1.35;
  }
  .service-hero .hero-subtitle,
  .development-hero h2,
  .caller-hero h2,
  .geo-hero h2,
  .baike-hero h2,
  .compliance-page .compliance-hero h2{
    font-size:var(--type-subtitle);
    line-height:1.45;
  }
  .ssl-detail-content h2{font-size:25px}
  .ssl-detail-hero h1{font-size:clamp(28px,7.8vw,33px);line-height:1.25;letter-spacing:-.5px}
  .page-content h1{font-size:clamp(29px,8vw,34px)}
  .page-content h2{font-size:24px}
}

/* Source: assets/css/process-icons.css */
/* Shared workflow visuals. Independent semantic SVG assets; preserve existing geometry. */
body .process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  padding: 0;
  margin: 0;
  list-style: none;
}
body .process-grid.process-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body .process-grid > .process-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  width: auto;
  height: auto;
  padding: 26px 22px 24px;
  margin: 0;
  border: 1px solid #dce6f5;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(26, 65, 124, .035);
  text-align: left;
  grid-column: auto;
}
/* Suppress legacy CSS counter tiles and connector lines, including mobile overrides. */
body .process-grid > .process-step::before,
body .process-grid > .process-step::after {
  content: none;
  display: none;
}
body .process-grid > .process-step > div {
  width: auto;
  min-width: 0;
  padding: 0;
  margin: 0;
  grid-column: auto;
}
body .process-step > .process-visual {
  position: relative;
  display: block;
  flex: 0 0 auto;
  width: 112px;
  height: 112px;
  min-width: 0;
  padding: 0;
  margin: 0 auto 22px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: inherit;
  font-size: inherit;
  grid-column: auto;
  overflow: visible;
}
body .process-step > .process-visual::before,
body .process-step > .process-visual::after { content: none; display: none; }
body .process-visual > .process-visual__image {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  object-fit: contain;
  object-position: center;
  transform: none;
  filter: none;
}
body .process-visual > .process-visual__number {
  position: absolute;
  right: -3px;
  bottom: -3px;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  padding: 0;
  margin: 0;
  border: 3px solid #fff;
  border-radius: 10px;
  background: #2467ed;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  box-shadow: 0 4px 10px rgba(36, 103, 237, .16);
}
body .process-grid > .process-step h3 {
  width: auto;
  min-width: 0;
  margin: 0 0 12px;
  color: #182439;
  font-size: 18px;
  line-height: 1.5;
  text-align: center;
  grid-column: auto;
}
body .process-grid > .process-step p {
  margin: 0;
  color: #64748c;
  font-size: 14px;
  line-height: 1.85;
  text-align: left;
  overflow-wrap: anywhere;
  grid-column: auto;
}
body .process-grid.process-grid--operation { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Hero overview and pre-contact checklist stay compact, with an icon next to copy. */
body .process-grid.process-grid--compact { grid-template-columns: minmax(0, 1fr); gap: 14px; }
body .process-grid--compact > .process-step {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  padding: 16px 18px;
  border-radius: 16px;
  box-shadow: none;
}
body .process-grid--compact .process-step > .process-visual { width: 64px; height: 64px; margin: 0; }
body .process-grid--compact .process-visual > .process-visual__number { width: 24px; height: 24px; font-size: 9px; border-width: 2px; border-radius: 8px; }
body .process-grid--compact .process-step > div > :is(b, strong) { display: block; margin: 0 0 6px; color: #182439; font-size: 16px; line-height: 1.5; }
body .process-grid--compact .process-step > div > span { display: block; color: #64748c; font-size: 13px; line-height: 1.7; }

/* Preserve the device → edge → cloud → application architecture on dark backgrounds. */
body .process-grid.process-grid--architecture { grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr); gap: 12px; }
body .process-grid--architecture > i { align-self: center; color: #7eafff; font-size: 24px; font-style: normal; }
body .process-grid--dark > .process-step { border-color: #2b4769; background: #112844; box-shadow: none; }
body .process-grid--dark > .process-step h3 { color: #fff; }
body .process-grid--dark > .process-step p { color: #b0c4dd; }
body .process-grid--dark .process-visual > .process-visual__number { border-color: #112844; }
body .process-grid--architecture > .process-step > small { display: block; margin: 0 0 8px; color: #82b4ff; font-size: 10px; line-height: 1.5; text-align: center; letter-spacing: 1.2px; }

@media (max-width: 1100px) {
  body .process-grid,
  body .process-grid.process-grid--five,
  body .process-grid.process-grid--architecture { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  body .process-grid--architecture > i { display: none; }
  body .process-grid > .process-step { grid-column: auto; }
  body .process-grid.process-grid--compact { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (max-width: 760px) {
  body .process-grid,
  body .process-grid.process-grid--five,
  body .process-grid.process-grid--operation,
  body .process-grid.process-grid--architecture { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  body .process-grid > .process-step { display: flex; padding: 22px; border-radius: 18px; text-align: left; }
  body .process-step > .process-visual { width: 88px; height: 88px; margin: 0 0 18px; }
  body .process-grid > .process-step h3 { font-size: 17px; text-align: left; }
  body .process-grid--architecture > .process-step > small { text-align: left; }
  body .process-grid--compact > .process-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding: 14px; }
  body .process-grid--compact .process-step > .process-visual { width: 56px; height: 56px; margin: 0; }

  /* Every standard workflow becomes one compact horizontal row on phones. */
  body .process-grid:not(.process-grid--compact) > .process-step {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 4px 17px;
    min-height: 0;
    padding: 18px;
    border-radius: 16px;
  }
  body .process-grid:not(.process-grid--compact) > .process-step > .process-visual {
    grid-column: 1;
    grid-row: 1 / span 5;
    width: 72px;
    height: 72px;
    margin: 0;
    align-self: center;
  }
  body .process-grid:not(.process-grid--compact) > .process-step > :not(.process-visual) {
    grid-column: 2;
    min-width: 0;
  }
  body .process-grid:not(.process-grid--compact) > .process-step h3 {
    margin: 0;
    font-size: 17px;
    line-height: 1.42;
    text-align: left;
  }
  body .process-grid:not(.process-grid--compact) > .process-step p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
  }
  body .process-grid:not(.process-grid--compact) .process-visual > .process-visual__number {
    right: -2px;
    bottom: -2px;
    width: 25px;
    height: 25px;
    border-width: 2px;
    border-radius: 8px;
    font-size: 9px;
  }
}

@media (max-width: 380px) {
  body .process-grid:not(.process-grid--compact) > .process-step {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 4px 14px;
    padding: 16px;
  }
  body .process-grid:not(.process-grid--compact) > .process-step > .process-visual { width: 62px; height: 62px; }
}
