/* Home only. Content remains in normal flow without motion enhancement. */
.home-story { --story-header: 100px; }
.home-story .story-opening { background: #12191b; color: #fff; }
.home-story .story-stage { padding: 38px 0; }
.home-story .story-layout { display: flex; align-items: center; justify-content: center; max-width: 1120px; min-height: 0; }
.home-story .story-copy { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%; min-width: 0; text-align: center; }
.home-story .story-topline { width: 100%; text-align: left; }
.home-story .story-topline { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.home-story .story-location { margin: 0; color: #b7c8ca; font-size: .8125rem; line-height: 1.5; }
.home-story .story-location strong { color: #fff; font-weight: 600; }
.home-story .story-location > span { display: block; }
.home-story .story-quick-apply { color: #e6f7f6; font-size: .875rem; white-space: nowrap; min-height: 44px; display: inline-flex; align-items: center; }
.home-story .story-hiring-cue { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; width: 100%; max-width: 470px; padding-top: 16px; border-top: 1px solid #405054; }
.home-story .story-hiring-cue p { margin: 0; font-size: .75rem; color: #bfd1d2; line-height: 1.5; }
.home-story .story-hiring-cue strong { display: block; color: #fff; font-size: 1.25rem; font-weight: 600; }
.home-story .story-hiring-cue strong > span { font-size: .8125rem; font-weight: 400; margin-left: 2px; }
.home-story .story-panels { display: grid; gap: 48px; width: 100%; }
.home-story .story-panel { min-width: 0; }
.home-story .story-panel h1,
.home-story .story-panel h2 { max-width: 19ch; margin: 0 auto; font-size: clamp(3.75rem, 7.2vw, 7rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.home-story .story-panel h1 span,
.home-story .story-panel h2 span { color: #8cd6d7; }
.home-story .story-panel p { max-width: 53ch; margin: 18px auto 0; font-size: 1rem; line-height: 1.6; color: #c2d1d3; }
.home-story .story-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px 24px; }
.home-story .story-actions .button { background: #b5e5e3; color: #10272a; }
.home-story .story-actions .button:hover { background: #d5f4f1; }
.home-story .story-actions .text-link { color: #f1f6f6; border-color: #778e92; }
.home-story .story-employer { max-width: 65ch; margin: 0; color: #9eafb2; font-size: .75rem; line-height: 1.6; }
.home-story .story-opening.is-enhanced { height: 160svh; min-height: 960px; }
.home-story .story-sequence.is-enhanced .story-stage { position: sticky; top: var(--story-header); height: calc(100svh - var(--story-header)); padding: 32px 0; }
.home-story .story-sequence.is-enhanced .story-layout, .home-story .story-sequence.is-enhanced .benefits-story-layout { height: 100%; }
.home-story .story-sequence.is-enhanced .story-panels { display: grid; align-items: start; gap: 0; }
.home-story .story-sequence.is-enhanced .story-panel { grid-area: 1 / 1; opacity: var(--story-opacity, 0); transform: translateY(var(--story-shift, 0px)); }
.home-story .story-sequence.is-enhanced .story-panel:first-child { --story-opacity: 1; }
.home-story .story-sequence.is-enhanced.is-in-view .story-panel { will-change: opacity, transform; }
.home-story .story-section { padding: clamp(56px, 7vw, 100px) 0; scroll-margin-top: calc(var(--story-header) + 20px); }
.home-story .story-section h2 { margin: 0; max-width: 20ch; font-size: clamp(2rem, 3.8vw, 3.5rem); line-height: 1.13; letter-spacing: -.035em; }
.home-story .story-section-intro { margin: 20px 0 32px; max-width: 56ch; font-size: 1rem; color: var(--ink-soft); }
.home-story .story-openings { background: #fff; }
.home-story .story-jobs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.home-story .story-job { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; background: #f5f7f7; border: 1px solid #e4e9e9; border-radius: 12px; min-width: 0; }
.home-story .story-job-tag { margin: 0 0 28px; font-size: .75rem; color: var(--ink-soft); font-weight: 600; }
.home-story .story-job-priority .story-job-tag { color: var(--teal-dark); }
.home-story .story-job h3 { margin: 0 0 18px; font-size: 1.75rem; }
.home-story .story-rate { margin: 0; font-size: 2.5rem; font-weight: 600; letter-spacing: -.04em; line-height: 1.2; white-space: nowrap; }
.home-story .story-rate span { font-size: 1rem; font-weight: 400; letter-spacing: 0; }
.home-story .story-job-note { margin: 12px 0 24px; min-height: 3.2em; font-size: .875rem; color: var(--ink-soft); }
.home-story .story-job-note > span { display: block; margin-top: 12px; max-width: 34ch; font-size: .8125rem; }
.home-story .story-job .button { margin-top: auto; }
/* The benefits sequence has persistent eligibility and actions around five chapters. */
.home-story .story-education, .home-story .benefits-coverage { background: #eeefeb; color: #182b2d; }
.home-story .story-education { scroll-margin-top: var(--story-header); }
.home-story .story-education .story-stage { padding: 56px 0; }
.home-story .benefits-story-layout { max-width: 1000px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 38px; text-align: center; }
.home-story .benefits-story-heading { max-width: 70ch; }
.home-story .benefits-story-heading h2 { margin: 0; font-size: clamp(1.75rem, 3vw, 2.75rem); line-height: 1.2; letter-spacing: -.025em; }
.home-story .benefits-eligibility { margin: 16px 0 0; font-size: .8125rem; line-height: 1.6; color: #486568; }
.home-story .benefit-panel h3 { max-width: 20ch; margin: 0 auto; font-size: clamp(3rem, 5.8vw, 5.5rem); line-height: 1.08; font-weight: 600; letter-spacing: -.035em; text-wrap: balance; }
.home-story .benefit-panel h3 span { color: #006b7b; }
.home-story .benefit-panel p { max-width: 58ch; font-size: 1rem; color: #486568; }
.home-story .benefit-panel .benefit-kicker { margin: 0 auto 20px; font-size: .8125rem; font-weight: 600; color: #486568; }
.home-story .benefits-story-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 28px; }
.home-story .story-education.is-enhanced { height: 240svh; }
.home-story .story-education.is-enhanced .story-stage { padding: 32px 0; }
.home-story .benefits-coverage { padding: 0 0 32px; }
.home-story .benefits-coverage .story-details { border-color: #c3cdca; }
.home-story .benefits-coverage .story-detail-body { color: #486568; }
.home-story .story-details { border-top: 1px solid var(--line); }
.home-story .story-details summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 64px; padding: 18px 0; cursor: pointer; font-size: 1rem; font-weight: 600; }
.home-story .story-details summary::-webkit-details-marker { display: none; }
.home-story .story-details summary::after { content: "+"; flex: 0 0 24px; text-align: center; font-size: 1.5rem; font-weight: 400; }
.home-story .story-details[open] summary::after { content: "−"; }
.home-story .story-detail-body { max-width: 65ch; padding: 0 0 24px; font-size: .9375rem; line-height: 1.7; }
.home-story .story-detail-body p { margin: 0 0 14px; }
.home-story .story-detail-body p:last-child { margin-bottom: 0; }
.home-story .story-detail-body ul { margin: 0; padding-left: 20px; }
.home-story .story-detail-body li + li { margin-top: 12px; }
.home-story .story-reality { background: #18292e; color: #fff; }
.home-story .story-reality .story-details { border-color: #496167; }
.home-story .story-reality .story-detail-body { color: #d0dfe0; }
.home-story .story-reality .text-link { color: white; border-color: #8eabad; }
.home-story .story-reality-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 80px; }
.home-story .story-reality-intro { margin: 24px 0 28px; font-size: 1.125rem; line-height: 1.65; color: #bdcfd1; }
.home-story .story-reality-points article { margin-bottom: 28px; }
.home-story .story-reality-points h3 { margin: 0 0 14px; color: inherit; font-size: 1.25rem; line-height: 1.3; letter-spacing: -.02em; }
.home-story .story-reality-points p { margin: 0; color: #bdcfd1; font-size: .9375rem; line-height: 1.7; }
.home-story .story-reality-points p + p { margin-top: 16px; }
.home-story .crew-section { border-top: 1px solid var(--line); padding: 64px 0; }
.home-story .crew-bottom-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
.home-story .crew-bottom-grid h2 { font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.12; }
.home-story .crew-bottom-grid > div > p:not(.eyebrow) { max-width: 33ch; margin: 24px 0; font-size: 1rem; }
.home-story .crew-carousel { justify-self: end; }
.home-story .story-apply-dock { display: none; }
.home-story .story-apply-dock[hidden] { display: none !important; }
@media (max-width: 900px) {
  .home-story { --story-header: 82px; }
  .home-story .story-reality-grid { gap: 36px; }
}
@media (max-width: 700px) {
  .home-story .story-jobs, .home-story .story-reality-grid, .home-story .crew-bottom-grid { grid-template-columns: minmax(0, 1fr); }
  .home-story .story-job { padding: 24px; }
  .home-story .story-job-tag { margin-bottom: 20px; }
  .home-story .story-job-note { min-height: 0; }
  .home-story .crew-carousel { justify-self: start; }
}
@media (max-width: 600px) {
  .home-story .story-actions { gap: 14px 22px; }
  .home-story .story-section { padding: 52px 0; }
  .home-story .story-section h2 { font-size: 2rem; }
  .home-story .story-section-intro { margin-bottom: 24px; }
  .home-story .story-jobs { gap: 16px; }
  .home-story .story-reality-grid { gap: 30px; }
  .home-story .crew-section { padding: 48px 0; }
  .home-story .story-apply-dock { display: flex; position: fixed; z-index: 90; left: 12px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); padding: 10px 12px; gap: 16px; align-items: center; justify-content: space-between; background: rgba(255,255,255,.97); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 4px 22px #102c351a; }
  .home-story .story-apply-dock > span { font-size: .8125rem; font-weight: 600; }
  .home-story .story-apply-dock .button { min-height: 44px; padding: 10px 20px; }
}
@media (max-width: 800px) {
  .home-story .story-stage { padding: 20px 0 28px; }
  .home-story .story-layout { align-items: center; }
  .home-story .story-copy { gap: 14px; }
  .home-story .story-hiring-cue { padding-top: 10px; }
  .home-story .story-hiring-cue strong { font-size: 1.125rem; }
  .home-story .story-panel h1, .home-story .story-panel h2 { font-size: clamp(3.125rem, 12.3vw, 4.5rem); max-width: 17ch; }
  .home-story .story-panel p { margin-top: 12px; max-width: 40ch; font-size: .9375rem; }
  .home-story .story-employer { font-size: .6875rem; }
  .home-story .story-actions .button { padding: 12px 18px; }
  .home-story .story-opening.is-enhanced { height: 155svh; min-height: 0; }
  .home-story .story-education.is-enhanced { height: 230svh; }
  .home-story .benefits-story-layout { gap: 24px; }
  .home-story .benefits-story-heading h2 { font-size: 1.75rem; }
  .home-story .benefits-eligibility { margin-top: 12px; font-size: .75rem; }
  .home-story .benefit-panel h3 { font-size: clamp(2.5rem, 10vw, 3.5rem); }
  .home-story .benefit-panel p { font-size: .9375rem; }
  .home-story .benefit-panel .benefit-kicker { margin-bottom: 16px; }
  .home-story .story-education .story-stage { padding: 40px 0; }
  .home-story .story-sequence.is-enhanced .story-stage { padding: 16px 0; }
  .home-story .story-sequence.is-enhanced .story-layout { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .home-story .story-sequence.is-enhanced { height: auto; min-height: 0; }
  .home-story .story-sequence.is-enhanced .story-stage { position: static; height: auto; padding: 24px 0; }
  .home-story .story-sequence.is-enhanced .story-layout, .home-story .story-sequence.is-enhanced .benefits-story-layout { height: auto; }
  .home-story .story-sequence.is-enhanced .story-panels { display: grid; gap: 40px; }
  .home-story .story-sequence.is-enhanced .story-panel { grid-area: auto; opacity: 1 !important; transform: none !important; will-change: auto; }
}
