/* ==========================================================================
   Homepage sections —” Hero, About, Description, Services, Clients, Stats,
   Why, Blog, News, Consultation.
   ========================================================================== */
.bc-hero {position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:center; color:#fff; overflow:hidden; isolation:isolate;}
.bc-hero__media {position:absolute; inset:0; z-index:0;}
.bc-hero__video, .bc-hero__image {width:100%; height:100%; object-fit:cover;}
.bc-hero__gradient {width:100%; height:100%; background:radial-gradient(circle at 15% 15%, rgba(1,136,184,0.6), transparent 50%), radial-gradient(circle at 85% 85%, rgba(23, 62, 119, 0.7), transparent 50%), linear-gradient(135deg, var(--bc-bg-dark), var(--bc-primary));}
.bc-hero__overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,51,0.25) 0%, rgba(10, 26, 51, calc(var(--bc-overlay, 0.55))) 100%);}
.bc-hero__motion {position:absolute; inset:0; pointer-events:none; z-index:1; overflow:hidden;}
.bc-hero__shape {position:absolute; border-radius:50%; filter:blur(60px); mix-blend-mode:screen;}
.bc-hero__shape--a {width:380px; height:380px; background:radial-gradient(circle, rgba(1,136,184,0.7), transparent 60%); top:20%; left:-80px; animation:bc-float 18s ease-in-out infinite;}
.bc-hero__shape--b {width:520px; height:520px; background:radial-gradient(circle, rgba(23,62,119,0.65), transparent 60%); bottom:-120px; right:-120px; animation:bc-float 22s ease-in-out infinite reverse;}
.bc-hero__shape--c {width:240px; height:240px; background:radial-gradient(circle, rgba(255,255,255,0.25), transparent 60%); top:12%; right:20%; animation:bc-float 14s ease-in-out infinite;}

@keyframes bc-float {
0%, 100% {transform:translate(0, 0) scale(1);}
33% {transform:translate(30px, -40px) scale(1.05);}
66% {transform:translate(-25px, 35px) scale(0.95);}
}

.bc-hero__grid {position:absolute; inset:0; width:100%; height:100%; opacity:.4;}
.bc-hero__inner {position:relative; z-index:2; width:100%; padding-top:120px; padding-bottom:80px;}
.bc-hero__eyebrow {display:inline-flex; align-items:center; gap:10px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-bottom:28px;}
.bc-hero__eyebrow-dot {width:10px; height:10px; border-radius:50%; background:var(--bc-secondary); box-shadow:0 0 0 0 rgba(1,136,184,0.5); animation:bc-pulse 2s ease-in-out infinite;}

@keyframes bc-pulse {
0%, 100% {box-shadow:0 0 0 0 rgba(1,136,184,0.5);}
50% {box-shadow:0 0 0 12px rgba(1, 136, 184, 0);}
}

.bc-hero__title {font-size:clamp(48px, 9vw, 140px); font-weight:800; letter-spacing:-0.045em; line-height:0.95; margin-bottom:32px; max-width:1100px;}
.bc-hero__title-line {display:block; overflow:hidden; padding-bottom:4px;}
.bc-hero__title-inner {display:inline-block; transform:translateY(110%); transition:transform 1.1s var(--bc-ease-out);}
[data-reveal-lines].is-visible .bc-hero__title-inner, [data-reveal-lines]:not(.is-visible) .bc-hero__title-inner {transform:translateY(0);}
.bc-hero__title-line:nth-child(2) .bc-hero__title-inner {background:linear-gradient(120deg, #fff 0%, var(--bc-secondary) 50%, #fff 100%); background-size:200% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; animation:bc-shine 5s linear infinite;}

@keyframes bc-shine {
0% {background-position:200% 0;}
100% {background-position:-200% 0;}
}

.bc-hero__subtitle {font-size:clamp(16px, 1.4vw, 20px); color:rgba(255, 255, 255, 0.85); max-width:620px; line-height:1.6; margin-bottom:40px;}
.bc-hero__actions {display:flex; gap:14px; flex-wrap:wrap; margin-bottom:80px;}
.bc-hero__actions .bc-btn--ghost {color:#fff; border-color:rgba(255,255,255,0.4);}
.bc-hero__actions .bc-btn--ghost:hover {background:#fff; color:var(--bc-primary); border-color:#fff;}
.bc-hero__marquee {position:absolute; bottom:60px; left:0; right:0; overflow:hidden; mask-image:linear-gradient(to right, transparent, #000 12%, #000 88%, transparent); -webkit-mask-image:linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);}
.bc-hero__marquee-track {display:inline-flex; gap:0; white-space:nowrap; animation:bc-marquee 30s linear infinite;}
.bc-hero__marquee-item {display:inline-flex; align-items:center; gap:30px; padding-right:30px;}
.bc-hero__marquee-text {font-size:clamp(20px, 2.4vw, 32px); font-weight:700; letter-spacing:-0.02em; color:rgba(255, 255, 255, 0.7); text-transform:uppercase;}
.bc-hero__marquee-sep {color:var(--bc-secondary); font-size:28px !important; line-height:1; align-self:center;}

@keyframes bc-marquee {
from {transform:translateX(0);}
to {transform:translateX(-50%);}
}

.bc-hero__scroll {position:absolute; left:50%; bottom:20px; transform:translateX(-50%); z-index:3; color:#fff; display:flex; flex-direction:column; align-items:center; gap:10px;}
.bc-hero__scroll-text {font-size:10px; letter-spacing:4px; text-transform:uppercase; opacity:.7;}
.bc-hero__scroll-line {width:1px; height:36px; background:rgba(255,255,255,0.4); position:relative; overflow:hidden;}
.bc-hero__scroll-line::after {content:""; position:absolute; left:0; right:0; height:12px; background:#fff; animation:bc-scrollline 2s ease-in-out infinite;}

@keyframes bc-scrollline {
0% {top:-12px;}
100% {top:36px;}
}

.bc-about {position:relative; padding:var(--bc-section-y) 0; overflow:hidden; background:#fff;}
.bc-about__bg {position:absolute; inset:0; pointer-events:none; z-index:0;}
.bc-about__bg-orb {position:absolute; border-radius:50%; filter:blur(120px); opacity:0.4;}
.bc-about__bg-orb--a {width:480px; height:480px; background:rgba(var(--bc-primary-rgb), 0.18); top:-120px; right:10%;}
.bc-about__bg-orb--b {width:540px; height:540px; background:rgba(var(--bc-secondary-rgb), 0.14); bottom:-180px; left:-100px;}
.bc-about__inner {position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(40px, 6vw, 100px); align-items:center;}
.bc-about__content {max-width:580px;}
.bc-about__eyebrow {display:inline-flex; align-items:center; gap:10px; padding:6px 14px; background:rgba(var(--bc-secondary-rgb), 0.1); border-radius:999px; font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--bc-secondary); font-weight:700; margin-bottom:22px;}
.bc-about__eyebrow-dot {width:6px; height:6px; border-radius:50%; background:var(--bc-secondary); box-shadow:0 0 0 4px rgba(var(--bc-secondary-rgb), 0.2);}
.bc-about__title {font-size:clamp(34px, 5vw, 68px); letter-spacing:-0.03em; line-height:1.05; margin-bottom:22px; color:var(--bc-text);}
.bc-about__text {color:var(--bc-muted); font-size:17px; line-height:1.75; margin-bottom:36px;}
.bc-about__stats {display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; padding:28px 0; border-top:1px solid var(--bc-line); border-bottom:1px solid var(--bc-line); margin-bottom:36px;}
.bc-about__stat-num {display:block; font-size:clamp(28px, 3.2vw, 44px); font-weight:800; color:var(--bc-primary); letter-spacing:-0.03em; font-variant-numeric:tabular-nums; line-height:1; margin-bottom:4px;}
.bc-about__stat-label {font-size:13px; color:var(--bc-muted); line-height:1.4;}
.bc-about__media {position:relative; height:100%; min-height:480px;}
.bc-about__media-frame {position:relative; aspect-ratio:4 / 5; max-width:480px; margin-left:auto; border-radius:var(--bc-radius-lg); overflow:hidden; box-shadow:0 24px 60px rgba(var(--bc-primary-rgb), 0.18); transform:rotate(-1deg); transition:transform .6s var(--bc-ease);}
.bc-about__media-frame:hover {transform:rotate(0) scale(1.01);}
.bc-about__img {width:100%; height:100%; object-fit:cover; transition:transform .8s var(--bc-ease);}
.bc-about__img--placeholder {background:linear-gradient(135deg, var(--bc-primary), var(--bc-secondary)); display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,0.4);}
.bc-about__img--placeholder .bc-icon {font-size:72px;}
.bc-about__badge {position:absolute; bottom:24px; left:-24px; background:#fff; padding:16px 22px; border-radius:var(--bc-radius-md); box-shadow:0 16px 36px rgba(23,62,119,0.18); display:flex; align-items:center; gap:14px; z-index:2;}
.bc-about__badge .bc-icon {width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg, var(--bc-primary), var(--bc-secondary)); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:24px !important;}
.bc-about__badge strong {display:block; font-size:15px; color:var(--bc-text);}
.bc-about__badge span {font-size:12px; color:var(--bc-muted);}
.bc-about__quote {position:absolute; top:24px; right:-24px; max-width:240px; background:var(--bc-bg-dark); color:#fff; padding:22px 24px 22px 22px; border-radius:var(--bc-radius-md); box-shadow:0 20px 40px rgba(10,26,51,0.25); z-index:2;}
.bc-about__quote-mark {display:block; font-family:var(--bc-font-serif); font-size:60px; line-height:0.4; color:var(--bc-secondary); margin-bottom:4px;}
.bc-about__quote p {font-size:13.5px; line-height:1.55; color:rgba(255,255,255,0.92); font-style:italic;}

@media (max-width: 1000px) {
.bc-about__inner {grid-template-columns:1fr; gap:60px;}
.bc-about__media {min-height:0;}
.bc-about__media-frame {margin:0 auto;}
.bc-about__badge, .bc-about__quote {position:unset; display:block; top:unset; bottom:unset; left:unset; right:unset; margin-top:20px;}
.bc-about__quote {max-width:none;}
}

@media (max-width: 540px) {
.bc-about__stats {grid-template-columns:1fr 1fr;}
.bc-about__quote p {font-size:13px;}
.bc-about__quote-mark {font-size:48px;}
}

.bc-desc {position:relative; padding:var(--bc-section-y) 0; background:linear-gradient(180deg, #fff 0%, var(--bc-bg-soft) 100%); overflow:hidden;}
.bc-desc__bg {position:absolute; inset:0; pointer-events:none;}
.bc-desc__bg-blob {position:absolute; border-radius:50%; filter:blur(110px);}
.bc-desc__bg-blob--a {width:480px; height:480px; background:rgba(var(--bc-primary-rgb), 0.08); top:-180px; right:-120px;}
.bc-desc__bg-blob--b {width:560px; height:560px; background:rgba(var(--bc-secondary-rgb), 0.07); bottom:-200px; left:-160px;}
.bc-desc__bg-text {position:absolute; top:30%; left:-10%; font-family:var(--bc-font-serif); font-size:clamp(140px, 22vw, 320px); font-weight:900; color:rgba(var(--bc-primary-rgb), 0.04); letter-spacing:-0.05em; white-space:nowrap; pointer-events:none;}
.bc-desc__inner {position:relative;}
.bc-desc__head {max-width:900px; margin-bottom:60px;}
.bc-desc__eyebrow {display:inline-flex; align-items:center; gap:14px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:22px;}
.bc-desc__eyebrow-line {width:36px; height:1px; background:var(--bc-secondary);}
.bc-desc__title {font-family:var(--bc-font-serif); font-size:clamp(34px, 5vw, 72px); letter-spacing:-0.03em; line-height:1.05; font-weight:600;}
.bc-desc__body {display:flex; flex-direction: column; gap:40px 80px; max-width:1100px;}
.bc-desc__para {color:var(--bc-text); font-size:17px; line-height:1.8;}
.bc-desc__para--a:first-letter {font-family:var(--bc-font-serif); font-size:4em; float:left; line-height:0.85; margin-right:12px; color:var(--bc-secondary); font-weight:700;}
.bc-desc__pills {display:flex; flex-wrap:wrap; gap:10px; margin-top:48px;}
.bc-desc__pill {display:inline-block; padding:10px 18px; background:#fff; border:1px solid var(--bc-line); border-radius:999px; font-size:13.5px; font-weight:500; color:var(--bc-text); transition:background .25s var(--bc-ease), color .25s var(--bc-ease), transform .25s var(--bc-ease); cursor:default;}
.bc-desc__pill:hover {background:var(--bc-primary); color:#fff; transform:translateY(-3px); border-color:var(--bc-primary);}

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

.bc-services {padding:var(--bc-section-y) 0;}
.bc-services__head--center {display:flex; flex-direction:column; align-items:center; text-align:center; max-width:760px; margin:0 auto 64px;}
.bc-services__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); margin-bottom:18px; font-weight:600;}
.bc-services__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-services__title {font-size:clamp(36px, 5vw, 72px); letter-spacing:-0.03em; max-width:700px;}
.bc-services__lead {color:var(--bc-muted); font-size:17px; margin:18px 0 24px; max-width:560px;}
.bc-services__grid {display:flex; flex-wrap:wrap; justify-content:center; gap:24px; max-width:1160px; margin:0 auto;}
.bc-services__card {position:relative; flex:0 1 calc((100% - 48px) / 3); min-width:280px; border-radius:var(--bc-radius-lg); background:var(--bc-bg-soft); overflow:hidden; transition:transform .35s var(--bc-ease), box-shadow .35s var(--bc-ease);}
.bc-services__card:hover {transform:translateY(-8px); box-shadow:var(--bc-shadow-lg);}
.bc-services__card-link {display:flex; flex-direction:column; padding:32px 28px; color:inherit; position:relative; z-index:1; min-height:360px; height:100%;}
.bc-services__card-icon {width:60px; height:60px; border-radius:18px; background:rgba(var(--bc-primary-rgb), 0.1); display:inline-flex; align-items:center; justify-content:center; color:var(--bc-primary); margin-bottom:24px; transition:background .35s var(--bc-ease), color .35s var(--bc-ease);}
.bc-services__card-icon .bc-icon {font-size:30px;}
.bc-services__card-title {font-size:20px; letter-spacing:-0.02em; margin-bottom:12px; overflow-wrap:break-word; hyphens:auto;}
.bc-services__card-desc {color:var(--bc-muted); font-size:14.5px; line-height:1.65; margin-bottom:22px; flex-grow:1;}
.bc-services__card-cta {display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--bc-primary); margin-top:auto;}
.bc-services__card-cta .bc-icon {font-size:16px; transition:transform .25s var(--bc-ease);}
.bc-services__card:hover .bc-services__card-cta .bc-icon {transform:translate(3px, -3px);}
.bc-services__card-shine {position:absolute; inset:0; background:linear-gradient(135deg, transparent 40%, rgba(var(--bc-secondary-rgb), 0.08) 50%, transparent 60%); opacity:0; transition:opacity .5s var(--bc-ease); pointer-events:none;}
.bc-services__card:hover .bc-services__card-shine {opacity:1;}
.bc-services__card:hover .bc-services__card-icon {background:var(--bc-primary); color:#fff;}

@media (max-width: 1024px) {
.bc-services__card {flex-basis:calc((100% - 24px) / 2);}
}

@media (max-width: 540px) {
.bc-services__card {flex-basis:100%; min-width:0;}
}

.bc-clients {padding:var(--bc-section-y) 0; background:var(--bc-bg-soft); overflow:hidden;}
.bc-clients__head {text-align:center; margin-bottom:48px;}
.bc-clients__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:16px;}
.bc-clients__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-clients__title {font-size:clamp(28px, 4vw, 48px); letter-spacing:-0.03em;}
.bc-clients__slider {overflow:hidden; mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image:linear-gradient(to right, transparent, #000 8%, #000 92%, transparent); padding:20px 0;}
.bc-clients__track {display:inline-flex; gap:60px; white-space:nowrap; animation:bc-marquee 150s linear infinite;}
.bc-clients__item {display:inline-flex; align-items:center; justify-content:center; height:90px; min-width:160px; padding:0 20px; border-radius:12px; color:var(--bc-text); transition:transform .3s var(--bc-ease);}
.bc-clients__item:hover {transform:scale(1.06);}
.bc-clients__logo {max-height:64px; width:auto; opacity:1;}
.bc-clients__name {font-size:14px; letter-spacing:3px; font-weight:700; text-transform:uppercase;}
.bc-clients__item--placeholder {background:rgba(0,0,0,0.03); color:var(--bc-muted);}
.bc-clients__cta {text-align:center; margin-top:clamp(36px, 4vw, 52px);}

/* --- Homepage Case Studies showcase --- */
.bc-cs-home {padding:var(--bc-section-y) 0; background:var(--bc-bg-soft);}
.bc-cs-home__head {max-width:760px; margin:0 auto clamp(40px, 5vw, 60px); text-align:center;}
.bc-cs-home__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:16px;}
.bc-cs-home__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-cs-home__title {font-size:clamp(28px, 4vw, 48px); letter-spacing:-0.03em;}
.bc-cs-home__lead {margin-top:16px; color:var(--bc-muted); font-size:17px;}
.bc-cs-home__grid {display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px;}
.bc-cs-home__cta {text-align:center; margin-top:clamp(40px, 4vw, 56px);}

/* --- Homepage Portfolio showcase (cards styled in portfolio.css) --- */
.bc-pf-home {padding:var(--bc-section-y) 0;}
.bc-pf-home__head {max-width:760px; margin:0 auto clamp(40px, 5vw, 60px); text-align:center;}
.bc-pf-home__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:16px;}
.bc-pf-home__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-pf-home__title {font-size:clamp(28px, 4vw, 48px); letter-spacing:-0.03em;}
.bc-pf-home__lead {margin-top:16px; color:var(--bc-muted); font-size:17px;}
.bc-pf-home__cta {text-align:center; margin-top:clamp(40px, 4vw, 56px);}
.bc-stats {position:relative; padding:var(--bc-section-y) 0; color:#fff; background:var(--bc-bg-dark); overflow:hidden;}
.bc-stats__bg {position:absolute; inset:0; pointer-events:none;}
.bc-stats__bg-blob {position:absolute; border-radius:50%; filter:blur(100px); opacity:.5;}
.bc-stats__bg-blob--a {width:500px; height:500px; background:rgba(var(--bc-secondary-rgb), 0.4); top:-180px; left:-160px;}
.bc-stats__bg-blob--b {width:600px; height:600px; background:rgba(var(--bc-primary-rgb), 0.5); bottom:-240px; right:-180px;}
.bc-stats__bg-grid {position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px); background-size:60px 60px; mask-image:radial-gradient(ellipse at center, #000 30%, transparent 70%); -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 70%);}
.bc-stats__inner {position:relative;}
.bc-stats__eyebrow {display:inline-flex; gap:8px; align-items:center; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-bottom:22px; font-weight:600;}
.bc-stats__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-stats__grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;}
.bc-stats__card {background:rgba(255,255,255,0.06); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255, 255, 255, 0.08); border-radius:var(--bc-radius-lg); padding:40px 32px; transition:transform .35s var(--bc-ease), background .35s var(--bc-ease);}
.bc-stats__card:hover {transform:translateY(-6px); background:rgba(255,255,255,0.1);}
.bc-stats__card-icon {width:56px; height:56px; border-radius:16px; background:rgba(var(--bc-secondary-rgb), 0.18); display:inline-flex; align-items:center; justify-content:center; margin-bottom:24px; color:var(--bc-secondary);}
.bc-stats__card-icon .bc-icon {font-size:28px;}
.bc-stats__card-num {font-size:clamp(48px, 8vw, 90px); font-weight:800; letter-spacing:-0.03em; background:linear-gradient(135deg, #fff, var(--bc-secondary)); -webkit-background-clip:text; background-clip:text; color:transparent; font-variant-numeric:tabular-nums; line-height:0.95; margin-bottom:12px;}
.bc-stats__card-label {color:rgba(255,255,255,0.75); font-size:15px; line-height:1.6;}

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

.bc-why {padding:var(--bc-section-y) 0; position:relative;}
.bc-why__head {max-width:700px; margin:0 auto 60px; text-align:center;}
.bc-why__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); margin-bottom:18px; font-weight:600;}
.bc-why__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-why__title {font-size:clamp(36px, 5vw, 72px); letter-spacing:-0.03em;}
.bc-why__grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
.bc-why__card {position:relative; padding:40px 32px; border-radius:var(--bc-radius-lg); background:var(--bc-bg-soft); overflow:hidden; transition:transform .35s var(--bc-ease), color .35s var(--bc-ease), background .35s var(--bc-ease); isolation:isolate;}
.bc-why__card-glow {position:absolute; inset:0; background:radial-gradient(circle at var(--mx, 50%) var(--my, 50%), rgba(var(--bc-secondary-rgb), 0.15), transparent 50%); opacity:0; transition:opacity .4s var(--bc-ease); pointer-events:none; z-index:0;}
.bc-why__card:hover .bc-why__card-glow {opacity:1;}
.bc-why__card:hover {transform:translateY(-8px); background:#fff; box-shadow:var(--bc-shadow-md);}
.bc-why__card-icon {width:64px; height:64px; border-radius:18px; background:rgba(var(--bc-primary-rgb), 0.1); color:var(--bc-primary); display:inline-flex; align-items:center; justify-content:center; margin-bottom:22px; transition:background .35s var(--bc-ease), color .35s var(--bc-ease); position:relative; z-index:1;}
.bc-why__card:hover .bc-why__card-icon {background:var(--bc-primary); color:#fff;}
.bc-why__card-icon .bc-icon {font-size:32px;}
.bc-why__card-num {position:absolute; top:32px; right:32px; font-size:14px; font-weight:700; color:rgba(var(--bc-primary-rgb), 0.3); letter-spacing:2px; z-index:1;}
.bc-why__card-title {font-size:24px; margin-bottom:12px; position:relative; z-index:1;}
.bc-why__card-text {color:var(--bc-muted); font-size:15px; line-height:1.7; position:relative; z-index:1;}

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

.bc-blog {padding:var(--bc-section-y) 0; background:var(--bc-bg-soft);}
.bc-blog__head {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:48px;}
.bc-blog__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); margin-bottom:14px; font-weight:600;}
.bc-blog__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-blog__title {font-size:clamp(32px, 4.5vw, 60px); letter-spacing:-0.03em; max-width:600px;}
.bc-blog__head-cta {align-self:center;}
.bc-blog__grid {display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;}
.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: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 {display:inline-block; font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--bc-muted); margin-bottom:10px; font-weight:600;}
.bc-blog__card-title {font-size:22px; line-height:1.3; letter-spacing:-0.02em; margin-bottom:10px; transition:color .25s var(--bc-ease);}
.bc-blog__card: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; margin-bottom:16px;}
.bc-blog__card-cta {display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--bc-primary); letter-spacing:0.2px;}
.bc-blog__card-cta .bc-icon {font-size:16px; transition:transform .25s var(--bc-ease);}
.bc-blog__card:hover .bc-blog__card-cta .bc-icon {transform:translate(3px, -3px);}
.bc-blog__card--placeholder .bc-blog__card-media--placeholder {background:linear-gradient(135deg, rgba(var(--bc-primary-rgb), 0.18), rgba(var(--bc-secondary-rgb), 0.18)); aspect-ratio:16 / 11;}

@media (max-width: 1024px) {
.bc-blog__grid {grid-template-columns:repeat(2, 1fr);}
.bc-blog__grid .bc-blog__card:nth-child(3):last-child {grid-column:1 / -1; max-width:calc(50% - 14px); justify-self:center;}
}

@media (max-width: 600px) {
.bc-blog__grid {grid-template-columns:1fr;}
.bc-blog__grid .bc-blog__card:nth-child(3):last-child {max-width:100%;}
}

.bc-news {padding:var(--bc-section-y) 0;}
.bc-news__head {display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; align-items:flex-end; margin-bottom:56px;}
.bc-news__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); margin-bottom:14px; font-weight:600;}
.bc-news__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-news__title {font-size:clamp(32px, 4.5vw, 60px); letter-spacing:-0.03em;}
.bc-news__layout {display:grid; grid-template-columns:1.4fr 1fr; gap:40px;}
.bc-news__featured {position:relative; border-radius:var(--bc-radius-lg); overflow:hidden; background:var(--bc-bg-dark); color:#fff; min-height:540px;}
.bc-news__featured-link {color:inherit; display:block; height:100%; position:relative;}
.bc-news__featured-media {position:absolute; inset:0; z-index:0;}
.bc-news__featured-img {width:100%; height:100%; object-fit:cover; transition:transform 1s var(--bc-ease);}
.bc-news__featured-link:hover .bc-news__featured-img {transform:scale(1.05);}
.bc-news__featured-overlay {position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,26,51,0.0) 30%, rgba(10, 26, 51, 0.85) 100%); z-index:1;}
.bc-news__featured-body {position:absolute; left:0; right:0; bottom:0; padding:40px 36px; z-index:2;}
.bc-news__chip {display:inline-block; background:var(--bc-secondary); color:#fff; padding:6px 12px; border-radius:999px; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-weight:700; margin-bottom:16px;}
.bc-news__featured-title {font-size:clamp(24px, 3vw, 38px); letter-spacing:-0.02em; margin-bottom:12px; max-width:540px;}
.bc-news__featured-excerpt {color:rgba(255,255,255,0.85); margin-bottom:14px; max-width:540px;}
.bc-news__featured-meta {display:flex; gap:16px; font-size:13px; color:rgba(255,255,255,0.7);}
.bc-news__pub {color:var(--bc-secondary); font-weight:700; letter-spacing:1.5px; text-transform:uppercase; font-size:11px;}
.bc-news__list {display:flex; flex-direction:column; gap:16px;}
.bc-news__item {border-radius:var(--bc-radius-md); background:#fff; border:1px solid var(--bc-line); overflow:hidden; transition:transform .25s var(--bc-ease), box-shadow .25s var(--bc-ease);}
.bc-news__item:hover {transform:translateY(-3px); box-shadow:var(--bc-shadow-sm);}
.bc-news__item-link {display:grid; grid-template-columns:100px 1fr auto; gap:16px; align-items:center; padding:14px 18px 14px 14px; color:inherit;}
.bc-news__item-thumb {width:100px; height:80px; overflow:hidden; border-radius:12px;}
.bc-news__item-thumb img {width:100%; height:100%; object-fit:cover;}
.bc-news__item-title {font-size:16px; line-height:1.4; margin:4px 0; transition:color .2s var(--bc-ease);}
.bc-news__item:hover .bc-news__item-title {color:var(--bc-primary);}
.bc-news__item-date {font-size:12px; color:var(--bc-muted);}
.bc-news__item-arrow {color:var(--bc-primary); font-size:22px;}

@media (max-width: 900px) {
.bc-news__layout {grid-template-columns:1fr;}
.bc-news__featured {min-height:380px;}
}

.bc-consult {position:relative; padding:var(--bc-section-y) 0; background:linear-gradient(180deg, var(--bc-bg-soft) 0%, #ffffff 100%); overflow:hidden;}
.bc-consult__bg {position:absolute; inset:0; pointer-events:none; z-index:0;}
.bc-consult__bg-blob {position:absolute; border-radius:50%; filter:blur(120px); opacity:0.4;}
.bc-consult__bg-blob--a {width:520px; height:520px; background:rgba(var(--bc-primary-rgb), 0.22); top:-160px; left:-100px;}
.bc-consult__bg-blob--b {width:600px; height:600px; background:rgba(var(--bc-secondary-rgb), 0.18); bottom:-240px; right:-120px;}
.bc-consult__bg-grid {position:absolute; inset:0; background-image:linear-gradient(rgba(var(--bc-primary-rgb), 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--bc-primary-rgb), 0.05) 1px, transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%); -webkit-mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);}
.bc-consult__inner {position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(40px, 6vw, 80px); align-items:center;}
.bc-consult__content {max-width:560px;}
.bc-consult__pill {display:inline-flex; align-items:center; gap:10px; padding:8px 16px; background:rgba(var(--bc-secondary-rgb), 0.1); color:var(--bc-secondary); border-radius:999px; font-size:12px; letter-spacing:3px; text-transform:uppercase; font-weight:700; margin-bottom:24px;}
.bc-consult__pill-dot {width:6px; height:6px; border-radius:50%; background:var(--bc-secondary); box-shadow:0 0 0 4px rgba(var(--bc-secondary-rgb), 0.2); animation:bc-pulse 2s ease-in-out infinite;}
.bc-consult__title {font-size:clamp(34px, 5vw, 64px); letter-spacing:-0.03em; line-height:1.06; margin-bottom:20px;}
.bc-consult__text {color:var(--bc-muted); font-size:17px; line-height:1.75; margin-bottom:32px;}
.bc-consult__list {display:flex; flex-direction:column; gap:18px; margin-bottom:32px;}
.bc-consult__list li {display:flex; gap:16px; align-items:flex-start;}
.bc-consult__list .bc-icon {width:44px; height:44px; flex-shrink:0; border-radius:12px; background:linear-gradient(135deg, rgba(var(--bc-primary-rgb), 0.1), rgba(var(--bc-secondary-rgb), 0.12)); color:var(--bc-primary); display:inline-flex; align-items:center; justify-content:center; font-size:22px !important;}
.bc-consult__list strong {display:block; font-size:15px; margin-bottom:2px;}
.bc-consult__list span {color:var(--bc-muted); font-size:14px;}
.bc-consult__form-wrap {position:relative;}
.bc-consult__form-card {position:relative; background:#ffffff; border:1px solid var(--bc-line); border-radius:24px; padding:40px; box-shadow:0 1px 0 rgba(255,255,255,1) inset, 0 30px 70px -20px rgba(23, 62, 119, 0.18), 0 12px 28px -12px rgba(23, 62, 119, 0.1); overflow:hidden;}
.bc-consult__form-card::before {content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg, var(--bc-primary), var(--bc-secondary)); border-radius:24px 24px 0 0;}
.bc-consult__form-head {margin-bottom:26px; padding-bottom:22px; border-bottom:1px dashed var(--bc-line);}
.bc-consult__form-title {font-size:26px; letter-spacing:-0.02em; margin-bottom:6px; color:var(--bc-text);}
.bc-consult__form-sub {color:var(--bc-muted); font-size:14px; margin:0;}
.bc-consult__form-body .bc-form__input {background:var(--bc-bg-soft); border-color:transparent;}
.bc-consult__form-body .bc-form__input:focus {background:#fff; border-color:var(--bc-secondary);}
.bc-consult__form-foot {margin-top:22px; padding-top:18px; border-top:1px dashed var(--bc-line); display:flex; align-items:center; gap:8px; color:var(--bc-muted); font-size:12.5px;}
.bc-consult__form-foot .bc-icon {font-size:16px; color:var(--bc-secondary);}

@media (max-width: 960px) {
.bc-consult__inner {grid-template-columns:1fr; gap:50px;}
.bc-consult__form-card {padding:28px;}
}

/* --- Introductory video --- */
.bc-introvid {padding:var(--bc-section-y) 0; background:var(--bc-bg-dark); color:#fff; overflow:hidden;}
.bc-introvid__head {text-align:center; max-width:760px; margin:0 auto 48px;}
.bc-introvid__eyebrow {display:inline-flex; align-items:center; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--bc-secondary); font-weight:600; margin-bottom:18px;}
.bc-introvid__eyebrow-dot {width:8px; height:8px; border-radius:50%; background:var(--bc-secondary);}
.bc-introvid__title {font-size:clamp(32px, 4.5vw, 60px); letter-spacing:-0.03em; color:#fff;}
.bc-introvid__text {color:rgba(255,255,255,0.75); font-size:17px; line-height:1.7; margin-top:16px;}
.bc-introvid__player {position:relative; max-width:980px; margin:0 auto; aspect-ratio:16 / 9; border-radius:var(--bc-radius-lg); overflow:hidden; background:#0a1a33; box-shadow:0 30px 80px -20px rgba(0,0,0,0.55);}
.bc-introvid__poster {position:absolute; inset:0; cursor:pointer;}
.bc-introvid__poster img {width:100%; height:100%; object-fit:cover;}
.bc-introvid__poster-gradient {width:100%; height:100%; background:radial-gradient(circle at 30% 30%, rgba(1,136,184,0.5), transparent 55%), linear-gradient(135deg, var(--bc-primary), #0a1a33);}
.bc-introvid__poster::after {content:""; position:absolute; inset:0; background:rgba(10,26,51,0.25); transition:background .3s var(--bc-ease);}
.bc-introvid__poster:hover::after {background:rgba(10,26,51,0.1);}
.bc-introvid__play {position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); z-index:2; width:88px; height:88px; border-radius:50%; border:0; background:rgba(255,255,255,0.95); color:var(--bc-primary); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .3s var(--bc-ease), background .3s var(--bc-ease);}
.bc-introvid__play .bc-icon {font-size:42px;}
.bc-introvid__play:hover {transform:translate(-50%, -50%) scale(1.08); background:#fff;}
.bc-introvid__play-ring {position:absolute; inset:-12px; border-radius:50%; border:2px solid rgba(255,255,255,0.5); animation:bc-pulse-ring 2.4s ease-out infinite;}
.bc-introvid__media {position:absolute; inset:0; width:100%; height:100%; border:0; object-fit:cover; background:#000;}

@keyframes bc-pulse-ring {
0% {transform:scale(0.9); opacity:1;}
100% {transform:scale(1.35); opacity:0;}
}

@media (max-width: 600px) {
.bc-introvid__play {width:64px; height:64px;}
.bc-introvid__play .bc-icon {font-size:32px;}
}