/* Join Us redesign: reuse 1004 tokens; shared Swiss/mobile layers remain last. */
html body .join-redesign{padding-top:0}
/* Section spacing uses the shared data-wy-space budget above mobile. Keep band
   IDs out of this fallback's specificity so the shared budget can win. */
html body .join-redesign .section,html body .join-redesign :where(#band-people,#band-jobs){padding:var(--wy-s9) 0!important}
html body .join-redesign .section,html body .join-redesign #band-people,html body .join-redesign #band-jobs{margin:0;background:var(--wy-g0);border-radius:0}
html body .join-redesign .sec-label{margin:0 0 var(--wy-s4);font-size:var(--wy-fs-micro);color:var(--wy-primary)}
html body .join-why-layout{display:grid;grid-template-columns:repeat(var(--wy-cols),minmax(0,1fr));gap:var(--wy-col-gap);align-items:stretch;margin-top:var(--wy-gap-head)}
html body .join-scene{position:relative;overflow:hidden;grid-column:1 / 7;min-height:0;height:652px;background:var(--wy-g25);border-radius:var(--wy-r-2xl)}
html body .join-why-grid{grid-column:8 / 13;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--wy-s7);row-gap:var(--wy-s8);align-content:start;align-items:start}
/* Fixed icon track and consistent text spacing keep each pair on the same starting lines. */
html body .join-why-item{display:grid;grid-template-rows:var(--wy-s6) auto;row-gap:var(--wy-s5);align-items:start;justify-items:start;min-width:0}
html body .join-why-item > div{width:100%;min-width:0}
html body .join-why-icon{width:var(--wy-s6);height:var(--wy-s6);color:var(--wy-primary)}
html body .join-why-item .h3{margin:0 0 var(--wy-s3)}
html body .join-why-item .body{margin:0;color:var(--wy-g700)}
html body #people .cell__h{white-space:normal}
/* M03: the shared heading gap owns the clearance above the portraits. */
html body .join-voices-stage{position:relative;margin-top:var(--wy-gap-head);padding:0 var(--wy-s9) var(--wy-s8)}
html body #band-people .voices{margin:0 auto;max-width:calc(var(--wy-text-col) + var(--wy-s10) * 2)}
html body #band-people .voice__img{box-shadow:none}
html body #band-people .voice__in{padding-top:var(--wy-s7);width:100%}
html body #band-people .voice__who b,html body .founder-quote__signature b{font-size:var(--wy-fs-h3);font-weight:500}
html body #band-people .voice__who span,html body .founder-quote__signature span{font-size:var(--wy-fs-body);color:var(--wy-g500)}
html body #band-people .voices__dots{margin-top:var(--wy-s6);padding-bottom:var(--wy-s8)}
html body .join-life-wall{margin-top:var(--wy-s9)}
html body .join-life-wall .wall{margin-top:0}
html body .join-life-wall .wall__i{height:calc(var(--wy-s10) * 3);aspect-ratio:4/3}
html body .join-life-wall .wall__i img{width:100%;height:100%;object-fit:cover}
html body .join-redesign .jobs2{display:block;grid-template-columns:minmax(0,1fr);margin-top:var(--wy-gap-head)}
@media(max-width:1199px){
 html body .join-why-layout{grid-template-columns:minmax(0,1fr);gap:var(--wy-s7)}
 html body .join-scene,html body .join-why-grid{grid-column:1}
 html body .join-scene{min-height:0;height:auto;aspect-ratio:3/2}
}
@media(max-width:767px){
 html body .join-redesign .section,html body .join-redesign #band-people,html body .join-redesign #band-jobs{padding:var(--wy-s8) 0!important}
 html body .join-why-grid{grid-template-columns:minmax(0,1fr);gap:var(--wy-s7)}
 html body .join-why-item{gap:var(--wy-s4)}
 html body .join-voices-stage{padding:0 0 var(--wy-s8)}
 html body #band-people .voices__dots{margin-top:var(--wy-s5)}
 html body .join-life-wall{margin-top:var(--wy-s8)}
 html body .join-life-wall .wall__i{height:calc(var(--wy-s10) * 2)}
}

/* Ordinary solution/product banner, sourced from the existing shv1 component. */
html body .join-banner{position:relative;overflow:hidden;display:flex;align-items:center;background:var(--wy-g0);height:max(560px,calc(100 * var(--wy-vh) - 320px));padding:var(--wy-nav-h) 0 0}
html body .join-banner .shv1__bg{position:absolute;inset:0;z-index:0;background:url(join/join-banner-dream-flight-clean-v2.png) center/cover no-repeat}
html body .join-banner .shv1__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(255,255,255,.55) 78%,var(--wy-g0) 100%)}
html body .join-banner .shv1__in{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
html body .join-banner .shv1__h{margin:0;color:var(--wy-ink);white-space:normal;max-width:900px}
html body .join-banner .shv1__sub{margin:var(--wy-s6) 0 0;color:var(--wy-g600)}
html body .join-banner .shv1__btn{margin-top:var(--wy-s7);padding:0 var(--wy-s5)!important}
html body .join-redesign :is(.sec-label,.cell__lbl){color:var(--wy-primary)!important;text-transform:uppercase}
/* Pagination bars reuse the original 1004 indicators, with no separator rules. */
html body #band-people .voices__dots{gap:var(--wy-s3);padding-bottom:0}
html body #band-people .voices__dots button{width:var(--wy-s8);height:var(--wy-s1);border-radius:var(--wy-r-full)}
html body .founder-quote{max-width:calc(var(--wy-text-col) + var(--wy-s10) * 2);margin:var(--wy-gap-head) auto 0;display:flex;flex-direction:column;align-items:center;text-align:center}
html body .founder-quote__avatar{flex:none}

html body .founder-quote__copy{margin-top:var(--wy-s7)}
html body .founder-quote .leader__p{margin:0;font-size:var(--wy-fs-h3)!important;line-height:var(--wy-lh-head)!important;font-weight:500;color:var(--wy-ink)}
html body .founder-quote .leader__p + .leader__p{margin-top:var(--wy-s5)}
html body .founder-quote__signature{margin:var(--wy-s8) 0 0;display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--wy-ink)}
@media(min-width:768px) and (max-width:1199px){
 html body .shv1.join-banner{height:auto;padding:calc(var(--wy-nav-h) + var(--wy-s8)) 0 340px}
 html body .join-banner .shv1__bg{background-color:#EEF0FC;background-size:auto 300px;background-position:right bottom}
 html body .join-banner .shv1__bg::before{content:"";position:absolute;left:0;right:0;bottom:220px;height:80px;background:linear-gradient(180deg,#EEF0FC,transparent)}
 html body .join-banner .shv1__bg::after{inset:auto 0 0;height:100px;background:linear-gradient(180deg,transparent,var(--wy-g0))}
}
@media(max-width:767px){
 html body .shv1.join-banner{height:auto;padding:calc(var(--wy-nav-h) + var(--wy-s8)) 0 300px!important}
 html body .join-banner .shv1__bg{background-color:#EEF0FC;background-size:auto 240px;background-position:right bottom}
 html body .join-banner .shv1__bg::before{content:"";position:absolute;left:0;right:0;bottom:180px;height:60px;background:linear-gradient(180deg,#EEF0FC,transparent)}
 html body .join-banner .shv1__bg::after{inset:auto 0 0;height:22%;background:linear-gradient(180deg,transparent,var(--wy-g0))}
 html body .founder-quote .leader__p{font-size:var(--wy-fs-body)!important;line-height:var(--wy-lh-body)!important}
 html body #band-people .voices__dots{gap:var(--wy-s2)}
}

html body .join-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}

/* The supplied portraits have their own circular composition; preserve the full artwork. */
html body .join-redesign{--join-avatar-size:calc(var(--wy-s10) + var(--wy-s6) + var(--wy-s2))}
html body #band-people .voice__img,html body .founder-quote__avatar{width:var(--join-avatar-size);height:var(--join-avatar-size);aspect-ratio:1;border-radius:0;overflow:visible;background:transparent;box-shadow:none}
html body #band-people .voice__img img,html body .founder-quote__avatar img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0}
@media(max-width:767px){html body .join-redesign{--join-avatar-size:120px}}

/* Position heading and list share a centered 70% desktop reading column. */
html body .join-redesign #jobs{width:70%;margin-left:auto;margin-right:auto}
@media(max-width:767px){html body .join-redesign #jobs{width:100%}}

/* Join Us footer: remove the upper rule and start the content at its former position. */
html body .tail .footer > .container{border-top:0;padding-top:0!important}
/* Keep the rounded gradient above the preceding Open Positions band (z-index: 4). */
html body .tail{z-index:5}

/* Same height transition as the 1004 FAQ; inner padding collapses with the panel. */
html body #band-jobs .job__summary{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left}
html body #band-jobs .job__panel{max-height:0;overflow:hidden;transition:max-height .35s var(--wy-ease)}
@media(prefers-reduced-motion:reduce){html body #band-jobs .job__panel{transition:none}}

/* Section padding owns the opening space; remove the inherited Bento row margin. */
html body .join-redesign :is(#people,#jobs){margin-top:0}

/* Match the employee quotation's mobile reading rhythm. */
@media(max-width:767px){
 html body .founder-quote .leader__p{line-height:var(--wy-lh-body)!important}
}
@media(prefers-reduced-motion:reduce){html body #band-people .voice{transition:none}}
