.brand img,
.subsidiary-card__logo {
    border: 0;
    background: transparent;
    object-fit: cover;
    object-position: center;
    -webkit-mask-image: radial-gradient(ellipse 78% 82% at center, #000 58%, rgba(0, 0, 0, .92) 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 78% 82% at center, #000 58%, rgba(0, 0, 0, .92) 72%, transparent 100%);
    filter: saturate(1.1) contrast(1.04) drop-shadow(0 8px 13px rgba(0, 28, 16, .28));
}

.brand img { width: 56px; height: 56px; padding: 0; flex: 0 0 auto; object-fit: contain; -webkit-mask-image: none; mask-image: none;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, .45)); }

.subsidiary-card__identity {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.subsidiary-card__logo { width: 96px; height: 60px; flex: 0 0 auto; }
.subsidiary-card__identity strong { min-width: 0; line-height: 1.2; }

.holding-slide--one,
.holding-slide--two { background-image: url('../img/brand/tjz-main.png'); }

.holding-shade {
    background:
        radial-gradient(circle at 50% 48%, rgba(3, 41, 24, .15), rgba(1, 22, 13, .7) 68%),
        linear-gradient(180deg, rgba(2, 39, 23, .18), rgba(1, 25, 14, .86));
}

.holding-corner-brand {
    position: absolute;
    z-index: 3;
    top: 24px;
    left: 26px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 7px 15px 7px 8px;
    border: 1px solid rgba(241, 211, 21, .28);
    border-radius: 18px;
    background: linear-gradient(110deg, rgba(2, 40, 24, .76), rgba(2, 40, 24, .3));
    color: #fff;
    box-shadow: 0 12px 38px rgba(0, 0, 0, .3), inset 0 0 22px rgba(241, 211, 21, .05);
    backdrop-filter: blur(12px);
}

.holding-corner-brand img {
    width: 116px;
    height: 66px;
    object-fit: cover;
    -webkit-mask-image: radial-gradient(ellipse 78% 82% at center, #000 58%, transparent 100%);
    mask-image: radial-gradient(ellipse 78% 82% at center, #000 58%, transparent 100%);
    filter: saturate(1.12) contrast(1.06) drop-shadow(0 5px 12px rgba(0, 0, 0, .38));
}

.holding-corner-brand strong {
    font-size: 13px;
    letter-spacing: .04em;
    text-shadow: 0 2px 9px rgba(0, 0, 0, .8);
}

.holding-copy {
    max-width: min(820px, calc(100% - 34px));
    padding: 36px 44px 39px;
    border: 1px solid rgba(241, 211, 21, .55);
    border-radius: 30px;
    background: linear-gradient(135deg, rgba(2, 38, 22, .78), rgba(2, 28, 17, .55));
    box-shadow: 0 0 0 7px rgba(241, 211, 21, .06), 0 28px 80px rgba(0, 0, 0, .48), inset 0 0 45px rgba(241, 211, 21, .05);
    backdrop-filter: blur(13px) saturate(1.15);
}

.holding-copy span { margin-top: 0; color: #ffe73e; text-shadow: 0 2px 8px #000; }
.holding-copy h1 { color: #fff; text-shadow: 0 4px 18px rgba(0, 0, 0, .92); }
.holding-copy p { color: #f1f7f3; font-weight: 600; text-shadow: 0 2px 10px rgba(0, 0, 0, .9); }

.login-card { padding-top: 0; }
.login-card__brand {
    position: relative;
    height: 232px;
    margin: 0 -34px 10px;
    border-radius: 22px 22px 0 0;
    background: radial-gradient(ellipse 70% 90% at 50% 45%, rgba(241, 211, 21, .10), transparent 70%),
                url('../img/brand/tjz-main-hero.jpg') center / cover no-repeat, #06140d;
    box-shadow: inset 0 -30px 40px -20px rgba(0, 0, 0, .55);
}
/* Gold hairline under the emblem. */
.login-card__brand::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #b8860b 18%, #f1d315 50%, #b8860b 82%, transparent);
}

.print-brand-header { display: none; }

@media print {
    .print-brand-header {
        display: flex;
        align-items: center;
        gap: 13px;
        margin: 0 0 18px;
        padding: 0 0 12px;
        border-bottom: 2px solid #075231;
        color: #075231;
    }
    .print-brand-header img {
        width: 104px;
        height: 58px;
        object-fit: cover;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    .print-brand-header strong,
    .print-brand-header span { display: block; }
    .print-brand-header span { margin-top: 3px; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
}

@media (max-width: 600px) {
    .brand img { width: 48px; height: 48px; }
    .subsidiary-card__logo { width: 82px; height: 52px; }
    .holding-corner-brand { top: 12px; left: 12px; padding-right: 10px; }
    .holding-corner-brand img { width: 88px; height: 52px; }
    .holding-corner-brand strong { display: none; }
    .holding-copy { padding: 24px 20px; }
}

/* Holding screensaver v2: multi-slide with side-fading text */
.holding-slide { animation: none; opacity: 0; transition: opacity 1.8s ease-in-out, transform 10s ease; transform: scale(1.08); }
.holding-slide.is-active { opacity: 1; transform: scale(1); }
.holding-slides { position: absolute; inset: 0; }
.holding-copy { position: absolute; bottom: 12%; z-index: 4; max-width: min(640px, calc(100% - 34px)); padding: 36px 44px; color: #fff; text-align: left; opacity: 0; transition: transform 1.4s ease, opacity 1.4s ease; }
.holding-copy.is-left { left: 5%; transform: translateX(-80px); }
.holding-copy.is-right { right: 5%; text-align: right; transform: translateX(80px); }
.holding-copy.is-left.is-in, .holding-copy.is-right.is-in { transform: translateX(0); opacity: 1; }
.holding-copy.is-left.is-out, .holding-copy.is-right.is-out { opacity: 0; }
.holding-copy.is-left.is-out { transform: translateX(-160px); }
.holding-copy.is-right.is-out { transform: translateX(160px); }
.holding-copy h1 { font-size: clamp(32px, 5vw, 52px); margin: 10px 0; }
.holding-copy p { font-size: clamp(16px, 2vw, 22px); }

@media (max-width: 600px) {
    .holding-copy h1 { font-size: 26px; }
    .holding-copy p { font-size: 15px; }
}
