/* Brainy Content homepage service architecture v24 */
.bc-home-v24{--v24-bg:#050708;--v24-bg2:#090b0c;--v24-panel:#0d0f10;--v24-cream:#fffaf0;--v24-muted:rgba(255,250,240,.67);--v24-line:rgba(255,210,0,.20);--v24-yellow:#ffd200;background:var(--v24-bg);color:var(--v24-cream);overflow:hidden}.bc-v24-shell{width:min(100% - 80px,1760px);margin-inline:auto}.bc-v24-service,.bc-v24-intro{position:relative;padding:clamp(90px,8vw,150px) 0;border-top:1px solid var(--v24-line)}.bc-v24-kicker{margin:0 0 22px;color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:16px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.bc-v24-kicker span{margin-right:10px;color:rgba(255,210,0,.55)}.bc-home-v24 h2,.bc-home-v24 h3{margin:0;color:var(--v24-cream);font-family:var(--bc-font-display);text-transform:uppercase}.bc-home-v24 h2{max-width:900px;font-size:clamp(44px,4.1vw,76px);line-height:.98;letter-spacing:.015em}.bc-home-v24 h3{font-size:clamp(27px,2vw,38px);line-height:1.02}.bc-home-v24 p{color:var(--v24-muted);font-size:18px;line-height:1.62}.bc-v24-link{display:inline-flex;gap:12px;margin-top:26px;color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:17px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;text-decoration:none}.bc-v24-link:hover{color:#fff}.bc-v24-intro{background:radial-gradient(circle at 78% 15%,rgba(255,210,0,.07),transparent 28%),#07090a}.bc-v24-intro__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(50px,8vw,150px);align-items:end}.bc-v24-intro__copy{max-width:690px}.bc-v24-intro__copy p:first-child{color:var(--v24-cream);font-size:23px}.bc-v24-index{display:grid;grid-template-columns:repeat(5,1fr);margin-top:70px;border-top:1px solid var(--v24-line);border-bottom:1px solid var(--v24-line)}.bc-v24-index a{padding:25px 18px;color:var(--v24-cream);font-family:var(--bc-font-display);font-size:19px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;border-right:1px solid var(--v24-line);transition:.2s}.bc-v24-index a:last-child{border-right:0}.bc-v24-index a span{display:block;margin-bottom:9px;color:var(--v24-yellow);font-size:12px}.bc-v24-index a:hover{background:rgba(255,210,0,.06);color:var(--v24-yellow)}.bc-v24-websites{background:linear-gradient(180deg,#050708,#090b0c)}.bc-v24-feature-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:clamp(60px,8vw,150px);align-items:center}.bc-v24-copy>p:not(.bc-v24-kicker){max-width:720px}.bc-v24-browser{min-height:510px;border:1px solid rgba(255,210,0,.35);background:#020303;box-shadow:0 0 55px rgba(255,210,0,.08)}.bc-v24-browser__bar{height:54px;display:flex;align-items:center;gap:8px;padding:0 18px;border-bottom:1px solid var(--v24-line)}.bc-v24-browser__bar i{width:8px;height:8px;border:1px solid rgba(255,210,0,.5);border-radius:50%}.bc-v24-browser__bar span{margin-left:14px;color:rgba(255,250,240,.35);font-size:12px}.bc-v24-browser__screen{position:relative;height:455px;padding:55px;background:radial-gradient(circle at 70% 30%,rgba(255,210,0,.16),transparent 35%),linear-gradient(135deg,#0b0e10,#030404);overflow:hidden}.bc-v24-browser__screen b{font-family:var(--bc-font-display);font-size:clamp(44px,4vw,76px);line-height:.88;color:#fff;text-transform:uppercase}.bc-v24-browser__screen em{font-style:normal;color:var(--v24-yellow)}.bc-v24-browser__screen span{position:absolute;right:-70px;bottom:-120px;width:360px;height:360px;border:1px solid rgba(255,210,0,.22);border-radius:50%;box-shadow:0 0 0 35px rgba(255,210,0,.02),0 0 0 70px rgba(255,210,0,.015)}.bc-v24-service-index{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--v24-line);border-left:1px solid var(--v24-line)}.bc-v24-service-index a{min-height:170px;padding:28px;color:inherit;text-decoration:none;border-right:1px solid var(--v24-line);border-bottom:1px solid var(--v24-line);transition:.2s}.bc-v24-service-index strong,.bc-v24-service-index span{display:block}.bc-v24-service-index strong{color:var(--v24-cream);font-family:var(--bc-font-display);font-size:22px;text-transform:uppercase}.bc-v24-service-index span{margin-top:12px;color:var(--v24-muted);font-size:15px;line-height:1.5}.bc-v24-service-index a:hover{background:rgba(255,210,0,.055)}.bc-v24-service-index a:hover strong{color:var(--v24-yellow)}.bc-v24-seo{background:#0a0c0d}.bc-v24-seo__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(70px,9vw,170px);align-items:start}.bc-v24-pathways{border-top:1px solid var(--v24-line)}.bc-v24-pathways>a{display:grid;grid-template-columns:55px 1fr;column-gap:18px;padding:34px 12px;border-bottom:1px solid var(--v24-line);text-decoration:none}.bc-v24-pathways small{grid-row:1/4;color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:14px}.bc-v24-pathways p{margin:10px 0 18px;font-size:16px}.bc-v24-pathways b{color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:14px;text-transform:uppercase}.bc-v24-pathways>a:hover{background:linear-gradient(90deg,rgba(255,210,0,.06),transparent)}.bc-v24-social{background:radial-gradient(circle at 50% 45%,rgba(255,210,0,.06),transparent 35%),#050708}.bc-v24-social__head,.bc-v24-creative__intro{display:grid;grid-template-columns:1.1fr .7fr;gap:clamp(60px,10vw,190px);align-items:end}.bc-v24-social__head>p,.bc-v24-creative__intro>p{max-width:600px}.bc-v24-social__grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:20px;margin-top:70px}.bc-v24-social__grid>a{min-height:420px;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid var(--v24-line);background:#0b0d0e;color:inherit;text-decoration:none}.bc-v24-card-no{margin-bottom:auto;color:var(--v24-yellow);font-family:var(--bc-font-display)}.bc-v24-social__grid>a p{font-size:16px}.bc-v24-social__grid>a b{color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:14px;text-transform:uppercase}.bc-v24-social__visual{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-height:420px}.bc-v24-social__visual div{border:1px solid rgba(255,210,0,.18);background:linear-gradient(145deg,rgba(255,210,0,.13),transparent 45%),#111416}.bc-v24-social__visual div:first-child{grid-row:span 2}.bc-v24-creative{background:#090b0c}.bc-v24-mosaic{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:260px 260px;gap:18px;margin-top:70px}.bc-v24-mosaic a{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;border:1px solid var(--v24-line);overflow:hidden;color:#fff;text-decoration:none;background:radial-gradient(circle at 75% 20%,rgba(255,210,0,.17),transparent 28%),linear-gradient(145deg,#141719,#060708)}.bc-v24-mosaic__video{grid-row:1/3}.bc-v24-mosaic a:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 70%)}.bc-v24-mosaic a>*{position:relative;z-index:1}.bc-v24-mosaic span{font-family:var(--bc-font-display);font-size:clamp(32px,3vw,54px);text-transform:uppercase}.bc-v24-mosaic b{max-width:560px;margin-top:10px;color:rgba(255,250,240,.72);font-size:15px;font-weight:400}.bc-v24-mosaic i{margin-top:20px;color:var(--v24-yellow);font-family:var(--bc-font-display);font-style:normal;text-transform:uppercase}.bc-v24-mosaic a:hover{border-color:rgba(255,210,0,.65)}.bc-v24-growth{background:linear-gradient(135deg,#050607,#0d0f10)}.bc-v24-growth:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,210,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,210,0,.035) 1px,transparent 1px);background-size:60px 60px}.bc-v24-growth__head{position:relative;max-width:1150px}.bc-v24-growth__head>p:last-child{max-width:800px;margin-top:28px}.bc-v24-growth__cards{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:65px}.bc-v24-growth__cards a{min-height:340px;padding:42px;border:1px solid rgba(255,210,0,.27);background:rgba(5,7,8,.78);color:inherit;text-decoration:none}.bc-v24-growth__cards small{color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:14px;letter-spacing:.06em;text-transform:uppercase}.bc-v24-growth__cards h3{margin-top:55px}.bc-v24-growth__cards p{max-width:600px;font-size:16px}.bc-v24-growth__cards b{display:block;margin-top:26px;color:var(--v24-yellow);font-family:var(--bc-font-display);font-size:14px;text-transform:uppercase}.bc-v24-growth__cards a:hover{box-shadow:0 0 35px rgba(255,210,0,.08);border-color:rgba(255,210,0,.6)}
@media(max-width:1100px){.bc-v24-shell{width:min(100% - 48px,1760px)}.bc-v24-intro__grid,.bc-v24-feature-grid,.bc-v24-seo__grid,.bc-v24-social__head,.bc-v24-creative__intro{grid-template-columns:1fr}.bc-v24-index{grid-template-columns:repeat(2,1fr)}.bc-v24-service-index{grid-template-columns:repeat(2,1fr)}.bc-v24-social__grid{grid-template-columns:1fr 1fr}.bc-v24-social__visual{grid-row:2;grid-column:1/3;min-height:300px}.bc-v24-mosaic{grid-template-columns:1fr 1fr}.bc-v24-browser{min-height:390px}.bc-v24-browser__screen{height:335px}}
@media(max-width:700px){.bc-v24-shell{width:min(100% - 32px,1760px)}.bc-v24-service,.bc-v24-intro{padding:74px 0}.bc-home-v24 h2{font-size:42px}.bc-home-v24 p{font-size:17px}.bc-v24-index,.bc-v24-service-index,.bc-v24-social__grid,.bc-v24-growth__cards,.bc-v24-mosaic{grid-template-columns:1fr}.bc-v24-index a{border-bottom:1px solid var(--v24-line)}.bc-v24-feature-grid{display:block}.bc-v24-browser{margin-top:45px;min-height:320px}.bc-v24-browser__screen{height:265px;padding:34px}.bc-v24-service-index{margin-top:55px}.bc-v24-social__visual{grid-column:auto;grid-row:auto;min-height:260px}.bc-v24-mosaic{grid-template-rows:auto}.bc-v24-mosaic__video{grid-row:auto;min-height:420px}.bc-v24-mosaic__photo,.bc-v24-mosaic__brand{min-height:300px}.bc-v24-growth__cards a{min-height:300px;padding:30px}}

/* v25 visual unification pass
   Bring the post-hero sections into the same visual language as the
   navigation, mega menu and hero without changing the v24 content structure. */
.bc-home-v24{
    --v24-bg:#050708;
    --v24-bg2:#080a0b;
    --v24-panel:#090b0c;
    --v24-cream:#fffaf0;
    --v24-muted:rgba(255,250,240,.66);
    --v24-line:rgba(255,210,0,.18);
    --v24-line-strong:rgba(255,210,0,.42);
    --v24-yellow:#ffd200;
    --bc-section-copy-gap:28px;
    background:#050708;
}

.bc-v24-service,.bc-v24-intro{
    padding:clamp(96px,8vw,148px) 0;
    border-top:1px solid rgba(255,210,0,.16);
}

/* Hero/mega-menu style section kickers */
.bc-v24-kicker{
    display:flex;
    align-items:center;
    gap:12px;
    width:fit-content;
    margin-bottom:24px;
    font-size:17px;
    letter-spacing:.10em;
}
.bc-v24-kicker::after{
    content:"";
    width:72px;
    height:1px;
    background:linear-gradient(90deg,var(--v24-yellow),rgba(255,210,0,0));
    box-shadow:0 0 10px rgba(255,210,0,.28);
}
.bc-v24-kicker span{
    margin-right:0;
    color:rgba(255,210,0,.62);
}

.bc-home-v24 h2{
    max-width:940px;
    font-size:clamp(46px,3.8vw,72px);
    line-height:.96;
    letter-spacing:.018em;
}
.bc-home-v24 h3{letter-spacing:.025em}
.bc-home-v24 p{color:var(--v24-muted)}

/* Links use the same precise yellow treatment as the mega menu. */
.bc-v24-link{
    position:relative;
    align-items:center;
    gap:14px;
    padding-bottom:7px;
    border-bottom:1px solid rgba(255,210,0,.38);
    font-size:16px;
    transition:color .18s ease,border-color .18s ease,text-shadow .18s ease;
}
.bc-v24-link:hover{
    color:var(--v24-yellow);
    border-color:var(--v24-yellow);
    text-shadow:0 0 16px rgba(255,210,0,.25);
}

/* Intro: less like a standalone content block, more like a continuation of hero. */
.bc-v24-intro{
    background:
        radial-gradient(circle at 83% 18%,rgba(255,210,0,.055),transparent 27%),
        linear-gradient(180deg,#050708,#07090a);
}
.bc-v24-intro::before{
    content:"";
    position:absolute;
    top:0;right:40px;
    width:min(34vw,560px);height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,210,0,.32));
}
.bc-v24-intro__grid{align-items:center}
.bc-v24-intro__copy{
    padding-left:clamp(28px,4vw,64px);
    border-left:1px solid rgba(255,210,0,.18);
}
.bc-v24-intro__copy p:first-child{
    color:rgba(255,250,240,.9);
    font-size:21px;
    line-height:1.5;
}

/* Capability index becomes an open technical rail rather than five cards. */
.bc-v24-index{
    position:relative;
    margin-top:76px;
    border-color:rgba(255,210,0,.22);
}
.bc-v24-index a{
    position:relative;
    min-height:92px;
    padding:24px 20px 22px;
    border-color:rgba(255,210,0,.16);
    background:transparent;
    font-size:18px;
}
.bc-v24-index a::after{
    content:"";
    position:absolute;
    left:18px;right:18px;bottom:-1px;
    height:1px;
    background:var(--v24-yellow);
    box-shadow:0 0 14px rgba(255,210,0,.5);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .2s ease;
}
.bc-v24-index a:hover{
    background:linear-gradient(180deg,rgba(255,210,0,.045),transparent);
    color:var(--v24-yellow);
}
.bc-v24-index a:hover::after{transform:scaleX(1)}

/* Websites: preserve showcase layout, make the visual and service index feel like
   the hero/mega-menu rather than generic boxed UI. */
.bc-v24-websites{
    background:
        radial-gradient(circle at 82% 32%,rgba(255,210,0,.045),transparent 26%),
        #050708;
}
.bc-v24-browser{
    position:relative;
    border-color:rgba(255,210,0,.38);
    border-radius:7px;
    background:#040506;
    box-shadow:0 0 28px rgba(255,210,0,.08),0 26px 65px rgba(0,0,0,.35);
}
.bc-v24-browser::before{
    content:"";
    position:absolute;
    inset:7px;
    z-index:2;
    pointer-events:none;
    border:1px solid rgba(255,210,0,.09);
    border-radius:3px;
}
.bc-v24-browser__bar{border-color:rgba(255,210,0,.16)}
.bc-v24-browser__screen{
    background:
        linear-gradient(rgba(255,210,0,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,210,0,.025) 1px,transparent 1px),
        radial-gradient(circle at 70% 30%,rgba(255,210,0,.13),transparent 34%),
        linear-gradient(135deg,#0a0d0e,#030404);
    background-size:44px 44px,44px 44px,auto,auto;
}
.bc-v24-service-index{
    border-left:0;
    border-color:rgba(255,210,0,.20);
}
.bc-v24-service-index a{
    position:relative;
    min-height:160px;
    padding:30px 28px;
    border-color:rgba(255,210,0,.15);
    background:transparent;
}
.bc-v24-service-index a::before{
    content:"";
    position:absolute;
    left:0;top:28px;bottom:28px;
    width:1px;
    background:rgba(255,210,0,.22);
}
.bc-v24-service-index a:hover{
    background:linear-gradient(135deg,rgba(255,210,0,.055),transparent 58%);
}
.bc-v24-service-index strong{font-size:21px;letter-spacing:.025em}

/* SEO: open list treatment matching the mega menu service pathways. */
.bc-v24-seo{
    background:
        linear-gradient(90deg,rgba(255,210,0,.018) 1px,transparent 1px),
        #080a0b;
    background-size:72px 72px;
}
.bc-v24-pathways{border-color:rgba(255,210,0,.24)}
.bc-v24-pathways>a{
    position:relative;
    padding:36px 20px;
    border-color:rgba(255,210,0,.16);
    transition:background .18s ease,transform .18s ease;
}
.bc-v24-pathways>a::after{
    content:"";
    position:absolute;
    right:0;top:50%;
    width:42px;height:1px;
    background:linear-gradient(90deg,rgba(255,210,0,0),rgba(255,210,0,.6));
    opacity:0;
    transition:opacity .18s ease;
}
.bc-v24-pathways>a:hover{
    background:linear-gradient(90deg,rgba(255,210,0,.055),transparent 70%);
    transform:translateX(3px);
}
.bc-v24-pathways>a:hover::after{opacity:1}
.bc-v24-pathways h3{font-size:clamp(25px,1.75vw,34px)}

/* Social: retain the visual rhythm, remove the heavy card feel. */
.bc-v24-social{
    background:
        radial-gradient(circle at 50% 48%,rgba(255,210,0,.045),transparent 32%),
        #050708;
}
.bc-v24-social__grid{gap:0;border-top:1px solid rgba(255,210,0,.20);border-bottom:1px solid rgba(255,210,0,.20)}
.bc-v24-social__grid>a{
    min-height:410px;
    border:0;
    border-right:1px solid rgba(255,210,0,.18);
    background:transparent;
    transition:background .2s ease;
}
.bc-v24-social__grid>a:hover{
    background:linear-gradient(180deg,rgba(255,210,0,.045),transparent 72%);
}
.bc-v24-social__visual{
    gap:1px;
    padding:1px;
    background:rgba(255,210,0,.15);
}
.bc-v24-social__visual div{
    border:0;
    background:
        linear-gradient(145deg,rgba(255,210,0,.10),transparent 45%),
        #0d1011;
}

/* Creative: more like a cinematic portfolio mosaic than boxed service cards. */
.bc-v24-creative{background:#080a0b}
.bc-v24-mosaic{gap:10px}
.bc-v24-mosaic a{
    border-color:rgba(255,210,0,.18);
    border-radius:4px;
    background:
        radial-gradient(circle at 75% 20%,rgba(255,210,0,.13),transparent 28%),
        linear-gradient(145deg,#111416,#050607);
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.bc-v24-mosaic a:hover{
    border-color:rgba(255,210,0,.55);
    box-shadow:0 0 28px rgba(255,210,0,.07);
    transform:translateY(-2px);
}
.bc-v24-mosaic span{letter-spacing:.02em}

/* Digital Growth: deliberately the most technical section, using the same
   fine-line/glow language as the hero and mega menu. */
.bc-v24-growth{
    background:linear-gradient(135deg,#050607,#090b0c);
}
.bc-v24-growth:before{
    opacity:.8;
    background-image:
        linear-gradient(rgba(255,210,0,.025) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,210,0,.025) 1px,transparent 1px);
    background-size:64px 64px;
}
.bc-v24-growth__cards{gap:18px}
.bc-v24-growth__cards a{
    position:relative;
    min-height:330px;
    border-color:rgba(255,210,0,.28);
    border-radius:6px;
    background:rgba(5,7,8,.68);
    box-shadow:inset 0 0 0 1px rgba(255,210,0,.035);
    overflow:hidden;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.bc-v24-growth__cards a:hover{
    border-color:rgba(255,210,0,.55);
    box-shadow:0 0 32px rgba(255,210,0,.07),inset 0 0 32px rgba(255,210,0,.025);
    transform:translateY(-2px);
}

@media(max-width:1100px){
    .bc-v24-intro__copy{padding-left:0;border-left:0}
    .bc-v24-social__grid>a{border-right:1px solid rgba(255,210,0,.16);border-bottom:1px solid rgba(255,210,0,.16)}
}
@media(max-width:700px){
    .bc-v24-kicker::after{width:48px}
    .bc-v24-index a{min-height:78px}
    .bc-v24-service-index a::before{top:22px;bottom:22px}
    .bc-v24-social__grid{border-bottom:0}
    .bc-v24-social__grid>a{min-height:320px;border-right:0;border-bottom:1px solid rgba(255,210,0,.16)}
}

/* v26 typography correction
   v25 should have been a visual-system pass only. Restore the established v24
   type scale/spacing so the sections remain consistent with the existing site. */
.bc-v24-kicker{
    font-size:16px;
    letter-spacing:.13em;
}
.bc-home-v24 h2{
    max-width:900px;
    font-size:clamp(44px,4.1vw,76px);
    line-height:.98;
    letter-spacing:.015em;
}
.bc-home-v24 h3{
    font-size:clamp(27px,2vw,38px);
    line-height:1.02;
    letter-spacing:normal;
}
.bc-v24-link{
    font-size:17px;
    letter-spacing:.055em;
}
.bc-v24-intro__copy p:first-child{font-size:23px}
.bc-v24-index a{
    font-size:19px;
    letter-spacing:.04em;
}
.bc-v24-service-index strong{
    font-size:22px;
    letter-spacing:normal;
}
.bc-v24-pathways h3{font-size:clamp(27px,2vw,38px)}
.bc-v24-mosaic span{letter-spacing:normal}

@media(max-width:700px){
    .bc-home-v24 h2{font-size:42px}
}

/* v28 typography cleanup
   Use the established Brainy display system consistently across all post-hero
   headings. This intentionally removes the separate v24/v25 H2 treatment. */
.bc-home-v24 h2,
.bc-home-v24 h3,
.bc-v24-browser__screen b,
.bc-v24-mosaic span,
.bc-v24-service-index strong,
.bc-v24-index a,
.bc-v24-pathways small,
.bc-v24-pathways b,
.bc-v24-social__grid > a b,
.bc-v24-growth__cards small,
.bc-v24-growth__cards b,
.bc-v24-link,
.bc-v24-kicker {
    font-family: var(--bc-font-display);
}

/* Match the established Brainy section-heading treatment rather than using
   the looser standalone homepage scale introduced in v24/v25. */
.bc-home-v24 h2 {
    max-width: 900px;
    margin: 0;
    color: var(--v24-cream);
    font-weight: 800;
    font-size: clamp(42px, 4vw, 74px);
    line-height: .90;
    letter-spacing: -.01em;
    text-transform: uppercase;
    text-wrap: balance;
}

.bc-home-v24 h3 {
    margin: 0;
    color: var(--v24-cream);
    font-weight: 800;
    font-size: clamp(27px, 2vw, 38px);
    line-height: .96;
    letter-spacing: 0;
    text-transform: uppercase;
}

/* Keep the visual-placeholder display copy in exactly the same family/weight
   so the left and right sides read as one design system. */
.bc-v24-browser__screen b {
    font-weight: 800;
    letter-spacing: .01em;
}

.bc-v24-mosaic span,
.bc-v24-service-index strong {
    font-weight: 800;
    letter-spacing: 0;
}

/* Body copy remains Inter via the site's body font variable. */
.bc-home-v24 p,
.bc-v24-service-index span,
.bc-v24-mosaic b {
    font-family: var(--bc-font-body);
}

@media (max-width:700px) {
    .bc-home-v24 h2 {
        font-size: 42px;
        line-height: .92;
    }
}

/* v29: use global Brainy components; homepage file now controls layout rather than
   inventing separate typography/component styling. */
.bc-home-v24 .bc-kicker.bc-v24-kicker {
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 30px;
    color:var(--bc-yellow,#ffd200);
    font-family:var(--bc-font-display,"Barlow Condensed",sans-serif);
    font-size:18px;
    font-weight:700;
    line-height:1;
    letter-spacing:.12em;
    text-transform:uppercase;
    text-shadow:0 0 18px rgba(255,210,0,.18);
}
.bc-home-v24 .bc-kicker.bc-v24-kicker::before{content:"»»";order:1;margin-left:2px;color:var(--bc-yellow,#ffd200);letter-spacing:-.06em}
.bc-home-v24 .bc-kicker.bc-v24-kicker::after{content:"";order:2;width:clamp(70px,8vw,150px);height:1px;background:linear-gradient(90deg,rgba(255,210,0,.95),rgba(255,210,0,.08));box-shadow:0 0 12px rgba(255,210,0,.16)}
.bc-home-v24 .bc-kicker.bc-v24-kicker span{display:none}

/* Capability tiles: no numbering, stronger neon/button family treatment. */
.bc-v24-index{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
    margin-top:70px;
    border:0;
}
.bc-v24-index .bc-service-tile{
    min-height:250px;
    padding:28px;
    border-right:1px solid rgba(255,210,0,.38);
    font-size:inherit;
    letter-spacing:0;
    text-transform:none;
}
.bc-v24-index .bc-service-tile strong{
    display:block;
    margin-top:34px;
    color:var(--v24-cream);
    font-size:25px;
    line-height:1;
    letter-spacing:.015em;
}
.bc-v24-index .bc-service-tile__copy{display:block;margin-top:10px}
.bc-v24-index .bc-service-tile__arrow{display:block;margin-top:auto;padding-top:20px}
.bc-v24-index .bc-service-tile:hover{color:inherit;background:linear-gradient(145deg,rgba(255,210,0,.09),rgba(255,255,255,.012) 48%,rgba(0,0,0,.2))}

/* Website service tiles use the same component, in a denser 3x2 layout. */
.bc-v24-service-index{gap:14px;border:0}
.bc-v24-service-index .bc-service-tile{
    min-height:230px;
    padding:28px;
    border:1px solid rgba(255,210,0,.32);
}
.bc-v24-service-index .bc-service-tile::before{top:6px;bottom:6px;left:6px;right:6px;width:auto;background:none}
.bc-v24-service-index .bc-service-tile__icon{margin-bottom:30px}
.bc-v24-service-index .bc-service-tile strong{font-size:23px;line-height:1}
.bc-v24-service-index .bc-service-tile span:not(.bc-service-tile__icon){margin-top:12px}

/* SEO pathways: remove number rail and give each pathway a clear service panel. */
.bc-v24-pathways{display:grid;gap:14px;border:0}
.bc-v24-pathways>.bc-service-tile{
    display:grid;
    grid-template-columns:72px 1fr;
    column-gap:22px;
    min-height:190px;
    padding:28px;
    border:1px solid rgba(255,210,0,.3);
}
.bc-v24-pathways>.bc-service-tile .bc-service-tile__icon{grid-row:1/4}
.bc-v24-pathways>.bc-service-tile h3{grid-column:2;margin:0}
.bc-v24-pathways>.bc-service-tile p{grid-column:2;margin:10px 0 18px}
.bc-v24-pathways>.bc-service-tile b{grid-column:2}
.bc-v24-pathways>.bc-service-tile:hover{background:linear-gradient(145deg,rgba(255,210,0,.075),transparent 55%)}

/* Social service panels share the global tile treatment but retain the visual centre. */
.bc-v24-social__grid{gap:18px;border:0}
.bc-v24-social__grid>.bc-service-tile{
    min-height:420px;
    padding:38px;
    justify-content:flex-end;
    border:1px solid rgba(255,210,0,.32);
}
.bc-v24-social__grid>.bc-service-tile .bc-service-tile__icon{margin-bottom:auto}
.bc-v24-social__grid>.bc-service-tile h3{margin-top:38px}

/* Growth cards: same family, larger strategic panels. */
.bc-v24-growth__cards>.bc-service-tile{
    min-height:340px;
    padding:42px;
    border:1px solid rgba(255,210,0,.32);
}
.bc-v24-growth__cards>.bc-service-tile .bc-service-tile__icon{margin-bottom:28px}
.bc-v24-growth__cards>.bc-service-tile h3{margin-top:32px}

@media(max-width:1100px){
    .bc-v24-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .bc-home-v24 .bc-kicker.bc-v24-kicker{font-size:16px;gap:12px}
    .bc-home-v24 .bc-kicker.bc-v24-kicker::after{width:46px}
    .bc-v24-index{grid-template-columns:1fr}
    .bc-v24-index .bc-service-tile{min-height:210px}
    .bc-v24-service-index .bc-service-tile{min-height:210px}
    .bc-v24-pathways>.bc-service-tile{grid-template-columns:1fr}
    .bc-v24-pathways>.bc-service-tile .bc-service-tile__icon,.bc-v24-pathways>.bc-service-tile h3,.bc-v24-pathways>.bc-service-tile p,.bc-v24-pathways>.bc-service-tile b{grid-column:1;grid-row:auto}
}


/* v30: website cards use the same icon component as SEO and later sections.
   These declarations intentionally beat legacy .bc-v24-service-index span rules. */
.bc-v24-service-index .bc-service-tile .bc-service-tile__icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    margin: 0 0 30px;
    color: var(--bc-yellow, #ffd200);
    font-size: 22px;
    line-height: 1;
}
.bc-v24-service-index .bc-service-tile .bc-service-tile__icon i {
    color: var(--bc-yellow, #ffd200);
    font-size: 22px;
    line-height: 1;
}

/* Creative mosaic interaction colours are owned by the shared tile system. */
.bc-home-v24 .bc-v24-mosaic a,
.bc-home-v24 .bc-v24-mosaic a:visited,
.bc-home-v24 .bc-v24-mosaic a:hover,
.bc-home-v24 .bc-v24-mosaic a:focus,
.bc-home-v24 .bc-v24-mosaic a:focus-visible {
    color: var(--v24-cream, #fffaf0) !important;
}
.bc-home-v24 .bc-v24-mosaic a span,
.bc-home-v24 .bc-v24-mosaic a:visited span,
.bc-home-v24 .bc-v24-mosaic a:hover span,
.bc-home-v24 .bc-v24-mosaic a:focus span,
.bc-home-v24 .bc-v24-mosaic a:focus-visible span {
    color: var(--v24-cream, #fffaf0) !important;
}
.bc-home-v24 .bc-v24-mosaic a b,
.bc-home-v24 .bc-v24-mosaic a:hover b,
.bc-home-v24 .bc-v24-mosaic a:focus b {
    color: rgba(255,250,240,.72) !important;
}
.bc-home-v24 .bc-v24-mosaic a i,
.bc-home-v24 .bc-v24-mosaic a:hover i,
.bc-home-v24 .bc-v24-mosaic a:focus i {
    color: var(--v24-yellow, #ffd200) !important;
}

/* v32: unify every clickable homepage tile with the Creative card language. */
.bc-home-v24 .bc-v24-index .bc-service-tile,
.bc-home-v24 .bc-v24-service-index .bc-service-tile,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile,
.bc-home-v24 .bc-v24-mosaic a {
    border-radius: var(--bc-card-radius, 4px) !important;
    border-color: var(--bc-card-border, rgba(255,210,0,.22)) !important;
    background: var(--bc-card-bg, linear-gradient(145deg,#0b0d0e,#050607)) !important;
    overflow: hidden;
}

.bc-home-v24 .bc-v24-index .bc-service-tile:hover,
.bc-home-v24 .bc-v24-service-index .bc-service-tile:hover,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:hover,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile:hover,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:hover,
.bc-home-v24 .bc-v24-mosaic a:hover,
.bc-home-v24 .bc-v24-mosaic a:focus-visible {
    border-color: var(--bc-card-border-hover, rgba(255,210,0,.72)) !important;
    background:
        radial-gradient(circle at 18% 12%,rgba(255,210,0,.11),transparent 34%),
        var(--bc-card-bg, linear-gradient(145deg,#0b0d0e,#050607)) !important;
    box-shadow: var(--bc-card-hover-glow, 0 0 30px rgba(255,210,0,.09)) !important;
    transform: translateY(-2px);
}

/* Brighter yellow headings on every clickable tile, including Creative. */
.bc-home-v24 .bc-v24-index .bc-service-tile:hover strong,
.bc-home-v24 .bc-v24-service-index .bc-service-tile:hover strong,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:hover h3,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile:hover h3,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:hover h3,
.bc-home-v24 .bc-v24-mosaic a:hover span,
.bc-home-v24 .bc-v24-mosaic a:focus-visible span {
    color: var(--v24-yellow, #ffd200) !important;
}

/* Keep supporting copy stable while the title and border provide the hover cue. */
.bc-home-v24 .bc-v24-mosaic a:hover b,
.bc-home-v24 .bc-v24-mosaic a:focus-visible b {
    color: rgba(255,250,240,.72) !important;
}

/* v39: homepage service index consistency + descriptive link labels */
.bc-home-v24 .bc-v24-index {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    box-sizing: border-box;
}
.bc-home-v24 .bc-v24-index .bc-service-tile {
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* v41 editable homepage media. Images are darkened so the established type and
   neon-yellow interaction system remains readable over editor-selected media. */
.bc-home-v24 .bc-v24-social__visual .bc-home-image,
.bc-home-v24 .bc-v24-mosaic a.bc-home-image,
.bc-home-v24 .bc-v24-browser__screen.bc-home-image {
    background-image: linear-gradient(0deg,rgba(3,5,6,.72),rgba(3,5,6,.22)),var(--bc-home-image) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
.bc-home-v24 .bc-v24-browser__screen.bc-home-image {
    background-image: linear-gradient(90deg,rgba(3,5,6,.88),rgba(3,5,6,.18)),var(--bc-home-image) !important;
}
.bc-home-v24 .bc-v24-index .bc-service-tile h3 {
    margin: 34px 0 0;
    color: var(--v24-cream);
    font-family: var(--bc-font-display);
    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
}
.bc-home-v24 .bc-v24-index .bc-service-tile__copy {
    margin: 14px 0 0;
    color: var(--v24-muted);
    font-family: var(--bc-font-body);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.55;
    text-transform: none;
    letter-spacing: 0;
}
.bc-home-v24 .bc-v24-index .bc-service-tile__link {
    display: inline-flex;
    margin-top: auto;
    padding-top: 24px;
    color: var(--v24-yellow);
    font-family: var(--bc-font-display);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.bc-home-v24 .bc-v24-index .bc-service-tile:hover h3,
.bc-home-v24 .bc-v24-index .bc-service-tile:focus-visible h3 {
    color: var(--v24-yellow) !important;
}
@media(max-width:1100px){
    .bc-home-v24 .bc-v24-index{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .bc-home-v24 .bc-v24-index{grid-template-columns:1fr}
}

/* v40: service rail containment + consistent heading-to-copy rhythm */
.bc-home-v24 .bc-v24-index > .bc-service-tile {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

/* Preserve the stronger spacing rhythm used in Digital Growth across section intros. */
.bc-home-v24 .bc-v24-copy h2 + p,
.bc-home-v24 .bc-v24-growth__head h2 + p {
    margin-top: var(--bc-section-copy-gap);
}
.bc-home-v24 .bc-v24-copy p + p {
    margin-top: 22px;
}

/* Card headings and descriptions should never visually run together. */
.bc-home-v24 .bc-service-tile h3 + p,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile h3 + p,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile h3 + p {
    margin-top: 16px;
}

/* v43: image-led service tiles and character scene panels.
   Media and readability overlays use their own layers so the shared six-pixel
   inset line remains intact on every card, including Creative and Growth. */
.bc-home-v24 .bc-service-tile > .bc-service-tile__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center;
    opacity: .72;
    transform: scale(1.001);
    transition: transform .35s ease, opacity .25s ease;
}

.bc-home-v24 .bc-service-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(3,5,6,.68) 0%, rgba(3,5,6,.84) 42%, rgba(3,5,6,.98) 100%);
}

.bc-home-v24 .bc-v24-pathways > .bc-service-tile::after,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile::after {
    background: linear-gradient(90deg, rgba(3,5,6,.98) 0%, rgba(3,5,6,.91) 56%, rgba(3,5,6,.48) 100%);
}

.bc-home-v24 .bc-service-tile::before,
.bc-home-v24 .bc-v24-mosaic a.bc-service-tile::before,
.bc-home-v24 .bc-v24-growth__cards > a.bc-service-tile::before {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: 4;
    width: auto;
    height: auto;
    display: block;
    pointer-events: none;
    border: 1px solid rgba(255,210,0,.11);
    border-radius: max(0px, calc(var(--bc-card-radius, 4px) - 1px));
    background: none;
    box-shadow: none;
}

.bc-home-v24 .bc-service-tile > :not(.bc-service-tile__media) {
    position: relative;
    z-index: 2;
}

.bc-home-v24 .bc-service-tile:hover > .bc-service-tile__media,
.bc-home-v24 .bc-service-tile:focus-visible > .bc-service-tile__media {
    opacity: .82;
    transform: scale(1.035);
}

.bc-home-v24 .bc-v24-mosaic a.bc-service-tile {
    display: flex;
}

.bc-character-scene {
    position: relative;
    width: 100%;
    margin-top: 48px;
    padding: 6px;
    overflow: hidden;
    border: 1px solid var(--bc-card-border, rgba(255,210,0,.22));
    border-radius: var(--bc-card-radius, 4px);
    background: #050607;
    box-shadow: 0 0 30px rgba(255,210,0,.055);
}

.bc-character-scene::before {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: 2;
    pointer-events: none;
    border: 1px solid rgba(255,210,0,.14);
    border-radius: max(0px, calc(var(--bc-card-radius, 4px) - 1px));
}

.bc-character-scene__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.bc-character-scene--growth {
    width: min(100%, 900px);
    margin: 58px auto 0;
}

@media (max-width: 700px) {
    .bc-character-scene,
    .bc-character-scene--growth {
        margin-top: 38px;
    }
}

/* v44: section composition and media-overlay refinement. */
.bc-v24-browser {
    position: relative;
    padding: 6px;
    overflow: hidden;
    border-radius: var(--bc-card-radius, 4px);
}
.bc-v24-browser::before {
    content: "";
    position: absolute;
    inset: 6px;
    z-index: 5;
    pointer-events: none;
    border: 1px solid rgba(255,210,0,.13);
    border-radius: max(0px, calc(var(--bc-card-radius, 4px) - 1px));
}
.bc-v24-browser__bar {
    position: relative;
    z-index: 3;
    margin: 0;
}
.bc-v24-browser__screen {
    position: relative;
    height: 449px;
    padding: 0;
    overflow: hidden;
    border-radius: 0 0 max(0px, calc(var(--bc-card-radius, 4px) - 1px)) max(0px, calc(var(--bc-card-radius, 4px) - 1px));
    background: #030405;
}
.bc-v24-browser__slide {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 0;
    transform: scale(1.015);
    transition: opacity .7s ease, transform 5.2s ease;
}
.bc-v24-browser__slide.is-active {
    z-index: 1;
    opacity: .72;
    transform: scale(1.045);
}
.bc-v24-browser__screen::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(90deg,rgba(3,5,6,.62),rgba(3,5,6,.16) 48%,rgba(3,5,6,.28));
}

/* Overview cards need the strongest resting veil because copy runs through
   the centre of the photography. Hover reveals more of the image. */
.bc-home-v24 .bc-v24-index > .bc-service-tile::after {
    background:
        linear-gradient(180deg,rgba(3,5,6,.70),rgba(3,5,6,.86) 48%,rgba(3,5,6,.97)),
        linear-gradient(90deg,rgba(3,5,6,.32),transparent 72%);
}
.bc-home-v24 .bc-v24-index > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-index > .bc-service-tile:focus-visible::after {
    background: linear-gradient(180deg,rgba(3,5,6,.45),rgba(3,5,6,.65) 48%,rgba(3,5,6,.88));
}

/* Website tiles retain their current resting contrast and brighten clearly
   on interaction without changing the established hover motion/glow. */
.bc-home-v24 .bc-v24-service-index > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-service-index > .bc-service-tile:focus-visible::after {
    background: linear-gradient(180deg,rgba(3,5,6,.30),rgba(3,5,6,.52) 48%,rgba(3,5,6,.80));
}

/* SEO now reads as one lead row followed by one grouped options row. */
.bc-v24-seo__lead,
.bc-v24-growth__top {
    display: grid;
    grid-template-columns: minmax(0,.92fr) minmax(480px,1.08fr);
    gap: clamp(54px,7vw,130px);
    align-items: center;
}
.bc-character-scene--seo,
.bc-character-scene--growth {
    width: 100%;
    margin: 0;
}
.bc-v24-pathways {
    grid-template-columns: repeat(3,minmax(0,1fr));
    margin-top: 70px;
}
.bc-v24-pathways > .bc-service-tile {
    display: flex;
    min-height: 330px;
    padding: 32px;
}
.bc-v24-pathways > .bc-service-tile .bc-service-tile__icon {
    grid-row: auto;
    margin-bottom: auto;
}
.bc-v24-pathways > .bc-service-tile h3,
.bc-v24-pathways > .bc-service-tile p,
.bc-v24-pathways > .bc-service-tile b {
    grid-column: auto;
}
.bc-home-v24 .bc-v24-pathways > .bc-service-tile::after {
    background: linear-gradient(180deg,rgba(3,5,6,.82),rgba(3,5,6,.88) 52%,rgba(3,5,6,.96));
}
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:focus-visible::after {
    background: linear-gradient(180deg,rgba(3,5,6,.64),rgba(3,5,6,.74) 52%,rgba(3,5,6,.88));
}

.bc-v24-growth__head {
    max-width: none;
}
.bc-v24-growth__cards {
    margin-top: 70px;
}

/* Social and Creative were over-darkened; keep a solid text-safe base while
   allowing more of the photography to contribute to the section rhythm. */
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile::after {
    background: linear-gradient(180deg,rgba(3,5,6,.30),rgba(3,5,6,.48) 48%,rgba(3,5,6,.90));
}
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile:focus-visible::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile:focus-visible::after {
    background: linear-gradient(180deg,rgba(3,5,6,.16),rgba(3,5,6,.34) 48%,rgba(3,5,6,.78));
}
.bc-v24-mosaic .bc-service-tile__icon {
    align-self: flex-start;
    margin-bottom: auto;
}
.bc-v24-mosaic .bc-service-tile__icon i {
    margin: 0;
    color: inherit;
    font-family: "Font Awesome 6 Free" !important;
    font-size: 18px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 1100px) {
    .bc-v24-seo__lead,
    .bc-v24-growth__top {
        grid-template-columns: 1fr;
    }
    .bc-v24-pathways {
        grid-template-columns: 1fr;
        margin-top: 54px;
    }
    .bc-v24-pathways > .bc-service-tile {
        min-height: 260px;
    }
    .bc-v24-browser__screen {
        height: 329px;
    }
}

@media (max-width: 700px) {
    .bc-v24-browser__screen {
        height: 259px;
    }
    .bc-v24-pathways > .bc-service-tile {
        min-height: 300px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bc-v24-browser__slide { transition: none; }
}

/* v45: one image-card component with layout-specific overlay tokens. */
.bc-home-v24 .bc-service-tile {
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.34),rgba(3,5,6,.52) 48%,rgba(3,5,6,.90));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.18),rgba(3,5,6,.34) 48%,rgba(3,5,6,.76));
}
.bc-home-v24 .bc-service-tile::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile::after,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile::after {
    background: var(--bc-tile-overlay-rest) !important;
    transition: background .25s ease;
}
.bc-home-v24 .bc-service-tile:hover::after,
.bc-home-v24 .bc-service-tile:focus-visible::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile:focus-visible::after,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:focus-visible::after {
    background: var(--bc-tile-overlay-hover) !important;
}

/* Overview and Website cards now share the same contrast curve. This darkens
   the overview while lifting the Website cards from their near-black start. */
.bc-home-v24 .bc-v24-index > .bc-service-tile,
.bc-home-v24 .bc-v24-service-index > .bc-service-tile {
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.62),rgba(3,5,6,.74) 48%,rgba(3,5,6,.95));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.34),rgba(3,5,6,.50) 48%,rgba(3,5,6,.80));
}
.bc-home-v24 .bc-v24-service-index > .bc-service-tile .bc-service-tile__icon {
    margin-bottom: 18px;
}
.bc-home-v24 .bc-v24-service-index > .bc-service-tile .bc-service-tile__cta {
    padding-top: 14px;
}

/* SEO copy sits over a bottom-up black veil: strong at the text baseline and
   almost transparent across the top of the photography. */
.bc-home-v24 .bc-v24-pathways > .bc-service-tile {
    --bc-tile-overlay-rest: linear-gradient(0deg,rgba(3,5,6,.97) 0%,rgba(3,5,6,.82) 34%,rgba(3,5,6,.36) 72%,rgba(3,5,6,.10) 100%);
    --bc-tile-overlay-hover: linear-gradient(0deg,rgba(3,5,6,.90) 0%,rgba(3,5,6,.66) 34%,rgba(3,5,6,.22) 72%,rgba(3,5,6,.05) 100%);
}

/* Growth cards retain the same component but reveal more imagery at rest and
   again on hover. */
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile {
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.42),rgba(3,5,6,.58) 48%,rgba(3,5,6,.90));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.18),rgba(3,5,6,.34) 48%,rgba(3,5,6,.72));
}
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:hover > .bc-service-tile__media,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:focus-visible > .bc-service-tile__media {
    opacity: .94;
}

/* The website showcase has no overlaid copy, so its project work can remain
   substantially brighter than the text-bearing cards. */
.bc-v24-browser__slide.is-active {
    opacity: .90;
}
.bc-v24-browser__screen::after {
    background: linear-gradient(90deg,rgba(3,5,6,.28),rgba(3,5,6,.04) 48%,rgba(3,5,6,.10));
}

/* Character-led Social visuals are illustrative breaks rather than text
   surfaces and therefore need only a very light tonal glaze. */
.bc-home-v24 .bc-v24-social__visual .bc-home-image {
    background-image: linear-gradient(0deg,rgba(3,5,6,.18),rgba(3,5,6,.03)),var(--bc-home-image) !important;
}

/* Section-level links and every tile CTA share the overview typography. */
.bc-home-v24 .bc-v24-link,
.bc-home-v24 .bc-service-tile .bc-service-tile__cta {
    color: var(--v24-yellow,#ffd200) !important;
    font-family: var(--bc-font-display,"Barlow Condensed",sans-serif) !important;
    font-size: 17px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;
}

/* v46: every image-led service card uses the exact Social/Creative veil.
   Layout variants may change their internal grid, never their contrast system. */
.bc-home-v24 .bc-v24-index > .bc-service-tile,
.bc-home-v24 .bc-v24-service-index > .bc-service-tile,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile {
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.34),rgba(3,5,6,.52) 48%,rgba(3,5,6,.90));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.18),rgba(3,5,6,.34) 48%,rgba(3,5,6,.76));
}

/* Legacy index and pathway rules previously reused ::after for animated lines.
   Reset every geometric/visibility property so ::after is always the full-card
   readability veil in every service-card variant and interaction state. */
.bc-home-v24 .bc-v24-index > .bc-service-tile::after,
.bc-home-v24 .bc-v24-service-index > .bc-service-tile::after,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile::after,
.bc-home-v24 .bc-v24-social__grid > .bc-service-tile::after,
.bc-home-v24 .bc-v24-mosaic > .bc-service-tile::after,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile::after,
.bc-home-v24 .bc-v24-index > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-index > .bc-service-tile:focus-visible::after,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:hover::after,
.bc-home-v24 .bc-v24-pathways > .bc-service-tile:focus-visible::after {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    height: auto;
    opacity: 1;
    transform: none;
    transform-origin: center;
    box-shadow: none;
}

.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:hover > .bc-service-tile__media,
.bc-home-v24 .bc-v24-growth__cards > .bc-service-tile:focus-visible > .bc-service-tile__media {
    opacity: .82;
}

/* Keep long overview labels inside their own card at narrower desktop widths. */
.bc-home-v24 .bc-v24-index > .bc-service-tile {
    min-width: 0;
}
.bc-home-v24 .bc-v24-index .bc-service-tile__cta {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}
.bc-home-v24 .bc-v24-index > .bc-service-tile:last-child {
    padding-right: 24px;
}

@media (min-width: 1101px) and (max-width: 1450px) {
    .bc-home-v24 .bc-v24-index {
        grid-template-columns: repeat(3,minmax(0,1fr));
    }
}

/* Each character scene gets a composition-specific crop as well as a distinct
   lighting mood, avoiding the repeated/squashed collage effect. */
.bc-home-v24 .bc-v24-social__visual .bc-home-image:first-child {
    background-position: 50% 44% !important;
}
.bc-home-v24 .bc-v24-social__visual .bc-home-image:nth-child(2) {
    background-position: 54% 50% !important;
}
.bc-home-v24 .bc-v24-social__visual .bc-home-image:nth-child(3) {
    background-position: 50% 50% !important;
}

/* v48: canonical homepage shell and layout variants.
   Sections use one container; card variants may change only composition. */
.bc-home-v24 {
    --bc-page-inset: 80px;
    --bc-content-max: 1760px;
    --bc-tile-heading-size: clamp(27px, 2vw, 38px);
    overflow: visible;
}
.bc-home-v24 .bc-v24-shell {
    width: min(calc(100% - var(--bc-page-inset)), var(--bc-content-max));
    max-width: none;
    margin-inline: auto;
    box-sizing: border-box;
}

/* The overview rail no longer owns a second, competing page width. */
.bc-home-v24 .bc-v24-index {
    width: min(calc(100% - var(--bc-page-inset)), var(--bc-content-max));
    max-width: none;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
    border: 0;
    overflow: visible;
}
.bc-home-v24 .bc-v24-index > .bc-service-tile {
    min-width: 0;
    overflow: hidden;
}
.bc-home-v24 .bc-v24-index .bc-service-tile__cta {
    overflow-wrap: anywhere;
}

/* Tile titles share the established SEO-and-below scale. These two sections
   previously had smaller local values despite using the same component. */
.bc-home-v24 .bc-v24-index .bc-service-tile h3,
.bc-home-v24 .bc-v24-service-index .bc-service-tile strong {
    font-size: var(--bc-tile-heading-size);
    line-height: 1.02;
    letter-spacing: normal;
}

/* Three featured Website routes keep the section scannable. The remaining
   services and their editor-managed imagery stay available elsewhere. */
.bc-home-v24 .bc-v24-service-index {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 70px;
    border: 0;
}
.bc-home-v24 .bc-v24-service-index > .bc-service-tile {
    min-height: 300px;
    padding: 32px;
    overflow: hidden;
    border: 1px solid var(--bc-card-border, rgba(255,210,0,.22));
}
/* Content & Creative returns to the concise cinematic mosaic: Video retains
   emphasis without becoming a full-width slab, while Photography and Brand &
   Design use the shorter stacked cards that worked in the original layout. */
.bc-home-v24 .bc-v24-creative__cards {
    display: grid;
    grid-template-columns: minmax(0, 1.38fr) minmax(360px, .62fr);
    grid-template-rows: repeat(2, 252px);
    gap: 18px;
    margin-top: 70px;
}
.bc-home-v24 .bc-v24-creative__cards > .bc-service-tile {
    min-height: 0;
    padding: 30px 34px;
    overflow: hidden;
    justify-content: flex-start;
    border: 1px solid var(--bc-card-border, rgba(255,210,0,.22));
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.34),rgba(3,5,6,.52) 48%,rgba(3,5,6,.90));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.18),rgba(3,5,6,.34) 48%,rgba(3,5,6,.76));
}
.bc-home-v24 .bc-v24-creative__video {
    grid-column: 1;
    grid-row: 1 / 3;
}
.bc-home-v24 .bc-v24-creative__photo {
    grid-column: 2;
    grid-row: 1;
}
.bc-home-v24 .bc-v24-creative__brand {
    grid-column: 2;
    grid-row: 2;
}
.bc-home-v24 .bc-v24-creative__cards > .bc-service-tile .bc-service-tile__icon {
    position: relative;
    inset: auto;
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    margin: 0;
}
.bc-home-v24 .bc-v24-creative__cards > .bc-service-tile h3 {
    margin: auto 0 0;
    padding: 0;
    font-size: clamp(27px, 2vw, 38px);
}
.bc-home-v24 .bc-v24-creative__cards > .bc-service-tile p {
    margin: 14px 0 0;
    font-size: 16px;
    line-height: 1.5;
}
.bc-home-v24 .bc-v24-creative__cards > .bc-service-tile .bc-service-tile__cta {
    margin-top: 18px;
    padding-top: 18px;
}

@media (min-width: 1101px) and (max-width: 1600px) {
    .bc-home-v24 .bc-v24-index {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 14px;
    }
    .bc-home-v24 .bc-v24-index > .bc-service-tile {
        min-height: 360px;
        padding: 24px 22px;
    }
    .bc-home-v24 .bc-v24-index .bc-service-tile__copy {
        font-size: 15px;
    }
    .bc-home-v24 .bc-v24-index .bc-service-tile__link {
        font-size: 15px;
    }
}
@media (max-width: 1100px) {
    .bc-home-v24 {
        --bc-page-inset: 48px;
    }
    .bc-home-v24 .bc-v24-index {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .bc-home-v24 .bc-v24-service-index {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .bc-home-v24 .bc-v24-creative__cards > .bc-service-tile {
        padding: 28px;
    }
    .bc-home-v24 .bc-v24-creative__cards {
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
        grid-template-rows: repeat(2, 230px);
    }
}
@media (max-width: 900px) {
    .bc-home-v24 .bc-v24-service-index {
        grid-template-columns: 1fr;
    }
    .bc-home-v24 .bc-v24-service-index > .bc-service-tile {
        min-height: 300px;
    }
    .bc-home-v24 .bc-v24-creative__cards {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .bc-home-v24 .bc-v24-creative__video {
        grid-column: 1;
        grid-row: 1;
        min-height: 410px;
    }
    .bc-home-v24 .bc-v24-creative__photo {
        grid-column: 1;
        grid-row: 2;
    }
    .bc-home-v24 .bc-v24-creative__brand {
        grid-column: 1;
        grid-row: 3;
    }
    .bc-home-v24 .bc-v24-creative__photo,
    .bc-home-v24 .bc-v24-creative__brand {
        min-height: 300px;
    }
}
@media (max-width: 700px) {
    .bc-home-v24 {
        --bc-page-inset: 32px;
    }
    .bc-home-v24 .bc-v24-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bc-home-v24 .bc-v24-creative__cards,
    .bc-home-v24 .bc-v24-service-index {
        margin-top: 54px;
    }
}
@media (max-width: 520px) {
    .bc-home-v24 .bc-v24-index {
        grid-template-columns: 1fr;
    }
}

/* v27 homepage pathways
   These are composed components only; the shared service-card typography,
   overlay, border and CTA rules remain the source of truth for service tiles. */
.bc-client-rail {
    position: relative;
    padding: 14px 0 24px;
    border-bottom: 1px solid rgba(255,210,0,.18);
    background: #07090a;
    overflow: hidden;
}
.bc-client-rail__head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 8px;
}
.bc-home-v24 .bc-client-rail .bc-kicker.bc-v24-kicker { margin:0; font-size:13px; }
.bc-client-rail__viewport {
    width:100%;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.bc-client-rail__track {
    display:flex;
    width:max-content;
    will-change:transform;
    animation:bc-client-marquee 34s linear infinite;
}
.bc-client-rail__group { display:flex; flex:0 0 auto; align-items:center; gap:clamp(36px,4vw,72px); padding-right:clamp(36px,4vw,72px); }
.bc-client-logo { display:grid; place-items:center; flex:0 0 clamp(138px,12vw,210px); width:clamp(138px,12vw,210px); height:50px; padding:4px 8px; opacity:.63; transition:opacity .2s ease; }
.bc-client-logo:hover { opacity: 1; }
.bc-client-logo__image { display:block; width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; filter:grayscale(1) brightness(0) invert(1); }
@keyframes bc-client-marquee { to { transform:translate3d(-50%,0,0); } }

.bc-service-directory {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
    margin-top: clamp(58px,6vw,88px);
}
.bc-home-v24 .bc-service-directory__card {
    --bc-tile-overlay-rest: linear-gradient(180deg,rgba(3,5,6,.38),rgba(3,5,6,.58) 44%,rgba(3,5,6,.95));
    --bc-tile-overlay-hover: linear-gradient(180deg,rgba(3,5,6,.18),rgba(3,5,6,.38) 44%,rgba(3,5,6,.80));
    min-height: 290px;
    padding: 30px 32px;
    justify-content: flex-end;
    overflow: hidden;
}
.bc-home-v24 .bc-service-directory__card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: var(--bc-tile-overlay-rest);
    transition: background .25s ease;
}
.bc-home-v24 .bc-service-directory__card:hover::after,
.bc-home-v24 .bc-service-directory__card:focus-visible::after { background: var(--bc-tile-overlay-hover); }
.bc-home-v24 .bc-service-directory__card .bc-service-tile__icon { position: relative; inset: auto; margin: 0 0 auto; }
.bc-home-v24 .bc-service-directory__card h3 { margin: 38px 0 0; font-size: var(--bc-tile-heading-size); }
.bc-home-v24 .bc-service-directory__card p { max-width: 520px; margin: 12px 0 0; font-size: 15px; line-height: 1.5; }
.bc-home-v24 .bc-service-directory__card .bc-service-tile__cta { margin-top: 18px; padding-top: 0; }

.bc-v24-video-photo { background: radial-gradient(circle at 82% 22%,rgba(255,210,0,.055),transparent 26%),#080a0b; }
.bc-v24-video-photo__top { display:grid; grid-template-columns:minmax(0,.86fr) minmax(480px,1.14fr); gap:clamp(60px,8vw,140px); align-items:start; }
.bc-v24-video-photo__top .bc-character-scene { margin-top:0; }
.bc-v24-video-photo__cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:68px; }
.bc-home-v24 .bc-service-tile--video-photo { min-height:350px; padding:38px; justify-content:flex-end; }
.bc-home-v24 .bc-service-tile--video-photo .bc-service-tile__icon { position:relative; inset:auto; width:56px; height:56px; margin:0 0 auto; }
.bc-home-v24 .bc-service-tile--video-photo h3 { margin:42px 0 0; }
.bc-home-v24 .bc-service-tile--video-photo p { max-width:620px; margin:14px 0 0; font-size:16px; }
.bc-home-v24 .bc-service-tile--video-photo .bc-service-tile__cta { margin-top:20px; }

.bc-v24-brand { background:#050708; }
.bc-v24-brand__showcase { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); min-height:540px; border:1px solid var(--bc-card-border,rgba(255,210,0,.22)); border-radius:var(--bc-card-radius,4px); overflow:hidden; }
.bc-v24-brand__media { position:relative; min-width:0; }
.bc-v24-brand__media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 48%,#090b0c),linear-gradient(0deg,rgba(3,5,6,.25),transparent 50%); }
.bc-v24-brand__image { width:100%; height:100%; object-fit:cover; }
.bc-v24-brand__content { position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(48px,5vw,90px); background:#090b0c; }
.bc-v24-brand__content::before { content:""; position:absolute; left:0; top:12%; bottom:12%; width:1px; background:linear-gradient(transparent,#ffd200,transparent); }
.bc-v24-brand__content h2 + p { margin-top:var(--bc-section-copy-gap); }
.bc-v24-brand__content p:not(.bc-v24-kicker) { max-width:620px; }
.bc-v24-brand__pathways { display:grid; grid-template-columns:1fr 1fr; column-gap:32px; margin-top:30px; }
.bc-v24-brand__pathways .bc-v24-link { width:100%; margin-top:0; padding-bottom:0; color:var(--v24-yellow,#ffd200); border-bottom:0 !important; font-size:16px; text-decoration:none !important; }
.bc-v24-brand__pathways .bc-v24-link:hover,
.bc-v24-brand__pathways .bc-v24-link:focus-visible { color:var(--v24-yellow,#ffd200); }

.bc-v24-work { background:linear-gradient(180deg,#080a0b,#050708); }
.bc-v24-work__head { display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(55px,8vw,150px); align-items:end; }
.bc-v24-work__head>div:last-child { max-width:650px; }
.bc-work-carousel { position:relative; margin-top:70px; }
.bc-work-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 44px)/3); gap:22px; margin:0 -2px; padding:2px 2px 12px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-behavior:smooth; scroll-snap-type:inline mandatory; scrollbar-width:none; }
.bc-work-grid::-webkit-scrollbar { display:none; }
.bc-work-card { position:relative; display:flex; min-width:0; min-height:clamp(500px,34vw,560px); flex-direction:column; justify-content:flex-end; padding:6px; overflow:hidden; border:1px solid var(--bc-card-border,rgba(255,210,0,.22)); border-radius:var(--bc-card-radius,4px); background:#090b0c; transition:border-color .22s ease,box-shadow .22s ease; }
.bc-work-card { scroll-snap-align:start; }
.bc-work-card::after { content:""; position:absolute; inset:6px; z-index:3; pointer-events:none; border:1px solid rgba(255,210,0,.11); border-radius:max(0px,calc(var(--bc-card-radius,4px) - 1px)); }
.bc-work-card__media { position:absolute; inset:6px; z-index:1; display:block; overflow:hidden; background:#030405; }
.bc-work-card__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(3,5,6,.12),rgba(3,5,6,.44) 38%,rgba(3,5,6,.97) 88%); transition:background .25s ease; }
.bc-home-v24 .bc-work-card__media img { display:block; width:100%; height:auto; max-width:none; object-fit:contain; object-position:top center; backface-visibility:hidden; transform:none; transition:none; }
.bc-work-card:hover,.bc-work-card:focus-within { border-color:var(--bc-card-border-hover,rgba(255,210,0,.72)); box-shadow:var(--bc-card-hover-glow,0 0 30px rgba(255,210,0,.09)); }
.bc-work-card:hover .bc-work-card__media::after,.bc-work-card:focus-within .bc-work-card__media::after { background:linear-gradient(180deg,rgba(3,5,6,.04),rgba(3,5,6,.30) 38%,rgba(3,5,6,.91) 88%); }
.bc-work-card__content { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; min-height:clamp(488px,calc(34vw - 12px),548px); padding:26px 26px 24px; pointer-events:none; }
.bc-work-card__content a { pointer-events:auto; }
.bc-work-card__content h3 { max-width:440px; margin-top:0; font-size:clamp(29px,2vw,38px); }
.bc-work-card__content h3 a { color:inherit; text-decoration:none; }
.bc-work-card__content h3 a:hover,.bc-work-card__content h3 a:focus-visible { color:#ffd200; }
.bc-work-card__content p { display:none; }
.bc-work-card__content .bc-v24-link { width:fit-content; margin-top:18px; padding-top:0; }
.bc-work-card__tags { display:flex; flex-wrap:wrap; gap:9px; margin-top:12px; }
.bc-work-card__tags span { margin:2px; padding:7px 10px; color:#ffd200; border:1px solid #ffd200; background:rgba(5,7,8,.72); box-shadow:0 0 0 2px rgba(5,7,8,.96),0 0 0 3px rgba(255,210,0,.42); font-size:10px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.bc-work-pagination { position:absolute; right:2px; top:-30px; z-index:4; display:flex; align-items:center; justify-content:flex-end; gap:7px; min-height:12px; }
.bc-work-pagination:empty { display:none; }
.bc-work-pagination button { width:7px; height:7px; padding:0; border:1px solid rgba(255,210,0,.55); border-radius:50%; background:transparent; cursor:pointer; transition:width .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.bc-work-pagination button:hover,.bc-work-pagination button:focus-visible { border-color:#ffd200; box-shadow:0 0 8px rgba(255,210,0,.38); outline:0; }
.bc-work-pagination button.is-active { width:20px; border-radius:999px; border-color:#ffd200; background:#ffd200; }

@media (max-width:1100px) {
    .bc-service-directory { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bc-v24-video-photo__top { grid-template-columns:1fr 1fr; gap:44px; }
    .bc-v24-brand__showcase { grid-template-columns:1fr 1fr; }
    .bc-work-grid { grid-auto-columns:calc((100% - 22px)/2); }
}
@media (max-width:900px) {
    .bc-v24-video-photo__top,
    .bc-v24-brand__showcase,
    .bc-v24-work__head { grid-template-columns:1fr; }
    .bc-v24-video-photo__cards { grid-template-columns:1fr; }
    .bc-v24-brand__media { min-height:420px; }
    .bc-v24-brand__media::after { background:linear-gradient(0deg,#090b0c,transparent 62%); }
    .bc-v24-brand__content { padding:0 34px 48px; }
    .bc-v24-brand__content::before { display:none; }
}
@media (max-width:600px) {
    .bc-client-rail { padding:14px 0 24px; }
    .bc-client-rail__group { gap:28px; padding-right:28px; }
    .bc-client-logo { flex-basis:132px; width:132px; height:46px; }
    .bc-service-directory { grid-template-columns:1fr; gap:14px; }
    .bc-home-v24 .bc-service-directory__card { min-height:280px; padding:28px; }
    .bc-home-v24 .bc-service-tile--video-photo { min-height:330px; padding:28px; }
    .bc-v24-brand__media { min-height:300px; }
    .bc-v24-brand__content { padding:0 25px 36px; }
    .bc-v24-brand__pathways { grid-template-columns:1fr; }
    .bc-work-carousel { margin-top:50px; }
    .bc-work-grid { grid-auto-columns:min(88vw,360px); gap:16px; }
    .bc-work-card { min-height:470px; }
    .bc-work-card__content { min-height:458px; padding:26px 23px 26px; }
}
@media (prefers-reduced-motion:reduce) {
    .bc-client-rail__track { width:100%; animation:none; }
    .bc-client-rail__group { width:100%; justify-content:space-around; flex-wrap:wrap; padding:0 24px; }
    .bc-client-rail__group[aria-hidden="true"] { display:none; }
    .bc-work-grid { scroll-behavior:auto; }
    .bc-work-card { transition:none; }
}

/* v53.1: service-detail information cards remain static because they are not links. */
.bc-service-detail-page .bc-v24-service-index {
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.bc-service-detail-page .bc-v24-service-index .bc-service-tile {
    min-height:280px;
    cursor:default;
    transition:none;
}
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:hover,
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:focus {
    border-color:var(--bc-card-border,rgba(255,210,0,.22)) !important;
    background:var(--bc-card-bg,linear-gradient(145deg,#0b0d0e,#050607)) !important;
    box-shadow:none !important;
    transform:none;
}
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:hover h3,
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:focus h3 {
    color:var(--v24-cream,#fffaf0) !important;
}
.bc-service-detail-page .bc-v24-service-index .bc-service-tile::after,
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:hover::after,
.bc-service-detail-page .bc-v24-service-index .bc-service-tile:focus::after {
    background:var(--bc-tile-overlay-rest) !important;
    transition:none;
}

.bc-service-contact { background:radial-gradient(circle at 18% 20%,rgba(255,210,0,.06),transparent 30%),#090b0c; }
.bc-service-contact__grid { display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:clamp(55px,8vw,140px);align-items:start; }
.bc-service-contact__details>p:not(.bc-kicker) { max-width:620px;margin-top:24px; }
.bc-service-contact__form { padding:clamp(28px,3vw,44px);border:1px solid var(--bc-card-border,rgba(255,210,0,.22));border-radius:var(--bc-card-radius,4px);background:var(--bc-card-bg,linear-gradient(145deg,#0b0d0e,#050607));box-shadow:inset 0 0 0 5px rgba(255,210,0,.025); }
.bc-service-contact__form .bc-enquiry-form { margin-top:0; }
.bc-service-contact__address { display:grid;gap:12px;margin-top:34px;font-style:normal; }
.bc-service-contact__address a { display:flex;align-items:center;gap:14px;color:var(--v24-cream,#fffaf0);text-decoration:none; }
.bc-service-contact__address a:hover,.bc-service-contact__address a:focus { color:var(--v24-yellow,#ffd200); }
.bc-service-contact__address i { width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border:1px solid rgba(255,210,0,.28);color:var(--v24-yellow,#ffd200); }

.bc-contact-page__map-grid { display:grid;grid-template-columns:minmax(0,.72fr) minmax(460px,1.28fr);gap:clamp(55px,8vw,140px);align-items:center; }
.bc-contact-map { min-height:520px;padding:6px;border:1px solid var(--bc-card-border,rgba(255,210,0,.22));background:#050708; }
.bc-contact-map iframe { display:block;width:100%;height:508px;border:0;filter:grayscale(1) contrast(1.08); }

.bc-legal-page__content { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start; }
.bc-legal-page__content article { min-height:100%;padding:34px;border:1px solid var(--bc-card-border,rgba(255,210,0,.22));border-radius:var(--bc-card-radius,4px);background:var(--bc-card-bg,linear-gradient(145deg,#0b0d0e,#050607));box-shadow:inset 0 0 0 5px rgba(255,210,0,.025); }
.bc-legal-page__content h2 { font-size:clamp(28px,2.1vw,38px); }
.bc-legal-page__content p { margin:18px 0 0;font-size:16px; }
.bc-legal-page__content a { color:var(--v24-yellow,#ffd200); }

@media(max-width:1100px){
    .bc-service-detail-page .bc-v24-service-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .bc-service-contact__grid,.bc-contact-page__map-grid { grid-template-columns:1fr; }
    .bc-contact-map { min-height:440px; }
    .bc-contact-map iframe { height:428px; }
}
@media(max-width:600px){
    .bc-service-detail-page .bc-v24-service-index,.bc-legal-page__content { grid-template-columns:1fr; }
    .bc-service-contact__grid { gap:42px; }
    .bc-service-contact__form { padding:24px 18px; }
    .bc-contact-map { min-height:350px; }
    .bc-contact-map iframe { height:338px; }
}
