/* BHL public home — page-specific visual layer.
   Loaded after the legacy stylesheet so the existing routes and behaviours remain intact. */

.home-bhl {
    --bhl-paper: #f7f3ec;
    --bhl-paper-bright: #fffdf9;
    --bhl-stone: #e9e2d8;
    --bhl-stone-deep: #d7cec2;
    --bhl-ink: #302b28;
    --bhl-muted: #6f6761;
    --bhl-red: #8e1720;
    --bhl-red-deep: #741018;
    --bhl-red-soft: #c8a1a3;
    --bhl-line: rgba(48, 43, 40, 0.18);
    --bhl-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Baskerville, Georgia, serif;
    --bhl-sans: Inter, "Helvetica Neue", Arial, sans-serif;
    --bhl-page: min(1600px, calc(100vw - 8rem));

    background: var(--bhl-paper);
    color: var(--bhl-ink);
    font-family: var(--bhl-sans);
}

.home-bhl .bhl-icon-library {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.home-bhl .bhl-ui-icon {
    width: 1.35rem;
    height: 1.35rem;
    display: inline-block;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-bhl h1,
.home-bhl h2,
.home-bhl h3,
.home-bhl h4 {
    color: var(--bhl-ink);
}

.home-bhl header {
    background: rgba(247, 243, 236, 0.96) !important;
    border-bottom: 1px solid var(--bhl-line);
    box-shadow: none;
    backdrop-filter: blur(18px) !important;
}

.home-bhl header nav {
    width: var(--bhl-page);
    max-width: none;
    min-height: 108px;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
    gap: 2rem;
}

.home-bhl .logo {
    width: 154px;
    height: 80px;
    display: flex;
    align-items: center;
    background: none;
    -webkit-text-fill-color: initial;
}

.home-bhl .logo:hover {
    background: none;
    animation: none;
}

.home-bhl .logo img {
    width: 154px;
    height: auto;
    display: block;
}

.home-bhl .nav-links {
    gap: clamp(1.2rem, 2.5vw, 3.2rem);
    align-items: center;
}

.home-bhl .nav-links a {
    color: var(--bhl-ink);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.home-bhl .nav-links a:hover,
.home-bhl .nav-links a.active {
    color: var(--bhl-red);
}

.home-bhl .nav-links a::after {
    height: 1px;
    bottom: -0.55rem;
    background: var(--bhl-red);
}

.home-bhl .cta-button {
    justify-self: end;
    padding: 0.65rem 0 0.45rem;
    background: transparent;
    color: var(--bhl-red);
    border: 0;
    border-bottom: 1px solid var(--bhl-red);
    border-radius: 0;
    box-shadow: none;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home-bhl .cta-button:hover {
    color: var(--bhl-red-deep);
    box-shadow: none;
    transform: translateY(-1px);
}

.home-bhl .mobile-menu {
    color: var(--bhl-red);
}

.home-bhl .mobile-menu .bhl-ui-icon {
    width: 1.55rem;
    height: 1.55rem;
}

.home-bhl .hero {
    width: var(--bhl-page);
    min-height: 100svh;
    margin: 0 auto;
    padding: clamp(10rem, 14vw, 13rem) 0 clamp(5rem, 8vw, 8rem);
    display: grid;
    grid-template-columns: minmax(0, 0.83fr) minmax(520px, 1.17fr);
    gap: clamp(3.5rem, 7vw, 8rem);
    align-items: center;
    overflow: visible;
    background: transparent;
    color: var(--bhl-ink);
    text-align: left;
}

.home-bhl .hero::before {
    display: none;
}

.home-bhl .hero-content {
    z-index: 2;
    max-width: 650px;
    min-width: 0;
    transform: none !important;
}

.home-bhl .hero-eyebrow,
.home-bhl .section-eyebrow {
    margin: 0 0 1.7rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--bhl-red);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

.home-bhl .hero-eyebrow span {
    width: 46px;
    height: 1px;
    background: var(--bhl-red);
}

.home-bhl .hero h1 {
    margin: 0 0 2rem;
    color: var(--bhl-ink);
    font-family: var(--bhl-serif);
    font-size: clamp(4rem, 6.2vw, 7.2rem);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 0.92;
    opacity: 1;
    animation: bhlRise 0.72s 0.08s both;
    transform: none;
}

.home-bhl .hero h1 em {
    color: var(--bhl-red);
    font-weight: 400;
}

.home-bhl .hero .subtitle {
    max-width: 590px;
    margin: 0 0 2rem;
    color: var(--bhl-muted);
    font-size: clamp(1rem, 1.3vw, 1.25rem);
    line-height: 1.7;
    opacity: 1;
    animation: bhlRise 0.72s 0.16s both;
    transform: none;
}

.home-bhl .hero .highlight {
    margin: 0 0 2.2rem;
    padding: 0 0 0.75rem;
    display: block;
    width: max-content;
    max-width: 100%;
    background: transparent;
    color: var(--bhl-ink);
    border-bottom: 1px solid var(--bhl-line);
    border-radius: 0;
    backdrop-filter: none;
    font-family: var(--bhl-serif);
    font-size: 0.98rem;
    opacity: 1;
    animation: bhlRise 0.72s 0.24s both;
    transform: none;
}

.home-bhl .hero .highlight span {
    padding: 0 0.45rem;
    color: var(--bhl-red);
}

.home-bhl .hero-buttons {
    margin-top: 0;
    justify-content: flex-start;
    gap: 1.4rem 2rem;
    opacity: 1;
    animation: bhlRise 0.72s 0.32s both;
    transform: none;
}

.home-bhl .btn-primary {
    min-height: 56px;
    padding: 0 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    background: var(--bhl-red);
    color: #fff;
    border: 1px solid var(--bhl-red);
    border-radius: 0;
    box-shadow: none;
    font-family: var(--bhl-sans);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.home-bhl .btn-primary:hover {
    background: var(--bhl-red-deep);
    box-shadow: none;
    transform: translateY(-2px);
}

.home-bhl .btn-secondary {
    min-height: 56px;
    padding: 0.9rem 0;
    display: inline-flex;
    align-items: center;
    background: transparent;
    color: var(--bhl-ink);
    border: 0;
    border-bottom: 1px solid var(--bhl-line);
    border-radius: 0;
    font-family: var(--bhl-serif);
    font-size: 1rem;
}

.home-bhl .btn-secondary:hover {
    background: transparent;
    color: var(--bhl-red);
}

.home-bhl .hero-visual {
    position: relative;
    min-width: 0;
    min-height: 650px;
    margin: 0;
    align-self: stretch;
    animation: bhlImageReveal 0.95s 0.12s both;
}

.home-bhl .hero-image-wrap {
    position: absolute;
    inset: 0 0 3.25rem 3.5rem;
    overflow: hidden;
    background: var(--bhl-stone);
    box-shadow: inset 0 0 0 1px rgba(48,43,40,.08);
}

.home-bhl .hero-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 90% center;
}

.home-bhl .hero-visual figcaption {
    position: absolute;
    right: 0;
    bottom: 0.65rem;
    left: 3.5rem;
    display: flex;
    align-items: center;
    gap: 1rem;
    color: var(--bhl-muted);
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.17em;
    text-transform: uppercase;
}

.home-bhl .hero-visual figcaption i {
    height: 1px;
    flex: 1;
    background: var(--bhl-line);
}

.home-bhl .hero-seal {
    position: absolute;
    left: 0;
    bottom: 5.4rem;
    width: 118px;
    height: 118px;
    display: grid;
    place-content: center;
    text-align: center;
    background: var(--bhl-paper-bright);
    border: 1px solid var(--bhl-stone-deep);
}

.home-bhl .hero-seal::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid var(--bhl-red-soft);
}

.home-bhl .hero-seal small,
.home-bhl .hero-seal strong {
    position: relative;
}

.home-bhl .hero-seal small {
    color: var(--bhl-red);
    font-size: 0.56rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.home-bhl .hero-seal strong {
    margin-top: 0.2rem;
    font-family: var(--bhl-serif);
    font-size: 1.55rem;
    font-weight: 500;
}

.home-bhl .section,
.home-bhl .main-content {
    width: var(--bhl-page);
    max-width: none;
    padding: clamp(7rem, 10vw, 10rem) 0;
}

.home-bhl .section > h2,
.home-bhl .card-info h2,
.home-bhl .app-container > div:last-child > h2,
.home-bhl .faq-container h2 {
    margin-bottom: 1.5rem;
    background: none;
    color: var(--bhl-ink);
    -webkit-text-fill-color: initial;
    font-family: var(--bhl-serif);
    font-size: clamp(3rem, 5vw, 5.8rem);
    font-weight: 400;
    letter-spacing: -0.045em;
    line-height: 0.98;
}

.home-bhl .section > p:not(.section-eyebrow) {
    max-width: 720px;
    margin: 0 auto 4.5rem;
    color: var(--bhl-muted);
    font-size: 1.08rem;
    line-height: 1.7;
}

.home-bhl #services {
    width: 100%;
    padding-right: max(4rem, calc((100vw - var(--bhl-page)) / 2));
    padding-left: max(4rem, calc((100vw - var(--bhl-page)) / 2));
    background: var(--bhl-paper-bright);
    border-top: 1px solid var(--bhl-line);
    border-bottom: 1px solid var(--bhl-line);
}

.home-bhl #services .section-eyebrow {
    justify-content: center;
}

.home-bhl .services-grid {
    counter-reset: bhl-service;
    display: block;
    margin-top: 2rem;
    border-top: 1px solid var(--bhl-line);
}

.home-bhl .service-card {
    counter-increment: bhl-service;
    min-height: 150px;
    margin: 0;
    padding: 2rem 0;
    display: grid;
    grid-template-columns: 55px 64px minmax(190px, 0.72fr) minmax(300px, 1.3fr);
    gap: clamp(1rem, 2.8vw, 3.5rem);
    align-items: center;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--bhl-line);
    border-radius: 0;
    box-shadow: none;
    text-align: left;
}

.home-bhl .service-card::before {
    content: "0" counter(bhl-service);
    color: var(--bhl-red);
    font-family: var(--bhl-serif);
    font-size: 0.8rem;
}

.home-bhl .service-card:hover {
    background: rgba(142, 23, 32, 0.025);
    box-shadow: none;
    transform: none;
}

.home-bhl .service-icon {
    margin: 0;
    padding: 0;
    color: var(--bhl-red);
    background: none;
    border: 0;
    border-radius: 0;
    -webkit-text-fill-color: initial;
    font-size: 1.55rem;
}

.home-bhl .service-icon .bhl-ui-icon {
    width: 1.55rem;
    height: 1.55rem;
    stroke-width: 1.35;
}

.home-bhl .service-card h3 {
    margin: 0;
    font-family: var(--bhl-serif);
    font-size: clamp(1.6rem, 2.2vw, 2.6rem);
    font-weight: 400;
}

.home-bhl .service-card p {
    margin: 0;
    color: var(--bhl-muted);
    font-size: 0.95rem;
    line-height: 1.7;
}

.home-bhl .card-section {
    margin: 0;
    padding: clamp(7rem, 10vw, 10rem) max(4rem, calc((100vw - var(--bhl-page)) / 2));
    background: var(--bhl-stone);
    border-bottom: 1px solid var(--bhl-line);
}

.home-bhl .card-container {
    max-width: none;
    grid-template-columns: 1fr 0.9fr;
    gap: clamp(4rem, 9vw, 10rem);
}

.home-bhl .card-info .section-eyebrow,
.home-bhl .app-container .section-eyebrow {
    margin-bottom: 1.4rem;
}

.home-bhl .card-info h2 {
    text-align: left;
}

.home-bhl .card-info p {
    color: var(--bhl-muted);
    line-height: 1.65;
}

.home-bhl .benefits {
    margin: 2.5rem 0 2.5rem;
}

.home-bhl .benefits li {
    padding: 0.85rem 0;
    color: var(--bhl-ink);
    border-bottom-color: rgba(48,43,40,.14);
}

.home-bhl .benefits .bhl-ui-icon {
    width: 1.15rem;
    height: 1.15rem;
    color: var(--bhl-red);
    stroke-width: 1.8;
}

.home-bhl .card-stage {
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    isolation: isolate;
}

.home-bhl .card-stage::before,
.home-bhl .card-stage::after {
    content: '';
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(142,23,32,.16);
}

.home-bhl .card-stage::before {
    width: 82%;
    height: 82%;
    transform: rotate(8deg);
}

.home-bhl .card-stage::after {
    width: 68%;
    height: 94%;
    transform: rotate(-5deg);
}

.home-bhl .credit-card {
    --card-tilt-x: 0deg;
    --card-tilt-y: -6deg;
    --card-glow-x: 50%;
    --card-glow-y: 50%;
    width: min(100%, 470px);
    max-width: 470px;
    height: 294px;
    perspective: 1400px;
    transform: none !important;
    outline: none;
}

.home-bhl .credit-card:focus-visible {
    outline: 1px solid var(--bhl-red);
    outline-offset: 10px;
}

.home-bhl .credit-card .card-inner,
.home-bhl .credit-card:hover .card-inner {
    transform: rotateX(var(--card-tilt-x)) rotateY(var(--card-tilt-y)) translateZ(0);
    transition: transform .55s cubic-bezier(.22,.7,.2,1);
}

.home-bhl .credit-card.is-flipped .card-inner,
.home-bhl .credit-card.is-flipped:hover .card-inner {
    transform: rotateX(var(--card-tilt-x)) rotateY(calc(180deg + var(--card-tilt-y))) translateZ(0);
}

.home-bhl .card-front,
.home-bhl .card-back {
    border: 1px solid rgba(214,177,126,.62);
    border-radius: 19px;
    box-shadow: 0 34px 78px rgba(72,22,25,.28), 0 1px 0 rgba(255,255,255,.45) inset;
}

.home-bhl .card-front {
    padding: 2rem 2.2rem 1.8rem;
    color: #fff8ec;
    background:
        radial-gradient(circle at 84% 18%, rgba(224,181,124,.22), transparent 24%),
        linear-gradient(118deg, rgba(255,255,255,.09), transparent 34%),
        linear-gradient(145deg, #4d0911 0%, #7f111b 48%, #a01d27 100%);
}

.home-bhl .card-front::before {
    content: '';
    position: absolute;
    inset: 9px;
    width: auto;
    height: auto;
    border: 1px solid rgba(234,205,164,.26);
    border-radius: 13px;
    background: none;
}

.home-bhl .card-front::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: radial-gradient(circle at var(--card-glow-x) var(--card-glow-y), rgba(255,239,210,.4), transparent 31%);
    opacity: .72;
    mix-blend-mode: screen;
}

.home-bhl .card-front > * {
    position: relative;
    z-index: 1;
}

.home-bhl .card-guilloche {
    position: absolute;
    inset: -30% -14% -20% 34%;
    z-index: 0;
    border-radius: 50%;
    opacity: .24;
    background:
        repeating-radial-gradient(ellipse at center, transparent 0 5px, rgba(255,224,180,.5) 6px, transparent 7px 12px),
        repeating-conic-gradient(from 22deg, rgba(255,226,188,.23) 0 1deg, transparent 1deg 7deg);
    transform: rotate(-14deg);
}

.home-bhl .card-guilloche::before {
    content: '';
    position: absolute;
    inset: 26% 18% 20% 4%;
    background: #f0d09e;
    opacity: .7;
    -webkit-mask: url('../images/bhl-monogram.png') center / contain no-repeat;
    mask: url('../images/bhl-monogram.png') center / contain no-repeat;
}

.home-bhl .card-back {
    color: #fdf3e4;
    background:
        radial-gradient(circle at 14% 82%, rgba(213,167,114,.18), transparent 29%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.018) 0 1px, transparent 1px 5px),
        linear-gradient(145deg, #7d111a 0%, #4d0911 100%);
}

.home-bhl .card-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.home-bhl .card-bank-name {
    color: #fff8ec;
    font-family: var(--bhl-serif);
    font-size: 2rem;
    letter-spacing: 0.08em;
    line-height: .82;
    text-shadow: 0 1px 0 rgba(255,255,255,.18);
}

.home-bhl .card-bank-name small {
    margin-top: .45rem;
    display: block;
    color: #d9b27d;
    font-family: var(--bhl-sans);
    font-size: .42rem;
    font-weight: 800;
    letter-spacing: .2em;
}

.home-bhl .card-contactless {
    position: static;
    width: 28px;
    height: 28px;
    color: #e2bd88;
}

.home-bhl .contactless-icon {
    stroke: currentColor;
    stroke-width: 1.45;
}

.home-bhl .card-chip-row {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.home-bhl .card-chip-row > span {
    color: rgba(255,248,236,.7);
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .2em;
    text-transform: uppercase;
}

.home-bhl .card-chip {
    width: 46px;
    height: 36px;
    margin: .45rem 0;
    background:
        linear-gradient(90deg, transparent 48%, rgba(77,63,49,.24) 49% 51%, transparent 52%),
        linear-gradient(0deg, transparent 48%, rgba(77,63,49,.24) 49% 51%, transparent 52%),
        linear-gradient(145deg, #9b6e38, #e7c995 46%, #a57742);
    border: 1px solid rgba(255,233,192,.5);
    border-radius: 6px;
    box-shadow: inset 0 1px 1px rgba(255,255,255,.65), 0 1px 2px rgba(48,43,40,.2);
}

.home-bhl .card-chip::before {
    border-width: 1px;
    border-color: rgba(77,63,49,.36);
}

.home-bhl .card-number,
.home-bhl .card-logo {
    color: #fff8ec;
    text-shadow: none;
}

.home-bhl .card-magnetic-strip {
    height: 58px;
    margin-top: 3.3rem;
    background: linear-gradient(90deg, #2c0509, #160204 56%, #43080d);
    border-top: 1px solid rgba(222,183,132,.25);
    border-bottom: 1px solid rgba(222,183,132,.25);
}

.home-bhl .card-number {
    font-size: 1.26rem;
    letter-spacing: .26em;
    font-variant-numeric: tabular-nums;
    margin: .55rem 0 .9rem;
    text-shadow: 0 1px 2px rgba(28,2,5,.5);
}

.home-bhl .card-label {
    color: rgba(255,248,236,.58);
}

.home-bhl .card-name,
.home-bhl .card-expiry-date {
    color: #fff8ec;
}

.home-bhl .card-logo {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: .8;
}

.home-bhl .card-logo small,
.home-bhl .card-back-logo small {
    margin-bottom: .4rem;
    display: block;
    font-family: var(--bhl-sans);
    font-size: .38rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.home-bhl .card-back-brand {
    position: absolute;
    top: 1.1rem;
    right: 1.6rem;
    left: 1.6rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    color: #f6dfbf;
}

.home-bhl .card-back-brand strong {
    font-family: var(--bhl-serif);
    font-size: 1.35rem;
    letter-spacing: .08em;
}

.home-bhl .card-back-brand span {
    font-size: .43rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.home-bhl .card-signature-panel {
    height: 54px;
    margin: 1.15rem 1.6rem .8rem;
    padding: 0 .9rem;
    background:
        repeating-linear-gradient(0deg, rgba(104,16,25,.06) 0 1px, transparent 1px 4px),
        #fffaf1;
    border-radius: 3px;
}

.home-bhl .card-signature {
    display: flex;
    flex-direction: column;
    color: #5b0d15;
    font-family: var(--bhl-sans);
    font-size: .72rem;
}

.home-bhl .card-signature small,
.home-bhl .card-cvv-box small {
    margin-bottom: .2rem;
    color: #8b6d65;
    font-size: .37rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-bhl .card-cvv-box {
    height: 38px;
    flex-direction: column;
    color: #5b0d15;
    border-radius: 2px;
}

.home-bhl .card-back-info {
    max-width: 72%;
    padding: 0 1.6rem;
    color: rgba(255,248,236,.68);
    font-size: .57rem;
    line-height: 1.55;
}

.home-bhl .card-back-logo {
    right: 1.6rem;
    bottom: 1.2rem;
    color: #fff8ec;
    line-height: .8;
}

.home-bhl .app-section {
    width: 100%;
    padding-right: max(4rem, calc((100vw - var(--bhl-page)) / 2));
    padding-left: max(4rem, calc((100vw - var(--bhl-page)) / 2));
    background: var(--bhl-paper);
}

.home-bhl .app-container {
    max-width: none;
    grid-template-columns: minmax(0, 1.28fr) minmax(0, .72fr);
    gap: clamp(3.5rem, 6vw, 7rem);
}

.home-bhl .custody-portal-visual {
    min-width: 0;
    min-height: 690px;
    margin: 0;
    position: relative;
    overflow: hidden;
    background: #e8d8c2;
    border: 1px solid rgba(126,91,59,.32);
    box-shadow: 0 35px 90px rgba(78,45,28,.18);
}

.home-bhl .custody-portal-visual > img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: left center;
    filter: saturate(.85) contrast(1.02);
}

.home-bhl .custody-portal-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(135deg, rgba(69,8,15,.04), transparent 36%, rgba(59,8,13,.3));
}

.home-bhl .portal-shell {
    position: absolute;
    inset: 7% 4% 10% 18%;
    z-index: 2;
    padding: 1.4rem;
    display: flex;
    flex-direction: column;
    color: #fff6e8;
    background:
        linear-gradient(145deg, rgba(95,14,23,.94), rgba(52,6,12,.95)),
        rgba(82,9,17,.95);
    border: 1px solid rgba(229,193,143,.52);
    box-shadow: 0 34px 80px rgba(45,4,8,.38), inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(16px);
}

.home-bhl .portal-topbar,
.home-bhl .portal-heading,
.home-bhl .portal-panel-title,
.home-bhl .portal-ledger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.home-bhl .portal-topbar {
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(235,211,176,.2);
}

.home-bhl .portal-brand {
    display: flex;
    align-items: baseline;
    gap: .65rem;
}

.home-bhl .portal-brand strong {
    color: #fff4e4;
    font-family: var(--bhl-serif);
    font-size: 1.4rem;
    letter-spacing: .08em;
}

.home-bhl .portal-brand span,
.home-bhl .portal-session,
.home-bhl .portal-live {
    font-size: .46rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.home-bhl .portal-session {
    display: flex;
    align-items: center;
    gap: .45rem;
    color: rgba(255,246,232,.7);
}

.home-bhl .portal-session i,
.home-bhl .portal-ledger-row i {
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 50%;
    background: #d8b37e;
    box-shadow: 0 0 0 4px rgba(216,179,126,.13);
}

.home-bhl .portal-heading {
    padding: 1.35rem 0 1.1rem;
}

.home-bhl .portal-heading > div {
    display: flex;
    flex-direction: column;
    gap: .3rem;
}

.home-bhl .portal-heading span,
.home-bhl .portal-kpi > span {
    color: #d8b37e;
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.home-bhl .portal-heading strong {
    color: #fff6e8;
    font-family: var(--bhl-serif);
    font-size: 1.45rem;
    font-weight: 400;
}

.home-bhl .portal-live {
    padding: .45rem .6rem;
    color: #efd8b7;
    border: 1px solid rgba(229,193,143,.38);
}

.home-bhl .portal-kpis {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: .65rem;
}

.home-bhl .portal-kpi {
    min-width: 0;
    padding: .9rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: rgba(255,248,236,.055);
    border: 1px solid rgba(235,211,176,.16);
}

.home-bhl .portal-kpi-primary {
    background: linear-gradient(135deg, rgba(226,187,132,.2), rgba(255,255,255,.04));
    border-color: rgba(229,193,143,.38);
}

.home-bhl .portal-kpi strong {
    margin: .35rem 0 .18rem;
    color: #fff6e8;
    font-family: var(--bhl-serif);
    font-size: 1.35rem;
    font-weight: 400;
}

.home-bhl .portal-kpi-primary strong {
    font-size: 1.75rem;
}

.home-bhl .portal-kpi small {
    color: rgba(255,246,232,.54);
    font-size: .52rem;
}

.home-bhl .portal-data-grid {
    min-height: 0;
    margin-top: .65rem;
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: .65rem;
    flex: 1;
}

.home-bhl .portal-chart,
.home-bhl .portal-ledger {
    min-width: 0;
    padding: .9rem;
    background: rgba(20,2,5,.18);
    border: 1px solid rgba(235,211,176,.14);
}

.home-bhl .portal-panel-title {
    margin-bottom: .75rem;
    color: rgba(255,246,232,.78);
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.home-bhl .portal-panel-title small {
    color: #d8b37e;
    font-size: .43rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-bhl .portal-chart svg {
    width: 100%;
    height: auto;
    display: block;
    overflow: visible;
}

.home-bhl .portal-chart-grid {
    fill: none;
    stroke: rgba(255,246,232,.09);
    stroke-width: 1;
}

.home-bhl .portal-chart-area {
    fill: url(#portalChartFill);
}

.home-bhl .portal-chart-line {
    fill: none;
    stroke: #e0bb88;
    stroke-width: 2;
    stroke-linecap: round;
}

.home-bhl .portal-ledger-row {
    padding: .8rem 0;
    color: rgba(255,246,232,.65);
    border-top: 1px solid rgba(235,211,176,.12);
    font-size: .52rem;
}

.home-bhl .portal-ledger-row > span {
    display: flex;
    align-items: center;
    gap: .55rem;
}

.home-bhl .portal-ledger-row strong {
    color: #f0d6b0;
    font-size: .46rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.home-bhl .custody-portal-visual figcaption {
    position: absolute;
    right: 1.6rem;
    bottom: 1.2rem;
    left: 1.6rem;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: .7rem;
    color: #fff7eb;
    font-size: .48rem;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    text-shadow: 0 1px 12px rgba(42,4,8,.7);
}

.home-bhl .custody-portal-visual figcaption i {
    height: 1px;
    flex: 1;
    background: rgba(255,245,229,.5);
}

.home-bhl .app-container > div:last-child > h2 {
    text-align: left;
}

.home-bhl .app-container > div:last-child > p:not(.section-eyebrow) {
    max-width: 720px;
    margin-left: 0;
    color: var(--bhl-muted);
    font-size: 1.05rem;
    line-height: 1.75;
    text-align: left;
}

.home-bhl .app-features {
    margin-top: 2.5rem;
    border-top: 1px solid var(--bhl-line);
}

.home-bhl .feature {
    padding: 1.25rem 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--bhl-line);
    border-radius: 0;
    box-shadow: none;
}

.home-bhl .feature > .bhl-ui-icon {
    width: 42px;
    height: 42px;
    color: var(--bhl-red);
    padding: .55rem;
    border: 1px solid rgba(142,23,32,.28);
    stroke-width: 1.35;
}

.home-bhl .btn-primary .bhl-ui-icon {
    width: 1.05rem;
    height: 1.05rem;
    stroke-width: 1.75;
}

.home-bhl .feature h4 {
    color: var(--bhl-ink);
    font-family: var(--bhl-serif);
    font-size: 1.2rem;
    font-weight: 500;
}

.home-bhl .feature p {
    color: var(--bhl-muted);
}

.home-bhl .rates-section {
    padding: 0;
    background: var(--bhl-paper-bright);
    border: 1px solid var(--bhl-stone-deep);
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
}

.home-bhl .rates-table th,
.home-bhl .rates-table td {
    padding: 1.15rem 1.4rem;
    border-bottom-color: var(--bhl-line);
}

.home-bhl .rates-table th {
    background: var(--bhl-stone);
    color: var(--bhl-ink);
    border-top: 3px solid var(--bhl-red);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.home-bhl .faq-section {
    padding: clamp(7rem, 10vw, 10rem) max(4rem, calc((100vw - var(--bhl-page)) / 2));
    background: var(--bhl-stone);
    border-top: 1px solid var(--bhl-line);
}

.home-bhl .faq-container {
    max-width: 980px;
}

.home-bhl .faq-container h2 {
    text-align: left;
}

.home-bhl .faq-container > p {
    margin-bottom: 3rem;
    color: var(--bhl-muted);
}

.home-bhl .faq-item {
    margin: 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--bhl-line);
    border-radius: 0;
    box-shadow: none;
}

.home-bhl .faq-item:last-child {
    border-bottom: 1px solid var(--bhl-line);
}

.home-bhl .faq-question {
    padding: 1.45rem 0;
    font-family: var(--bhl-serif);
    font-size: 1.15rem;
    font-weight: 500;
}

.home-bhl .faq-question:hover {
    background: transparent;
    color: var(--bhl-red);
}

.home-bhl .faq-toggle {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--bhl-red);
}

.home-bhl .faq-answer {
    padding-right: 3rem;
    padding-left: 0;
    color: var(--bhl-muted);
}

.home-bhl .faq-answer.active {
    padding: 0 3rem 1.5rem 0;
}

.home-bhl footer {
    padding: 5rem max(4rem, calc((100vw - var(--bhl-page)) / 2)) 3rem;
    background: var(--bhl-paper-bright);
    color: var(--bhl-ink);
    border-top: 1px solid var(--bhl-line);
}

.home-bhl .footer-content {
    max-width: none;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(2rem, 5vw, 6rem);
}

.home-bhl .footer-section h3 {
    color: var(--bhl-red);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

.home-bhl .footer-section a {
    color: var(--bhl-muted);
    font-family: var(--bhl-serif);
    font-size: 0.95rem;
}

.home-bhl .footer-section a:hover {
    color: var(--bhl-red);
}

.home-bhl footer > div:last-child {
    border-top-color: var(--bhl-line) !important;
    color: var(--bhl-muted);
    font-family: var(--bhl-serif);
    font-size: 0.9rem;
}

.home-bhl .fade-in {
    animation: bhlRise 0.65s ease both;
}

.home-bhl #services,
.home-bhl #products,
.home-bhl #app {
    scroll-margin-top: 108px;
}

@keyframes bhlRise {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes bhlImageReveal {
    from { opacity: 0; clip-path: inset(0 0 100% 0); }
    to { opacity: 1; clip-path: inset(0 0 0 0); }
}

@media (max-width: 1180px) {
    .home-bhl {
        --bhl-page: calc(100vw - 4rem);
    }

    .home-bhl .hero {
        grid-template-columns: 0.9fr 1.1fr;
        gap: 3rem;
    }

    .home-bhl .hero-visual {
        min-height: 570px;
    }

    .home-bhl #services,
    .home-bhl .card-section,
    .home-bhl .app-section,
    .home-bhl .faq-section,
    .home-bhl footer {
        padding-right: 2rem;
        padding-left: 2rem;
    }
}

@media (max-width: 900px) {
    .home-bhl {
        --bhl-page: calc(100vw - 2.5rem);
    }

    .home-bhl header nav {
        min-height: 86px;
        grid-template-columns: 1fr auto auto;
        gap: 1.2rem;
    }

    .home-bhl .logo,
    .home-bhl .logo img {
        width: 118px;
    }

    .home-bhl .hero {
        min-height: auto;
        padding-top: 9rem;
        grid-template-columns: 1fr;
    }

    .home-bhl .hero-visual {
        min-height: 620px;
    }

    .home-bhl .card-container,
    .home-bhl .app-container {
        grid-template-columns: 1fr;
    }

    .home-bhl .card-container > div:last-child {
        grid-row: 1;
    }

    .home-bhl .service-card {
        grid-template-columns: 44px 50px 1fr;
    }

    .home-bhl .service-card p {
        grid-column: 3;
    }

    .home-bhl .footer-content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .home-bhl header nav {
        width: calc(100vw - 2rem);
    }

    .home-bhl .nav-links {
        position: absolute;
        top: 86px;
        right: 0;
        left: 0;
        padding: 1.5rem 1rem;
        flex-direction: column;
        gap: 1.25rem;
        background: rgba(255,253,249,.98);
        border-bottom: 1px solid var(--bhl-line);
    }

    .home-bhl .mobile-menu {
        display: block;
        grid-column: 3;
    }

    .home-bhl .cta-button {
        grid-column: 2;
        grid-row: 1;
    }

    .home-bhl .hero h1 {
        font-size: clamp(3.8rem, 14vw, 6rem);
    }

    .home-bhl .section,
    .home-bhl .main-content {
        width: var(--bhl-page);
        padding: 6rem 0;
    }

    .home-bhl .section > h2,
    .home-bhl .card-info h2,
    .home-bhl .app-container > div:last-child > h2,
    .home-bhl .faq-container h2 {
        font-size: clamp(3rem, 12vw, 4.8rem);
    }

    .home-bhl .custody-portal-visual {
        min-height: 650px;
    }

    .home-bhl .portal-shell {
        inset: 6% 4% 10% 18%;
    }
}

@media (max-width: 560px) {
    .home-bhl {
        --bhl-page: calc(100vw - 2rem);
    }

    .home-bhl header nav {
        min-height: 76px;
        grid-template-columns: 1fr auto auto;
        gap: 0.8rem;
    }

    .home-bhl .logo,
    .home-bhl .logo img {
        width: 92px;
    }

    .home-bhl .cta-button {
        padding: 0.5rem 0 0.35rem;
        font-size: 0.56rem;
    }

    .home-bhl .mobile-menu {
        font-size: 1.2rem;
    }

    .home-bhl .nav-links {
        top: 76px;
    }

    .home-bhl .hero {
        padding-top: 7.5rem;
        gap: 3.2rem;
    }

    .home-bhl .hero h1 {
        font-size: clamp(3.45rem, 17vw, 5rem);
    }

    .home-bhl .hero-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .home-bhl .btn-primary {
        width: 100%;
    }

    .home-bhl .btn-secondary {
        align-self: flex-start;
    }

    .home-bhl .hero-visual {
        min-height: 440px;
    }

    .home-bhl .hero-image-wrap {
        inset: 0 0 2.8rem 1.7rem;
    }

    .home-bhl .hero-visual figcaption {
        left: 1.7rem;
        gap: 0.6rem;
        font-size: 0.5rem;
    }

    .home-bhl .hero-seal {
        width: 88px;
        height: 88px;
        bottom: 4.8rem;
    }

    .home-bhl .hero-seal strong {
        font-size: 1.12rem;
    }

    .home-bhl #services,
    .home-bhl .card-section,
    .home-bhl .app-section,
    .home-bhl .faq-section,
    .home-bhl footer {
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .home-bhl .service-card {
        grid-template-columns: 34px 38px 1fr;
        gap: 0.8rem;
        padding: 1.6rem 0;
    }

    .home-bhl .service-card p {
        grid-column: 1 / -1;
        padding-left: 72px;
    }

    .home-bhl .credit-card {
        height: 210px;
    }

    .home-bhl .card-stage {
        min-height: 350px;
    }

    .home-bhl .card-front {
        padding: 1.25rem 1.35rem 1.15rem;
    }

    .home-bhl .card-bank-name {
        font-size: 1.38rem;
    }

    .home-bhl .card-bank-name small {
        margin-top: .32rem;
        font-size: .31rem;
    }

    .home-bhl .card-contactless {
        width: 23px;
        height: 23px;
    }

    .home-bhl .card-chip-row {
        gap: .6rem;
    }

    .home-bhl .card-chip-row > span {
        font-size: .34rem;
    }

    .home-bhl .card-chip {
        width: 38px;
        height: 29px;
        margin: .25rem 0;
    }

    .home-bhl .card-number {
        margin: .35rem 0 .6rem;
        font-size: .88rem;
        letter-spacing: 1.8px;
    }

    .home-bhl .card-label {
        font-size: 0.38rem;
    }

    .home-bhl .card-name,
    .home-bhl .card-expiry-date {
        font-size: 0.64rem;
    }

    .home-bhl .card-logo {
        font-size: 1.35rem;
    }

    .home-bhl .card-logo small,
    .home-bhl .card-back-logo small {
        font-size: .27rem;
    }

    .home-bhl .card-back-brand {
        top: .75rem;
        right: 1rem;
        left: 1rem;
    }

    .home-bhl .card-back-brand strong {
        font-size: 1rem;
    }

    .home-bhl .card-back-brand span {
        max-width: 60%;
        font-size: .3rem;
        text-align: right;
    }

    .home-bhl .card-magnetic-strip {
        height: 42px;
        margin-top: 2.45rem;
    }

    .home-bhl .card-signature-panel {
        height: 39px;
        margin: .72rem 1rem .5rem;
        padding: 0 .6rem;
    }

    .home-bhl .card-signature {
        font-size: .54rem;
    }

    .home-bhl .card-signature small,
    .home-bhl .card-cvv-box small {
        font-size: .27rem;
    }

    .home-bhl .card-cvv-box {
        width: 48px;
        height: 29px;
        font-size: .72rem;
    }

    .home-bhl .card-back-info {
        max-width: 74%;
        padding: 0 1rem;
        font-size: .4rem;
        line-height: 1.45;
    }

    .home-bhl .card-back-logo {
        right: 1rem;
        bottom: .8rem;
        font-size: 1.05rem;
    }

    .home-bhl .custody-portal-visual {
        min-height: 610px;
    }

    .home-bhl .custody-portal-visual > img {
        object-position: 35% center;
    }

    .home-bhl .portal-shell {
        inset: .8rem .8rem 2.8rem;
        padding: .85rem;
    }

    .home-bhl .portal-brand strong {
        font-size: 1.05rem;
    }

    .home-bhl .portal-brand span,
    .home-bhl .portal-session,
    .home-bhl .portal-live {
        font-size: .32rem;
        letter-spacing: .12em;
    }

    .home-bhl .portal-heading {
        padding: .85rem 0 .7rem;
    }

    .home-bhl .portal-heading strong {
        font-size: 1.05rem;
    }

    .home-bhl .portal-heading span,
    .home-bhl .portal-kpi > span {
        font-size: .34rem;
    }

    .home-bhl .portal-live {
        padding: .32rem .42rem;
    }

    .home-bhl .portal-kpis {
        grid-template-columns: 1fr 1fr;
        gap: .45rem;
    }

    .home-bhl .portal-kpi-primary {
        grid-column: 1 / -1;
    }

    .home-bhl .portal-kpi {
        padding: .62rem;
    }

    .home-bhl .portal-kpi strong {
        margin: .2rem 0 .1rem;
        font-size: .9rem;
    }

    .home-bhl .portal-kpi-primary strong {
        font-size: 1.25rem;
    }

    .home-bhl .portal-kpi small {
        font-size: .38rem;
    }

    .home-bhl .portal-data-grid {
        grid-template-columns: 1fr;
        gap: .45rem;
    }

    .home-bhl .portal-chart {
        padding: .65rem;
    }

    .home-bhl .portal-ledger {
        display: none;
    }

    .home-bhl .portal-panel-title {
        margin-bottom: .35rem;
        font-size: .43rem;
    }

    .home-bhl .portal-panel-title small {
        font-size: .3rem;
    }

    .home-bhl .custody-portal-visual figcaption {
        right: 1rem;
        bottom: 1rem;
        left: 1rem;
        gap: .45rem;
        font-size: .34rem;
    }

    .home-bhl .footer-content {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-bhl *,
    .home-bhl *::before,
    .home-bhl *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Approved BHL institutional card artwork. The existing tilt and flip remain intact. */
.home-bhl .card-stage::before,
.home-bhl .card-stage::after {
    border-color: rgba(43, 68, 96, .2);
}

.home-bhl .credit-card {
    width: min(100%, 620px);
    max-width: 620px;
    height: auto;
    aspect-ratio: 1625 / 968;
}

.home-bhl .credit-card:focus-visible {
    outline-color: #526d8a;
}

.home-bhl .card-front,
.home-bhl .card-back {
    padding: 0;
    border: 1px solid rgba(126, 150, 177, .44);
    border-radius: 16px;
    background: #111d2e;
    box-shadow: 0 38px 88px rgba(19, 31, 48, .34), 0 1px 0 rgba(255, 255, 255, .22) inset;
}

.home-bhl .card-front::before,
.home-bhl .card-front::after {
    display: none;
}

.home-bhl .card-art {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    pointer-events: none;
    user-select: none;
}

/* Institutional portal: quieter blue-grey glass so the custody architecture stays visible. */
.home-bhl .app-section {
    padding-top: clamp(6.5rem, 9vw, 9rem);
    padding-bottom: clamp(6.5rem, 9vw, 9rem);
    scroll-margin-top: 7rem;
    overflow: hidden;
}

.home-bhl .app-container {
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    gap: clamp(3rem, 5vw, 6rem);
    align-items: start;
}

.home-bhl .custody-portal-visual {
    min-height: 760px;
    border-color: rgba(68, 76, 82, .24);
    box-shadow: 0 36px 90px rgba(55, 43, 33, .16);
}

.home-bhl .custody-portal-visual > img {
    object-position: left center;
    filter: saturate(.72) contrast(1.02) brightness(1.06);
}

.home-bhl .custody-portal-visual::before {
    background: linear-gradient(180deg, rgba(9, 20, 31, .02) 40%, rgba(9, 20, 31, .28) 100%);
}

.home-bhl .portal-shell {
    inset: auto 4.5% 5.5% 9%;
    padding: clamp(.95rem, 1.4vw, 1.15rem);
    color: #f2f4f5;
    background: linear-gradient(145deg, rgba(20, 35, 49, .58), rgba(31, 44, 56, .48));
    border: 1px solid rgba(220, 230, 238, .42);
    box-shadow: 0 26px 65px rgba(8, 20, 30, .22), inset 0 1px 0 rgba(255, 255, 255, .2);
    backdrop-filter: blur(5px) saturate(.72);
}

.home-bhl .portal-topbar {
    padding-bottom: .75rem;
    border-bottom-color: rgba(228, 236, 242, .2);
}

.home-bhl .portal-brand strong,
.home-bhl .portal-heading strong,
.home-bhl .portal-kpi strong {
    color: #f4f3ef;
}

.home-bhl .portal-brand span,
.home-bhl .portal-session {
    color: rgba(235, 240, 244, .7);
}

.home-bhl .portal-session i,
.home-bhl .portal-ledger-row i {
    background: #b8c7d4;
    box-shadow: 0 0 0 4px rgba(184, 199, 212, .13);
}

.home-bhl .portal-heading {
    padding: 1rem 0 .85rem;
}

.home-bhl .portal-heading span,
.home-bhl .portal-kpi > span,
.home-bhl .portal-panel-title small {
    color: #c1cfda;
}

.home-bhl .portal-live {
    color: #dbe3e9;
    border-color: rgba(220, 230, 238, .3);
}

.home-bhl .portal-kpi,
.home-bhl .portal-kpi-primary {
    padding: .72rem;
    background: rgba(245, 248, 250, .07);
    border-color: rgba(228, 236, 242, .2);
}

.home-bhl .portal-kpis {
    grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.home-bhl .portal-kpi strong,
.home-bhl .portal-kpi-primary strong {
    max-width: 100%;
    margin: .35rem 0 .2rem;
    font-size: clamp(.92rem, 1.25vw, 1.2rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}

.home-bhl .portal-kpi-primary strong {
    font-size: clamp(1.15rem, 1.65vw, 1.48rem);
}

.home-bhl .portal-kpi small {
    line-height: 1.35;
}

.home-bhl .portal-kpi-primary {
    background: linear-gradient(135deg, rgba(192, 208, 221, .18), rgba(255, 255, 255, .05));
}

.home-bhl .portal-kpi small,
.home-bhl .portal-panel-title,
.home-bhl .portal-ledger-row {
    color: rgba(236, 241, 244, .68);
}

.home-bhl .portal-chart,
.home-bhl .portal-ledger {
    padding: .72rem;
    background: rgba(7, 18, 27, .16);
    border-color: rgba(228, 236, 242, .16);
}

.home-bhl .portal-chart-grid,
.home-bhl .portal-ledger-row {
    stroke: rgba(236, 241, 244, .12);
    border-color: rgba(228, 236, 242, .13);
}

.home-bhl .portal-chart-line {
    stroke: #cad6df;
}

.home-bhl .portal-ledger-row strong {
    color: #dce5eb;
}

.home-bhl .custody-portal-visual figcaption {
    top: 1.2rem;
    bottom: auto;
    color: #2d3134;
    text-shadow: 0 1px 10px rgba(255, 252, 246, .72);
}

.home-bhl .custody-portal-visual figcaption i {
    background: rgba(45, 49, 52, .36);
}

.home-bhl .app-copy {
    min-width: 0;
}

.home-bhl .app-copy > h2 {
    max-width: 650px;
}

.home-bhl .market-proof {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--bhl-line);
    border-bottom: 1px solid var(--bhl-line);
}

.home-bhl .market-proof article {
    min-width: 0;
    padding: 1.35rem 1rem 1.2rem 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--bhl-line);
}

.home-bhl .market-proof article + article {
    padding-left: 1rem;
}

.home-bhl .market-proof article:last-child {
    border-right: 0;
}

.home-bhl .market-proof strong {
    color: #27394a;
    font-family: var(--bhl-serif);
    font-size: clamp(1.8rem, 2.4vw, 2.7rem);
    font-weight: 400;
    line-height: 1;
}

.home-bhl .market-proof span {
    margin-top: .75rem;
    color: var(--bhl-ink);
    font-size: .72rem;
    font-weight: 750;
    line-height: 1.4;
}

.home-bhl .market-proof small {
    margin-top: .3rem;
    color: var(--bhl-red);
    font-size: .61rem;
    font-weight: 750;
}

.home-bhl .app-copy > .market-source,
.home-bhl .app-copy > .market-disclaimer {
    max-width: none;
    margin: .7rem 0 0;
    color: #77736e;
    font-size: .66rem;
    line-height: 1.55;
    text-align: left;
}

.home-bhl .market-source a,
.home-bhl .uk-institutions a {
    color: inherit;
    text-decoration-color: rgba(142, 23, 32, .34);
    text-underline-offset: .18em;
}

.home-bhl .uk-institutions {
    margin-top: 1.8rem;
    border-top: 1px solid var(--bhl-line);
}

.home-bhl .uk-institutions-heading,
.home-bhl .uk-institutions > a {
    display: grid;
    grid-template-columns: minmax(90px, .55fr) minmax(190px, 1.55fr) auto;
    gap: 1rem;
    align-items: center;
    border-bottom: 1px solid var(--bhl-line);
}

.home-bhl .uk-institutions-heading {
    padding: .72rem 0;
    color: var(--bhl-red);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.home-bhl .uk-institutions-heading span {
    grid-column: 1 / 3;
}

.home-bhl .uk-institutions-heading small {
    font-size: inherit;
}

.home-bhl .uk-institutions > a {
    padding: .85rem 0;
    color: var(--bhl-ink);
    text-decoration: none;
}

.home-bhl .uk-institutions > a:hover strong {
    color: var(--bhl-red);
}

.home-bhl .uk-institutions strong {
    font-family: var(--bhl-serif);
    font-size: .98rem;
    font-weight: 500;
}

.home-bhl .uk-institutions span,
.home-bhl .uk-institutions small {
    color: var(--bhl-muted);
    font-size: .68rem;
    line-height: 1.45;
}

.home-bhl .uk-institutions small {
    white-space: nowrap;
}

.home-bhl .app-actions {
    margin-top: 1.8rem;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

@media (max-width: 1100px) {
    .home-bhl .app-container {
        grid-template-columns: 1fr;
    }

    .home-bhl .app-copy {
        grid-row: 2;
    }

    .home-bhl .custody-portal-visual {
        grid-row: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        background: #c7b18d;
    }

    .home-bhl .custody-portal-visual > img {
        height: auto;
        position: relative;
        inset: auto;
        aspect-ratio: 1608 / 978;
        object-fit: cover;
        object-position: center;
    }

    .home-bhl .portal-shell {
        position: relative;
        inset: auto;
        margin: -2.6rem clamp(1rem, 5vw, 3.5rem) 3.5rem;
    }
}

@media (max-width: 680px) {
    .home-bhl .app-section {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .home-bhl .app-container {
        gap: 3rem;
    }

    .home-bhl .market-proof {
        grid-template-columns: 1fr;
    }

    .home-bhl .portal-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .55rem;
    }

    .home-bhl .portal-kpi-primary {
        grid-column: 1 / -1;
    }

    .home-bhl .portal-kpi strong,
    .home-bhl .portal-kpi-primary strong {
        overflow-wrap: normal;
        word-break: normal;
    }

    .home-bhl .market-proof article,
    .home-bhl .market-proof article + article {
        padding: 1rem 0;
        display: grid;
        grid-template-columns: minmax(96px, .7fr) 1.3fr;
        column-gap: 1rem;
        border-right: 0;
        border-bottom: 1px solid var(--bhl-line);
    }

    .home-bhl .market-proof article:last-child {
        border-bottom: 0;
    }

    .home-bhl .market-proof strong {
        grid-row: 1 / 3;
        align-self: center;
        font-size: 2.1rem;
    }

    .home-bhl .market-proof span,
    .home-bhl .market-proof small {
        margin-top: 0;
    }

    .home-bhl .uk-institutions-heading,
    .home-bhl .uk-institutions > a {
        grid-template-columns: 1fr auto;
        gap: .25rem 1rem;
    }

    .home-bhl .uk-institutions-heading span {
        grid-column: 1;
    }

    .home-bhl .uk-institutions > a span {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .home-bhl .uk-institutions > a small {
        grid-column: 2;
        grid-row: 1;
    }

    .home-bhl .custody-portal-visual {
        min-height: 0;
    }

    .home-bhl .portal-shell {
        inset: auto;
        margin: -1.25rem .75rem 2.75rem;
        padding: .85rem;
    }

    .home-bhl .portal-live {
        display: none;
    }

    .home-bhl .custody-portal-visual figcaption {
        top: .85rem;
        right: .85rem;
        left: .85rem;
    }

    .home-bhl .app-actions {
        flex-direction: column;
    }

    .home-bhl .app-actions .btn-primary {
        width: 100%;
        justify-content: center;
    }
}
