/* Retain the approved large-monitor appearance. */
@media (width > 1920px) {
/* Zhongyun responsive site. All component classes use the bsb namespace. */
/* 1. Design tokens and document foundations */
.bsb-site {
  --bsb-blue: #2053aa;
  --bsb-blue-dark: #112f6b;
  --bsb-ink: #1b2b46;
  --bsb-muted: #637188;
  --bsb-line: #e3e9f2;
  --bsb-soft: #f3f6fc;
  --bsb-yellow: #ffdb6d;
  --bsb-container: 1240px;
  --bsb-gutter: clamp(20px, 3vw, 48px);
  --bsb-body-size: clamp(15px, .16vw + 13px, 17px);
  --bsb-small-size: clamp(13px, .1vw + 11.5px, 14px);
  --bsb-title-size: clamp(27px, 1.25vw + 15px, 38px);
  --bsb-h1-size: clamp(32px, 2.3vw + 14px, 54px);
  margin: 0;
  color: var(--bsb-ink);
  background: #fff;
  font: var(--bsb-body-size)/1.8 "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
.bsb-site *, .bsb-site *::before, .bsb-site *::after { box-sizing: border-box; }
.bsb-site [hidden] { display: none !important; }
.bsb-site :where(h1,h2,h3,p,ul,ol,figure) { margin: 0; }
.bsb-site :where(ul,ol) { padding: 0; }
.bsb-site :where(h1,h2,h3) { font-weight: 600; line-height: 1.45; text-wrap: pretty; }
.bsb-site h2 { font-size: var(--bsb-title-size); }
.bsb-site h3 { font-size: clamp(18px, .4vw + 13px, 22px); }
.bsb-site a { color: inherit; text-decoration: none; }
.bsb-site a:hover { color: var(--bsb-blue); text-decoration: none; }
.bsb-site :where(button,input,textarea) { font: inherit; }
.bsb-site button { cursor: pointer; }
.bsb-site :where(a,button,summary) { -webkit-tap-highlight-color: transparent; }
.bsb-site :where(a,button,summary):focus-visible { outline: 3px solid #d4931d; outline-offset: 5px; }
.bsb-site img { display: block; max-width: 100%; height: auto; }
.bsb-site address { font-style: normal; }
.bsb-site main { min-height: 50vh; }
.bsb-container { width: min(var(--bsb-container), calc(100% - var(--bsb-gutter) * 2)); margin-inline: auto; }
.bsb-section { padding-block: clamp(44px, 4.6vw, 88px); }
.bsb-section-soft { background: var(--bsb-soft); }
.bsb-section-heading { text-align: center; margin-bottom: 36px; }
.bsb-section-heading h2 { margin: 8px 0 12px; }
.bsb-section-heading > p:last-child:not(.bsb-kicker) { color: var(--bsb-muted); font-size: var(--bsb-small-size); }
.bsb-kicker { font-size: 12px; line-height: 1.7; letter-spacing: 2px; color: #7388a8; font-weight: 500; }
.bsb-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.bsb-button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 48px; padding: 11px 24px; border: 1px solid transparent; border-radius: 5px; font-size: 15px; font-weight: 600; transition: background .2s, transform .2s; }
.bsb-button-primary { color: #17366d !important; background: var(--bsb-yellow); }
.bsb-button-primary:hover { background: #ffe69a; transform: translateY(-2px); }
.bsb-button-secondary { border-color: #ffffff65; color: #fff !important; background: #ffffff08; }
.bsb-button-secondary:hover { background: #ffffff18; }
.bsb-text-link { color: var(--bsb-blue) !important; font-size: var(--bsb-small-size); display: inline-flex; align-items: center; gap: 18px; padding-block: 8px; }
.bsb-text-link:hover { text-decoration: none; }
.bsb-skip-link { position: fixed; left: 15px; top: -100px; z-index: 100; padding: 12px 18px; background: #fff; border: 2px solid var(--bsb-blue); }
.bsb-skip-link:focus { top: 12px; }

/* 2. Shared header / navigation */
.bsb-topbar { background: #f6f8fb; border-bottom: 1px solid #edf1f7; color: #62718b; font-size: 12px; }
.bsb-topbar .bsb-container { display: flex; justify-content: space-between; gap: 20px; padding-block: 9px; }
.bsb-topbar a { white-space: nowrap; }
.bsb-header { background: #fff; position: sticky; top: 0; z-index: 40; box-shadow: 0 4px 20px #14336309; }
.bsb-header-inner { min-height: 112px; display: flex; justify-content: space-between; align-items: center; gap: clamp(20px, 2vw, 56px); }
.bsb-brand { display: flex; align-items: center; gap: 17px; flex-shrink: 0; }
.bsb-brand img { width: clamp(160px, 10vw, 210px); }
.bsb-brand > span { border-left: 1px solid var(--bsb-line); padding-left: 16px; font-size: 12px; color: #65748b; }
.bsb-brand small { display: block; font-size: 12px; margin-top: 3px; }
.bsb-navigation { flex: 1; min-width: 0; }
.bsb-navigation > ul { justify-content: center; display: flex; list-style: none; align-items: center; gap: clamp(24px, 2vw, 36px); }
.bsb-navigation a { position: relative; display: flex; align-items: center; min-height: 52px; white-space: nowrap; font-size: 14px; }
.bsb-navigation .bsb-current { color: var(--bsb-blue); }
.bsb-navigation .bsb-current::after { content: ""; position: absolute; height: 3px; width: 100%; border-radius: 4px; background: var(--bsb-blue); left: 0; bottom: 0; }
.bsb-header-hotline { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--bsb-blue); white-space: nowrap; }
.bsb-hotline-icon { width: 42px; height: 42px; flex-shrink: 0; }
.bsb-header-hotline small { display: block; font-size: 13px; line-height: 1.6; color: var(--bsb-muted); }
.bsb-header-hotline strong { display: block; font-size: clamp(21px, 1.4vw, 30px); line-height: 1.3; font-weight: 700; }
.bsb-menu-toggle { display: none; }
.bsb-nav-item { position: relative; }
.bsb-subnav-toggle { position: absolute; top: 16px; right: -16px; display: grid; place-items: center; width: 16px; height: 20px; padding: 0; border: 0; background: transparent; color: #7b8da8; font-size: 13px; line-height: 1; }
.bsb-navigation .bsb-subnav { display: none; position: absolute; top: 100%; left: -20px; width: 272px; margin: 0; padding: 10px; gap: 4px; justify-content: stretch; align-items: stretch; list-style: none; background: linear-gradient(145deg,#fff,#f8faff); border: 1px solid #e2e9f4; border-top: 2px solid #6488bf; border-radius: 10px; box-shadow: 0 14px 36px #183b6c22,0 3px 8px #183b6c08; }
.bsb-navigation .bsb-subnav > li { min-width: 0; list-style: none; }
.bsb-navigation .bsb-subnav a { padding: 11px 15px; gap: 18px; min-height: 44px; font-size: 14px; line-height: 1.6; white-space: normal; border-radius: 6px; justify-content: space-between; color: #3b4c67; transition: color .2s,background .2s; }
.bsb-navigation .bsb-subnav a::after { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); opacity: .4; }
.bsb-navigation .bsb-subnav a:hover { color: #2053aa; background: #eaf1fc; }
.bsb-navigation .bsb-subnav a:hover::after { opacity: .85; }
.bsb-navigation .bsb-subnav a[aria-current="page"] { color: #2053aa; background: #edf3fc; font-weight: 600; }
.bsb-subnav-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
@media (min-width: 1181px) {
 .bsb-navigation { align-self: stretch; display: flex; align-items: stretch; }
 .bsb-navigation > ul { width: 100%; align-items: stretch; }
 .bsb-navigation > ul > .bsb-nav-item { display: flex; align-items: center; }
 .bsb-subnav-toggle { display: none; }
 .bsb-navigation .bsb-subnav { max-height: calc(100dvh - 124px); overflow-y: auto; overscroll-behavior: contain; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { display: grid; }
}
@media (min-width:1181px) {
 .bsb-navigation .bsb-subnav { width: 304px; padding: 12px; }
 .bsb-navigation .bsb-subnav a { font-size: calc(14px * var(--bsb-large-type-scale)); padding: 12px 16px; }
}
@media (max-width: 1180px) {
 .bsb-navigation > ul { grid-template-columns: minmax(0,1fr); }
 .bsb-nav-item { display: grid; grid-template-columns: minmax(0,1fr) 44px; }
 .bsb-nav-item > a { grid-column: 1; justify-content: flex-start; padding-inline: 14px; }
 .bsb-nav-item .bsb-subnav-toggle { position: static; grid-column: 2; grid-row: 1; width: 44px; height: 44px; font-size: 20px; }
 .bsb-navigation .bsb-subnav { position: static; grid-column: 1 / -1; width: auto; margin: 0 0 10px; padding: 8px 14px; border: 0; border-radius: 6px; background: #f4f7fc; box-shadow: none; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .bsb-navigation .bsb-subnav a { font-size: 13px; min-height: 40px; }
}
@media (max-width: 640px) {
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { grid-template-columns: minmax(0,1fr); }
}

/* 3. Homepage hero and decorative architecture */
.bsb-hero { position: relative; isolation: isolate; overflow: clip; color: white; background: radial-gradient(ellipse at 84% 20%, #4a88e94d, transparent 50%), linear-gradient(115deg, #102d69, #2058b3 75%, #316dca); }
.bsb-hero-inner { position: relative; min-height: 570px; display: flex; align-items: center; }
.bsb-hero-copy { position: relative; z-index: 2; width: 72%; padding-block: 65px; }
.bsb-hero .bsb-kicker { color: #b6d1f6; font-size: 13px; letter-spacing: 2px; }
.bsb-hero-overline { font-size: clamp(17px, .65vw + 10px, 22px); line-height: 1.5; letter-spacing: 4px; margin: 16px 0 10px; color: #e0eaff; }
.bsb-hero .bsb-hero-title { font-size: var(--bsb-h1-size); line-height: 1.25; font-weight: 700; letter-spacing: 1px; }
.bsb-hero .bsb-hero-title span { color: #ffdc6d; margin-inline: 5px; }
.bsb-hero-description { font-size: clamp(14px, .2vw + 11px, 17px); line-height: 1.6; color: #cadaf7; margin-top: 12px; }
.bsb-hero .bsb-actions { margin-top: 20px; }
.bsb-hero-regions { margin-top: 20px; line-height: 1.6; color: #adc5eb; font-size: 13px; }
.bsb-mobile-break { display: none; }
.bsb-hero-grid { position: absolute; z-index: -1; inset: 0; opacity: .10; background: repeating-linear-gradient(0deg, transparent 0 52px, #b7dcff 53px 54px), repeating-linear-gradient(90deg, transparent 0 86px, #b7dcff 87px 88px); transform: perspective(400px) rotateX(55deg) scale(2); transform-origin: center bottom; mask-image: linear-gradient(transparent, #000); }
.bsb-hero-art { width: 400px; height: 440px; position: absolute; right: 0; top: 35px; opacity: .85; }
.bsb-platform { position: absolute; width: 300px; height: 170px; left: 50px; top: 230px; border: 1px solid #a6daff60; border-radius: 25px; transform: rotate(-26deg) skewX(30deg); background: linear-gradient(120deg,#6db4ff19,#6caefc50); box-shadow: 0 18px 0 #06245a22,0 35px 40px #02194933; }
.bsb-tower { position: absolute; bottom: 115px; width: 85px; border: 1px solid #b9e2ff65; background: linear-gradient(90deg,#4284d7d4,#86c7ff59 70%,#83c7ffb5); transform: skewY(-17deg); box-shadow: 16px 9px 0 #123b8744; }
.bsb-tower::before { content: ""; position: absolute; inset: 14px; background: repeating-linear-gradient(0deg,transparent 0 16px,#ccedff6b 17px 20px),repeating-linear-gradient(90deg,transparent 0 17px,#b7dfff44 18px 22px); }
.bsb-tower-a { height: 160px; left: 92px; }
.bsb-tower-b { height: 240px; left: 195px; bottom: 139px; }
.bsb-tower-c { height: 110px; left: 278px; bottom: 103px; width: 60px; }
.bsb-orbit { position: absolute; width: 420px; height: 180px; top: 200px; left: -5px; border: 1px solid #8fc8ff33; transform: rotate(-23deg); border-radius: 50%; }
.bsb-orbit-two { width: 350px; left: 30px; top: 186px; transform: rotate(32deg); }
.bsb-art-badge { position: absolute; padding: 12px 20px; border: 1px solid #acd9ff70; border-radius: 8px; background: linear-gradient(120deg,#4d87cecc,#2057a6d9); font-size: 15px; color: #f2f8ff; box-shadow: 0 15px 25px #12327344; }
.bsb-badge-one { top: 108px; left: 7px; }
.bsb-badge-two { right: -3px; bottom: 99px; }

/* Homepage carousel: the shared grid keeps all slides at the same height. */
.bsb-carousel { position: relative; overflow: clip; background: var(--bsb-blue-dark); touch-action: pan-y; }
.bsb-carousel-track { display: grid; }
.bsb-carousel-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .65s ease, visibility .65s; }
.bsb-carousel-slide.bsb-is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.bsb-carousel .bsb-hero-copy { padding-bottom: 105px; }
.bsb-carousel .bsb-hero-title { margin: 0; }
.bsb-video-slide { background: #12336c url('../images/bsb-banner-video-poster.jpg') center / cover no-repeat; }
.bsb-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; z-index: 0; pointer-events: none; }
.bsb-video-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #0826544a, #0c305523 55%, transparent); z-index: 1; }
.bsb-video-slide .bsb-hero-inner { z-index: 2; }
.bsb-carousel-controls { position: absolute; z-index: 5; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: white; }
.bsb-carousel-dots { display: flex; align-items: center; gap: 6px; }
.bsb-carousel-dot { width: 34px; height: 44px; border: 0; padding: 0; display: grid; place-items: center; background: transparent; }
.bsb-carousel-dot::after { content: ''; width: 8px; height: 8px; border-radius: 9px; background: #ffffff70; transition: width .3s, background .3s; }
.bsb-carousel-dot[aria-current="true"]::after { width: 30px; background: var(--bsb-yellow); }
.bsb-carousel-navigation { display: flex; align-items: center; gap: 10px; }
.bsb-carousel-counter { font-size: 13px; letter-spacing: 2px; color: #cadaf1; margin-right: 12px; }
.bsb-carousel-navigation button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #ffffff66; background: #ffffff08; color: white; border-radius: 50%; font-size: 20px; line-height: 1; }
.bsb-carousel-navigation button:hover { background: #ffffff20; border-color: #ffffffb0; }
.bsb-finance-art { position: absolute; right: 30px; top: 75px; width: 360px; height: 355px; transform: rotate(-5deg); }
.bsb-report-card { padding: 30px; border-radius: 18px; border: 1px solid #b2dcff70; background: linear-gradient(135deg,#80b9f626,#2e6dc363); box-shadow: 18px 24px 0 #70acff0e, 0 25px 45px #06224d30; color: #e2f1ff; }
.bsb-report-card > span { font-size: 12px; letter-spacing: 2px; color: #bed8f8; }
.bsb-report-card strong { display: block; margin-top: 16px; font-size: 29px; font-weight: 500; }
.bsb-report-chart { display: flex; height: 140px; gap: 19px; align-items: flex-end; padding: 20px 10px 0; border-bottom: 1px solid #b6dfff80; margin-block: 15px; }
.bsb-report-chart i { flex: 1; height: 45%; background: linear-gradient(#bde7ffbd,#5ea4f157); border-radius: 5px 5px 0 0; }
.bsb-report-chart i:nth-child(2) { height: 67%; }
.bsb-report-chart i:nth-child(3) { height: 56%; }
.bsb-report-chart i:nth-child(4) { height: 90%; }
.bsb-report-chart i:nth-child(5) { height: 76%; background: linear-gradient(#ffe08c,#dcb66160); }
.bsb-report-card > p { font-size: 13px; color: #bcd8f5; }
.bsb-finance-label { position: absolute; bottom: -10px; right: -20px; background: #3778c9; border: 1px solid #a6cfff80; border-radius: 8px; padding: 13px 20px; color: #f3f8ff; font-size: 15px; transform: rotate(5deg); }
@media (max-width: 1180px) {
  .bsb-finance-art { right: -50px; opacity: .55; }
}
@media (max-width: 640px) {
  .bsb-carousel .bsb-hero-copy { padding-bottom: 110px; }
  .bsb-carousel-controls { bottom: 16px; }
  .bsb-carousel-counter { display: none; }
  .bsb-carousel-navigation { gap: 8px; }
  .bsb-carousel-navigation button { width: 42px; height: 42px; }
  .bsb-carousel-dot { width: 30px; }
  .bsb-hero-video { object-position: 75% center; }
  .bsb-video-shade { background: linear-gradient(90deg,#08204b99,#0c305544); }
  .bsb-finance-art { right: -180px; top: 100px; opacity: .18; transform: scale(.9) rotate(-5deg); }
}

/* 4. Homepage services */
.bsb-section.bsb-recommend-section { padding-block: clamp(64px, 6vw, 120px); }
.bsb-packages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.bsb-package { position: relative; isolation: isolate; overflow: hidden; border-radius: 8px; color: white; padding: 34px 24px; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: clamp(300px, 20vw, 400px); box-shadow: 0 10px 24px -8px rgb(var(--bsb-package-shadow, 45 70 115) / .22), inset 0 1px 0 #ffffff24; transition: transform .2s, box-shadow .2s; }
.bsb-package:hover { transform: translateY(-5px); box-shadow: 0 16px 30px -10px rgb(var(--bsb-package-shadow, 45 70 115) / .3), inset 0 1px 0 #ffffff30; }
.bsb-package::before { --bsb-orb-size: clamp(260px, 22vw, 420px); content: ""; position: absolute; z-index: -1; width: var(--bsb-orb-size); height: var(--bsb-orb-size); right: calc(var(--bsb-orb-size) * -.4); bottom: calc(var(--bsb-orb-size) * -.58); border-radius: 50%; background: radial-gradient(circle at 28% 22%, rgb(var(--bsb-package-glow) / .38), transparent 66%), linear-gradient(145deg, rgb(var(--bsb-package-shadow) / .03), rgb(var(--bsb-package-shadow) / .35)); box-shadow: 0 0 0 24px rgb(var(--bsb-package-glow) / .045), 0 0 0 49px rgb(var(--bsb-package-glow) / .025), inset 0 1px 0 rgb(var(--bsb-package-glow) / .2); pointer-events: none; }
.bsb-package::after { content: ""; position: absolute; z-index: -1; top: -54px; right: -24px; width: clamp(130px, 8vw, 170px); height: clamp(130px, 8vw, 170px); background: var(--bsb-package-icon) center / contain no-repeat; opacity: .08; transform: rotate(-14deg); pointer-events: none; }
.bsb-package-violet::after { top: -62px; right: -16px; transform: rotate(13deg); }
.bsb-package-blue::after { top: -50px; right: -30px; transform: rotate(-7deg); }
.bsb-package-teal::after { top: -66px; right: -20px; transform: rotate(24deg); }
.bsb-package-coral { --bsb-package-glow: 255 201 143; --bsb-package-shadow: 166 89 65; --bsb-package-icon: url('../images/bsb-package-registration.svg'); background: linear-gradient(125deg,#d98a3f,#ce5965); }
.bsb-package-violet { --bsb-package-glow: 193 186 255; --bsb-package-shadow: 84 70 166; --bsb-package-icon: url('../images/bsb-package-accounting.svg'); background: linear-gradient(125deg,#8174df,#5756c2); }
.bsb-package-blue { --bsb-package-glow: 150 204 255; --bsb-package-shadow: 40 87 163; --bsb-package-icon: url('../images/bsb-package-finance.svg'); background: linear-gradient(125deg,#448cd9,#345fbd); }
.bsb-package-teal { --bsb-package-glow: 142 232 221; --bsb-package-shadow: 31 114 121; --bsb-package-icon: url('../images/bsb-package-change.svg'); background: linear-gradient(125deg,#309d9e,#257b8c); }
.bsb-card-index { font-size: 12px; letter-spacing: 1px; color: #7386a4; }
.bsb-package .bsb-card-index { color: #ffffffce; }
.bsb-package h3 { font-size: clamp(18px,.3vw + 13px,21px); margin: 16px 0 10px; }
.bsb-package p { font-size: 13px; color: #ffffffe6; margin-bottom: 23px; }
.bsb-package .bsb-package-details { display: grid; gap: 8px; list-style: none; margin: 0 0 26px; font-size: var(--bsb-small-size); line-height: 1.65; color: #ffffffe6; }
.bsb-package-details li { position: relative; padding-left: 15px; }
.bsb-package-details li::before { content: ""; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: #ffffffb3; }
.bsb-package > a { margin-top: auto; padding: 8px 14px; border: 1px solid #ffffff88; border-radius: 4px; font-size: 13px; display: flex; gap: 28px; }
.bsb-package > a:hover { background: #ffffff20; color: white; }
.bsb-tabs { display: flex; justify-content: center; gap: 18px; margin-bottom: clamp(48px, 4vw, 72px); }
.bsb-tab,.bsb-filter { border: 1px solid transparent; border-radius: 30px; background: #fff; color: #61718c; padding: 11px 28px; min-height: 46px; font-size: 15px; }
.bsb-tab[aria-selected="true"],.bsb-filter[aria-pressed="true"] { color: white; background: var(--bsb-blue); box-shadow: 0 5px 15px #1d4ca724; }
.bsb-home-panel { display: grid; grid-template-columns: 260px minmax(0,1fr) 350px; background: white; border-radius: 24px 10px 10px 10px; overflow: clip; box-shadow: 0 16px 45px #1d356309; }
.bsb-home-panel-side { position: relative; overflow: hidden; background: linear-gradient(150deg,#edaa6d,#d7834c); padding: 34px 24px 26px; color: white; display: flex; flex-direction: column; align-items: flex-start; }
.bsb-panel-finance .bsb-home-panel-side { background: linear-gradient(150deg,#8b9be0,#5a6dc0); }
.bsb-panel-tax .bsb-home-panel-side { background: linear-gradient(150deg,#70acd9,#3879b9); }
.bsb-panel-license .bsb-home-panel-side { background: linear-gradient(150deg,#68b6ac,#398b86); }
.bsb-home-panel-side > span { color: #ffffffb8; font-size: 12px; letter-spacing: 1px; }
.bsb-home-panel-side h3 { margin: 24px 0 8px; font-size: 25px; }
.bsb-home-panel-side p { font-size: 12px; line-height: 1.6; color: #ffffffe0; overflow-wrap: anywhere; }
.bsb-service-illustration { width: calc(100% + 24px); max-width: none; height: auto; margin: auto -12px 12px; padding-top: 26px; }
.bsb-home-panel-side > a { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-radius: 24px; background: #ffffff26; color: white; font-size: 14px; }
.bsb-home-panel-side > a:hover,
.bsb-home-panel-side > a:focus-visible { background: #fff; color: #111; }
.bsb-home-service-grid { display: grid; grid-template-columns: 1.05fr 1fr; grid-template-rows: repeat(3, auto); padding: 0; min-width: 0; }
.bsb-home-service-grid article { min-width: 0; padding: 24px; border-bottom: 1px solid var(--bsb-line); display: flex; flex-direction: column; align-items: flex-start; }
.bsb-home-service-grid article.bsb-service-featured { grid-row: span 3; border-right: 1px solid var(--bsb-line); border-bottom: 0; background: linear-gradient(155deg,#fff 55%,#f4f8ff); padding: 32px 26px; }
.bsb-home-service-grid article:last-child { border-bottom: 0; }
.bsb-home-service-grid h3 { font-size: 18px; margin-bottom: 10px; }
.bsb-home-service-grid p { font-size: 13px; color: var(--bsb-muted); }
.bsb-home-service-grid .bsb-featured-description { margin-top: 16px; line-height: 1.8; }
.bsb-featured-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(80px,32%); align-items: center; gap: 10px; flex: 1; width: 100%; padding-block: 24px; }
.bsb-featured-steps { display: grid; gap: 18px; list-style: none; }
.bsb-featured-steps li { display: flex; align-items: flex-start; gap: 10px; }
.bsb-featured-steps li > span { flex-shrink: 0; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #e9f0fc; color: var(--bsb-blue); font-size: 12px; line-height: 1; }
.bsb-featured-steps strong { display: block; font-size: var(--bsb-small-size); font-weight: 600; line-height: 1.5; }
.bsb-featured-steps small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.65; color: var(--bsb-muted); }
.bsb-service-document { width: 100%; height: auto; object-fit: contain; margin: 0; }
.bsb-service-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 18px; }
.bsb-service-detail,.bsb-service-consult { display: inline-flex; align-items: center; gap: 12px; border: 1px solid #dce5f1; border-radius: 24px; padding: 5px 14px; font-size: var(--bsb-small-size); color: var(--bsb-blue); }
.bsb-popular-section .bsb-service-consult { background: var(--bsb-blue); border-color: var(--bsb-blue); color: white; }
.bsb-popular-section .bsb-service-consult:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-service-featured .bsb-service-actions { gap: 12px; width: 100%; }
.bsb-service-featured .bsb-service-actions > a { min-height: 46px; justify-content: center; gap: 8px; padding: 9px 16px; border-radius: 7px; font-weight: 500; transition: background .2s, box-shadow .2s; }
.bsb-popular-section .bsb-service-featured .bsb-service-detail { background: #fff; color: var(--bsb-blue); border-color: #cddcf2; }
.bsb-popular-section .bsb-service-featured .bsb-service-detail:hover { background: #edf4ff; }
.bsb-service-featured .bsb-service-consult { box-shadow: 0 5px 12px #2053aa20; }
.bsb-action-icon { width: 19px; height: 19px; flex-shrink: 0; }
.bsb-home-faq { border-left: 1px solid var(--bsb-line); padding: 30px 24px; display: flex; flex-direction: column; align-items: stretch; }
.bsb-home-faq > h3 { font-size: 19px; margin-bottom: 8px; padding-left: 13px; border-left: 4px solid #e5a45f; line-height: 1.3; }
.bsb-guide-intro { font-size: var(--bsb-small-size); color: var(--bsb-muted); margin: 0 0 16px; }
.bsb-home-faq .bsb-faq { counter-reset: bsb-guide; }
.bsb-home-faq .bsb-faq summary { padding: 18px 20px 18px 35px; font-size: 13px; }
.bsb-home-faq .bsb-faq summary::before { counter-increment: bsb-guide; content: counter(bsb-guide, decimal-leading-zero); position: absolute; left: 0; top: 19px; width: 25px; height: 25px; display: grid; place-items: center; background: #edaa6d; color: white; border-radius: 4px; font-size: 13px; line-height: 1; }
.bsb-home-faq .bsb-faq details:nth-child(2) summary::before { background: #70a8d5; }
.bsb-home-faq .bsb-faq details:nth-child(3) summary::before { background: #7ba796; }
.bsb-home-faq .bsb-faq details:nth-child(4) summary::before { background: #9a89c4; }
.bsb-home-faq .bsb-faq details:nth-child(5) summary::before { background: #cc9b71; }
.bsb-home-panel .bsb-home-faq .bsb-faq p { font-size: clamp(12px, .1vw + 10.5px, 13px); line-height: 1.6; padding: 0 0 12px; margin: 0; }
.bsb-guide-contact { font-size: var(--bsb-small-size); color: var(--bsb-blue); margin-top: auto; padding-top: 28px; }
.bsb-home-panel .bsb-service-detail,
.bsb-home-panel .bsb-service-consult,
.bsb-home-panel .bsb-guide-contact { font-size: clamp(12px, .16vw + 10px, 14px); font-weight: 400; line-height: 1.6; }
.bsb-home-panel .bsb-action-icon { width: 17px; height: 17px; }
.bsb-popular-contact { width: min(800px,100%); margin: 68px auto 20px; display: flex; align-items: stretch; justify-content: space-between; border: 1px solid #d5e1f3; border-radius: 8px; background: white; overflow: hidden; }
.bsb-popular-contact > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; padding: 14px 30px; }
.bsb-popular-contact > div > span { font-size: var(--bsb-small-size); color: var(--bsb-muted); }
.bsb-popular-contact > div > a { color: var(--bsb-blue); font-size: clamp(23px, 1.5vw, 30px); font-weight: 700; line-height: 1.4; }
.bsb-popular-section .bsb-popular-contact-button { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 14px 32px; white-space: nowrap; color: white; background: var(--bsb-blue); font-size: var(--bsb-small-size); }
.bsb-popular-section .bsb-popular-contact-button:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin-bottom: 72px; }
.bsb-benefits > div { --bsb-benefit-accent: #477bbf; --bsb-benefit-tint: #eef4fc; position: relative; isolation: isolate; overflow: hidden; padding: 30px 26px; border-radius: 12px; border: 1px solid #e9eef5; background: linear-gradient(145deg,#fff 35%,var(--bsb-benefit-tint)); box-shadow: 0 10px 28px -16px #243e782e; }
.bsb-benefits > .bsb-benefit-2 { --bsb-benefit-accent: #8872bd; --bsb-benefit-tint: #f3f0fa; }
.bsb-benefits > .bsb-benefit-3 { --bsb-benefit-accent: #c19053; --bsb-benefit-tint: #fcf5eb; }
.bsb-benefits > .bsb-benefit-4 { --bsb-benefit-accent: #4d9a90; --bsb-benefit-tint: #edf7f4; }
.bsb-benefit-card::after { content: ""; position: absolute; z-index: -1; width: 150px; height: 150px; border-radius: 50%; right: -60px; bottom: -95px; background: var(--bsb-benefit-tint); box-shadow: 0 0 0 18px #ffffff60; }
.bsb-benefits .bsb-benefit-number { position: absolute; top: 10px; right: 16px; color: var(--bsb-benefit-accent); opacity: .09; font-size: 66px; font-weight: 700; line-height: 1; transform: rotate(-8deg); }
.bsb-benefit-2 .bsb-benefit-number { transform: rotate(7deg); top: 4px; }
.bsb-benefit-4 .bsb-benefit-number { transform: rotate(10deg); right: 10px; }
.bsb-benefit-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 14px; color: var(--bsb-benefit-accent); background: var(--bsb-benefit-tint); }
.bsb-benefit-icon svg { width: 28px; height: 28px; }
.bsb-benefits h3 { font-size: 18px; margin-bottom: 8px; }
.bsb-benefits p { font-size: 13px; color: var(--bsb-muted); }
.bsb-advantages-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
.bsb-advantages-heading h2 { margin-top: 10px; font-size: var(--bsb-title-size); }
.bsb-advantages-heading > p { max-width: 25em; font-size: var(--bsb-small-size); color: var(--bsb-muted); padding-bottom: 4px; }
.bsb-company-intro { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(36px,4vw,76px); align-items: center; padding: clamp(28px,3vw,48px); border-radius: 18px; background: linear-gradient(125deg,#f1f6fc,#fff 75%); border: 1px solid #e9eff7; }
.bsb-company-visual { min-width: 0; padding: 12px; background: white; border-radius: 12px; box-shadow: 0 12px 32px -18px #284d7a50; }
.bsb-company-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.bsb-company-photos figure { position: relative; overflow: hidden; border-radius: 7px; background: #edf3fb; }
.bsb-company-photos img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.bsb-company-photos figure:first-child img { object-position: center 62%; }
.bsb-company-photos figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 12px 9px; background: linear-gradient(transparent,#142b4f90); color: white; font-size: 12px; line-height: 1.6; }
.bsb-company-caption { padding: 19px 12px 10px; }
.bsb-company-caption > span { display: block; font-size: 10px; letter-spacing: 2px; color: #8aa1bf; line-height: 1.5; }
.bsb-company-caption > strong { display: block; margin-top: 6px; color: var(--bsb-ink); font-size: var(--bsb-small-size); font-weight: 500; }
.bsb-company-copy { min-width: 0; }
.bsb-company-copy h2 { margin: 8px 0 10px; }
.bsb-company-copy .bsb-company-name { color: var(--bsb-blue); font-size: var(--bsb-small-size); font-weight: 500; margin-bottom: 20px; }
.bsb-company-copy > p:not(.bsb-kicker):not(.bsb-company-name) { font-size: var(--bsb-body-size); line-height: 1.85; color: var(--bsb-muted); margin-bottom: 16px; }
.bsb-company-services { list-style: none; display: flex; flex-wrap: wrap; gap: 9px 16px; padding-top: 6px; font-size: var(--bsb-small-size); color: #49617f; }
.bsb-company-services li::before { content: "✓"; margin-right: 7px; color: #7198c8; }
.bsb-company-area { display: flex; align-items: baseline; gap: 12px; border-top: 1px solid #e0e8f3; padding-top: 18px; margin-top: 22px; font-size: var(--bsb-small-size); color: #627690; }
.bsb-company-area > span { flex-shrink: 0; color: var(--bsb-ink); }
.bsb-company-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.bsb-company-actions > a { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 44px; padding: 9px 18px; border-radius: 6px; border: 1px solid #d3e0f2; font-size: clamp(12px,.16vw + 10px,14px); line-height: 1.6; }
.bsb-company-actions .bsb-company-more { color: white; background: var(--bsb-blue); border-color: var(--bsb-blue); }
.bsb-company-actions .bsb-company-more:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-company-actions .bsb-company-contact { color: var(--bsb-blue); background: white; }
.bsb-company-actions .bsb-company-contact:hover { background: #edf4ff; }
.bsb-about-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 56px; }
.bsb-about-split h2 { margin: 10px 0 20px; }
.bsb-about-split p:not(.bsb-kicker) { color: var(--bsb-muted); margin-bottom: 16px; line-height: 1.95; }
.bsb-office-figure { border-radius: 8px; overflow: clip; background: #edf3fa; }
.bsb-office-figure img { width: 100%; aspect-ratio: 1.7; object-fit: cover; object-position: center; }
.bsb-office-figure figcaption { padding: 14px 20px; font-size: 13px; color: #627a9d; }

/* 5. Shared inner-page structure */
.bsb-inner-hero { position: relative; isolation: isolate; overflow: clip; color: white; background: linear-gradient(115deg,#12326f,#2763ba); padding-block: 28px 48px; }
.bsb-inner-hero .bsb-container { position: relative; z-index: 1; }
.bsb-breadcrumb { font-size: 13px; color: #bcd0f0; margin-bottom: 30px; }
.bsb-breadcrumb ol { display: flex; flex-wrap: wrap; list-style: none; gap: 6px 12px; }
.bsb-breadcrumb li + li::before { content: "/"; margin-right: 12px; color: #7c9ece; }
.bsb-breadcrumb a:hover { color: white; }
.bsb-inner-hero .bsb-kicker { color: #a9c7ee; }
.bsb-inner-hero h1 { font-size: clamp(30px,1.7vw + 12px,46px); margin-block: 8px 14px; }
.bsb-inner-description { font-size: clamp(15px,.3vw + 11px,18px); color: #cedef5; max-width: 760px; }
.bsb-inner-orbit { position: absolute; width: 700px; height: 700px; border: 1px solid #ffffff14; border-radius: 50%; right: -40px; top: -340px; box-shadow: 0 0 0 90px #ffffff04,0 0 0 180px #ffffff03; z-index: -1; }
.bsb-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 40px; align-items: start; }
.bsb-main-column,.bsb-article { min-width: 0; }
.bsb-main-column > .bsb-section-heading { text-align: left; }
.bsb-content-section { margin-top: 42px; }
.bsb-content-section > h2 { font-size: clamp(23px,.7vw + 14px,29px); margin-bottom: 22px; }
.bsb-content-section > p { color: var(--bsb-muted); margin-bottom: 18px; }
.bsb-service-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bsb-service-card { padding: 26px; border: 1px solid var(--bsb-line); border-radius: 8px; background: linear-gradient(140deg,#fff,#f7faff); display: flex; flex-direction: column; align-items: flex-start; }
.bsb-service-card h3 { margin: 17px 0 12px; }
.bsb-service-card p { font-size: 14px; color: var(--bsb-muted); margin-bottom: 16px; }
.bsb-service-card .bsb-text-link { margin-top: auto; }
.bsb-sidebar { position: sticky; top: 122px; }
.bsb-side-nav { border: 1px solid var(--bsb-line); border-radius: 8px; overflow: clip; background: white; }
.bsb-side-nav h2 { background: var(--bsb-soft); font-size: 21px; padding: 23px; }
.bsb-side-nav ul { list-style: none; }
.bsb-side-nav a { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; padding: 16px 22px; border-top: 1px solid var(--bsb-line); }
.bsb-side-nav a[aria-current="page"] { color: var(--bsb-blue); font-weight: 600; background: #edf4ff; }
.bsb-side-contact { background: linear-gradient(140deg,#285fb4,#183d7f); color: white; padding: 26px; border-radius: 8px; margin-top: 24px; }
.bsb-side-contact .bsb-kicker { color: #b3cdf3; }
.bsb-side-contact h2 { font-size: 21px; margin-block: 12px 16px; }
.bsb-side-contact p:not(.bsb-kicker) { font-size: 13px; color: #c8d9f3; }
.bsb-side-contact > a { display: block; color: #ffdd7d; font-size: 23px; margin-block: 16px; white-space: nowrap; }
.bsb-side-contact img { padding: 5px; background: white; border-radius: 4px; width: 105px; margin-bottom: 9px; }
.bsb-process { list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 14px; }
.bsb-process li { padding: 20px 17px; background: var(--bsb-soft); border-radius: 6px; }
.bsb-process li > span { font-size: 22px; color: #6f92c7; display: block; margin-bottom: 14px; }
.bsb-process h3 { font-size: 16px; margin-bottom: 10px; }
.bsb-process p { font-size: 13px; color: var(--bsb-muted); line-height: 1.8; }
.bsb-faq details { border-bottom: 1px solid var(--bsb-line); }
.bsb-faq summary { position: relative; cursor: pointer; list-style: none; padding: 20px 30px 20px 0; font-size: 15px; color: #324a70; }
.bsb-faq summary::-webkit-details-marker { display: none; }
.bsb-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: #547bab; font-size: 20px; }
.bsb-faq details[open] summary::after { content: "−"; }
.bsb-faq p { color: var(--bsb-muted); padding-bottom: 20px; font-size: 14px; line-height: 1.95; }
.bsb-article { max-width: 100%; }
.bsb-article > h2 { margin-block: 12px 22px; }
.bsb-article .bsb-lead { color: var(--bsb-muted); line-height: 2; }
.bsb-service-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 28px; padding: 24px; background: var(--bsb-soft); border-radius: 8px; }
.bsb-service-facts span { display: block; font-size: 13px; color: #7385a0; margin-bottom: 8px; }
.bsb-service-facts strong { display: block; font-size: 14px; font-weight: 500; }
.bsb-check-list { list-style: none; display: grid; gap: 14px; }
.bsb-check-list li { position: relative; padding-left: 27px; color: #55667f; }
.bsb-check-list li::before { content: "✓"; position: absolute; left: 0; top: 1px; color: #3c72b9; font-size: 16px; }
.bsb-notice { border-left: 3px solid #b4c9e9; background: #f4f7fc; padding: 16px 20px; color: #657792; font-size: 13px; line-height: 1.9; margin-top: 24px; }
.bsb-article-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 28px; border-radius: 8px; background: #edf3fc; margin-top: 40px; }
.bsb-article-cta h2 { font-size: 22px; margin-bottom: 8px; }
.bsb-article-cta p { color: var(--bsb-muted); font-size: 14px; }
.bsb-region-banner { border-radius: 8px; background: var(--bsb-soft); padding: 36px; margin-top: 40px; }
.bsb-region-banner h2 { margin-block: 12px; }
.bsb-region-banner > p:not(.bsb-kicker) { margin-bottom: 25px; color: #617594; }
.bsb-about-split + .bsb-benefits { margin-top: 50px; margin-bottom: 0; }

/* 6. News and contact pages */
.bsb-news-toolbar { display: flex; flex-wrap: wrap; gap: 12px; }
.bsb-filter { border-color: var(--bsb-line); }
.bsb-result-count { font-size: 13px; color: var(--bsb-muted); margin-block: 20px 25px; }
.bsb-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bsb-news-card { padding: 30px; border: 1px solid var(--bsb-line); border-radius: 8px; display: flex; flex-direction: column; align-items: flex-start; }
.bsb-news-meta { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; font-size: 13px; color: #7a89a1; }
.bsb-news-meta > span { padding: 3px 10px; background: #edf3fd; border-radius: 3px; color: var(--bsb-blue); }
.bsb-news-card h2 { font-size: 22px; margin-block: 20px 13px; }
.bsb-news-card > p { font-size: 14px; color: var(--bsb-muted); margin-bottom: 20px; }
.bsb-news-card .bsb-text-link { margin-top: auto; }
.bsb-news-article > header h2 { margin-block: 22px; font-size: clamp(25px,1.1vw + 13px,34px); }
.bsb-news-article > p:not(.bsb-notice) { margin-top: 23px; color: #53647d; line-height: 2; }
.bsb-article-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; border-top: 1px solid var(--bsb-line); margin-top: 36px; padding-top: 20px; }
.bsb-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.bsb-contact-card { border: 1px solid var(--bsb-line); border-radius: 8px; padding: 30px; }
.bsb-contact-card h2 { font-size: 23px; margin-block: 15px 20px; }
.bsb-contact-card > p { font-size: 14px; color: var(--bsb-muted); margin-top: 17px; }
.bsb-contact-value { display: inline-block; color: var(--bsb-blue) !important; font-size: clamp(20px,1vw + 8px,28px); font-weight: 500; }
.bsb-email { font-size: clamp(16px,.6vw + 8px,21px); overflow-wrap: anywhere; }
.bsb-contact-qr { display: flex; align-items: center; gap: 20px; }
.bsb-contact-qr img { width: 88px; flex-shrink: 0; }
.bsb-contact-qr p { font-size: 13px; color: var(--bsb-muted); }
.bsb-location { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; align-items: center; margin-top: 50px; padding: 36px; background: var(--bsb-soft); border-radius: 8px; }
.bsb-location h2 { font-size: 25px; margin-block: 14px 20px; }
.bsb-location :where(address,p:not(.bsb-kicker)) { color: #61728c; margin-bottom: 16px; }
.bsb-location figure { min-width: 0; }
.bsb-location figure img { border-radius: 7px; }
.bsb-location figcaption { color: #7385a0; font-size: 13px; margin-top: 12px; }

/* 7. Shared footer */
.bsb-contact-band { color: white; background: linear-gradient(#fff,#f4f7fc); padding-block: 12px 80px; }
.bsb-contact-band-inner { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) auto; align-items: center; gap: 32px; padding: 38px 42px; border-radius: 18px; background: linear-gradient(115deg,#244b92,#346bb9); box-shadow: 0 16px 35px -20px #234f9980; }
.bsb-contact-band-decor { display: none; }
.bsb-contact-band-decor svg { width: 100%; height: 100%; }
.bsb-contact-band .bsb-kicker { color: #bdd3f2; font-size: 11px; letter-spacing: 2px; }
.bsb-contact-band h2 { margin-block: 10px 12px; font-size: clamp(23px,1vw + 12px,32px); line-height: 1.45; }
.bsb-contact-band p { font-size: 14px; color: #d4e2f6; }
.bsb-contact-band-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; font-size: 12px; color: #e2edfc; }
.bsb-contact-band-tags > span { padding: 3px 10px; border: 1px solid #ffffff26; border-radius: 4px; background: #ffffff08; }
.bsb-contact-band-info { padding-left: 32px; border-left: 1px solid #ffffff26; min-width: 0; }
.bsb-contact-phone-label { display: flex; align-items: center; gap: 9px; color: #c5d8f2; font-size: var(--bsb-small-size); }
.bsb-contact-phone-label svg,.bsb-contact-email svg { width: 18px; height: 18px; flex-shrink: 0; }
.bsb-contact-band-info .bsb-phone { display: block; color: white; font-weight: 600; letter-spacing: .3px; }
.bsb-phone { font-size: clamp(25px,1vw + 12px,33px); line-height: 1.5; margin-block: 7px; white-space: nowrap; }
.bsb-contact-band-info .bsb-contact-email { display: flex; align-items: center; gap: 9px; color: #fff; font-size: var(--bsb-small-size); }
.bsb-contact-band-info .bsb-phone:hover,
.bsb-contact-band-info .bsb-phone:focus-visible,
.bsb-contact-band-info .bsb-contact-email:hover,
.bsb-contact-band-info .bsb-contact-email:focus-visible { color: #fff; }
.bsb-contact-band-inner .bsb-contact-band-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 13px 20px; min-height: 48px; border-radius: 7px; background: white; color: #244c90; font-size: clamp(12px,.16vw + 10px,14px); box-shadow: 0 6px 16px #163d7d20; }
.bsb-contact-band-inner .bsb-contact-band-button:hover { background: #eff5ff; color: #111; }
.bsb-footer { background: linear-gradient(112deg,#3e5689 0%,#485e96 48%,#397580 100%); color: #e3eaf7; font-size: 13px; border-top: 1px solid #ffffff20; }
.bsb-footer-grid { display: grid; grid-template-columns: 1.2fr .55fr .6fr 1.75fr; gap: clamp(34px,3vw,64px); padding-block: 76px 64px; }
.bsb-footer-grid > * { min-width: 0; }
.bsb-footer-grid h2 { font-size: 16px; color: #fff; margin-bottom: 24px; }
.bsb-footer-brand .bsb-footer-logo { display: inline-block; background: white; padding: 9px 12px; border-radius: 7px; margin-bottom: 22px; }
.bsb-footer-brand > a img { width: 145px; height: auto; margin: 0; }
.bsb-footer-brand h2 { font-size: 16px; margin-bottom: 13px; }
.bsb-footer-brand p { margin-block: 7px; font-size: var(--bsb-small-size); }
.bsb-footer-area { display: inline-block; margin-top: 22px; padding: 6px 11px; border-radius: 5px; background: #ffffff0b; border: 1px solid #ffffff25; font-size: 12px; color: #e3edff; }
.bsb-footer-nav h2 { position: relative; padding-bottom: 14px; }
.bsb-footer-nav h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 20px; height: 2px; background: #c5d9fa; border-radius: 2px; }
.bsb-footer-grid ul { list-style: none; }
.bsb-footer-grid li { margin-block: 11px; }
.bsb-footer-nav a { display: inline-flex; align-items: center; gap: 8px; }
.bsb-footer-nav a::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #c5d9fa90; }
.bsb-footer-grid a:hover { color: #fff; }
.bsb-footer-contact { display: grid; grid-template-columns: minmax(0,1fr) 108px; gap: 0 22px; align-content: start; align-items: start; }
.bsb-footer-contact > h2 { grid-column: 1 / -1; }
.bsb-footer-contact-info { display: grid; gap: 14px; min-width: 0; }
.bsb-footer-contact-info .bsb-footer-company { color: #fff; font-size: var(--bsb-small-size); font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; }
.bsb-footer-contact-info .bsb-footer-person { display: flex; align-items: flex-start; gap: 10px; font-size: var(--bsb-small-size); line-height: 1.7; }
.bsb-footer-contact-info > a,.bsb-footer-address { display: flex; align-items: flex-start; gap: 10px; font-size: var(--bsb-small-size); line-height: 1.7; }
.bsb-footer-contact-info svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: #c1d7f7; }
.bsb-footer-contact-info > a > span,.bsb-footer-address > span { min-width: 0; overflow-wrap: anywhere; }
.bsb-footer-contact-info .bsb-footer-phone { color: #fff; font-size: clamp(19px,1.1vw,25px); font-weight: 500; line-height: 1.2; }
.bsb-footer-contact-info .bsb-footer-phone svg { margin-top: 2px; }
.bsb-footer-postcode { padding-left: 28px; font-size: 12px; color: #d5e1f5; }
.bsb-footer-contact .bsb-qr { display: flex; flex-direction: column; align-items: center; gap: 9px; margin: 0; padding: 8px 7px 10px; background: #ffffff0c; border: 1px solid #ffffff26; border-radius: 8px; }
.bsb-footer-contact .bsb-qr img { width: 90px; height: auto; background: #fff; padding: 4px; border-radius: 4px; }
.bsb-footer-contact .bsb-qr > span { font-size: 12px; white-space: nowrap; color: #e3edff; }
.bsb-copyright { border-top: 1px solid #ffffff20; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; padding-block: 24px; font-size: 12px; color: #d0ddf3; }
.bsb-copyright-info { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; min-width: 0; }
.bsb-filing-info { display: inline-flex; align-items: baseline; gap: 0; }
.bsb-copyright .bsb-icp-link { color: inherit; }
.bsb-copyright .bsb-icp-link:hover,
.bsb-copyright .bsb-icp-link:focus-visible { color: #fff; }
.bsb-technical-support a { color: inherit; }
.bsb-technical-support a:hover,
.bsb-technical-support a:focus-visible { color: #fff; }
.bsb-back-top { position: fixed; z-index: 30; right: 22px; bottom: 24px; width: 42px; height: 42px; border: 1px solid var(--bsb-line); border-radius: 6px; background: #fff; display: grid; place-items: center; color: var(--bsb-blue) !important; box-shadow: 0 4px 20px #183b6c15; }

/* 8. Large displays: cap line length and typography, expand whitespace gently. */
@media (min-width: 1600px) {
  .bsb-site { --bsb-container: 1320px; }
  .bsb-hero-inner { min-height: 610px; }
  .bsb-hero-art { top: 53px; right: 25px; transform: scale(1.08); }
}
@media (min-width:1181px) {
  .bsb-site {
    --bsb-container: 1600px;
    --bsb-large-type-scale: 1.1;
    --bsb-body-size: calc(17px * var(--bsb-large-type-scale));
    --bsb-small-size: calc(14px * var(--bsb-large-type-scale));
    --bsb-title-size: calc(38px * var(--bsb-large-type-scale));
    --bsb-h1-size: calc(54px * var(--bsb-large-type-scale));
  }
  .bsb-section { padding-block: 88px; }
  .bsb-hero-inner { min-height: 640px; }
  .bsb-hero-art { right: 45px; top: 65px; transform: scale(1.13); }
  .bsb-navigation > ul { gap: clamp(40px, 1.8vw, 56px); }
  .bsb-navigation a { font-size: calc(16px * var(--bsb-large-type-scale)); }
  .bsb-topbar,.bsb-brand > span,.bsb-brand small,.bsb-kicker,
  .bsb-card-index,.bsb-home-panel-side p,.bsb-copyright {
    font-size: calc(13px * var(--bsb-large-type-scale));
  }
  .bsb-package p,.bsb-package > a,.bsb-hero-regions,
  .bsb-home-service-grid p,.bsb-home-faq .bsb-faq summary,
  .bsb-home-faq .bsb-faq p,.bsb-benefits p,.bsb-office-figure figcaption,
  .bsb-breadcrumb,.bsb-side-contact p:not(.bsb-kicker),.bsb-process p,
  .bsb-service-facts span,.bsb-notice,.bsb-news-meta,.bsb-result-count,
  .bsb-contact-qr p,.bsb-location figcaption,.bsb-footer {
    font-size: calc(14px * var(--bsb-large-type-scale));
  }
  .bsb-button,.bsb-tab,.bsb-filter,.bsb-service-card p,
  .bsb-side-nav a,.bsb-home-panel-side > a,.bsb-faq summary,.bsb-faq p,
  .bsb-service-facts strong,.bsb-article-cta p,.bsb-news-card > p,
  .bsb-contact-card > p,.bsb-contact-band p {
    font-size: calc(16px * var(--bsb-large-type-scale));
  }
  .bsb-hero .bsb-kicker { font-size: calc(14px * var(--bsb-large-type-scale)); }
  .bsb-hero-overline { font-size: calc(22px * var(--bsb-large-type-scale)); }
  .bsb-hero-description,.bsb-art-badge { font-size: calc(18px * var(--bsb-large-type-scale)); }
  .bsb-package h3 { font-size: calc(22px * var(--bsb-large-type-scale)); }
  .bsb-home-service-grid h3,.bsb-benefits h3,.bsb-process h3,
  .bsb-footer-grid h2,.bsb-footer-brand h2 {
    font-size: calc(19px * var(--bsb-large-type-scale));
  }
  .bsb-home-faq > h3 { font-size: calc(21px * var(--bsb-large-type-scale)); }
  .bsb-home-panel-side h3 { font-size: calc(25px * var(--bsb-large-type-scale)); }
  .bsb-inner-hero h1 { font-size: calc(46px * var(--bsb-large-type-scale)); }
  .bsb-inner-description { font-size: calc(18px * var(--bsb-large-type-scale)); }
  .bsb-content-section > h2 { font-size: calc(29px * var(--bsb-large-type-scale)); }
  .bsb-service-card h3,.bsb-side-nav h2,.bsb-side-contact h2,
  .bsb-article-cta h2,.bsb-news-card h2,.bsb-contact-card h2 {
    font-size: calc(23px * var(--bsb-large-type-scale));
  }
  .bsb-side-contact > a { font-size: calc(24px * var(--bsb-large-type-scale)); }
  .bsb-news-article > header h2 { font-size: calc(34px * var(--bsb-large-type-scale)); }
  .bsb-contact-value { font-size: calc(28px * var(--bsb-large-type-scale)); }
  .bsb-email { font-size: calc(22px * var(--bsb-large-type-scale)); }
  .bsb-location h2 { font-size: calc(27px * var(--bsb-large-type-scale)); }
  .bsb-contact-band h2 { font-size: calc(32px * var(--bsb-large-type-scale)); }
  .bsb-phone { font-size: calc(33px * var(--bsb-large-type-scale)); }
  .bsb-home-panel { grid-template-columns: 340px minmax(0,1fr) 430px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 310px; }
  .bsb-package { padding-block: 40px; }
}
@media (min-width: 2560px) {
  .bsb-site { --bsb-container: 1800px; --bsb-large-type-scale: 1.2; }
  .bsb-hero-inner { min-height: 670px; }
  .bsb-inner-hero { padding-bottom: 60px; }
  .bsb-inner-description { max-width: 800px; }
}
@media (min-width: 3840px) {
  .bsb-site { --bsb-container: 2000px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 48px; }
  .bsb-article > .bsb-lead,.bsb-news-article > p { max-width: 50em; }
}

/* 9. Compact desktop and tablet */
@media (max-width: 1360px) {
  .bsb-brand > span { display: none; }
}
@media (max-width: 1180px) {
  .bsb-header-inner { min-height: 82px; }
  .bsb-header-hotline { margin-left: auto; order: 1; }
  .bsb-menu-toggle { order: 2; }
  .bsb-menu-toggle { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--bsb-line); background: var(--bsb-soft); color: var(--bsb-blue); border-radius: 5px; font-size: 23px; }
  .bsb-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; background: white; box-shadow: 0 12px 20px #143f731a; border-top: 1px solid var(--bsb-line); padding: 16px var(--bsb-gutter); max-height: calc(100dvh - 100px); overflow-y: auto; }
  .bsb-navigation.bsb-is-open { display: block; }
  .bsb-navigation > ul { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px 18px; }
  .bsb-navigation a { font-size: 15px; min-height: 48px; justify-content: center; }
  .bsb-navigation .bsb-current::after { bottom: 3px; }
  .bsb-home-panel { grid-template-columns: 185px minmax(0,1fr); }
  .bsb-home-faq { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--bsb-line); padding: 22px 28px; }
  .bsb-home-faq .bsb-faq summary { font-size: 14px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 28px; }
  .bsb-side-contact { padding: 22px; }
  .bsb-side-contact > a { font-size: 21px; }
  .bsb-sidebar { top: 106px; }
  .bsb-hero-art { right: -50px; opacity: .55; }
  .bsb-about-split { gap: 32px; }
  .bsb-footer-grid { gap: 28px; }
  .bsb-contact-band-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px 30px; padding: 32px; }
  .bsb-contact-band-copy { grid-row: span 2; }
  .bsb-contact-band-button { grid-column: 2; justify-self: start; }
  .bsb-contact-card { padding: 23px; }
}
@media (max-width: 900px) {
  .bsb-packages { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsb-package { min-height: 300px; }
  .bsb-hero-copy { width: 90%; }
  .bsb-hero .bsb-hero-title { font-size: 42px; }
  .bsb-hero-art { opacity: .25; right: -100px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .bsb-sidebar { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 22px; }
  .bsb-side-contact { margin-top: 0; }
  .bsb-about-split { grid-template-columns: minmax(0,1fr); }
  .bsb-office-figure img { aspect-ratio: 2.5; object-fit: contain; }
  .bsb-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .bsb-advantages-heading { flex-direction: column; align-items: flex-start; gap: 14px; }
  .bsb-advantages-heading > p { max-width: none; }
  .bsb-company-intro { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .bsb-company-photos img { aspect-ratio: 1.65; }
  .bsb-footer-grid { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .bsb-footer-brand { grid-column: 1 / -1; }
  .bsb-footer-contact { grid-column: 1 / -1; }
  .bsb-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsb-contact-card:last-child { grid-column: 1 / -1; }
  .bsb-location { grid-template-columns: minmax(0,1fr); gap: 30px; padding: 30px; }
  .bsb-contact-band-info { padding-left: 24px; }
  .bsb-contact-band-button { margin-left: 24px; }
}

/* 10. Phones: explicit type scale, readable body text and natural wrapping. */
@media (max-width: 640px) {
  html { scroll-padding-top: 90px; }
  .bsb-site { --bsb-gutter: 20px; --bsb-body-size: 15px; --bsb-small-size: 13px; --bsb-title-size: 27px; }
  .bsb-topbar { font-size: 12px; }
  .bsb-topbar .bsb-container { gap: 12px; padding-block: 8px; align-items: center; }
  .bsb-topbar p { max-width: 48%; }
  .bsb-topbar a { max-width: 50%; white-space: normal; text-align: right; }
  .bsb-header-inner { min-height: 76px; }
  .bsb-header-hotline { display: none; }
  .bsb-brand img { width: 145px; }
  .bsb-navigation { padding: 8px var(--bsb-gutter); max-height: calc(100dvh - 140px); }
  .bsb-navigation > ul { grid-template-columns: minmax(0,1fr); gap: 0; }
  .bsb-navigation a { justify-content: flex-start; min-height: 38px; padding: 6px 14px; font-size: 14px; line-height: 1.5; }
  .bsb-navigation .bsb-current { background: #f0f5ff; border-radius: 4px; }
  .bsb-navigation .bsb-current::after { display: none; }
  .bsb-hero-inner { min-height: 500px; }
  .bsb-hero-copy { width: 100%; padding-block: 44px 48px; }
  .bsb-hero .bsb-kicker { font-size: 12px; letter-spacing: 1px; }
  .bsb-hero-overline { font-size: 17px; letter-spacing: 2px; margin-top: 16px; }
  .bsb-hero .bsb-hero-title { font-size: clamp(30px,6.8vw,40px); line-height: 1.35; letter-spacing: 0; }
  .bsb-mobile-break { display: block; }
  .bsb-hero-description { font-size: 14px; max-width: 320px; line-height: 1.7; }
  .bsb-hero-regions { font-size: 13px; max-width: 330px; }
  .bsb-hero-art { right: -190px; top: 65px; opacity: .18; transform: scale(.9); }
  .bsb-actions { gap: 12px; }
  .bsb-button { font-size: 14px; gap: 15px; padding: 10px 18px; min-height: 46px; }
  .bsb-section-heading { margin-bottom: 26px; }
  .bsb-packages { gap: 14px; }
  .bsb-package { padding: 28px 18px; min-height: 290px; }
  .bsb-package h3 { font-size: 18px; }
  .bsb-package p { font-size: 13px; }
  .bsb-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .bsb-tab { font-size: 14px; padding: 10px 12px; }
  .bsb-home-panel { grid-template-columns: minmax(0,1fr); }
  .bsb-home-panel-side { padding: 24px; position: relative; }
  .bsb-home-panel-side > span { position: absolute; top: 22px; right: 24px; }
  .bsb-home-panel-side h3 { margin-top: 0; font-size: 23px; }
  .bsb-home-panel-side p { font-size: 12px; max-width: 75%; }
  .bsb-home-panel-side > a { padding-top: 18px; }
  .bsb-service-illustration { position: absolute; width: 125px; height: 116px; right: 14px; bottom: 7px; padding: 0; margin: 0; opacity: .85; }
  .bsb-home-panel-side > a { width: fit-content; margin-top: 18px; padding: 8px 14px; gap: 16px; }
  .bsb-home-service-grid { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; }
  .bsb-home-service-grid article.bsb-service-featured { grid-row: auto; border-right: 0; border-bottom: 1px solid var(--bsb-line); padding: 26px 24px; }
  .bsb-featured-body { grid-template-columns: minmax(0,1fr) 90px; padding-block: 22px 12px; }
  .bsb-service-document { width: 100%; height: auto; margin: 0; }
  .bsb-home-service-grid article { padding: 24px; }
  .bsb-home-faq { padding: 26px 24px; }
  .bsb-popular-contact { flex-direction: column; margin-top: 44px; margin-bottom: 12px; }
  .bsb-popular-contact > div { padding: 14px 22px; gap: 8px 20px; }
  .bsb-popular-section .bsb-popular-contact-button { padding-block: 12px; }
  .bsb-home-service-grid { padding: 6px; }
  .bsb-home-service-grid article { padding: 22px 14px; }
  .bsb-home-service-grid h3 { font-size: 17px; }
  .bsb-home-faq { padding: 24px 20px; }
  .bsb-benefits { gap: 14px; margin-bottom: 40px; }
  .bsb-benefits > div { padding: 24px 18px; }
  .bsb-benefits .bsb-benefit-number { font-size: 54px; right: 10px; }
  .bsb-benefit-icon { width: 44px; height: 44px; border-radius: 12px; margin-bottom: 18px; }
  .bsb-benefit-icon svg { width: 25px; height: 25px; }
  .bsb-benefits h3 { font-size: 17px; }
  .bsb-benefits p { font-size: 13px; }
  .bsb-about-split { gap: 28px; }
  .bsb-office-figure figcaption { padding: 12px 16px; }
  .bsb-company-intro { padding: 20px; border-radius: 12px; gap: 26px; }
  .bsb-company-visual { padding: 8px; }
  .bsb-company-photos { gap: 7px; }
  .bsb-company-photos img { aspect-ratio: 1.15; }
  .bsb-company-photos figcaption { font-size: 11px; padding-inline: 8px; }
  .bsb-company-caption { padding-inline: 6px; }
  .bsb-company-caption > span { font-size: 9px; letter-spacing: 1px; }
  .bsb-company-area { flex-direction: column; gap: 5px; }
  .bsb-company-actions > a { gap: 12px; padding-inline: 12px; }
  .bsb-inner-hero { padding-block: 22px 36px; }
  .bsb-inner-hero h1 { font-size: 30px; }
  .bsb-inner-description { font-size: 15px; }
  .bsb-breadcrumb { font-size: 12px; margin-bottom: 26px; }
  .bsb-breadcrumb ol { gap: 5px 8px; }
  .bsb-breadcrumb li + li::before { margin-right: 8px; }
  .bsb-service-cards { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .bsb-service-card { padding: 25px; }
  .bsb-service-card h3 { font-size: 21px; }
  .bsb-sidebar { grid-template-columns: minmax(0,1fr); }
  .bsb-side-contact { display: none; }
  .bsb-content-section { margin-top: 34px; }
  .bsb-content-section > h2 { font-size: 24px; }
  .bsb-process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .bsb-process li { padding: 18px 15px; }
  .bsb-service-facts { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 22px; }
  .bsb-service-facts strong { font-size: 15px; }
  .bsb-check-list { gap: 15px; }
  .bsb-notice { padding: 14px 17px; }
  .bsb-article-cta { padding: 24px; }
  .bsb-region-banner { padding: 25px; }
  .bsb-news-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .bsb-news-card { padding: 24px; }
  .bsb-news-card h2 { font-size: 21px; }
  .bsb-filter { padding: 9px 17px; font-size: 14px; }
  .bsb-news-toolbar { gap: 9px; }
  .bsb-news-article > header h2 { font-size: 26px; }
  .bsb-contact-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .bsb-contact-card:last-child { grid-column: auto; }
  .bsb-contact-card { padding: 26px; }
  .bsb-contact-value { font-size: 26px; }
  .bsb-email { font-size: 21px; }
  .bsb-location { padding: 25px; }
  .bsb-location h2 { font-size: 23px; }
  .bsb-contact-band { padding-block: 8px 48px; }
  .bsb-contact-band-inner { display: flex; flex-direction: column; align-items: stretch; padding: 28px 24px; gap: 24px; border-radius: 12px; }
  .bsb-contact-band h2 { font-size: 25px; max-width: 11em; text-wrap: balance; }
  .bsb-contact-band-info { border-left: 0; border-top: 1px solid #ffffff26; padding: 22px 0 0; }
  .bsb-contact-band-inner .bsb-contact-band-button { align-self: flex-start; min-width: 180px; margin: 0; }
  .bsb-phone { font-size: 29px; }
  .bsb-footer-grid { gap: 34px 28px; padding-block: 48px 44px; }
  .bsb-footer-brand h2 { font-size: 17px; }
  .bsb-footer-contact { grid-template-columns: minmax(0,1fr) 90px; gap: 0 18px; }
  .bsb-footer-contact .bsb-qr img { width: 74px; }
  .bsb-footer-contact .bsb-qr > span { font-size: 10px; }
  .bsb-footer-contact-info { gap: 13px; }
  .bsb-footer-contact-info .bsb-footer-phone { font-size: 19px; }
  .bsb-copyright { font-size: 12px; padding-right: 28px; }
  .bsb-back-top { width: 38px; height: 38px; right: 12px; bottom: 16px; }
}
@media (max-width: 420px) {
  .bsb-site { --bsb-gutter: 18px; }
  .bsb-packages { grid-template-columns: minmax(0,1fr); }
  .bsb-package { min-height: 260px; padding: 28px 25px; }
  .bsb-package h3 { font-size: 21px; }
  .bsb-home-service-grid { grid-template-columns: minmax(0,1fr); }
  .bsb-home-service-grid article { padding: 22px 20px; }
  .bsb-home-service-grid article:nth-child(odd) { border-right: 0; }
  .bsb-home-service-grid article:nth-last-child(-n+2) { border-bottom: 1px solid var(--bsb-line); }
  .bsb-home-service-grid article:last-child { border-bottom: 0; }
  .bsb-hero .bsb-hero-title { font-size: 31px; }
  .bsb-hero .bsb-hero-title span { margin-inline: 2px; }
  .bsb-hero .bsb-actions { gap: 10px; }
  .bsb-hero .bsb-button { padding-inline: 13px; font-size: 13px; gap: 10px; }
  .bsb-inner-hero h1 { font-size: 28px; }
  .bsb-news-article > header h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bsb-site *, .bsb-site *::before, .bsb-site *::after { transition: none !important; }
}
@media print {
  .bsb-site { font-size: 11pt; color: #000; }
  .bsb-header,.bsb-topbar,.bsb-sidebar,.bsb-contact-band,.bsb-footer,.bsb-back-top,.bsb-header-hotline { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--bsb-blue); white-space: nowrap; }
.bsb-hotline-icon { width: 42px; height: 42px; flex-shrink: 0; }
.bsb-header-hotline small { display: block; font-size: 13px; line-height: 1.6; color: var(--bsb-muted); }
.bsb-header-hotline strong { display: block; font-size: clamp(21px, 1.4vw, 30px); line-height: 1.3; font-weight: 700; }
.bsb-menu-toggle { display: none; }
  .bsb-container { width: 100%; }
  .bsb-content-layout { display: block; }
  .bsb-section { padding-block: 20px; }
  .bsb-inner-hero { background: none; color: #000; }
  .bsb-inner-description,.bsb-inner-hero .bsb-kicker { color: #444; }
}

/* Compact accordion navigation on mobile and tablet. */
@media (max-width:1180px) {
 .bsb-navigation .bsb-subnav { margin: 0 0 8px; padding: 0 12px 0 26px; gap: 0; border-radius: 0; background: transparent; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { grid-template-columns: minmax(0,1fr); }
 .bsb-navigation .bsb-subnav > li + li { border-top: 1px solid #e8edf4; }
 .bsb-navigation .bsb-subnav a { min-height: 34px; padding: 6px 10px; font-size: 13px; line-height: 1.5; border-radius: 0; }
 .bsb-navigation .bsb-subnav a::after { display: none; }
}

/* Mobile menu layout follows the reference: full rows and a clean accordion. */
@media (max-width:1180px) {
 .bsb-site:has(.bsb-navigation.bsb-is-open) { overflow: hidden; }
 .bsb-site:has(.bsb-navigation.bsb-is-open) .bsb-back-top { display: none; }
 .bsb-navigation { height: calc(100dvh - 82px); max-height: calc(100dvh - 82px); padding: 10px 14px 24px; box-shadow: none; overscroll-behavior: contain; }
 .bsb-navigation > ul { display: grid; gap: 0; align-items: start; }
 .bsb-navigation > ul > .bsb-nav-item { grid-template-columns: minmax(0,1fr) 52px; border-bottom: 1px solid #e8edf4; padding: 0; margin: 0; }
 .bsb-navigation .bsb-nav-item > a { min-height: 60px; padding: 16px 14px; font-size: 16px; line-height: 1.5; justify-content: flex-start; border-radius: 0; }
 .bsb-navigation .bsb-nav-item > a.bsb-current { background: #edf3fc; border-radius: 6px; font-weight: 600; }
 .bsb-navigation .bsb-nav-item > a.bsb-current:has(+ .bsb-subnav-toggle) { border-radius: 6px 0 0 6px; }
 .bsb-navigation .bsb-nav-item > a.bsb-current + .bsb-subnav-toggle { background: #edf3fc; border-radius: 0 6px 6px 0; }
 .bsb-navigation .bsb-current::after { display: none; }
 .bsb-navigation .bsb-nav-item > .bsb-subnav-toggle { width: 52px; height: 60px; display: grid; align-self: start; color: #48617e; }
 .bsb-navigation .bsb-subnav-toggle span { display: block; width: 9px; height: 9px; font-size: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
 .bsb-navigation .bsb-subnav-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
 .bsb-navigation .bsb-subnav { margin: 0; padding: 8px 14px 18px; background: #fff; }
 .bsb-navigation .bsb-subnav > li { border: 0; border-bottom: 1px solid #e8edf4; }
 .bsb-navigation .bsb-subnav > li + li { border-top: 0; }
 .bsb-navigation .bsb-subnav a { min-height: 40px; padding: 9px 12px; font-size: 14px; line-height: 1.5; }
 .bsb-menu-toggle { position: relative; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
 .bsb-menu-toggle[aria-expanded="true"] > span { font-size: 0; }
 .bsb-menu-toggle[aria-expanded="true"]::before,
 .bsb-menu-toggle[aria-expanded="true"]::after { content: ''; position: absolute; width: 25px; height: 1.5px; background: currentColor; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(45deg); }
 .bsb-menu-toggle[aria-expanded="true"]::after { transform: translate(-50%,-50%) rotate(-45deg); }
}
@media (max-width:640px) {
 .bsb-navigation { height: calc(100dvh - 76px); max-height: calc(100dvh - 76px); }
}

@media (max-width:1180px) {
 .bsb-menu-toggle[aria-expanded="false"] > span { display: block; width: 23px; height: 17px; font-size: 0; background: linear-gradient(currentColor,currentColor) left top / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 100% 1.5px no-repeat; }
}

@media (max-width:1180px) {
 .bsb-navigation .bsb-subnav > li:last-child { border-bottom: 0; }
}

@media (max-width:1180px) {
 .bsb-navigation .bsb-nav-item > a:not(:has(+ .bsb-subnav-toggle)) { grid-column: 1 / -1; }
}

html.bsb-measuring-motion, html.bsb-measuring-motion body { scroll-behavior: auto !important; }

/* The footer and contact band keep their layout padding at every scroll position. */
.bsb-site .bsb-footer-grid,
.bsb-site .bsb-footer-grid > *,
.bsb-site .bsb-copyright,
.bsb-site .bsb-contact-band-inner { transform: none !important; }

/* Lift the first banner tagline slightly above the two-line heading. */
.bsb-carousel .bsb-video-slide .bsb-kicker { position: relative; top: -8px; }

.bsb-art-badge .bsb-business-badge-icon { display: inline-block; width: 1.1em; height: 1.1em; vertical-align: -.16em; }

/* Scalable original brand mark with live Chinese and English lettering. */
.bsb-site .bsb-logo-lockup { display: inline-flex; align-items: center; gap: 7px; width: clamp(160px, 10vw, 210px); border: 0; padding: 0; color: #333; line-height: 1; }
.bsb-site .bsb-logo-lockup .bsb-logo-mark { display: block; width: 40%; height: auto; flex-shrink: 0; margin: 0; }
.bsb-site .bsb-logo-wordmark { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }
.bsb-site .bsb-logo-wordmark strong { color: #333; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-size: clamp(22px, 1.4vw, 29px); font-weight: 800; letter-spacing: 0; white-space: nowrap; }
.bsb-site .bsb-logo-wordmark small { display: block; margin: 0; color: #333; font-family: Arial, sans-serif; font-size: clamp(6.5px, .42vw, 8.7px); font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.bsb-site .bsb-footer-logo .bsb-logo-lockup { width: 175px; }
.bsb-site .bsb-footer-logo .bsb-logo-wordmark strong { font-size: 24px; }
.bsb-site .bsb-footer-logo .bsb-logo-wordmark small { font-size: 7px; }
@media (max-width: 640px) {
 .bsb-site .bsb-brand .bsb-logo-lockup { display: inline-flex; width: 155px; }
 .bsb-site .bsb-brand .bsb-logo-wordmark strong { font-size: 21px; }
 .bsb-site .bsb-brand .bsb-logo-wordmark small { font-size: 6.2px; }
}

.bsb-popular-contact .bsb-name-check-button { border-left: 1px solid #ffffff40; }
@media (max-width: 640px) {
 .bsb-popular-contact .bsb-name-check-button { border-left: 0; border-top: 1px solid #ffffff40; }
}

/* Name-check action uses the warm gold palette from the business service panel. */
.bsb-popular-section .bsb-name-check-button { background: linear-gradient(150deg, #dfac73, #ce915c); color: #fff; }
.bsb-popular-section .bsb-name-check-button:hover,
.bsb-popular-section .bsb-name-check-button:focus-visible { background: linear-gradient(150deg, #d5a169, #bf8050); color: #fff; }

}
/* Unified phone, tablet and laptop adaptation, including 1920px. */
@media (max-width:1920px) {
/* Zhongyun responsive site. All component classes use the bsb namespace. */
/* 1. Design tokens and document foundations */
.bsb-site {
  --bsb-blue: #2053aa;
  --bsb-blue-dark: #112f6b;
  --bsb-ink: #1b2b46;
  --bsb-muted: #637188;
  --bsb-line: #e3e9f2;
  --bsb-soft: #f3f6fc;
  --bsb-yellow: #ffdb6d;
  --bsb-container: 1240px;
  --bsb-gutter: clamp(20px, 3vw, 48px);
  --bsb-body-size: clamp(15px, .16vw + 13px, 17px);
  --bsb-small-size: clamp(13px, .1vw + 11.5px, 14px);
  --bsb-title-size: clamp(27px, 1.25vw + 15px, 38px);
  --bsb-h1-size: clamp(32px, 2.3vw + 14px, 54px);
  margin: 0;
  color: var(--bsb-ink);
  background: #fff;
  font: var(--bsb-body-size)/1.8 "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", Arial, sans-serif;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
.bsb-site *, .bsb-site *::before, .bsb-site *::after { box-sizing: border-box; }
.bsb-site [hidden] { display: none !important; }
.bsb-site :where(h1,h2,h3,p,ul,ol,figure) { margin: 0; }
.bsb-site :where(ul,ol) { padding: 0; }
.bsb-site :where(h1,h2,h3) { font-weight: 600; line-height: 1.45; text-wrap: pretty; }
.bsb-site h2 { font-size: var(--bsb-title-size); }
.bsb-site h3 { font-size: clamp(18px, .4vw + 13px, 22px); }
.bsb-site a { color: inherit; text-decoration: none; }
.bsb-site a:hover { color: var(--bsb-blue); text-decoration: none; }
.bsb-site :where(button,input,textarea) { font: inherit; }
.bsb-site button { cursor: pointer; }
.bsb-site :where(a,button,summary) { -webkit-tap-highlight-color: transparent; }
.bsb-site :where(a,button,summary):focus-visible { outline: 3px solid #d4931d; outline-offset: 5px; }
.bsb-site img { display: block; max-width: 100%; height: auto; }
.bsb-site address { font-style: normal; }
.bsb-site main { min-height: 50vh; }
.bsb-container { width: min(var(--bsb-container), calc(100% - var(--bsb-gutter) * 2)); margin-inline: auto; }
.bsb-section { padding-block: clamp(44px, 4.6vw, 88px); }
.bsb-section-soft { background: var(--bsb-soft); }
.bsb-section-heading { text-align: center; margin-bottom: 36px; }
.bsb-section-heading h2 { margin: 8px 0 12px; }
.bsb-section-heading > p:last-child:not(.bsb-kicker) { color: var(--bsb-muted); font-size: var(--bsb-small-size); }
.bsb-kicker { font-size: 12px; line-height: 1.7; letter-spacing: 2px; color: #7388a8; font-weight: 500; }
.bsb-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; }
.bsb-button { display: inline-flex; align-items: center; justify-content: center; gap: 26px; min-height: 48px; padding: 11px 24px; border: 1px solid transparent; border-radius: 5px; font-size: 15px; font-weight: 600; transition: background .2s, transform .2s; }
.bsb-button-primary { color: #17366d !important; background: var(--bsb-yellow); }
.bsb-button-primary:hover { background: #ffe69a; transform: translateY(-2px); }
.bsb-button-secondary { border-color: #ffffff65; color: #fff !important; background: #ffffff08; }
.bsb-button-secondary:hover { background: #ffffff18; }
.bsb-text-link { color: var(--bsb-blue) !important; font-size: var(--bsb-small-size); display: inline-flex; align-items: center; gap: 18px; padding-block: 8px; }
.bsb-text-link:hover { text-decoration: none; }
.bsb-skip-link { position: fixed; left: 15px; top: -100px; z-index: 100; padding: 12px 18px; background: #fff; border: 2px solid var(--bsb-blue); }
.bsb-skip-link:focus { top: 12px; }

/* 2. Shared header / navigation */
.bsb-topbar { background: #f6f8fb; border-bottom: 1px solid #edf1f7; color: #62718b; font-size: 12px; }
.bsb-topbar .bsb-container { display: flex; justify-content: space-between; gap: 20px; padding-block: 9px; }
.bsb-topbar a { white-space: nowrap; }
.bsb-header { background: #fff; position: sticky; top: 0; z-index: 40; box-shadow: 0 4px 20px #14336309; }
.bsb-header-inner { min-height: 112px; display: flex; justify-content: space-between; align-items: center; gap: clamp(20px, 2vw, 56px); }
.bsb-brand { display: flex; align-items: center; gap: 17px; flex-shrink: 0; }
.bsb-brand img { width: clamp(160px, 10vw, 210px); }
.bsb-brand > span { border-left: 1px solid var(--bsb-line); padding-left: 16px; font-size: 12px; color: #65748b; }
.bsb-brand small { display: block; font-size: 12px; margin-top: 3px; }
.bsb-navigation { flex: 1; min-width: 0; }
.bsb-navigation > ul { justify-content: center; display: flex; list-style: none; align-items: center; gap: clamp(24px, 2vw, 36px); }
.bsb-navigation a { position: relative; display: flex; align-items: center; min-height: 52px; white-space: nowrap; font-size: 14px; }
.bsb-navigation .bsb-current { color: var(--bsb-blue); }
.bsb-navigation .bsb-current::after { content: ""; position: absolute; height: 3px; width: 100%; border-radius: 4px; background: var(--bsb-blue); left: 0; bottom: 0; }
.bsb-header-hotline { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--bsb-blue); white-space: nowrap; }
.bsb-hotline-icon { width: 42px; height: 42px; flex-shrink: 0; }
.bsb-header-hotline small { display: block; font-size: 13px; line-height: 1.6; color: var(--bsb-muted); }
.bsb-header-hotline strong { display: block; font-size: clamp(21px, 1.4vw, 30px); line-height: 1.3; font-weight: 700; }
.bsb-menu-toggle { display: none; }
.bsb-nav-item { position: relative; }
.bsb-subnav-toggle { position: absolute; top: 16px; right: -16px; display: grid; place-items: center; width: 16px; height: 20px; padding: 0; border: 0; background: transparent; color: #7b8da8; font-size: 13px; line-height: 1; }
.bsb-navigation .bsb-subnav { display: none; position: absolute; top: 100%; left: -20px; width: 272px; margin: 0; padding: 10px; gap: 4px; justify-content: stretch; align-items: stretch; list-style: none; background: linear-gradient(145deg,#fff,#f8faff); border: 1px solid #e2e9f4; border-top: 2px solid #6488bf; border-radius: 10px; box-shadow: 0 14px 36px #183b6c22,0 3px 8px #183b6c08; }
.bsb-navigation .bsb-subnav > li { min-width: 0; list-style: none; }
.bsb-navigation .bsb-subnav a { padding: 11px 15px; gap: 18px; min-height: 44px; font-size: 14px; line-height: 1.6; white-space: normal; border-radius: 6px; justify-content: space-between; color: #3b4c67; transition: color .2s,background .2s; }
.bsb-navigation .bsb-subnav a::after { content: ""; flex: 0 0 6px; width: 6px; height: 6px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); opacity: .4; }
.bsb-navigation .bsb-subnav a:hover { color: #2053aa; background: #eaf1fc; }
.bsb-navigation .bsb-subnav a:hover::after { opacity: .85; }
.bsb-navigation .bsb-subnav a[aria-current="page"] { color: #2053aa; background: #edf3fc; font-weight: 600; }
.bsb-subnav-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
@media (min-width: 1181px) {
 .bsb-navigation { align-self: stretch; display: flex; align-items: stretch; }
 .bsb-navigation > ul { width: 100%; align-items: stretch; }
 .bsb-navigation > ul > .bsb-nav-item { display: flex; align-items: center; }
 .bsb-subnav-toggle { display: none; }
 .bsb-navigation .bsb-subnav { max-height: calc(100dvh - 124px); overflow-y: auto; overscroll-behavior: contain; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { display: grid; }
}
@media (min-width:1181px) {
 .bsb-navigation .bsb-subnav { width: 304px; padding: 12px; }
 .bsb-navigation .bsb-subnav a { font-size: clamp(14px,calc(0.21875vw + 11.2px),16.8px); padding: 12px 16px; }
}
@media (max-width: 1180px) {
 .bsb-navigation > ul { grid-template-columns: minmax(0,1fr); }
 .bsb-nav-item { display: grid; grid-template-columns: minmax(0,1fr) 44px; }
 .bsb-nav-item > a { grid-column: 1; justify-content: flex-start; padding-inline: 14px; }
 .bsb-nav-item .bsb-subnav-toggle { position: static; grid-column: 2; grid-row: 1; width: 44px; height: 44px; font-size: 20px; }
 .bsb-navigation .bsb-subnav { position: static; grid-column: 1 / -1; width: auto; margin: 0 0 10px; padding: 8px 14px; border: 0; border-radius: 6px; background: #f4f7fc; box-shadow: none; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .bsb-navigation .bsb-subnav a { font-size: 13px; min-height: 40px; }
}
@media (max-width: 640px) {
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { grid-template-columns: minmax(0,1fr); }
}

/* 3. Homepage hero and decorative architecture */
.bsb-hero { position: relative; isolation: isolate; overflow: clip; color: white; background: radial-gradient(ellipse at 84% 20%, #4a88e94d, transparent 50%), linear-gradient(115deg, #102d69, #2058b3 75%, #316dca); }
.bsb-hero-inner { position: relative; min-height: 570px; display: flex; align-items: center; }
.bsb-hero-copy { position: relative; z-index: 2; width: 72%; padding-block: 65px; }
.bsb-hero .bsb-kicker { color: #b6d1f6; font-size: 13px; letter-spacing: 2px; }
.bsb-hero-overline { font-size: clamp(17px, .65vw + 10px, 22px); line-height: 1.5; letter-spacing: 4px; margin: 16px 0 10px; color: #e0eaff; }
.bsb-hero .bsb-hero-title { font-size: var(--bsb-h1-size); line-height: 1.25; font-weight: 700; letter-spacing: 1px; }
.bsb-hero .bsb-hero-title span { color: #ffdc6d; margin-inline: 5px; }
.bsb-hero-description { font-size: clamp(14px, .2vw + 11px, 17px); line-height: 1.6; color: #cadaf7; margin-top: 12px; }
.bsb-hero .bsb-actions { margin-top: 20px; }
.bsb-hero-regions { margin-top: 20px; line-height: 1.6; color: #adc5eb; font-size: 13px; }
.bsb-mobile-break { display: none; }
.bsb-hero-grid { position: absolute; z-index: -1; inset: 0; opacity: .10; background: repeating-linear-gradient(0deg, transparent 0 52px, #b7dcff 53px 54px), repeating-linear-gradient(90deg, transparent 0 86px, #b7dcff 87px 88px); transform: perspective(400px) rotateX(55deg) scale(2); transform-origin: center bottom; mask-image: linear-gradient(transparent, #000); }
.bsb-hero-art { width: 400px; height: 440px; position: absolute; right: 0; top: 35px; opacity: .85; }
.bsb-platform { position: absolute; width: 300px; height: 170px; left: 50px; top: 230px; border: 1px solid #a6daff60; border-radius: 25px; transform: rotate(-26deg) skewX(30deg); background: linear-gradient(120deg,#6db4ff19,#6caefc50); box-shadow: 0 18px 0 #06245a22,0 35px 40px #02194933; }
.bsb-tower { position: absolute; bottom: 115px; width: 85px; border: 1px solid #b9e2ff65; background: linear-gradient(90deg,#4284d7d4,#86c7ff59 70%,#83c7ffb5); transform: skewY(-17deg); box-shadow: 16px 9px 0 #123b8744; }
.bsb-tower::before { content: ""; position: absolute; inset: 14px; background: repeating-linear-gradient(0deg,transparent 0 16px,#ccedff6b 17px 20px),repeating-linear-gradient(90deg,transparent 0 17px,#b7dfff44 18px 22px); }
.bsb-tower-a { height: 160px; left: 92px; }
.bsb-tower-b { height: 240px; left: 195px; bottom: 139px; }
.bsb-tower-c { height: 110px; left: 278px; bottom: 103px; width: 60px; }
.bsb-orbit { position: absolute; width: 420px; height: 180px; top: 200px; left: -5px; border: 1px solid #8fc8ff33; transform: rotate(-23deg); border-radius: 50%; }
.bsb-orbit-two { width: 350px; left: 30px; top: 186px; transform: rotate(32deg); }
.bsb-art-badge { position: absolute; padding: 12px 20px; border: 1px solid #acd9ff70; border-radius: 8px; background: linear-gradient(120deg,#4d87cecc,#2057a6d9); font-size: 15px; color: #f2f8ff; box-shadow: 0 15px 25px #12327344; }
.bsb-badge-one { top: 108px; left: 7px; }
.bsb-badge-two { right: -3px; bottom: 99px; }

/* Homepage carousel: the shared grid keeps all slides at the same height. */
.bsb-carousel { position: relative; overflow: clip; background: var(--bsb-blue-dark); touch-action: pan-y; }
.bsb-carousel-track { display: grid; }
.bsb-carousel-slide { grid-area: 1 / 1; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .65s ease, visibility .65s; }
.bsb-carousel-slide.bsb-is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.bsb-carousel .bsb-hero-copy { padding-bottom: 105px; }
.bsb-carousel .bsb-hero-title { margin: 0; }
.bsb-video-slide { background: #12336c url('../images/bsb-banner-video-poster.jpg') center / cover no-repeat; }
.bsb-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; z-index: 0; pointer-events: none; }
.bsb-video-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #0826544a, #0c305523 55%, transparent); z-index: 1; }
.bsb-video-slide .bsb-hero-inner { z-index: 2; }
.bsb-carousel-controls { position: absolute; z-index: 5; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; justify-content: space-between; gap: 20px; color: white; }
.bsb-carousel-dots { display: flex; align-items: center; gap: 6px; }
.bsb-carousel-dot { width: 34px; height: 44px; border: 0; padding: 0; display: grid; place-items: center; background: transparent; }
.bsb-carousel-dot::after { content: ''; width: 8px; height: 8px; border-radius: 9px; background: #ffffff70; transition: width .3s, background .3s; }
.bsb-carousel-dot[aria-current="true"]::after { width: 30px; background: var(--bsb-yellow); }
.bsb-carousel-navigation { display: flex; align-items: center; gap: 10px; }
.bsb-carousel-counter { font-size: 13px; letter-spacing: 2px; color: #cadaf1; margin-right: 12px; }
.bsb-carousel-navigation button { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #ffffff66; background: #ffffff08; color: white; border-radius: 50%; font-size: 20px; line-height: 1; }
.bsb-carousel-navigation button:hover { background: #ffffff20; border-color: #ffffffb0; }
.bsb-finance-art { position: absolute; right: 30px; top: 75px; width: 360px; height: 355px; transform: rotate(-5deg); }
.bsb-report-card { padding: 30px; border-radius: 18px; border: 1px solid #b2dcff70; background: linear-gradient(135deg,#80b9f626,#2e6dc363); box-shadow: 18px 24px 0 #70acff0e, 0 25px 45px #06224d30; color: #e2f1ff; }
.bsb-report-card > span { font-size: 12px; letter-spacing: 2px; color: #bed8f8; }
.bsb-report-card strong { display: block; margin-top: 16px; font-size: 29px; font-weight: 500; }
.bsb-report-chart { display: flex; height: 140px; gap: 19px; align-items: flex-end; padding: 20px 10px 0; border-bottom: 1px solid #b6dfff80; margin-block: 15px; }
.bsb-report-chart i { flex: 1; height: 45%; background: linear-gradient(#bde7ffbd,#5ea4f157); border-radius: 5px 5px 0 0; }
.bsb-report-chart i:nth-child(2) { height: 67%; }
.bsb-report-chart i:nth-child(3) { height: 56%; }
.bsb-report-chart i:nth-child(4) { height: 90%; }
.bsb-report-chart i:nth-child(5) { height: 76%; background: linear-gradient(#ffe08c,#dcb66160); }
.bsb-report-card > p { font-size: 13px; color: #bcd8f5; }
.bsb-finance-label { position: absolute; bottom: -10px; right: -20px; background: #3778c9; border: 1px solid #a6cfff80; border-radius: 8px; padding: 13px 20px; color: #f3f8ff; font-size: 15px; transform: rotate(5deg); }
@media (max-width: 1180px) {
  .bsb-finance-art { right: -50px; opacity: .55; }
}
@media (max-width: 640px) {
  .bsb-carousel .bsb-hero-copy { padding-bottom: 110px; }
  .bsb-carousel-controls { bottom: 16px; }
  .bsb-carousel-counter { display: none; }
  .bsb-carousel-navigation { gap: 8px; }
  .bsb-carousel-navigation button { width: 42px; height: 42px; }
  .bsb-carousel-dot { width: 30px; }
  .bsb-hero-video { object-position: 75% center; }
  .bsb-video-shade { background: linear-gradient(90deg,#08204b99,#0c305544); }
  .bsb-finance-art { right: -180px; top: 100px; opacity: .18; transform: scale(.9) rotate(-5deg); }
}

/* 4. Homepage services */
.bsb-section.bsb-recommend-section { padding-block: clamp(64px, 6vw, 120px); }
.bsb-packages { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.bsb-package { position: relative; isolation: isolate; overflow: hidden; border-radius: 8px; color: white; padding: 34px 24px; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: clamp(300px, 20vw, 400px); box-shadow: 0 10px 24px -8px rgb(var(--bsb-package-shadow, 45 70 115) / .22), inset 0 1px 0 #ffffff24; transition: transform .2s, box-shadow .2s; }
.bsb-package:hover { transform: translateY(-5px); box-shadow: 0 16px 30px -10px rgb(var(--bsb-package-shadow, 45 70 115) / .3), inset 0 1px 0 #ffffff30; }
.bsb-package::before { --bsb-orb-size: clamp(260px, 22vw, 420px); content: ""; position: absolute; z-index: -1; width: var(--bsb-orb-size); height: var(--bsb-orb-size); right: calc(var(--bsb-orb-size) * -.4); bottom: calc(var(--bsb-orb-size) * -.58); border-radius: 50%; background: radial-gradient(circle at 28% 22%, rgb(var(--bsb-package-glow) / .38), transparent 66%), linear-gradient(145deg, rgb(var(--bsb-package-shadow) / .03), rgb(var(--bsb-package-shadow) / .35)); box-shadow: 0 0 0 24px rgb(var(--bsb-package-glow) / .045), 0 0 0 49px rgb(var(--bsb-package-glow) / .025), inset 0 1px 0 rgb(var(--bsb-package-glow) / .2); pointer-events: none; }
.bsb-package::after { content: ""; position: absolute; z-index: -1; top: -54px; right: -24px; width: clamp(130px, 8vw, 170px); height: clamp(130px, 8vw, 170px); background: var(--bsb-package-icon) center / contain no-repeat; opacity: .08; transform: rotate(-14deg); pointer-events: none; }
.bsb-package-violet::after { top: -62px; right: -16px; transform: rotate(13deg); }
.bsb-package-blue::after { top: -50px; right: -30px; transform: rotate(-7deg); }
.bsb-package-teal::after { top: -66px; right: -20px; transform: rotate(24deg); }
.bsb-package-coral { --bsb-package-glow: 255 201 143; --bsb-package-shadow: 166 89 65; --bsb-package-icon: url('../images/bsb-package-registration.svg'); background: linear-gradient(125deg,#d98a3f,#ce5965); }
.bsb-package-violet { --bsb-package-glow: 193 186 255; --bsb-package-shadow: 84 70 166; --bsb-package-icon: url('../images/bsb-package-accounting.svg'); background: linear-gradient(125deg,#8174df,#5756c2); }
.bsb-package-blue { --bsb-package-glow: 150 204 255; --bsb-package-shadow: 40 87 163; --bsb-package-icon: url('../images/bsb-package-finance.svg'); background: linear-gradient(125deg,#448cd9,#345fbd); }
.bsb-package-teal { --bsb-package-glow: 142 232 221; --bsb-package-shadow: 31 114 121; --bsb-package-icon: url('../images/bsb-package-change.svg'); background: linear-gradient(125deg,#309d9e,#257b8c); }
.bsb-card-index { font-size: 12px; letter-spacing: 1px; color: #7386a4; }
.bsb-package .bsb-card-index { color: #ffffffce; }
.bsb-package h3 { font-size: clamp(18px,.3vw + 13px,21px); margin: 16px 0 10px; }
.bsb-package p { font-size: 13px; color: #ffffffe6; margin-bottom: 23px; }
.bsb-package .bsb-package-details { display: grid; gap: 8px; list-style: none; margin: 0 0 26px; font-size: var(--bsb-small-size); line-height: 1.65; color: #ffffffe6; }
.bsb-package-details li { position: relative; padding-left: 15px; }
.bsb-package-details li::before { content: ""; position: absolute; left: 0; top: .65em; width: 5px; height: 5px; border-radius: 50%; background: #ffffffb3; }
.bsb-package > a { margin-top: auto; padding: 8px 14px; border: 1px solid #ffffff88; border-radius: 4px; font-size: 13px; display: flex; gap: 28px; }
.bsb-package > a:hover { background: #ffffff20; color: white; }
.bsb-tabs { display: flex; justify-content: center; gap: 18px; margin-bottom: clamp(48px, 4vw, 72px); }
.bsb-tab,.bsb-filter { border: 1px solid transparent; border-radius: 30px; background: #fff; color: #61718c; padding: 11px 28px; min-height: 46px; font-size: 15px; }
.bsb-tab[aria-selected="true"],.bsb-filter[aria-pressed="true"] { color: white; background: var(--bsb-blue); box-shadow: 0 5px 15px #1d4ca724; }
.bsb-home-panel { display: grid; grid-template-columns: 260px minmax(0,1fr) 350px; background: white; border-radius: 24px 10px 10px 10px; overflow: clip; box-shadow: 0 16px 45px #1d356309; }
.bsb-home-panel-side { position: relative; overflow: hidden; background: linear-gradient(150deg,#edaa6d,#d7834c); padding: 34px 24px 26px; color: white; display: flex; flex-direction: column; align-items: flex-start; }
.bsb-panel-finance .bsb-home-panel-side { background: linear-gradient(150deg,#8b9be0,#5a6dc0); }
.bsb-panel-tax .bsb-home-panel-side { background: linear-gradient(150deg,#70acd9,#3879b9); }
.bsb-panel-license .bsb-home-panel-side { background: linear-gradient(150deg,#68b6ac,#398b86); }
.bsb-home-panel-side > span { color: #ffffffb8; font-size: 12px; letter-spacing: 1px; }
.bsb-home-panel-side h3 { margin: 24px 0 8px; font-size: 25px; }
.bsb-home-panel-side p { font-size: 12px; line-height: 1.6; color: #ffffffe0; overflow-wrap: anywhere; }
.bsb-service-illustration { width: calc(100% + 24px); max-width: none; height: auto; margin: auto -12px 12px; padding-top: 26px; }
.bsb-home-panel-side > a { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-radius: 24px; background: #ffffff26; color: white; font-size: 14px; }
.bsb-home-panel-side > a:hover,
.bsb-home-panel-side > a:focus-visible { background: #fff; color: #111; }
.bsb-home-service-grid { display: grid; grid-template-columns: 1.05fr 1fr; grid-template-rows: repeat(3, auto); padding: 0; min-width: 0; }
.bsb-home-service-grid article { min-width: 0; padding: 24px; border-bottom: 1px solid var(--bsb-line); display: flex; flex-direction: column; align-items: flex-start; }
.bsb-home-service-grid article.bsb-service-featured { grid-row: span 3; border-right: 1px solid var(--bsb-line); border-bottom: 0; background: linear-gradient(155deg,#fff 55%,#f4f8ff); padding: 32px 26px; }
.bsb-home-service-grid article:last-child { border-bottom: 0; }
.bsb-home-service-grid h3 { font-size: 18px; margin-bottom: 10px; }
.bsb-home-service-grid p { font-size: 13px; color: var(--bsb-muted); }
.bsb-home-service-grid .bsb-featured-description { margin-top: 16px; line-height: 1.8; }
.bsb-featured-body { display: grid; grid-template-columns: minmax(0,1fr) minmax(80px,32%); align-items: center; gap: 10px; flex: 1; width: 100%; padding-block: 24px; }
.bsb-featured-steps { display: grid; gap: 18px; list-style: none; }
.bsb-featured-steps li { display: flex; align-items: flex-start; gap: 10px; }
.bsb-featured-steps li > span { flex-shrink: 0; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 8px; background: #e9f0fc; color: var(--bsb-blue); font-size: 12px; line-height: 1; }
.bsb-featured-steps strong { display: block; font-size: var(--bsb-small-size); font-weight: 600; line-height: 1.5; }
.bsb-featured-steps small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.65; color: var(--bsb-muted); }
.bsb-service-document { width: 100%; height: auto; object-fit: contain; margin: 0; }
.bsb-service-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 18px; }
.bsb-service-detail,.bsb-service-consult { display: inline-flex; align-items: center; gap: 12px; border: 1px solid #dce5f1; border-radius: 24px; padding: 5px 14px; font-size: var(--bsb-small-size); color: var(--bsb-blue); }
.bsb-popular-section .bsb-service-consult { background: var(--bsb-blue); border-color: var(--bsb-blue); color: white; }
.bsb-popular-section .bsb-service-consult:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-service-featured .bsb-service-actions { gap: 12px; width: 100%; }
.bsb-service-featured .bsb-service-actions > a { min-height: 46px; justify-content: center; gap: 8px; padding: 9px 16px; border-radius: 7px; font-weight: 500; transition: background .2s, box-shadow .2s; }
.bsb-popular-section .bsb-service-featured .bsb-service-detail { background: #fff; color: var(--bsb-blue); border-color: #cddcf2; }
.bsb-popular-section .bsb-service-featured .bsb-service-detail:hover { background: #edf4ff; }
.bsb-service-featured .bsb-service-consult { box-shadow: 0 5px 12px #2053aa20; }
.bsb-action-icon { width: 19px; height: 19px; flex-shrink: 0; }
.bsb-home-faq { border-left: 1px solid var(--bsb-line); padding: 30px 24px; display: flex; flex-direction: column; align-items: stretch; }
.bsb-home-faq > h3 { font-size: 19px; margin-bottom: 8px; padding-left: 13px; border-left: 4px solid #e5a45f; line-height: 1.3; }
.bsb-guide-intro { font-size: var(--bsb-small-size); color: var(--bsb-muted); margin: 0 0 16px; }
.bsb-home-faq .bsb-faq { counter-reset: bsb-guide; }
.bsb-home-faq .bsb-faq summary { padding: 18px 20px 18px 35px; font-size: 13px; }
.bsb-home-faq .bsb-faq summary::before { counter-increment: bsb-guide; content: counter(bsb-guide, decimal-leading-zero); position: absolute; left: 0; top: 19px; width: 25px; height: 25px; display: grid; place-items: center; background: #edaa6d; color: white; border-radius: 4px; font-size: 13px; line-height: 1; }
.bsb-home-faq .bsb-faq details:nth-child(2) summary::before { background: #70a8d5; }
.bsb-home-faq .bsb-faq details:nth-child(3) summary::before { background: #7ba796; }
.bsb-home-faq .bsb-faq details:nth-child(4) summary::before { background: #9a89c4; }
.bsb-home-faq .bsb-faq details:nth-child(5) summary::before { background: #cc9b71; }
.bsb-home-panel .bsb-home-faq .bsb-faq p { font-size: clamp(12px, .1vw + 10.5px, 13px); line-height: 1.6; padding: 0 0 12px; margin: 0; }
.bsb-guide-contact { font-size: var(--bsb-small-size); color: var(--bsb-blue); margin-top: auto; padding-top: 28px; }
.bsb-home-panel .bsb-service-detail,
.bsb-home-panel .bsb-service-consult,
.bsb-home-panel .bsb-guide-contact { font-size: clamp(12px, .16vw + 10px, 14px); font-weight: 400; line-height: 1.6; }
.bsb-home-panel .bsb-action-icon { width: 17px; height: 17px; }
.bsb-popular-contact { width: min(800px,100%); margin: 68px auto 20px; display: flex; align-items: stretch; justify-content: space-between; border: 1px solid #d5e1f3; border-radius: 8px; background: white; overflow: hidden; }
.bsb-popular-contact > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 26px; padding: 14px 30px; }
.bsb-popular-contact > div > span { font-size: var(--bsb-small-size); color: var(--bsb-muted); }
.bsb-popular-contact > div > a { color: var(--bsb-blue); font-size: clamp(23px, 1.5vw, 30px); font-weight: 700; line-height: 1.4; }
.bsb-popular-section .bsb-popular-contact-button { display: flex; align-items: center; justify-content: center; gap: 18px; padding: 14px 32px; white-space: nowrap; color: white; background: var(--bsb-blue); font-size: var(--bsb-small-size); }
.bsb-popular-section .bsb-popular-contact-button:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-benefits { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; margin-bottom: 72px; }
.bsb-benefits > div { --bsb-benefit-accent: #477bbf; --bsb-benefit-tint: #eef4fc; position: relative; isolation: isolate; overflow: hidden; padding: 30px 26px; border-radius: 12px; border: 1px solid #e9eef5; background: linear-gradient(145deg,#fff 35%,var(--bsb-benefit-tint)); box-shadow: 0 10px 28px -16px #243e782e; }
.bsb-benefits > .bsb-benefit-2 { --bsb-benefit-accent: #8872bd; --bsb-benefit-tint: #f3f0fa; }
.bsb-benefits > .bsb-benefit-3 { --bsb-benefit-accent: #c19053; --bsb-benefit-tint: #fcf5eb; }
.bsb-benefits > .bsb-benefit-4 { --bsb-benefit-accent: #4d9a90; --bsb-benefit-tint: #edf7f4; }
.bsb-benefit-card::after { content: ""; position: absolute; z-index: -1; width: 150px; height: 150px; border-radius: 50%; right: -60px; bottom: -95px; background: var(--bsb-benefit-tint); box-shadow: 0 0 0 18px #ffffff60; }
.bsb-benefits .bsb-benefit-number { position: absolute; top: 10px; right: 16px; color: var(--bsb-benefit-accent); opacity: .09; font-size: 66px; font-weight: 700; line-height: 1; transform: rotate(-8deg); }
.bsb-benefit-2 .bsb-benefit-number { transform: rotate(7deg); top: 4px; }
.bsb-benefit-4 .bsb-benefit-number { transform: rotate(10deg); right: 10px; }
.bsb-benefit-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 22px; border-radius: 14px; color: var(--bsb-benefit-accent); background: var(--bsb-benefit-tint); }
.bsb-benefit-icon svg { width: 28px; height: 28px; }
.bsb-benefits h3 { font-size: 18px; margin-bottom: 8px; }
.bsb-benefits p { font-size: 13px; color: var(--bsb-muted); }
.bsb-advantages-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 32px; }
.bsb-advantages-heading h2 { margin-top: 10px; font-size: var(--bsb-title-size); }
.bsb-advantages-heading > p { max-width: 25em; font-size: var(--bsb-small-size); color: var(--bsb-muted); padding-bottom: 4px; }
.bsb-company-intro { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(36px,4vw,76px); align-items: center; padding: clamp(28px,3vw,48px); border-radius: 18px; background: linear-gradient(125deg,#f1f6fc,#fff 75%); border: 1px solid #e9eff7; }
.bsb-company-visual { min-width: 0; padding: 12px; background: white; border-radius: 12px; box-shadow: 0 12px 32px -18px #284d7a50; }
.bsb-company-photos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.bsb-company-photos figure { position: relative; overflow: hidden; border-radius: 7px; background: #edf3fb; }
.bsb-company-photos img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.bsb-company-photos figure:first-child img { object-position: center 62%; }
.bsb-company-photos figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 12px 9px; background: linear-gradient(transparent,#142b4f90); color: white; font-size: 12px; line-height: 1.6; }
.bsb-company-caption { padding: 19px 12px 10px; }
.bsb-company-caption > span { display: block; font-size: 10px; letter-spacing: 2px; color: #8aa1bf; line-height: 1.5; }
.bsb-company-caption > strong { display: block; margin-top: 6px; color: var(--bsb-ink); font-size: var(--bsb-small-size); font-weight: 500; }
.bsb-company-copy { min-width: 0; }
.bsb-company-copy h2 { margin: 8px 0 10px; }
.bsb-company-copy .bsb-company-name { color: var(--bsb-blue); font-size: var(--bsb-small-size); font-weight: 500; margin-bottom: 20px; }
.bsb-company-copy > p:not(.bsb-kicker):not(.bsb-company-name) { font-size: var(--bsb-body-size); line-height: 1.85; color: var(--bsb-muted); margin-bottom: 16px; }
.bsb-company-services { list-style: none; display: flex; flex-wrap: wrap; gap: 9px 16px; padding-top: 6px; font-size: var(--bsb-small-size); color: #49617f; }
.bsb-company-services li::before { content: "✓"; margin-right: 7px; color: #7198c8; }
.bsb-company-area { display: flex; align-items: baseline; gap: 12px; border-top: 1px solid #e0e8f3; padding-top: 18px; margin-top: 22px; font-size: var(--bsb-small-size); color: #627690; }
.bsb-company-area > span { flex-shrink: 0; color: var(--bsb-ink); }
.bsb-company-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.bsb-company-actions > a { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 44px; padding: 9px 18px; border-radius: 6px; border: 1px solid #d3e0f2; font-size: clamp(12px,.16vw + 10px,14px); line-height: 1.6; }
.bsb-company-actions .bsb-company-more { color: white; background: var(--bsb-blue); border-color: var(--bsb-blue); }
.bsb-company-actions .bsb-company-more:hover { color: white; background: var(--bsb-blue-dark); }
.bsb-company-actions .bsb-company-contact { color: var(--bsb-blue); background: white; }
.bsb-company-actions .bsb-company-contact:hover { background: #edf4ff; }
.bsb-about-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 56px; }
.bsb-about-split h2 { margin: 10px 0 20px; }
.bsb-about-split p:not(.bsb-kicker) { color: var(--bsb-muted); margin-bottom: 16px; line-height: 1.95; }
.bsb-office-figure { border-radius: 8px; overflow: clip; background: #edf3fa; }
.bsb-office-figure img { width: 100%; aspect-ratio: 1.7; object-fit: cover; object-position: center; }
.bsb-office-figure figcaption { padding: 14px 20px; font-size: 13px; color: #627a9d; }

/* 5. Shared inner-page structure */
.bsb-inner-hero { position: relative; isolation: isolate; overflow: clip; color: white; background: linear-gradient(115deg,#12326f,#2763ba); padding-block: 28px 48px; }
.bsb-inner-hero .bsb-container { position: relative; z-index: 1; }
.bsb-breadcrumb { font-size: 13px; color: #bcd0f0; margin-bottom: 30px; }
.bsb-breadcrumb ol { display: flex; flex-wrap: wrap; list-style: none; gap: 6px 12px; }
.bsb-breadcrumb li + li::before { content: "/"; margin-right: 12px; color: #7c9ece; }
.bsb-breadcrumb a:hover { color: white; }
.bsb-inner-hero .bsb-kicker { color: #a9c7ee; }
.bsb-inner-hero h1 { font-size: clamp(30px,1.7vw + 12px,46px); margin-block: 8px 14px; }
.bsb-inner-description { font-size: clamp(15px,.3vw + 11px,18px); color: #cedef5; max-width: 760px; }
.bsb-inner-orbit { position: absolute; width: 700px; height: 700px; border: 1px solid #ffffff14; border-radius: 50%; right: -40px; top: -340px; box-shadow: 0 0 0 90px #ffffff04,0 0 0 180px #ffffff03; z-index: -1; }
.bsb-content-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 40px; align-items: start; }
.bsb-main-column,.bsb-article { min-width: 0; }
.bsb-main-column > .bsb-section-heading { text-align: left; }
.bsb-content-section { margin-top: 42px; }
.bsb-content-section > h2 { font-size: clamp(23px,.7vw + 14px,29px); margin-bottom: 22px; }
.bsb-content-section > p { color: var(--bsb-muted); margin-bottom: 18px; }
.bsb-service-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.bsb-service-card { padding: 26px; border: 1px solid var(--bsb-line); border-radius: 8px; background: linear-gradient(140deg,#fff,#f7faff); display: flex; flex-direction: column; align-items: flex-start; }
.bsb-service-card h3 { margin: 17px 0 12px; }
.bsb-service-card p { font-size: 14px; color: var(--bsb-muted); margin-bottom: 16px; }
.bsb-service-card .bsb-text-link { margin-top: auto; }
.bsb-sidebar { position: sticky; top: 122px; }
.bsb-side-nav { border: 1px solid var(--bsb-line); border-radius: 8px; overflow: clip; background: white; }
.bsb-side-nav h2 { background: var(--bsb-soft); font-size: 21px; padding: 23px; }
.bsb-side-nav ul { list-style: none; }
.bsb-side-nav a { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; padding: 16px 22px; border-top: 1px solid var(--bsb-line); }
.bsb-side-nav a[aria-current="page"] { color: var(--bsb-blue); font-weight: 600; background: #edf4ff; }
.bsb-side-contact { background: linear-gradient(140deg,#285fb4,#183d7f); color: white; padding: 26px; border-radius: 8px; margin-top: 24px; }
.bsb-side-contact .bsb-kicker { color: #b3cdf3; }
.bsb-side-contact h2 { font-size: 21px; margin-block: 12px 16px; }
.bsb-side-contact p:not(.bsb-kicker) { font-size: 13px; color: #c8d9f3; }
.bsb-side-contact > a { display: block; color: #ffdd7d; font-size: 23px; margin-block: 16px; white-space: nowrap; }
.bsb-side-contact img { padding: 5px; background: white; border-radius: 4px; width: 105px; margin-bottom: 9px; }
.bsb-process { list-style: none; display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 14px; }
.bsb-process li { padding: 20px 17px; background: var(--bsb-soft); border-radius: 6px; }
.bsb-process li > span { font-size: 22px; color: #6f92c7; display: block; margin-bottom: 14px; }
.bsb-process h3 { font-size: 16px; margin-bottom: 10px; }
.bsb-process p { font-size: 13px; color: var(--bsb-muted); line-height: 1.8; }
.bsb-faq details { border-bottom: 1px solid var(--bsb-line); }
.bsb-faq summary { position: relative; cursor: pointer; list-style: none; padding: 20px 30px 20px 0; font-size: 15px; color: #324a70; }
.bsb-faq summary::-webkit-details-marker { display: none; }
.bsb-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: #547bab; font-size: 20px; }
.bsb-faq details[open] summary::after { content: "−"; }
.bsb-faq p { color: var(--bsb-muted); padding-bottom: 20px; font-size: 14px; line-height: 1.95; }
.bsb-article { max-width: 100%; }
.bsb-article > h2 { margin-block: 12px 22px; }
.bsb-article .bsb-lead { color: var(--bsb-muted); line-height: 2; }
.bsb-service-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 28px; padding: 24px; background: var(--bsb-soft); border-radius: 8px; }
.bsb-service-facts span { display: block; font-size: 13px; color: #7385a0; margin-bottom: 8px; }
.bsb-service-facts strong { display: block; font-size: 14px; font-weight: 500; }
.bsb-check-list { list-style: none; display: grid; gap: 14px; }
.bsb-check-list li { position: relative; padding-left: 27px; color: #55667f; }
.bsb-check-list li::before { content: "✓"; position: absolute; left: 0; top: 1px; color: #3c72b9; font-size: 16px; }
.bsb-notice { border-left: 3px solid #b4c9e9; background: #f4f7fc; padding: 16px 20px; color: #657792; font-size: 13px; line-height: 1.9; margin-top: 24px; }
.bsb-article-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 28px; border-radius: 8px; background: #edf3fc; margin-top: 40px; }
.bsb-article-cta h2 { font-size: 22px; margin-bottom: 8px; }
.bsb-article-cta p { color: var(--bsb-muted); font-size: 14px; }
.bsb-region-banner { border-radius: 8px; background: var(--bsb-soft); padding: 36px; margin-top: 40px; }
.bsb-region-banner h2 { margin-block: 12px; }
.bsb-region-banner > p:not(.bsb-kicker) { margin-bottom: 25px; color: #617594; }
.bsb-about-split + .bsb-benefits { margin-top: 50px; margin-bottom: 0; }

/* 6. News and contact pages */
.bsb-news-toolbar { display: flex; flex-wrap: wrap; gap: 12px; }
.bsb-filter { border-color: var(--bsb-line); }
.bsb-result-count { font-size: 13px; color: var(--bsb-muted); margin-block: 20px 25px; }
.bsb-news-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.bsb-news-card { padding: 30px; border: 1px solid var(--bsb-line); border-radius: 8px; display: flex; flex-direction: column; align-items: flex-start; }
.bsb-news-meta { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; font-size: 13px; color: #7a89a1; }
.bsb-news-meta > span { padding: 3px 10px; background: #edf3fd; border-radius: 3px; color: var(--bsb-blue); }
.bsb-news-card h2 { font-size: 22px; margin-block: 20px 13px; }
.bsb-news-card > p { font-size: 14px; color: var(--bsb-muted); margin-bottom: 20px; }
.bsb-news-card .bsb-text-link { margin-top: auto; }
.bsb-news-article > header h2 { margin-block: 22px; font-size: clamp(25px,1.1vw + 13px,34px); }
.bsb-news-article > p:not(.bsb-notice) { margin-top: 23px; color: #53647d; line-height: 2; }
.bsb-article-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 15px; border-top: 1px solid var(--bsb-line); margin-top: 36px; padding-top: 20px; }
.bsb-contact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.bsb-contact-card { border: 1px solid var(--bsb-line); border-radius: 8px; padding: 30px; }
.bsb-contact-card h2 { font-size: 23px; margin-block: 15px 20px; }
.bsb-contact-card > p { font-size: 14px; color: var(--bsb-muted); margin-top: 17px; }
.bsb-contact-value { display: inline-block; color: var(--bsb-blue) !important; font-size: clamp(20px,1vw + 8px,28px); font-weight: 500; }
.bsb-email { font-size: clamp(16px,.6vw + 8px,21px); overflow-wrap: anywhere; }
.bsb-contact-qr { display: flex; align-items: center; gap: 20px; }
.bsb-contact-qr img { width: 88px; flex-shrink: 0; }
.bsb-contact-qr p { font-size: 13px; color: var(--bsb-muted); }
.bsb-location { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 50px; align-items: center; margin-top: 50px; padding: 36px; background: var(--bsb-soft); border-radius: 8px; }
.bsb-location h2 { font-size: 25px; margin-block: 14px 20px; }
.bsb-location :where(address,p:not(.bsb-kicker)) { color: #61728c; margin-bottom: 16px; }
.bsb-location figure { min-width: 0; }
.bsb-location figure img { border-radius: 7px; }
.bsb-location figcaption { color: #7385a0; font-size: 13px; margin-top: 12px; }

/* 7. Shared footer */
.bsb-contact-band { color: white; background: linear-gradient(#fff,#f4f7fc); padding-block: 12px 80px; }
.bsb-contact-band-inner { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr) auto; align-items: center; gap: 32px; padding: 38px 42px; border-radius: 18px; background: linear-gradient(115deg,#244b92,#346bb9); box-shadow: 0 16px 35px -20px #234f9980; }
.bsb-contact-band-decor { display: none; }
.bsb-contact-band-decor svg { width: 100%; height: 100%; }
.bsb-contact-band .bsb-kicker { color: #bdd3f2; font-size: 11px; letter-spacing: 2px; }
.bsb-contact-band h2 { margin-block: 10px 12px; font-size: clamp(23px,1vw + 12px,32px); line-height: 1.45; }
.bsb-contact-band p { font-size: 14px; color: #d4e2f6; }
.bsb-contact-band-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; font-size: 12px; color: #e2edfc; }
.bsb-contact-band-tags > span { padding: 3px 10px; border: 1px solid #ffffff26; border-radius: 4px; background: #ffffff08; }
.bsb-contact-band-info { padding-left: 32px; border-left: 1px solid #ffffff26; min-width: 0; }
.bsb-contact-phone-label { display: flex; align-items: center; gap: 9px; color: #c5d8f2; font-size: var(--bsb-small-size); }
.bsb-contact-phone-label svg,.bsb-contact-email svg { width: 18px; height: 18px; flex-shrink: 0; }
.bsb-contact-band-info .bsb-phone { display: block; color: white; font-weight: 600; letter-spacing: .3px; }
.bsb-phone { font-size: clamp(25px,1vw + 12px,33px); line-height: 1.5; margin-block: 7px; white-space: nowrap; }
.bsb-contact-band-info .bsb-contact-email { display: flex; align-items: center; gap: 9px; color: #fff; font-size: var(--bsb-small-size); }
.bsb-contact-band-info .bsb-phone:hover,
.bsb-contact-band-info .bsb-phone:focus-visible,
.bsb-contact-band-info .bsb-contact-email:hover,
.bsb-contact-band-info .bsb-contact-email:focus-visible { color: #fff; }
.bsb-contact-band-inner .bsb-contact-band-button { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 13px 20px; min-height: 48px; border-radius: 7px; background: white; color: #244c90; font-size: clamp(12px,.16vw + 10px,14px); box-shadow: 0 6px 16px #163d7d20; }
.bsb-contact-band-inner .bsb-contact-band-button:hover { background: #eff5ff; color: #111; }
.bsb-footer { background: linear-gradient(112deg,#3e5689 0%,#485e96 48%,#397580 100%); color: #e3eaf7; font-size: 13px; border-top: 1px solid #ffffff20; }
.bsb-footer-grid { display: grid; grid-template-columns: 1.2fr .55fr .6fr 1.75fr; gap: clamp(34px,3vw,64px); padding-block: 76px 64px; }
.bsb-footer-grid > * { min-width: 0; }
.bsb-footer-grid h2 { font-size: 16px; color: #fff; margin-bottom: 24px; }
.bsb-footer-brand .bsb-footer-logo { display: inline-block; background: white; padding: 9px 12px; border-radius: 7px; margin-bottom: 22px; }
.bsb-footer-brand > a img { width: 145px; height: auto; margin: 0; }
.bsb-footer-brand h2 { font-size: 16px; margin-bottom: 13px; }
.bsb-footer-brand p { margin-block: 7px; font-size: var(--bsb-small-size); }
.bsb-footer-area { display: inline-block; margin-top: 22px; padding: 6px 11px; border-radius: 5px; background: #ffffff0b; border: 1px solid #ffffff25; font-size: 12px; color: #e3edff; }
.bsb-footer-nav h2 { position: relative; padding-bottom: 14px; }
.bsb-footer-nav h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 20px; height: 2px; background: #c5d9fa; border-radius: 2px; }
.bsb-footer-grid ul { list-style: none; }
.bsb-footer-grid li { margin-block: 11px; }
.bsb-footer-nav a { display: inline-flex; align-items: center; gap: 8px; }
.bsb-footer-nav a::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: #c5d9fa90; }
.bsb-footer-grid a:hover { color: #fff; }
.bsb-footer-contact { display: grid; grid-template-columns: minmax(0,1fr) 108px; gap: 0 22px; align-content: start; align-items: start; }
.bsb-footer-contact > h2 { grid-column: 1 / -1; }
.bsb-footer-contact-info { display: grid; gap: 14px; min-width: 0; }
.bsb-footer-contact-info .bsb-footer-company { color: #fff; font-size: var(--bsb-small-size); font-weight: 600; line-height: 1.7; overflow-wrap: anywhere; }
.bsb-footer-contact-info .bsb-footer-person { display: flex; align-items: flex-start; gap: 10px; font-size: var(--bsb-small-size); line-height: 1.7; }
.bsb-footer-contact-info > a,.bsb-footer-address { display: flex; align-items: flex-start; gap: 10px; font-size: var(--bsb-small-size); line-height: 1.7; }
.bsb-footer-contact-info svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: #c1d7f7; }
.bsb-footer-contact-info > a > span,.bsb-footer-address > span { min-width: 0; overflow-wrap: anywhere; }
.bsb-footer-contact-info .bsb-footer-phone { color: #fff; font-size: clamp(19px,1.1vw,25px); font-weight: 500; line-height: 1.2; }
.bsb-footer-contact-info .bsb-footer-phone svg { margin-top: 2px; }
.bsb-footer-postcode { padding-left: 28px; font-size: 12px; color: #d5e1f5; }
.bsb-footer-contact .bsb-qr { display: flex; flex-direction: column; align-items: center; gap: 9px; margin: 0; padding: 8px 7px 10px; background: #ffffff0c; border: 1px solid #ffffff26; border-radius: 8px; }
.bsb-footer-contact .bsb-qr img { width: 90px; height: auto; background: #fff; padding: 4px; border-radius: 4px; }
.bsb-footer-contact .bsb-qr > span { font-size: 12px; white-space: nowrap; color: #e3edff; }
.bsb-copyright { border-top: 1px solid #ffffff20; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px 24px; padding-block: 24px; font-size: 12px; color: #d0ddf3; }
.bsb-copyright-info { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; min-width: 0; }
.bsb-filing-info { display: inline-flex; align-items: baseline; gap: 0; }
.bsb-copyright .bsb-icp-link { color: inherit; }
.bsb-copyright .bsb-icp-link:hover,
.bsb-copyright .bsb-icp-link:focus-visible { color: #fff; }
.bsb-technical-support a { color: inherit; }
.bsb-technical-support a:hover,
.bsb-technical-support a:focus-visible { color: #fff; }
.bsb-back-top { position: fixed; z-index: 30; right: 22px; bottom: 24px; width: 42px; height: 42px; border: 1px solid var(--bsb-line); border-radius: 6px; background: #fff; display: grid; place-items: center; color: var(--bsb-blue) !important; box-shadow: 0 4px 20px #183b6c15; }

/* 8. Large displays: cap line length and typography, expand whitespace gently. */
@media (min-width: 1600px) {
  .bsb-site { --bsb-container: 1320px; }
  .bsb-hero-inner { min-height: 610px; }
  .bsb-hero-art { top: 53px; right: 25px; transform: scale(1.08); }
}
@media (min-width:1181px) {
  .bsb-site {
    --bsb-container: 1600px;
    --bsb-large-type-scale: 1.1;
    --bsb-body-size: clamp(17px,calc(0.265625vw + 13.6px),20.4px);
    --bsb-small-size: clamp(14px,calc(0.21875vw + 11.2px),16.8px);
    --bsb-title-size: clamp(38px,calc(0.59375vw + 30.4px),45.6px);
    --bsb-h1-size: clamp(54px,calc(0.84375vw + 43.2px),64.8px);
  }
  .bsb-section { padding-block: 88px; }
  .bsb-hero-inner { min-height: 640px; }
  .bsb-hero-art { right: 45px; top: 65px; transform: scale(1.13); }
  .bsb-navigation > ul { gap: clamp(40px, 1.8vw, 56px); }
  .bsb-navigation a { font-size: clamp(16px,calc(0.25vw + 12.8px),19.2px); }
  .bsb-topbar,.bsb-brand > span,.bsb-brand small,.bsb-kicker,
  .bsb-card-index,.bsb-home-panel-side p,.bsb-copyright {
    font-size: clamp(13px,calc(0.203125vw + 10.4px),15.6px);
  }
  .bsb-package p,.bsb-package > a,.bsb-hero-regions,
  .bsb-home-service-grid p,.bsb-home-faq .bsb-faq summary,
  .bsb-home-faq .bsb-faq p,.bsb-benefits p,.bsb-office-figure figcaption,
  .bsb-breadcrumb,.bsb-side-contact p:not(.bsb-kicker),.bsb-process p,
  .bsb-service-facts span,.bsb-notice,.bsb-news-meta,.bsb-result-count,
  .bsb-contact-qr p,.bsb-location figcaption,.bsb-footer {
    font-size: clamp(14px,calc(0.21875vw + 11.2px),16.8px);
  }
  .bsb-button,.bsb-tab,.bsb-filter,.bsb-service-card p,
  .bsb-side-nav a,.bsb-home-panel-side > a,.bsb-faq summary,.bsb-faq p,
  .bsb-service-facts strong,.bsb-article-cta p,.bsb-news-card > p,
  .bsb-contact-card > p,.bsb-contact-band p {
    font-size: clamp(16px,calc(0.25vw + 12.8px),19.2px);
  }
  .bsb-hero .bsb-kicker { font-size: clamp(14px,calc(0.21875vw + 11.2px),16.8px); }
  .bsb-hero-overline { font-size: clamp(22px,calc(0.34375vw + 17.6px),26.4px); }
  .bsb-hero-description,.bsb-art-badge { font-size: clamp(18px,calc(0.28125vw + 14.4px),21.6px); }
  .bsb-package h3 { font-size: clamp(22px,calc(0.34375vw + 17.6px),26.4px); }
  .bsb-home-service-grid h3,.bsb-benefits h3,.bsb-process h3,
  .bsb-footer-grid h2,.bsb-footer-brand h2 {
    font-size: clamp(19px,calc(0.296875vw + 15.2px),22.8px);
  }
  .bsb-home-faq > h3 { font-size: clamp(21px,calc(0.328125vw + 16.8px),25.2px); }
  .bsb-home-panel-side h3 { font-size: clamp(25px,calc(0.390625vw + 20px),30px); }
  .bsb-inner-hero h1 { font-size: clamp(46px,calc(0.71875vw + 36.8px),55.2px); }
  .bsb-inner-description { font-size: clamp(18px,calc(0.28125vw + 14.4px),21.6px); }
  .bsb-content-section > h2 { font-size: clamp(29px,calc(0.453125vw + 23.2px),34.8px); }
  .bsb-service-card h3,.bsb-side-nav h2,.bsb-side-contact h2,
  .bsb-article-cta h2,.bsb-news-card h2,.bsb-contact-card h2 {
    font-size: clamp(23px,calc(0.359375vw + 18.4px),27.6px);
  }
  .bsb-side-contact > a { font-size: clamp(24px,calc(0.375vw + 19.2px),28.8px); }
  .bsb-news-article > header h2 { font-size: clamp(34px,calc(0.53125vw + 27.2px),40.8px); }
  .bsb-contact-value { font-size: clamp(28px,calc(0.4375vw + 22.4px),33.6px); }
  .bsb-email { font-size: clamp(22px,calc(0.34375vw + 17.6px),26.4px); }
  .bsb-location h2 { font-size: clamp(27px,calc(0.421875vw + 21.6px),32.4px); }
  .bsb-contact-band h2 { font-size: clamp(32px,calc(0.5vw + 25.6px),38.4px); }
  .bsb-phone { font-size: clamp(33px,calc(0.515625vw + 26.4px),39.6px); }
  .bsb-home-panel { grid-template-columns: 340px minmax(0,1fr) 430px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 310px; }
  .bsb-package { padding-block: 40px; }
}
@media (min-width: 2560px) {
  .bsb-site { --bsb-container: 1800px; --bsb-large-type-scale: 1.2; }
  .bsb-hero-inner { min-height: 670px; }
  .bsb-inner-hero { padding-bottom: 60px; }
  .bsb-inner-description { max-width: 800px; }
}
@media (min-width: 3840px) {
  .bsb-site { --bsb-container: 2000px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 340px; gap: 48px; }
  .bsb-article > .bsb-lead,.bsb-news-article > p { max-width: 50em; }
}

/* 9. Compact desktop and tablet */
@media (max-width: 1360px) {
  .bsb-brand > span { display: none; }
}
@media (max-width: 1180px) {
  .bsb-header-inner { min-height: 82px; }
  .bsb-header-hotline { margin-left: auto; order: 1; }
  .bsb-menu-toggle { order: 2; }
  .bsb-menu-toggle { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--bsb-line); background: var(--bsb-soft); color: var(--bsb-blue); border-radius: 5px; font-size: 23px; }
  .bsb-navigation { display: none; position: absolute; top: 100%; left: 0; right: 0; background: white; box-shadow: 0 12px 20px #143f731a; border-top: 1px solid var(--bsb-line); padding: 16px var(--bsb-gutter); max-height: calc(100dvh - 100px); overflow-y: auto; }
  .bsb-navigation.bsb-is-open { display: block; }
  .bsb-navigation > ul { display: grid; grid-template-columns: minmax(0,1fr); gap: 6px 18px; }
  .bsb-navigation a { font-size: 15px; min-height: 48px; justify-content: center; }
  .bsb-navigation .bsb-current::after { bottom: 3px; }
  .bsb-home-panel { grid-template-columns: 185px minmax(0,1fr); }
  .bsb-home-faq { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--bsb-line); padding: 22px 28px; }
  .bsb-home-faq .bsb-faq summary { font-size: 14px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 28px; }
  .bsb-side-contact { padding: 22px; }
  .bsb-side-contact > a { font-size: 21px; }
  .bsb-sidebar { top: 106px; }
  .bsb-hero-art { right: -50px; opacity: .55; }
  .bsb-about-split { gap: 32px; }
  .bsb-footer-grid { gap: 28px; }
  .bsb-contact-band-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px 30px; padding: 32px; }
  .bsb-contact-band-copy { grid-row: span 2; }
  .bsb-contact-band-button { grid-column: 2; justify-self: start; }
  .bsb-contact-card { padding: 23px; }
}
@media (max-width: 900px) {
  .bsb-packages { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsb-package { min-height: 300px; }
  .bsb-hero-copy { width: 90%; }
  .bsb-hero .bsb-hero-title { font-size: 42px; }
  .bsb-hero-art { opacity: .25; right: -100px; }
  .bsb-content-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .bsb-sidebar { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 22px; }
  .bsb-side-contact { margin-top: 0; }
  .bsb-about-split { grid-template-columns: minmax(0,1fr); }
  .bsb-office-figure img { aspect-ratio: 2.5; object-fit: contain; }
  .bsb-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
  .bsb-advantages-heading { flex-direction: column; align-items: flex-start; gap: 14px; }
  .bsb-advantages-heading > p { max-width: none; }
  .bsb-company-intro { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .bsb-company-photos img { aspect-ratio: 1.65; }
  .bsb-footer-grid { grid-template-columns: 1.3fr 1fr; gap: 36px; }
  .bsb-footer-brand { grid-column: 1 / -1; }
  .bsb-footer-contact { grid-column: 1 / -1; }
  .bsb-contact-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsb-contact-card:last-child { grid-column: 1 / -1; }
  .bsb-location { grid-template-columns: minmax(0,1fr); gap: 30px; padding: 30px; }
  .bsb-contact-band-info { padding-left: 24px; }
  .bsb-contact-band-button { margin-left: 24px; }
}

/* 10. Phones: explicit type scale, readable body text and natural wrapping. */
@media (max-width: 640px) {
  html { scroll-padding-top: 90px; }
  .bsb-site { --bsb-gutter: 20px; --bsb-body-size: 15px; --bsb-small-size: 13px; --bsb-title-size: 27px; }
  .bsb-topbar { font-size: 12px; }
  .bsb-topbar .bsb-container { gap: 12px; padding-block: 8px; align-items: center; }
  .bsb-topbar p { max-width: 48%; }
  .bsb-topbar a { max-width: 50%; white-space: normal; text-align: right; }
  .bsb-header-inner { min-height: 76px; }
  .bsb-header-hotline { display: none; }
  .bsb-brand img { width: 145px; }
  .bsb-navigation { padding: 8px var(--bsb-gutter); max-height: calc(100dvh - 140px); }
  .bsb-navigation > ul { grid-template-columns: minmax(0,1fr); gap: 0; }
  .bsb-navigation a { justify-content: flex-start; min-height: 38px; padding: 6px 14px; font-size: 14px; line-height: 1.5; }
  .bsb-navigation .bsb-current { background: #f0f5ff; border-radius: 4px; }
  .bsb-navigation .bsb-current::after { display: none; }
  .bsb-hero-inner { min-height: 500px; }
  .bsb-hero-copy { width: 100%; padding-block: 44px 48px; }
  .bsb-hero .bsb-kicker { font-size: 12px; letter-spacing: 1px; }
  .bsb-hero-overline { font-size: 17px; letter-spacing: 2px; margin-top: 16px; }
  .bsb-hero .bsb-hero-title { font-size: clamp(30px,6.8vw,40px); line-height: 1.35; letter-spacing: 0; }
  .bsb-mobile-break { display: block; }
  .bsb-hero-description { font-size: 14px; max-width: 320px; line-height: 1.7; }
  .bsb-hero-regions { font-size: 13px; max-width: 330px; }
  .bsb-hero-art { right: -190px; top: 65px; opacity: .18; transform: scale(.9); }
  .bsb-actions { gap: 12px; }
  .bsb-button { font-size: 14px; gap: 15px; padding: 10px 18px; min-height: 46px; }
  .bsb-section-heading { margin-bottom: 26px; }
  .bsb-packages { gap: 14px; }
  .bsb-package { padding: 28px 18px; min-height: 290px; }
  .bsb-package h3 { font-size: 18px; }
  .bsb-package p { font-size: 13px; }
  .bsb-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .bsb-tab { font-size: 14px; padding: 10px 12px; }
  .bsb-home-panel { grid-template-columns: minmax(0,1fr); }
  .bsb-home-panel-side { padding: 24px; position: relative; }
  .bsb-home-panel-side > span { position: absolute; top: 22px; right: 24px; }
  .bsb-home-panel-side h3 { margin-top: 0; font-size: 23px; }
  .bsb-home-panel-side p { font-size: 12px; max-width: 75%; }
  .bsb-home-panel-side > a { padding-top: 18px; }
  .bsb-service-illustration { position: absolute; width: 125px; height: 116px; right: 14px; bottom: 7px; padding: 0; margin: 0; opacity: .85; }
  .bsb-home-panel-side > a { width: fit-content; margin-top: 18px; padding: 8px 14px; gap: 16px; }
  .bsb-home-service-grid { grid-template-columns: minmax(0,1fr); grid-template-rows: auto; }
  .bsb-home-service-grid article.bsb-service-featured { grid-row: auto; border-right: 0; border-bottom: 1px solid var(--bsb-line); padding: 26px 24px; }
  .bsb-featured-body { grid-template-columns: minmax(0,1fr) 90px; padding-block: 22px 12px; }
  .bsb-service-document { width: 100%; height: auto; margin: 0; }
  .bsb-home-service-grid article { padding: 24px; }
  .bsb-home-faq { padding: 26px 24px; }
  .bsb-popular-contact { flex-direction: column; margin-top: 44px; margin-bottom: 12px; }
  .bsb-popular-contact > div { padding: 14px 22px; gap: 8px 20px; }
  .bsb-popular-section .bsb-popular-contact-button { padding-block: 12px; }
  .bsb-home-service-grid { padding: 6px; }
  .bsb-home-service-grid article { padding: 22px 14px; }
  .bsb-home-service-grid h3 { font-size: 17px; }
  .bsb-home-faq { padding: 24px 20px; }
  .bsb-benefits { gap: 14px; margin-bottom: 40px; }
  .bsb-benefits > div { padding: 24px 18px; }
  .bsb-benefits .bsb-benefit-number { font-size: 54px; right: 10px; }
  .bsb-benefit-icon { width: 44px; height: 44px; border-radius: 12px; margin-bottom: 18px; }
  .bsb-benefit-icon svg { width: 25px; height: 25px; }
  .bsb-benefits h3 { font-size: 17px; }
  .bsb-benefits p { font-size: 13px; }
  .bsb-about-split { gap: 28px; }
  .bsb-office-figure figcaption { padding: 12px 16px; }
  .bsb-company-intro { padding: 20px; border-radius: 12px; gap: 26px; }
  .bsb-company-visual { padding: 8px; }
  .bsb-company-photos { gap: 7px; }
  .bsb-company-photos img { aspect-ratio: 1.15; }
  .bsb-company-photos figcaption { font-size: 11px; padding-inline: 8px; }
  .bsb-company-caption { padding-inline: 6px; }
  .bsb-company-caption > span { font-size: 9px; letter-spacing: 1px; }
  .bsb-company-area { flex-direction: column; gap: 5px; }
  .bsb-company-actions > a { gap: 12px; padding-inline: 12px; }
  .bsb-inner-hero { padding-block: 22px 36px; }
  .bsb-inner-hero h1 { font-size: 30px; }
  .bsb-inner-description { font-size: 15px; }
  .bsb-breadcrumb { font-size: 12px; margin-bottom: 26px; }
  .bsb-breadcrumb ol { gap: 5px 8px; }
  .bsb-breadcrumb li + li::before { margin-right: 8px; }
  .bsb-service-cards { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .bsb-service-card { padding: 25px; }
  .bsb-service-card h3 { font-size: 21px; }
  .bsb-sidebar { grid-template-columns: minmax(0,1fr); }
  .bsb-side-contact { display: none; }
  .bsb-content-section { margin-top: 34px; }
  .bsb-content-section > h2 { font-size: 24px; }
  .bsb-process { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .bsb-process li { padding: 18px 15px; }
  .bsb-service-facts { grid-template-columns: minmax(0,1fr); gap: 20px; padding: 22px; }
  .bsb-service-facts strong { font-size: 15px; }
  .bsb-check-list { gap: 15px; }
  .bsb-notice { padding: 14px 17px; }
  .bsb-article-cta { padding: 24px; }
  .bsb-region-banner { padding: 25px; }
  .bsb-news-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .bsb-news-card { padding: 24px; }
  .bsb-news-card h2 { font-size: 21px; }
  .bsb-filter { padding: 9px 17px; font-size: 14px; }
  .bsb-news-toolbar { gap: 9px; }
  .bsb-news-article > header h2 { font-size: 26px; }
  .bsb-contact-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .bsb-contact-card:last-child { grid-column: auto; }
  .bsb-contact-card { padding: 26px; }
  .bsb-contact-value { font-size: 26px; }
  .bsb-email { font-size: 21px; }
  .bsb-location { padding: 25px; }
  .bsb-location h2 { font-size: 23px; }
  .bsb-contact-band { padding-block: 8px 48px; }
  .bsb-contact-band-inner { display: flex; flex-direction: column; align-items: stretch; padding: 28px 24px; gap: 24px; border-radius: 12px; }
  .bsb-contact-band h2 { font-size: 25px; max-width: 11em; text-wrap: balance; }
  .bsb-contact-band-info { border-left: 0; border-top: 1px solid #ffffff26; padding: 22px 0 0; }
  .bsb-contact-band-inner .bsb-contact-band-button { align-self: flex-start; min-width: 180px; margin: 0; }
  .bsb-phone { font-size: 29px; }
  .bsb-footer-grid { gap: 34px 28px; padding-block: 48px 44px; }
  .bsb-footer-brand h2 { font-size: 17px; }
  .bsb-footer-contact { grid-template-columns: minmax(0,1fr) 90px; gap: 0 18px; }
  .bsb-footer-contact .bsb-qr img { width: 74px; }
  .bsb-footer-contact .bsb-qr > span { font-size: 10px; }
  .bsb-footer-contact-info { gap: 13px; }
  .bsb-footer-contact-info .bsb-footer-phone { font-size: 19px; }
  .bsb-copyright { font-size: 12px; padding-right: 28px; }
  .bsb-back-top { width: 38px; height: 38px; right: 12px; bottom: 16px; }
}
@media (max-width: 420px) {
  .bsb-site { --bsb-gutter: 18px; }
  .bsb-packages { grid-template-columns: minmax(0,1fr); }
  .bsb-package { min-height: 260px; padding: 28px 25px; }
  .bsb-package h3 { font-size: 21px; }
  .bsb-home-service-grid { grid-template-columns: minmax(0,1fr); }
  .bsb-home-service-grid article { padding: 22px 20px; }
  .bsb-home-service-grid article:nth-child(odd) { border-right: 0; }
  .bsb-home-service-grid article:nth-last-child(-n+2) { border-bottom: 1px solid var(--bsb-line); }
  .bsb-home-service-grid article:last-child { border-bottom: 0; }
  .bsb-hero .bsb-hero-title { font-size: 31px; }
  .bsb-hero .bsb-hero-title span { margin-inline: 2px; }
  .bsb-hero .bsb-actions { gap: 10px; }
  .bsb-hero .bsb-button { padding-inline: 13px; font-size: 13px; gap: 10px; }
  .bsb-inner-hero h1 { font-size: 28px; }
  .bsb-news-article > header h2 { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .bsb-site *, .bsb-site *::before, .bsb-site *::after { transition: none !important; }
}
@media print {
  .bsb-site { font-size: 11pt; color: #000; }
  .bsb-header,.bsb-topbar,.bsb-sidebar,.bsb-contact-band,.bsb-footer,.bsb-back-top,.bsb-header-hotline { display: flex; align-items: center; gap: 12px; flex-shrink: 0; color: var(--bsb-blue); white-space: nowrap; }
.bsb-hotline-icon { width: 42px; height: 42px; flex-shrink: 0; }
.bsb-header-hotline small { display: block; font-size: 13px; line-height: 1.6; color: var(--bsb-muted); }
.bsb-header-hotline strong { display: block; font-size: clamp(21px, 1.4vw, 30px); line-height: 1.3; font-weight: 700; }
.bsb-menu-toggle { display: none; }
  .bsb-container { width: 100%; }
  .bsb-content-layout { display: block; }
  .bsb-section { padding-block: 20px; }
  .bsb-inner-hero { background: none; color: #000; }
  .bsb-inner-description,.bsb-inner-hero .bsb-kicker { color: #444; }
}

/* Compact accordion navigation on mobile and tablet. */
@media (max-width:1180px) {
 .bsb-navigation .bsb-subnav { margin: 0 0 8px; padding: 0 12px 0 26px; gap: 0; border-radius: 0; background: transparent; }
 .bsb-nav-item.bsb-subnav-open > .bsb-subnav { grid-template-columns: minmax(0,1fr); }
 .bsb-navigation .bsb-subnav > li + li { border-top: 1px solid #e8edf4; }
 .bsb-navigation .bsb-subnav a { min-height: 34px; padding: 6px 10px; font-size: 13px; line-height: 1.5; border-radius: 0; }
 .bsb-navigation .bsb-subnav a::after { display: none; }
}

/* Mobile menu layout follows the reference: full rows and a clean accordion. */
@media (max-width:1180px) {
 .bsb-site:has(.bsb-navigation.bsb-is-open) { overflow: hidden; }
 .bsb-site:has(.bsb-navigation.bsb-is-open) .bsb-back-top { display: none; }
 .bsb-navigation { height: calc(100dvh - 82px); max-height: calc(100dvh - 82px); padding: 10px 14px 24px; box-shadow: none; overscroll-behavior: contain; }
 .bsb-navigation > ul { display: grid; gap: 0; align-items: start; }
 .bsb-navigation > ul > .bsb-nav-item { grid-template-columns: minmax(0,1fr) 52px; border-bottom: 1px solid #e8edf4; padding: 0; margin: 0; }
 .bsb-navigation .bsb-nav-item > a { min-height: 60px; padding: 16px 14px; font-size: 16px; line-height: 1.5; justify-content: flex-start; border-radius: 0; }
 .bsb-navigation .bsb-nav-item > a.bsb-current { background: #edf3fc; border-radius: 6px; font-weight: 600; }
 .bsb-navigation .bsb-nav-item > a.bsb-current:has(+ .bsb-subnav-toggle) { border-radius: 6px 0 0 6px; }
 .bsb-navigation .bsb-nav-item > a.bsb-current + .bsb-subnav-toggle { background: #edf3fc; border-radius: 0 6px 6px 0; }
 .bsb-navigation .bsb-current::after { display: none; }
 .bsb-navigation .bsb-nav-item > .bsb-subnav-toggle { width: 52px; height: 60px; display: grid; align-self: start; color: #48617e; }
 .bsb-navigation .bsb-subnav-toggle span { display: block; width: 9px; height: 9px; font-size: 0; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
 .bsb-navigation .bsb-subnav-toggle[aria-expanded="true"] span { transform: translateY(2px) rotate(225deg); }
 .bsb-navigation .bsb-subnav { margin: 0; padding: 8px 14px 18px; background: #fff; }
 .bsb-navigation .bsb-subnav > li { border: 0; border-bottom: 1px solid #e8edf4; }
 .bsb-navigation .bsb-subnav > li + li { border-top: 0; }
 .bsb-navigation .bsb-subnav a { min-height: 40px; padding: 9px 12px; font-size: 14px; line-height: 1.5; }
 .bsb-menu-toggle { position: relative; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
 .bsb-menu-toggle[aria-expanded="true"] > span { font-size: 0; }
 .bsb-menu-toggle[aria-expanded="true"]::before,
 .bsb-menu-toggle[aria-expanded="true"]::after { content: ''; position: absolute; width: 25px; height: 1.5px; background: currentColor; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(45deg); }
 .bsb-menu-toggle[aria-expanded="true"]::after { transform: translate(-50%,-50%) rotate(-45deg); }
}
@media (max-width:640px) {
 .bsb-navigation { height: calc(100dvh - 76px); max-height: calc(100dvh - 76px); }
}

@media (max-width:1180px) {
 .bsb-menu-toggle[aria-expanded="false"] > span { display: block; width: 23px; height: 17px; font-size: 0; background: linear-gradient(currentColor,currentColor) left top / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 100% 1.5px no-repeat; }
}

@media (max-width:1180px) {
 .bsb-navigation .bsb-subnav > li:last-child { border-bottom: 0; }
}

@media (max-width:1180px) {
 .bsb-navigation .bsb-nav-item > a:not(:has(+ .bsb-subnav-toggle)) { grid-column: 1 / -1; }
}

html.bsb-measuring-motion, html.bsb-measuring-motion body { scroll-behavior: auto !important; }

/* The footer and contact band keep their layout padding at every scroll position. */
.bsb-site .bsb-footer-grid,
.bsb-site .bsb-footer-grid > *,
.bsb-site .bsb-copyright,
.bsb-site .bsb-contact-band-inner { transform: none !important; }

/* Lift the first banner tagline slightly above the two-line heading. */
.bsb-carousel .bsb-video-slide .bsb-kicker { position: relative; top: -8px; }

.bsb-art-badge .bsb-business-badge-icon { display: inline-block; width: 1.1em; height: 1.1em; vertical-align: -.16em; }

/* Scalable original brand mark with live Chinese and English lettering. */
.bsb-site .bsb-logo-lockup { display: inline-flex; align-items: center; gap: 7px; width: clamp(160px, 10vw, 210px); border: 0; padding: 0; color: #333; line-height: 1; }
.bsb-site .bsb-logo-lockup .bsb-logo-mark { display: block; width: 40%; height: auto; flex-shrink: 0; margin: 0; }
.bsb-site .bsb-logo-wordmark { display: flex; flex: 1; flex-direction: column; gap: 5px; min-width: 0; }
.bsb-site .bsb-logo-wordmark strong { color: #333; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-size: clamp(22px, 1.4vw, 29px); font-weight: 800; letter-spacing: 0; white-space: nowrap; }
.bsb-site .bsb-logo-wordmark small { display: block; margin: 0; color: #333; font-family: Arial, sans-serif; font-size: clamp(6.5px, .42vw, 8.7px); font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.bsb-site .bsb-footer-logo .bsb-logo-lockup { width: 175px; }
.bsb-site .bsb-footer-logo .bsb-logo-wordmark strong { font-size: 24px; }
.bsb-site .bsb-footer-logo .bsb-logo-wordmark small { font-size: 7px; }
@media (max-width: 640px) {
 .bsb-site .bsb-brand .bsb-logo-lockup { display: inline-flex; width: 155px; }
 .bsb-site .bsb-brand .bsb-logo-wordmark strong { font-size: 21px; }
 .bsb-site .bsb-brand .bsb-logo-wordmark small { font-size: 6.2px; }
}

.bsb-popular-contact .bsb-name-check-button { border-left: 1px solid #ffffff40; }
@media (max-width: 640px) {
 .bsb-popular-contact .bsb-name-check-button { border-left: 0; border-top: 1px solid #ffffff40; }
}

/* Name-check action uses the warm gold palette from the business service panel. */
.bsb-popular-section .bsb-name-check-button { background: linear-gradient(150deg, #dfac73, #ce915c); color: #fff; }
.bsb-popular-section .bsb-name-check-button:hover,
.bsb-popular-section .bsb-name-check-button:focus-visible { background: linear-gradient(150deg, #d5a169, #bf8050); color: #fff; }


}
/* A wide touch tablet still needs explicit navigation controls. */
@media(min-width:1181px) and (max-width:1599px) and (hover:none), (min-width:1181px) and (max-width:1599px) and (pointer:coarse) {
 body.bsb-site .bsb-header-hotline { margin-left:auto; order:1; }
 body.bsb-site .bsb-menu-toggle { display:grid; place-items:center; order:2; width:46px; height:46px; border:1px solid var(--bsb-line); background:var(--bsb-soft); color:var(--bsb-blue); border-radius:5px; }
 body.bsb-site .bsb-menu-toggle span { display:block; width:23px; height:17px; font-size:0; background:linear-gradient(currentColor,currentColor) left top / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left center / 100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) left bottom / 100% 1.5px no-repeat; }
 body.bsb-site .bsb-navigation { display:none; position:absolute; top:100%; left:0; right:0; padding:12px var(--bsb-gutter); background:#fff; border-top:1px solid var(--bsb-line); box-shadow:0 12px 20px #143f731a; max-height:calc(100dvh - 112px); overflow:auto; }
 body.bsb-site .bsb-navigation.bsb-is-open { display:block; }
 body.bsb-site .bsb-navigation > ul { display:grid; grid-template-columns:minmax(0,1fr); gap:0; }
 body.bsb-site .bsb-navigation .bsb-nav-item { display:grid; grid-template-columns:minmax(0,1fr) 44px; }
 body.bsb-site .bsb-navigation .bsb-nav-item > a { grid-column:1; justify-content:flex-start; min-height:54px; padding:12px 14px; }
 body.bsb-site .bsb-navigation .bsb-subnav-toggle { display:grid; position:static; grid-column:2; grid-row:1; width:44px; height:54px; font-size:20px; }
 body.bsb-site .bsb-navigation .bsb-subnav { display:none; position:static; grid-column:1 / -1; width:100%; margin:0; max-height:none; padding:8px 14px; border:0; border-radius:0; box-shadow:none; }
 body.bsb-site .bsb-navigation .bsb-subnav-open > .bsb-subnav { display:grid; }
 body.bsb-site .bsb-navigation .bsb-current { background:#edf3fc; }
 body.bsb-site .bsb-navigation .bsb-current::after { display:none; }
}

/* Logo English is an SVG image so browser minimum font sizes cannot expand it. */
body.bsb-site .bsb-logo-wordmark small { font-size: 0; line-height: 0; }
body.bsb-site .bsb-logo-wordmark small .bsb-logo-english { display: block; width: 100%; max-width: 100%; height: auto; margin: 0; }
