/* Final Me2 typography and viewport consistency layer. */
.stage1 h1,
.senior-list__hero-copy h1 {
    font-size: var(--type-h1);
}

.stage2__heading h2,
.stage3__heading h2,
.stage3__senior-copy h2,
.stage4__intro h2 {
    font-size: var(--type-h2);
}

.stage3__step h3,
.application-form__header h2 {
    font-size: var(--type-h3);
}

.stage2__identity h3,
.senior-list__identity h2,
.stage4__item h3 {
    font-size: var(--type-h4);
}

.me2-contact-link{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;margin-left:auto;padding:0 1.2rem;color:#fff;background:var(--color-text);border:.1rem solid var(--color-text);border-radius:999rem;font-size:1.05rem;font-weight:750;white-space:nowrap;transition:color var(--transition-fast),background var(--transition-fast)}
.me2-contact-link:hover{color:var(--color-text);background:#fff}
.stage2__meta,.senior-list__meta{align-items:center}.stage2__card,.senior-list__card{position:relative}

/* Simplified home composition and consistent interaction language. */
.stage1{min-height:calc(100svh - 7.2rem);background:#fbfbfd}
.stage1__inner{display:flex;min-height:clamp(34rem,52svh,52rem);align-items:flex-start;justify-content:center;padding:clamp(3rem,5svh,5rem) 0 4rem;text-align:center}
.stage1__content{max-width:82rem}
.stage1 h1{max-width:none;overflow:visible;line-height:1.08;letter-spacing:0;padding-block:.08em}
.stage1 h1 span,.senior-list__hero-copy h1 span,.stage3__heading h2 span,.stage4__intro h2 span,.application-page__copy h1 span,.me2-contact__head h1 span{display:inline-block;padding:.08em .04em;margin:-.08em -.04em;overflow:visible}
.stage1 h1 [data-senior-counter]{font-variant-numeric:tabular-nums}
.stage1 h1 .stage1__counter{display:block!important;min-height:1.08em;color:transparent;background:var(--brand-gradient);background-clip:text;-webkit-background-clip:text;font-size:1.12em;line-height:1;transition:opacity 180ms ease,transform 180ms ease}
.stage1__counter.is-changing{opacity:0;transform:translateY(-.16em)}
.stage1 h1 .stage1__title-copy{display:block!important;color:var(--color-text);background:none;font-size:.76em;letter-spacing:0;line-height:1.12}
.senior-list__hero-copy h1,.stage3__heading h2,.stage4__intro h2,.application-page__copy h1,.me2-contact__head h1{overflow:visible;line-height:1.08}
.stage1__lead{max-width:58rem;margin-inline:auto}
.stage1__actions{justify-content:center}
.stage1__note{justify-content:center}
.stage1__showcase{display:grid;width:min(76rem,calc(100% - (var(--page-gutter) * 2)));min-height:clamp(28rem,40svh,38rem);grid-template-columns:minmax(0,27rem) minmax(8rem,1fr) minmax(0,23rem);align-items:center;gap:3rem;margin-inline:auto;padding:2rem 0 5rem}
.stage1__showcase .stage1__person-card{position:relative;inset:auto;width:100%;min-height:27rem;transform:none}
.stage1__showcase .stage1__person-card--junior{min-height:24rem}
.stage1__showcase-link{display:flex;align-items:center;gap:1rem;color:var(--color-text-muted);font-size:1.1rem;font-weight:750;text-transform:uppercase}
.stage1__showcase-link i{height:.1rem;flex:1;background:var(--color-border)}
.stage1__button:hover,.stage1__button:hover svg,.stage2__more a:hover,.footer__column a:hover{transform:none}
.stage1__button--primary:hover svg{transform:translateX(.35rem)}
.stage1__button--secondary:hover{color:var(--color-text);background:#fff;border-color:var(--color-text)}
.stage2__inner{padding-top:8rem}
.stage2__card,.senior-list__card{padding:1.2rem;background:#fff;border:.1rem solid var(--color-border);border-radius:2.6rem}
.stage2__card-content{padding:2rem .4rem .4rem}
.me2-card-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:1rem;margin-top:1.6rem;padding-top:1.4rem;border-top:.1rem solid var(--color-border)}
.me2-card-actions .me2-contact-link{margin-left:0}
.me2-card-actions > a{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.me2-card-actions > a:only-child{margin-left:auto}
.me2-influencer-link{display:inline-flex;min-width:0;min-height:3.4rem;align-items:center;justify-content:center;gap:.5rem;padding:0 1.2rem;color:#fff;background:linear-gradient(115deg,#d62976 0%,#fa7e1e 14%,#d62976 36%,#962fbf 65%,#4f5bd5 84%,#d62976 100%);background-size:180% 100%;border:0;border-radius:.6rem;box-shadow:none;font-size:1.05rem;font-weight:500;white-space:nowrap;animation:me2-influencer-list-glow 6s ease-in-out infinite alternate}
.me2-influencer-link span{width:.7rem;height:.7rem;flex:0 0 auto;border-top:.1rem solid currentColor;border-right:.1rem solid currentColor;transform:rotate(45deg);transition:transform 300ms ease}
.me2-influencer-link:hover{color:#fff;box-shadow:none;filter:none;outline:none}
.me2-influencer-link:hover span,.me2-influencer-link:focus-visible span{transform:translateX(.24rem) rotate(45deg)}
.me2-influencer-link:focus-visible{color:#fff;box-shadow:none;filter:none;outline:.1rem solid #111116;outline-offset:.2rem}
@keyframes me2-influencer-list-glow{from{background-position:15% 50%}to{background-position:85% 50%}}

.stage1,
.stage2,
.stage3,
.stage4,
.application-page,
.senior-list {
    min-width: 0;
}

.stage1__inner,
.stage2__inner,
.stage3__inner,
.stage3__senior-wrap,
.stage4__inner,
.application-page__inner,
.senior-list__hero-inner,
.senior-list__inner,
.footer__inner {
    max-width: 100%;
}

@media screen and (min-width: 641px) and (max-width: 1100px) {
    .stage1 {
        min-height: 0;
    }

    .stage1__inner,
    .application-page__layout,
    .stage3__senior-card,
    .senior-list__hero-layout {
        grid-template-columns: 1fr;
    }

    .stage1__visual {
        justify-self: center;
    }

    .stage1__showcase {
        min-height: 0;
        padding-bottom: 4rem;
    }

    .stage2__grid,
    .senior-list__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .stage3__inner {
        padding: 8rem 0;
    }

    .stage3__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1.2rem;
        margin-top: 5rem;
    }

    .stage3__step {
        min-height: 28rem;
        padding: 2rem;
    }

    .stage3__step--accent {
        transform: none;
    }

    .stage3__step-icon {
        width: 6.4rem;
        height: 6.4rem;
        margin: 3.2rem 0 2.6rem;
    }

    .stage3__step-icon svg {
        width: 2.6rem;
        height: 2.6rem;
    }
}

@media screen and (max-width: 640px) {
    .stage1 h1,
    .application-page__copy h1,
    .senior-list__hero-copy h1,
    .stage2__heading h2,
    .stage3__heading h2,
    .stage3__senior-copy h2,
    .stage4__intro h2 {
        overflow-wrap: anywhere;
    }

    .stage1__inner,
    .stage2__inner,
    .stage3__inner,
    .stage4__inner,
    .application-page__inner,
    .senior-list__hero-inner,
    .senior-list__inner {
        width: calc(100% - (var(--page-gutter) * 2));
    }

    .stage1__visual,
    .stage3__senior-card,
    .application-form-card,
    .senior-list__filters,
    .senior-list__card {
        max-width: 100%;
    }

    .stage1__inner{min-height:auto;padding:3.5rem 0 4rem}
    .stage1__showcase{width:calc(100% - (var(--page-gutter) * 2));grid-template-columns:1fr;gap:2rem;padding:3rem 0 7rem}
    .stage1__showcase .stage1__person-card{width:min(27rem,100%);justify-self:center}
    .stage1__showcase-link{width:min(18rem,70%);justify-self:center}
    .stage1__showcase-link{height:7rem;flex-direction:column}
    .stage1__showcase-link i{width:.1rem;height:auto;flex:1}

    .stage1__message {
        max-width: 72%;
        white-space: normal;
    }

    .application-form__grid,
    .senior-list__filters,
    .senior-list__grid {
        grid-template-columns: 1fr;
    }

    .me2-card-actions > a {
        flex: 1 1 0;
        padding-inline: .8rem;
    }
}

@media screen and (min-width: 2560px) {
    .navbar__inner,
    .stage1__inner,
    .stage1__disciplines-inner,
    .stage2__inner,
    .stage3__inner,
    .stage3__senior-wrap,
    .stage4__inner,
    .application-page__inner,
    .senior-list__hero-inner,
    .senior-list__inner,
    .footer__inner {
        width: min(var(--container-width), calc(100% - (var(--page-gutter) * 2)));
    }
}

/* One proportional control scale, with separate primary, filter and compact tiers. */
.stage1__button,
.stage2__more a,
.stage3__application-link,
.application-form__submit,
.me2-contact button {
    min-height: var(--control-height);
    padding-inline: 2rem;
    font-size: var(--control-font);
}

.senior-list__filters button {
    min-height: var(--control-height-filter);
    font-size: var(--control-font);
}

.me2-contact-link,
.me2-influencer-link {
    min-height: var(--control-height-compact);
    padding-inline: 1.2rem;
    font-size: var(--control-font-compact);
}

.stage3__application-link:hover,
.application-form__submit:hover:not(:disabled) {
    transform: none;
}

/* Shared interaction for black action controls across Me2. */
.navbar__menu a:last-child,
.stage1__button--primary,
.stage2__more a,
.application-form__submit,
.me2-contact button,
.me2-contact-link,
.senior-list__empty button {
    color: #fff;
    background: var(--color-text);
    border: .1rem solid var(--color-text);
    transition:
        color var(--transition-fast),
        background var(--transition-fast),
        border-color var(--transition-fast),
        opacity var(--transition-fast);
}

.navbar__menu a:last-child:hover,
.navbar__menu a:last-child:focus-visible,
.stage1__button--primary:hover,
.stage1__button--primary:focus-visible,
.stage2__more a:hover,
.stage2__more a:focus-visible,
.application-form__submit:hover:not(:disabled),
.application-form__submit:focus-visible:not(:disabled),
.me2-contact button:hover,
.me2-contact button:focus-visible,
.me2-contact-link:hover,
.me2-contact-link:focus-visible,
.senior-list__empty button:hover,
.senior-list__empty button:focus-visible {
    color: var(--color-text);
    background: #fff;
    border-color: var(--color-text);
    box-shadow: none;
    transform: none;
}

/* The white action on the dark section uses the same inverse response. */
.stage3__application-link:hover,
.stage3__application-link:focus-visible {
    color: #fff;
    background: var(--color-text);
    border-color: #fff;
}
