/*
 * EGT experience refresh
 * A focused B2B layer that preserves the existing navy, red and gold brand.
 */

:root {
    --egt-saffron: #e97731;
    --egt-gold-soft: #efc66d;
    --egt-paper: #fffdf8;
    --egt-ink-deep: #071e31;
}

html body {
    background:
        radial-gradient(circle at 4% 18%, rgba(239, 65, 53, .06), transparent 24rem),
        radial-gradient(circle at 95% 62%, rgba(215, 171, 74, .10), transparent 30rem),
        linear-gradient(115deg, #f8fafb 0%, #ffffff 29%, #fffdf9 68%, #f7fafb 100%);
    background-attachment: fixed;
}

/* A restrained, textile-like background movement instead of visual noise. */
@media (prefers-reduced-motion: no-preference) {
    html body {
        animation: egtAmbientDrift 22s ease-in-out infinite alternate;
    }
}

@keyframes egtAmbientDrift {
    from { background-position: 0 0, 100% 30%, 0 0; }
    to { background-position: 2.5rem 1rem, calc(100% - 2rem) 55%, 0 0; }
}

/* Header remains familiar, but gets a quieter craft-inspired detail and better focus treatment. */
header#egtMainHeader.egt-main-header {
    background:
        radial-gradient(circle at 12% -75%, rgba(255,255,255,.13), transparent 40%),
        radial-gradient(circle at 84% -55%, rgba(73,166,218,.16), transparent 37%),
        linear-gradient(105deg, #061a2b 0%, #0b2c45 52%, #174a68 100%);
    transition: box-shadow .24s ease, background-color .24s ease;
}

header#egtMainHeader.egt-main-header.egt-is-scrolled {
    box-shadow: 0 13px 32px rgba(3, 19, 32, .30);
}

header#egtMainHeader.egt-main-header::after {
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, #ef4135 24%, var(--egt-saffron) 50%, #d7ab4a 76%, transparent 100%);
}

#egtMainHeader .egt-main-links a:focus-visible,
#egtMainHeader .egt-main-quote:focus-visible,
.egt-b2b-brief a:focus-visible,
.egt-inline-tools a:focus-visible,
.egt-inline-tools button:focus-visible {
    outline: 3px solid var(--egt-gold-soft);
    outline-offset: 4px;
}

main.egt-main-corridor .egt-home-hero {
    border: 1px solid rgba(15, 40, 63, .10);
    border-radius: 22px;
    box-shadow: 0 18px 42px rgba(15, 40, 63, .12);
}

main.egt-main-corridor .egt-home-hero img {
    border-radius: 21px;
}

main.egt-main-corridor .egt-home-hero::after {
    height: 4px;
    background: linear-gradient(90deg, #ef4135, var(--egt-saffron) 48%, #d7ab4a);
}

/* The conversion layer gives the image-led hero an accessible, actionable H1. */
main.egt-main-corridor .egt-b2b-brief {
    position: relative;
    width: min(1180px, calc(100% - 32px));
    margin: 16px auto 26px;
    overflow: hidden;
    border: 1px solid rgba(13, 43, 67, .10);
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 18%, rgba(215, 171, 74, .13), transparent 17rem),
        radial-gradient(circle at 14% 100%, rgba(239, 65, 53, .08), transparent 19rem),
        rgba(255, 255, 255, .87);
    box-shadow: 0 14px 34px rgba(15, 40, 63, .075);
}

main.egt-main-corridor .egt-b2b-brief::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, #ef4135 0 33.33%, #f4f0e3 33.33% 66.66%, #198754 66.66%);
}

main.egt-main-corridor .egt-b2b-brief::after {
    content: "";
    position: absolute;
    right: -110px;
    bottom: -125px;
    width: 300px;
    height: 300px;
    border: 1px dashed rgba(13, 43, 67, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(215, 171, 74, .035), 0 0 0 56px rgba(239, 65, 53, .025);
    pointer-events: none;
}

.egt-b2b-brief__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.26fr) minmax(320px, .74fr);
    gap: clamp(26px, 5vw, 70px);
    align-items: center;
    padding: clamp(28px, 4.5vw, 56px);
}

.egt-b2b-brief__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #a53227;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.egt-b2b-brief__eyebrow span {
    width: 10px;
    height: 10px;
    border: 2px solid #ef4135;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(239, 65, 53, .13);
}

.egt-b2b-brief__eyebrow b {
    color: #d7ab4a;
}

.egt-b2b-brief h1 {
    max-width: 690px;
    margin: 14px 0 16px;
    color: var(--egt-ink-deep);
    font-size: clamp(2.05rem, 4.5vw, 4.3rem);
    font-weight: 900;
    letter-spacing: -.055em;
    line-height: 1.01;
}

.egt-b2b-brief h1 em {
    color: #d33831;
    font-style: normal;
}

.egt-b2b-brief__copy > p:not(.egt-b2b-brief__note) {
    max-width: 650px;
    margin: 0;
    color: #53636e;
    font-size: clamp(.98rem, 1.25vw, 1.12rem);
    line-height: 1.72;
}

.egt-b2b-brief__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.egt-b2b-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.egt-b2b-button--primary {
    background: linear-gradient(135deg, #e83f36, #c52d2a);
    box-shadow: 0 10px 21px rgba(200, 16, 46, .20);
    color: #fff;
}

.egt-b2b-button--quiet {
    border-color: rgba(13, 43, 67, .16);
    background: rgba(255,255,255,.7);
    color: #123a55;
}

@media (hover: hover) {
    .egt-b2b-button:hover {
        transform: translateY(-2px);
    }

    .egt-b2b-button--primary:hover {
        color: #fff;
        box-shadow: 0 14px 28px rgba(200, 16, 46, .29);
    }

    .egt-b2b-button--quiet:hover {
        color: #123a55;
        background: #fff;
        box-shadow: 0 10px 20px rgba(15, 40, 63, .08);
    }
}

.egt-b2b-brief__note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 18px 0 0;
    color: #607079;
    font-size: .8rem;
    line-height: 1.45;
}

.egt-b2b-brief__note i {
    margin-top: 2px;
    color: #198754;
}

.egt-b2b-route {
    padding: 23px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 19px;
    background:
        radial-gradient(circle at 100% 0%, rgba(215, 171, 74, .24), transparent 10rem),
        linear-gradient(145deg, #082238, #123f5b);
    color: #fff;
    box-shadow: 0 18px 34px rgba(6, 26, 43, .17);
}

.egt-b2b-route__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255,255,255,.13);
    color: #f6d98d;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.egt-b2b-route__top i {
    color: #fff;
    font-size: 1.1rem;
}

.egt-b2b-route ol {
    display: grid;
    gap: 16px;
    margin: 18px 0;
    padding: 0;
    list-style: none;
}

.egt-b2b-route li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    align-items: start;
}

.egt-b2b-route li > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border: 1px solid rgba(246, 217, 141, .42);
    border-radius: 50%;
    background: rgba(255,255,255,.07);
    color: #f6d98d;
    font-size: .68rem;
    font-weight: 800;
}

.egt-b2b-route strong {
    display: block;
    margin: 1px 0 3px;
    color: #fff;
    font-size: .94rem;
}

.egt-b2b-route p {
    margin: 0;
    color: rgba(237, 245, 250, .75);
    font-size: .78rem;
    line-height: 1.45;
}

.egt-b2b-route__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #fff;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
}

.egt-b2b-route__link i {
    color: #f6d98d;
    transition: transform .2s ease;
}

@media (hover: hover) {
    .egt-b2b-route__link:hover { color: #fff; }
    .egt-b2b-route__link:hover i { transform: translateX(4px); }
}

/* Compact the utility cards so the content starts sooner without removing an existing CTA. */
main.egt-main-corridor .egt-inline-tools.egt-inline-tools {
    position: relative;
    gap: 13px;
    margin-top: 14px;
    margin-bottom: 26px;
}

main.egt-main-corridor .egt-inline-tools .egt-static-card {
    align-self: start;
    min-height: 0;
    padding: 17px;
    border-radius: 16px;
    box-shadow: 0 10px 24px rgba(15, 40, 63, .07);
}

main.egt-main-corridor .egt-inline-tools .egt-card-actions {
    margin-top: 15px;
}

main.egt-main-corridor .egt-inline-tools .egt-static-btn {
    min-height: 39px;
}

/* Deliberate scroll motion; it is only enabled after script capability is established. */
[data-egt-reveal] {
    opacity: 1;
    transform: none;
}

html.egt-motion-ready [data-egt-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .5s ease, transform .5s ease;
}

html.egt-motion-ready [data-egt-reveal].egt-revealed {
    opacity: 1;
    transform: translateY(0);
}

#egtScrollProgress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001;
    width: var(--egt-scroll-progress, 0%);
    height: 3px;
    background: linear-gradient(90deg, #ef4135, var(--egt-saffron), #d7ab4a);
    box-shadow: 0 1px 9px rgba(239, 65, 53, .36);
    pointer-events: none;
    transition: width .08s linear;
}

@media (max-width: 1359px) {
    main.egt-main-corridor .egt-inline-tools.egt-inline-tools {
        grid-auto-rows: auto;
    }
}

@media (max-width: 900px) {
    .egt-b2b-brief__grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .egt-b2b-route {
        max-width: 620px;
    }
}

@media (max-width: 620px) {
    .egt-home-hero,
    .egt-home-hero img {
        border-radius: 12px;
    }

    main.egt-main-corridor .egt-b2b-brief {
        width: calc(100% - 14px);
        margin-top: 10px;
        margin-bottom: 18px;
        border-radius: 18px;
    }

    .egt-b2b-brief__grid {
        padding: 27px 19px 21px;
    }

    .egt-b2b-brief h1 {
        font-size: clamp(2rem, 10vw, 2.65rem);
    }

    .egt-b2b-brief__actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 21px;
    }

    .egt-b2b-button {
        width: 100%;
    }

    .egt-b2b-route {
        padding: 20px 17px;
        border-radius: 15px;
    }

    main.egt-main-corridor .egt-inline-tools.egt-inline-tools {
        margin-top: 8px;
    }

    #egtScrollProgress {
        height: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body { animation: none; }
    .egt-b2b-button,
    .egt-b2b-route__link i,
    html.egt-motion-ready [data-egt-reveal] {
        transition: none;
    }

    html.egt-motion-ready [data-egt-reveal] {
        opacity: 1;
        transform: none;
    }
}
