/* ==========================================================================
   Reusable components —” page hero, cards, single post layout.
   ========================================================================== */
.bc-page-hero {position:relative; min-height:56vh; display:flex; align-items:center; color:#fff; overflow:hidden; padding:160px 0 100px;}
.bc-page-hero__media {position:absolute; inset:0; z-index:0;}
.bc-page-hero__img, .bc-page-hero__video {width:100%; height:100%; object-fit:cover;}
.bc-page-hero__gradient {width:100%; height:100%; background:radial-gradient(circle at 20% 20%, rgba(1,136,184,0.55), transparent 55%), radial-gradient(circle at 80% 80%, rgba(23, 62, 119, 0.65), transparent 55%), linear-gradient(135deg, var(--bc-bg-dark) 0%, var(--bc-primary) 100%);}
.bc-page-hero__overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,51,0.35) 0%, rgba(10, 26, 51, 0.7) 100%);}
.bc-page-hero__inner {position:relative; z-index:1;}
.bc-page-hero__eyebrow {display:inline-flex; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-bottom:18px;}
.bc-page-hero__title {font-size:clamp(40px, 7vw, 96px); letter-spacing:-0.03em; color:#fff; line-height:1.05;}
.bc-page-hero__lead {margin-top:18px; max-width:700px; font-size:18px; color:rgba(255,255,255,0.85);}
.bc-page-hero__crumbs {display:flex; align-items:center; gap:6px; margin-top:26px; font-size:14px; color:rgba(255,255,255,0.65);}
.bc-page-hero__crumbs a {color:rgba(255,255,255,0.85); transition:color .2s var(--bc-ease);}
.bc-page-hero__crumbs a:hover {color:#fff;}
.bc-page-hero__crumbs .bc-icon {font-size:18px;}
.bc-page-hero__scroll {position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:#fff; animation:bc-bounce 2s ease-in-out infinite;}

@keyframes bc-bounce {
0%, 100% {transform:translate(-50%, 0);}
50% {transform:translate(-50%, -8px);}
}

.bc-page {padding:var(--bc-section-y) 0; background:#fff;}
.bc-page__inner {max-width:820px; margin:0 auto;}
.bc-page__content {font-size:18px; line-height:1.8;}
.bc-page__content > * + * {margin-top:1.2em;}
.bc-page__content h2 {font-size:clamp(28px, 3.2vw, 40px); margin-top:1.6em;}
.bc-page__content h3 {font-size:clamp(22px, 2.4vw, 30px); margin-top:1.4em;}
.bc-page__content img {border-radius:var(--bc-radius-md); max-width:100%; height:auto;}
.bc-page__content a {color:var(--bc-secondary); border-bottom:1px solid currentColor;}
.bc-page__content a:hover {color:var(--bc-primary);}
.bc-404 {min-height:100vh; display:flex; align-items:center; background:linear-gradient(180deg, #fff 0%, var(--bc-bg-soft) 100%); padding:100px 0;}
.bc-404__inner {max-width:720px; margin:0 auto; text-align:center;}
.bc-404__visual {display:flex; align-items:center; justify-content:center; gap:12px; font-size:clamp(80px, 16vw, 200px); font-weight:800; color:var(--bc-primary); letter-spacing:-0.04em; margin-bottom:24px; line-height:1;}
.bc-404__zero {width:clamp(80px, 16vw, 200px); height:clamp(80px, 16vw, 200px); border-radius:50%; background:var(--bc-primary); color:#fff; display:inline-flex; align-items:center; justify-content:center;}
.bc-404__zero .bc-icon {font-size:clamp(48px, 8vw, 100px);}
.bc-404__title {font-size:clamp(32px, 5vw, 56px); margin-bottom:12px;}
.bc-404__lead {color:var(--bc-muted); font-size:18px; margin-bottom:30px;}
.bc-404__actions {display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}
.bc-blog-card {position:relative; background:#fff; border-radius:var(--bc-radius-lg); overflow:hidden; box-shadow:0 6px 16px rgba(23,62,119,0.06); transition:transform .35s var(--bc-ease), box-shadow .35s var(--bc-ease);}
.bc-blog-card:hover {transform:translateY(-6px); box-shadow:0 24px 50px rgba(23,62,119,0.14);}
.bc-blog-card__link {display:block; color:inherit; height:100%;}
.bc-blog-card__media {position:relative; aspect-ratio:16 / 11; overflow:hidden;}
.bc-blog-card__img {width:100%; height:100%; object-fit:cover; transition:transform .9s var(--bc-ease);}
.bc-blog-card__link:hover .bc-blog-card__img {transform:scale(1.06);}
.bc-blog-card__chip {position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.95); color:var(--bc-primary); font-size:11px; font-weight:700; padding:6px 12px; border-radius:999px; letter-spacing:1.5px; text-transform:uppercase; backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);}
.bc-blog-card__body {padding:24px 26px 28px;}
.bc-blog-card__date {font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--bc-muted); font-weight:600; display:block; margin-bottom:10px;}
.bc-blog-card__title {font-size:22px; line-height:1.3; letter-spacing:-0.02em; margin:6px 0 8px; transition:color .25s var(--bc-ease);}
.bc-blog-card__link:hover .bc-blog-card__title {color:var(--bc-primary);}
.bc-blog-card__excerpt {color:var(--bc-muted); font-size:14.5px; line-height:1.65;}
.bc-blog-card__cta {display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:13px; font-weight:700; color:var(--bc-primary);}
.bc-blog-card__cta .bc-icon {font-size:16px; transition:transform .25s var(--bc-ease);}
.bc-blog-card__link:hover .bc-blog-card__cta .bc-icon {transform:translate(2px, -2px);}
.bc-blog-card--featured {background:var(--bc-bg-dark); color:#fff;}
.bc-blog-card--featured .bc-blog-card__link {display:grid; grid-template-columns:1fr 1fr; gap:0; align-items:stretch;}
.bc-blog-card--featured .bc-blog-card__media {aspect-ratio:4 / 3; max-height:380px;}
.bc-blog-card--featured .bc-blog-card__body {padding:clamp(24px, 3vw, 40px); display:flex; flex-direction:column; justify-content:center;}
.bc-blog-card--featured .bc-blog-card__title {font-size:clamp(22px, 2.4vw, 32px); color:#fff;}
.bc-blog-card--featured .bc-blog-card__excerpt {color:rgba(255,255,255,0.8); font-size:14.5px;}
.bc-blog-card--featured .bc-blog-card__date {color:rgba(255,255,255,0.6);}
.bc-blog-card--featured .bc-blog-card__cta {color:var(--bc-secondary);}
.bc-blog-card__chip--featured {background:var(--bc-secondary); color:#fff;}
.bc-blog-card__cat {display:inline-block; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--bc-secondary); font-weight:700; margin-bottom:12px;}

@media (max-width: 900px) {
.bc-blog-card--featured .bc-blog-card__link {grid-template-columns:1fr;}
}

.bc-news-card {background:#fff; border-radius:var(--bc-radius-lg); overflow:hidden; box-shadow:0 6px 16px rgba(23,62,119,0.06); transition:transform .35s var(--bc-ease), box-shadow .35s var(--bc-ease);}
.bc-news-card:hover {transform:translateY(-6px); box-shadow:0 24px 50px rgba(23,62,119,0.14);}
.bc-news-card__link {display:block; color:inherit; height:100%;}
.bc-news-card__media {aspect-ratio:16 / 11; overflow:hidden; position:relative;}
.bc-news-card__img {width:100%; height:100%; object-fit:cover; transition:transform .8s var(--bc-ease);}
.bc-news-card__link:hover .bc-news-card__img {transform:scale(1.05);}
.bc-news-card__chip {position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.95); color:var(--bc-primary); padding:6px 12px; border-radius:999px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px;}
.bc-news-card__body {padding:22px 26px 26px;}
.bc-news-card__meta {display:flex; align-items:center; gap:10px; font-size:12px; color:var(--bc-muted); margin-bottom:8px;}
.bc-news-card__pub {color:var(--bc-secondary); font-weight:700; letter-spacing:1.5px; text-transform:uppercase;}
.bc-news-card__title {font-size:20px; line-height:1.3; transition:color .25s var(--bc-ease);}
.bc-news-card__link:hover .bc-news-card__title {color:var(--bc-primary);}
.bc-news-card__excerpt {color:var(--bc-muted); margin:8px 0 12px; font-size:14.5px; line-height:1.6;}
.bc-news-card__cta {display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--bc-primary);}
.bc-news-card__cta .bc-icon {font-size:16px;}
.bc-article {background:#fff; position:relative;}
.bc-article__hero {position:relative; min-height:60vh; padding:180px 0 80px; color:#fff; overflow:hidden; display:flex; align-items:flex-end;}
.bc-article__hero-media {position:absolute; inset:0; z-index:0;}
.bc-article__hero-img {width:100%; height:100%; object-fit:cover;}
.bc-article__hero-overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,51,0.2) 0%, rgba(10, 26, 51, 0.85) 100%);}
.bc-article__hero-inner {position:relative; z-index:1; max-width:1100px;}
.bc-article__chip {display:inline-block; padding:6px 14px; background:var(--bc-secondary); color:#fff; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; border-radius:999px; margin-bottom:18px;}
.bc-article__title {font-size:clamp(32px, 5.5vw, 72px); max-width:1000px; line-height:1.05; letter-spacing:-0.03em;}
.bc-article__meta {display:flex; gap:18px; margin-top:22px; color:rgba(255,255,255,0.85); font-size:14px; flex-wrap:wrap;}
.bc-article__meta span {display:inline-flex; align-items:center; gap:6px;}
.bc-article__meta .bc-icon {font-size:18px; opacity:.85;}
.bc-article__progress {position:fixed; top:0; left:0; width:0; height:3px; background:linear-gradient(90deg, var(--bc-primary), var(--bc-secondary)); z-index:95; transition:width .1s linear;}
.bc-article__layout {display:grid; grid-template-columns:80px minmax(0, 800px); justify-content:center; gap:60px; padding-top:80px; padding-bottom:80px; align-items:flex-start;}
.bc-article__share {position:sticky; top:120px; display:flex; flex-direction:column; gap:8px; align-items:center;}
.bc-article__share-label {writing-mode:vertical-rl; transform:rotate(180deg); font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--bc-muted); font-weight:700; margin-bottom:10px;}
.bc-article__share a, .bc-article__share button {width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--bc-bg-soft); color:var(--bc-text); border:0; cursor:pointer; transition:background .2s var(--bc-ease), color .2s var(--bc-ease), transform .2s var(--bc-ease);}
.bc-article__share a:hover, .bc-article__share button:hover {background:var(--bc-primary); color:#fff; transform:translateY(-2px);}
.bc-article__body {font-size:18px; line-height:1.85; color:var(--bc-text);}
.bc-article__body > * + * {margin-top:1.2em;}
.bc-article__body p {margin:0;}
.bc-article__body h2 {font-size:clamp(26px, 3vw, 36px); margin-top:1.6em; margin-bottom:.4em; letter-spacing:-0.02em;}
.bc-article__body h3 {font-size:clamp(22px, 2.4vw, 28px); margin-top:1.4em; margin-bottom:.3em; letter-spacing:-0.01em;}
.bc-article__body a {color:var(--bc-secondary); border-bottom:1px solid currentColor;}
.bc-article__body a:hover {color:var(--bc-primary);}
.bc-article__body img {border-radius:var(--bc-radius-md); max-width:100%; height:auto; margin:1.4em 0;}
.bc-article__body blockquote {border-left:4px solid var(--bc-secondary); padding:14px 24px; margin:1.6em 0; color:var(--bc-text); font-style:italic; font-family:var(--bc-font-serif); font-size:1.18em; background:var(--bc-bg-soft); border-radius:0 14px 14px 0;}
.bc-article__body ul, .bc-article__body ol {padding-left:1.4em;}
.bc-article__body ul {list-style:disc;}
.bc-article__body ol {list-style:decimal;}
.bc-article__body ul li, .bc-article__body ol li {margin-bottom:.4em;}
.bc-article__tags {margin-top:36px; padding-top:24px; border-top:1px solid var(--bc-line); color:var(--bc-muted); font-size:13px;}
.bc-article__tags a {display:inline-block; margin:0 6px 6px 0; padding:4px 12px; background:var(--bc-bg-soft); border-radius:999px; color:var(--bc-text); font-size:12px; font-weight:600;}
.bc-article__tags a:hover {background:var(--bc-primary); color:#fff;}
.bc-article__related {padding:var(--bc-section-y) 0; background:var(--bc-bg-soft);}
.bc-article__related-title {font-size:clamp(28px, 4vw, 44px); margin-bottom:40px; letter-spacing:-0.02em;}

@media (max-width: 900px) {
.bc-article__layout {grid-template-columns:1fr; gap:28px; padding-top:50px; padding-bottom:50px;}
.bc-article__share {position:static; flex-direction:row; flex-wrap:wrap; align-self:auto; justify-content:flex-start;}
.bc-article__share-label {writing-mode:horizontal-tb; transform:none; margin:0 4px 0 0; align-self:center;}
}

.bc-service-hero {position:relative; min-height:70vh; padding:180px 0 80px; display:flex; align-items:center; color:#fff; overflow:hidden;}
.bc-service-hero__media {position:absolute; inset:0; z-index:0;}
.bc-service-hero__media img {width:100%; height:100%; object-fit:cover;}
.bc-service-hero__overlay {position:absolute; inset:0; background:linear-gradient(135deg, rgba(23,62,119,0.85) 0%, rgba(1, 136, 184, 0.75) 100%);}
.bc-service-hero__inner {position:relative; z-index:1; max-width:900px;}
.bc-service-hero__icon {width:80px; height:80px; border-radius:24px; background:rgba(255,255,255,0.12); border:1px solid rgba(255, 255, 255, 0.22); display:inline-flex; align-items:center; justify-content:center; margin-bottom:28px;}
.bc-service-hero__icon .bc-icon {font-size:40px;}
.bc-service-hero__title {font-size:clamp(36px, 6vw, 80px); letter-spacing:-0.03em; margin-bottom:24px;}
.bc-service-hero__lead {font-size:18px; color:rgba(255,255,255,0.88); margin-bottom:32px; max-width:720px;}
.bc-service-body {padding:var(--bc-section-y) 0; background:#fff;}
.bc-service-body__inner {display:grid; grid-template-columns:minmax(0, 1.6fr) minmax(0, 340px); gap:60px; max-width:1100px; margin:0 auto; align-items:flex-start;}
.bc-service-body__content {font-size:18px; line-height:1.8;}
.bc-service-body__content > * + * {margin-top:1.2em;}
.bc-service-body__card {position:sticky; top:120px; padding:32px; background:var(--bc-bg-soft); border-radius:var(--bc-radius-lg);}
.bc-service-body__card h3 {font-size:22px; margin-bottom:8px;}
.bc-service-body__card p {color:var(--bc-muted); margin-bottom:20px; line-height:1.6;}

@media (max-width: 900px) {
.bc-service-body__inner {grid-template-columns:1fr;}
.bc-service-body__card {position:static;}
}

.bc-newsroom {padding:var(--bc-section-y) 0; background:#fff;}
.bc-newsroom__head {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:48px;}
.bc-newsroom__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:4px; color:var(--bc-secondary); margin-bottom:14px; font-weight:600;}
.bc-newsroom__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-newsroom__title {font-size:clamp(32px, 5vw, 60px); letter-spacing:-0.03em; max-width:700px;}
.bc-newsroom__filters {display:flex; gap:6px; flex-wrap:wrap; padding:8px; background:var(--bc-bg-soft); border-radius:999px;}
.bc-newsroom__filters a {padding:8px 16px; border-radius:999px; font-size:13px; font-weight:600; color:var(--bc-text); transition:background .2s var(--bc-ease), color .2s var(--bc-ease); letter-spacing:0.3px; white-space:nowrap;}
.bc-newsroom__filters a:hover {color:var(--bc-primary);}
.bc-newsroom__filters a.is-active {background:var(--bc-primary); color:#fff; box-shadow:0 6px 16px rgba(23,62,119,0.2);}
.bc-newsroom__featured {border-radius:var(--bc-radius-lg); overflow:hidden; background:var(--bc-bg-dark); box-shadow:var(--bc-shadow-md); margin-bottom:48px;}
.bc-newsroom__featured-link {display:grid; grid-template-columns:1fr 1fr; color:inherit;}
.bc-newsroom__featured-media {position:relative; aspect-ratio:16 / 11; overflow:hidden;}
.bc-newsroom__featured-media img {width:100%; height:100%; object-fit:cover; transition:transform .8s var(--bc-ease);}
.bc-newsroom__featured:hover .bc-newsroom__featured-media img {transform:scale(1.05);}
.bc-newsroom__featured-tag {position:absolute; top:20px; left:20px; background:var(--bc-secondary); color:#fff; padding:8px 14px; border-radius:999px; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700;}
.bc-newsroom__featured-body {padding:clamp(28px, 4vw, 56px); display:flex; flex-direction:column; justify-content:center; color:#fff;}
.bc-newsroom__pub {font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--bc-secondary); font-weight:700; margin-bottom:16px;}
.bc-newsroom__featured-title {font-size:clamp(24px, 3vw, 40px); margin-bottom:12px; letter-spacing:-0.02em;}
.bc-newsroom__featured-excerpt {color:rgba(255,255,255,0.85); line-height:1.7; margin-bottom:16px;}
.bc-newsroom__featured-date {color:rgba(255,255,255,0.65); font-size:13px;}
.bc-newsroom__grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}

@media (max-width: 900px) {
.bc-newsroom__featured-link {grid-template-columns:1fr;}
.bc-newsroom__grid {grid-template-columns:repeat(2, 1fr);}
}

@media (max-width: 600px) {
.bc-newsroom__grid {grid-template-columns:1fr;}
}

.bc-comments {padding:60px 0; background:#fff;}
.bc-comments__title {font-size:24px; margin-bottom:24px;}
.bc-comments__list {display:flex; flex-direction:column; gap:24px;}
.comment-respond {margin-top:40px;}
.comment-respond input[type="text"], .comment-respond input[type="email"], .comment-respond input[type="url"], .comment-respond textarea {width:100%; padding:12px 16px; border:1px solid var(--bc-line); border-radius:10px; margin-bottom:12px; background:#fff;}
.comment-respond .submit {background:var(--bc-primary); color:#fff; padding:12px 24px; border-radius:999px; font-weight:600;}
.bc-audit-limit {text-align:center; padding:28px 24px 32px; display:flex; flex-direction:column; align-items:center; gap:12px;}
.bc-audit-limit__icon {display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:rgba(var(--bc-secondary-rgb), 0.12); color:var(--bc-secondary); margin-bottom:4px;}
.bc-audit-limit__icon .material-symbols-rounded {font-size:34px;}
.bc-audit-limit__title {font-size:clamp(20px, 2.4vw, 26px); font-weight:800; letter-spacing:-0.01em; color:var(--bc-primary); margin:0;}
.bc-audit-limit__text {max-width:46ch; margin:0 auto; color:rgba(17, 17, 17, 0.72); line-height:1.6;}
.bc-audit-limit__cta {margin-top:8px;}