/* Story screens stop decisively; only the recruitment details may be longer. */
.recruit-page .swipe-container {scroll-snap-type:y mandatory;}
.recruit-page .story-frame {height:var(--screen)!important;min-height:var(--screen)!important;max-height:var(--screen)!important;scroll-snap-stop:always;padding:18px 24px 24px;}
.recruit-page .story-frame:not(#hero) .slide-content {height:100%;min-height:0;max-height:none;display:flex;flex-direction:column;gap:12px;justify-content:center;}
.recruit-page .story-frame:not(#hero) .slide-content>* {flex:none;margin:0;}
.recruit-page .story-frame .slide-title {font-size:25px;line-height:1.45;}
.recruit-page .story-frame .copy {font-size:14px;line-height:1.75;}
.recruit-page .story-frame .editorial-art,
.recruit-page .story-frame .infrastructure-art,
.recruit-page .story-frame .team-art {flex:1 1 0!important;height:0!important;min-height:45px;max-height:270px;object-fit:contain;width:100%;margin:0!important;}
.recruit-page .story-frame .editorial-panel {padding:14px;}
.recruit-page .story-frame .editorial-panel .editorial-conclusion {margin:12px -14px -14px;}
.recruit-page .story-frame .editorial-conclusion {font-size:14px;line-height:1.75;padding:12px;}
.recruit-page #work.story-frame .card-body {font-size:14px;line-height:1.75;padding:12px;}
.recruit-page #work.story-frame .recruit-card h3 {font-size:20px;padding:10px;}
.recruit-page #experienced.story-frame .editorial-dialogue {flex:1;min-height:160px;max-height:300px;grid-template-columns:1.3fr 1fr;}
.recruit-page #experienced.story-frame .editorial-dialogue img {height:100%;max-height:240px;}
.recruit-page #six.story-frame .six-count strong {font-size:54px;}
.recruit-page #six.story-frame .emphasis {font-size:14px;line-height:1.75;padding:8px 0;}
.recruit-page #person.story-frame .safety-detail {flex:1;min-height:0;}
@media(max-height:740px) {
 .recruit-page .story-frame:not(#hero) {padding:12px 20px 20px;}
 .recruit-page .story-frame:not(#hero) .slide-content {gap:8px;}
 .recruit-page .story-frame .slide-title {font-size:21px;line-height:1.4;}
 .recruit-page .story-frame .section-label {font-size:11px;padding:3px 10px;}
 .recruit-page .story-frame .copy,.recruit-page #work.story-frame .card-body {font-size:13px;line-height:1.65;}
 .recruit-page .story-frame .editorial-panel {padding:10px;}
 .recruit-page .story-frame .editorial-panel .editorial-conclusion {margin:10px -10px -10px;}
 .recruit-page .story-frame .editorial-conclusion {font-size:13px;line-height:1.65;padding:10px;}
 .recruit-page #work.story-frame .recruit-card h3 {font-size:17px;padding:8px;}
 .recruit-page #work.story-frame .card-body {padding:8px 10px;}
 .recruit-page #experienced.story-frame .editorial-dialogue {min-height:140px;}
 .recruit-page #experienced.story-frame .editorial-dialogue>div {padding-right:0;}
 .recruit-page #experienced.story-frame .editorial-dialogue img {position:static;width:100%;max-height:175px;}
 .recruit-page .editorial-dialogue .scene-quotes {font-size:12px;line-height:1.6;padding:9px;margin-bottom:12px;}
 .recruit-page #six.story-frame .six-count strong {font-size:42px;}
 .recruit-page #six.story-frame .emphasis {font-size:13px;line-height:1.65;padding:6px 0;}
 .recruit-page #person.story-frame .plain-list {font-size:14px;line-height:1.85;}
 .recruit-page #strength.story-frame .emphasis {font-size:13px;line-height:1.65;}
}
/* Keep the person criteria and its explanation together, not at opposite ends. */
.recruit-page #person.story-frame .slide-content {justify-content:center;gap:18px;}
.recruit-page #person.story-frame .safety-detail {flex:0 1 auto;min-height:0;max-height:260px;align-items:center;gap:14px;}
.recruit-page #person.story-frame .safety-art {height:auto;max-height:240px;align-self:center;object-position:center;}
.recruit-page #person.story-frame .safety-copy {align-self:center;}
@media(max-height:740px) {
 .recruit-page #person.story-frame .slide-content {gap:10px;}
 .recruit-page #person.story-frame .safety-detail {max-height:190px;gap:10px;}
 .recruit-page #person.story-frame .safety-art {max-height:180px;}
}
.recruit-page #person.story-frame .speech-label {align-self:flex-start;}
