/* Retain the approved large-monitor appearance. */
@media (width > 1920px) {
/* Inner pages share homepage colors, spacing, illustrations and container tokens. */
.bsb-inner-page { background: linear-gradient(180deg,#f7faff 0px,#e4edfb 520px,#f0f5fc 1100px,#f5f7fb 1800px); }
.bsb-inner-page main,
.bsb-inner-page .bsb-contact-band { background: transparent; }
.bsb-inner-page .bsb-inner-hero { color: #243e60; background: transparent; padding-block: 22px 32px; border-bottom: 0; }
.bsb-inner-hero-layout { display: grid; grid-template-areas: "breadcrumb breadcrumb" "copy visual"; grid-template-columns: minmax(0,1fr) 260px; grid-template-rows: auto 1fr; align-items: center; gap: 24px 50px; min-height: 286px; }
.bsb-inner-hero-copy { grid-area: copy; min-width: 0; padding-block: 8px 16px; }
.bsb-inner-page .bsb-breadcrumb { grid-area: breadcrumb; color: #7b8ca2; font-size: 12px; margin: 0; padding-bottom: 15px; border-bottom: 1px solid #c9d7e650; }
.bsb-inner-page .bsb-breadcrumb li + li::before { color: #acb9c9; }
.bsb-inner-page .bsb-breadcrumb a:hover { color: #2053aa; }
.bsb-inner-page .bsb-inner-hero .bsb-kicker { display: flex; align-items: center; gap: 12px; color: #708bac; font-size: 11px; letter-spacing: 2px; }
.bsb-inner-page .bsb-inner-hero .bsb-kicker::before { content: ""; width: 25px; height: 2px; background: #87a6cc; }
.bsb-inner-page .bsb-inner-hero h1 { color: #263f60; font-size: clamp(28px,2.4vw,46px); margin-block: 12px 18px; font-weight: 600; }
.bsb-inner-page .bsb-inner-description { color: #74859b; font-size: var(--bsb-body-size); max-width: 46em; line-height: 1.8; }
.bsb-inner-hero-visual { grid-area: visual; display: grid; justify-items: center; align-content: center; gap: 10px; padding: 14px 20px 18px; border: 1px solid #ffffffb3; border-radius: 20px 8px 20px 8px; background: linear-gradient(140deg,#ffffffa8,#ffffff30); box-shadow: 0 10px 28px #48678b06; }
.bsb-inner-hero-visual img { width: 180px; height: 168px; object-fit: contain; opacity: .83; filter: drop-shadow(0 9px 15px #607f9b12); }
.bsb-inner-hero-visual span { font-size: clamp(11px,.8vw,18px); line-height: 1.6; letter-spacing: .6px; color: #8d9fb2; white-space: nowrap; }
.bsb-inner-hero-visual.bsb-inner-hero-visual-plain { background: transparent; border-color: transparent; box-shadow: none; }
.bsb-inner-page main > .bsb-section { padding-block: clamp(36px,3.6vw,68px); }
.bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 30px; }
.bsb-inner-page .bsb-main-column > .bsb-section-heading { margin-bottom: 28px; }
.bsb-inner-page .bsb-section-heading h2 { font-size: clamp(25px,1.5vw,34px); }
.bsb-inner-page .bsb-service-cards { gap: 20px; }
.bsb-inner-page .bsb-service-card { position: relative; isolation: isolate; overflow: hidden; padding: 28px 30px; min-height: 230px; border: 1px solid #e6ecf5; border-radius: 12px; background: linear-gradient(120deg,#fff,#eef3fb); box-shadow: 0 7px 22px #243e6910; transition: box-shadow .2s,transform .2s; }
.bsb-inner-page .bsb-service-card:nth-child(4n+2) { background: linear-gradient(120deg,#fff,#edf6f5); }
.bsb-inner-page .bsb-service-card:nth-child(4n+3) { background: linear-gradient(120deg,#fff,#f1eff9); }
.bsb-inner-page .bsb-service-card:nth-child(4n+4) { background: linear-gradient(120deg,#fff,#f9f3e8); }
.bsb-inner-page .bsb-service-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px #243e6918; }
.bsb-inner-page .bsb-service-card h3 { position: relative; font-size: clamp(19px,1.2vw,24px); margin-block: 16px 12px; }
.bsb-inner-page .bsb-service-card p { position: relative; max-width: 29em; font-size: var(--bsb-small-size); line-height: 1.75; }
.bsb-inner-card-icon { position: absolute; z-index: -1; width: 140px; height: 132px; object-fit: contain; right: -24px; top: -24px; opacity: .14; transform: rotate(-12deg); }
.bsb-service-card:nth-child(even) .bsb-inner-card-icon { transform: rotate(14deg); right: -12px; top: -30px; }
.bsb-inner-page .bsb-card-index { font-size: 11px; letter-spacing: 1px; color: #8193ac; }
.bsb-inner-page .bsb-inner-block { margin-top: 28px; padding: clamp(24px,2vw,38px); background: #fff; border: 1px solid #e5ebf3; border-radius: 12px; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-inner-block > h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: clamp(21px,1.4vw,28px); }
.bsb-block-mark { width: 5px; height: 23px; border-radius: 3px; flex: 0 0 5px; background: linear-gradient(#5684c4,#99b9df); }
.bsb-inner-page .bsb-check-list { gap: 12px; font-size: var(--bsb-small-size); line-height: 1.85; }
.bsb-inner-page .bsb-check-list li { padding-left: 24px; }
.bsb-inner-page .bsb-process { gap: 12px; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
.bsb-inner-page .bsb-process li { border: 1px solid #e9eef6; background: linear-gradient(145deg,#f4f7fc,#fafcff); padding: 20px 16px; border-radius: 8px; }
.bsb-inner-page .bsb-process li > span { display: inline-flex; font-size: 25px; line-height: 1.3; font-weight: 600; color: #8aa6cd; margin-bottom: 18px; }
.bsb-inner-page .bsb-process h3 { font-size: var(--bsb-small-size); margin-bottom: 8px; }
.bsb-inner-page .bsb-process p { font-size: clamp(12px,.65vw,14px); line-height: 1.7; }
.bsb-inner-page .bsb-sidebar { position: static; }
.bsb-inner-page .bsb-side-nav { border-radius: 12px; border-color: #e5ebf3; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-side-nav h2 { background: linear-gradient(110deg,#eaf0fa,#f3f7fc); padding: 22px 24px; font-size: 21px; }
.bsb-inner-page .bsb-side-nav a { padding: 14px 24px; font-size: var(--bsb-small-size); line-height: 1.65; }
.bsb-inner-page .bsb-side-nav a span { color: #8fa5c2; padding-left: 8px; }
.bsb-inner-page .bsb-side-nav a:hover { background: #f2f6fc; }
.bsb-inner-page .bsb-side-contact { padding: 26px; background: linear-gradient(130deg,#41649b,#497d8f); border-radius: 12px; box-shadow: 0 8px 24px #1e41681c; }
.bsb-inner-page .bsb-side-contact > a:hover { color: #fff; }
.bsb-inner-page .bsb-side-contact h2 { font-size: 21px; }
.bsb-inner-page .bsb-side-contact > a { font-size: 22px; }
.bsb-service-overview { position: relative; padding: clamp(26px,2.4vw,44px); background: linear-gradient(125deg,#fff,#edf3fc); border: 1px solid #e0e8f4; border-radius: 12px; box-shadow: 0 6px 24px #1d3b6610; }
.bsb-service-overview > h2 { font-size: clamp(23px,1.6vw,32px); margin-block: 12px 18px; }
.bsb-service-overview .bsb-lead { font-size: var(--bsb-body-size); line-height: 1.9; max-width: 52em; }
.bsb-inner-page .bsb-service-facts { padding: 22px 0 0; background: none; border-top: 1px solid #dce5f2; gap: 20px; }
.bsb-inner-page .bsb-service-facts strong { font-size: var(--bsb-small-size); line-height: 1.8; }
.bsb-inner-page .bsb-service-facts span { font-size: 12px; }
.bsb-detail-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 22px; align-items: start; }
.bsb-detail-grid > .bsb-inner-block { min-width: 0; }
.bsb-inner-page .bsb-notice { padding: 12px 15px; font-size: 12px; line-height: 1.75; margin-top: 20px; border-radius: 0 6px 6px 0; }
.bsb-inner-page .bsb-inner-block > p { font-size: var(--bsb-small-size); line-height: 1.8; }
.bsb-inner-page .bsb-faq summary { padding-block: 16px; font-size: var(--bsb-small-size); }
.bsb-inner-page .bsb-faq p { font-size: 13px; line-height: 1.75; padding-bottom: 16px; }
.bsb-inner-page .bsb-article-cta { background: linear-gradient(120deg,#e5edf9,#e7f2f2); padding: 28px 32px; border-radius: 12px; margin-top: 28px; }
.bsb-inner-page .bsb-article-cta h2 { font-size: 22px; }
.bsb-inner-page .bsb-news-card { position: relative; padding: 32px; border-radius: 12px; background: linear-gradient(130deg,#fff,#f1f5fc); box-shadow: 0 7px 24px #263f6810; border-color: #e2e9f3; }
.bsb-inner-page .bsb-news-card:nth-child(even) { background: linear-gradient(130deg,#fff,#f0f6f5); }
.bsb-inner-page .bsb-news-card h2 { font-size: clamp(20px,1.4vw,27px); }
.bsb-inner-page .bsb-news-card > p { font-size: var(--bsb-small-size); }
.bsb-inner-page .bsb-news-article { background: #fff; border: 1px solid #e5ebf3; padding: clamp(24px,3vw,52px); border-radius: 12px; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-news-article > p:not(.bsb-notice) { font-size: var(--bsb-body-size); line-height: 1.95; margin-top: 20px; }
.bsb-inner-page .bsb-company-intro { margin-top: 0; padding-top: 0; border: 0; }
.bsb-inner-page .bsb-company-intro + .bsb-benefits { margin-block: 48px 0; }
.bsb-inner-page .bsb-region-banner { background: linear-gradient(115deg,#e4edf9,#e6f2f1); border-radius: 12px; }
.bsb-inner-page .bsb-contact-card { position: relative; background: linear-gradient(125deg,#fff,#eaf0fb); border: 1px solid #e1e8f3; padding: 30px; border-radius: 12px; box-shadow: 0 8px 24px #1d3b6610; }
.bsb-inner-page .bsb-contact-card:nth-child(2) { background: linear-gradient(125deg,#fff,#e9f3f0); }
.bsb-inner-page .bsb-contact-card:nth-child(3) { background: linear-gradient(125deg,#fff,#f0edf8); }
.bsb-inner-page .bsb-location { margin-top: 30px; padding: clamp(26px,3vw,48px); border: 1px solid #e5ebf3; border-radius: 12px; background: #fff; gap: 40px; }
.bsb-inner-page .bsb-location figure { max-width: 360px; justify-self: end; width: 100%; }
.bsb-inner-page .bsb-location img { width: 100%; aspect-ratio: 1.3; object-fit: cover; border-radius: 10px; }
@media (min-width:1181px) {
 .bsb-inner-hero-layout { min-height: 320px; grid-template-columns: minmax(0,1fr) 300px; }
 .bsb-inner-hero-visual img { width: 210px; height: 196px; }
 .bsb-inner-page .bsb-inner-hero h1 { font-size: calc(46px * var(--bsb-large-type-scale)); }
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 40px; }
 .bsb-inner-page .bsb-service-card { padding: 34px 38px; min-height: 248px; }
 .bsb-inner-page .bsb-service-card h3 { font-size: calc(23px * var(--bsb-large-type-scale)); }
 .bsb-inner-page .bsb-service-cards { gap: 24px; }
 .bsb-inner-page .bsb-side-nav h2 { font-size: 24px; }
 .bsb-inner-page .bsb-process { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
}
@media (max-width:1180px) {
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 245px; gap: 22px; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
 .bsb-inner-page .bsb-service-card { padding: 24px; }
 .bsb-inner-hero-layout { grid-template-columns: minmax(0,1fr) 200px; gap: 24px; }
 .bsb-inner-hero-visual img { width: 150px; height: 140px; }
 .bsb-inner-page .bsb-side-contact { padding: 22px; }
 .bsb-inner-page .bsb-side-contact > a { font-size: 20px; }
}
@media (max-width:900px) {
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .bsb-inner-page .bsb-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
 .bsb-inner-page .bsb-side-contact { margin-top: 0; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width:640px) {
 .bsb-inner-hero-layout { grid-template-areas: "breadcrumb" "copy"; grid-template-columns: minmax(0,1fr); min-height: 225px; gap: 20px; }
 .bsb-inner-hero-visual { display: none; }
 .bsb-inner-page .bsb-inner-hero { padding-block: 18px 22px; }
 .bsb-inner-page .bsb-breadcrumb { font-size: 11px; margin: 0; padding-bottom: 12px; }
 .bsb-inner-page .bsb-inner-hero h1 { font-size: 28px; }
 .bsb-inner-page .bsb-inner-description { font-size: 14px; }
 .bsb-inner-page .bsb-service-cards { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .bsb-inner-page .bsb-service-card { padding: 22px 24px; min-height: 190px; }
 .bsb-inner-page .bsb-service-card h3 { font-size: 20px; margin-block: 10px; }
 .bsb-inner-page .bsb-service-card p { font-size: 13px; }
 .bsb-inner-page .bsb-service-card .bsb-text-link { padding-block: 4px; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
 .bsb-inner-page .bsb-inner-block { padding: 22px; margin-top: 18px; }
 .bsb-inner-page .bsb-inner-block > h2 { font-size: 21px; margin-bottom: 18px; }
 .bsb-service-overview { padding: 24px; }
 .bsb-service-overview > h2 { font-size: 22px; }
 .bsb-service-overview .bsb-lead { font-size: 14px; }
 .bsb-inner-page .bsb-service-facts { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .bsb-inner-page .bsb-service-facts > div { display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 12px; align-items: start; }
 .bsb-inner-page .bsb-service-facts span { margin: 0; }
 .bsb-inner-page .bsb-service-facts strong { font-size: 13px; }
 .bsb-inner-page .bsb-process { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .bsb-inner-page .bsb-process li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 3px 12px; padding: 16px; }
 .bsb-inner-page .bsb-process li > span { grid-row: span 2; margin: 0; font-size: 23px; }
 .bsb-inner-page .bsb-process h3 { margin: 0; font-size: 14px; }
 .bsb-inner-page .bsb-process p { grid-column: 2; font-size: 12px; }
 .bsb-inner-page .bsb-sidebar { grid-template-columns: minmax(0,1fr); }
 .bsb-inner-page .bsb-article-cta { padding: 24px; margin-top: 18px; }
 .bsb-inner-page .bsb-article-cta h2 { font-size: 20px; }
 .bsb-inner-page .bsb-news-card { padding: 24px; }
 .bsb-inner-page .bsb-news-article { padding: 24px; }
 .bsb-inner-page .bsb-contact-card { padding: 24px; }
 .bsb-inner-page .bsb-location { padding: 24px; gap: 24px; }
 .bsb-inner-page .bsb-location figure { max-width: none; }
 .bsb-inner-page .bsb-region-banner { padding: 24px; }
}
/* Contact: one editorial information panel, followed by a full-width map. */
.bsb-inner-page main > .bsb-contact-section { padding-top: clamp(18px,1.7vw,32px); }
.bsb-contact-profile { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(40px,6vw,110px); padding: clamp(30px,4vw,64px); border: 1px solid #e4eaf3; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px #233c6210; }
.bsb-contact-profile-intro { min-width: 0; }
.bsb-contact-profile-intro > h2 { margin-block: 18px 24px; font-size: clamp(25px,2vw,38px); line-height: 1.5; color: #203855; }
.bsb-contact-profile-desc { font-size: var(--bsb-body-size); color: #7b8799; line-height: 1.95; }
.bsb-contact-profile-services { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; color: #637d9e; font-size: var(--bsb-small-size); }
.bsb-contact-profile-qr { display: flex; align-items: center; gap: 20px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #e7ecf3; }
.bsb-contact-profile-qr img { width: 108px; padding: 5px; background: #fff; border: 1px solid #e6ecf4; border-radius: 5px; flex-shrink: 0; }
.bsb-contact-profile-qr h3 { font-size: clamp(15px,1vw,18px); margin-bottom: 7px; }
.bsb-contact-profile-qr p { font-size: var(--bsb-small-size); line-height: 1.75; color: #748296; }
.bsb-contact-profile-qr span { display: block; margin-top: 12px; color: #96a5b8; font-size: 12px; }
.bsb-contact-profile-details { min-width: 0; }
.bsb-contact-details-list { margin: 0; }
.bsb-contact-details-list > div { padding-block: 18px; border-top: 1px solid #e5eaf1; }
.bsb-contact-details-list > div:first-child { padding-top: 0; border-top: 0; }
.bsb-contact-details-list dt { margin-bottom: 8px; color: #8292a7; font-size: var(--bsb-small-size); }
.bsb-contact-details-list dd { margin: 0; color: #304c6c; font-size: var(--bsb-body-size); line-height: 1.8; overflow-wrap: anywhere; }
.bsb-contact-details-list .bsb-contact-detail-phone dd { font-size: clamp(25px,1.8vw,36px); font-weight: 500; letter-spacing: .5px; line-height: 1.4; }
.bsb-contact-details-list .bsb-contact-detail-region { padding-bottom: 16px; }
.bsb-contact-visit-note { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 16px; border-top: 1px solid #e5eaf1; font-size: 12px; color: #8a98ab; }
.bsb-contact-map-section { margin-top: 56px; background: #fff; border: 1px solid #e4eaf3; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 28px #233c6210; }
.bsb-contact-map-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 28px 36px; }
.bsb-contact-map-heading h2 { font-size: clamp(23px,1.6vw,30px); margin-top: 6px; }
.bsb-contact-map-link { display: inline-flex; gap: 16px; padding-block: 8px; border-bottom: 1px solid #c9d7e9; color: #4a6b94; font-size: var(--bsb-small-size); }
.bsb-contact-map-frame { position: relative; width: 100%; height: clamp(360px,29vw,520px); background: #e8edf2; }
.bsb-contact-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.bsb-contact-map-caption { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; padding: 22px 36px; background: linear-gradient(110deg,#f3f6fb,#edf5f3); font-size: var(--bsb-small-size); }
.bsb-contact-map-caption > span { color: #8294a9; flex-shrink: 0; }
.bsb-contact-map-caption p { flex: 1; min-width: 0; color: #526a85; }
.bsb-contact-map-caption a { color: #315e98; white-space: nowrap; }
@media (min-width:1181px) {
 .bsb-contact-profile { padding: 64px 72px; }
 .bsb-contact-profile-intro > h2 { font-size: calc(34px * var(--bsb-large-type-scale)); }
 .bsb-contact-profile-qr { margin-top: 44px; }
 .bsb-contact-profile-qr img { width: 120px; }
 .bsb-contact-details-list > div { padding-block: 22px; }
 .bsb-contact-profile-qr h3 { font-size: calc(17px * var(--bsb-large-type-scale)); }
}
@media (max-width:900px) {
 .bsb-contact-profile { gap: 32px; padding: 32px; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
 .bsb-contact-profile-intro > h2 { font-size: 25px; }
 .bsb-contact-profile-qr { flex-wrap: wrap; gap: 14px; }
 .bsb-contact-profile-qr img { width: 96px; }
 .bsb-contact-profile-services { gap: 6px 14px; }
}
@media (max-width:640px) {
 .bsb-contact-profile { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 26px 24px; }
 .bsb-contact-profile-intro > h2 { font-size: 25px; margin-block: 14px 18px; }
 .bsb-contact-profile-desc { font-size: 14px; }
 .bsb-contact-profile-qr { flex-wrap: nowrap; margin-top: 24px; padding-top: 22px; }
 .bsb-contact-profile-qr img { width: 88px; }
 .bsb-contact-profile-qr h3 { font-size: 14px; }
 .bsb-contact-profile-qr p { font-size: 12px; }
 .bsb-contact-profile-qr span { margin-top: 8px; font-size: 11px; }
 .bsb-contact-details-list > div { padding-block: 15px; }
 .bsb-contact-details-list > div:first-child { padding-top: 22px; border-top: 1px solid #e5eaf1; }
 .bsb-contact-details-list dd { font-size: 14px; }
 .bsb-contact-details-list .bsb-contact-detail-phone dd { font-size: 27px; }
 .bsb-contact-visit-note { line-height: 1.8; }
 .bsb-contact-map-section { margin-top: 36px; }
 .bsb-contact-map-heading { padding: 24px; gap: 14px; }
 .bsb-contact-map-heading h2 { font-size: 23px; }
 .bsb-contact-map-link { font-size: 12px; }
 .bsb-contact-map-frame { height: 340px; }
 .bsb-contact-map-caption { padding: 20px 24px; align-items: start; gap: 8px; font-size: 12px; }
 .bsb-contact-map-caption > span { flex-basis: 100%; }
 .bsb-contact-map-caption p { flex-basis: 100%; }
 .bsb-contact-map-caption a { margin-top: 4px; }
}
@media print {
 .bsb-inner-hero-visual { display: none; }
 .bsb-inner-page main { background: #fff; }
 .bsb-inner-page .bsb-inner-hero { background: none; color: #000; }
 .bsb-inner-page .bsb-inner-block,.bsb-service-overview,.bsb-inner-page .bsb-news-article { box-shadow: none; }
}

}
/* Unified phone, tablet and laptop adaptation, including 1920px. */
@media (max-width:1920px) {
/* Inner pages share homepage colors, spacing, illustrations and container tokens. */
.bsb-inner-page { background: linear-gradient(180deg,#f7faff 0px,#e4edfb 520px,#f0f5fc 1100px,#f5f7fb 1800px); }
.bsb-inner-page main,
.bsb-inner-page .bsb-contact-band { background: transparent; }
.bsb-inner-page .bsb-inner-hero { color: #243e60; background: transparent; padding-block: 22px 32px; border-bottom: 0; }
.bsb-inner-hero-layout { display: grid; grid-template-areas: "breadcrumb breadcrumb" "copy visual"; grid-template-columns: minmax(0,1fr) 260px; grid-template-rows: auto 1fr; align-items: center; gap: 24px 50px; min-height: 286px; }
.bsb-inner-hero-copy { grid-area: copy; min-width: 0; padding-block: 8px 16px; }
.bsb-inner-page .bsb-breadcrumb { grid-area: breadcrumb; color: #7b8ca2; font-size: 12px; margin: 0; padding-bottom: 15px; border-bottom: 1px solid #c9d7e650; }
.bsb-inner-page .bsb-breadcrumb li + li::before { color: #acb9c9; }
.bsb-inner-page .bsb-breadcrumb a:hover { color: #2053aa; }
.bsb-inner-page .bsb-inner-hero .bsb-kicker { display: flex; align-items: center; gap: 12px; color: #708bac; font-size: 11px; letter-spacing: 2px; }
.bsb-inner-page .bsb-inner-hero .bsb-kicker::before { content: ""; width: 25px; height: 2px; background: #87a6cc; }
.bsb-inner-page .bsb-inner-hero h1 { color: #263f60; font-size: clamp(28px,2.4vw,46px); margin-block: 12px 18px; font-weight: 600; }
.bsb-inner-page .bsb-inner-description { color: #74859b; font-size: var(--bsb-body-size); max-width: 46em; line-height: 1.8; }
.bsb-inner-hero-visual { grid-area: visual; display: grid; justify-items: center; align-content: center; gap: 10px; padding: 14px 20px 18px; border: 1px solid #ffffffb3; border-radius: 20px 8px 20px 8px; background: linear-gradient(140deg,#ffffffa8,#ffffff30); box-shadow: 0 10px 28px #48678b06; }
.bsb-inner-hero-visual img { width: 180px; height: 168px; object-fit: contain; opacity: .83; filter: drop-shadow(0 9px 15px #607f9b12); }
.bsb-inner-hero-visual span { font-size: clamp(11px,.8vw,18px); line-height: 1.6; letter-spacing: .6px; color: #8d9fb2; white-space: nowrap; }
.bsb-inner-hero-visual.bsb-inner-hero-visual-plain { background: transparent; border-color: transparent; box-shadow: none; }
.bsb-inner-page main > .bsb-section { padding-block: clamp(36px,3.6vw,68px); }
.bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 30px; }
.bsb-inner-page .bsb-main-column > .bsb-section-heading { margin-bottom: 28px; }
.bsb-inner-page .bsb-section-heading h2 { font-size: clamp(25px,1.5vw,34px); }
.bsb-inner-page .bsb-service-cards { gap: 20px; }
.bsb-inner-page .bsb-service-card { position: relative; isolation: isolate; overflow: hidden; padding: 28px 30px; min-height: 230px; border: 1px solid #e6ecf5; border-radius: 12px; background: linear-gradient(120deg,#fff,#eef3fb); box-shadow: 0 7px 22px #243e6910; transition: box-shadow .2s,transform .2s; }
.bsb-inner-page .bsb-service-card:nth-child(4n+2) { background: linear-gradient(120deg,#fff,#edf6f5); }
.bsb-inner-page .bsb-service-card:nth-child(4n+3) { background: linear-gradient(120deg,#fff,#f1eff9); }
.bsb-inner-page .bsb-service-card:nth-child(4n+4) { background: linear-gradient(120deg,#fff,#f9f3e8); }
.bsb-inner-page .bsb-service-card:hover { transform: translateY(-3px); box-shadow: 0 12px 26px #243e6918; }
.bsb-inner-page .bsb-service-card h3 { position: relative; font-size: clamp(19px,1.2vw,24px); margin-block: 16px 12px; }
.bsb-inner-page .bsb-service-card p { position: relative; max-width: 29em; font-size: var(--bsb-small-size); line-height: 1.75; }
.bsb-inner-card-icon { position: absolute; z-index: -1; width: 140px; height: 132px; object-fit: contain; right: -24px; top: -24px; opacity: .14; transform: rotate(-12deg); }
.bsb-service-card:nth-child(even) .bsb-inner-card-icon { transform: rotate(14deg); right: -12px; top: -30px; }
.bsb-inner-page .bsb-card-index { font-size: 11px; letter-spacing: 1px; color: #8193ac; }
.bsb-inner-page .bsb-inner-block { margin-top: 28px; padding: clamp(24px,2vw,38px); background: #fff; border: 1px solid #e5ebf3; border-radius: 12px; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-inner-block > h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 24px; font-size: clamp(21px,1.4vw,28px); }
.bsb-block-mark { width: 5px; height: 23px; border-radius: 3px; flex: 0 0 5px; background: linear-gradient(#5684c4,#99b9df); }
.bsb-inner-page .bsb-check-list { gap: 12px; font-size: var(--bsb-small-size); line-height: 1.85; }
.bsb-inner-page .bsb-check-list li { padding-left: 24px; }
.bsb-inner-page .bsb-process { gap: 12px; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); }
.bsb-inner-page .bsb-process li { border: 1px solid #e9eef6; background: linear-gradient(145deg,#f4f7fc,#fafcff); padding: 20px 16px; border-radius: 8px; }
.bsb-inner-page .bsb-process li > span { display: inline-flex; font-size: 25px; line-height: 1.3; font-weight: 600; color: #8aa6cd; margin-bottom: 18px; }
.bsb-inner-page .bsb-process h3 { font-size: var(--bsb-small-size); margin-bottom: 8px; }
.bsb-inner-page .bsb-process p { font-size: clamp(12px,.65vw,14px); line-height: 1.7; }
.bsb-inner-page .bsb-sidebar { position: static; }
.bsb-inner-page .bsb-side-nav { border-radius: 12px; border-color: #e5ebf3; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-side-nav h2 { background: linear-gradient(110deg,#eaf0fa,#f3f7fc); padding: 22px 24px; font-size: 21px; }
.bsb-inner-page .bsb-side-nav a { padding: 14px 24px; font-size: var(--bsb-small-size); line-height: 1.65; }
.bsb-inner-page .bsb-side-nav a span { color: #8fa5c2; padding-left: 8px; }
.bsb-inner-page .bsb-side-nav a:hover { background: #f2f6fc; }
.bsb-inner-page .bsb-side-contact { padding: 26px; background: linear-gradient(130deg,#41649b,#497d8f); border-radius: 12px; box-shadow: 0 8px 24px #1e41681c; }
.bsb-inner-page .bsb-side-contact > a:hover { color: #fff; }
.bsb-inner-page .bsb-side-contact h2 { font-size: 21px; }
.bsb-inner-page .bsb-side-contact > a { font-size: 22px; }
.bsb-service-overview { position: relative; padding: clamp(26px,2.4vw,44px); background: linear-gradient(125deg,#fff,#edf3fc); border: 1px solid #e0e8f4; border-radius: 12px; box-shadow: 0 6px 24px #1d3b6610; }
.bsb-service-overview > h2 { font-size: clamp(23px,1.6vw,32px); margin-block: 12px 18px; }
.bsb-service-overview .bsb-lead { font-size: var(--bsb-body-size); line-height: 1.9; max-width: 52em; }
.bsb-inner-page .bsb-service-facts { padding: 22px 0 0; background: none; border-top: 1px solid #dce5f2; gap: 20px; }
.bsb-inner-page .bsb-service-facts strong { font-size: var(--bsb-small-size); line-height: 1.8; }
.bsb-inner-page .bsb-service-facts span { font-size: 12px; }
.bsb-detail-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 22px; align-items: start; }
.bsb-detail-grid > .bsb-inner-block { min-width: 0; }
.bsb-inner-page .bsb-notice { padding: 12px 15px; font-size: 12px; line-height: 1.75; margin-top: 20px; border-radius: 0 6px 6px 0; }
.bsb-inner-page .bsb-inner-block > p { font-size: var(--bsb-small-size); line-height: 1.8; }
.bsb-inner-page .bsb-faq summary { padding-block: 16px; font-size: var(--bsb-small-size); }
.bsb-inner-page .bsb-faq p { font-size: 13px; line-height: 1.75; padding-bottom: 16px; }
.bsb-inner-page .bsb-article-cta { background: linear-gradient(120deg,#e5edf9,#e7f2f2); padding: 28px 32px; border-radius: 12px; margin-top: 28px; }
.bsb-inner-page .bsb-article-cta h2 { font-size: 22px; }
.bsb-inner-page .bsb-news-card { position: relative; padding: 32px; border-radius: 12px; background: linear-gradient(130deg,#fff,#f1f5fc); box-shadow: 0 7px 24px #263f6810; border-color: #e2e9f3; }
.bsb-inner-page .bsb-news-card:nth-child(even) { background: linear-gradient(130deg,#fff,#f0f6f5); }
.bsb-inner-page .bsb-news-card h2 { font-size: clamp(20px,1.4vw,27px); }
.bsb-inner-page .bsb-news-card > p { font-size: var(--bsb-small-size); }
.bsb-inner-page .bsb-news-article { background: #fff; border: 1px solid #e5ebf3; padding: clamp(24px,3vw,52px); border-radius: 12px; box-shadow: 0 6px 20px #1d3b6610; }
.bsb-inner-page .bsb-news-article > p:not(.bsb-notice) { font-size: var(--bsb-body-size); line-height: 1.95; margin-top: 20px; }
.bsb-inner-page .bsb-company-intro { margin-top: 0; padding-top: 0; border: 0; }
.bsb-inner-page .bsb-company-intro + .bsb-benefits { margin-block: 48px 0; }
.bsb-inner-page .bsb-region-banner { background: linear-gradient(115deg,#e4edf9,#e6f2f1); border-radius: 12px; }
.bsb-inner-page .bsb-contact-card { position: relative; background: linear-gradient(125deg,#fff,#eaf0fb); border: 1px solid #e1e8f3; padding: 30px; border-radius: 12px; box-shadow: 0 8px 24px #1d3b6610; }
.bsb-inner-page .bsb-contact-card:nth-child(2) { background: linear-gradient(125deg,#fff,#e9f3f0); }
.bsb-inner-page .bsb-contact-card:nth-child(3) { background: linear-gradient(125deg,#fff,#f0edf8); }
.bsb-inner-page .bsb-location { margin-top: 30px; padding: clamp(26px,3vw,48px); border: 1px solid #e5ebf3; border-radius: 12px; background: #fff; gap: 40px; }
.bsb-inner-page .bsb-location figure { max-width: 360px; justify-self: end; width: 100%; }
.bsb-inner-page .bsb-location img { width: 100%; aspect-ratio: 1.3; object-fit: cover; border-radius: 10px; }
@media (min-width:1181px) {
 .bsb-inner-hero-layout { min-height: 320px; grid-template-columns: minmax(0,1fr) 300px; }
 .bsb-inner-hero-visual img { width: 210px; height: 196px; }
 .bsb-inner-page .bsb-inner-hero h1 { font-size: clamp(46px,calc(0.71875vw + 36.8px),55.2px); }
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 330px; gap: 40px; }
 .bsb-inner-page .bsb-service-card { padding: 34px 38px; min-height: 248px; }
 .bsb-inner-page .bsb-service-card h3 { font-size: clamp(23px,calc(0.359375vw + 18.4px),27.6px); }
 .bsb-inner-page .bsb-service-cards { gap: 24px; }
 .bsb-inner-page .bsb-side-nav h2 { font-size: 24px; }
 .bsb-inner-page .bsb-process { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }
}
@media (max-width:1180px) {
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr) 245px; gap: 22px; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
 .bsb-inner-page .bsb-service-card { padding: 24px; }
 .bsb-inner-hero-layout { grid-template-columns: minmax(0,1fr) 200px; gap: 24px; }
 .bsb-inner-hero-visual img { width: 150px; height: 140px; }
 .bsb-inner-page .bsb-side-contact { padding: 22px; }
 .bsb-inner-page .bsb-side-contact > a { font-size: 20px; }
}
@media (max-width:900px) {
 .bsb-inner-page .bsb-content-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
 .bsb-inner-page .bsb-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
 .bsb-inner-page .bsb-side-contact { margin-top: 0; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}
@media (max-width:640px) {
 .bsb-inner-hero-layout { grid-template-areas: "breadcrumb" "copy"; grid-template-columns: minmax(0,1fr); min-height: 225px; gap: 20px; }
 .bsb-inner-hero-visual { display: none; }
 .bsb-inner-page .bsb-inner-hero { padding-block: 18px 22px; }
 .bsb-inner-page .bsb-breadcrumb { font-size: 11px; margin: 0; padding-bottom: 12px; }
 .bsb-inner-page .bsb-inner-hero h1 { font-size: 28px; }
 .bsb-inner-page .bsb-inner-description { font-size: 14px; }
 .bsb-inner-page .bsb-service-cards { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .bsb-inner-page .bsb-service-card { padding: 22px 24px; min-height: 190px; }
 .bsb-inner-page .bsb-service-card h3 { font-size: 20px; margin-block: 10px; }
 .bsb-inner-page .bsb-service-card p { font-size: 13px; }
 .bsb-inner-page .bsb-service-card .bsb-text-link { padding-block: 4px; }
 .bsb-inner-page .bsb-detail-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
 .bsb-inner-page .bsb-inner-block { padding: 22px; margin-top: 18px; }
 .bsb-inner-page .bsb-inner-block > h2 { font-size: 21px; margin-bottom: 18px; }
 .bsb-service-overview { padding: 24px; }
 .bsb-service-overview > h2 { font-size: 22px; }
 .bsb-service-overview .bsb-lead { font-size: 14px; }
 .bsb-inner-page .bsb-service-facts { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .bsb-inner-page .bsb-service-facts > div { display: grid; grid-template-columns: 65px minmax(0,1fr); gap: 12px; align-items: start; }
 .bsb-inner-page .bsb-service-facts span { margin: 0; }
 .bsb-inner-page .bsb-service-facts strong { font-size: 13px; }
 .bsb-inner-page .bsb-process { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .bsb-inner-page .bsb-process li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 3px 12px; padding: 16px; }
 .bsb-inner-page .bsb-process li > span { grid-row: span 2; margin: 0; font-size: 23px; }
 .bsb-inner-page .bsb-process h3 { margin: 0; font-size: 14px; }
 .bsb-inner-page .bsb-process p { grid-column: 2; font-size: 12px; }
 .bsb-inner-page .bsb-sidebar { grid-template-columns: minmax(0,1fr); }
 .bsb-inner-page .bsb-article-cta { padding: 24px; margin-top: 18px; }
 .bsb-inner-page .bsb-article-cta h2 { font-size: 20px; }
 .bsb-inner-page .bsb-news-card { padding: 24px; }
 .bsb-inner-page .bsb-news-article { padding: 24px; }
 .bsb-inner-page .bsb-contact-card { padding: 24px; }
 .bsb-inner-page .bsb-location { padding: 24px; gap: 24px; }
 .bsb-inner-page .bsb-location figure { max-width: none; }
 .bsb-inner-page .bsb-region-banner { padding: 24px; }
}
/* Contact: one editorial information panel, followed by a full-width map. */
.bsb-inner-page main > .bsb-contact-section { padding-top: clamp(18px,1.7vw,32px); }
.bsb-contact-profile { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(40px,6vw,110px); padding: clamp(30px,4vw,64px); border: 1px solid #e4eaf3; border-radius: 14px; background: #fff; box-shadow: 0 8px 28px #233c6210; }
.bsb-contact-profile-intro { min-width: 0; }
.bsb-contact-profile-intro > h2 { margin-block: 18px 24px; font-size: clamp(25px,2vw,38px); line-height: 1.5; color: #203855; }
.bsb-contact-profile-desc { font-size: var(--bsb-body-size); color: #7b8799; line-height: 1.95; }
.bsb-contact-profile-services { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 20px; color: #637d9e; font-size: var(--bsb-small-size); }
.bsb-contact-profile-qr { display: flex; align-items: center; gap: 20px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #e7ecf3; }
.bsb-contact-profile-qr img { width: 108px; padding: 5px; background: #fff; border: 1px solid #e6ecf4; border-radius: 5px; flex-shrink: 0; }
.bsb-contact-profile-qr h3 { font-size: clamp(15px,1vw,18px); margin-bottom: 7px; }
.bsb-contact-profile-qr p { font-size: var(--bsb-small-size); line-height: 1.75; color: #748296; }
.bsb-contact-profile-qr span { display: block; margin-top: 12px; color: #96a5b8; font-size: 12px; }
.bsb-contact-profile-details { min-width: 0; }
.bsb-contact-details-list { margin: 0; }
.bsb-contact-details-list > div { padding-block: 18px; border-top: 1px solid #e5eaf1; }
.bsb-contact-details-list > div:first-child { padding-top: 0; border-top: 0; }
.bsb-contact-details-list dt { margin-bottom: 8px; color: #8292a7; font-size: var(--bsb-small-size); }
.bsb-contact-details-list dd { margin: 0; color: #304c6c; font-size: var(--bsb-body-size); line-height: 1.8; overflow-wrap: anywhere; }
.bsb-contact-details-list .bsb-contact-detail-phone dd { font-size: clamp(25px,1.8vw,36px); font-weight: 500; letter-spacing: .5px; line-height: 1.4; }
.bsb-contact-details-list .bsb-contact-detail-region { padding-bottom: 16px; }
.bsb-contact-visit-note { display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 16px; border-top: 1px solid #e5eaf1; font-size: 12px; color: #8a98ab; }
.bsb-contact-map-section { margin-top: 56px; background: #fff; border: 1px solid #e4eaf3; border-radius: 14px; overflow: hidden; box-shadow: 0 8px 28px #233c6210; }
.bsb-contact-map-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 28px 36px; }
.bsb-contact-map-heading h2 { font-size: clamp(23px,1.6vw,30px); margin-top: 6px; }
.bsb-contact-map-link { display: inline-flex; gap: 16px; padding-block: 8px; border-bottom: 1px solid #c9d7e9; color: #4a6b94; font-size: var(--bsb-small-size); }
.bsb-contact-map-frame { position: relative; width: 100%; height: clamp(360px,29vw,520px); background: #e8edf2; }
.bsb-contact-map-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.bsb-contact-map-caption { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; padding: 22px 36px; background: linear-gradient(110deg,#f3f6fb,#edf5f3); font-size: var(--bsb-small-size); }
.bsb-contact-map-caption > span { color: #8294a9; flex-shrink: 0; }
.bsb-contact-map-caption p { flex: 1; min-width: 0; color: #526a85; }
.bsb-contact-map-caption a { color: #315e98; white-space: nowrap; }
@media (min-width:1181px) {
 .bsb-contact-profile { padding: 64px 72px; }
 .bsb-contact-profile-intro > h2 { font-size: clamp(34px,calc(0.53125vw + 27.2px),40.8px); }
 .bsb-contact-profile-qr { margin-top: 44px; }
 .bsb-contact-profile-qr img { width: 120px; }
 .bsb-contact-details-list > div { padding-block: 22px; }
 .bsb-contact-profile-qr h3 { font-size: clamp(17px,calc(0.265625vw + 13.6px),20.4px); }
}
@media (max-width:900px) {
 .bsb-contact-profile { gap: 32px; padding: 32px; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); }
 .bsb-contact-profile-intro > h2 { font-size: 25px; }
 .bsb-contact-profile-qr { flex-wrap: wrap; gap: 14px; }
 .bsb-contact-profile-qr img { width: 96px; }
 .bsb-contact-profile-services { gap: 6px 14px; }
}
@media (max-width:640px) {
 .bsb-contact-profile { grid-template-columns: minmax(0,1fr); gap: 28px; padding: 26px 24px; }
 .bsb-contact-profile-intro > h2 { font-size: 25px; margin-block: 14px 18px; }
 .bsb-contact-profile-desc { font-size: 14px; }
 .bsb-contact-profile-qr { flex-wrap: nowrap; margin-top: 24px; padding-top: 22px; }
 .bsb-contact-profile-qr img { width: 88px; }
 .bsb-contact-profile-qr h3 { font-size: 14px; }
 .bsb-contact-profile-qr p { font-size: 12px; }
 .bsb-contact-profile-qr span { margin-top: 8px; font-size: 11px; }
 .bsb-contact-details-list > div { padding-block: 15px; }
 .bsb-contact-details-list > div:first-child { padding-top: 22px; border-top: 1px solid #e5eaf1; }
 .bsb-contact-details-list dd { font-size: 14px; }
 .bsb-contact-details-list .bsb-contact-detail-phone dd { font-size: 27px; }
 .bsb-contact-visit-note { line-height: 1.8; }
 .bsb-contact-map-section { margin-top: 36px; }
 .bsb-contact-map-heading { padding: 24px; gap: 14px; }
 .bsb-contact-map-heading h2 { font-size: 23px; }
 .bsb-contact-map-link { font-size: 12px; }
 .bsb-contact-map-frame { height: 340px; }
 .bsb-contact-map-caption { padding: 20px 24px; align-items: start; gap: 8px; font-size: 12px; }
 .bsb-contact-map-caption > span { flex-basis: 100%; }
 .bsb-contact-map-caption p { flex-basis: 100%; }
 .bsb-contact-map-caption a { margin-top: 4px; }
}
@media print {
 .bsb-inner-hero-visual { display: none; }
 .bsb-inner-page main { background: #fff; }
 .bsb-inner-page .bsb-inner-hero { background: none; color: #000; }
 .bsb-inner-page .bsb-inner-block,.bsb-service-overview,.bsb-inner-page .bsb-news-article { box-shadow: none; }
}

}
