/* ALINA SIGNATURE TRIO — cinematic editorial portraits */
.afh-hero .ast-showcase {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 540px;
    isolation: isolate;
    perspective: 1100px;
}

.afh-hero .ast-showcase-glow {
    position: absolute;
    inset: 10% 0 5%;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 52% 42%, rgba(255, 72, 189, .24), transparent 58%),
        radial-gradient(ellipse at 77% 68%, rgba(32, 237, 241, .16), transparent 55%);
    filter: blur(28px);
}

.afh-hero .ast-card {
    position: absolute;
    display: block;
    overflow: hidden;
    border: 1px solid rgba(255, 222, 195, .46);
    border-radius: 140px 140px 22px 22px;
    background: #17121f;
    color: #fff;
    text-decoration: none;
    box-shadow:
        0 28px 65px rgba(0, 0, 0, .56),
        inset 0 0 0 1px rgba(255, 255, 255, .06);
    transform: rotate(var(--ast-rotation, 0deg));
    transform-origin: center 75%;
    transition:
        transform .45s cubic-bezier(.2, .8, .2, 1),
        box-shadow .45s ease,
        border-color .45s ease;
    -webkit-tap-highlight-color: transparent;
}

.afh-hero .ast-card:hover,
.afh-hero .ast-card:focus-visible {
    z-index: 15;
    transform: translateY(-15px) rotate(0deg) scale(1.035);
    border-color: rgba(255, 218, 163, .95);
    box-shadow:
        0 35px 85px rgba(0, 0, 0, .7),
        0 0 35px rgba(255, 72, 189, .23);
}

.afh-hero .ast-card:focus-visible {
    outline: 3px solid #20edf1;
    outline-offset: 5px;
}

.afh-hero .ast-card img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    transition: transform .7s ease;
}

.afh-hero .ast-card:hover img {
    transform: scale(1.065);
}

.afh-hero .ast-card--spotlight {
    z-index: 6;
    top: 5%;
    left: 24%;
    width: 54%;
    height: 86%;
    --ast-rotation: -2deg;
    border-color: rgba(255, 166, 205, .8);
    box-shadow:
        0 30px 75px rgba(0, 0, 0, .65),
        0 0 34px rgba(255, 72, 189, .18);
}

.afh-hero .ast-card--editor {
    z-index: 4;
    top: 14%;
    left: 0;
    width: 41%;
    height: 65%;
    --ast-rotation: -11deg;
}

.afh-hero .ast-card--arrival {
    z-index: 8;
    top: 36%;
    right: -2%;
    width: 39%;
    height: 58%;
    --ast-rotation: 9deg;
    border-color: rgba(104, 230, 235, .68);
}

.afh-hero .ast-card-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0, .18),
        transparent 35%,
        rgba(5, 7, 16, .25) 60%,
        rgba(5, 7, 16, .94) 100%
    );
    pointer-events: none;
}

.afh-hero .ast-card-number {
    position: absolute;
    top: 18px;
    left: 19px;
    z-index: 2;
    color: rgba(255, 255, 255, .9);
    font: 700 11px Arial, sans-serif;
    letter-spacing: .16em;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .65);
}

.afh-hero .ast-card-info {
    position: absolute;
    z-index: 2;
    right: 12px;
    bottom: 20px;
    left: 17px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.afh-hero .ast-card-role {
    color: #f3c38f;
    font: 700 8px Arial, sans-serif;
    letter-spacing: .18em;
}

.afh-hero .ast-card-name {
    overflow: hidden;
    color: #fff5ed;
    font: 400 clamp(20px, 2.4vw, 36px)/1.1 Georgia, serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.afh-hero .ast-card-area {
    overflow: hidden;
    color: rgba(245, 237, 242, .78);
    font: 11px Arial, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.afh-hero .ast-card-arrow {
    position: absolute;
    right: 15px;
    bottom: 16px;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    background: rgba(15, 14, 23, .4);
    color: #fff;
    font: 16px Arial, sans-serif;
    transition: background .3s ease;
}

.afh-hero .ast-card:hover .ast-card-arrow {
    background: #bc459b;
}

.afh-hero .ast-card--editor .ast-card-name,
.afh-hero .ast-card--arrival .ast-card-name {
    font-size: clamp(19px, 1.9vw, 27px);
}

.afh-hero .ast-card--editor .ast-card-info,
.afh-hero .ast-card--arrival .ast-card-info {
    bottom: 15px;
    left: 12px;
    right: 8px;
}

.afh-hero .ast-card--editor .ast-card-arrow,
.afh-hero .ast-card--arrival .ast-card-arrow {
    display: none;
}

.afh-hero .ast-showcase-caption {
    position: absolute;
    right: 4%;
    bottom: 0;
    left: 4%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    color: rgba(238, 195, 164, .75);
    font: 700 8px Arial, sans-serif;
    letter-spacing: .18em;
    white-space: nowrap;
    pointer-events: none;
}

.afh-hero .ast-caption-line {
    width: 35px;
    height: 1px;
    background: linear-gradient(90deg, #ff48bd, #20edf1);
}

@media (max-width: 1100px) {
    .afh-hero .ast-card--spotlight { left: 23%; width: 57%; }
    .afh-hero .ast-card--editor { width: 43%; }
    .afh-hero .ast-card--arrival { right: -3%; width: 42%; }
}

@media (max-width: 760px) {
    .afh-hero .ast-showcase {
        min-height: 400px;
        height: 400px;
        width: min(100%, 460px);
        margin: 0 auto;
    }

    .afh-hero .ast-card--spotlight {
        top: 5%;
        left: 23%;
        width: 56%;
        height: 85%;
    }

    .afh-hero .ast-card--editor {
        top: 15%;
        left: 1%;
        width: 42%;
        height: 62%;
        --ast-rotation: -9deg;
    }

    .afh-hero .ast-card--arrival {
        top: 39%;
        right: 0;
        width: 40%;
        height: 55%;
        --ast-rotation: 8deg;
    }

    .afh-hero .ast-card-name { font-size: 24px; }
    .afh-hero .ast-card--editor .ast-card-name,
    .afh-hero .ast-card--arrival .ast-card-name { font-size: 19px; }
    .afh-hero .ast-card-info { bottom: 14px; left: 13px; }
    .afh-hero .ast-card-role { font-size: 7px; }
    .afh-hero .ast-card-area { font-size: 9px; }
    .afh-hero .ast-showcase-caption { bottom: 0; font-size: 7px; }
}

@media (max-width: 420px) {
    .afh-hero .ast-showcase {
        min-height: 350px;
        height: 350px;
    }

    .afh-hero .ast-card {
        border-radius: 95px 95px 16px 16px;
    }

    .afh-hero .ast-card-name { font-size: 21px; }
    .afh-hero .ast-card--editor .ast-card-name,
    .afh-hero .ast-card--arrival .ast-card-name { font-size: 17px; }
    .afh-hero .ast-card-number { top: 13px; left: 13px; font-size: 9px; }
    .afh-hero .ast-card-arrow { width: 23px; height: 23px; }
}

@media (prefers-reduced-motion: reduce) {
    .afh-hero .ast-card,
    .afh-hero .ast-card img {
        transition: none;
    }
}


/* ===== AST LAYOUT RESCUE V2 ===== */

/* Constrain both halves of the editorial hero */
@media (min-width: 761px) {
    body .afh-hero .afh-container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: clamp(24px, 3vw, 55px) !important;
        align-items: center !important;
    }

    body .afh-hero .afh-copy {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body .afh-hero .afh-heading {
        font-size: clamp(42px, 4.15vw, 69px) !important;
        line-height: 1.08 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    body .afh-hero .afh-heading span,
    body .afh-hero .afh-heading em {
        max-width: 100% !important;
    }

    body .afh-hero .afh-visual {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 540px !important;
        min-height: 540px !important;
        overflow: visible !important;
    }
}

/* Suppress single-portrait effects behind the trio */
body .afh-hero .afh-visual:has(.ast-showcase) > .afh-visual-glow,
body .afh-hero .afh-visual:has(.ast-showcase) > .afh-orbit,
body .afh-hero .afh-visual:has(.ast-showcase) > .afh-visual-platform,
body .afh-hero .afh-visual:has(.ast-showcase) > .afh-visual-label {
    display: none !important;
}

/* Keep the entire composition within the right column */
body .afh-hero .ast-showcase {
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: visible !important;
    isolation: isolate !important;
}

body .afh-hero .ast-card {
    box-sizing: border-box !important;
    position: absolute !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
}

body .afh-hero .ast-card img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 0 !important;
}

/* Balanced three-card composition */
@media (min-width: 761px) {
    body .afh-hero .ast-card--spotlight {
        top: 8% !important;
        left: 25% !important;
        width: 52% !important;
        height: 79% !important;
    }

    body .afh-hero .ast-card--editor {
        top: 19% !important;
        left: 2% !important;
        width: 40% !important;
        height: 59% !important;
    }

    body .afh-hero .ast-card--arrival {
        top: 38% !important;
        right: 1% !important;
        width: 36% !important;
        height: 53% !important;
    }
}

@media (max-width: 760px) {
    body .afh-hero .afh-container {
        width: 90% !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
    }

    body .afh-hero .afh-copy {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body .afh-hero .afh-heading {
        font-size: clamp(36px, 8.5vw, 58px) !important;
        line-height: 1.08 !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }

    body .afh-hero .afh-visual {
        width: 100% !important;
        max-width: 460px !important;
        height: 400px !important;
        min-height: 400px !important;
        margin: 0 auto !important;
    }

    body .afh-hero .ast-card--spotlight {
        top: 7% !important;
        left: 24% !important;
        width: 54% !important;
        height: 79% !important;
    }

    body .afh-hero .ast-card--editor {
        top: 17% !important;
        left: 2% !important;
        width: 41% !important;
        height: 59% !important;
    }

    body .afh-hero .ast-card--arrival {
        top: 39% !important;
        right: 1% !important;
        width: 37% !important;
        height: 52% !important;
    }
}

@media (max-width: 420px) {
    body .afh-hero .afh-heading {
        font-size: clamp(34px, 8.4vw, 42px) !important;
    }

    body .afh-hero .afh-visual {
        height: 350px !important;
        min-height: 350px !important;
    }
}


/* ===== AST MOBILE INTERACTION V3 ===== */
@media (max-width: 760px) {
    body .afh-hero .ast-card {
        transition:
            transform .5s cubic-bezier(.2,.8,.2,1),
            box-shadow .5s ease,
            border-color .5s ease !important;
        will-change: transform;
    }

    body .afh-hero .ast-card.ast-card--active {
        z-index: 30 !important;
        transform: translateY(-19px) rotate(0deg) scale(1.075) !important;
        border-color: #ffd6a8 !important;
        box-shadow:
            0 35px 75px rgba(0,0,0,.72),
            0 0 38px rgba(255,72,189,.38) !important;
    }

    body .afh-hero .ast-card.ast-card--active img {
        transform: scale(1.055) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body .afh-hero .ast-card,
    body .afh-hero .ast-card img {
        transition: none !important;
    }
}
