/* Hero Block — approved AML-Global interior-page hero (dark-to-light blue gradient, red accent). */

.als-hero-block {
    --als-hero-red: #d83933;
    --als-hero-blue: #1672c8;
    --als-hero-navy: #0b2b49;
    --als-hero-deep: #0d4874;

    display: grid;
    grid-template-columns: 1fr;
    gap: 56px;
    align-items: center;
    padding: 64px max(calc((100vw - 1140px) / 2), 24px);
    background: linear-gradient(115deg, var(--als-hero-deep) 0%, var(--als-hero-blue) 58%, #2d8bd6 100%);
    border-bottom: 5px solid var(--als-hero-red);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}

.als-hero-block--with-image {
    grid-template-columns: 1.25fr 0.75fr;
}

.als-hero-block__eyebrow {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #fff;
}

.als-hero-block__title {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: #fff;
}

.als-hero-block__title span {
    display: block;
}

.als-hero-block__lede {
    max-width: 760px;
    margin: 14px 0 20px;
    font-size: 18px;
    line-height: 1.45;
    color: #e9f5ff;
}

.als-hero-block__lede p {
    margin: 0 0 0.6em;
}

.als-hero-block__lede p:last-child {
    margin-bottom: 0;
}

.als-hero-block__lede a {
    color: #fff;
    text-decoration: underline;
}

/* Highlight inline format — <highlight>200+ LANGUAGES</highlight> */
.als-hero-block highlight,
.mce-content-body highlight {
    display: inline-block;
    margin: 0 3px;
    padding: 3px 8px;
    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font-size: 1.08em;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.035em;
    text-transform: uppercase;
    white-space: nowrap;
}

/* Supporting Copy editor (white background) — keep the highlight visible. */
.mce-content-body highlight {
    border-color: rgba(22, 114, 200, 0.55);
    background: rgba(22, 114, 200, 0.08);
    color: #0b2b49;
}

/* Long primary labels wrap inside the button; the call button keeps one line and matches its height
   (site-source: .cross-service.translation .hero-actions). */
.als-hero-block__actions {
    display: grid;
    grid-template-columns: minmax(0, auto) max-content;
    justify-content: start;
    align-items: stretch;
    gap: 12px;
    max-width: 100%;
}

.als-hero-block__actions > :only-child {
    grid-column: 1 / -1;
    justify-self: start;
}

.als-hero-block__button {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.3;
    padding: 13px 20px;
    border: 2px solid var(--als-hero-red);
    border-radius: 8px;
    font-weight: 800;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color 0.2s ease;
}

.als-hero-block__button--primary,
.als-hero-block__button--primary:visited {
    max-width: 440px;
    white-space: normal;
    background: #fff;
    color: var(--als-hero-deep);
    box-shadow: 0 7px 18px rgba(4, 28, 49, 0.2);
}

.als-hero-block__button--primary:hover,
.als-hero-block__button--primary:focus {
    background: #eef6fb;
    color: var(--als-hero-deep);
    text-decoration: none;
}

.als-hero-block__button--secondary,
.als-hero-block__button--secondary:visited {
    min-width: max-content;
    white-space: nowrap;
    background: rgba(5, 40, 67, 0.32);
    color: #fff;
}

.als-hero-block__button--secondary:hover,
.als-hero-block__button--secondary:focus {
    background: rgba(5, 40, 67, 0.52);
    color: #fff;
    text-decoration: none;
}

.als-hero-block__proof {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
    font-size: 17px;
    font-weight: 700;
}

.als-hero-block__proof li + li::before {
    content: "•";
    margin-right: 18px;
}

.als-hero-block__image {
    margin: 0;
}

.als-hero-block__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(4, 28, 49, 0.28);
}

.als-hero-block__placeholder {
    padding: 24px;
    border: 1px dashed #8aa4bd;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
}

@media (max-width: 900px) {
    .als-hero-block,
    .als-hero-block--with-image {
        grid-template-columns: 1fr;
        gap: 32px;
        padding-top: 44px;
        padding-bottom: 44px;
    }

    .als-hero-block__lede {
        font-size: 17px;
    }
}

@media (max-width: 560px) {
    /* Phone: buttons stack; primary goes full width, the call button keeps its own width. */
    .als-hero-block__actions {
        grid-template-columns: 1fr;
    }

    .als-hero-block .als-hero-block__button--primary {
        max-width: none;
    }

    .als-hero-block .als-hero-block__button--secondary {
        justify-self: start;
        width: max-content;
        max-width: 100%;
    }

    .als-hero-block__proof {
        display: grid;
        gap: 6px;
    }

    .als-hero-block__proof li + li::before {
        content: none;
    }

    .als-hero-block highlight {
        white-space: normal;
    }
}

/* --------------------------------------------------------------------------
 * Optional priority card below the hero (e.g. ASL — Most Requested).
 * Overlaps the bottom edge of the hero.
 * ----------------------------------------------------------------------- */

.als-hero-block-wrap--with-priority {
    padding-bottom: 8px;
}

.als-hero-block__priority {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    align-items: center;
    max-width: 1080px;
    margin: -20px auto 0;
    padding: 18px 24px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(11, 43, 73, 0.13);
    font-family: Arial, Helvetica, sans-serif;
}

.als-hero-block__priority-badge {
    display: grid;
    gap: 4px;
    min-width: 150px;
    max-width: 150px;
    padding: 11px 16px;
    border-radius: 9px;
    background: #0b2b49;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

.als-hero-block__priority-badge strong {
    font-size: 13px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: 0.045em;
}

.als-hero-block__priority-badge small {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

.als-hero-block__priority-eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #172534;
}

/* Extra specificity + resets: the theme's ".entry-content h2" adds a red bar. */
.als-hero-block-wrap .als-hero-block__priority-title {
    margin: 0 0 5px;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: #0b2b49;
}

.als-hero-block__priority-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.42;
    color: #587080;
}

.als-hero-block__priority-actions {
    display: grid;
    gap: 8px;
    text-align: center;
}

.als-hero-block__priority-button,
.als-hero-block__priority-button:visited {
    display: inline-block;
    padding: 11px 15px;
    border: 2px solid #d83933;
    border-radius: 8px;
    background: #0b5ea8;
    box-shadow: 0 7px 18px rgba(11, 94, 168, 0.22);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.als-hero-block__priority-button:hover,
.als-hero-block__priority-button:focus {
    background: #0b2b49;
    color: #fff;
    text-decoration: none;
}

.als-hero-block__priority-link,
.als-hero-block__priority-link:visited {
    color: #1672c8;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.als-hero-block__priority-link::after {
    content: " \2192";
}

.als-hero-block__priority-link:hover,
.als-hero-block__priority-link:focus {
    color: #0b2b49;
    text-decoration: underline;
}

@media (max-width: 1128px) {
    .als-hero-block__priority {
        margin-right: 24px;
        margin-left: 24px;
    }
}

@media (max-width: 900px) {
    .als-hero-block__priority {
        grid-template-columns: auto 1fr;
        margin-top: 20px;
    }

    .als-hero-block__priority-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .als-hero-block__priority {
        display: block;
        margin: 18px 16px 0;
        padding: 17px 19px;
    }

    .als-hero-block__priority-badge {
        margin-bottom: 18px;
    }

    .als-hero-block__priority-actions {
        margin-top: 18px;
    }
}
