/* ==========================================================================
   Footer.
   ========================================================================== */
.bc-footer {background:var(--bc-bg-dark); color:#fff; position:relative; overflow:hidden;}
.bc-footer__cta {position:relative; padding:clamp(64px, 10vw, 120px) 0; background:linear-gradient(135deg, var(--bc-primary) 0%, var(--bc-secondary) 100%); overflow:hidden;}
.bc-footer__cta-bg {position:absolute; inset:0; pointer-events:none;}
.bc-footer__cta-blob {position:absolute; border-radius:50%; filter:blur(80px); opacity:.45;}
.bc-footer__cta-blob--a {width:480px; height:480px; background:rgba(255,255,255,0.18); top:-180px; left:-120px;}
.bc-footer__cta-blob--b {width:600px; height:600px; background:rgba(255,255,255,0.1); bottom:-260px; right:-180px;}
.bc-footer__cta-inner {position:relative; text-align:center; color:#fff; max-width:800px; margin:0 auto;}
.bc-footer__cta-eyebrow {display:inline-flex; gap:8px; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-bottom:18px;}
.bc-footer__cta-title {font-size:clamp(36px, 5.5vw, 72px); letter-spacing:-0.03em; color:#fff; margin-bottom:32px;}
.bc-footer__cta-btn {background:#fff; color:var(--bc-primary);}
.bc-footer__cta-btn:hover {background:var(--bc-bg-dark); color:#fff;}
.bc-footer__main {padding:80px 0 30px;}
.bc-footer__grid {display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:60px; padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,0.08);}
.bc-footer__logo {height:40px; margin-bottom:18px;}
.bc-footer__brand-text {font-size:20px; display:block; margin-bottom:16px;}
.bc-footer__about {color:rgba(255,255,255,0.7); line-height:1.7; font-size:15px;}
.bc-social {display:flex; gap:10px; flex-wrap:wrap; margin-top:24px;}
.bc-social__link {width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(255,255,255,0.06); color:rgba(255, 255, 255, 0.85); transition:background .25s var(--bc-ease), color .25s var(--bc-ease), transform .25s var(--bc-ease);}
.bc-social__link .mdi {font-size:20px; line-height:1;}
.bc-social__link:hover {transform:translateY(-3px); color:#fff;}
.bc-social__link--facebook:hover {background:#1877F2;}
.bc-social__link--instagram:hover {background:linear-gradient(45deg, #F09433 0%, #E6683C 25%, #DC2743 50%, #CC2366 75%, #BC1888 100%);}
.bc-social__link--linkedin:hover {background:#0A66C2;}
.bc-social__link--youtube:hover {background:#FF0000;}
.bc-social__link--tiktok:hover {background:#000000; color:#25F4EE;}
.bc-social__link--x:hover {background:#000000;}
.bc-social__link--pinterest:hover {background:#E60023;}
.bc-social--footer {margin-top:24px;}
.bc-social--mobile {margin-top:0;}
.bc-footer__heading {font-size:13px; text-transform:uppercase; letter-spacing:3px; color:rgba(255,255,255,0.5); margin-bottom:24px; font-weight:600;}
.bc-footer__menu {display:flex; flex-direction:column; gap:12px;}
.bc-footer__menu a {color:rgba(255,255,255,0.85); font-size:15px; transition:color .2s var(--bc-ease), padding .2s var(--bc-ease); position:relative; display:inline-block;}
.bc-footer__menu a:hover {color:#fff; padding-left:8px;}
.bc-footer__menu a::before {content:"→"; position:absolute; left:-16px; opacity:0; transition:opacity .2s var(--bc-ease), left .2s var(--bc-ease);}
.bc-footer__menu a:hover::before {opacity:1; left:-8px;}
.bc-footer__contact {display:flex; flex-direction:column; gap:16px;}
.bc-footer__contact li {display:flex; align-items:flex-start; gap:12px; color:rgba(255,255,255,0.75); font-size:14.5px; line-height:1.6;}
.bc-footer__contact li .bc-icon {color:var(--bc-secondary); flex-shrink:0; font-size:20px;}
.bc-footer__contact a {color:inherit; transition:color .2s var(--bc-ease);}
.bc-footer__contact a:hover {color:#fff;}
.bc-footer__bottom {padding-top:28px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:rgba(255,255,255,0.45); font-size:13px;}
.bc-footer__legal {display:flex; gap:16px;}
.bc-footer__legal a:hover {color:#fff;}

@media (max-width: 1024px) {
.bc-footer__grid {grid-template-columns:1fr 1fr; gap:40px;}
}

@media (max-width: 600px) {
.bc-footer__grid {grid-template-columns:1fr; gap:32px; padding-bottom:32px;}
.bc-footer__main {padding:50px 0 20px;}
}