/* One visual system for ALL REG page and article templates. Copy and links remain site-owned. */
body.allreg-template{--art-ink:#17233d;--art-text:#40516c;--art-muted:#687b98;--art-blue:#2466df;--art-line:#e3e8f0;--art-tint:#f7f9fd;--art-width:1240px;color:var(--art-ink);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:15px;line-height:1.8}
body.allreg-template :is(.shell,.wrap,.fhp-wrap,.fnews-wrap,.global-compliance-wrap){max-width:var(--art-width)}
body.allreg-template :is(.page-hero,.archive-hero,.fnews-hero){background:var(--art-tint);border-bottom:1px solid var(--art-line)}
body.allreg-template :is(.page-hero,.archive-hero,.fnews-hero) h1{color:var(--art-ink);line-height:1.25;letter-spacing:-.025em}
body.allreg-template :is(.page-hero,.archive-hero,.fnews-hero) p{color:var(--art-muted);line-height:1.85}
body.allreg-template :is(.breadcrumb,.breadcrumbs,.archive-breadcrumb,.frosa-article-breadcrumb){color:var(--art-muted);font-size:12px;line-height:1.6}
body.allreg-template :is(.breadcrumb,.breadcrumbs,.archive-breadcrumb,.frosa-article-breadcrumb) a{color:var(--art-blue)}
body.allreg-template :is(.archive-entry,.article-card,.case-card,.fnews-card,.sov-product-card,.sov-service-item,.ash-category,.global-market-card){border:1px solid var(--art-line);border-radius:12px;box-shadow:none}
body.allreg-template :is(.archive-entry,.article-card,.case-card,.fnews-card,.sov-product-card,.sov-service-item,.ash-category,.global-market-card):hover{border-color:#b6c9e8;box-shadow:0 8px 24px rgba(24,43,76,.06)}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content){min-width:0;color:var(--art-text);font-size:15px;line-height:1.9;overflow-wrap:anywhere}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) :is(h2,h3){color:var(--art-ink);scroll-margin-top:100px}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) h2{margin:38px 0 14px;font-size:clamp(23px,2.3vw,27px);line-height:1.4}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) h3{margin:28px 0 12px;font-size:20px;line-height:1.45}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) p{margin:0 0 18px;line-height:1.9}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) :is(ul,ol){padding-left:1.5em;margin:0 0 20px}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) li{margin:0 0 7px}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) a{color:var(--art-blue);text-underline-offset:3px}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) img{max-width:100%;height:auto}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) :is(th,td){padding:10px 14px;border:1px solid #dce4ef;text-align:left}
body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid var(--art-blue);background:var(--art-tint);color:var(--art-text)}
body.allreg-template--article :is(.article-toc,.sidebar,.detail-aside,.frosa-article-aside){border-color:var(--art-line);border-radius:12px}
body.allreg-template--article :is(.article-toc,.detail-aside,.frosa-article-aside){background:var(--art-tint)}
body.allreg-template--article :is(.article-meta,.frosa-article-meta){color:var(--art-muted);font-size:12px}
body.allreg-template--archive :is(.archive-entry,.article-card,.case-card,.fnews-card) h3{color:var(--art-ink);line-height:1.5}
body.allreg-template--archive :is(.archive-entry,.article-card,.case-card,.fnews-card) p{color:var(--art-muted);line-height:1.8}
body.allreg-template--archive :is(.archive-entry,.article-card,.case-card,.fnews-card) a{color:var(--art-blue)}
@media(max-width:700px){body.allreg-template{font-size:14px}body.allreg-template :is(.shell,.wrap,.fhp-wrap,.fnews-wrap,.global-compliance-wrap){width:calc(100% - 36px)}body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) h2{font-size:23px}body.allreg-template--article :is(.article-body,.detail-main,.frosa-article-content) h3{font-size:18px}}

/* Editorial article pages: clear reading measure, stronger contrast and a quieter outline. */
body.allreg-template--article:has(.content-layout){background:#fff}
body.allreg-template--article:has(.content-layout) .breadcrumb{padding-top:19px;padding-bottom:16px;color:#64758d}
body.allreg-template--article:has(.content-layout) .page-hero{max-width:1188px;padding:36px 42px 33px;border:1px solid #dfe8f5;border-radius:17px;background:#f5f8fd}
body.allreg-template--article:has(.content-layout) .page-hero .eyebrow{color:#2466df;font-size:11px;font-weight:800;letter-spacing:.15em}
body.allreg-template--article:has(.content-layout) .page-hero h1{max-width:850px;margin:15px 0 17px;color:#17233d;font-size:clamp(31px,3.2vw,42px);line-height:1.32;letter-spacing:-.025em}
body.allreg-template--article:has(.content-layout) .page-hero>p{max-width:760px;color:#475b78;font-size:15px;line-height:1.8}
body.allreg-template--article:has(.content-layout) .article-meta{gap:8px 13px;margin-top:21px;padding-top:17px;border-top:1px solid #dce6f3;color:#62748f;font-size:12px;line-height:1.6}
body.allreg-template--article .content-layout{grid-template-columns:minmax(0,760px) minmax(250px,290px);justify-content:space-between;gap:48px;padding-top:42px;padding-bottom:72px}
body.allreg-template--article .content-layout .article-body{max-width:760px;color:#344762;font-size:16px;line-height:1.9;overflow-wrap:break-word}
body.allreg-template--article .content-layout .article-body :is(p,li){color:#344762;line-height:1.9}
body.allreg-template--article .content-layout .article-body p{margin-bottom:20px}
body.allreg-template--article .content-layout .article-body strong{color:#1b2b49;font-weight:700}
body.allreg-template--article .content-layout .article-body h2{position:relative;margin:43px 0 17px;padding-left:17px;color:#17233d;font-size:25px;line-height:1.42;letter-spacing:-.015em}
body.allreg-template--article .content-layout .article-body h2::before{position:absolute;top:.2em;bottom:.17em;left:0;width:4px;border-radius:4px;background:#2466df;content:""}
body.allreg-template--article .content-layout .article-body h3{margin:30px 0 12px;color:#233a5d;font-size:19px;line-height:1.5}
body.allreg-template--article .content-layout .article-body :is(ul,ol){margin:0 0 25px;padding-left:1.45em}
body.allreg-template--article .content-layout .article-body li{padding:0 0 7px}
body.allreg-template--article .content-layout .article-body li::marker{color:#2466df;font-weight:700}
body.allreg-template--article .content-layout .article-body .article-callout{margin:25px 0 31px;padding:19px 22px;border:1px solid #dbe7fa;border-left:4px solid #2466df;border-radius:0 10px 10px 0;background:#f3f7ff;color:#263d60;line-height:1.85}
body.allreg-template--article .content-layout .article-body .notice{margin:26px 0;color:#61748e;font-size:12px;line-height:1.8}
body.allreg-template--article .content-layout .article-body a:not(.button){color:#1e5dcc;text-decoration:underline;text-decoration-color:#a8c4f3;text-underline-offset:3px}
body.allreg-template--article .content-layout .article-body a.button{min-height:44px;padding:11px 18px;border-radius:9px;background:#2466df;color:#fff!important;text-decoration:none;box-shadow:0 6px 15px #2466df20}
body.allreg-template--article .content-layout .article-body a.button:hover{background:#174fbb;color:#fff!important}
body.allreg-template--article .content-layout .article-body :is(th,td){padding:12px 14px;border-color:#dce6f2}
body.allreg-template--article .content-layout .article-body th{background:#f3f7fd;color:#1b3152}
body.allreg-template--article .content-layout>.sidebar{padding:21px;border:1px solid #e0e8f3;border-radius:12px;background:#fff;box-shadow:0 8px 28px #17233d0a}
body.allreg-template--article .content-layout>.sidebar .article-toc{margin-bottom:19px;padding:0 0 17px;border-radius:0;background:transparent}
body.allreg-template--article .content-layout>.sidebar h3{margin:18px 0 9px;color:#263a5d;font-size:13px;font-weight:700}
body.allreg-template--article .content-layout>.sidebar a{padding:9px 0;color:#536985;font-size:12px}
body.allreg-template--article .content-layout>.sidebar a:hover{color:#2466df}
.article-toc-mobile:empty{display:none}
@media(max-width:900px){
 body.allreg-template--article .content-layout{display:flex;flex-direction:column;gap:0;padding-top:25px;padding-bottom:50px}
 body.allreg-template--article .content-layout>.article-body{order:0}
 body.allreg-template--article .content-layout>.sidebar{position:static;order:1;margin-top:26px}
 body.allreg-template--article .content-layout>.article-toc-mobile{order:-1;margin-bottom:22px;padding:15px 17px;border:1px solid #dfe8f5;border-radius:11px;background:#f7f9fd}
 body.allreg-template--article .article-toc-mobile .article-toc{margin:0;padding:0;border:0;background:transparent}
 body.allreg-template--article .article-toc-mobile .article-toc>summary{padding:0;color:#1b3152}
 body.allreg-template--article .article-toc-mobile .article-toc nav{margin-top:12px}
 body.allreg-template--article .article-toc-mobile .article-toc a{display:block;padding:9px 7px;border-bottom:1px solid #e3ebf5;color:#4e6280;font-size:13px;text-decoration:none}
}
@media(max-width:700px){
 body.allreg-template--article:has(.content-layout) .breadcrumb{padding-top:13px;padding-bottom:13px}
 body.allreg-template--article:has(.content-layout) .page-hero{padding:25px 21px 23px;border-radius:12px}
 body.allreg-template--article:has(.content-layout) .page-hero h1{margin:11px 0 13px;font-size:29px;line-height:1.38}
 body.allreg-template--article:has(.content-layout) .page-hero>p{font-size:14px;line-height:1.75}
 body.allreg-template--article:has(.content-layout) .article-meta{margin-top:16px;padding-top:13px;font-size:11px}
 body.allreg-template--article .content-layout .article-body{font-size:15px;line-height:1.85}
 body.allreg-template--article .content-layout .article-body :is(p,li){line-height:1.85}
 body.allreg-template--article .content-layout .article-body h2{margin-top:34px;font-size:22px}
 body.allreg-template--article .content-layout .article-body h3{font-size:18px}
 body.allreg-template--article .content-layout .article-body .article-callout{padding:16px 17px}
}
