/* BB conference safety card. Base styles, responsive layouts, and final print treatment. */
:root {
  --ink: #142d4c;
  --accent: #e45228;
  --paper: #fdfdf6;
  --ground: #dedfd8;
  --rule: #193954;
  --blue: #9cc8d6;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--ground);
  scroll-behavior: smooth;
}

body {
  color: var(--ink);
  margin: 0;
  padding: 32px 20px 70px;
  font: 15px / 1.4 Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
  text-underline-offset: 3px;
}

a:focus-visible, button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}

.sheet {
  background: var(--paper);
  border: 2px solid var(--rule);
  border-radius: 19px;
  max-width: 1000px;
  margin: 0 auto 30px;
  padding: 22px;
  box-shadow: 0 12px 30px #0001;
}

.mast {
  border-bottom: 3px solid var(--rule);
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-bottom: 16px;
  display: flex;
}

.mast h1 {
  letter-spacing: -2px;
  margin: 0;
  font-size: clamp(32px, 5.5vw, 66px);
  line-height: .9;
}

.stripe {
  background: var(--ink);
  color: var(--paper);
  letter-spacing: 1px;
  text-transform: uppercase;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.art {
  aspect-ratio: 1;
  mix-blend-mode: multiply;
  background-repeat: no-repeat;
  background-size: 314.754% 209.836%;
  width: 100%;
}

.procedure {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.panel {
  border: 1.5px solid var(--rule);
  border-radius: 10px;
  padding: 10px;
  position: relative;
  overflow: hidden;
}

.panel h3 {
  text-transform: uppercase;
  letter-spacing: .4px;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 14px;
  display: flex;
}

.num {
  background: var(--ink);
  width: 25px;
  height: 25px;
  color: var(--paper);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 14px;
  display: inline-grid;
}

.panel p {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.3;
}

.panel.arrival {
  background: var(--ink);
  color: var(--paper);
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  display: flex;
}

.bottom {
  letter-spacing: .5px;
  text-transform: uppercase;
  justify-content: space-between;
  gap: 16px;
  margin-top: 40px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.secondary h2 {
  letter-spacing: -1px;
  margin: 20px 0;
  font-size: 32px;
}

.secondary .lede {
  margin: -8px 0 28px;
}

.crew-grid {
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  padding: 0;
  list-style: none;
  display: grid;
}

.person {
  grid-template-columns: 120px 1fr;
  gap: 15px;
  display: grid;
}

.person img {
  object-fit: contain;
  mix-blend-mode: multiply;
  width: 120px;
  height: 120px;
}

.person p {
  margin: 0 0 5px;
  font-size: 13px;
}

.person .name {
  font-size: 20px;
  font-weight: 700;
}

.person .talk b {
  text-transform: uppercase;
  font-size: 10px;
  display: block;
}

.faq {
  columns: 2;
  column-gap: 32px;
  margin: 0;
}

.qa {
  break-inside: avoid;
  margin: 0 0 22px;
}

.qa dt {
  margin-bottom: 6px;
  font-weight: 700;
}

.qa dd {
  margin: 0;
  font-size: 14px;
}

.qa dd + dd {
  margin-top: 8px;
}

.fill {
  background: #eed9a5;
}

.secondary {
  box-shadow: none;
}

.secondary .stripe {
  margin: 0;
}

.foldout {
  --ground: #c9c9c1;
  --accent: #d64216;
  --ink: #252d36;
}

.foldout .sheet {
  background: var(--paper);
  border: 0;
  border-radius: 3px;
  max-width: 1190px;
  padding: 28px;
}

.foldout .mast {
  background: var(--accent);
  color: #fff;
  border: 0;
  margin: -28px -28px 0;
  padding: 34px 28px 30px;
  display: block;
}

.foldout .mast h1 {
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin-top: .04em;
  font-size: min(16.4vw - 16px, 185px);
  line-height: .82;
}

.foldout .procedure {
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.foldout .panel {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-top: 3px solid var(--ink);
  border-image: ;
  border-radius: 0;
  padding: 10px 0;
}

.foldout .panel p {
  max-width: none;
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.foldout .panel.arrival {
  background: var(--navy);
  justify-content: center;
  gap: 34px;
  margin: 0;
  padding: 34px 30px;
}

.arrival .stub .cta {
  background: var(--accent);
  box-shadow: 0 3px #9a2f0f;
}

.arrival .stub .cta:hover {
  box-shadow: 0 4px #9a2f0f;
}

.arrival .stub .cta:active {
  box-shadow: 0 1px #9a2f0f;
}

.foldout {
  --navy: #142d4c;
}

.cta {
  background: var(--navy);
  color: #fff;
  letter-spacing: .5px;
  text-transform: uppercase;
  border-radius: 6px;
  padding: 14px 22px;
  font-size: 17px;
  font-weight: 900;
  text-decoration: none;
  transition: transform .1s, box-shadow .1s;
  display: inline-block;
  box-shadow: 0 3px #0a1a2e;
}

.cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px #0a1a2e;
}

.cta:active {
  transform: translateY(2px);
  box-shadow: 0 1px #0a1a2e;
}

@media (width <= 650px) {
  body {
    padding: 16px 12px 60px;
  }

  .sheet, .modern .sheet, .vintage .sheet {
    padding: 16px;
  }

  .mast {
    gap: 10px;
  }

  .mast h1, .procedure-view .mast h1, .modern .mast h1 {
    letter-spacing: -1px;
    font-size: 36px;
  }

  .stripe {
    letter-spacing: .3px;
    font-size: 9px;
  }

  .procedure {
    grid-template-columns: 1fr 1fr;
  }

  .panel p {
    font-size: 12px;
  }

  .bottom {
    font-size: 8px;
  }

  .crew-grid {
    grid-template-columns: 1fr;
  }

  .faq {
    columns: 1;
  }

  .foldout .sheet {
    background: var(--paper);
    padding: 16px;
  }

  .foldout .mast {
    margin: -16px -16px 0;
    padding: 20px;
  }

  .foldout .mast h1 {
    font-size: 34px;
  }

  .foldout .procedure {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@media (width <= 450px) {
  .person {
    grid-template-columns: 90px 1fr;
  }

  .person img {
    width: 90px;
    height: 90px;
  }
}

.person {
  align-items: start;
  min-width: 0;
}

.person > div {
  min-width: 0;
}

.portrait-frame {
  border: 1.5px solid #193954;
  border-radius: 10px;
  width: 120px;
  height: 120px;
  display: block;
  overflow: hidden;
}

.person .portrait-frame img {
  object-fit: cover;
  object-position: center top;
  transform-origin: top;
  width: 100%;
  height: 100%;
  display: block;
  transform: scale(1.13);
}

@media (width <= 450px) {
  .portrait-frame {
    width: 90px;
    height: 90px;
  }
}

.stub {
  color: #fff;
  gap: 4px;
  min-width: 270px;
  padding: 0;
  display: grid;
}

.stub b {
  letter-spacing: -1.5px;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.stub .cta {
  text-align: center;
  margin-top: 12px;
  padding: 10px 14px;
  font-size: 13px;
}

.arrival .stub {
  width: 100%;
  min-width: 0;
}

.arrival .stub b {
  font-size: 36px;
}

.arrival .stub .cta {
  margin-top: 24px;
  padding: 15px 20px;
  font-size: 18px;
}

@media (width <= 650px) {
  .mast {
    flex-direction: column;
    align-items: stretch;
  }

  .stub {
    min-width: 0;
  }
}

.tix-form {
  align-content: start;
  gap: 16px;
  display: grid;
}

.tix-form .row {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.tix-form label {
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 13px;
  font-weight: 700;
  display: block;
}

.tix-form .req {
  color: var(--accent);
}

.tix-form .opt {
  text-transform: none;
  letter-spacing: 0;
  color: #5b636c;
  font-weight: 400;
}

.tix-form input,
.tix-form select,
.tix-form textarea {
  color: var(--ink);
  background: var(--paper);
  border: 1.5px solid var(--ink);
  border-radius: 4px;
  width: 100%;
  margin-top: 6px;
  padding: 11px 12px;
  font: 15px / 1.3 Arial, Helvetica, sans-serif;
  display: block;
}

.tix-form input:focus,
.tix-form select:focus,
.tix-form textarea:focus {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

.tix-form .cta {
  cursor: pointer;
  border: 0;
  justify-self: start;
  margin-top: 6px;
  font-family: inherit;
}

@media (width <= 650px) {
  .tix-form .row {
    grid-template-columns: 1fr;
  }

  .tix-form .cta {
    text-align: center;
    justify-self: stretch;
  }
}

.bigfoot {
  background: var(--accent);
  color: #fff;
  margin: 30px -20px -70px;
  padding: 56px 20px 72px;
}

.bf-in {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px 32px;
  max-width: 1190px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
}

.bf-in b {
  letter-spacing: -2px;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}

.bf-in span {
  letter-spacing: .4px;
  text-transform: uppercase;
  text-align: right;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}

@media (width <= 650px) {
  .bigfoot {
    margin: 20px -12px -60px;
    padding: 56px 12px 70px;
  }

  .bf-in {
    padding: 0 4px;
  }

  .bf-in b {
    font-size: 28px;
  }

  .bf-in span {
    text-align: left;
    font-size: 13px;
  }
}

.orient {
  box-shadow: none;
}

.orient .stripe {
  margin: 0;
}

.lead {
  grid-template-columns: 2fr 1fr;
  align-items: stretch;
  gap: 26px;
  margin-top: 22px;
  display: grid;
}

.lead-text {
  align-self: center;
  padding: 8px 0;
}

.lead .what {
  letter-spacing: -.8px;
  color: var(--navy);
  text-wrap: balance;
  margin: 0;
  font-size: clamp(26px, 3.6vw, 46px);
  font-weight: 700;
  line-height: 1.12;
}

@media (width <= 650px) {
  .foldout .mast {
    padding: 22px 16px 20px;
  }

  .foldout .mast h1 {
    font-size: min(16.4vw - 9px, 185px);
  }

  .lead {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .lead .what {
    font-size: 22px;
  }
}

.art {
  aspect-ratio: 1;
  object-fit: contain;
  mix-blend-mode: normal;
  background: none;
  width: 100%;
  display: block;
}

.foldout .mast h1 {
  letter-spacing: -.035em;
  text-wrap: balance;
  margin: 0;
  font-size: clamp(40px, 7.25vw, 88px);
  line-height: 1.03;
}

.event-summary {
  text-wrap: balance;
  max-width: 42ch;
  margin: 20px 0 0;
  font-size: clamp(21px, 2.5vw, 30px);
  font-weight: 400;
  line-height: 1.3;
}

.foldout .sheet.hero {
  padding-bottom: 0;
}

.foldout .hero-admission {
  border-top: 0;
  margin: 0 -28px;
  padding: 28px;
}

.hero-admission .stub .cta {
  white-space: nowrap;
  margin: 0;
  padding: 18px 20px;
  font-size: 24px;
  line-height: 1.15;
  display: block;
}

.foldout .lead {
  grid-template-columns: 1fr;
}

html {
  scroll-padding-top: 90px;
}

.tix-form .cta {
  text-align: center;
  justify-self: stretch;
  padding: 18px 22px;
  font-size: 21px;
}

.checkout-note, .checkout-status {
  text-transform: none;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}

.checkout-status:empty {
  display: none;
}

@media (width <= 850px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }

  .hero-admission .stub .cta {
    flex: 1;
  }
}

@media (width <= 650px) {
  .foldout .mast h1 {
    max-width: 100%;
    font-size: clamp(36px, 9.5vw, 62px);
    line-height: 1.03;
  }

  .event-summary {
    margin-top: 18px;
    font-size: 23px;
    line-height: 1.3;
  }

  .foldout .hero-admission {
    margin: 0 -16px;
    padding: 24px 16px;
  }

  .hero-admission .stub {
    gap: 22px 14px;
  }

  .hero-admission .stub .cta {
    padding: 16px 12px;
    font-size: 21px;
  }

  .tix-form .cta {
    font-size: 18px;
  }
}

.timeline-closer {
  background: var(--navy);
  color: var(--paper);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 24px;
  padding: 20px 24px;
  display: flex;
}

.timeline-closer p {
  margin: 0;
  font-size: 18px;
  line-height: 1.4;
}

@media (width <= 650px) {
  .timeline-closer {
    padding: 18px;
    display: block;
  }

  .timeline-closer p {
    font-size: 16px;
  }
}

.timeline-closer {
  border-right-color:  ;
  border-right-style:  ;
  border-right-width:  ;
  border-bottom-color:  ;
  border-bottom-style:  ;
  border-bottom-width:  ;
  border-left-color:  ;
  border-left-style:  ;
  border-left-width:  ;
  border-image-source:  ;
  border-image-slice:  ;
  border-image-width:  ;
  border-image-outset:  ;
  border-image-repeat:  ;
  color: var(--navy);
  border-top: 3px dashed var(--navy);
  background: none;
  border-radius: 8px;
}

.context-card .timeline-closer {
  margin-top: 16px;
  padding: 14px 18px;
}

.context-card .bottom {
  margin-top: 22px;
}

.context-card .timeline-closer {
  display: block;
}

.context-card .timeline-closer p {
  margin: 0 0 8px;
}

.context-card .timeline-closer {
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  display: flex;
}

@media (width <= 650px) {
  .context-card .timeline-closer {
    flex-wrap: wrap;
  }
}

.context-card .timeline-closer {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-top: 2px dotted var(--navy);
  border-image: ;
  background: none;
  border-radius: 0;
  margin-top: 20px;
  padding: 18px 0 0;
  display: block;
}

.context-card .timeline-closer p {
  letter-spacing: 0;
  text-transform: none;
  color: var(--navy);
  margin: 0;
  font: 400 18px / 1.5 Arial, Helvetica, sans-serif;
}

@media (width <= 650px) {
  .context-card .timeline-closer p {
    font-size: 16px;
  }
}

.context-card .timeline-closer p {
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--ink);
  font: 700 10px / 1.4 Arial, Helvetica, sans-serif;
}

@media (width <= 650px) {
  .context-card .timeline-closer p {
    font-size: 8px;
  }
}

.hero-admission .stub {
  grid-template-columns: 1fr 1fr 1fr;
}

@media (width <= 850px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 18px;
  }

  .hero-admission .stub .cta {
    white-space: normal;
  }
}

@media (width <= 650px) {
  .hero-admission .stub {
    gap: 12px;
  }

  .hero-admission .stub .cta {
    padding: 14px 8px;
    font-size: 17px;
  }
}

.event-summary {
  text-wrap: wrap;
  max-width: none;
}

.sheet .timeline-closer {
  border: 0;
  margin-top: 8px;
  padding: 22px 0 0;
}

.sheet .timeline-closer p {
  letter-spacing: 0;
  text-transform: none;
  color: var(--ink);
  font: 700 16px / 1.5 Arial, Helvetica, sans-serif;
}

.sheet .timeline-closer a {
  font-weight: 700;
}

.foldout .mast h1 {
  letter-spacing: -.035em;
  white-space: nowrap;
  max-width: none;
  font-size: min(9.7vw - 9.3px, 110px);
  line-height: .98;
}

.foldout .panel.hero-admission {
  border-top: 0;
  margin: 0 -28px -28px;
  padding: 26px 28px;
}

.hero-admission .stub {
  text-align: left;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  display: grid;
}

@media (width <= 650px) {
  .foldout .mast h1 {
    font-size: min(9.7vw - 5.4px, 110px);
  }

  .foldout .panel.hero-admission {
    margin: 0 -16px -16px;
    padding: 20px 16px;
  }

  .hero-admission .stub {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .hero-admission .stub .cta {
    padding: 14px 18px;
    font-size: 17px;
  }
}

.hero-admission .stub {
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 36px;
}

@media (width <= 650px) {
  .hero-admission .stub {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.foldout .panel.hero-admission {
  padding: 22px 28px;
}

.hero-admission .stub {
  text-align: left;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px 28px;
  display: flex;
}

.hero-admission .adm {
  white-space: nowrap;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.3;
}

.hero-admission .adm-when, .hero-admission .adm-price, .hero-admission .adm-where b {
  font-weight: 700;
}

.hero-admission .stub .cta {
  white-space: nowrap;
  flex: none;
  margin: 0;
  padding: 14px 20px;
  font-size: 17px;
  line-height: 1.1;
  display: inline-block;
}

.event-summary {
  max-width: none;
  margin-top: 22px;
  font-size: clamp(24px, 2.9vw, 34px);
  line-height: 1.25;
}

@media (width <= 650px) {
  .hero-admission .stub {
    gap: 10px 20px;
  }

  .hero-admission .adm {
    white-space: normal;
    font-size: 16px;
  }

  .hero-admission .adm-where {
    flex-basis: 100%;
  }

  .event-summary {
    font-size: 25px;
    line-height: 1.25;
  }
}

.hero-admission .stub .adm-where b {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0;
  display: inline;
}

.hero-admission .adm {
  white-space: normal;
}

.hero-admission .adm-when {
  letter-spacing: -.5px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}

.hero-admission .adm-where {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
}

.hero-admission .stub .adm-where b {
  margin-bottom: 3px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  display: block;
}

.hero-admission .adm-where span {
  opacity: .92;
  display: block;
}

@media (width <= 650px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }

  .hero-admission .adm-when {
    grid-column: 1 / -1;
    font-size: 24px;
  }
}

.hero-admission .stub {
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  gap: 20px 24px;
  display: grid;
}

.hero-admission .adm-when, .hero-admission .stub .adm-where b {
  letter-spacing: -.5px;
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  display: block;
}

.hero-admission .adm-where {
  font-size: 14px;
  line-height: 1.3;
}

.hero-admission .adm-where span {
  opacity: .92;
  margin-top: 3px;
  display: block;
}

.hero-admission .stub .cta {
  justify-self: end;
}

@media (width <= 650px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr;
    gap: 14px 16px;
  }

  .hero-admission .adm-when, .hero-admission .stub .adm-where b {
    font-size: 24px;
  }

  .hero-admission .stub .cta {
    justify-self: end;
  }
}

.hero-admission .stub {
  justify-content: space-between;
  align-items: center;
  gap: 20px 24px;
  display: flex;
}

.hero-admission .adm-when, .hero-admission .stub .adm-where b {
  font-size: 26px;
}

@media (width <= 650px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr;
    display: grid;
  }

  .hero-admission .adm-when, .hero-admission .stub .adm-where b {
    font-size: 22px;
  }
}

.hero-admission .adm-where span {
  opacity: 1;
  margin-top: 2px;
  font-size: 16px;
  font-weight: 700;
}

@media (width <= 650px) {
  .hero-admission .adm-where span {
    font-size: 15px;
  }
}

.hero-admission .stub {
  grid-template-columns: 1fr auto 1fr;
  justify-content: normal;
  align-items: center;
  gap: 20px 32px;
  display: grid;
}

.hero-admission .adm-where {
  text-align: right;
  justify-self: end;
}

.hero-admission .stub .cta {
  letter-spacing: .6px;
  white-space: nowrap;
  justify-self: center;
  padding: 20px 34px;
  font-size: 24px;
}

.hero-admission .stub .cta .dot {
  opacity: .7;
  margin: 0 6px;
}

@media (width <= 650px) {
  .hero-admission .stub {
    grid-template-columns: 1fr 1fr;
  }

  .hero-admission .adm-where {
    text-align: right;
    justify-self: end;
  }

  .hero-admission .stub .cta {
    text-align: center;
    grid-column: 1 / -1;
    justify-self: stretch;
    padding: 16px 20px;
    font-size: 20px;
  }

  .hero-admission .adm-when {
    grid-area: 1 / 1;
  }

  .hero-admission .adm-where {
    grid-area: 1 / 2;
  }

  .hero-admission .stub .cta {
    grid-row: 2;
  }
}

@media (width >= 651px) {
  .hero-admission .stub {
    padding: 0 clamp(24px, 5vw, 72px);
  }

  .hero-admission .stub .cta {
    padding: 13px 34px;
  }

  .foldout .panel.hero-admission {
    padding: 27px 28px;
  }
}

.panel.filler {
  display: none;
}

@media (width <= 650px) {
  .filler-brand, .filler-note {
    width: 100%;
    display: block;
  }

  .filler-brand span, .filler-note span {
    white-space: nowrap;
    line-height: .9;
    display: block;
  }

  .filler-brand span {
    color: var(--accent);
    letter-spacing: -.02em;
    font-size: 40px;
    font-weight: 900;
  }

  .panel.filler {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding: 10px 0;
    display: flex;
  }

  .panel.filler p {
    margin-top: 10px;
  }
}

.bottom {
  align-items: flex-start;
  gap: 6px 40px;
}

.bottom > span:last-child {
  white-space: nowrap;
  flex-shrink: 0;
  margin-left: auto;
}

.bottom > span:first-child {
  flex: auto;
  min-width: 0;
}

.hero-admission .adm-where {
  text-align: center;
}

.tl-study .study-title {
  letter-spacing: -.9px;
  color: #142d4c;
  max-width: 26ch;
  margin: 26px 0 18px;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.12;
}

.study-intro {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #67717a;
  margin: 0 0 30px;
  font-size: 12px;
}

.study-event {
  color: #142d4c;
  background: #fdfdf6;
  border: 1px solid #142d4500;
  border-radius: 9px;
  min-width: 0;
  padding: 18px 20px;
}

.event-meta {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  display: flex;
}

.event-meta time {
  letter-spacing: .6px;
  color: #d64216;
  font-size: 12px;
  font-weight: 800;
}

.event-brand {
  align-items: center;
  gap: 7px;
  font-size: 12px;
  font-weight: 700;
  display: flex;
}

.event-brand img {
  object-fit: contain;
  width: 20px;
  height: 20px;
}

.study-event p {
  margin: 12px 0;
  font-size: 18px;
  line-height: 1.4;
}

.study-event > a {
  border-bottom: 1px solid #142d4600;
  padding-bottom: 2px;
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.study-event > a:hover {
  text-decoration: underline;
}

.study-event > a:focus-visible {
  outline-offset: 4px;
  outline: 2px solid #d64216;
}

.date-rail {
  border-bottom: 2px solid #142d4c;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  gap: 4px;
  margin: 36px 0 26px;
  padding-bottom: 16px;
  display: grid;
}

.date-rail button {
  font: inherit;
  color: #142d4c;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: 6px;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  padding: 9px 3px;
  display: flex;
}

.date-rail button > span {
  font-size: 10px;
  font-weight: 700;
}

.date-rail button > b {
  font-size: 22px;
}

.date-rail button > i {
  background: #142d4c;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-top: 5px;
}

.date-rail button[aria-pressed="true"] {
  color: #fffdf3;
  background: #142d4c;
}

.date-rail button[aria-pressed="true"] > i {
  background: #e45228;
}

.date-rail button:hover {
  box-shadow: inset 0 0 0 1px #142d4c;
}

.selected-event {
  border: 1px solid #142d4c;
  border-left: 7px solid #d64216;
  border-image: ;
  border-radius: 9px;
  align-items: center;
  min-height: 300px;
  display: flex;
}

.selected-event .study-event {
  width: 100%;
  padding: 30px 36px;
}

.selected-event .study-event p {
  letter-spacing: -.5px;
  max-width: 30ch;
  font-size: clamp(25px, 3.4vw, 40px);
  font-weight: 700;
  line-height: 1.18;
}

.selected-event .event-meta time, .selected-event .event-brand {
  font-size: 14px;
}

.selected-event .event-brand img {
  width: 26px;
  height: 26px;
}

.selected-event .study-event > a {
  margin-top: 10px;
  font-size: 13px;
}

.event-controls {
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  display: flex;
}

.event-controls button {
  color: #142d4c;
  cursor: pointer;
  background: none;
  border: 1px solid #142d4c;
  border-radius: 4px;
  padding: 11px 14px;
  font: 700 13px Arial;
}

.event-controls button:disabled {
  opacity: .35;
  cursor: default;
}

.event-controls > span {
  letter-spacing: 1px;
  font-size: 12px;
  font-weight: 700;
}

@media (width <= 700px) {
  .tl-study .study-title {
    max-width: none;
    font-size: 30px;
  }

  .study-event {
    padding: 16px;
  }

  .study-event p {
    font-size: 17px;
  }

  .date-rail {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
    margin-top: 20px;
  }

  .selected-event {
    min-height: 340px;
  }

  .selected-event .study-event {
    padding: 22px;
  }

  .event-controls button {
    padding: 10px 9px;
    font-size: 11px;
  }

  .event-controls > span {
    font-size: 10px;
  }
}

body.foldout {
  --page-gutter: 20px;
  --page-top: 32px;
}

body.foldout > main > .sheet.hero {
  width: calc(100% + var(--page-gutter) * 2);
  max-width: none;
  margin: calc(-1 * var(--page-top)) calc(-1 * var(--page-gutter)) 40px;
  box-shadow: none;
  background: var(--navy);
  border: 0;
  border-radius: 0;
  padding: 0;
}

body.foldout .hero > .mast {
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 44px max(28px, 50% - 567px) 36px;
}

body.foldout .hero > .mast h1, body.foldout .hero > .mast .event-summary {
  max-width: 1134px;
  margin-left: auto;
  margin-right: auto;
}

body.foldout .hero > .hero-admission {
  background: var(--navy);
  border: 0;
  border-radius: 0;
  margin: 0;
  padding: 28px max(28px, 50% - 567px);
}

body.foldout .hero-admission > .stub {
  width: 100%;
  max-width: 1134px;
  margin: 0 auto;
}

@media (width <= 650px) {
  body.foldout {
    --page-gutter: 12px;
    --page-top: 16px;
  }

  body.foldout > main > .sheet.hero {
    margin-bottom: 26px;
  }

  body.foldout .hero > .mast {
    padding: 28px 20px 26px;
  }

  body.foldout .hero > .hero-admission {
    padding: 24px 20px;
  }
}

.ticket-study {
  color: #142d4c;
}

.ticket-study .ticket-title {
  letter-spacing: -1.2px;
  color: #142d4c;
  margin: 27px 0;
  font-size: clamp(30px, 3.8vw, 46px);
  line-height: 1.06;
}

.ticket-study h3 {
  letter-spacing: -.5px;
  margin: 0 0 22px;
  font-size: 24px;
  line-height: 1.2;
}

.ticket-study .tix-form {
  gap: 18px;
  min-width: 0;
  display: grid;
}

.ticket-study .tix-form label {
  letter-spacing: .3px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.ticket-study .tix-form input,
.ticket-study .tix-form select,
.ticket-study .tix-form textarea {
  color: #142d4c;
  background: #fffefb;
  border: 1px solid #142d4c80;
  border-radius: 5px;
  width: 100%;
  min-width: 0;
  margin-top: 8px;
  padding: 13px 12px;
  font: 16px / 1.35 Arial;
}

.ticket-study .tix-form input:focus,
.ticket-study .tix-form select:focus,
.ticket-study .tix-form textarea:focus {
  outline-offset: 2px;
  outline: 2px solid #d64216;
}

.ticket-study .tix-form .row {
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  display: grid;
}

.ticket-study .opt {
  letter-spacing: 0;
  text-transform: none;
  color: #65717d;
  font-size: 11px;
  font-weight: 400;
}

.ticket-study .req {
  color: #d64216;
}

.ticket-study .ticket-action {
  color: #fffdf3;
  text-transform: uppercase;
  letter-spacing: .3px;
  cursor: pointer;
  text-align: center;
  background: #d64216;
  border: 0;
  border-radius: 5px;
  justify-self: stretch;
  width: 100%;
  margin: 2px 0 0;
  padding: 18px 16px;
  font: 800 17px / 1.2 Arial;
  display: block;
  box-shadow: 0 3px #a12e10;
}

.ticket-study .ticket-action:hover {
  background: #b63613;
}

.ticket-study .checkout-note, .ticket-study .checkout-status {
  color: #5b6772;
  text-transform: none;
  margin: 0;
  font-size: 11px;
  line-height: 1.4;
}

.ticket-study .checkout-status:not(:empty) {
  background: #142d4c0b;
  border-left: 3px solid #142d4c;
  padding: 10px;
}

.ticket-facts {
  gap: 24px;
  margin: 0;
  display: grid;
}

.ticket-facts dt {
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #d64216;
  margin: 0 0 6px;
  font-size: 11px;
  font-weight: 700;
}

.ticket-facts dd {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;
}

.ticket-facts dd > span {
  margin-top: 5px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  display: block;
}

.ticket-eyebrow, .stub-label {
  letter-spacing: 1.4px;
  margin: 0 0 18px;
  font-size: 11px;
  font-weight: 700;
}

.ticket-study .bottom {
  margin-top: 32px;
}

.optional-details {
  border: 1px solid #142d4c40;
  border-radius: 5px;
  padding: 14px;
}

.optional-details summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.optional-details summary span {
  color: #65717d;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 400;
}

.optional-details > div {
  gap: 18px;
  margin-top: 18px;
  display: grid;
}

.step-layout, .review-layout {
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 40px;
  display: grid;
}

.ticket-receipt {
  border: 1px solid #142d4c;
  border-top: 6px solid #d64216;
  border-image: ;
  border-radius: 6px;
  align-self: start;
  padding: 26px;
}

.ticket-receipt h3 {
  letter-spacing: -1px;
  font-size: 32px;
}

.ticket-receipt .ticket-facts {
  gap: 22px;
}

.ticket-receipt .ticket-facts dd {
  font-size: 19px;
}

@media (width <= 850px) {
  .step-layout, .review-layout {
    grid-template-columns: minmax(0, 1fr) 270px;
    gap: 25px;
  }

  .ticket-receipt {
    padding: 22px;
  }
}

@media (width <= 650px) {
  .ticket-study .ticket-title {
    letter-spacing: -.8px;
    font-size: 33px;
  }

  .ticket-study .tix-form .row {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .step-layout, .review-layout {
    flex-direction: column;
    gap: 26px;
    display: flex;
  }

  .ticket-receipt {
    width: 100%;
    padding: 23px;
  }

  .ticket-receipt .ticket-facts {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }

  .ticket-receipt .ticket-facts > div:nth-child(2) {
    grid-area: 1 / 2 / span 2;
  }

  .ticket-study .ticket-action {
    font-size: 15px;
  }

  .ticket-study .bottom {
    font-size: 8px;
  }
}

body.airline {
  --ink: #172d43;
  --navy: #172d43;
  --rule: #172d43;
  --accent: #cf351e;
  --paper: #faf8ed;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
}

.airline .sheet:not(.hero) {
  border: 2px solid var(--rule);
  box-shadow: none;
  border-radius: 14px;
  margin-bottom: 24px;
  padding: 24px;
  overflow: hidden;
}

.airline .stripe {
  color: var(--ink);
  border-bottom: 2px solid var(--rule);
  letter-spacing: 1px;
  background: none;
  margin: 0;
  padding: 0 0 10px;
  font-size: 11px;
}

.airline .lead .what, .airline .study-title, .airline .secondary h2, .airline .ticket-study .ticket-title {
  letter-spacing: -.6px;
  color: var(--ink);
  text-wrap: balance;
  margin: 22px 0;
  font: 700 clamp(26px, 3.1vw, 39px) / 1.12 Arial, Helvetica, sans-serif;
}

.airline .lead {
  margin: 0;
}

.airline .lead-text {
  padding: 0;
}

.airline .procedure {
  border: 2px solid var(--rule);
  border-radius: 12px;
  gap: 0;
  margin-top: 24px;
  overflow: hidden;
}

.airline .procedure .panel {
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  border-right: 1px solid var(--rule);
  background: var(--paper);
  border-image: ;
  flex-direction: column;
  padding: 16px;
  display: flex;
}

.airline .procedure .panel:nth-child(3) {
  border-right: 0;
}

.airline .procedure .panel.filler {
  display: none;
}

.airline .panel h3 {
  letter-spacing: .15px;
  min-height: 38px;
  font-size: 13px;
  line-height: 1.25;
}

.airline .num {
  background: var(--accent);
  width: 29px;
  height: 29px;
  font-size: 18px;
}

.airline .art {
  mix-blend-mode: multiply;
}

.airline .procedure .panel p {
  border-top: 1px solid var(--rule);
  margin-top: auto;
  padding-top: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
}

.airline .bottom {
  border-top: 1px solid var(--rule);
  letter-spacing: .4px;
  margin-top: 24px;
  padding-top: 12px;
  font-size: 9px;
}

.airline .date-rail {
  border: 1.5px solid var(--rule);
  border-radius: 6px;
  gap: 0;
  margin: 24px 0 18px;
  padding: 0;
  overflow: hidden;
}

.airline .date-rail button {
  border-right: 1px solid var(--rule);
  border-radius: 0;
  padding: 12px 3px;
}

.airline .date-rail button:last-child {
  border: 0;
}

.airline .date-rail button[aria-pressed="true"] {
  background: var(--accent);
}

.airline .date-rail button > i {
  display: none;
}

.airline .selected-event {
  border: 2px solid var(--rule);
  background: var(--paper);
  border-radius: 10px;
  min-height: 250px;
}

.airline .study-event {
  background: none;
}

.airline .selected-event .study-event p {
  font-size: clamp(24px, 3vw, 35px);
}

.airline .event-meta time {
  color: var(--accent);
}

.airline .event-controls button {
  border-width: 1.5px;
  border-radius: 3px;
}

.airline .timeline-closer {
  border-bottom: 0;
  border-left: 0;
  border-right: 0;
  border-top: 1px solid var(--rule);
  border-image: ;
  background: none;
  border-radius: 0;
  padding: 16px 0 0;
}

.airline .study-intro {
  font-size: 11px;
}

.airline .crew-grid {
  border: 1.5px solid var(--rule);
  border-radius: 10px;
  gap: 0;
  overflow: hidden;
}

.airline .person {
  border-bottom: 1px solid var(--rule);
  gap: 16px;
  padding: 20px;
}

.airline .person:nth-child(odd) {
  border-right: 1px solid var(--rule);
}

.airline .portrait-frame {
  border: 1px solid var(--rule);
  border-radius: 5px;
}

.airline .person .name {
  font-size: 20px;
}

.airline .person .portrait-frame img {
  filter: saturate(.65);
}

.airline .faq {
  columns: initial;
  grid-template-columns: 1fr 1fr;
  gap: 0 30px;
  display: grid;
}

.airline .qa {
  border-top: 1px solid var(--rule);
  margin: 0;
  padding: 18px 0;
}

.airline .qa dt {
  font-size: 15px;
  line-height: 1.3;
}

.airline .qa dd {
  font-size: 14px;
  line-height: 1.55;
}

.airline .fill {
  background: #eadfae;
}

.airline .ticket-study {
  color: var(--ink);
}

.airline .ticket-study .tix-form input,
.airline .ticket-study .tix-form select,
.airline .ticket-study .tix-form textarea {
  background: var(--paper);
  border: 1.5px solid var(--rule);
  color: var(--ink);
  border-radius: 3px;
}

.airline .optional-details {
  border: 1.5px solid var(--rule);
  background: none;
  border-radius: 3px;
}

.airline .optional-details summary {
  font-size: 13px;
}

.airline .ticket-receipt {
  background: var(--paper);
  border: 2px solid var(--rule);
  border-radius: 8px;
  padding: 24px;
}

.airline .ticket-eyebrow {
  background: var(--ink);
  color: var(--paper);
  letter-spacing: 1px;
  margin: -24px -24px 22px;
  padding: 10px;
}

.airline .ticket-receipt h3 {
  font-size: 34px;
}

.airline .ticket-facts {
  gap: 18px;
}

.airline .ticket-facts > div {
  border-top: 1px solid var(--rule);
  padding-top: 12px;
}

.airline .ticket-facts dt {
  color: var(--accent);
}

.airline .cta, .airline .ticket-study .ticket-action {
  background: var(--accent);
  border-radius: 3px;
  box-shadow: none !important;
}

.airline .cta:hover, .airline .ticket-study .ticket-action:hover {
  background: #ae2c19;
  transform: none;
}

.airline .ticket-study .ticket-action {
  font-size: 17px;
}

.airline .bigfoot {
  border-top: 3px solid var(--rule);
}

@media (width <= 750px) {
  .airline .crew-grid {
    grid-template-columns: 1fr;
  }

  .airline .person:nth-child(odd) {
    border-right: 0;
  }

  .airline .step-layout {
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 20px;
  }
}

@media (width <= 650px) {
  .airline .sheet:not(.hero) {
    border-radius: 10px;
    margin-bottom: 18px;
    padding: 16px;
  }

  .airline .procedure {
    grid-template-columns: 1fr;
  }

  .airline .procedure .panel {
    border-right: 0;
    border-bottom: 1px solid var(--rule);
    padding: 16px;
  }

  .airline .procedure .panel:nth-child(3) {
    border-bottom: 0;
  }

  .airline .procedure .art {
    max-height: 280px;
  }

  .airline .panel h3 {
    font-size: 14px;
  }

  .airline .procedure .panel p {
    margin-top: 10px;
  }

  .airline .faq {
    grid-template-columns: 1fr;
  }

  .airline .bottom {
    flex-wrap: wrap;
    gap: 12px;
    font-size: 8px;
  }

  .airline .bottom > span:last-child {
    white-space: normal;
  }

  .airline .date-rail button {
    border-bottom: 1px solid var(--rule);
  }

  .airline .step-layout {
    flex-direction: column;
    display: flex;
  }

  .airline .ticket-receipt {
    width: 100%;
    padding: 22px;
  }

  .airline .ticket-eyebrow {
    margin: -22px -22px 22px;
  }

  .airline .person {
    grid-template-columns: 90px 1fr;
    padding: 16px;
  }

  .airline .portrait-frame {
    width: 90px;
    height: 90px;
  }

  .airline .stripe {
    letter-spacing: .2px;
    font-size: 9px;
  }

  .airline .lead .what, .airline .study-title, .airline .secondary h2, .airline .ticket-study .ticket-title {
    font-size: 27px;
  }
}

body.airline {
  --paper: #f8f8ee;
  --accent: #c93724;
  background: #d5dddc;
}

.airline .sheet:not(.hero) {
  border: 2px solid var(--navy);
  border-radius: 18px;
}

.airline .stripe {
  color: var(--accent);
  border-bottom-color: var(--accent);
  border-bottom-width: 4px;
}

.airline .procedure {
  border: 1.5px solid var(--navy);
  background: #dce9ee;
  gap: 14px;
  padding: 14px;
}

.airline .procedure .panel {
  background: var(--paper);
  border-radius: 10px;
  padding: 12px;
  border: 1px solid var(--navy) !important;
}

.airline .selected-event {
  border-color: var(--navy);
  background: #dce9ee;
}

.airline .date-rail, .airline .ticket-receipt {
  background: #dce9ee;
}

.airline .ticket-eyebrow {
  background: var(--navy);
}

.airline .crew-grid {
  border: 0;
  gap: 16px;
}

.airline .person {
  background: #eaf0ed;
  border-radius: 10px;
  padding: 16px;
  border: 1px solid var(--rule) !important;
}

.airline .optional-details {
  background: #eaf0ed;
}

.airline .qa {
  border-top: 3px solid #a6bcc6;
}

.airline .portrait-frame {
  background: var(--paper);
}

@media (width <= 650px) {
  .airline .procedure {
    gap: 10px;
    padding: 10px;
  }
}

body.airline .sheet:not(.hero) {
  position: relative;
}

body.airline .sheet:not(.hero):after {
  content: "";
  pointer-events: none;
  z-index: 2;
  opacity: .5;
  background: linear-gradient(90deg, #0000 0%, #4b3e2406 14%, #4b3e2412 35%, #30281929 47%, #251f1442 49%, #fffff5a6 51%, #fffff53d 55%, #4b3e240b 69%, #0000 100%);
  width: 28px;
  position: absolute;
  inset: 0 auto 0 50%;
  transform: translate(-50%);
}

@media (width <= 650px) {
  body.airline .sheet:not(.hero):after {
    opacity: .4;
    width: 18px;
  }
}

body.airline .hero > .mast {
  padding-top: 42px;
  padding-bottom: 34px;
}

body.airline .hero > .mast h1 {
  letter-spacing: -.035em;
  line-height: 1.02;
}

body.airline .hero > .mast .event-summary {
  text-wrap: balance;
  max-width: 1134px;
  margin-top: 18px;
  font-size: clamp(19px, 2.1vw, 26px);
  line-height: 1.4;
}

body.airline .hero > .hero-admission {
  padding-top: 25px;
  padding-bottom: 25px;
}

body.airline .hero-admission .stub {
  align-items: center;
  gap: 30px;
}

body.airline .hero-admission .stub .cta {
  background: var(--accent);
  color: #fff;
  letter-spacing: .65px;
  border: 1px solid #ffffff25;
  border-radius: 3px;
  padding: 16px 28px;
  font: 700 15px / 1.2 Arial, Helvetica, sans-serif;
  transition: filter .15s;
  box-shadow: none !important;
  transform: none !important;
}

body.airline .hero-admission .stub .cta:hover {
  background: var(--accent);
  color: #fff;
  filter: brightness(.94);
}

body.airline .hero-admission .adm-when {
  letter-spacing: -.2px;
  font-size: 20px;
  font-weight: 700;
}

body.airline .hero-admission .adm-where b {
  letter-spacing: -.5px;
  font-size: 27px;
  line-height: 1.1;
}

body.airline .hero-admission .adm-where span {
  letter-spacing: .25px;
  margin-top: 5px;
  font-size: 13px;
  font-weight: 400;
}

@media (width <= 650px) {
  body.airline .hero > .mast {
    padding: 28px 20px 26px;
  }

  body.airline .hero > .mast .event-summary {
    margin-top: 16px;
    font-size: 19px;
  }

  body.airline .hero > .hero-admission {
    padding: 22px 20px;
  }

  body.airline .hero-admission .stub {
    gap: 20px 16px;
  }

  body.airline .hero-admission .stub .cta {
    padding: 15px 20px;
    font-size: 14px;
  }

  body.airline .hero-admission .adm-when {
    font-size: 17px;
  }

  body.airline .hero-admission .adm-where b {
    font-size: 23px;
  }
}

body.airline .sheet:not(.hero) {
  min-height: var(--equal-page-height, 0px);
  flex-direction: column;
  display: flex;
}

body.airline .sheet:not(.hero) > .bottom {
  margin-top: auto;
  padding-top: 18px;
  transform: translateY(0);
}

body.airline .sheet:not(.hero) > :nth-last-child(2) {
  margin-bottom: 24px;
}

body.airline #faq-page .faq {
  columns: 2;
  column-fill: balance;
  column-gap: 30px;
  display: block;
}

body.airline #faq-page .qa {
  break-inside: avoid;
  margin: 0 0 18px;
  padding: 14px 0 0;
}

body.airline #faq-page .qa dd {
  line-height: 1.45;
}

@media (width <= 650px) {
  body.airline #faq-page .faq {
    columns: 1;
  }
}

body.airline #tickets-page .step-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 64px;
  margin-top: 14px;
}

body.airline #tickets-page .tix-form {
  gap: 24px;
  padding-top: 6px;
}

body.airline #tickets-page .tix-form .row {
  grid-template-columns: 1fr;
  gap: 24px;
}

body.airline #tickets-page .tix-form label {
  letter-spacing: .5px;
  font-size: 12px;
}

body.airline #tickets-page .tix-form input,
body.airline #tickets-page .tix-form select,
body.airline #tickets-page .tix-form textarea {
  background: #fffef980;
  border-color: #172d4399;
  margin-top: 10px;
  padding: 15px 14px;
  font-size: 17px;
  line-height: 1.3;
}

body.airline #tickets-page .optional-details {
  background: none;
  border-color: #172d4366;
  padding: 17px 15px;
}

body.airline #tickets-page .ticket-action {
  letter-spacing: .45px;
  margin-top: 2px;
  padding: 20px 16px;
  font-size: 17px;
}

body.airline #tickets-page .checkout-note {
  max-width: 38ch;
  font-size: 12px;
  line-height: 1.45;
}

body.airline #tickets-page .ticket-receipt {
  border: 1.5px solid var(--navy);
  background: #e5edf0;
  border-radius: 10px;
  flex-direction: column;
  align-self: stretch;
  padding: 30px;
  display: flex;
}

body.airline #tickets-page .ticket-eyebrow {
  letter-spacing: 1.4px;
  background: var(--navy);
  color: var(--paper);
  margin: -30px -30px 28px;
  padding: 14px 30px;
  font-size: 11px;
}

body.airline #tickets-page .ticket-receipt h3 {
  letter-spacing: -1.8px;
  margin: 0 0 28px;
  font-size: 48px;
  line-height: 1;
}

body.airline #tickets-page .ticket-facts {
  flex: 1;
  gap: 24px;
}

body.airline #tickets-page .ticket-facts > div {
  border-top: 1px solid #172d4355;
  padding-top: 18px;
}

body.airline #tickets-page .ticket-facts dt {
  letter-spacing: 1px;
  margin-bottom: 9px;
  font-size: 11px;
}

body.airline #tickets-page .ticket-facts dd {
  font-size: 26px;
  line-height: 1.25;
}

body.airline #tickets-page .ticket-facts dd > span {
  margin-top: 7px;
  font-size: 16px;
  line-height: 1.5;
}

body.airline #tickets-page .ticket-facts > div:last-child dd {
  font-size: 32px;
}

@media (width <= 850px) {
  body.airline #tickets-page .step-layout {
    gap: 40px;
  }

  body.airline #tickets-page .ticket-receipt {
    padding: 24px;
  }

  body.airline #tickets-page .ticket-eyebrow {
    margin: -24px -24px 24px;
    padding: 13px 24px;
  }

  body.airline #tickets-page .ticket-receipt h3 {
    font-size: 37px;
  }

  body.airline #tickets-page .ticket-facts dd {
    font-size: 22px;
  }
}

@media (width <= 650px) {
  body.airline #tickets-page .step-layout {
    flex-direction: column;
    gap: 30px;
    display: flex;
  }

  body.airline #tickets-page .ticket-facts {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    display: grid;
  }

  body.airline #tickets-page .ticket-facts dd {
    font-size: 19px;
  }

  body.airline #tickets-page .ticket-facts dd > span {
    font-size: 13px;
  }

  body.airline #tickets-page .ticket-receipt h3 {
    font-size: 39px;
  }

  body.airline #tickets-page:after {
    opacity: .14;
    width: 18px;
  }
}

body.airline #context-page .study-title {
  text-wrap: initial;
  width: 100%;
  max-width: none;
}

@media (width <= 650px) {
  body.airline #context-page .study-title {
    text-wrap: pretty;
  }
}

body.airline #orientation-page > .procedure {
  margin-top: auto;
  margin-bottom: auto;
}

body.airline #orientation-page > .bottom {
  margin-top: 0;
}

body.airline #orientation-page .lead {
  padding-bottom: 20px;
}

body.airline #orientation-page .procedure .panel h3 {
  min-height: 42px;
}

body.airline #orientation-page .procedure .panel p {
  min-height: 42px;
  margin-bottom: 0;
}

@media (width <= 650px) {
  body.airline #orientation-page > .procedure {
    margin-top: 14px;
    margin-bottom: 24px;
  }

  body.airline #orientation-page > .bottom {
    margin-top: auto;
  }

  body.airline #orientation-page .lead {
    padding-bottom: 0;
  }

  body.airline #orientation-page .procedure .panel p {
    min-height: 0;
  }
}

body.airline #orientation-page .procedure .panel h3 {
  align-items: center;
  min-height: 72px;
  padding-bottom: 26px;
}

body.airline #orientation-page .procedure .panel p {
  min-height: 48px;
}

@media (width <= 650px) {
  body.airline #orientation-page .procedure .panel h3 {
    min-height: 62px;
    padding-bottom: 18px;
  }

  body.airline #orientation-page .procedure .panel p {
    min-height: 0;
    padding-bottom: 4px;
  }
}

body.airline #speakers .speaker-coming {
  color: #627685;
  background: none;
  align-items: center;
  border: 1px dashed #172d4360 !important;
}

body.airline #speakers .speaker-coming .portrait-frame {
  background: none;
  border: 1px dashed #172d4360;
  border-radius: 10px;
  place-items: center;
  display: grid;
}

body.airline #speakers .speaker-coming svg {
  opacity: .6;
  width: 80%;
  height: 80%;
}

body.airline #speakers .speaker-coming .name {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
}

body.airline .sheet:not(.hero):after {
  opacity: .3;
  width: 22px;
}

body.airline #tickets-page:after {
  opacity: .16;
  width: 20px;
}

@media (width <= 650px) {
  body.airline .sheet:not(.hero):after {
    opacity: .24;
    width: 16px;
  }

  body.airline #tickets-page:after {
    opacity: .1;
    width: 14px;
  }
}

body.airline .sheet:not(.hero) {
  box-shadow: 0 2px 4px #172d430b, 0 7px 16px #172d430a;
}

/* --- Colleen's iteration --- */
/* no fake fold through the cards */
body.airline .sheet:not(.hero):after { display: none; }
/* step labels a size up, kept on one line */
.airline .panel h3 { font-size: 15px; white-space: nowrap; min-height: 0; }
@media (width <= 650px) { .airline .panel h3 { font-size: 15px; white-space: normal; } }
/* no rule between the timeline and its closing note */
.airline .timeline-closer { border-top: 0; padding-top: 10px; margin-top: 18px; }

/* captions: no rule above them */
.airline .procedure .panel p { border-top: 0; padding-top: 4px; }
/* hero sits in the column like the other cards and runs straight into card 01 */
body.foldout > main > .sheet.hero {
  width: auto; max-width: 1190px; margin: 0 auto 0; padding: 0;
  border: 2px solid var(--rule); border-bottom: 0; border-radius: 14px 14px 0 0; overflow: hidden;
}
body.foldout > main > .sheet.hero + .sheet { border-top-left-radius: 0; border-top-right-radius: 0; }
@media (width <= 650px) { body.foldout > main > .sheet.hero { margin: 0 auto 0; } }

/* ---- timeline ported from previews/safety-card-conf-cm ---- */
.timeline-key{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:22px 0 12px;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}
.timeline-key>span{display:flex;align-items:center;gap:6px}
.timeline-key small{margin-left:auto;font-size:10px;font-weight:400}
.timeline-key i{width:9px;height:9px;display:inline-block;border-radius:50%;background:var(--navy)}
.timeline-key .incident-dot{background:var(--accent)}
@media(max-width:650px){.timeline-key small{margin-left:0;width:100%}}
.proportional-timeline{position:relative;height:460px;margin:0 0 8px}
.timeline-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.time-axis{fill:none;stroke:var(--navy);stroke-width:4;vector-effect:non-scaling-stroke}
.event-leader{fill:none;stroke:var(--navy);stroke-width:1.5;stroke-dasharray:2 5;stroke-linecap:round;vector-effect:non-scaling-stroke}
.axis-dot{fill:var(--navy);stroke:var(--paper);stroke-width:1.5}
.axis-dot.incident{fill:var(--accent)}
.bubble-events{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:174px 112px 174px;gap:0 10px;margin:0;padding:0;list-style:none;height:100%}
.event-bubble{grid-column:var(--column);min-width:0;display:flex;border:1.5px solid var(--navy);border-radius:12px;background:var(--paper);overflow:hidden}
.event-bubble.above{grid-row:1;align-self:end}
.event-bubble.below{grid-row:3;align-self:start}
.event-bubble a{display:flex;flex-direction:column;width:100%;padding:12px 10px;color:var(--navy);text-decoration:none;min-height:142px}
.event-bubble time{font-size:11px;font-weight:800;letter-spacing:.5px;line-height:1.2;margin-bottom:9px}
.event-bubble.incident time{color:var(--accent)}
.event-bubble strong{font-size:13px;line-height:1.25;font-weight:700}
.bubble-source{font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-top:auto;padding-top:10px;text-decoration:underline;text-underline-offset:3px}
.event-bubble a:hover{background:#142d4c08}
.event-bubble a:focus-visible{outline-offset:-4px}
.axis-months{position:absolute;top:239px;left:0;right:0;font-size:9px;font-weight:700;letter-spacing:.4px;color:var(--navy)}
.axis-months span{position:absolute;background:var(--paper);padding:2px 3px;white-space:nowrap}
@media(max-width:850px){.bubble-events{gap:0 6px}.event-bubble a{padding:9px 7px;min-height:162px}.event-bubble strong{font-size:11px}.event-bubble time{font-size:10px}}
@media(max-width:600px){.proportional-timeline{height:auto}.timeline-leaders,.axis-months{display:none}.bubble-events{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:10px;border-left:3px solid var(--navy);padding-left:14px}.event-bubble.above,.event-bubble.below{grid-column:auto;grid-row:auto;align-self:stretch;position:relative;overflow:visible}.event-bubble a{min-height:130px}.event-bubble strong{font-size:13px}.event-bubble:nth-child(odd):before{content:"";position:absolute;left:-16px;top:23px;width:14px;border-top:2px dotted var(--navy)}}
.proportional-timeline{height:520px}
.bubble-events{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:204px 112px 204px;gap:0 8px}
.event-bubble a{min-height:186px;padding:11px 9px}
.event-bubble strong{font-size:12px;line-height:1.3}
.axis-months{top:269px}
@media(max-width:850px) and (min-width:601px){.bubble-events{gap:0 5px}.event-bubble a{padding:8px 5px}.event-bubble strong{font-size:11px}}
@media(max-width:600px){.proportional-timeline{height:auto}.bubble-events{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:10px}.event-bubble a{min-height:155px;padding:12px 10px}.event-bubble strong{font-size:13px}}
.you-are-here-dot{fill:var(--accent);stroke:var(--paper);stroke-width:2}
.axis-months .you-are-here{color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;text-align:right;line-height:1.5;border-right:2px solid var(--accent);padding:3px 7px;background:var(--paper)}
.axis-months .you-are-here time{font-size:9px;color:var(--navy)}
@media(max-width:600px){.proportional-timeline .axis-months{display:block;position:relative;top:auto;height:43px;margin-top:12px}.proportional-timeline .axis-months>span:not(.you-are-here){display:none}}
.event-bubble a{min-height:198px}
.event-bubble strong{font-size:12px;line-height:1.28}
@media(max-width:850px) and (min-width:601px){.event-bubble strong{font-size:10px;line-height:1.25}.event-bubble a{padding:8px 5px}}
@media(max-width:600px){.event-bubble strong{font-size:13px}.event-bubble a{min-height:180px}}
.event-bubble a{position:relative}
.event-bubble time{padding-right:34px}
.bubble-logo{position:absolute;top:11px;right:11px;width:22px;height:22px;object-fit:contain}
.bubble-logo.wide{width:52px;height:14px;top:13px}
.bubble-events .event-bubble strong{font-size:15px;line-height:1.35;font-weight:400;letter-spacing:-.1px}
.bubble-events .event-bubble a{padding:16px 13px 15px}
.bubble-events .event-bubble time{margin-bottom:12px}
@media(max-width:650px){.bubble-events .event-bubble strong{font-size:14px}}
.bubble-events .event-bubble a{padding:13px 14px 12px}
.bubble-events .event-bubble time{margin:0;padding:3px 34px 11px 0;border-bottom:1px solid #142d4c26}
.bubble-events .bubble-logo{top:10px;right:13px}
.bubble-events .event-bubble strong{margin-top:14px;padding-bottom:12px}
.bubble-events .bubble-source{align-self:flex-end;padding-top:8px}
@media(min-width:651px){.proportional-timeline{height:540px}.bubble-events{grid-template-rows:214px 112px 214px}}
@media(min-width:651px){.bubble-events .event-bubble{min-height:212px}}
@media(min-width:651px){.axis-months{top:calc(50% + 9px)}}
.bubble-events .event-bubble{overflow:hidden}
.bubble-inner{display:flex;flex-direction:column;width:100%;padding:13px 14px 12px;color:var(--navy)}
.bubble-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 10px;border-bottom:1px solid #142d4c26}
.bubble-head .brand{display:flex;align-items:center;gap:7px;min-width:0}
.bubble-head .brand b{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;line-height:1.2;white-space:nowrap}
.bubble-events .bubble-logo{position:static;top:auto;right:auto;width:18px;height:18px;object-fit:contain;flex-shrink:0}
.bubble-events .bubble-logo.wide{width:48px;height:13px}
.bubble-events .event-bubble time{margin:0;padding:0;border:0;font-size:11px;font-weight:800;letter-spacing:.5px;line-height:1.2;white-space:nowrap}
.bubble-events .bubble-text{margin:12px 0 0;padding-bottom:10px;font-size:14px;line-height:1.35;font-weight:400;letter-spacing:-.1px}
.bubble-events a.bubble-source{display:inline-block;width:auto;min-height:0;padding:8px 0 0;margin-top:auto;align-self:flex-end;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--navy);text-decoration:underline;text-underline-offset:3px;background:none}
.bubble-events a.bubble-source:hover{color:var(--accent);background:none}
@media(max-width:650px){.bubble-events .bubble-text{font-size:14px}}
.here-cell{grid-column:var(--column);grid-row:3;align-self:start;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right;padding:18px 6px 0 0;list-style:none}
.proportional-timeline .axis-months{display:none}
.bubble-events{gap:0 12px}
.bubble-events .event-bubble time{color:var(--accent)}
.timeline-leaders .axis-dot{fill:var(--accent)}
.timeline-key{justify-content:flex-end}
.timeline-leaders .event-leader{stroke-dasharray:none;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.55}
.timeline-leaders .axis-dot{fill:none;stroke:var(--accent);stroke-width:8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.timeline-leaders .here-dot-ring{fill:none;stroke:var(--paper);stroke-width:18;stroke-linecap:round;vector-effect:non-scaling-stroke}
.timeline-leaders .here-dot{fill:none;stroke:var(--accent);stroke-width:14;stroke-linecap:round;vector-effect:non-scaling-stroke}
.timeline-leaders .event-leader{stroke:var(--navy);stroke-width:1;opacity:.55;stroke-dasharray:none;vector-effect:non-scaling-stroke}
.mini-timeline{list-style:none;margin:26px 0 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0 4px}
.mini-timeline:before{content:"";position:absolute;left:5%;right:5%;top:50%;height:3px;margin-top:-1.5px;background:var(--navy)}
.mini-timeline li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;min-width:0}
.mini-timeline b{font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;line-height:1.15;color:var(--navy);min-height:28px;display:flex;align-items:flex-end}
.mini-timeline i{width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--paper);flex-shrink:0}
.mini-timeline time{font-size:10px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--accent)}
.mini-timeline .mini-here b{color:var(--accent)}
.mini-timeline .mini-here i{width:18px;height:18px;margin:-3px 0}
.mini-timeline .mini-here time{color:var(--navy)}
.overwhelm-toggle{margin:26px 0 0;text-align:center}
.overwhelm-toggle .cta{border:0;cursor:pointer;font-family:inherit;font-size:13px;letter-spacing:1px;padding:11px 18px}
.overwhelm-toggle .chev{display:inline-block;margin-right:6px}
.tl-wrap{display:flex;flex-direction:column}
.mini-wrap{order:0;display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .65s cubic-bezier(.4,0,.2,1),opacity .35s}
.mini-wrap>div{overflow:hidden;min-height:0}
.overwhelm-toggle.below{order:1}
.overwhelm-toggle.above{order:0}
.overwhelm{order:2;margin:0;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .65s cubic-bezier(.4,0,.2,1),opacity .45s .2s}
.ov-in{overflow:hidden;min-height:0}
.tl-wrap.open .mini-wrap{grid-template-rows:0fr;opacity:0}
.tl-wrap.open .overwhelm{grid-template-rows:1fr;opacity:1}
.overwhelm-toggle{display:grid;grid-template-rows:0fr;opacity:0;margin:0;transition:grid-template-rows .9s cubic-bezier(.4,0,.2,1),opacity .4s,visibility 0s .9s;visibility:hidden}
.overwhelm-toggle>span{overflow:hidden;min-height:0;display:block;text-align:center;width:100%;justify-self:stretch}
.overwhelm-toggle.below{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .9s cubic-bezier(.4,0,.2,1),opacity .4s .3s,visibility 0s}
.overwhelm-toggle.below .cta{margin:26px 0 6px}
.tl-wrap.open .overwhelm-toggle.below{grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .9s cubic-bezier(.4,0,.2,1),opacity .4s,visibility 0s .9s}
.overwhelm-toggle.above .cta{margin:22px 0 8px}
.tl-wrap.open .overwhelm-toggle.above{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .9s cubic-bezier(.4,0,.2,1),opacity .4s .3s,visibility 0s}
.tl-wrap.no-anim *,.tl-wrap.no-anim{transition:none!important}
.tl-wrap.flying .mini-timeline i,.tl-wrap.flying .timeline-leaders .axis-dot,.tl-wrap.flying .timeline-leaders .here-dot,.tl-wrap.flying .timeline-leaders .here-dot-ring{opacity:0}
.fly-dot{position:fixed;z-index:40;border-radius:50%;background:var(--accent);pointer-events:none;transition:transform .65s cubic-bezier(.4,0,.2,1)}
@media(max-width:650px){.mini-timeline{grid-template-columns:repeat(2,1fr);gap:18px 12px}.mini-timeline:before{display:none}.mini-timeline li{flex-direction:row;text-align:left;gap:10px}.mini-timeline b{min-height:0;align-items:center}.mini-timeline time{margin-left:auto}}
.proportional-timeline .axis-months{display:block}
.bubble-events{gap:0 8px}
.here-cell{display:none}
.mini-timeline{grid-template-columns:repeat(10,minmax(0,1fr))}
.mini-timeline b{min-height:30px;line-height:1.15;align-items:flex-end}
.mini-timeline:before{top:44px;margin-top:-1.5px}
.mini-timeline .mini-here i{margin:-3px 0}
.fly-dot{z-index:1000;transition:transform .9s cubic-bezier(.4,0,.2,1);will-change:transform}
.mini-wrap,.overwhelm{transition-duration:.9s}
.bubble-head{flex-wrap:wrap;row-gap:4px}
.bubble-events .event-bubble time{margin-left:auto}
.bubble-head .brand b{white-space:normal;line-height:1.15}
.bubble-inner{padding:12px 14px 12px}
.bubble-events .event-bubble time{display:block;margin:0 0 6px;padding:0;border:0;font-size:11px;font-weight:800;letter-spacing:.5px;line-height:1.2;color:var(--accent)}
.bubble-head{display:flex;align-items:center;justify-content:flex-start;gap:7px;padding:0 0 9px;border-bottom:1px solid #142d4c26;row-gap:4px}
.bubble-head .brand b{white-space:normal}
.bubble-events .bubble-text{margin-top:12px}
@media(max-width:650px){.mini-timeline{display:block;position:relative;margin:22px 0 0 9px;padding:2px 0 2px 24px;border-left:3px solid var(--navy)}.mini-timeline:before{display:none}.mini-timeline li{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:12px;padding:9px 0;min-height:0}.mini-timeline li i{position:absolute;left:-24px;top:50%;width:12px;height:12px;margin:-6px 0 0 -7.5px;box-shadow:0 0 0 3px var(--paper)}.mini-timeline b{min-height:0;display:block;font-size:13px;line-height:1.2;text-align:left}.mini-timeline b br{display:none}.mini-timeline time{margin-left:auto;font-size:10px}.mini-timeline .mini-here{padding-top:14px}.mini-timeline .mini-here i{width:18px;height:18px;margin:-9px 0 0 -10.5px}.mini-timeline .mini-here b{font-size:15px}}
@media(max-width:650px){.proportional-timeline{height:auto}.timeline-leaders{display:none}.timeline-key{margin:18px 0 10px}.bubble-events{display:block;margin:0 0 0 9px;padding:2px 0 0 24px;border-left:3px solid var(--navy);gap:0}.bubble-events .event-bubble{display:block;position:relative;margin:0 0 14px;min-height:0;overflow:visible;border-radius:12px}.bubble-events .event-bubble:before{content:"";position:absolute;left:-24px;top:16px;width:12px;height:12px;margin-left:-7.5px;border:0;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--paper)}.bubble-inner{padding:12px 14px 12px}.bubble-events .bubble-text{font-size:15px;margin-top:12px}.proportional-timeline .axis-months{display:block;position:relative;top:auto;height:auto;margin:0 0 0 9px;padding:10px 0 6px 24px;border-left:3px solid var(--navy)}.proportional-timeline .axis-months:before{content:"";position:absolute;left:-1.5px;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--paper)}.axis-months .you-are-here{position:static;display:inline-block;border:0;padding:0;background:none;font-size:15px;font-weight:900;letter-spacing:.3px;text-transform:uppercase;color:var(--accent)}}
.mini-wrap{position:relative}
.mini-timeline li[data-dot]{cursor:default;border-radius:8px;outline-offset:4px}
.mini-timeline li.hot b{color:var(--accent)}
.mini-timeline li.hot i{transform:scale(1.35)}
.mini-timeline li i{transition:transform .15s}
.peek{position:absolute;z-index:30;width:270px;background:var(--paper);border:1.5px solid var(--navy);border-radius:12px;box-shadow:0 14px 34px #142d4c33;opacity:0;transform:translateY(-6px);transition:opacity .16s,transform .16s;pointer-events:none;--caret:50%}
.peek:before{content:"";position:absolute;top:-7px;left:var(--caret);width:12px;height:12px;margin-left:-6px;background:var(--paper);border-left:1.5px solid var(--navy);border-top:1.5px solid var(--navy);transform:rotate(45deg)}
.peek.show{opacity:1;transform:none;pointer-events:auto}
.peek .bubble-inner{padding:12px 14px}
@media(max-width:650px){.peek{display:none}}
.peek .bubble-events{display:block;height:auto;grid-template-rows:none;gap:0;margin:0;padding:0;border:0}
.peek .event-bubble{display:block;border:0;border-radius:0;min-height:0;margin:0;overflow:visible;background:none}
.peek .event-bubble:before{display:none}
.peek.meme{width:184px;padding:0;overflow:hidden;border-radius:12px}
.peek.meme:before{display:none}
.peek.meme img{display:block;width:100%;height:auto}
.mini-timeline i,.mini-timeline .mini-here i{box-shadow:0 0 0 1px var(--paper)}
.fly-dot{box-shadow:0 0 0 1px var(--paper)}
.timeline-leaders .axis-dot-ring{fill:none;stroke:var(--paper);stroke-width:10;stroke-linecap:round;vector-effect:non-scaling-stroke}
.timeline-leaders .here-dot-ring{stroke-width:16}
.tl-wrap.flying .timeline-leaders .axis-dot-ring{opacity:0}
@media(max-width:650px){.bubble-events .event-bubble:before{box-shadow:0 0 0 1px var(--paper)}.proportional-timeline .axis-months:before{box-shadow:0 0 0 1px var(--paper)}}
@media(min-width:651px){.bubble-events .event-bubble{min-height:228px}.proportional-timeline{height:572px}.bubble-events{grid-template-rows:230px 112px 230px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* simplified line: dots by date, thin leaders */
@media (min-width: 651px) {
  .mini-timeline { grid-template-columns: repeat(11, minmax(0, 1fr)); }
  .mini-timeline li { position: static; }
  .mini-timeline li i { z-index: 2; }
  .mini-timeline b { margin-bottom: 4px; }
  .mini-timeline time { margin-top: 4px; }
  .mini-leaders { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
  .mini-leaders line { stroke: var(--navy); stroke-width: 1; opacity: .35; }
}

@media (min-width: 651px) {
  .mini-timeline { height: 176px; margin-top: 18px; }
  .mini-timeline:before { top: 50%; margin-top: -1.5px; }
  .mini-timeline li { height: 100%; justify-content: space-between; }
  .mini-timeline b { min-height: 0; align-items: flex-start; margin: 0; }
  .mini-timeline time { margin: 0; }
  .mini-leaders line { opacity: .3; }
}
@media (min-width: 651px) { .mini-timeline:before { left: 24px; right: 24px; } }

/* simplified line, calmer: label over date at the top, one faint leader down to each dot, line at the bottom */
@media (min-width: 651px) {
  .mini-timeline { height: 132px; }
  .mini-timeline:before { top: auto; bottom: 8.5px; margin: 0; height: 2px; }
  .mini-timeline li { justify-content: flex-start; gap: 3px; }
  .mini-timeline time { margin: 0; }
  .mini-timeline b, .mini-timeline time { cursor: default; }
  .mini-leaders line { opacity: .22; }
  .mini-timeline .mini-here b { color: var(--accent); }
}

@media (min-width: 651px) {
  .mini-timeline { height: 150px; }
  .mini-leaders path { fill: none; stroke: var(--navy); stroke-width: 1; opacity: .3; stroke-linejoin: round; }
}

/* simplified line, idea 2: unlabeled dots by date, months beneath, events on hover */
@media (min-width: 651px) {
  .mini-timeline { display: block; height: 70px; margin-top: 26px; position: relative; }
  .mini-timeline:before { top: 33px; bottom: auto; left: 14px; right: 14px; height: 2px; margin: 0; }
  .mini-timeline li { position: static; display: block; height: 0; }
  .mini-timeline li b, .mini-timeline li time { display: none; }
  .mini-timeline li i { cursor: default; }
  .mini-timeline .mini-here b { display: block; position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; font-size: 11px; letter-spacing: .5px; min-height: 0; line-height: 1; }
  .mini-timeline .mini-here b br { display: none; }
  .mini-leaders { display: none; }
  .mini-months { position: absolute; left: 0; right: 0; top: 48px; height: 18px; }
  .mini-months span { position: absolute; transform: translateX(-50%); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--navy); opacity: .75; }
  .mini-months span:before { content: ""; position: absolute; left: 50%; top: -12px; width: 1px; height: 8px; background: var(--navy); opacity: .5; }
}

@media (min-width: 651px) {
  .mini-wrap > div { position: relative; }
  .mini-timeline { height: 62px; margin-top: 26px; }
  .mini-months { top: 74px; }
  .mini-timeline .mini-here b { transform: translateX(-100%); }
}
@media (max-width: 650px) { .mini-months { display: none; } }

/* simplified line, final form: event labels on top, dots by date, month markers beneath */
@media (min-width: 651px) {
  .mini-timeline { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); height: 118px; margin-top: 22px; }
  .mini-timeline:before { top: auto; bottom: 8.5px; left: 14px; right: 14px; height: 2px; margin: 0; }
  .mini-timeline li { position: static; display: flex; flex-direction: column; align-items: center; height: auto; }
  .mini-timeline li b { display: flex; min-height: 0; margin: 0; align-items: flex-start; }
  .mini-timeline li time { display: none; }
  .mini-timeline .mini-here b { position: static; transform: none; font-size: 12px; letter-spacing: .4px; white-space: normal; }
  .mini-timeline .mini-here b br { display: inline; }
  .mini-leaders { display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1; }
  .mini-leaders line { stroke: var(--navy); stroke-width: 1; opacity: .25; }
  .mini-months { top: 130px; }
}
@media (min-width: 651px) { .mini-months { top: 146px; } .mini-months span:first-child { transform: none; margin-left: -4px; } .mini-months span:first-child:before { left: 4px; } }
@media (min-width: 651px) { .mini-wrap > div { padding-bottom: 28px; } }
@media (min-width: 651px) { .mini-months span { color: var(--accent); opacity: 1; } .mini-months span:before { width: 2px; margin-left: -1px; height: 12px; top: -16px; background: var(--navy); opacity: 1; } }
@media (min-width: 651px) { .mini-timeline .mini-here b { line-height: 1.15; font-size: 12px; } }

@media (min-width: 651px) {
  .mini-timeline i, .mini-timeline .mini-here i { box-shadow: none; }
  .mini-leaders line { opacity: .16; }
  .mini-timeline b, .mini-timeline .mini-here b { font-size: 13.5px; }
}
/* dot outlines in the same faint gray as the leaders */
:root { --leader: #c3c9cb; }
@media (min-width: 651px) {
  .mini-leaders line { stroke: var(--leader); opacity: 1; }
  .mini-timeline i, .mini-timeline .mini-here i { box-shadow: 0 0 0 1px var(--leader); }
}
.timeline-leaders .axis-dot-ring { stroke: var(--leader); stroke-width: 10; }
.timeline-leaders .here-dot-ring { stroke: var(--leader); stroke-width: 16; }
.fly-dot { box-shadow: 0 0 0 1px var(--leader); }
@media (min-width: 651px) { .mini-wrap > .peek { position: absolute; } }

/* You are here dot matches the others and grows on hover like them */
@media (min-width: 651px) {
  .mini-timeline .mini-here i { width: 12px; height: 12px; margin: 0; }
  .mini-timeline li i { transition: transform .15s; }
  .mini-timeline .mini-here i:hover { transform: scale(1.35); }
}
/* expand/collapse: a touch faster; the simple line fades out well before it finishes folding */
.mini-wrap { transition: grid-template-rows .7s cubic-bezier(.4,0,.2,1), opacity .22s; }
.tl-wrap.open .mini-wrap { transition: grid-template-rows .7s cubic-bezier(.4,0,.2,1), opacity .18s; }
.overwhelm { transition: grid-template-rows .7s cubic-bezier(.4,0,.2,1), opacity .35s .12s; }
.tl-wrap.open .overwhelm { transition: grid-template-rows .7s cubic-bezier(.4,0,.2,1), opacity .35s .12s; }
.overwhelm-toggle, .overwhelm-toggle.below, .tl-wrap.open .overwhelm-toggle.below, .tl-wrap.open .overwhelm-toggle.above { transition-duration: .7s, .3s, 0s; }
.fly-dot { transition: transform .7s cubic-bezier(.4,0,.2,1); }
@media (min-width: 651px) { .mini-wrap > div { transition: padding .7s cubic-bezier(.4,0,.2,1); } .tl-wrap.open .mini-wrap > div { padding-bottom: 0; } }

/* simplified line: back to even spacing (label / dot / date per column), no leaders or month markers */
@media (min-width: 651px) {
  .mini-timeline { display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 0 4px; height: auto; margin: 26px 0 0; padding: 0; position: relative; }
  .mini-timeline:before { content: ""; display: block; position: absolute; left: 5%; right: 5%; top: 45px; bottom: auto; height: 3px; margin-top: -1.5px; background: var(--navy); }
  .mini-timeline li { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 8px; height: auto; min-width: 0; }
  .mini-timeline li b { display: flex; align-items: flex-end; min-height: 30px; margin: 0; font-size: 13.5px; line-height: 1.15; }
  .mini-timeline li time { display: block; margin: 0; }
  .mini-timeline li i, .mini-timeline .mini-here i { position: static; width: 12px; height: 12px; margin: 0; }
  .mini-timeline .mini-here b { position: static; transform: none; }
  .mini-leaders, .mini-months { display: none; }
  .mini-wrap > div { padding-bottom: 0; }
}
/* dot outlines back to the paper color (no gray rings) */
@media (min-width: 651px) { .mini-timeline i, .mini-timeline .mini-here i { box-shadow: 0 0 0 1px var(--paper); } }
.timeline-leaders .axis-dot-ring, .timeline-leaders .here-dot-ring { stroke: var(--paper); }
.fly-dot { box-shadow: 0 0 0 1px var(--paper); }

/* no rule above the card footers */
.airline .bottom { border-top: 0; }
/* countdown under the dates, styled like the city under the venue */
.hero-admission .adm-when { display: block; }
.hero-admission .adm-when b { display: block; font-size: 26px; font-weight: 700; line-height: 1.1; letter-spacing: -.5px; }
.hero-admission .adm-when span { display: block; font-size: 13px; font-weight: 400; margin-top: 4px; }

.hero-admission .adm-when { text-align: center; }
.airline .procedure .panel p { font-size: 16px; line-height: 1.4; }
@media (width <= 650px) { .airline .procedure .panel p { font-size: 16px; } }
.hero-admission .adm-when { justify-self: start; width: max-content; }

/* type: Helvetica Neue everywhere (Arial and Helvetica as fallbacks), current weights kept */
body, body *:not(svg):not(svg *) { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; }
.mast h1 .light { font-weight: 200; }
body.foldout.airline .hero > .mast h1 { letter-spacing: -.015em; }
.mast h1 .light { letter-spacing: .01em; }
/* expanded timeline: You are here as three stacked words at the axis end, no orange bar */
.proportional-timeline .axis-months .you-are-here { border: 0; padding: 4px 0 0; background: none; width: min-content; line-height: 1.15; font-size: 11px; letter-spacing: .5px; text-align: right; }
.proportional-timeline .axis-months .you-are-here { display: block; position: absolute; right: 0; white-space: normal; }
.proportional-timeline .axis-months .you-are-here { right: auto; left: 97.818%; transform: translateX(-50%); text-align: center; }
.mast h1 .brandword { letter-spacing: 2px; }
body.foldout.airline .hero > .mast h1, .mast h1 .brandword, .mast h1 .light { letter-spacing: 2px; }
/* Section labels and footer wordmark use the locally hosted fonts. */
.airline .stripe > span:last-child { font-family: "IBM Plex Mono", monospace !important; }
.bigfoot .bf-in > b { font-family: "Barlow Condensed", "Arial Narrow", sans-serif !important; }
.bigfoot .bf-in > b { font-weight: 700; }

/* closer: tighter wrapped lines, more space between the two sentences */
.hero-admission .adm-when b .yr { display: inline; font: inherit; margin: 0; }
.sheet .timeline-closer p { line-height: 1.3; margin: 0; }
.sheet .timeline-closer p + p { margin-top: 12px; }
/* card footers: left wraps, right never does, 40px between them */
.airline .bottom, body.airline .sheet > .bottom { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-end; justify-content: space-between; gap: 6px 40px; }
.airline .bottom > span:first-child { flex: 1 1 auto; min-width: 0; white-space: normal; }
.airline .bottom > span:last-child { white-space: nowrap; flex-shrink: 0; margin-left: auto; }
@media (max-width: 650px) {
  /* simplified spine runs from the first dot to the last */
  .mini-timeline { border-left: 3px solid transparent; position: relative; }
  .mini-timeline:before { content: ""; display: block; position: absolute; left: -3px; top: 19px; bottom: 23px; width: 3px; margin: 0; height: auto; background: var(--navy); }
  /* no gap in the spine between the last card and the terminator dot */
  .bubble-events { display: flow-root; }
  .proportional-timeline .axis-months { padding: 8px 0 8px 24px; }
  /* odd-width dots: their edges share the 3px spine's sub-pixel offset, so
     both snap the same way and the dot centres on the line */
  .mini-timeline li i { width: 13px; height: 13px; margin: -6.5px 0 0 -8px; }
  .mini-timeline .mini-here i { width: 19px; height: 19px; margin: -9.5px 0 0 -11px; }
  .bubble-events .event-bubble:before { width: 13px; height: 13px; margin-left: -8px; }
  .proportional-timeline .axis-months:before { left: -11px; width: 19px; height: 19px; margin: -9.5px 0 0; }
  /* expanded You are here sits in the terminator row again */
  .proportional-timeline .axis-months .you-are-here { position: static; display: inline-block; left: auto; right: auto; transform: none; width: auto; white-space: nowrap; text-align: left; padding: 0; }
  /* header: two full-width lines */
  .mast h1 .brandword, .mast h1 .light { display: block; line-height: 1.05; }
  /* strip: no year on phones */
  .hero-admission .adm-when b .yr { display: none; }
}
