:root {
  color-scheme:dark;
  --ground:#24291f;
  --ink:#171e17;
  --chalk:#e0d2b4;
  --muted:#b1ae96;
  --rust:#db805b;
  --gold:#bda376;
  --line:#505640;
  font-family:"Microsoft JhengHei","PingFang TC",sans-serif;
  font-synthesis:none
}

* {
  box-sizing:border-box
}

html {
  scroll-padding-top:28px
}

body {
  margin:0;
  background:var(--ground);
  color:var(--chalk)
}

a {
  color:inherit;
  text-decoration:none
}

button {
  font:inherit
}

button,a,summary {
  -webkit-tap-highlight-color:transparent
}

button {
  color:inherit
}

img {
  display:block;
  max-width:100%;
  height:auto
}

em {
  font-style:normal
}

p,h1,h2,h3 {
  margin:0
}

button,[role=scrollbar] {
  touch-action:manipulation
}

[hidden] {
  display:none!important
}

::selection {
  background:var(--rust);
  color:var(--ink)
}

:focus-visible {
  outline:2px solid var(--rust);
  outline-offset:6px
}

.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  padding:15px;
  background:var(--chalk);
  color:var(--ink);
  transform:translateY(-160%);
  z-index:100
}

.skip-link:focus {
  transform:none
}

.station-header,.check-in,.before-check-in,.department-board,.service-desk,.last-call,.station-footer {
  width:min(1280px,calc(100% - 112px));
  margin-inline:auto
}

.station-header {
  min-height:118px;
  display:flex;
  align-items:center;
  gap:40px;
  border-bottom:1px solid var(--line)
}

.station-brand {
  display:flex;
  gap:12px;
  align-items:center
}

.station-brand img,.receipt-head img {
  filter:invert(88%) sepia(18%) saturate(363%) hue-rotate(355deg)
}

.station-brand>span {
  font-size:24px;
  font-weight:900;
  letter-spacing:-1px
}

.station-brand small {
  display:block;
  font:9px/1.5 monospace;
  letter-spacing:1.8px
}

.edition-label {
  padding-left:28px;
  border-left:1px solid var(--line);
  font-size:13px;
  line-height:1.8
}

.edition-label small {
  display:block;
  color:var(--muted);
  font-size:11px
}

.station-header nav {
  margin-left:auto;
  display:flex;
  gap:26px;
  font-size:13px
}

.station-header nav a {
  padding:15px 0
}

.station-header nav a:hover {
  color:var(--rust)
}

.eyebrow {
  font:11px/1.6 monospace;
  letter-spacing:1.8px
}

.ink-dot {
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:12px;
  background:var(--rust);
  transform:rotate(45deg)
}

.check-in {
  position:relative;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  align-items:center;
  gap:44px;
  padding-block:84px 72px;
  min-height:730px
}

.check-in-copy {
  position:relative;
  z-index:2
}

.check-in h1 {
  font-size:clamp(60px,6.3vw,94px);
  font-weight:900;
  letter-spacing:-.065em;
  line-height:1.22;
  margin:26px 0
}

.check-in h1 em {
  color:var(--rust)
}

.opening-note {
  font-size:16px;
  line-height:1.9;
  color:var(--muted)
}

.check-in-action {
  margin-top:32px
}

.entry-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  min-height:64px;
  padding:18px 24px;
  background:var(--rust);
  color:var(--ink);
  font-weight:800;
  font-size:16px;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  transition:background .2s,transform .2s
}

.entry-link:hover {
  background:#efaa7d;
  transform:translateY(-3px)
}

.entry-link:focus-visible {
  outline-offset:-5px;
  outline-color:var(--ink)
}

.entry-mark {
  width:22px;
  height:22px;
  position:relative;
  display:inline-block;
  flex:none
}

.entry-mark:before,.entry-mark:after {
  content:"";
  position:absolute;
  background:currentColor
}

.entry-mark:before {
  width:19px;
  height:2px;
  left:0;
  top:10px
}

.entry-mark:after {
  width:10px;
  height:10px;
  right:1px;
  top:6px;
  background:transparent;
  border-top:2px solid;
  border-right:2px solid;
  transform:rotate(45deg)
}

.check-in-action>p {
  margin-top:14px;
  font-size:11px;
  color:var(--muted)
}

.issue-line {
  display:flex;
  gap:24px;
  align-items:center;
  font:10px/1.6 monospace;
  color:var(--muted);
  margin-top:38px
}

.issue-line:before {
  content:"";
  width:28px;
  height:1px;
  background:var(--gold)
}

.press-scene {
  position:relative;
  isolation:isolate;
  height:530px;
  width:100%;
  max-width:540px;
  margin:auto
}

.scene-caption {
  position:absolute;
  right:0;
  top:0;
  font-size:clamp(26px,3.1vw,44px);
  font-weight:900;
  line-height:.95;
  letter-spacing:-2px;
  color:var(--gold);
  writing-mode:vertical-rl;
  transform:none
}

.backplate {
  position:absolute;
  left:13%;
  top:10%;
  width:65%;
  height:78%;
  background:var(--rust);
  transform:rotate(9deg);
  clip-path:polygon(0 0,100% 0,100% 94%,91% 100%,0 100%)
}

.pass-sheet {
  position:absolute;
  left:10%;
  top:7%;
  width:66%;
  height:80%;
  padding:24px;
  color:var(--ink);
  background:var(--gold);
  transform:rotate(-8deg);
  clip-path:polygon(0 0,86% 0,100% 10%,100% 100%,0 100%);
  display:flex;
  flex-direction:column;
  box-shadow:0 25px 40px #0004
}

.pass-top {
  display:flex;
  align-items:start;
  justify-content:space-between;
  font:bold 11px/1.3 monospace;
  letter-spacing:1px;
  border-bottom:2px solid;
  padding-bottom:12px
}

.pass-corner {
  font:bold 32px/1 monospace;
  margin-right:12px
}

.pass-emblem {
  display:flex;
  flex:1;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px
}

.pass-emblem img {
  width:48%;
  opacity:.87
}

.pass-emblem>span {
  font-size:24px;
  font-weight:900;
  letter-spacing:5px
}

.pass-rule {
  display:flex;
  justify-content:space-between;
  font-size:12px;
  border-bottom:1px dashed var(--ink);
  padding-bottom:15px
}

.pass-bottom {
  padding-top:15px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  align-items:center
}

.pass-bottom>span {
  font-weight:900;
  font-size:18px
}

.pass-bottom small {
  grid-column:1/-1;
  font:8px monospace;
  letter-spacing:3px
}

.pass-bars {
  height:25px;
  background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 4px,var(--ink) 4px 5px,transparent 5px 8px,var(--ink) 8px 12px,transparent 12px 14px)
}

.crew-stamp {
  position:absolute;
  right:2%;
  bottom:9%;
  width:166px;
  height:166px;
  border:3px double var(--rust);
  border-radius:50%;
  color:var(--rust);
  background:var(--ground);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transform:rotate(14deg);
  box-shadow:0 0 0 7px var(--ground)
}

.crew-stamp strong {
  font-size:32px;
  line-height:.85;
  letter-spacing:-1px;
  margin:10px 0;
  text-align:center
}

.crew-stamp span {
  font:9px monospace;
  letter-spacing:3px
}

.print-cross {
  position:absolute;
  width:26px;
  height:26px
}

.print-cross:before,.print-cross:after {
  content:"";
  position:absolute;
  background:var(--gold)
}

.print-cross:before {
  left:0;
  top:12px;
  width:26px;
  height:1px
}

.print-cross:after {
  top:0;
  left:12px;
  height:26px;
  width:1px
}

.cross-one {
  left:0;
  top:0
}

.cross-two {
  right:0;
  bottom:0
}

.scene-footnote {
  position:absolute;
  left:4%;
  bottom:0;
  font-size:11px;
  color:var(--muted);
  letter-spacing:3px
}

.motion-switch {
  position:absolute;
  right:0;
  bottom:24px;
  background:none;
  border:0;
  border-bottom:1px solid var(--line);
  min-height:44px;
  padding:10px 0;
  font-size:11px;
  cursor:pointer
}

.motion-switch:hover {
  color:var(--rust)
}

.motion-enabled .pass-sheet {
  animation:pass-sway 9s ease-in-out infinite
}

.motion-enabled .backplate {
  animation:plate-sway 9s ease-in-out infinite
}

.motion-enabled .crew-stamp {
  animation:stamp-sway 9s ease-in-out infinite
}

.motion-stopped .press-scene * {
  animation-play-state:paused
}

@keyframes pass-sway {
  0%,100% {
    transform:rotate(-8deg) translateY(0)
  }
  50% {
    transform:rotate(-5deg) translateY(-8px)
  }
}

@keyframes plate-sway {
  0%,100% {
    transform:rotate(9deg)
  }
  50% {
    transform:rotate(6deg)
  }
}

@keyframes stamp-sway {
  0%,100% {
    transform:rotate(14deg)
  }
  50% {
    transform:rotate(7deg)
  }
}

.before-check-in {
  display:grid;
  grid-template-columns:.65fr repeat(3,1fr);
  gap:28px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-block:28px
}

.process-label {
  font-weight:800;
  line-height:1.6;
  color:var(--rust)
}

.before-check-in>div {
  display:flex;
  gap:14px;
  padding-left:24px;
  border-left:1px solid var(--line)
}

.before-check-in>div>span {
  font:14px monospace;
  color:var(--gold);
  padding-top:4px
}

.before-check-in strong {
  font-size:14px;
  display:block;
  margin-bottom:8px
}

.before-check-in small {
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.8
}

.department-board {
  padding-block:110px 90px
}

.board-heading {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:end;
  gap:16px 40px;
  margin-bottom:36px
}

.board-heading>.eyebrow {
  grid-column:1/-1;
  color:var(--gold)
}

h2 {
  font-weight:900;
  letter-spacing:-.055em;
  line-height:1.2;
  font-size:clamp(44px,5vw,68px)
}

.board-heading h2 em {
  color:var(--rust)
}

.board-heading>p:last-child {
  font-size:14px;
  line-height:1.9;
  color:var(--muted)
}

.universal-pass {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  background:#353d2c;
  border-left:6px solid var(--gold);
  margin-bottom:30px
}

.stub-label {
  padding:26px 28px;
  color:var(--gold);
  border-right:1px dashed #66704f;
  line-height:1.6;
  font-size:15px;
  font-weight:700
}

.stub-label small {
  font:8px monospace;
  letter-spacing:1px
}

.universal-pass>div {
  padding:26px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px
}

.universal-pass strong {
  font-size:17px
}

.universal-pass>div>span {
  font:10px monospace;
  color:var(--muted)
}

.department-row {
  display:grid;
  grid-template-columns:80px .7fr 1fr 1fr;
  gap:20px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:26px 12px;
  transition:background .2s,padding .2s
}

.department-row:first-child {
  border-top:1px solid var(--line)
}

.department-row:hover {
  background:#303627;
  padding-inline:20px
}

.dept-code {
  font:11px monospace;
  color:var(--rust)
}

.department-row h3 {
  font-size:29px;
  font-weight:800
}

.dept-en {
  font:11px monospace;
  color:var(--gold);
  letter-spacing:1px
}

.department-row p {
  font-size:12px;
  line-height:1.7;
  color:var(--muted)
}

.board-note {
  font-size:11px;
  line-height:1.8;
  margin-top:24px;
  color:var(--muted)
}

.service-desk {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  background:#1b221b;
  padding:64px;
  margin-bottom:90px
}

.desk-intro {
  position:relative
}

.desk-intro .eyebrow {
  color:var(--gold);
  margin-bottom:24px
}

.desk-intro h2 {
  font-size:54px
}

.desk-intro h2 em {
  color:var(--gold)
}

.desk-intro>p:not(.eyebrow) {
  margin-top:22px;
  font-size:12px;
  color:var(--muted);
  line-height:1.8
}

.desk-number {
  display:block;
  font:bold 140px/.85 Georgia,serif;
  color:#495139;
  margin-top:24px
}

.desk-questions details {
  border-bottom:1px solid var(--line)
}

.desk-questions details:first-child {
  border-top:1px solid var(--line)
}

summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:83px;
  font-size:16px;
  font-weight:700;
  line-height:1.7;
  padding:18px 0
}

summary::-webkit-details-marker {
  display:none
}

summary i {
  width:16px;
  height:16px;
  position:relative;
  flex:none;
  color:var(--rust)
}

summary i:before,summary i:after {
  content:"";
  position:absolute;
  background:currentColor
}

summary i:before {
  width:16px;
  height:1px;
  top:7px
}

summary i:after {
  height:16px;
  width:1px;
  left:7px;
  transition:transform .2s
}

details[open] summary i:after {
  transform:rotate(90deg)
}

.desk-questions details>p {
  font-size:14px;
  line-height:2;
  color:var(--muted);
  padding:0 30px 26px 0
}

.last-call {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  isolation:isolate;
  padding:50px 0 80px;
  overflow:hidden
}

.last-call .eyebrow {
  color:var(--gold);
  margin-bottom:24px
}

.last-call h2 {
  font-size:clamp(42px,5vw,68px)
}

.last-call-number {
  position:absolute;
  right:8%;
  bottom:20px;
  font:bold 280px/.9 sans-serif;
  letter-spacing:-25px;
  color:#303728;
  z-index:-1
}

.station-footer {
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:30px;
  padding-block:36px
}

.footer-signature {
  font-size:46px;
  letter-spacing:-3px;
  font-weight:900
}

.station-footer p {
  font-size:11px;
  color:var(--muted);
  margin-top:10px
}

.station-footer>a {
  font-size:12px;
  display:flex;
  align-items:center;
  gap:18px;
  min-height:44px
}

.station-footer>a:hover {
  color:var(--rust)
}

.station-footer small {
  grid-column:1/-1;
  color:var(--muted);
  font-size:10px
}

.receipt-page {
  display:flex;
  max-width:820px;
  width:calc(100% - 112px);
  margin:70px auto 100px
}

.receipt-spine {
  width:120px;
  flex:none;
  background:var(--rust);
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-direction:column;
  padding:32px 16px;
  border-right:1px dashed var(--ink)
}

.receipt-spine>span {
  writing-mode:vertical-rl;
  font:12px monospace;
  letter-spacing:3px
}

.receipt-spine strong {
  font-size:68px;
  letter-spacing:-7px
}

.receipt {
  background:#333b2c;
  flex:1;
  min-width:0;
  padding:48px;
  clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%)
}

.receipt-head {
  display:flex;
  gap:16px;
  align-items:center;
  padding-bottom:24px;
  border-bottom:1px solid var(--line)
}

.receipt-head span {
  font-size:15px;
  font-weight:700
}

.receipt-head small {
  display:block;
  font:9px/1.8 monospace;
  letter-spacing:1px
}

.receipt-status {
  color:var(--rust);
  font-size:12px;
  margin:30px 0 16px
}

.receipt h1 {
  font-size:clamp(36px,4vw,52px);
  letter-spacing:-2px;
  line-height:1.4
}

.receipt h1 em {
  color:var(--gold)
}

.receipt-message {
  margin:22px 0 30px;
  line-height:1.9;
  font-size:14px;
  overflow-wrap:anywhere
}

.incident {
  padding:16px;
  border:1px dashed #788363;
  margin-bottom:24px;
  line-height:1.8
}

.incident span {
  font-size:10px;
  display:block;
  color:var(--muted);
  margin-bottom:8px
}

.incident code {
  font:11px/1.8 monospace;
  overflow-wrap:anywhere
}

.receipt-note {
  font-size:11px;
  color:var(--muted);
  line-height:1.8;
  margin:18px 0 28px
}

.receipt-return {
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:5px;
  display:inline-block;
  padding:12px 0
}

@media(min-width:1800px) {
  .check-in {
    padding-block:100px;
    min-height:820px
  }
  .check-in h1 {
    font-size:104px
  }
}

@media(max-width:1050px) {
  .station-header,.check-in,.before-check-in,.department-board,.service-desk,.last-call,.station-footer {
    width:calc(100% - 64px)
  }
  .check-in {
    gap:18px;
    padding-block:60px 70px;
    min-height:640px
  }
  .check-in h1 {
    font-size:clamp(48px,6.6vw,72px)
  }
  .press-scene {
    height:430px
  }
  .pass-sheet {
    padding:18px;
    left:8%;
    width:73%
  }
  .backplate {
    width:70%;
    left:11%
  }
  .pass-emblem>span {
    font-size:20px;
    letter-spacing:3px
  }
  .crew-stamp {
    width:132px;
    height:132px;
    right:0;
    bottom:6%
  }
  .crew-stamp strong {
    font-size:26px
  }
  .crew-stamp span {
    font-size:8px;
    letter-spacing:2px
  }
  .scene-caption {
    font-size:30px
  }
  .before-check-in {
    gap:16px;
    grid-template-columns:.45fr repeat(3,1fr)
  }
  .before-check-in>div {
    padding-left:16px;
    gap:8px
  }
  .department-row {
    grid-template-columns:60px .7fr 1fr 1.2fr;
    gap:15px
  }
  .dept-en {
    font-size:9px
  }
  .service-desk {
    padding:40px;
    gap:40px
  }
  .desk-intro h2 {
    font-size:46px
  }
  .universal-pass>div {
    padding:24px 20px
  }
}

@media(max-width:740px) {
  .station-header,.check-in,.before-check-in,.department-board,.service-desk,.last-call,.station-footer {
    width:calc(100% - 40px)
  }
  .station-header {
    min-height:90px;
    gap:16px;
    flex-wrap:wrap;
    padding-block:16px
  }
  .station-brand>span {
    font-size:20px
  }
  .station-brand img {
    width:34px
  }
  .station-brand small {
    font-size:8px;
    letter-spacing:1px
  }
  .edition-label {
    display:none
  }
  .station-header nav {
    gap:16px;
    font-size:11px
  }
  .check-in {
    grid-template-columns:1fr;
    padding-block:42px 65px;
    gap:30px
  }
  .check-in h1 {
    font-size:clamp(54px,11vw,76px);
    margin:22px 0
  }
  .opening-note {
    font-size:14px
  }
  .check-in-action {
    margin-top:24px
  }
  .entry-link {
    min-height:60px;
    font-size:15px
  }
  .issue-line {
    margin-top:26px
  }
  .press-scene {
    height:380px;
    max-width:400px
  }
  .pass-sheet {
    left:14%;
    width:61%;
    top:4%;
    height:84%
  }
  .backplate {
    left:18%;
    width:60%;
    height:80%;
    top:10%
  }
  .scene-caption {
    font-size:28px;
    right:3%;
    top:6%
  }
  .crew-stamp {
    width:120px;
    height:120px;
    right:2%;
    bottom:5%
  }
  .scene-footnote {
    left:7%;
    font-size:10px
  }
  .motion-switch {
    bottom:10px;
    right:0
  }
  .before-check-in {
    grid-template-columns:1fr;
    gap:0;
    padding-block:0
  }
  .process-label {
    padding:22px 0
  }
  .process-label br {
    display:none
  }
  .before-check-in>div {
    border-left:0;
    border-top:1px solid var(--line);
    padding:20px 0;
    gap:20px
  }
  .before-check-in>div>span {
    min-width:24px
  }
  .before-check-in strong {
    margin-bottom:5px
  }
  .before-check-in small {
    font-size:12px
  }
  .department-board {
    padding-block:64px
  }
  .board-heading {
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:28px
  }
  .board-heading h2 {
    font-size:52px
  }
  .board-heading>p:last-child {
    font-size:13px
  }
  .universal-pass {
    grid-template-columns:1fr 1fr;
    border-left-width:4px
  }
  .stub-label {
    grid-column:1/-1;
    border-right:0;
    border-bottom:1px dashed #66704f;
    padding:16px
  }
  .stub-label br {
    display:none
  }
  .stub-label small {
    margin-left:14px;
    font-size:7px
  }
  .universal-pass>div {
    padding:20px 14px
  }
  .universal-pass strong {
    font-size:14px
  }
  .department-row {
    grid-template-columns:45px 1fr;
    gap:8px 14px;
    padding:22px 0
  }
  .department-row:hover {
    padding-inline:4px
  }
  .department-row h3 {
    font-size:28px;
    grid-column:2;
    grid-row:1
  }
  .dept-code {
    grid-row:1;
    align-self:center;
    font-size:10px
  }
  .dept-en {
    grid-column:2;
    font-size:10px;
    letter-spacing:1px
  }
  .department-row p {
    grid-column:2;
    font-size:12px
  }
  .board-note {
    font-size:11px
  }
  .service-desk {
    grid-template-columns:1fr;
    padding:28px 22px;
    gap:28px;
    margin-bottom:50px
  }
  .desk-intro h2 {
    font-size:44px
  }
  .desk-intro h2 br {
    display:none
  }
  .desk-intro .eyebrow {
    margin-bottom:16px
  }
  .desk-intro>p:not(.eyebrow) {
    margin-top:14px
  }
  .desk-number {
    display:none
  }
  summary {
    font-size:14px;
    min-height:78px;
    gap:12px
  }
  .desk-questions details>p {
    font-size:13px;
    padding-right:0
  }
  .last-call {
    flex-direction:column;
    align-items:flex-start;
    padding-block:25px 60px;
    gap:30px
  }
  .last-call h2 {
    font-size:44px
  }
  .last-call-number {
    font-size:210px;
    right:4%;
    bottom:5px
  }
  .station-footer {
    gap:24px;
    padding-block:26px
  }
  .footer-signature {
    font-size:34px
  }
  .station-footer p {
    font-size:10px;
    max-width:150px;
    line-height:1.8
  }
  .station-footer>a {
    font-size:11px;
    gap:6px
  }
  .receipt-page {
    width:calc(100% - 40px);
    margin-block:40px 60px;
    flex-direction:column
  }
  .receipt-spine {
    width:100%;
    flex-direction:row;
    padding:16px 24px;
    border-right:0;
    border-bottom:1px dashed var(--ink)
  }
  .receipt-spine>span {
    writing-mode:horizontal-tb;
    font-size:9px;
    letter-spacing:1px
  }
  .receipt-spine strong {
    font-size:32px;
    letter-spacing:-2px
  }
  .receipt {
    padding:28px 22px
  }
  .receipt h1 {
    font-size:36px
  }
  .receipt .entry-link {
    gap:20px;
    width:100%
  }
}

@media(max-width:360px) {
  .station-header nav {
    gap:10px
  }
  .station-brand {
    gap:7px
  }
  .station-brand img {
    width:28px
  }
  .station-brand>span {
    font-size:18px
  }
  .station-brand small {
    font-size:6px
  }
  .check-in h1 {
    font-size:48px
  }
  .entry-link {
    gap:22px;
    padding-inline:18px
  }
  .issue-line {
    gap:12px;
    font-size:9px
  }
  .press-scene {
    height:330px
  }
  .pass-sheet {
    padding:14px;
    left:9%;
    width:66%
  }
  .pass-emblem>span {
    font-size:16px
  }
  .pass-corner {
    font-size:26px
  }
  .scene-caption {
    font-size:24px
  }
  .crew-stamp {
    width:104px;
    height:104px
  }
  .crew-stamp strong {
    font-size:22px;
    margin:8px
  }
  .crew-stamp span {
    font-size:7px
  }
  .service-desk {
    padding:24px 16px
  }
  .desk-intro h2 {
    font-size:36px
  }
  .universal-pass strong {
    font-size:12px
  }
  .stub-label small {
    font-size:6px;
    margin-left:8px
  }
  .station-footer {
    grid-template-columns:1fr
  }
  .station-footer small {
    grid-column:1
  }
  .receipt {
    padding:26px 18px
  }
  .receipt h1 {
    font-size:32px
  }
}

@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
}
