body.bcx-custom-homepage { --color-just-black:#000; --red:#990000; --line:#ffffff26; }
/* Compatibility repairs only; the source animation timings, colours and layout rules remain in homepage.css. */
html.bcx-home-document { background:#000; }
body.bcx-custom-homepage #bcx-main { min-width:0; }
body.bcx-custom-homepage .bcx-saved-content { color:#171717; background:#fff; width:100%; font-size:16px; line-height:1.65; overflow-wrap:break-word; }
body.bcx-custom-homepage .bcx-saved-content :where(.e-con,.elementor-widget) { min-width:0; }
body.bcx-custom-homepage .bcx-saved-content :where(input:not([type=checkbox]):not([type=radio]),textarea,select) { box-sizing:border-box; max-width:100%; padding:12px 16px; font:inherit; }
body.bcx-custom-homepage .bcx-saved-content :where(button[type=submit],input[type=submit],.elementor-button) { width:auto; padding:14px 24px; background:#990000; color:#fff; border:0; line-height:1.3; }
body.bcx-custom-homepage .bcx-saved-content :where(a[href^="mailto:"]) { overflow-wrap:anywhere; }
/* Avoid under-sized viewport-height cards clipping the original copy. */
body.bcx-custom-homepage .contact-container { width:100%; gap:0; align-items:stretch; }
body.bcx-custom-homepage .contact-left { height:auto; min-height:120vh; flex:0 0 50%; min-width:0; }
body.bcx-custom-homepage .contact-right { flex:0 0 50%; min-width:0; }
body.bcx-custom-homepage .lane-card { height:auto; min-height:25vh; gap:20px; }
body.bcx-custom-homepage .lane-card span { overflow-wrap:anywhere; }
body.bcx-custom-homepage .contact-form .custom-select.active { z-index:100; }
body.bcx-custom-homepage .contact-form .submit-btn { width:11vw; min-width:140px; padding:1rem; }
body.bcx-custom-homepage .bcx-form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.bcx-custom-homepage .bcx-form-notice { font-size:16px; line-height:1.5; color:#fff; }
body.bcx-custom-homepage .bcx-plugin-form { width:100%; font-size:16px; line-height:1.6; }
body.bcx-custom-homepage .bcx-plugin-form :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select) { color:#fff; background:transparent; width:100%; padding:14px; border:1px solid #ffffff30; font:inherit; }
body.bcx-custom-homepage .bcx-plugin-form :is(button[type=submit],input[type=submit],.elementor-button) { padding:14px 24px; background:#990000; color:#fff; border:0; width:auto; }
body.bcx-custom-homepage .menu-links ul li.dropdown.bcx-expanded .dropdown-menu { max-height:500px; opacity:1; padding:.5rem 0 1rem; }
body.bcx-custom-homepage .menu-links ul li.dropdown.bcx-expanded .arrow { transform:rotate(45deg); }
body.bcx-inner-page .article-grid { --max-width:1280px; --article-width:1fr; width:min(1280px,100%); grid-template-columns:minmax(0,1fr) 300px; gap:clamp(32px,4vw,64px); }
body.bcx-inner-page .article { min-width:0; width:99%; color:#d0d0d0; }
body.bcx-inner-page .article a { color:inherit; }
body.bcx-inner-page .article :is(ul,ol) { padding-left:1.4em; }
body.bcx-inner-page .sidebar .author-card { grid-template-columns:1fr; }
body.bcx-inner-page .post-navigation .nav-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
body.bcx-inner-page .post-navigation a { display:block; padding:16px; border:1px solid #444; }
body.bcx-inner-page #comments { padding-top:32px; border-top:1px solid #333; }
body.bcx-inner-page #comments :is(p,label) { margin-bottom:16px; }
body.bcx-inner-page #comments :is(input:not([type=checkbox]),textarea) { padding:14px; background:#151515; border:1px solid #555; color:#fff; max-width:100%; box-sizing:border-box; }
body.bcx-inner-page #comments textarea { width:100%; min-height:170px; }
body.bcx-inner-page #comments input[type=submit] { background:#990000; padding:14px 24px; cursor:pointer; }
body.bcx-custom-homepage :is(#ast-scroll-top,#bcx-scroll-top) { position:fixed !important; inset:auto 24px 24px auto !important; width:48px !important; height:48px !important; min-width:0 !important; max-width:48px !important; padding:0 !important; margin:0 !important; display:grid !important; place-items:center; background:#990000 !important; color:#fff !important; border:1px solid #ffffff40 !important; border-radius:50% !important; box-shadow:0 5px 20px #0004; z-index:9999; cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .2s,transform .2s,visibility .2s; font:26px/1 Arial,sans-serif; }
body.bcx-custom-homepage :is(#ast-scroll-top,#bcx-scroll-top).bcx-top-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
body.bcx-custom-homepage #ast-scroll-top svg { width:20px; height:20px; fill:currentColor; }
body.bcx-custom-homepage :is(#ast-scroll-top,#bcx-scroll-top):focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:1000px) { body.bcx-inner-page .article-grid { grid-template-columns:minmax(0,1fr); } body.bcx-inner-page .sidebar { position:static; } body.bcx-inner-page .sidebar .author-card { grid-template-columns:80px minmax(0,1fr); } }
@media(max-width:850px) { body.bcx-custom-homepage .contact-container { flex-direction:column-reverse; gap:0; } body.bcx-custom-homepage :is(.contact-left,.contact-right) { width:100%; flex-basis:auto; } body.bcx-custom-homepage .contact-left { min-height:0; padding-bottom:48px; } }
@media(max-width:600px) { body.bcx-custom-homepage .lane-card { min-height:0; } body.bcx-custom-homepage .contact-form .submit-btn { width:100%; } body.bcx-inner-page .post-navigation .nav-links { grid-template-columns:1fr; } body.bcx-custom-homepage :is(#ast-scroll-top,#bcx-scroll-top) { right:16px !important; bottom:max(16px,env(safe-area-inset-bottom)) !important; width:44px !important; height:44px !important; } }

html.bcx-saved-document { font-size:16px; }
/* An open select must paint above later form rows, which are stacking contexts in the source. */
body.bcx-custom-homepage .contact-form .form-row:has(.custom-select.active) { z-index:101; }
body.bcx-custom-homepage .contact-form .select-options { z-index:200; max-height:min(340px,50vh); overflow-y:auto; }

/* 1.6.3: compact empty archives, readable pagination and seamless transition tiles. */
body.bcx-inner-page .bcx-empty-archive { width:100%; box-sizing:border-box; padding:clamp(150px,18vh,210px) max(24px,5vw) 72px; background:#000; color:#fff; }
body.bcx-inner-page .bcx-empty-label { font-size:13px; letter-spacing:.08em; margin-bottom:18px; color:#aaa; }
body.bcx-inner-page .bcx-empty-archive h1 { font-size:clamp(34px,5vw,64px); line-height:1.1; max-width:1000px; margin-bottom:24px; overflow-wrap:anywhere; }
body.bcx-inner-page .bcx-empty-archive > p:not(.bcx-empty-label) { max-width:640px; font-size:17px; line-height:1.65; color:#ccc; }
body.bcx-inner-page .bcx-empty-search { display:flex; gap:10px; max-width:560px; margin-top:28px; }
body.bcx-inner-page .bcx-empty-search input { box-sizing:border-box; min-width:0; width:100%; padding:14px 16px; font:16px/1.4 BrandClick,Arial,sans-serif; color:#fff; background:#141414; border:1px solid #555; border-radius:0; }
body.bcx-inner-page .bcx-empty-search button { padding:14px 24px; font:16px/1.4 BrandClick,Arial,sans-serif; color:#fff; background:#990000; border:1px solid #990000; cursor:pointer; }
body.bcx-inner-page .bcx-empty-browse { display:inline-block; margin-top:24px; color:#fff; font-size:16px; text-underline-offset:4px; }
body.bcx-inner-page .bcx-pagination { color:#fff; }
body.bcx-inner-page .bcx-pagination :is(a.page-numbers,span.page-numbers) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; box-sizing:border-box; color:#fff; background:transparent; border:1px solid #777; text-decoration:none; }
body.bcx-inner-page .bcx-pagination .page-numbers.current,body.bcx-inner-page .bcx-pagination a.page-numbers:hover { color:#fff; background:#b80000; border-color:#b80000; }
body.bcx-inner-page .bcx-pagination .page-numbers.dots { border-color:transparent; }
body.bcx-inner-page .bcx-pagination a:focus-visible,body.bcx-inner-page .bcx-empty-archive :is(a,input,button):focus-visible { outline:2px solid #fff; outline-offset:4px; }
body.bcx-custom-homepage .pixel-transition { gap:0; }
body.bcx-custom-homepage .pixel-transition__pixel { width:calc(100% + 2px); height:calc(100% + 2px); margin:-1px; backface-visibility:hidden; }
@media(max-width:600px) { body.bcx-inner-page .bcx-empty-archive { padding:130px 20px 48px; } body.bcx-inner-page .bcx-empty-archive > p:not(.bcx-empty-label) { font-size:16px; } body.bcx-inner-page .bcx-empty-search button { padding-inline:18px; } }

/* 1.6.4: only the independent footer control is shown; no inherited Astra rotation. */
body.bcx-custom-homepage #ast-scroll-top { display:none !important; }
body.bcx-custom-homepage #bcx-scroll-top .bcx-up-arrow { display:block; width:20px; height:20px; transform:none !important; fill:none; }
/* Preserve the developer's 98vw mobile contact column and centring. */
@media(max-width:600px) {
 body.bcx-custom-homepage .contact-container { align-items:center; }
 body.bcx-custom-homepage .contact-left { width:98vw; }
}

/* Contact reference: retain original fields; outlined CTA uses its source typography. */
body.bcx-custom-homepage .contact-section #bcx-contact-form .submit-btn {
 width:11vw; min-width:0; height:auto; min-height:0;
 padding:0.833333333333vw; border:1px solid rgba(255,255,255,.5333333333);
 font-family:BrandClick,Arial,sans-serif; font-size:1.083333333333vw;
 font-weight:400; line-height:1; border-radius:0;
}
@media(max-width:800px) {
 body.bcx-custom-homepage .contact-section #bcx-contact-form .submit-btn {
  width:auto; min-width:150px; min-height:44px; padding:14px 30px; font-size:16px;
 }
}

/* Article collection links sit outside animated/pinned tracks. */
body.bcx-custom-homepage .bcx-view-all-wrap { position:relative; z-index:2; display:flex; justify-content:center; clear:both; width:100%; box-sizing:border-box; padding:24px 20px 48px; background:#000; }
body.bcx-custom-homepage a.bcx-view-all-articles { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; max-width:100%; padding:14px 26px; box-sizing:border-box; border:1px solid #bd2833; background:#990000; color:#fff; font-size:16px; font-weight:500; line-height:1.4; letter-spacing:0; text-decoration:none; transition:background-color .2s,border-color .2s; }
body.bcx-custom-homepage a.bcx-view-all-articles:hover { background:#bc101c; border-color:#f0616a; color:#fff; }
body.bcx-custom-homepage a.bcx-view-all-articles:focus-visible { outline:2px solid #fff; outline-offset:5px; }
body.bcx-custom-homepage .bcx-view-all-articles span { font-size:20px; line-height:1; }
@media(max-width:600px) { body.bcx-custom-homepage .bcx-view-all-wrap { padding:20px 20px 36px; } body.bcx-custom-homepage a.bcx-view-all-articles { font-size:15px; padding:13px 22px; } }

/* Shared footer Google Preferred Source link. */
body.bcx-custom-homepage .bcx-google-source-wrap { position:relative; z-index:2; display:flex; justify-content:center; width:100%; box-sizing:border-box; padding:32px 20px; background:#000; }
body.bcx-custom-homepage a.bcx-google-source { display:inline-flex; align-items:center; justify-content:center; gap:12px; max-width:100%; box-sizing:border-box; padding:14px 20px; min-height:52px; border:1px solid #bfbfbf; border-radius:9px; background:#080808; color:#f2f2f2; font-size:18px; font-weight:400; line-height:1.45; letter-spacing:0; text-decoration:none; transition:border-color .2s,background-color .2s; }
body.bcx-custom-homepage a.bcx-google-source:hover { color:#fff; background:#181818; border-color:#fff; }
body.bcx-custom-homepage a.bcx-google-source:focus-visible { outline:2px solid #fff; outline-offset:5px; }
body.bcx-custom-homepage .bcx-google-source svg { display:block; flex:0 0 28px; width:28px; height:28px; }
body.bcx-custom-homepage .bcx-google-source span { min-width:0; white-space:normal; }
@media(max-width:600px) { body.bcx-custom-homepage a.bcx-google-source { font-size:14px; gap:10px; padding:12px 14px; } }

/* Author hero uses reserved columns instead of overlapping absolute elements. */
#bcx-main .hero-writer { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr) minmax(0,.85fr); grid-template-areas:"name portrait bio"; align-items:center; gap:clamp(28px,3vw,64px); width:100%; height:auto; min-height:100svh; box-sizing:border-box; padding:180px clamp(24px,3vw,72px) 80px; overflow:hidden; }
#bcx-main .hero-writer .social-media-of-writer:empty { display:none; }
#bcx-main .hero-writer .name-of-writer { grid-area:name; position:relative; inset:auto; min-width:0; width:100%; align-self:start; margin-top:32px; z-index:2; }
#bcx-main .hero-writer .name-of-writer h2 { margin:0 0 20px; padding:0; font-size:clamp(30px,3vw,60px); line-height:1.13; letter-spacing:-.035em; overflow-wrap:anywhere; text-wrap:balance; }
#bcx-main .hero-writer .name-of-writer a { font-size:16px; line-height:1.6; overflow-wrap:anywhere; }
#bcx-main .hero-writer .writer-image { grid-area:portrait; position:relative; inset:auto; min-width:0; width:100%; max-width:600px; height:clamp(280px,calc(100svh - 280px),650px); justify-self:center; z-index:1; }
#bcx-main .hero-writer .writer-image img { display:block; width:100%; max-width:100%; height:100%; object-fit:contain; object-position:center; border-radius:0; }
#bcx-main .hero-writer .about-writer-bio { grid-area:bio; position:relative; inset:auto; align-self:end; min-width:0; width:100%; margin:0; padding:0; text-align:right; color:#fff; z-index:2; }
#bcx-main .hero-writer .about-writer-bio p { margin:0; font-size:clamp(15px,1.15vw,20px); line-height:1.65; letter-spacing:normal; overflow-wrap:anywhere; }
@media(min-width:701px) and (max-width:1100px) {
 #bcx-main .hero-writer { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); grid-template-areas:"name portrait" "bio portrait"; padding-top:160px; gap:28px 40px; }
 #bcx-main .hero-writer .name-of-writer { margin-top:0; align-self:end; }
 #bcx-main .hero-writer .about-writer-bio { text-align:left; align-self:start; }
 #bcx-main .hero-writer .writer-image { height:clamp(300px,calc(100svh - 240px),600px); }
}
@media(max-width:700px) {
 #bcx-main .hero-writer { grid-template-columns:minmax(0,1fr); grid-template-areas:"name" "portrait" "bio"; min-height:0; padding:140px 24px 56px; gap:28px; }
 #bcx-main .hero-writer .name-of-writer { margin:0; }
 #bcx-main .hero-writer .name-of-writer h2 { font-size:clamp(32px,8vw,48px); }
 #bcx-main .hero-writer .writer-image { width:100%; max-width:440px; height:auto; aspect-ratio:1; }
 #bcx-main .hero-writer .about-writer-bio { text-align:left; }
 #bcx-main .hero-writer .about-writer-bio p { font-size:16px; }
}
#bcx-main .hero-writer + .page-lift { margin-top:0; }
/* Keep the preferred-source link with the sticky author card. */
#bcx-main.bcx-readable-post .sidebar .bcx-google-source-wrap { padding:20px 0 0; }
#bcx-main.bcx-readable-post .sidebar a.bcx-google-source { width:100%; gap:10px; padding:12px; font-size:14px; text-align:left; }
#bcx-main.bcx-readable-post .bcx-post-google-mobile { display:none; }
@media(max-width:900px) {
 #bcx-main.bcx-readable-post .bcx-post-google-mobile { display:block; }
 #bcx-main.bcx-readable-post .bcx-post-google-mobile .bcx-google-source-wrap { padding:0 0 28px; }
}

/* Advertise showcase and partner sections from the November source update. */
body.bcx-inner-page .slider-showcase-work {
  position: relative;
  height: auto;
  min-height: 100vh;
  padding: 56px 0;
}
body.bcx-inner-page .slider-showcase-work .style-cards {
  width: 40vw;
  height: 40vh;
}
body.bcx-inner-page .slider-showcase-work .cta-for-slide {
  gap: 40.8333vw;
}
body.bcx-inner-page .slider-showcase-work .cta-for-slide button {
  appearance: none;
  border: 1px solid rgba(255,255,255,.45);
  background: #090909;
  color: #fff;
  padding: 10px 18px;
  font: inherit;
  cursor: pointer;
}
body.bcx-inner-page .bcx-advertise-logos {
  height: auto;
  min-height: 120vh;
  padding: 64px 0;
}
body.bcx-inner-page .bcx-advertise-logos .heading-logos h2 {
  font-size: 4.1667vw;
  text-align: center;
  padding: 0 20px;
}
body.bcx-inner-page .bcx-advertise-logos .logo-cards {
  margin-top: 4.1667vw;
}
body.bcx-inner-page .bcx-advertise-logos .logo-c.adver-logo img {
  width: 76%;
  height: 56%;
  object-fit: contain;
  scale: none;
}
body.bcx-inner-page .bcx-advertise-logos .logos-cta {
  margin-top: 4.1667vw;
}
@media (max-width: 800px) {
  body.bcx-inner-page .slider-showcase-work,
  body.bcx-inner-page .bcx-advertise-logos {
    min-height: 0;
    padding: 44px 0;
  }
  body.bcx-inner-page .slider-showcase-work .slider-blog-case {
    height: auto;
    min-height: 0;
    padding-top: calc(25vh + 12px);
  }
  body.bcx-inner-page .slider-showcase-work .style-cards {
    top: 0;
    width: 88vw;
    height: 25vh;
  }
  body.bcx-inner-page .slider-showcase-work .cta-for-slide {
    margin: 0;
    gap: 16px;
  }
  body.bcx-inner-page .bcx-advertise-logos .heading-logos h2 {
    font-size: 5.8333vw;
  }
  body.bcx-inner-page .bcx-advertise-logos .logos-cta {
    margin-top: 28px;
  }
}
body.bcx-inner-page .slider-showcase-work .slider-blog-case:not(.bcx-showcase-ready) {
  display: flex;
  justify-content: flex-start;
  overflow-x: auto;
  height: auto;
  padding: 0;
  scroll-snap-type: x mandatory;
}
body.bcx-inner-page .slider-showcase-work .slider-blog-case:not(.bcx-showcase-ready) .style-cards {
  position: static;
  flex: 0 0 auto;
  scroll-snap-align: start;
  transform: none!important;
  opacity: 1!important;
}
body.bcx-inner-page .slider-showcase-work .slider-blog-case:not(.bcx-showcase-ready) .cta-for-slide {
  display: none;
}

/* Keep responsive card widths and derive image height from the source proportions. */
body.bcx-custom-homepage :is(.blog-card-section,.feature-slider,.story-thumb,.articles-cards .right-content) {
  height:auto;
}
body.bcx-custom-homepage :is(.cards-wrap-blog,.cards-blog-wrapper) {
  align-items:start;
}
body.bcx-custom-homepage .card-blog,
body.bcx-custom-homepage .cards-wrap-blog .card-blog {
  display:block;
  height:auto;
}
body.bcx-custom-homepage :is(.card-blog > img,.articles-cards .right-content img,.feature-image img,.story-card .story-thumb img) {
  display:block;
  position:static;
  width:100%;
  height:auto;
  transform:none;
}
body.bcx-custom-homepage .story-card:is(:hover,.active) .story-thumb img { transform:none; }

/* Let the active story size the slider while keeping inactive slides available. */
body.bcx-custom-homepage .feature-slide.active { position:relative; }
body.bcx-custom-homepage :is(.feature-link,.feature-image,.feature-content) {
  display:block;
  position:relative;
  inset:auto;
}
body.bcx-custom-homepage .feature-image::after { content:none; }

/* Keep carousel controls in their own row below the tallest card. */
body.bcx-custom-homepage .blog-card-section {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
body.bcx-custom-homepage .blog-card-section .navi-cards-btns {
  position:relative;
  inset:auto;
  order:1;
  margin:clamp(16px,2vw,32px) 0;
}
