/* Recruitment only: a white opening panel between two expressive side panels. */
.recruit-experience { --crew-ink: #142334; --crew-accent: #ff873c; color: var(--crew-ink); background: #fff; }
.crew-hero { min-height: max(760px, calc(100svh - 96px)); position: relative; overflow: hidden; display: grid; place-items: center; isolation: isolate; padding: 96px 24px 72px; perspective: 1600px; }
.crew-hero__label { position: absolute; top: 28px; left: 3vw; z-index: 4; font-size: .875rem; font-weight: 800; letter-spacing: .08em; }
.crew-hero__center { width: min(46%,660px); position: relative; z-index: 3; text-align: center; background: #fff; padding: 48px 12px 18px; }
.crew-kicker { font-size: .9375rem; font-weight: 700; letter-spacing: .12em; }
.crew-hero h1 { font: 900 clamp(2.5rem,4.8vw,5rem)/1.35 var(--font-display); letter-spacing: -.075em; margin-top: 32px; }
.crew-hero h1 em { font-style: normal; color: #b74613; }
.crew-hero__english { font: 800 clamp(1.4rem,2.7vw,2.5rem)/1 var(--font-latin); letter-spacing: .06em; margin-top: 26px; }
.crew-hero__lead { font-size: 1rem; line-height: 2; margin-block: 24px 28px; }
.crew-pill { min-height: 56px; display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; padding: 16px 26px; background: var(--crew-ink); border: 1px solid var(--crew-ink); border-radius: 100px; color: #fff; font-weight: 700; font-size: .9375rem; }
.crew-pill span { font-size: 1.5rem; line-height: 1; }
.crew-pill::before { content: ''; flex: none; width: 1.5rem; }
.crew-pill span { flex: none; width: 1.5rem; text-align: center; }
.crew-pill:hover { background: var(--crew-accent); color: var(--crew-ink); }
.crew-scroll { display: flex; flex-direction: column; gap: 14px; align-items: center; margin: 40px auto 0; font: 700 .875rem/1.4 var(--font-latin); letter-spacing: .13em; }
.crew-scroll span { font-size: 1.8rem; }
.crew-door { position: absolute; top: 70px; bottom: 40px; width: 30%; overflow: hidden; will-change: transform; }
.crew-door--photo { left: -1%; transform: rotate(-5deg); background: #eef2f4; }
.crew-door--photo .photo { height: 100%; }
.crew-door--photo img { width: 100%; height: 100%; object-fit: cover; object-position: 42% center; }
.crew-door--photo .image-caption { position: absolute; bottom: 12px; left: 12px; right: 12px; background: #fff; padding: 8px; font-size: .75rem; color: #26313a; }
.crew-door__tag { position: absolute; top: 26px; left: 24px; font: 800 clamp(1.5rem,3vw,3rem)/.95 var(--font-latin); color: #fff; text-shadow: 0 1px 12px #0008; }
.crew-door--type { right: -1%; transform: rotate(5deg); background: var(--crew-accent); padding: 44px 32px; display: flex; flex-direction: column; justify-content: space-between; }
.crew-door--type > span { font: 800 clamp(3.7rem,7vw,7rem)/.9 var(--font-latin); letter-spacing: -.025em; }
.crew-door--type b { font: 400 clamp(5rem,12vw,12rem)/.8 sans-serif; align-self: end; }
.crew-door--type small { font-size: .875rem; font-weight: 700; }
.recruit-experience section[id] { scroll-margin-top: 80px; }
.crew-pill, .crew-scroll { text-decoration: none; }
.crew-nav { position: sticky; top: 96px; z-index: 20; display: flex; justify-content: center; gap: clamp(16px,4vw,64px); padding: 16px 20px; border-block: 1px solid #14233422; background: #fffffff5; }
.crew-nav::after { content: ''; position: absolute; height: 2px; background: var(--crew-accent); bottom: -1px; left: 0; width: 100%; transform-origin: left; transform: scaleX(var(--crew-page-progress,0)); }
.crew-nav a { font-size: .875rem; font-weight: 700; min-height: 32px; display: flex; align-items: center; text-decoration: none; }
.crew-nav a:hover, .crew-nav a[aria-current] { color: #ad4210; text-decoration: underline; text-underline-offset: 7px; }
.crew-intro { padding: 140px 0; text-align: center; }
.crew-statement { font-size: clamp(1.9rem,4vw,3.8rem); line-height: 1.65; letter-spacing: -.055em; margin-top: 54px; }
.crew-statement mark { color: #b74613; background: linear-gradient(transparent 78%,#ffd4b8 78%) no-repeat; background-size: calc(var(--crew-read,1) * 100%) 100%; }
.crew-intro__copy { margin: 42px auto 36px; line-height: 2.4; }
.crew-pill--light { color: var(--crew-ink); background: #fff; }
.crew-values { padding: 100px 0 120px; background: #f2f3f3; }
.crew-section-head { margin-bottom: 68px; }
.crew-section-head h2 { font-size: clamp(2rem,4vw,3.8rem); line-height: 1.4; letter-spacing: -.055em; margin-block: 26px; }
.crew-stack { display: grid; gap: 42px; }
.crew-value { position: relative; display: grid; grid-template-columns: 1fr 1.25fr; gap: 60px; align-items: center; min-height: 480px; padding: 88px 72px 72px; border: 1px solid #14233422; border-radius: 16px; background: #fff; box-shadow: 0 16px 30px #14233408; }
.crew-value__num { position: absolute; top: 30px; left: 40px; font-size: .875rem; font-weight: 700; letter-spacing: .08em; }
.crew-value__word { font: 800 clamp(4rem,8.5vw,9rem)/.88 var(--font-latin); letter-spacing: -.03em; }
.crew-value h3 { font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.45; letter-spacing: -.045em; margin-block: 20px; }
.crew-value__wish { font-size: .9375rem; font-weight: 700; }
.crew-value__arrow { position: absolute; right: 34px; top: 20px; font: 2.5rem sans-serif; }
.crew-value--orange { background: var(--crew-accent); }
.crew-value--navy { background: var(--crew-ink); color: #fff; }
.crew-value--navy .crew-value__word { color: var(--crew-accent); }
.crew-work { padding-block: 120px; overflow: hidden; }
.crew-work__word { font: 800 clamp(3rem,10vw,10rem)/.9 var(--font-latin); letter-spacing: -.035em; margin-bottom: 76px; }
.crew-work .photo { transform: rotate(-3deg); }
.crew-work .photo img { aspect-ratio: 1.1; border-radius: 12px; }
.crew-work .split { align-items: center; }
.crew-details { background: #f2f3f3; }
.crew-details .section-title, .crew-faq .section-title { margin-top: 32px; }
.crew-details .info-table { background: #fff; margin-top: 48px; }
.crew-details .info-table th, .crew-details .info-table td { padding: 25px; }
.crew-details .note-panel { border: 1px solid #14233422; background: transparent; }
.crew-flow { background: #fff; }
.crew-flow .flow { counter-reset: crew-step; gap: 36px; }
.crew-flow .flow li { border-top: 1px solid #14233455; padding-top: 24px; }
.crew-flow .flow li::before { content: '0' counter(crew-step); counter-increment: crew-step; display: block; position: static; background: none; width: auto; height: auto; color: #b74613; font: 800 5rem/1 var(--font-latin); margin-bottom: 24px; border: 0; }
.crew-faq { background: #f2f3f3; }
.crew-faq .faq details { background: #fff; padding-inline: 28px; border: 0; margin-bottom: 12px; border-radius: 8px; }
.crew-faq .faq details[open] { box-shadow: inset 4px 0 var(--crew-accent); }
/* Orange trajectory → original logo → kinetic words → split reveal.
   Transparent stage exposes the actual hero, without duplicating its photos. */
.crew-opening { display: none; position: fixed; inset: 0; z-index: 1000; overflow: hidden; pointer-events: none; color: var(--crew-ink); }
.crew-intro-running .crew-opening { display: block; animation: crew-intro-dismiss 4.2s linear both; }
.crew-opening__shutter { position: absolute; inset-block: 0; width: calc(50% + 1px); background: #f8f6f1; animation: crew-shutter-left .85s 2.95s cubic-bezier(.76,0,.24,1) both; }
.crew-opening__shutter--left { left: 0; border-right: 2px solid var(--crew-accent); }
.crew-opening__shutter--right { right: 0; border-left: 2px solid var(--crew-accent); animation-name: crew-shutter-right; }
.crew-opening__edition, .crew-opening__signature { position: absolute; inset-inline: clamp(22px,4vw,64px); display: flex; justify-content: space-between; align-items: center; gap: 20px; font: 700 .875rem/1.5 var(--font-latin); letter-spacing: .12em; animation: crew-frame 3.15s ease both; }
.crew-opening__edition { top: max(28px,env(safe-area-inset-top)); padding-bottom: 18px; border-bottom: 1px solid #14233426; }
.crew-opening__edition::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--crew-accent); flex-shrink: 0; }
.crew-opening__edition > span { margin-left: auto; }
.crew-opening__signature { bottom: max(28px,env(safe-area-inset-bottom)); padding-top: 18px; border-top: 1px solid #14233426; }
.crew-opening__signature > span:last-child { font: 700 .8125rem/1.5 var(--font-body,sans-serif); letter-spacing: .04em; }
.crew-opening__route { position: absolute; top: 50%; left: 0; width: 100%; height: 5px; background: var(--crew-accent); transform-origin: left; animation: crew-route 1.65s cubic-bezier(.76,0,.24,1) both; }
.crew-opening__identity { position: absolute; left: 50%; top: 50%; width: min(440px,78vw); translate: -50% -50%; padding: clamp(20px,3vw,36px); background: #fff; animation: crew-logo-reveal 1.7s cubic-bezier(.22,1,.36,1) both; }
.crew-opening__logo { display: block; width: 100%; height: auto; }
.crew-opening__words { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .08em; font: 900 clamp(3rem,10.5vw,10rem)/1.35 var(--font-display); letter-spacing: -.08em; }
.crew-opening__word { display: block; white-space: nowrap; animation: crew-word-next 1.75s 1.25s cubic-bezier(.16,1,.3,1) both; }
.crew-opening__word--next { align-self: center; margin-left: -12vw; }
.crew-opening__word--crew { color: #bf4d16; margin-left: 16vw; animation-name: crew-word-crew; animation-delay: 1.5s; }
.crew-opening__word i { display: inline-block; font: 400 .8em/1 sans-serif; margin-left: .25em; color: var(--crew-accent); vertical-align: .05em; }
.crew-intro-running .crew-hero__center { animation: crew-center-arrive 1s 2.9s cubic-bezier(.16,1,.3,1) both; }
.crew-intro-running .crew-hero__center > * { animation: crew-copy-arrive .6s 3s ease both; }
.crew-intro-running .crew-hero__center h1 { animation-delay: 3.1s; }
.crew-intro-running .crew-hero__english { animation-delay: 3.2s; }
.crew-intro-running .crew-hero__lead { animation-delay: 3.3s; }
.crew-intro-running .crew-hero__center .crew-pill { animation-delay: 3.4s; }
.crew-intro-running .crew-hero__center .crew-scroll { animation-delay: 3.5s; }
.crew-intro-running .crew-door--photo { animation: crew-left-arrive 1s 2.85s cubic-bezier(.16,1,.3,1) both; }
.crew-intro-running .crew-door--type { animation: crew-right-arrive 1s 2.95s cubic-bezier(.16,1,.3,1) both; }
.motion-paused .crew-opening { display: none; }
.motion-enabled .crew-door--photo { transform: translate3d(calc(var(--crew-progress,0) * -100px),calc(var(--crew-y,0) * 10px),0) rotateY(calc(var(--crew-x,0) * 5deg)) rotate(-5deg); }
.motion-enabled .crew-door--type { transform: translate3d(calc(var(--crew-progress,0) * 100px),calc(var(--crew-y,0) * -10px),0) rotateY(calc(var(--crew-x,0) * -5deg)) rotate(5deg); }
.motion-enabled .crew-scroll span { animation: crew-nudge 2.4s ease-in-out infinite; }
.motion-enabled [data-crew-reveal].crew-entered { animation: crew-reveal .85s cubic-bezier(.2,.7,.2,1) both; }
@keyframes crew-intro-dismiss { 0%,91% { visibility: visible; } 92%,100% { visibility: hidden; } }
@keyframes crew-shutter-left { to { transform: translateX(-100%); } }
@keyframes crew-shutter-right { to { transform: translateX(100%); } }
@keyframes crew-route { 0% { transform: scaleX(0); } 35%,76% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes crew-logo-reveal { 0%,20% { clip-path: inset(0 100% 0 0); opacity: 1; } 48%,76% { clip-path: inset(0); opacity: 1; transform: translateY(0); } 100% { clip-path: inset(0); opacity: 0; transform: translateY(-28px); } }
@keyframes crew-frame { 0% { opacity: 0; } 18%,88% { opacity: 1; } 100% { opacity: 0; } }
@keyframes crew-word-next { 0% { opacity: 0; transform: translateX(-25vw) skewX(-8deg); } 25%,78% { opacity: 1; transform: translateX(0) skewX(0); } 100% { opacity: 0; transform: translateX(15vw); } }
@keyframes crew-word-crew { 0% { opacity: 0; transform: translateX(25vw) skewX(-8deg); } 25%,72% { opacity: 1; transform: translateX(0) skewX(0); } 100% { opacity: 0; transform: translateX(-15vw); } }
@keyframes crew-center-arrive { from { scale: 1.06; } to { scale: 1; } }
@keyframes crew-copy-arrive { from { opacity: 0; translate: 0 20px; } to { opacity: 1; translate: 0 0; } }
@keyframes crew-left-arrive { from { opacity: 0; translate: 28vw 0; rotate: 0 1 0 35deg; scale: .8; } to { opacity: 1; translate: 0 0; rotate: 0 1 0 0deg; scale: 1; } }
@keyframes crew-right-arrive { from { opacity: 0; translate: -28vw 0; rotate: 0 1 0 -35deg; scale: .8; } to { opacity: 1; translate: 0 0; rotate: 0 1 0 0deg; scale: 1; } }
@keyframes crew-reveal { from { opacity: 0; translate: 0 30px; } to { opacity: 1; translate: 0 0; } }
@keyframes crew-nudge { 0%,100% { transform: translateY(0); } 50% { transform: translateY(7px); } }
@media(min-width:1051px) and (min-height:760px) {
  .motion-enabled .crew-value { position: sticky; top: 180px; }
  .motion-enabled .crew-value:nth-child(2) { top: 194px; }
  .motion-enabled .crew-value:nth-child(3) { top: 208px; }
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .motion-enabled .crew-work .photo { transition: transform .6s cubic-bezier(.2,.7,.2,1); }
  .motion-enabled .crew-work .photo:hover { transform: rotate(0) scale(1.025); }
  .motion-enabled .crew-pill span { transition: transform .25s ease; }
  .motion-enabled .crew-pill:hover span { transform: rotate(45deg); }
}
@media(max-width:1050px) {
  .crew-nav { display: none; }
  .crew-value { padding: 76px 36px 48px; gap: 32px; min-height: 420px; }
}
@media(max-width:760px) {
  .crew-opening__edition { font-size: .75rem; gap: 8px; letter-spacing: .04em; }
  .crew-opening__edition > span { max-width: 110px; text-align: right; }
  .crew-opening__signature { flex-direction: column; align-items: flex-start; gap: 8px; }
  .crew-opening__words { font-size: clamp(2.5rem,12.4vw,5.8rem); gap: .22em; }
  .crew-opening__word--next { margin-left: -5vw; }
  .crew-opening__word--crew { margin-left: 8vw; }
  .crew-hero { min-height: 820px; padding: 86px 18px 250px; }
  .crew-hero__label { top: 24px; left: 20px; font-size: .75rem; }
  .crew-hero__center { width: 100%; padding: 12px 0; background: transparent; }
  .crew-hero h1 { font-size: clamp(2.6rem,11vw,4.2rem); margin-top: 22px; }
  .crew-hero__english { font-size: 1.8rem; margin-top: 16px; }
  .crew-hero__lead { margin-block: 20px; }
  .crew-scroll { display: none; }
  .crew-door { top: auto; bottom: 10px; height: 225px; width: 48%; }
  .crew-door--photo { left: -2%; }
  .crew-door--type { right: -2%; padding: 20px; }
  .crew-door--type > span { font-size: 2.65rem; }
  .crew-door--type b { position: absolute; right: 12px; bottom: 30px; font-size: 4rem; }
  .crew-door--type small { font-size: .75rem; }
  .crew-door__tag { font-size: 1.5rem; top: 12px; left: 12px; }
  .crew-door--photo img { object-position: center 30%; }
  .crew-door--photo .image-caption { font-size: .75rem; line-height: 1.5; bottom: 4px; left: 4px; right: 4px; padding: 4px; }
  .crew-nav { top: 72px; gap: 0; justify-content: space-between; padding: 10px 18px; }
  .crew-nav a { font-size: .875rem; }
  .crew-intro { padding-block: 80px; }
  .crew-kicker { font-size: .875rem; letter-spacing: .025em; }
  .crew-statement { font-size: clamp(1.375rem,5.7vw,2.5rem); margin-top: 36px; line-height: 1.9; }
  .crew-intro__copy { font-size: 1rem; line-height: 2.2; }
  .crew-pill { gap: 20px; padding-inline: 20px; }
  .crew-values { padding-block: 64px 76px; }
  .crew-section-head { margin-bottom: 40px; }
  .crew-value { display: block; padding: 68px 24px 36px; min-height: 0; border-radius: 12px; }
  .crew-value__num { left: 24px; top: 24px; }
  .crew-value__word { font-size: 4.5rem; margin-bottom: 36px; }
  .crew-value__word { overflow-wrap: anywhere; }
  .crew-value h3 { font-size: 1.75rem; }
  .crew-value__wish { font-size: .875rem; }
  .crew-work { padding-block: 76px; }
  .crew-work__word { font-size: clamp(2.5rem,9.8vw,4.5rem); margin-bottom: 48px; }
  .crew-work .photo { margin: 0 8px; }
  .crew-details .info-table th, .crew-details .info-table td { padding: 20px 16px; }
  .crew-faq .faq details { padding-inline: 20px; }
  .crew-flow .flow { gap: 32px; }
  .motion-enabled .crew-door--photo { transform: rotate(-5deg); }
  .motion-enabled .crew-door--type { transform: rotate(5deg); }
}
@media(prefers-reduced-motion:reduce) {
  .crew-opening { display: none !important; }
  .recruit-experience *, .recruit-experience *::before, .recruit-experience *::after { animation: none !important; transition: none !important; }
  .crew-value { position: relative !important; }
}
