:root {
    --bc-yellow: #ffd200;
    --bc-yellow-2: #ffb800;
    --bc-amber: #d68a00;
    --bc-cream: #f7eedb;
    --bc-white: #fffaf0;
    --bc-ink: #07090a;
    --bc-ink-2: #101316;
    --bc-charcoal: #161615;
    --bc-muted: #b9ad93;
    --bc-line: rgba(255, 210, 0, .34);
    --bc-line-soft: rgba(255, 250, 240, .16);
    --bc-glow: 0 0 28px rgba(255, 210, 0, .34);
    --bc-container: min(1470px, calc(100vw - 64px));
    --bc-font-display: "Barlow Condensed", "Arial Narrow", "Inter", sans-serif;
    --bc-font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.bc-site {
    margin: 0;
    background: var(--bc-cream);
    color: var(--bc-charcoal);
    font-family: var(--bc-font-body);
    font-size: 17px;
    line-height: 1.58;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img, svg { max-width: 100%; }
.bc-main { overflow: clip; }
.bc-container { width: var(--bc-container); margin: 0 auto; }
.bc-skip-link {
    position: fixed;
    top: 12px;
    left: 12px;
    z-index: 99999;
    transform: translateY(-150%);
    background: var(--bc-yellow);
    color: #111;
    padding: 10px 14px;
    font-weight: 800;
}
.bc-skip-link:focus { transform: translateY(0); }

/* HEADER / NAV: concept direction */
.bc-site-header {
    position: absolute;
    inset: 0 0 auto;
    z-index: 40;
    padding: 24px 32px 0;
    pointer-events: none;
}
.bc-header-shell {
    position: relative;
    width: min(1840px, calc(100vw - 64px));
    min-height: 90px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 300px 1fr auto;
    align-items: center;
    gap: 34px;
    padding: 16px 26px;
    pointer-events: auto;
}
.bc-header-shell::before,
.bc-header-shell::after {
    content: "";
    position: absolute;
    top: 0;
    width: 86px;
    height: 86px;
    border-top: 1px solid rgba(255,210,0,.33);
    opacity: .85;
}
.bc-header-shell::before { left: 0; border-left: 1px solid rgba(255,210,0,.33); clip-path: polygon(0 0, 100% 0, 100% 1px, 16px 1px, 1px 16px, 1px 100%, 0 100%); }
.bc-header-shell::after { right: 0; border-right: 1px solid rgba(255,210,0,.33); clip-path: polygon(0 0, 100% 0, 100% 100%, 99% 100%, 99% 16px, calc(100% - 16px) 1px, 0 1px); }
.bc-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    color: var(--bc-white);
    min-width: 0;
}
.bc-logo__image img,
.bc-logo .custom-logo {
    width: auto;
    max-width: 245px;
    max-height: 72px;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 0 16px rgba(255,210,0,.14));
}
.bc-logo__mark {
    width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    color: var(--bc-yellow);
    filter: drop-shadow(0 0 16px rgba(255,210,0,.32));
}
.bc-logo__mark svg {
    width: 56px;
    height: 56px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bc-logo__text {
    display: grid;
    gap: 0;
    color: var(--bc-white);
    font-family: var(--bc-font-body);
    font-size: 31px;
    font-weight: 900;
    line-height: .88;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.bc-logo__text span:first-child { color: var(--bc-yellow); }
.bc-nav { justify-self: center; }
.bc-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(22px, 2.2vw, 48px);
    list-style: none;
    padding: 0;
    margin: 0;
}
.bc-nav__list a {
    position: relative;
    display: inline-flex;
    color: rgba(255,250,240,.92);
    font-family: var(--bc-font-display);
    font-size: clamp(17px, 1.15vw, 23px);
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    text-shadow: 0 1px 16px rgba(0,0,0,.6);
    white-space: nowrap;
}
.bc-nav__list a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: linear-gradient(90deg, var(--bc-yellow), rgba(255,210,0,0));
    transition: transform .22s ease;
}
.bc-nav__list a:hover,
.bc-nav__list a:focus { color: var(--bc-yellow); }
.bc-nav__list a:hover::after,
.bc-nav__list a:focus::after { transform: scaleX(1); }
.bc-header-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 52px;
    padding: 0 23px 0 26px;
    border: 1px solid rgba(255,210,0,.92);
    border-radius: 8px;
    color: var(--bc-yellow);
    background: linear-gradient(180deg, rgba(255,210,0,.12), rgba(255,210,0,.04));
    box-shadow: inset 0 0 0 1px rgba(255,210,0,.15), 0 0 22px rgba(255,210,0,.18);
    font-family: var(--bc-font-display);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
}
.bc-header-cta::before,
.bc-header-cta::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgba(255,210,0,.2);
    pointer-events: none;
}
.bc-header-cta svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bc-header-cta:hover,
.bc-header-cta:focus {
    color: #0b0a08;
    background: var(--bc-yellow);
    box-shadow: var(--bc-glow);
}
.bc-nav-toggle {
    display: none;
    align-content: center;
    justify-items: center;
    row-gap: 5px;
    width: 46px;
    height: 42px;
    background: rgba(255,210,0,.08);
    border: 1px solid rgba(255,210,0,.45);
    border-radius: 6px;
    padding: 0;
}
.bc-nav-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--bc-yellow);
    margin: 0;
}

/* FRONT HERO */
.bc-hero-concept {
    position: relative;
    min-height: 100svh;
    isolation: isolate;
    overflow: hidden;
    background: #030506;
    color: var(--bc-white);
    padding: 0 0 clamp(34px, 4.5vh, 54px);
}
.bc-hero-concept__bg {
    position: absolute;
    inset: 0;
    z-index: -4;
    background-image:
        linear-gradient(90deg, rgba(3,5,6,.98) 0%, rgba(3,5,6,.91) 28%, rgba(3,5,6,.58) 48%, rgba(3,5,6,.18) 72%, rgba(3,5,6,.2) 100%),
        linear-gradient(180deg, rgba(3,5,6,.34) 0%, rgba(3,5,6,.05) 44%, rgba(3,5,6,.72) 100%),
        var(--bc-hero-bg, linear-gradient(135deg, #030506, #11100c 58%, #040608));
    background-size: cover;
    background-position: var(--bc-hero-bg-position, center center);
    transform: scale(1.01);
}
.bc-hero-concept__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 72% 55%, rgba(255,183,30,.12), transparent 24%),
        radial-gradient(circle at 35% 42%, rgba(255,210,0,.07), transparent 22%);
    opacity: .92;
    pointer-events: none;
}
.bc-hero-concept__frame {
    position: absolute;
    inset: 18px 22px;
    z-index: -1;
    border: 1px solid rgba(255,210,0,.22);
    clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px), 0 18px);
    pointer-events: none;
}
.bc-hero-concept__frame::before,
.bc-hero-concept__frame::after {
    content: "";
    position: absolute;
    bottom: 22px;
    width: min(250px, 18vw);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,210,0,.48), transparent);
}
.bc-hero-concept__frame::before { left: 48px; }
.bc-hero-concept__frame::after { right: 48px; }
.bc-hero-concept__inner {
    position: relative;
    z-index: 1;
    width: min(1780px, calc(100vw - 120px));
    margin: 0 auto;
    min-height: 100svh;
    display: grid;
    grid-template-columns: minmax(760px, 0.98fr) minmax(420px, 1fr);
    align-items: start;
    gap: clamp(24px, 4vw, 86px);
    padding-top: clamp(168px, 17.5vh, 205px);
    padding-bottom: clamp(36px, 5vh, 58px);
}
.bc-hero-concept__content {
    max-width: 915px;
    padding-top: 0;
}
.bc-hero-kicker {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 clamp(24px, 3.1vh, 34px);
    color: var(--bc-yellow);
    font-family: var(--bc-font-display);
    font-weight: 800;
    font-size: clamp(19px, 1.25vw, 27px);
    letter-spacing: .155em;
    text-transform: uppercase;
    text-shadow: 0 0 20px rgba(255,210,0,.34);
}
.bc-hero-kicker::after {
    content: "";
    width: min(310px, 21vw);
    height: 1px;
    background: linear-gradient(90deg, rgba(255,210,0,.74), rgba(255,210,0,0));
    box-shadow: 0 0 12px rgba(255,210,0,.22);
}
.bc-hero-kicker i { font-style: normal; letter-spacing: .02em; }
.bc-hero-concept h1 {
    margin: 0;
    max-width: 920px;
    font-family: var(--bc-font-display);
    font-weight: 800;
    font-size: clamp(70px, 5.15vw, 102px);
    line-height: .88;
    letter-spacing: .01em;
    text-transform: uppercase;
    text-wrap: balance;
    color: var(--bc-white);
    text-shadow: 0 4px 30px rgba(0,0,0,.72);
}
.bc-hero-concept h1 span,
.bc-hero-concept h1 strong,
.bc-hero-concept h1 em { display: block; }
.bc-hero-concept h1 strong {
    color: var(--bc-yellow);
    text-shadow: 0 0 26px rgba(255,210,0,.23), 0 5px 24px rgba(0,0,0,.72);
}
.bc-hero-concept h1 em {
    margin-top: clamp(18px, 2.2vh, 25px);
    max-width: 760px;
    color: var(--bc-white);
    font-size: clamp(27px, 1.85vw, 38px);
    line-height: 1.05;
    letter-spacing: .052em;
    font-style: normal;
}
.bc-hero-lead {
    position: relative;
    max-width: 800px;
    margin: clamp(23px, 3.1vh, 36px) 0 0;
    padding-top: clamp(22px, 2.5vh, 29px);
    color: rgba(255,250,240,.88);
    font-size: clamp(18px, 1.04vw, 22px);
    line-height: 1.55;
}
.bc-hero-lead::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 128px;
    height: 2px;
    background: linear-gradient(90deg, var(--bc-yellow), rgba(255,210,0,0));
    box-shadow: 0 0 16px rgba(255,210,0,.45);
}
.bc-hero-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(132px, 154px));
    justify-content: start;
    gap: clamp(14px, 1.15vw, 22px);
    max-width: 875px;
    margin: clamp(30px, 4vh, 48px) 0 0;
}
.bc-hero-tabs a {
    position: relative;
    display: grid;
    place-items: center;
    gap: 15px;
    min-height: clamp(136px, 15vh, 166px);
    padding: 23px 13px 18px;
    color: rgba(255,250,240,.76);
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.22));
    border: 1px solid rgba(255,250,240,.25);
    border-radius: 9px;
    text-decoration: none;
    font-family: var(--bc-font-display);
    font-size: clamp(21px, 1.18vw, 27px);
    font-weight: 700;
    letter-spacing: .045em;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.055), 0 12px 36px rgba(0,0,0,.34);
}
.bc-hero-tabs a::before,
.bc-hero-tabs a::after {
    content: "";
    position: absolute;
    inset: 9px;
    border: 1px solid rgba(255,210,0,.1);
    pointer-events: none;
}
.bc-hero-tabs a svg {
    width: clamp(52px, 3.45vw, 66px);
    height: clamp(52px, 3.45vw, 66px);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: .96;
    filter: drop-shadow(0 0 12px rgba(255,210,0,.06));
}
.bc-hero-tabs a.is-active,
.bc-hero-tabs a:hover,
.bc-hero-tabs a:focus {
    color: var(--bc-yellow);
    border-color: rgba(255,210,0,1);
    background:
        radial-gradient(circle at 50% 18%, rgba(255,210,0,.34), rgba(255,210,0,.11) 42%, rgba(0,0,0,.18) 72%),
        linear-gradient(180deg, rgba(255,210,0,.11), rgba(0,0,0,.18));
    box-shadow:
        inset 0 0 0 1px rgba(255,210,0,.44),
        inset 0 0 34px rgba(255,210,0,.13),
        0 0 22px rgba(255,210,0,.48),
        0 0 52px rgba(255,210,0,.18),
        0 18px 44px rgba(0,0,0,.46);
}
.bc-hero-prooflets {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(24px, 4vw, 72px);
    margin-top: clamp(24px, 4vh, 46px);
}
.bc-hero-prooflets div {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    min-width: 180px;
}
.bc-hero-prooflets svg {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    fill: none;
    stroke: var(--bc-yellow);
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 14px rgba(255,210,0,.28));
}
.bc-hero-prooflets p { margin: 0; display: grid; gap: 2px; }
.bc-hero-prooflets strong {
    color: var(--bc-yellow);
    font-family: var(--bc-font-display);
    font-size: clamp(17px, 1.1vw, 21px);
    line-height: 1;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.bc-hero-prooflets span {
    color: rgba(255,250,240,.84);
    font-size: 14px;
    line-height: 1.25;
}
.bc-hero-concept__visual {
    position: relative;
    align-self: stretch;
    min-height: 520px;
}
.bc-hero-character-layer {
    position: absolute;
    z-index: 5;
    left: 14%;
    bottom: -2%;
    width: min(42vw, 560px);
    height: min(68vh, 720px);
    background-image: var(--bc-hero-character, none);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    filter: drop-shadow(0 42px 42px rgba(0,0,0,.55));
}
.bc-scroll-cue {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    display: grid;
    justify-items: center;
    gap: 8px;
    color: rgba(255,250,240,.65);
    font-family: var(--bc-font-display);
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.bc-scroll-cue i {
    width: 24px;
    height: 42px;
    border: 2px solid var(--bc-yellow);
    border-radius: 999px;
    box-shadow: 0 0 18px rgba(255,210,0,.42);
    position: relative;
}
.bc-scroll-cue i::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 8px;
    transform: translateX(-50%);
    width: 4px;
    height: 9px;
    border-radius: 999px;
    background: var(--bc-yellow);
}

@media (max-height: 840px) and (min-width: 1100px) {
    .bc-hero-concept__inner { padding-top: 132px; padding-bottom: 32px; }
    .bc-hero-kicker { margin-bottom: 18px; font-size: 18px; }
    .bc-hero-concept h1 { font-size: clamp(56px, 4.3vw, 82px); }
    .bc-hero-concept h1 em { font-size: clamp(23px, 1.55vw, 31px); margin-top: 12px; }
    .bc-hero-lead { margin-top: 19px; padding-top: 18px; font-size: 17px; line-height: 1.42; }
    .bc-hero-tabs { margin-top: 22px; grid-template-columns: repeat(5, minmax(118px, 142px)); }
    .bc-hero-tabs a { min-height: 116px; padding: 16px 9px 13px; gap: 10px; }
    .bc-hero-tabs a svg { width: 44px; height: 44px; }
    .bc-hero-prooflets { display: none; }
    .bc-scroll-cue { display: none; }
}

/* BELOW-HERO STARTER STYLING */

.bc-section { padding: clamp(72px, 8vw, 126px) 0; }
.bc-section--intro { padding: 0; background: #fffaf0; border-bottom: 1px solid rgba(12,12,10,.1); }
.bc-trust-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    border-left: 1px solid rgba(12,12,10,.1);
}
.bc-trust-row div {
    padding: 22px 28px;
    border-right: 1px solid rgba(12,12,10,.1);
}
.bc-trust-row strong {
    display: block;
    font-family: var(--bc-font-display);
    font-size: 20px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.bc-trust-row span { display: block; margin-top: 5px; color: #675d4e; font-size: 14px; line-height: 1.35; }
.bc-section--soft { background: #f3ead8; }
.bc-split { display: grid; grid-template-columns: .82fr 1fr; gap: clamp(48px, 7vw, 120px); align-items: start; }
.bc-eyebrow {
    margin: 0 0 16px;
    color: #b77d00;
    font-family: var(--bc-font-display);
    font-size: 18px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bc-section-copy h2 {
    margin: 0;
    font-family: var(--bc-font-display);
    color: #11110f;
    font-size: clamp(42px, 4vw, 74px);
    line-height: .9;
    letter-spacing: -.01em;
    text-transform: uppercase;
}
.bc-section-copy p:not(.bc-eyebrow) { max-width: 610px; margin: 25px 0 0; color: #39352f; font-size: 18px; }
.bc-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 28px;
    min-height: 50px;
    padding: 0 22px;
    border: 1px solid #111;
    background: var(--bc-yellow);
    color: #111;
    font-family: var(--bc-font-display);
    font-size: 19px;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
    text-decoration: none;
}
.bc-button--dark { background: #111; color: var(--bc-yellow); border-color: #111; }
.bc-issue-list { display: grid; gap: 0; border-top: 1px solid rgba(14,14,12,.18); }
.bc-issue-list div { display: grid; grid-template-columns: 56px 220px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid rgba(14,14,12,.18); }
.bc-issue-list span { color: #aa7a09; font-family: var(--bc-font-display); font-size: 19px; font-weight: 800; }
.bc-issue-list strong { color: #111; font-family: var(--bc-font-display); font-size: 25px; line-height: 1; text-transform: uppercase; }
.bc-issue-list p { margin: 0; color: #4f483d; font-size: 16px; line-height: 1.45; }

@media (max-width: 1380px) {
    .bc-header-shell { grid-template-columns: 260px 1fr auto; gap: 22px; }
    .bc-nav__list { gap: 22px; }
    .bc-header-cta { font-size: 19px; padding-inline: 20px; }
    .bc-hero-concept__inner { width: min(1540px, calc(100vw - 82px)); grid-template-columns: minmax(680px, .98fr) minmax(420px, 1fr); }
    .bc-hero-tabs { grid-template-columns: repeat(5, minmax(120px, 146px)); gap: 14px; }
    .bc-hero-tabs a { min-height: 132px; }
}
@media (max-width: 1140px) {
    .bc-site-header { padding: 18px 18px 0; }
    .bc-header-shell { width: calc(100vw - 36px); grid-template-columns: 1fr auto; }
    .bc-nav {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: min(420px, calc(100vw - 36px));
        display: none;
        padding: 18px;
        background: rgba(5,7,8,.96);
        border: 1px solid rgba(255,210,0,.36);
        border-radius: 10px;
        box-shadow: 0 24px 60px rgba(0,0,0,.45);
    }
    .bc-nav.is-open { display: block; }
    .bc-nav__list { display: grid; justify-content: stretch; gap: 8px; }
    .bc-nav__list a { padding: 12px; font-size: 20px; }
    .bc-header-cta { display: none; }
    .bc-nav-toggle { display: grid; justify-self: end; }
    .bc-hero-concept { min-height: auto; padding-bottom: 80px; }
    .bc-hero-concept__inner { grid-template-columns: 1fr; min-height: 0; padding-top: 132px; }
    .bc-hero-concept__content { max-width: 920px; }
    .bc-hero-concept__visual { min-height: 560px; }
    .bc-hero-character-layer { left: 28%; width: min(56vw, 480px); height: 560px; }
    .bc-hero-map-card { width: min(55vw, 460px); }
    .bc-hero-next-card { width: min(58vw, 420px); right: 2%; bottom: 7%; }
    .bc-trust-row { grid-template-columns: repeat(2, 1fr); }
    .bc-split { grid-template-columns: 1fr; }
    .bc-issue-list div { grid-template-columns: 44px 1fr; }
    .bc-issue-list p { grid-column: 2; }
}
@media (max-width: 720px) {
    :root { --bc-container: min(100% - 34px, 640px); }
    .bc-site-header { padding: 12px; }
    .bc-header-shell { width: calc(100vw - 24px); min-height: 72px; padding: 12px 14px; }
    .bc-logo__image img, .bc-logo .custom-logo { max-width: 205px; max-height: 56px; }
    .bc-logo__mark { width: 44px; height: 44px; }
    .bc-logo__mark svg { width: 42px; height: 42px; }
    .bc-logo__text { font-size: 24px; }
    .bc-hero-concept { padding-bottom: 56px; }
    .bc-hero-concept__frame { inset: 8px; }
    .bc-hero-concept__inner { width: var(--bc-container); padding-top: 112px; }
    .bc-hero-kicker { font-size: 17px; margin-bottom: 20px; }
    .bc-hero-kicker::after { width: 78px; }
    .bc-hero-concept h1 { font-size: clamp(46px, 14vw, 72px); }
    .bc-hero-concept h1 em { font-size: 22px; }
    .bc-hero-lead { font-size: 16px; margin-top: 24px; }
    .bc-hero-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .bc-hero-tabs a { min-height: 112px; font-size: 19px; gap: 9px; }
    .bc-hero-tabs a svg { width: 42px; height: 42px; }
    .bc-hero-prooflets { display: grid; gap: 18px; margin-top: 30px; }
    .bc-hero-concept__visual { min-height: 430px; }
    .bc-hero-character-layer { left: 14%; bottom: 4%; width: 70vw; height: 400px; opacity: .96; }
    .bc-hero-map-card { width: 88vw; right: -18vw; top: 0; opacity: .72; }
    .bc-hero-next-card { position: relative; right: auto; bottom: auto; width: 100%; margin-top: 330px; grid-template-columns: 46px 1fr 42px; min-height: 88px; }
    .bc-target-icon { width: 42px; height: 42px; }
    .bc-target-icon::before { width: 58px; left: -8px; }
    .bc-target-icon::after { height: 58px; top: -8px; }
    .bc-hero-next-card strong { font-size: 27px; }
    .bc-hero-next-card i { width: 40px; height: 40px; font-size: 34px; }
    .bc-scroll-cue { display: none; }
    .bc-trust-row { grid-template-columns: 1fr; border-left: 0; }
    .bc-trust-row div { border-right: 0; border-bottom: 1px solid rgba(12,12,10,.1); }
    .bc-section { padding: 72px 0; }
    .bc-section-copy h2 { font-size: 44px; }
    .bc-issue-list div { grid-template-columns: 1fr; gap: 8px; }
    .bc-issue-list p { grid-column: auto; }
}

/* v10 hero refinement: concept-aligned service tiles and desktop callouts */
.bc-hero-tabs {
    grid-template-columns: repeat(5, minmax(142px, 168px));
    gap: clamp(16px, 1.18vw, 22px);
    max-width: 980px;
    margin-top: clamp(30px, 3.7vh, 44px);
}
.bc-hero-tabs a {
    min-height: clamp(148px, 15.8vh, 176px);
    padding: 22px 13px 18px;
    border-radius: 8px;
    color: rgba(236,224,205,.72);
    border: 1px solid rgba(232,218,196,.28);
    background:
        linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.36)),
        rgba(7,10,10,.58);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.04),
        inset 0 0 35px rgba(255,210,0,.035),
        0 18px 40px rgba(0,0,0,.46);
    overflow: hidden;
    isolation: isolate;
}
.bc-hero-tabs a::before {
    inset: 9px;
    border: 1px solid rgba(255,210,0,.14);
    border-radius: 4px;
    box-shadow: inset 0 0 18px rgba(255,210,0,.025);
    z-index: -1;
}
.bc-hero-tabs a::after {
    inset: -1px;
    border: 1px solid rgba(255,210,0,0);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255,210,0,.0), rgba(255,210,0,.34), rgba(255,210,0,0)) top left / 100% 1px no-repeat,
        linear-gradient(90deg, rgba(255,210,0,.0), rgba(255,210,0,.26), rgba(255,210,0,0)) bottom left / 100% 1px no-repeat,
        linear-gradient(180deg, rgba(255,210,0,.0), rgba(255,210,0,.24), rgba(255,210,0,0)) top left / 1px 100% no-repeat,
        linear-gradient(180deg, rgba(255,210,0,.0), rgba(255,210,0,.24), rgba(255,210,0,0)) top right / 1px 100% no-repeat;
    opacity: .26;
    pointer-events: none;
    z-index: -1;
}
.bc-hero-tabs a svg {
    width: clamp(60px, 3.85vw, 76px);
    height: clamp(60px, 3.85vw, 76px);
    stroke-width: 2.15;
    color: currentColor;
    opacity: .98;
    filter: drop-shadow(0 0 10px rgba(255,210,0,.07));
}
.bc-hero-tabs a span {
    line-height: .95;
    text-shadow: 0 2px 12px rgba(0,0,0,.64);
}
.bc-hero-tabs a.is-active,
.bc-hero-tabs a:hover,
.bc-hero-tabs a:focus {
    color: var(--bc-yellow);
    border-color: rgba(255,210,0,.96);
    background:
        radial-gradient(circle at 50% 20%, rgba(255,210,0,.34), rgba(255,210,0,.14) 38%, rgba(0,0,0,.42) 76%),
        linear-gradient(180deg, rgba(255,210,0,.13), rgba(0,0,0,.31)),
        rgba(12,12,6,.74);
    box-shadow:
        inset 0 0 0 1px rgba(255,210,0,.52),
        inset 0 0 40px rgba(255,210,0,.16),
        0 0 0 1px rgba(255,210,0,.2),
        0 0 22px rgba(255,210,0,.62),
        0 0 58px rgba(255,210,0,.24),
        0 22px 54px rgba(0,0,0,.56);
}
.bc-hero-tabs a.is-active::before,
.bc-hero-tabs a:hover::before,
.bc-hero-tabs a:focus::before {
    border-color: rgba(255,210,0,.48);
    box-shadow: inset 0 0 26px rgba(255,210,0,.12), 0 0 16px rgba(255,210,0,.14);
}
.bc-hero-tabs a.is-active::after,
.bc-hero-tabs a:hover::after,
.bc-hero-tabs a:focus::after { opacity: .92; }

.bc-hero-prooflets {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 940px;
    margin-top: clamp(26px, 3.2vh, 38px);
    border-top: 1px solid rgba(255,210,0,.12);
    background: linear-gradient(90deg, rgba(0,0,0,.08), rgba(255,210,0,.04), rgba(0,0,0,.08));
}
.bc-hero-prooflets div {
    min-width: 0;
    gap: 18px;
    padding: 18px clamp(18px, 1.6vw, 28px);
    border-right: 1px solid rgba(255,210,0,.12);
}
.bc-hero-prooflets div:last-child { border-right: 0; }
.bc-hero-prooflets svg {
    width: clamp(46px, 3.05vw, 58px);
    height: clamp(46px, 3.05vw, 58px);
    stroke: var(--bc-yellow);
    stroke-width: 2;
    filter: drop-shadow(0 0 15px rgba(255,210,0,.34));
}
.bc-hero-prooflets strong {
    font-size: clamp(20px, 1.28vw, 25px);
    letter-spacing: .065em;
    color: var(--bc-yellow);
    text-shadow: 0 0 13px rgba(255,210,0,.24);
}
.bc-hero-prooflets span {
    font-size: clamp(15px, .95vw, 18px);
    color: rgba(255,250,240,.82);
}

@media (max-height: 840px) and (min-width: 1100px) {
    .bc-hero-tabs { margin-top: 22px; grid-template-columns: repeat(5, minmax(118px, 142px)); gap: 13px; max-width: 780px; }
    .bc-hero-tabs a { min-height: 122px; padding: 16px 9px 13px; gap: 8px; font-size: 20px; }
    .bc-hero-tabs a svg { width: 48px; height: 48px; }
    .bc-hero-prooflets { display: grid !important; margin-top: 18px; max-width: 780px; }
    .bc-hero-prooflets div { padding: 13px 16px; gap: 11px; }
    .bc-hero-prooflets svg { width: 38px; height: 38px; }
    .bc-hero-prooflets strong { font-size: 17px; }
    .bc-hero-prooflets span { font-size: 13px; line-height: 1.15; }
}

@media (min-width: 1500px) and (min-height: 880px) {
    .bc-hero-tabs { grid-template-columns: repeat(5, minmax(160px, 182px)); }
    .bc-hero-tabs a { min-height: 182px; }
}

@media (max-width: 900px) {
    .bc-hero-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
    .bc-hero-tabs a { min-height: 118px; }
    .bc-hero-tabs a svg { width: 44px; height: 44px; }
    .bc-hero-prooflets { grid-template-columns: 1fr; border-top: 0; background: transparent; }
    .bc-hero-prooflets div { border-right: 0; border-top: 1px solid rgba(255,210,0,.12); padding-left: 0; }
}

/* v11 callout icon refinement: concept-matched icons with warmer neon gradient/glow */
.bc-hero-prooflets {
    border-top: 1px solid rgba(255, 210, 0, .16);
    background:
        linear-gradient(90deg, rgba(0,0,0,.18), rgba(255,180,0,.055) 45%, rgba(0,0,0,.12)),
        radial-gradient(circle at 12% 50%, rgba(255,140,0,.09), transparent 28%);
    box-shadow:
        inset 0 1px 0 rgba(255, 210, 0, .09),
        inset 0 -1px 0 rgba(255, 210, 0, .05);
}
.bc-hero-prooflets div {
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
}
.bc-hero-prooflets svg.bc-callout-icon {
    width: clamp(50px, 3.45vw, 66px);
    height: clamp(50px, 3.45vw, 66px);
    overflow: visible;
    color: var(--bc-yellow);
    filter:
        drop-shadow(0 0 6px rgba(255, 210, 0, .72))
        drop-shadow(0 0 18px rgba(255, 178, 0, .36))
        drop-shadow(0 0 30px rgba(255, 105, 0, .16));
}
.bc-hero-prooflets svg.bc-callout-icon g {
    filter: drop-shadow(0 0 2px rgba(255, 245, 175, .5));
}
.bc-hero-prooflets strong {
    color: #ffd200;
    background: linear-gradient(180deg, #fff2a8 0%, #ffd200 48%, #ff9900 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    filter:
        drop-shadow(0 0 5px rgba(255,210,0,.42))
        drop-shadow(0 0 14px rgba(255,154,0,.18));
}
.bc-hero-prooflets span {
    color: rgba(255, 250, 240, .9);
    text-shadow: 0 1px 18px rgba(0,0,0,.72);
}

@media (max-height: 840px) and (min-width: 1100px) {
    .bc-hero-prooflets svg.bc-callout-icon { width: 42px; height: 42px; }
}

/* v12 hero callout refinement: local icon-pack implementation with softer neon */
.bc-icon {
    overflow: visible;
    display: block;
}
.bc-icon g {
    vector-effect: non-scaling-stroke;
}
.bc-hero-tabs a .bc-tab-icon {
    color: currentColor;
    filter: drop-shadow(0 0 7px rgba(255, 210, 0, .06));
}
.bc-hero-tabs a:not(.is-active):not(:hover):not(:focus) .bc-tab-icon {
    opacity: .82;
}
.bc-hero-tabs a.is-active .bc-tab-icon,
.bc-hero-tabs a:hover .bc-tab-icon,
.bc-hero-tabs a:focus .bc-tab-icon {
    filter:
        drop-shadow(0 0 3px rgba(255, 240, 170, .42))
        drop-shadow(0 0 13px rgba(255, 210, 0, .26));
}
.bc-hero-prooflets svg.bc-callout-icon {
    width: clamp(50px, 3.35vw, 64px);
    height: clamp(50px, 3.35vw, 64px);
    filter:
        drop-shadow(0 0 3px rgba(255, 236, 150, .46))
        drop-shadow(0 0 10px rgba(255, 205, 0, .26))
        drop-shadow(0 0 18px rgba(255, 145, 0, .12));
}
.bc-hero-prooflets svg.bc-callout-icon g {
    filter: none;
}
.bc-hero-prooflets strong {
    filter:
        drop-shadow(0 0 3px rgba(255, 210, 0, .28))
        drop-shadow(0 0 9px rgba(255, 154, 0, .12));
}
@media (max-height: 840px) and (min-width: 1100px) {
    .bc-hero-prooflets svg.bc-callout-icon { width: 42px; height: 42px; }
}

/* v13 icon refinement: use Font Awesome icon pack instead of custom inline SVG drawings */
.bc-hero-tabs a .bc-fa-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    font-size: clamp(52px, 3.55vw, 70px);
    line-height: 1;
    color: rgba(255, 250, 240, .7);
    text-shadow: 0 0 8px rgba(255, 210, 0, .06);
    filter: none;
}
.bc-hero-tabs a:not(.is-active):not(:hover):not(:focus) .bc-fa-icon {
    color: rgba(255, 250, 240, .62);
    text-shadow: 0 0 8px rgba(255, 250, 240, .08);
}
.bc-hero-tabs a.is-active .bc-fa-icon,
.bc-hero-tabs a:hover .bc-fa-icon,
.bc-hero-tabs a:focus .bc-fa-icon {
    color: #ffd200;
    background: linear-gradient(180deg, #fff4aa 0%, #ffd200 48%, #ff9a00 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow:
        0 0 3px rgba(255, 243, 170, .42),
        0 0 10px rgba(255, 210, 0, .22),
        0 0 18px rgba(255, 145, 0, .08);
}
.bc-hero-prooflets .bc-callout-icon {
    flex: 0 0 auto;
    width: clamp(48px, 3.2vw, 60px);
    height: clamp(48px, 3.2vw, 60px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(44px, 2.9vw, 56px);
    line-height: 1;
    color: #ffd200;
    background: linear-gradient(180deg, #fff2a8 0%, #ffd200 46%, #ff9900 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow:
        0 0 2px rgba(255, 244, 170, .34),
        0 0 8px rgba(255, 210, 0, .22),
        0 0 15px rgba(255, 145, 0, .1);
    filter: none;
}
.bc-fa-stack {
    position: relative;
}
.bc-fa-stack i {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: inherit;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.bc-fa-stack .bc-fa-stack__arrow {
    font-size: .42em;
    transform: translate(39%, -38%) rotate(-8deg);
    text-shadow:
        0 0 2px rgba(255, 244, 170, .3),
        0 0 7px rgba(255, 210, 0, .2);
}
@media (max-height: 840px) and (min-width: 1100px) {
    .bc-hero-tabs a .bc-fa-icon { font-size: 48px; }
    .bc-hero-prooflets .bc-callout-icon { width: 42px; height: 42px; font-size: 39px; }
}
@media (max-width: 900px) {
    .bc-hero-tabs a .bc-fa-icon { font-size: 44px; }
    .bc-hero-prooflets .bc-callout-icon { width: 42px; height: 42px; font-size: 38px; }
}

/* v14 homepage navigation + hero refinement */
.bc-header-shell {
    width: min(1880px, calc(100vw - 48px));
    grid-template-columns: 238px minmax(0, 1fr) auto;
    gap: clamp(18px, 1.4vw, 30px);
    padding-inline: 20px;
}
.bc-logo img {
    display: block;
    width: min(218px, 100%);
    height: auto;
    filter: none;
}
.bc-nav__list { gap: clamp(15px, 1.18vw, 28px); }
.bc-nav__item { position: relative; }
.bc-nav__list > .bc-nav__item > a { font-size: clamp(15px, .92vw, 19px); }
.bc-nav__item--has-children > a { padding-right: 14px; }
.bc-nav__item--has-children > a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
}
.bc-nav__dropdown {
    position: absolute;
    top: calc(100% + 22px);
    left: -18px;
    z-index: 60;
    min-width: 270px;
    max-width: 330px;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: rgba(5,7,8,.97);
    border: 1px solid rgba(255,210,0,.38);
    border-radius: 8px;
    box-shadow: 0 0 32px rgba(255,210,0,.12), 0 24px 60px rgba(0,0,0,.58);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.bc-nav__dropdown::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -23px;
    height: 23px;
}
.bc-nav__item--has-children:hover > .bc-nav__dropdown,
.bc-nav__item--has-children:focus-within > .bc-nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.bc-nav__dropdown li + li { border-top: 1px solid rgba(255,255,255,.07); }
.bc-nav__dropdown a {
    display: block;
    padding: 11px 12px;
    color: rgba(255,250,240,.9);
    font-family: var(--bc-font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    white-space: normal;
}
.bc-nav__dropdown a::after { display: none; }
.bc-nav__dropdown a:hover,
.bc-nav__dropdown a:focus { color: var(--bc-yellow); background: rgba(255,210,0,.06); }

.bc-neon-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 56px;
    padding: 0 25px;
    border: 1px solid rgba(255,210,0,.96);
    border-radius: 8px;
    color: var(--bc-yellow);
    background:
        radial-gradient(circle at 50% 0%, rgba(255,210,0,.18), transparent 62%),
        rgba(8,9,7,.64);
    box-shadow:
        inset 0 0 0 1px rgba(255,210,0,.18),
        inset 0 0 28px rgba(255,210,0,.08),
        0 0 18px rgba(255,210,0,.34),
        0 0 42px rgba(255,210,0,.12);
    font-family: var(--bc-font-display);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease, box-shadow .2s ease, color .2s ease, transform .2s ease;
}
.bc-neon-button::before {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid rgba(255,210,0,.24);
    border-radius: 3px;
    pointer-events: none;
}
.bc-neon-button svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bc-neon-button:hover,
.bc-neon-button:focus {
    color: #0b0a08;
    background: var(--bc-yellow);
    box-shadow: 0 0 26px rgba(255,210,0,.7), 0 0 62px rgba(255,210,0,.28);
    transform: translateY(-1px);
}
.bc-header-cta { min-height: 50px; padding-inline: 20px; font-size: 17px; }
.bc-hero-cta { margin-top: clamp(26px, 3.2vh, 36px); }

/* Keep the hero intentionally restrained on large 27-inch+ displays. */
.bc-hero-concept__inner {
    width: min(1600px, calc(100vw - 120px));
    grid-template-columns: minmax(680px, 820px) minmax(420px, 1fr);
}
.bc-hero-concept__content { max-width: 820px; }
.bc-hero-concept h1 { max-width: 820px; font-size: clamp(64px, 4.15vw, 86px); }
.bc-hero-concept h1 em { max-width: 700px; font-size: clamp(24px, 1.55vw, 32px); }
.bc-hero-lead { max-width: 720px; font-size: clamp(17px, .95vw, 20px); }
.bc-hero-kicker { font-size: clamp(18px, 1.05vw, 23px); }

.bc-hero-prooflets {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 820px;
    margin-top: clamp(34px, 4.2vh, 48px);
    border-top: 1px solid rgba(255,210,0,.2);
    border-bottom: 1px solid rgba(255,210,0,.14);
}
.bc-hero-prooflets > div {
    display: block;
    min-width: 0;
    padding: 20px 24px 21px 0;
}
.bc-hero-prooflets > div + div {
    padding-left: 24px;
    border-left: 1px solid rgba(255,210,0,.2);
}
.bc-hero-prooflets p { gap: 5px; }
.bc-hero-prooflets strong { font-size: clamp(18px, 1.05vw, 21px); }
.bc-hero-prooflets span { font-size: 14px; line-height: 1.35; }

@media (min-width: 1900px) {
    .bc-hero-concept__inner { width: min(1600px, calc(100vw - 160px)); }
    .bc-hero-concept h1 { font-size: 84px; }
    .bc-hero-concept h1 em { font-size: 30px; }
    .bc-hero-lead { font-size: 19px; }
}

@media (max-width: 1680px) {
    .bc-header-shell { grid-template-columns: 205px minmax(0,1fr) auto; }
    .bc-logo img { width: 190px; }
    .bc-nav__list { gap: 14px; }
    .bc-nav__list > .bc-nav__item > a { font-size: 15px; }
    .bc-header-cta { font-size: 16px; padding-inline: 17px; }
}

@media (max-width: 1360px) {
    .bc-site-header { padding: 18px 18px 0; }
    .bc-header-shell { width: calc(100vw - 36px); grid-template-columns: 1fr auto; }
    .bc-logo img { width: 205px; }
    .bc-nav {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: min(520px, calc(100vw - 36px));
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        display: none;
        padding: 18px;
        background: rgba(5,7,8,.98);
        border: 1px solid rgba(255,210,0,.36);
        border-radius: 10px;
        box-shadow: 0 24px 60px rgba(0,0,0,.45);
    }
    .bc-nav.is-open { display: block; }
    .bc-nav__list { display: grid; justify-content: stretch; gap: 4px; }
    .bc-nav__list > .bc-nav__item > a { display: flex; padding: 12px; font-size: 19px; }
    .bc-nav__item--has-children > a::before { right: 14px; }
    .bc-nav__dropdown {
        position: static;
        min-width: 0;
        max-width: none;
        margin: 0 0 8px 12px;
        padding: 0 0 0 12px;
        border: 0;
        border-left: 1px solid rgba(255,210,0,.25);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }
    .bc-nav__dropdown::before { display: none; }
    .bc-nav__dropdown li + li { border-top: 0; }
    .bc-nav__dropdown a { padding: 8px 12px; font-size: 14px; }
    .bc-header-cta { display: none; }
    .bc-nav-toggle { display: grid; justify-self: end; }
    .bc-hero-concept__inner { grid-template-columns: 1fr; min-height: 0; padding-top: 132px; }
    .bc-hero-concept__content { max-width: 820px; }
}

@media (max-width: 720px) {
    .bc-logo img { width: 185px; }
    .bc-hero-concept h1 { font-size: clamp(44px, 13vw, 62px); }
    .bc-hero-concept h1 em { font-size: 21px; }
    .bc-hero-cta { width: 100%; max-width: 330px; }
    .bc-hero-prooflets { grid-template-columns: 1fr; }
    .bc-hero-prooflets > div { padding: 16px 0; }
    .bc-hero-prooflets > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,210,0,.16); }
}

/* v15 alignment + navigation scale correction
   Restores the original concept spacing while retaining the v14 service navigation. */
@media (min-width: 1361px) {
    .bc-site-header {
        padding: 24px 32px 0;
    }
    .bc-header-shell {
        width: min(1840px, calc(100vw - 64px));
        grid-template-columns: 250px minmax(0, 1fr) auto;
        gap: clamp(20px, 1.35vw, 28px);
        padding: 16px 26px;
    }
    .bc-logo img {
        width: min(225px, 100%);
    }
    .bc-nav__list {
        gap: clamp(16px, 1.15vw, 24px);
    }
    .bc-nav__list > .bc-nav__item > a {
        font-size: clamp(17px, 1.02vw, 20px);
        font-weight: 700;
    }
    .bc-header-cta.bc-neon-button,
    .bc-header-cta {
        min-height: 58px;
        padding-inline: 25px;
        gap: 18px;
        font-size: 20px;
    }
    .bc-header-cta svg {
        width: 26px;
        height: 26px;
    }
}

/* Restore the hero's original left/right alignment. The type remains capped
   so it does not over-expand on 27-inch and larger displays. */
.bc-hero-concept__inner {
    width: min(1780px, calc(100vw - 120px));
    grid-template-columns: minmax(680px, 820px) minmax(420px, 1fr);
}
.bc-hero-concept__content {
    max-width: 915px;
}
.bc-hero-concept h1 {
    max-width: 920px;
}
.bc-hero-concept h1 strong {
    color: #ffd200;
    -webkit-text-fill-color: #ffd200;
    background: none;
}
.bc-hero-kicker,
.bc-neon-button,
.bc-hero-prooflets strong {
    --bc-yellow: #ffd200;
}

@media (min-width: 1900px) {
    .bc-hero-concept__inner {
        width: min(1780px, calc(100vw - 120px));
    }
}

@media (max-width: 1540px) and (min-width: 1361px) {
    .bc-header-shell {
        grid-template-columns: 220px minmax(0,1fr) auto;
        gap: 16px;
    }
    .bc-logo img { width: 205px; }
    .bc-nav__list { gap: 13px; }
    .bc-nav__list > .bc-nav__item > a { font-size: 16px; }
    .bc-header-cta.bc-neon-button,
    .bc-header-cta { min-height: 54px; padding-inline: 19px; font-size: 18px; }
}

/* v16 wide-screen alignment correction
   Keep the content rails ~40px from the viewport edges instead of centring
   inside a capped desktop container. Typography remains capped separately. */
@media (min-width: 1361px) {
    .bc-site-header {
        padding-left: 40px;
        padding-right: 40px;
    }

    .bc-header-shell {
        width: 100%;
        max-width: none;
        padding-left: 0;
        padding-right: 0;
    }

    .bc-nav__list > .bc-nav__item > a {
        font-size: clamp(18px, 1.08vw, 21px);
    }

    .bc-header-cta.bc-neon-button,
    .bc-header-cta {
        min-height: 60px;
        padding-inline: 27px;
        font-size: 20px;
    }

    .bc-hero-concept__inner {
        width: calc(100vw - 80px);
        max-width: none;
    }
}

@media (min-width: 1900px) {
    .bc-hero-concept__inner {
        width: calc(100vw - 80px);
        max-width: none;
    }
}

@media (max-width: 1540px) and (min-width: 1361px) {
    .bc-nav__list > .bc-nav__item > a {
        font-size: 17px;
    }
}

/* v17 hero rail alignment
   The header rail is visually correct. Nudge only the hero content rail inward
   so its left edge matches the logo/header rail without changing the nav. */
@media (min-width: 1261px) {
    .bc-hero-concept__inner {
        width: calc(100vw - 100px);
        max-width: none;
    }
}

@media (min-width: 1900px) {
    .bc-hero-concept__inner {
        width: calc(100vw - 100px);
        max-width: none;
    }
}

/* v18 desktop navigation breathing room
   Increase spacing between top-level menu items only. */
@media (min-width: 1541px) {
    .bc-nav__list {
        gap: clamp(20px, 1.35vw, 28px);
    }
}

@media (max-width: 1540px) and (min-width: 1361px) {
    .bc-nav__list {
        gap: 16px;
    }
}

/* v19 desktop mega menus */
@media (min-width: 1361px) {
    .bc-nav { position: static; }
    .bc-nav__item { position: static; }
    .bc-nav__dropdown.bc-mega-menu {
        top: calc(100% + 10px); left: 50%; width: min(1040px, calc(100vw - 120px)); min-width: 0; max-width: none;
        padding: 0; display: grid; grid-template-columns: 300px minmax(0, 1fr); overflow: visible;
        transform: translate(-50%, 10px); border-color: rgba(255,210,0,.42); background: rgba(5,7,8,.985);
        box-shadow: 0 0 34px rgba(255,210,0,.13), 0 28px 70px rgba(0,0,0,.68);
    }
    /* The close delay in brainy-main.js bridges the physical gap. A full-width
       pointer-catching pseudo-element used here previously sat over neighbouring
       nav items and prevented the active mega menu from changing reliably. */
    .bc-nav__dropdown.bc-mega-menu::before { top: -18px; height: 18px; pointer-events:none; }
    .bc-nav__item--has-children:hover > .bc-mega-menu, .bc-nav__item--has-children:focus-within > .bc-mega-menu, .bc-nav__item--has-children.is-pointer-open > .bc-mega-menu { opacity:1; visibility:visible; transform: translate(-50%, 0); }
    .bc-mega-menu__intro { padding: 30px 28px; border-right: 1px solid rgba(255,210,0,.18); border-radius:7px 0 0 7px; background: radial-gradient(circle at 20% 0%, rgba(255,210,0,.13), transparent 52%), rgba(255,210,0,.025); }
    .bc-mega-menu__eyebrow { display:block; margin-bottom:12px; color:var(--bc-yellow); font-family:var(--bc-font-display); font-size:15px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
    .bc-mega-menu__intro > strong { display:block; max-width:240px; color:var(--bc-white); font-family:var(--bc-font-display); font-size:26px; line-height:1.05; letter-spacing:.025em; text-transform:uppercase; }
    .bc-mega-menu__intro p { margin:14px 0 22px; color:rgba(255,250,240,.68); font-size:14px; line-height:1.55; }
    .bc-nav__dropdown .bc-mega-menu__all { display:inline-flex; align-items:center; gap:9px; padding:0 0 5px; color:var(--bc-yellow); background:transparent; font-family:var(--bc-font-display); font-size:15px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
    .bc-nav__dropdown .bc-mega-menu__all:hover, .bc-nav__dropdown .bc-mega-menu__all:focus { background:transparent; }
    .bc-mega-menu__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:0; margin:0; padding:18px; border-radius:0 7px 7px 0; list-style:none; }
    .bc-mega-menu__links li, .bc-mega-menu__links li + li { border:0; }
    .bc-nav__dropdown .bc-mega-menu__links a { position:relative; display:block; min-height:104px; padding:18px 20px; border:1px solid transparent; border-radius:6px; background:transparent; text-decoration:none; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
    .bc-nav__dropdown .bc-mega-menu__links a:hover, .bc-nav__dropdown .bc-mega-menu__links a:focus { color:inherit; background:rgba(255,210,0,.055); border-color:rgba(255,210,0,.18); transform:translateY(-1px); }
    .bc-mega-menu__links strong { display:block; margin-bottom:7px; color:rgba(255,250,240,.96); font-family:var(--bc-font-display); font-size:18px; line-height:1.08; letter-spacing:.035em; text-transform:uppercase; }
    .bc-mega-menu__links a:hover strong, .bc-mega-menu__links a:focus strong { color:var(--bc-yellow); }
    .bc-mega-menu__links span { display:block; color:rgba(255,250,240,.6); font-family:var(--bc-font-body); font-size:13px; font-weight:400; line-height:1.45; letter-spacing:0; text-transform:none; }
    .bc-mega-menu--compact { width:min(820px,calc(100vw - 120px)) !important; }
    .bc-mega-menu--compact .bc-mega-menu__links { grid-template-columns:1fr; }
    .bc-mega-menu--compact .bc-mega-menu__links a { min-height:92px; }
}
@media (max-width: 1360px) {
    .bc-nav__dropdown.bc-mega-menu { display:block; }
    .bc-mega-menu__intro { display:none; }
    .bc-mega-menu__links { margin:0; padding:0; list-style:none; }
    .bc-mega-menu__links li { margin:0; }
    .bc-mega-menu__links a strong { font:inherit; color:inherit; }
    .bc-mega-menu__links a span { display:none; }
}

/* v49 non-linking navigation branch. Video & Photography is a genuine menu
   grouping now; it does not point visitors to one child service arbitrarily
   or require a thin intermediary landing page. */
.bc-nav__branch-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 14px 0 0;
    border: 0;
    border-radius: 0;
    color: rgba(255,250,240,.92);
    background: transparent;
    box-shadow: none;
    font-family: var(--bc-font-display);
    font-size: clamp(18px, 1.08vw, 21px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .045em;
    text-align: left;
    text-shadow: 0 1px 16px rgba(0,0,0,.6);
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
}
.bc-nav__branch-toggle::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 5px;
    height: 5px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-70%) rotate(45deg);
}
.bc-nav__branch-toggle::after {
    content: "";
    position: absolute;
    left: 0;
    right: 14px;
    bottom: -12px;
    height: 2px;
    background: var(--bc-yellow);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}
.bc-nav__branch-toggle:hover,
.bc-nav__branch-toggle:focus-visible {
    color: var(--bc-yellow);
}
.bc-nav__branch-toggle:hover::after,
.bc-nav__branch-toggle:focus-visible::after,
.bc-nav__item--has-children:focus-within > .bc-nav__branch-toggle::after {
    transform: scaleX(1);
}

@media (max-width: 1540px) and (min-width: 1361px) {
    .bc-nav__branch-toggle { font-size: 17px; }
}
@media (max-width: 1360px) {
    .bc-nav__branch-toggle {
        width: 100%;
        padding: 12px 30px 12px 12px;
        font-size: 19px;
    }
    .bc-nav__branch-toggle::before { right: 14px; }
    .bc-nav__branch-toggle::after { display: none; }
    .bc-nav__item--button-branch > .bc-mega-menu { display: none; }
    .bc-nav__item--button-branch.is-branch-open > .bc-mega-menu { display: block; }
}


/* v20 simplified hero hierarchy */
/* v20 simplified homepage hero
   Keep the established hero styling, but reduce the opening hierarchy to
   one H1, one explanatory paragraph and the primary enquiry CTA. */
@media (min-width: 1261px) {
    .bc-hero-concept h1.bc-hero-title--simplified {
        max-width: 900px;
        font-size: clamp(64px, 4.55vw, 88px);
        line-height: .91;
    }

    .bc-hero-concept h1.bc-hero-title--simplified strong {
        margin-top: .08em;
    }

    .bc-hero-lead.bc-hero-lead--simplified {
        max-width: 780px;
        margin-top: clamp(30px, 3.4vh, 40px);
        padding-top: 0;
        font-size: clamp(19px, 1.08vw, 22px);
        line-height: 1.55;
    }

    .bc-hero-lead.bc-hero-lead--simplified::before {
        display: none;
    }

    .bc-hero-title--simplified + .bc-hero-lead + .bc-hero-cta {
        margin-top: clamp(28px, 3.2vh, 36px);
    }
}

/* v23 restore the stronger original hero hierarchy while retaining the
   updated messaging and leaving the old callout/prooflet row out. */
@media (min-width: 1261px) {
    .bc-hero-concept h1.bc-hero-title--simplified {
        max-width: 980px;
        font-size: clamp(64px, 4.45vw, 88px);
        line-height: .91;
    }

    .bc-hero-concept h1.bc-hero-title--simplified strong {
        margin-top: .08em;
    }

    .bc-hero-concept h1.bc-hero-title--simplified em {
        margin-top: clamp(20px, 2.2vh, 26px);
        max-width: 780px;
        font-size: clamp(25px, 1.55vw, 32px);
        line-height: 1.08;
    }

    .bc-hero-lead.bc-hero-lead--simplified {
        max-width: 800px;
        margin-top: clamp(25px, 3vh, 34px);
        padding-top: clamp(22px, 2.5vh, 29px);
        font-size: clamp(18px, 1vw, 21px);
        line-height: 1.55;
    }

    .bc-hero-lead.bc-hero-lead--simplified::before {
        display: block;
    }

    .bc-hero-title--simplified + .bc-hero-lead + .bc-hero-cta {
        margin-top: clamp(26px, 3.2vh, 36px);
    }
}

/* v33 sticky header: transparent at the hero, then a soft black veil rolls down on scroll. */
.bc-site-header {
    --bc-header-scroll: 0;
    position: fixed;
    inset: 0 0 auto;
    isolation: isolate;
    transition: padding .32s ease;
}

.bc-site-header::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    height: calc(100% + 28px);
    pointer-events: none;
    opacity: var(--bc-header-scroll);
    transform: scaleY(calc(.2 + (var(--bc-header-scroll) * .8)));
    transform-origin: top center;
    background:
        linear-gradient(
            to bottom,
            rgba(3, 5, 6, .94) 0%,
            rgba(3, 5, 6, .89) 62%,
            rgba(3, 5, 6, .68) 78%,
            rgba(3, 5, 6, .28) 91%,
            rgba(3, 5, 6, 0) 100%
        );
    backdrop-filter: blur(calc(var(--bc-header-scroll) * 10px)) saturate(calc(1 + (var(--bc-header-scroll) * .08)));
    -webkit-backdrop-filter: blur(calc(var(--bc-header-scroll) * 10px)) saturate(calc(1 + (var(--bc-header-scroll) * .08)));
    transition: opacity .12s linear, transform .16s ease-out;
}

.bc-site-header::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: 0;
    width: min(1880px, calc(100vw - 48px));
    height: 1px;
    transform: translateX(-50%);
    opacity: calc(var(--bc-header-scroll) * .58);
    background: linear-gradient(90deg, transparent, rgba(255,210,0,.28) 12%, rgba(255,210,0,.16) 88%, transparent);
    box-shadow: 0 8px 30px rgba(0,0,0,.32);
    transition: opacity .18s linear;
}

@media (prefers-reduced-motion: reduce) {
    .bc-site-header,
    .bc-site-header::before,
    .bc-site-header::after { transition: none; }
}

/* v34 sticky header edge refinement
   Preserve the v33 veil exactly as-is inside the header, but clip the 28px
   fade tail that extended below the header rail. Header content positioning
   is untouched. Move only the decorative side rails outward to align with
   the hero frame. */
.bc-site-header::before {
    clip-path: inset(0 0 28px 0);
}

@media (min-width: 1261px) {
    .bc-header-shell::before {
        left: -15px;
    }

    .bc-header-shell::after {
        right: -15px;
    }
}

/* v35 header rail alignment
   Match the header decorative side rails exactly to the desktop hero frame
   (hero frame sits 22px from each viewport edge). Content positioning is unchanged. */
@media (min-width: 1261px) {
    .bc-header-shell::before { left: -10px; }
    .bc-header-shell::after  { right: -10px; }
}

/* v36 header rail alignment correction
   Desktop header shell begins 40px from the viewport edge; the hero frame is
   inset 22px. Offset the decorative header rails by the exact 18px difference
   so both vertical lines share the same x-position. Header content is untouched. */
@media (min-width: 1261px) {
    .bc-header-shell::before { left: -18px; }
    .bc-header-shell::after  { right: -18px; }
}

/* v37 sticky header rail + vertical balance refinement
   - Keep header/hero content positions unchanged.
   - Side rails use the same restrained/dark gold treatment at the top of page.
   - Rails extend through the full header shell when sticky.
   - Header shell uses explicitly equal vertical padding so the nav content is
     optically centred between the top and bottom edges. */
@media (min-width: 1261px) {
    .bc-header-shell {
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .bc-header-shell::before,
    .bc-header-shell::after {
        top: 0;
        bottom: 0;
        height: auto;
        border-top-color: rgba(255, 210, 0, .16);
        opacity: .62;
    }

    .bc-header-shell::before {
        border-left-color: rgba(255, 210, 0, .16);
    }

    .bc-header-shell::after {
        border-right-color: rgba(255, 210, 0, .16);
    }
}

/* v38 styled site footer */
.bc-site-footer {
    position: relative;
    overflow: hidden;
    background: #050708;
    color: rgba(255,250,240,.72);
    border-top: 1px solid rgba(255,210,0,.18);
}
.bc-footer-frame {
    position: relative;
    width: min(1840px, calc(100vw - 44px));
    margin: 0 auto;
}
.bc-footer-frame::before,
.bc-footer-frame::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    background: rgba(255,210,0,.16);
    pointer-events: none;
}
.bc-footer-frame::before { left: 0; }
.bc-footer-frame::after { right: 0; }
.bc-footer-cta {
    position: relative;
    background:
        radial-gradient(circle at 78% 42%, rgba(255,184,0,.09), transparent 34%),
        linear-gradient(180deg, #080a0b 0%, #050708 100%);
}
.bc-footer-cta .bc-footer-frame {
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) auto;
    align-items: center;
    gap: 80px;
    padding: 78px 58px;
    border-bottom: 1px solid rgba(255,210,0,.2);
}
.bc-footer-eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: 720px;
    margin: 0 0 28px;
    color: var(--bc-yellow);
    font-family: var(--bc-font-display);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}
.bc-footer-eyebrow b { font-size: 25px; letter-spacing: -.12em; }
.bc-footer-eyebrow i {
    flex: 1;
    height: 1px;
    min-width: 90px;
    background: linear-gradient(90deg, rgba(255,210,0,.72), rgba(255,210,0,0));
}
.bc-footer-cta h2 {
    max-width: 1080px;
    margin: 0;
    color: var(--bc-white);
    font-family: var(--bc-font-display);
    font-size: clamp(48px, 4.7vw, 84px);
    font-weight: 800;
    letter-spacing: .005em;
    line-height: .94;
    text-transform: uppercase;
}
.bc-footer-cta h2 span { color: var(--bc-yellow); }
.bc-footer-cta p {
    max-width: 760px;
    margin: 30px 0 0;
    color: rgba(255,250,240,.72);
    font-family: var(--bc-font-body);
    font-size: clamp(17px, 1.25vw, 21px);
    line-height: 1.6;
}
.bc-footer-cta__action { align-self: end; padding-bottom: 4px; }
.bc-footer-enquiry { min-width: 285px; min-height: 66px; font-size: 22px; text-decoration: none; }
.bc-footer-main {
    background:
        linear-gradient(rgba(255,210,0,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,210,0,.025) 1px, transparent 1px),
        #050708;
    background-size: 120px 120px;
}
.bc-footer-grid {
    display: grid;
    grid-template-columns: minmax(270px, .85fr) minmax(0, 2.15fr);
    gap: clamp(60px, 7vw, 140px);
    padding: 70px 58px 64px;
}
.bc-footer-logo { display: inline-block; }
.bc-footer-logo img { display: block; width: min(280px, 100%); height: auto; }
.bc-footer-brand > p {
    max-width: 410px;
    margin: 28px 0 0;
    font-size: 16px;
    line-height: 1.65;
}
.bc-footer-contact { display: grid; gap: 6px; margin-top: 28px; font-size: 15px; }
.bc-footer-contact a { color: var(--bc-white); text-decoration: none; }
.bc-footer-contact a:hover,
.bc-footer-contact a:focus { color: var(--bc-yellow); }
.bc-footer-nav {
    display: grid;
    grid-template-columns: 1.2fr .9fr 1.05fr .7fr;
    gap: clamp(28px, 3.4vw, 64px);
}
.bc-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.bc-footer-column h3 {
    margin: 0 0 8px;
    color: var(--bc-yellow);
    font-family: var(--bc-font-display);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.bc-footer-column h3.bc-footer-column__secondary { margin-top: 22px; }
.bc-footer-column a {
    position: relative;
    color: rgba(255,250,240,.68);
    font-size: 14px;
    line-height: 1.45;
    text-decoration: none;
    transition: color .18s ease, transform .18s ease;
}
.bc-footer-column a:hover,
.bc-footer-column a:focus { color: var(--bc-yellow); transform: translateX(3px); }
.bc-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    padding: 24px 58px 30px;
    border-top: 1px solid rgba(255,210,0,.16);
    color: rgba(255,250,240,.46);
    font-size: 13px;
}
.bc-footer-bottom > div { display: flex; gap: 24px; }
.bc-footer-bottom a { color: inherit; text-decoration: none; }
.bc-footer-bottom a:hover,
.bc-footer-bottom a:focus { color: var(--bc-yellow); }
@media (max-width: 1100px) {
    .bc-footer-cta .bc-footer-frame { grid-template-columns: 1fr; gap: 38px; min-height: 0; }
    .bc-footer-cta__action { align-self: auto; }
    .bc-footer-grid { grid-template-columns: 1fr; }
    .bc-footer-nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
    .bc-footer-frame { width: calc(100vw - 32px); }
    .bc-footer-cta .bc-footer-frame,
    .bc-footer-grid { padding: 56px 24px; }
    .bc-footer-cta h2 { font-size: clamp(43px, 13vw, 62px); }
    .bc-footer-enquiry { min-width: 0; width: 100%; }
    .bc-footer-nav { grid-template-columns: 1fr 1fr; gap: 38px 24px; }
    .bc-footer-bottom { padding: 22px 24px 28px; flex-direction: column; }
}
@media (max-width: 480px) {
    .bc-footer-nav { grid-template-columns: 1fr; }
}

/* v39: footer legal links + social placement */
.bc-footer-social {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 26px;
}
.bc-footer-social__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,210,0,.28);
    border-radius: var(--bc-card-radius, 4px);
    background: rgba(255,210,0,.025);
    color: var(--bc-yellow);
    font-size: 18px;
    box-shadow: inset 0 0 0 1px rgba(255,210,0,.04);
}
.bc-footer-bottom > div { align-items: center; flex-wrap: wrap; }

/* v41: balanced sticky navigation, shared enquiry dialog and global CTA treatment. */
.bc-site-header {
    padding-top: calc(24px - (var(--bc-header-scroll) * 24px));
}
.admin-bar .bc-site-header {
    top: var(--wp-admin--admin-bar--height, 32px);
}
@media (max-width:1260px) {
    .bc-site-header { padding-top: calc(18px - (var(--bc-header-scroll) * 18px)); }
}
@media (max-width:720px) {
    .bc-site-header { padding-top: calc(12px - (var(--bc-header-scroll) * 12px)); }
}

body.bc-modal-open { overflow: hidden; }
.bc-enquiry-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}
.bc-enquiry-modal.is-open { visibility: visible; opacity: 1; }
.bc-enquiry-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1,3,4,.84);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.bc-enquiry-modal__dialog {
    position: relative;
    width: min(880px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    padding: clamp(28px,4vw,52px);
    border: 1px solid rgba(255,210,0,.46);
    border-radius: 8px;
    background: radial-gradient(circle at 90% 0,rgba(255,210,0,.10),transparent 32%),#07090a;
    color: var(--bc-white);
    box-shadow: 0 0 42px rgba(255,210,0,.14),0 30px 80px rgba(0,0,0,.58);
    transform: translateY(18px) scale(.985);
    transition: transform .24s ease;
}
.bc-enquiry-modal.is-open .bc-enquiry-modal__dialog { transform: none; }
.bc-enquiry-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255,210,0,.35);
    border-radius: 50%;
    background: rgba(255,210,0,.04);
    color: var(--bc-yellow);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}
.bc-enquiry-modal__intro { padding-right: 48px; }
.bc-enquiry-modal__intro h2 {
    margin: 0;
    color: var(--bc-white);
    font-family: var(--bc-font-display);
    font-size: clamp(42px,5vw,66px);
    line-height: .96;
    text-transform: uppercase;
}
.bc-enquiry-modal__intro>p:last-child { max-width: 620px; color: rgba(255,250,240,.68); }
.bc-enquiry-form { margin-top: 30px; }
.bc-enquiry-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bc-enquiry-form label>span,
.bc-enquiry-form legend { display:block;margin-bottom:8px;color:rgba(255,250,240,.82);font-size:14px;font-weight:700; }
.bc-enquiry-form input[type="text"],
.bc-enquiry-form input[type="email"],
.bc-enquiry-form input[type="tel"],
.bc-enquiry-form textarea {
    width:100%;
    border:1px solid rgba(255,210,0,.24);
    border-radius:4px;
    background:#0d1011;
    color:#fffaf0;
    padding:13px 14px;
    outline:none;
}
.bc-enquiry-form input:focus,
.bc-enquiry-form textarea:focus { border-color:var(--bc-yellow);box-shadow:0 0 0 3px rgba(255,210,0,.09); }
.bc-enquiry-form fieldset { margin:24px 0;padding:0;border:0; }
.bc-enquiry-form__checks { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px; }
.bc-enquiry-form__checks label { display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,210,0,.15);border-radius:4px;background:rgba(255,210,0,.025);cursor:pointer; }
.bc-enquiry-form__checks label>span { margin:0;font-weight:500; }
.bc-enquiry-form__checks input {
    appearance:none;
    -webkit-appearance:none;
    display:grid;
    place-content:center;
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin:0;
    border:1px solid rgba(255,210,0,.86);
    border-radius:3px;
    background:linear-gradient(145deg,#090b0c,#030405);
    box-shadow:inset 0 0 10px rgba(255,210,0,.07),0 0 9px rgba(255,210,0,.10);
    cursor:pointer;
}
.bc-enquiry-form__checks input::before {
    content:"";
    width:10px;
    height:6px;
    border-left:2px solid #090b0c;
    border-bottom:2px solid #090b0c;
    transform:rotate(-45deg) scale(0);
    transition:transform .12s ease;
}
.bc-enquiry-form__checks input:checked {
    background:var(--bc-yellow,#ffd200);
    box-shadow:inset 0 0 8px rgba(255,255,255,.2),0 0 14px rgba(255,210,0,.28);
}
.bc-enquiry-form__checks input:checked::before { transform:rotate(-45deg) scale(1); }
.bc-enquiry-form__checks input:focus-visible { outline:0; border-color:var(--bc-yellow,#ffd200); box-shadow:0 0 0 3px rgba(255,210,0,.13),0 0 15px rgba(255,210,0,.22); }
.bc-enquiry-form__checks label>span { display:flex; align-items:center; min-height:22px; line-height:1.25; }
.bc-enquiry-form__requirements { display:block; }
.bc-enquiry-form__footer { display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px; }
.bc-enquiry-form__status { flex:1;margin:0;color:rgba(255,250,240,.68);font-size:14px; }
.bc-enquiry-form__status.is-success { color:#b7efac; }
.bc-enquiry-form__status.is-error { color:#ff9d9d; }
.bc-enquiry-form__honeypot { position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden; }
.bc-enquiry-form button[disabled] { opacity:.55;cursor:wait; }
@media(max-width:700px){
    .bc-enquiry-modal{padding:10px}.bc-enquiry-modal__dialog{max-height:calc(100vh - 20px);padding:28px 20px}.bc-enquiry-form__grid{grid-template-columns:1fr}.bc-enquiry-form__checks{grid-template-columns:1fr 1fr}.bc-enquiry-form__footer{align-items:stretch;flex-direction:column}.bc-enquiry-form__footer .bc-neon-button{width:100%}
}
@media(prefers-reduced-motion:reduce){.bc-enquiry-modal,.bc-enquiry-modal__dialog{transition:none}}

/* v44: responsive hero character placement and compact branded enquiry form. */
@media (min-width: 1261px) {
    .bc-hero-character-layer {
        left: 12%;
        bottom: 5%;
        width: min(36vw, 520px);
        height: min(72vh, 740px);
    }
}

@media (max-width: 1260px) and (min-width: 981px) {
    .bc-hero-concept__inner {
        position: relative;
        width: calc(100vw - 72px);
        grid-template-columns: 1fr;
        overflow: visible;
    }
    .bc-hero-concept__content {
        position: relative;
        z-index: 7;
        width: 72%;
        max-width: 760px;
    }
    .bc-hero-concept__visual {
        position: absolute;
        z-index: 3;
        inset: 0;
        min-height: 0;
        pointer-events: none;
    }
    .bc-hero-character-layer {
        right: -1%;
        left: auto;
        bottom: 4%;
        width: min(34vw, 410px);
        height: min(54vh, 540px);
        background-position: right bottom;
    }
}

@media (max-width: 980px) {
    .bc-hero-concept__inner {
        width: calc(100vw - 48px);
        grid-template-columns: minmax(0,1fr);
    }
    .bc-hero-concept__content {
        position: relative;
        z-index: 3;
        width: 100%;
        max-width: 820px;
    }
    .bc-hero-concept__visual {
        display: block;
        min-height: clamp(300px,62vw,470px);
        margin-top: 18px;
        pointer-events: none;
    }
    .bc-hero-character-layer {
        left: 50%;
        right: auto;
        bottom: 0;
        width: min(66vw,380px);
        height: 100%;
        transform: translateX(-50%);
        background-position: center bottom;
    }
}

@media (max-width: 720px) {
    .bc-hero-concept__inner {
        width: calc(100vw - 48px);
        padding-top: 112px;
    }
    .bc-hero-concept h1,
    .bc-hero-concept h1.bc-hero-title--simplified {
        width: 100%;
        max-width: 100%;
        font-size: clamp(38px,10.5vw,54px);
        line-height: .93;
        text-wrap: wrap;
        overflow-wrap: normal;
    }
    .bc-hero-concept h1 em,
    .bc-hero-concept h1.bc-hero-title--simplified em {
        font-size: clamp(17px,5vw,21px);
        line-height: 1.12;
    }
    .bc-hero-concept__visual {
        min-height: clamp(280px,78vw,360px);
        margin-top: 10px;
    }
    .bc-hero-character-layer {
        width: min(72vw,330px);
    }
}

.bc-enquiry-modal {
    align-items: center;
    overflow-y: auto;
    padding: 16px;
}
.bc-enquiry-modal__dialog {
    width: min(920px,100%);
    max-height: none;
    overflow: visible;
    padding: 26px 30px 28px;
}
.bc-enquiry-modal__close,
.bc-enquiry-modal__close:hover,
.bc-enquiry-modal__close:focus {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-grid !important;
    place-items: center !important;
    top: 14px;
    right: 14px;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,210,0,.78) !important;
    border-radius: var(--bc-card-radius,4px) !important;
    background: rgba(7,9,10,.88) !important;
    color: var(--bc-yellow,#ffd200) !important;
    font-family: var(--bc-font-display) !important;
    font-size: 27px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    box-shadow: inset 0 0 0 5px rgba(255,210,0,.035),0 0 18px rgba(255,210,0,.10) !important;
    text-transform: none !important;
}
.bc-enquiry-modal__close:hover,
.bc-enquiry-modal__close:focus-visible {
    background: var(--bc-yellow,#ffd200) !important;
    color: #07090a !important;
    box-shadow: 0 0 24px rgba(255,210,0,.42) !important;
}
.bc-enquiry-modal__intro {
    padding-right: 58px;
}
.bc-enquiry-modal__intro .bc-kicker {
    margin-bottom: 18px;
}
.bc-enquiry-modal__intro h2 {
    font-size: clamp(38px,4.2vw,52px);
}
.bc-enquiry-modal__intro > p:last-child {
    margin: 8px 0 0;
    font-size: 16px;
    line-height: 1.45;
}
.bc-enquiry-form {
    margin-top: 20px;
}
.bc-enquiry-form__grid {
    gap: 12px 16px;
}
.bc-enquiry-form label > span,
.bc-enquiry-form legend {
    margin-bottom: 6px;
    font-size: 13px;
}
.bc-enquiry-form input[type="text"],
.bc-enquiry-form input[type="email"],
.bc-enquiry-form input[type="tel"],
.bc-enquiry-form textarea {
    min-height: 44px;
    padding: 10px 12px;
    font-size: 16px;
}
.bc-enquiry-form textarea {
    min-height: 98px;
    resize: vertical;
}
.bc-enquiry-form fieldset {
    margin: 16px 0;
}
.bc-enquiry-form__checks {
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
}
.bc-enquiry-form__checks label {
    min-height: 40px;
    padding: 7px 10px;
}
.bc-enquiry-form__footer {
    margin-top: 16px;
}
.bc-enquiry-form button.bc-neon-button,
.bc-enquiry-form button.bc-neon-button:hover,
.bc-enquiry-form button.bc-neon-button:focus {
    appearance: none !important;
    -webkit-appearance: none !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 1px solid rgba(255,210,0,.96) !important;
    border-radius: 8px !important;
    color: var(--bc-yellow,#ffd200) !important;
    background: radial-gradient(circle at 50% 0%,rgba(255,210,0,.18),transparent 62%),rgba(8,9,7,.78) !important;
    box-shadow: inset 0 0 0 1px rgba(255,210,0,.18),inset 0 0 28px rgba(255,210,0,.08),0 0 18px rgba(255,210,0,.28) !important;
    font-family: var(--bc-font-display) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}
.bc-enquiry-form button.bc-neon-button:hover,
.bc-enquiry-form button.bc-neon-button:focus-visible {
    color: #0b0a08 !important;
    background: var(--bc-yellow,#ffd200) !important;
    box-shadow: 0 0 26px rgba(255,210,0,.7),0 0 62px rgba(255,210,0,.28) !important;
    transform: translateY(-1px);
}

@media (max-width: 760px) {
    .bc-enquiry-modal {
        align-items: start;
        padding: 10px;
    }
    .bc-enquiry-modal__dialog {
        width: 100%;
        padding: 24px 18px;
    }
    .bc-enquiry-form__checks {
        grid-template-columns: 1fr 1fr;
    }
}

/* v45: optical centring for modal controls. Parent-theme button metrics must
   not move either glyph away from the true centre of its control. */
.bc-enquiry-modal__close,
.bc-enquiry-modal__close:hover,
.bc-enquiry-modal__close:focus {
    position: absolute !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
.bc-enquiry-modal__close::after {
    content: "\00d7";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    color: inherit;
    font-family: Arial, sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
    transform: translate(-50%,-52%);
}
.bc-enquiry-form button.bc-neon-button {
    display: inline-grid !important;
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    place-content: center;
    place-items: center;
    gap: 16px;
}
.bc-enquiry-form button.bc-neon-button > span {
    display: grid;
    min-height: 24px;
    place-items: center;
    padding-top: 2px;
    line-height: 1 !important;
}
.bc-enquiry-form button.bc-neon-button > svg {
    display: block;
    margin: 0;
    transform: none;
}

/* v51: the established desktop navigation remains available at standard
   laptop widths. Compact navigation starts only at the original 1360px
   breakpoint and keeps its interaction geometry stable. */
@media (max-width: 1360px) {
    .bc-site-header { padding: 18px 18px 0; }
    .bc-header-shell {
        width: calc(100vw - 36px);
        grid-template-columns: 1fr auto;
        gap: 22px;
    }
    .bc-logo img { width: 205px; }
    .bc-nav {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        width: min(420px,calc(100vw - 36px));
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        display: none;
        padding: 18px;
        border: 1px solid rgba(255,210,0,.36);
        border-radius: var(--bc-card-radius,4px);
        background: rgba(5,7,8,.985);
        box-shadow: 0 24px 60px rgba(0,0,0,.45);
    }
    .bc-nav.is-open { display: block; }
    .bc-nav__list { display: grid; justify-content: stretch; gap: 4px; }
    .bc-nav__list > .bc-nav__item > a { display: flex; padding: 12px; font-size: 19px; }
    .bc-nav__list > .bc-nav__item > a:hover,
    .bc-nav__list > .bc-nav__item > a:focus,
    .bc-nav__branch-toggle:hover,
    .bc-nav__branch-toggle:focus-visible { padding-left:12px; color:var(--bc-yellow); background:transparent; transform:none; }
    .bc-nav__list > .bc-nav__item > a::after { display:none; }
    .bc-nav__item--has-children > a::before { right: 14px; }
    .bc-nav__dropdown.bc-mega-menu {
        position: static;
        display: block;
        width: auto !important;
        min-width: 0;
        max-width: none;
        margin: 0 0 8px 12px;
        padding: 0 0 0 12px;
        border: 0;
        border-left: 1px solid rgba(255,210,0,.25);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: none;
    }
    .bc-nav__dropdown.bc-mega-menu::before,
    .bc-mega-menu__intro { display: none; }
    .bc-mega-menu__links { display: block; margin: 0; padding: 0; list-style: none; }
    .bc-mega-menu__links li { margin: 0; }
    .bc-nav__dropdown .bc-mega-menu__links a { min-height: 0; padding: 8px 12px; font-size: 14px; transform:none; }
    .bc-nav__dropdown .bc-mega-menu__links a:hover,
    .bc-nav__dropdown .bc-mega-menu__links a:focus { padding-left:12px; color:var(--bc-yellow); background:rgba(255,210,0,.04); transform:none; }
    .bc-mega-menu__links a strong { margin: 0; color: inherit; font: inherit; }
    .bc-mega-menu__links a span { display: none; }
    .bc-header-cta { display: none; }
    .bc-nav-toggle { display: grid; justify-self: end; }
    .bc-nav__branch-toggle { width: 100%; padding: 12px 30px 12px 12px; font-size: 19px; }
    .bc-nav__branch-toggle::before { right: 14px; }
    .bc-nav__branch-toggle::after { display: none; }
    .bc-nav__item--button-branch > .bc-mega-menu { display: none; }
    .bc-nav__item--button-branch.is-branch-open > .bc-mega-menu { display: block; }
}
