/* Shared opening rhythm for both application forms. */
.beacon-application .join-hero,.vertex-join-page .join-hero{padding:44px 0 8px;text-align:center}
.beacon-application .join-hero h1,.vertex-join-page .join-hero h1{margin:0 0 16px;line-height:1.15}
.beacon-application .join-hero .join-lede,.vertex-join-page .join-hero .join-lede{margin:0 auto;line-height:1.6}
.beacon-application .join-wrap,.vertex-join-page .join-wrap{padding-top:36px}
.vertex-join-page .join-card{background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(12px)}
@media(max-width:640px){.beacon-application .join-wrap,.vertex-join-page .join-wrap{padding-top:28px}}

/* Both application forms use the same surface and control height. */
:is(.beacon-application,.vertex-join-page) .join-card .vx-birth-trigger{background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;min-height:48px;height:48px;padding:12px 14px;font-size:14px}
:is(.beacon-application,.vertex-join-page) #joinForm .form-group>input:not([type=checkbox]):not(.vx-birth-source),:is(.beacon-application,.vertex-join-page) #joinForm .iti input[type=tel],:is(.beacon-application,.vertex-join-page) .application-select-trigger{height:48px;min-height:48px;box-sizing:border-box}
.beacon-application #joinTeamTrigger{font-size:12px;white-space:nowrap;line-height:1.3;height:48px;min-height:48px;padding-inline:12px;gap:10px}
.beacon-application #joinTeamValue{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.beacon-application #joinTeamOptions .application-option{font-size:12px;line-height:1.5}
:is(.beacon-application,.vertex-join-page) .form-group{min-width:0}

/* Full institution names shrink to fit instead of being replaced by an ellipsis. */
.beacon-application #joinTeamValue{flex:1 1 0;width:0;text-overflow:clip}
/* Bottom-anchored phone sheets follow the library's Visual Viewport keyboard inset. */
:is(.beacon-page,.vertex-join-page) .iti--fullscreen-popup .iti__close-button{display:none!important}
.iti--fullscreen-popup.iti--detached-country-selector{justify-content:flex-end;transition:padding-bottom 160ms cubic-bezier(.2,.8,.2,1)}
.iti--fullscreen-popup .iti__country-selector{max-height:min(520px,100%)}
@media(prefers-reduced-motion:reduce){.iti--fullscreen-popup.iti--detached-country-selector{transition:none}}

/* Give the Join Us content the same breathing room at both ends. */
.vertex-join-page>main{box-sizing:border-box;min-height:calc(100svh - 68px);display:flex;flex-direction:column;justify-content:center;padding-block:28px}
.vertex-join-page>main .join-hero{padding-top:0}
.vertex-join-page>main .join-wrap{width:100%;box-sizing:border-box;padding-bottom:0}

/* Rotate a centered chevron in a fixed square; its footprint never changes. */
:is(.vertex-join-page,.beacon-application) .application-select-trigger::after,
:is(.vertex-join-page,.beacon-application) .iti__arrow{
 width:16px;height:16px;min-width:16px;flex:0 0 16px;border:0;background:currentColor;transform:rotate(0);transform-origin:50% 50%;
 -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px 16px no-repeat;
 transition:transform 200ms var(--panel-ease)
}
:is(.vertex-join-page,.beacon-application) .application-select-trigger[aria-expanded=true]::after,
:is(.vertex-join-page,.beacon-application) .iti__arrow--up{transform:rotate(180deg)}
:is(.vertex-join-page,.beacon-application) .iti__arrow,
:is(.vertex-join-page,.beacon-application) .iti__arrow--up{margin-top:0}
@media(prefers-reduced-motion:reduce){:is(.vertex-join-page,.beacon-application) .application-select-trigger::after,:is(.vertex-join-page,.beacon-application) .iti__arrow{transition:none}}
