@font-face {
  font-family: "Fira Sans Condensed";
  src: url("../assets/fonts/fira-sans-condensed/FiraSansCondensed-Medium.ttf") format("truetype");
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Fira Sans Condensed";
  src: url("../assets/fonts/fira-sans-condensed/FiraSansCondensed-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Fira Sans Condensed";
  src: url("../assets/fonts/fira-sans-condensed/FiraSansCondensed-Bold.ttf") format("truetype");
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Atkinson Hyperlegible Next";
  src: url("../assets/fonts/atkinson-hyperlegible-next/AtkinsonHyperlegibleNext-wght.ttf") format("truetype");
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ink: #0d2730;
  --paper: #f4f7f5;
  --white: #ffffff;
  --mist: #dce4e1;
  --steel: #617177;
  --orange: #d94d2b;
  --orange-text: #c53c22;
  --green: #2e6656;
  --display: "Fira Sans Condensed", "Arial Narrow", sans-serif;
  --body: "Atkinson Hyperlegible Next", Arial, sans-serif;
  --frame: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { min-width: 1080px; margin: 0; color: var(--ink); background: var(--paper); font: 500 15px/1.42 var(--body); }
a { color: inherit; }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.visually-hidden { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

.skip-link { position: fixed; z-index: 20; top: 8px; left: 8px; padding: 9px 14px; color: var(--white); background: var(--ink); transform: translateY(-160%); }
.skip-link:focus { transform: none; }

.site-header { height: 74px; border-bottom: 1px solid #cfd7d4; background: rgba(255,255,255,.98); }
.site-header__inner { width: min(calc(100% - 80px), var(--frame)); height: 100%; margin: 0 auto; display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 32px; }
.wordmark { width: max-content; font: 600 30px/1 var(--display); letter-spacing: -.03em; text-decoration: none; }
.primary-nav { display: flex; justify-content: center; gap: 48px; font-size: 14px; font-weight: 700; }
.primary-nav a, .route-action, .site-footer a { text-decoration: none; }
.primary-nav a { padding: 8px 0; }
.primary-nav a[aria-current="page"] { border-bottom: 2px solid var(--ink); }
.primary-nav a:hover, .site-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.route-action { display: inline-flex; min-height: 44px; align-items: center; gap: 28px; padding: 0 22px; color: var(--white); background: var(--ink); font-weight: 700; }

.release-opening { min-height: 1010px; padding: 22px 40px 68px; background: #f0f3f2; }
.release-sheet { width: min(100%, 960px); min-height: 910px; position: relative; margin: 0 auto; border: 1px solid #aeb9b6; background: var(--white); }
.release-sheet__head { min-height: 150px; padding: 34px 34px 28px; display: grid; grid-template-columns: 1fr 1fr; align-items: start; border-bottom: 1px solid #8d9c98; }
.release-sheet__head p, .section-intro > p, .story-heading > p, .communication__meta > p, .route-bridge > div > p { margin: 0 0 12px; color: var(--steel); font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.release-sheet__head h1 { margin: 0; font: 600 24px/1 var(--body); letter-spacing: .015em; }
.release-sheet__classification { padding-left: 30px; }
.release-sheet__classification strong { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
dt { color: var(--steel); font-size: 11px; font-weight: 700; text-transform: uppercase; }
dd { margin: 5px 0 0; font-weight: 750; }

.release-sheet__body { display: grid; grid-template-columns: 70.5% 29.5%; min-height: 755px; }
.release-spine { border-right: 1px solid #aeb9b6; }
.release-spine__label { height: 43px; padding: 0 32px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #aeb9b6; color: var(--steel); font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.release-record { min-height: 153px; position: relative; padding: 28px 34px; display: grid; grid-template-columns: 105px minmax(0, 1fr); align-items: start; border-bottom: 1px solid #aeb9b6; background: var(--white); }
.record-code { display: grid; gap: 3px; align-content: start; }
.record-code strong { font: 600 47px/.9 var(--display); letter-spacing: -.04em; }
.record-code span { font: 700 10px/1 var(--body); text-transform: uppercase; }
.record-main { display: grid; gap: 10px; }
.record-main span { font: 600 32px/.98 var(--display); letter-spacing: -.03em; }
.record-main p { margin: 0; color: #44555b; font-size: 13px; line-height: 1.45; }
.release-record--present { min-height: 153px; }
.release-record--missing { width: calc(100% - 86px); min-height: 163px; color: var(--orange-text); border-right: 1px solid #aeb9b6; }
.release-record--missing .record-main p { color: var(--orange-text); }
.release-record--missing::after { content: ""; position: absolute; z-index: 2; right: -29px; top: 50%; width: 28px; height: 56px; transform: translateY(-50%); border: 1px solid #aeb9b6; border-left: 0; border-radius: 0 30px 30px 0; background: var(--white); }
.release-record--waiting { min-height: 170px; border-bottom: 0; }

.opening-state { padding: 41px 38px 30px; display: flex; flex-direction: column; background: var(--white); }
.opening-state__status-block { margin-bottom: 60px; }
.opening-state__label { margin: 0 0 18px; color: var(--steel); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.opening-state__status { color: var(--orange); font: 600 52px/.9 var(--display); letter-spacing: -.045em; }
.ticket-detail { margin-bottom: 53px; display: grid; gap: 10px; font-size: 12px; }
.ticket-detail p { margin: 0 0 8px; padding-bottom: 7px; border-bottom: 1px solid #83938f; color: var(--steel); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.ticket-detail span { color: var(--orange-text); font-weight: 700; }
.ticket-detail span b { margin-right: 8px; }
.ticket-detail__indent { padding-left: 28px; }
.ticket-detail--owner { margin: auto 0 0; color: var(--ink); }
.ticket-detail--owner strong { font: 600 25px/1 var(--display); }
.text-link { width: max-content; color: var(--ink); font-weight: 800; text-decoration: none; }
.text-link span { margin-left: 14px; color: inherit; }
.ticket-perforation { position: absolute; z-index: 3; right: 34px; bottom: -7px; left: 34px; display: flex; justify-content: space-between; }
.ticket-perforation i { width: 11px; height: 11px; border: 1px solid #b7c1be; border-radius: 50%; background: #f0f3f2; }
.release-ticket::before, .release-ticket::after { content: ""; position: absolute; z-index: 4; bottom: -25px; width: 50px; height: 50px; border: 1px solid #aeb9b6; border-bottom: 0; border-radius: 50% 50% 0 0; background: #f0f3f2; }
.release-ticket::before { left: -26px; transform: rotate(90deg); }
.release-ticket::after { right: -26px; transform: rotate(-90deg); }

.case-scope { min-height: 900px; padding: 92px 40px 108px; background: #e8eeeb; }
.case-file { width: min(calc(100% - 40px), 1240px); min-height: 700px; position: relative; margin: 0 auto; display: grid; grid-template-columns: 31% 69%; border: 1px solid #9eaaa7; background: var(--white); }
.case-file__index { position: relative; padding: 36px 38px 32px; display: flex; flex-direction: column; border-right: 1px solid #9eaaa7; background: #f7f8f7; }
.case-file__index header > p { margin: 0 0 56px; color: var(--steel); font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.case-file__index h2 { margin: 0; font: 600 48px/.92 var(--display); letter-spacing: -.045em; }
.case-file__index header > span { display: block; margin-top: 16px; color: var(--steel); font-size: 12px; }
.scope-register { margin: 70px 0 0; border-top: 1px solid #b5bfbc; }
.scope-register div { padding: 16px 0; border-bottom: 1px solid #b5bfbc; }
.scope-register dd { margin-top: 4px; font-size: 14px; }
.case-file__index footer { margin-top: auto; padding-top: 24px; display: grid; grid-template-columns: 1fr auto; align-items: end; border-top: 1px solid #b5bfbc; }
.case-file__index footer span { color: var(--steel); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.case-file__index footer strong { font-size: 13px; text-align: right; }

.case-file__question { padding: 36px 48px 0 64px; display: grid; grid-template-rows: auto 1fr auto; }
.case-file__question > header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 19px; border-bottom: 1px solid #b5bfbc; color: var(--steel); font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.case-file__question > header strong { color: var(--ink); font-size: 12px; }
.case-file__question h3 { max-width: 760px; margin: 64px 0 40px; align-self: start; font: 600 clamp(55px, 5vw, 78px)/.9 var(--display); letter-spacing: -.05em; }
.case-file__answer { align-self: end; display: grid; grid-template-columns: 120px 220px 1fr; align-items: start; gap: 25px; padding: 25px 0 29px; border-top: 1px solid #9eaaa7; }
.case-file__answer > span { padding-top: 8px; color: var(--steel); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.case-file__answer > strong { color: var(--orange); font: 600 42px/.95 var(--display); }
.case-file__answer > p { max-width: 340px; margin: 3px 0 0; font-size: 15px; }
.case-file__clock { margin: 0 -48px 0 -64px; min-height: 132px; padding: 23px 48px 23px 64px; display: grid; grid-template-columns: 155px 215px 1fr; gap: 30px; align-items: start; color: var(--white); background: var(--ink); }
.case-file__clock div { display: grid; gap: 8px; }
.case-file__clock span { color: #aebdb9; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.case-file__clock strong { font: 600 22px/1 var(--display); }
.case-file__clock p { max-width: 380px; margin: 0; color: #c9d3d0; font-size: 12px; line-height: 1.5; }

.case-file__binding { position: absolute; z-index: 3; top: 26px; bottom: 26px; left: 31%; display: flex; flex-direction: column; justify-content: space-between; transform: translateX(-50%); }
.case-file__binding i { width: 12px; height: 12px; border: 1px solid #9eaaa7; border-radius: 50%; background: #e8eeeb; }

.evidence-section { min-height: 1330px; padding: 112px 40px 128px; color: var(--white); background: var(--ink); }
.evidence-intro { width: min(calc(100% - 40px), 1240px); margin: 0 auto; display: grid; grid-template-columns: 180px minmax(0, 1fr) 245px; align-items: start; }
.evidence-intro > p { margin: 9px 0 0; color: #aebdb9; font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.evidence-intro h2 { max-width: 760px; margin: 0; font: 600 clamp(50px, 4.9vw, 72px)/.92 var(--display); letter-spacing: -.05em; }
.evidence-intro dl { margin: 8px 0 0; border-top: 1px solid #52676c; }
.evidence-intro dl div { padding: 10px 0; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #52676c; }
.evidence-intro dt { color: #aebdb9; }
.evidence-intro dd { margin: 0; color: var(--white); font: 600 19px/1 var(--display); }

.evidence-desk { width: min(calc(100% - 40px), 1240px); position: relative; margin: 84px auto 0; display: grid; grid-template-columns: minmax(0, 1.68fr) minmax(360px, .82fr); gap: 48px; }
.record-stack > header, .absence-stack > header { min-height: 43px; padding-bottom: 13px; display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid #52676c; color: #aebdb9; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.record-stack > header strong, .absence-stack > header strong { color: var(--white); }

.evidence-sheet { min-height: 174px; position: relative; padding: 28px 30px; display: grid; grid-template-columns: 90px minmax(0, 1fr) 220px; gap: 28px; align-items: center; color: var(--ink); border: 1px solid #9eaaa7; background: var(--white); }
.evidence-sheet--two { width: calc(100% - 18px); margin-left: 18px; }
.evidence-sheet--three { width: calc(100% - 36px); margin-left: 36px; }
.evidence-sheet__id { display: grid; gap: 8px; align-content: start; }
.evidence-sheet__id strong { font: 600 27px/1 var(--display); }
.evidence-sheet__id span { color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.evidence-sheet__main h3 { max-width: 360px; margin: 0 0 12px; font: 600 29px/1 var(--display); letter-spacing: -.025em; }
.evidence-sheet__main p, .evidence-sheet__boundary { margin: 0; font-size: 12px; }
.evidence-sheet__boundary { padding-left: 24px; border-left: 1px solid #b5bfbc; color: var(--steel); }

.absence-stack { min-width: 0; }
.absence-sheet { min-height: 261px; position: relative; padding: 27px 34px 26px; display: flex; flex-direction: column; border: 1px solid var(--orange); border-right: 0; color: var(--white); background: #15323a; }
.absence-sheet + .absence-sheet { margin-top: 18px; }
.absence-sheet::after { content: ""; position: absolute; right: -29px; top: 50%; width: 28px; height: 58px; transform: translateY(-50%); border: 1px solid var(--orange); border-left: 0; border-radius: 0 31px 31px 0; background: var(--ink); }
.absence-sheet > div { display: flex; justify-content: space-between; color: var(--orange); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.absence-sheet > div strong { font: 600 22px/1 var(--display); }
.absence-sheet h3 { max-width: 330px; margin: 39px 0 11px; color: #ff7b57; font: 600 31px/1 var(--display); letter-spacing: -.03em; }
.absence-sheet > p { margin: 0; color: #d8e0de; font-size: 12px; }
.absence-sheet footer { margin-top: auto; padding-top: 17px; display: flex; justify-content: space-between; border-top: 1px solid #52676c; color: #b8c5c1; font-size: 10px; }
.absence-sheet footer strong { color: var(--white); }

.review-sheet { grid-column: 1 / -1; min-height: 148px; margin-top: 6px; padding: 29px 34px; display: grid; grid-template-columns: 180px minmax(300px, .9fr) minmax(340px, 1fr) 260px; align-items: center; gap: 28px; color: var(--white); background: var(--green); }
.review-sheet > div { display: grid; gap: 8px; }
.review-sheet > div strong { font: 600 27px/1 var(--display); }
.review-sheet > div span { color: #c4d9d2; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.review-sheet h3 { margin: 0; font: 600 29px/1 var(--display); }
.review-sheet p, .review-sheet footer { margin: 0; font-size: 12px; }
.review-sheet footer { padding-left: 26px; border-left: 1px solid rgba(255,255,255,.35); color: #d5e4df; }

.state-story { min-height: 1310px; padding: 112px 40px 70px; background: var(--paper); }
.story-heading { width: min(calc(100% - 40px), 1240px); min-height: 330px; margin: 0 auto; display: grid; grid-template-columns: 180px minmax(0, 1fr) 290px; align-items: start; }
.story-heading > p { margin: 9px 0 0; color: var(--steel); font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.story-heading h2 { max-width: 760px; margin: 0; font: 600 clamp(50px, 4.9vw, 72px)/.92 var(--display); letter-spacing: -.05em; }
.story-heading > span { padding-top: 9px; color: var(--steel); font-size: 14px; line-height: 1.45; }

.progression-workspace { width: min(calc(100% - 40px), 1240px); margin: 0 auto; display: grid; grid-template-columns: 250px minmax(0, 1fr); }
.revision-index { align-self: stretch; display: grid; grid-template-rows: repeat(4, 1fr); color: var(--white); background: var(--ink); }
.revision-index button { min-height: 154px; padding: 24px 22px; display: grid; grid-template-columns: 50px 1fr; gap: 15px; align-items: start; border: 0; border-bottom: 1px solid #52676c; color: #adbbb7; background: transparent; cursor: pointer; text-align: left; transition: color 260ms ease, background-color 260ms ease; }
.revision-index button:last-child { border-bottom: 0; }
.revision-index button > span { font: 600 34px/1 var(--display); }
.revision-index button > div { display: grid; gap: 9px; }
.revision-index time { font-size: 10px; font-weight: 800; }
.revision-index button strong { color: var(--white); font: 600 19px/1 var(--display); }
.revision-index button[aria-pressed="true"] { color: var(--white); background: var(--orange); }
.state-story[data-stage="4"] .revision-index button[aria-pressed="true"] { background: var(--green); }
.revision-index button:focus-visible { outline: 2px solid var(--white); outline-offset: -5px; }

.progression-file { min-height: 710px; position: relative; border: 1px solid #9eaaa7; border-left: 0; background: var(--white); }
.progression-file__head { min-height: 96px; padding: 24px 30px; display: grid; grid-template-columns: 1fr 240px; border-bottom: 1px solid #b5bfbc; }
.progression-file__head > div { display: grid; gap: 9px; align-content: center; }
.progression-file__head span, .progression-file__foot span { color: var(--steel); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.progression-file__head > div > strong { font-size: 14px; }
.progression-file__rollup { margin: -24px -30px -24px 0; padding: 24px 28px; color: var(--white); background: var(--orange); transition: color 280ms ease, border-color 280ms ease, background-color 280ms ease; }
.progression-file__rollup span { color: #ffe0d7; }
.progression-file__rollup strong { font: 600 32px/1 var(--display); }
.state-story[data-stage="3"] .progression-file__rollup { color: var(--orange-text); border-left: 1px solid var(--orange); background: #fff8f4; }
.state-story[data-stage="3"] .progression-file__rollup span { color: var(--orange-text); }
.state-story[data-stage="4"] .progression-file__rollup { color: var(--white); background: var(--green); }
.state-story[data-stage="4"] .progression-file__rollup span { color: #c8e1d8; }

.progression-file__statement { min-height: 175px; padding: 28px 30px 30px; display: grid; grid-template-columns: minmax(0, 1fr) 260px; align-items: end; gap: 34px; border-bottom: 1px solid #b5bfbc; }
.progression-file__statement h3 { max-width: 600px; margin: 0; font: 600 48px/.95 var(--display); letter-spacing: -.04em; }
.progression-file__statement p { margin: 0; color: var(--steel); font-size: 14px; }

.progression-records { padding: 0 30px; }
.progression-record { min-height: 104px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 130px 280px; align-items: center; gap: 26px; border-bottom: 1px solid #b5bfbc; transition: width 220ms ease, border-color 220ms ease, background-color 220ms ease; }
.progression-record > div { display: grid; grid-template-columns: 62px 1fr; align-items: center; }
.progression-record > div strong { color: var(--steel); font-size: 11px; }
.progression-record > div span { font: 600 22px/1 var(--display); }
.progression-record output { color: var(--steel); font-size: 10px; font-weight: 800; text-align: right; text-transform: uppercase; }
.progression-record > p { margin: 0; color: var(--steel); font-size: 12px; }
.progression-record.is-missing { width: calc(100% - 62px); color: var(--orange-text); border: 1px solid var(--orange); border-right: 0; background: #fff8f4; }
.progression-record.is-missing + .progression-record { margin-top: 8px; }
.progression-record.is-missing > *:first-child { padding-left: 18px; }
.progression-record.is-missing output, .progression-record.is-missing > p, .progression-record.is-missing > div strong { color: var(--orange-text); }
.progression-record.is-missing::after { content: ""; position: absolute; right: -28px; top: 50%; width: 27px; height: 54px; transform: translateY(-50%); border: 1px solid var(--orange); border-left: 0; border-radius: 0 29px 29px 0; background: var(--white); }
.progression-record.is-present { border-left: 6px solid var(--green); }
.progression-record.is-present output { color: var(--green); }
.progression-record.is-awaiting { border-left: 6px solid var(--orange); }
.progression-record.is-awaiting output { color: var(--orange-text); }
.progression-record.is-approved { border-left: 6px solid var(--green); background: #eef5f2; }
.progression-record.is-approved output { color: var(--green); }

.progression-file.is-stage-changing .progression-file__statement,
.progression-file.is-stage-changing .progression-records { animation: progression-settle 360ms cubic-bezier(.22,.7,.2,1); }

@keyframes progression-settle {
  from { opacity: .48; transform: translateY(7px); }
  to { opacity: 1; transform: translateY(0); }
}

.progression-file__foot { min-height: 116px; padding: 24px 30px; display: grid; grid-template-columns: 170px minmax(0, 1fr) 210px; gap: 26px; color: var(--white); background: var(--ink); }
.progression-file__foot > div { display: grid; gap: 8px; align-content: start; }
.progression-file__foot span { color: #aebdb9; }
.progression-file__foot strong { font-size: 12px; }
.progression-boundary { width: min(calc(100% - 40px), 1240px); margin: 28px auto 0; padding-left: 250px; color: var(--steel); font-size: 12px; }

.communication { min-height: 1120px; padding: 108px max(40px, calc((100% - var(--frame)) / 2)) 112px; background: #dfe6e3; }
.communication__heading { width: min(100%, 1240px); margin: 0 auto 46px; display: grid; grid-template-columns: 250px minmax(0, 1fr) 300px; gap: 52px; align-items: end; }
.communication__heading > p:first-child { margin: 0; align-self: start; color: var(--steel); font-size: 11px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.communication__heading h2 { margin: 0; font: 600 clamp(48px, 4.5vw, 68px)/.92 var(--display); letter-spacing: -.045em; }
.communication__heading > p:last-child { margin: 0; color: var(--steel); font-size: 14px; line-height: 1.45; }

.dispatch-folio { width: min(100%, 1240px); position: relative; margin: 0 auto; border: 1px solid #8f9d99; background: var(--white); }
.dispatch-folio::before, .dispatch-folio::after { content: ""; position: absolute; left: 344px; z-index: 2; width: 28px; height: 28px; border: 1px solid #8f9d99; border-radius: 50%; background: #dfe6e3; }
.dispatch-folio::before { top: -15px; }
.dispatch-folio::after { bottom: 103px; }
.dispatch-folio__head { min-height: 88px; display: grid; grid-template-columns: 345px 1fr auto; border-bottom: 1px solid #8f9d99; }
.dispatch-folio__head > div { padding: 22px 26px; display: grid; gap: 7px; border-right: 1px solid #c2cbc8; }
.dispatch-folio__head span, .dispatch-trail > p, .dispatch-message__label, .dispatch-message__context span, .dispatch-receipt span { color: var(--steel); font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.dispatch-folio__head strong { font-size: 13px; }
.dispatch-folio__head > p { margin: 0; padding: 0 27px; display: flex; align-items: center; gap: 10px; color: var(--green); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.dispatch-folio__head > p span { color: var(--green); font-size: 14px; }

.dispatch-folio__body { min-height: 540px; display: grid; grid-template-columns: 345px minmax(0, 1fr); }
.dispatch-trail { position: relative; padding: 34px 28px 0; border-right: 1px dashed #778985; background: #f0f4f2; }
.dispatch-trail > p { margin: 0 0 28px; }
.dispatch-trail ol { margin: 0; padding: 0; list-style: none; }
.dispatch-trail li { min-height: 112px; padding: 18px 0 19px 42px; position: relative; display: grid; gap: 4px; border-top: 1px solid #bec9c5; }
.dispatch-trail li::before { width: 25px; height: 25px; position: absolute; left: 0; top: 18px; display: grid; place-items: center; border: 1px solid #879793; border-radius: 50%; color: var(--steel); font-size: 9px; font-weight: 800; }
.dispatch-trail li:nth-child(1)::before { content: "01"; }
.dispatch-trail li:nth-child(2)::before { content: "02"; }
.dispatch-trail li:nth-child(3)::before { content: "03"; }
.dispatch-trail li:not(:last-child)::after { content: ""; width: 1px; height: 58px; position: absolute; left: 12px; top: 48px; background: #879793; }
.dispatch-trail li > span { color: var(--steel); font-size: 10px; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.dispatch-trail li strong { font: 600 24px/1 var(--display); }
.dispatch-trail time, .dispatch-trail small { color: var(--steel); font-size: 11px; }
.dispatch-trail__seal { min-height: 76px; margin: 2px -28px 0; padding: 18px 28px; display: grid; gap: 4px; color: var(--white); background: var(--green); }
.dispatch-trail__seal span { color: #cfdfd9; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.dispatch-trail__seal strong { font-size: 13px; text-transform: uppercase; }

.dispatch-message { padding: 36px 48px 38px; display: flex; flex-direction: column; }
.dispatch-message__label { padding-bottom: 22px; display: flex; justify-content: space-between; border-bottom: 1px solid #c1cbc8; }
.dispatch-message blockquote { max-width: 720px; margin: 52px 0 auto; font: 500 clamp(28px, 2.25vw, 35px)/1.24 var(--display); letter-spacing: -.022em; }
.dispatch-message__context { margin-top: 48px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #aebbb7; border-bottom: 1px solid #aebbb7; }
.dispatch-message__context > div { min-height: 68px; padding: 14px 16px 12px 0; display: grid; gap: 6px; }
.dispatch-message__context > div + div { padding-left: 18px; border-left: 1px solid #c1cbc8; }
.dispatch-message__context strong { font-size: 11px; }

.dispatch-receipt { min-height: 116px; display: grid; grid-template-columns: 345px 1fr 1.25fr 120px; color: var(--white); background: var(--ink); }
.dispatch-receipt > div { padding: 24px 26px; display: grid; align-content: start; gap: 8px; border-right: 1px solid #395058; }
.dispatch-receipt span { color: #adbfba; }
.dispatch-receipt strong { font-size: 12px; }
.dispatch-receipt .dispatch-receipt__mark { padding: 0; place-items: center; color: #d9e5e1; font: 600 27px/1 var(--display); background: var(--green); }
.communication__boundary { width: min(100%, 1240px); margin: 22px auto 0; color: var(--steel); font-size: 11px; line-height: 1.5; }
.communication__boundary strong { color: var(--ink); text-transform: uppercase; }

.route-bridge { min-height: 690px; padding: 102px max(40px, calc((100% - var(--frame)) / 2)) 108px; color: var(--white); background: var(--ink); }
.route-ticket { width: min(100%, 1240px); margin: 0 auto; border: 1px solid #597078; background: #0a222b; }
.route-ticket__head { min-height: 82px; display: grid; grid-template-columns: 310px 1fr auto; border-bottom: 1px solid #597078; }
.route-ticket__head > div { padding: 19px 24px; display: grid; gap: 6px; border-right: 1px solid #425a62; }
.route-ticket__head span, .route-ticket__copy > p:first-child, .route-ticket__action span, .route-ticket__action small, .route-ticket__foot span, .site-footer__route span { color: #9fb2ad; font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.route-ticket__head > div strong { font-size: 13px; }
.route-ticket__head > p { margin: 0; padding: 0 26px; display: flex; align-items: center; color: #b6c5c1; font-size: 11px; font-weight: 700; }
.route-ticket__head > strong { min-width: 210px; padding: 0 26px; display: flex; align-items: center; color: var(--white); background: var(--green); font-size: 12px; text-transform: uppercase; }

.route-ticket__body { min-height: 338px; display: grid; grid-template-columns: 230px minmax(0, 1fr) 286px; }
.route-ticket__index { padding: 34px 26px; border-right: 1px dashed #597078; background: #0f2b34; }
.route-ticket__index > span { color: #9fb2ad; font-size: 10px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.route-ticket__index > strong { margin: 52px 0 8px; display: block; font: 600 86px/.75 var(--display); color: #d5e0dc; letter-spacing: -.06em; }
.route-ticket__index > p { margin: 0; color: #b4c4bf; font-size: 13px; font-weight: 700; }
.route-ticket__copy { padding: 42px 48px 40px; }
.route-ticket__copy > p:first-child { margin: 0 0 28px; }
.route-ticket__copy h2 { margin: 0; font: 600 clamp(45px, 4vw, 61px)/.93 var(--display); letter-spacing: -.045em; }
.route-ticket__copy > p:last-child { max-width: 590px; margin: 30px 0 0; color: #b1c1bd; font-size: 13px; line-height: 1.5; }
.route-ticket__action { margin: 26px 26px 26px 0; padding: 30px 26px; display: flex; flex-direction: column; color: var(--ink); background: var(--white); text-decoration: none; border-left: 7px solid var(--green); }
.route-ticket__action span { color: var(--green); }
.route-ticket__action strong { max-width: 190px; margin: auto 0 8px; font: 600 34px/.95 var(--display); letter-spacing: -.03em; }
.route-ticket__action small { color: var(--steel); }
.route-ticket__action:hover, .route-ticket__action:focus-visible { color: var(--white); background: var(--green); outline: 2px solid var(--white); outline-offset: 4px; }
.route-ticket__action:hover span, .route-ticket__action:hover small, .route-ticket__action:focus-visible span, .route-ticket__action:focus-visible small { color: #d9e7e2; }

.route-ticket__foot { min-height: 92px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #597078; }
.route-ticket__foot > div { padding: 20px 24px; display: grid; gap: 7px; border-right: 1px solid #425a62; }
.route-ticket__foot > div:last-child { border-right: 0; }
.route-ticket__foot strong { font-size: 11px; }

.site-footer { min-height: 210px; padding: 50px max(40px, calc((100% - var(--frame)) / 2)); display: grid; grid-template-columns: 1fr 1fr auto; align-items: start; gap: 70px; color: var(--white); background: #06181f; border-top: 1px solid #31464d; }
.site-footer__identity p { max-width: 350px; margin: 16px 0 0; color: #8fa39e; font-size: 12px; }
.site-footer__route { display: grid; gap: 12px; }
.site-footer__route strong { font-size: 13px; }
.site-footer nav { display: flex; gap: 28px; font-size: 12px; font-weight: 700; }
.site-footer a { color: #c5d1cd; }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--white); }

.release-opening,
.case-scope {
  overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
  html.js-ready .release-sheet {
    transform: translateY(14px) scale(.996);
    transform-origin: 50% 18%;
    transition: transform 760ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .release-sheet__head,
  html.js-ready .release-spine__label {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    transition: opacity 280ms ease, clip-path 720ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .release-record {
    opacity: 0;
    transform: translateY(17px);
    transition: opacity 360ms ease, transform 680ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .release-record--missing {
    transform: translateX(-20px);
  }

  html.js-ready .opening-state {
    opacity: 0;
    transform: translateX(20px);
    transition: opacity 420ms ease, transform 760ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .ticket-perforation {
    opacity: 0;
    transform: scaleX(.88);
    transition: opacity 320ms ease, transform 700ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready body.opening-revealed .release-sheet {
    transform: none;
  }

  html.js-ready body.opening-revealed .release-sheet__head,
  html.js-ready body.opening-revealed .release-spine__label {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: none;
  }

  html.js-ready body.opening-revealed .release-record,
  html.js-ready body.opening-revealed .opening-state,
  html.js-ready body.opening-revealed .ticket-perforation {
    opacity: 1;
    transform: none;
  }

  html.js-ready body.opening-revealed .release-sheet__head { transition-delay: 60ms; }
  html.js-ready body.opening-revealed .release-spine__label { transition-delay: 210ms; }
  html.js-ready body.opening-revealed .release-record:nth-of-type(1) { transition-delay: 320ms; }
  html.js-ready body.opening-revealed .release-record:nth-of-type(2) { transition-delay: 440ms; }
  html.js-ready body.opening-revealed .release-record:nth-of-type(3) { transition-delay: 560ms; }
  html.js-ready body.opening-revealed .release-record:nth-of-type(4) { transition-delay: 680ms; }
  html.js-ready body.opening-revealed .release-record:nth-of-type(5) { transition-delay: 800ms; }
  html.js-ready body.opening-revealed .opening-state { transition-delay: 930ms; }
  html.js-ready body.opening-revealed .ticket-perforation { transition-delay: 1080ms; }

  html.js-ready .case-scope .case-file {
    background: transparent;
  }

  html.js-ready .case-file__index {
    opacity: 0;
    transform: translateX(-24px);
    transition: opacity 380ms ease, transform 820ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .case-file__question {
    opacity: 0;
    transform: translateX(24px);
    transition: opacity 380ms ease, transform 820ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .case-file__binding i {
    opacity: 0;
    transform: scale(.4);
    transition: opacity 240ms ease, transform 420ms cubic-bezier(.15,.8,.22,1);
  }

  html.js-ready .case-file__answer {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 340ms ease, transform 620ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .case-file__clock {
    clip-path: inset(0 100% 0 0);
    transition: clip-path 760ms cubic-bezier(.2,.72,.18,1);
  }

  html.js-ready .case-scope.is-revealed .case-file {
    background: var(--white);
  }

  html.js-ready .case-scope.is-revealed .case-file__index,
  html.js-ready .case-scope.is-revealed .case-file__question,
  html.js-ready .case-scope.is-revealed .case-file__answer {
    opacity: 1;
    transform: none;
  }

  html.js-ready .case-scope.is-revealed .case-file__index { transition-delay: 50ms; }
  html.js-ready .case-scope.is-revealed .case-file__question { transition-delay: 130ms; }
  html.js-ready .case-scope.is-revealed .case-file__answer { transition-delay: 520ms; }
  html.js-ready .case-scope.is-revealed .case-file__clock {
    clip-path: inset(0 0 0 0);
    transition-delay: 720ms;
  }

  html.js-ready .case-scope.is-revealed .case-file__binding i {
    opacity: 1;
    transform: scale(1);
  }

  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(1) { transition-delay: 180ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(2) { transition-delay: 210ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(3) { transition-delay: 240ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(4) { transition-delay: 270ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(5) { transition-delay: 300ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(6) { transition-delay: 330ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(7) { transition-delay: 360ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(8) { transition-delay: 390ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(9) { transition-delay: 420ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(10) { transition-delay: 450ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(11) { transition-delay: 480ms; }
  html.js-ready .case-scope.is-revealed .case-file__binding i:nth-child(12) { transition-delay: 510ms; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .revision-index button, .progression-file__rollup, .progression-record { transition: none; }
  .progression-file.is-stage-changing .progression-file__statement,
  .progression-file.is-stage-changing .progression-records { animation: none; }
}
