@media (max-width: 700px) {
  .tickets-page .brand .cursor { transform: scaleX(1.25); transform-origin: left center; }
}
.header-mark { display: block; line-height: 0; transition: transform .2s, opacity .2s; }
.header-mark img { height: 40px; width: auto; }
.header-mark:hover { transform: translateY(-2px); opacity: .85; }
.header-mark:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; border-radius: 4px; }
/* Phones: the story and card sit stacked, so drop the repeated lines. */
@media (max-width: 700px) {
  .tickets-lead, .tickets-card:not(.ticket-pass) > p { display: none; }
  .tickets-card h2 { margin-bottom: .9rem; }
  .tickets-card .signup-status { min-height: 1.4em; }
  .tickets-card label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
.tickets-card input[type=text] { width:100%; min-height: 48px; padding: .7rem .85rem; margin-bottom: .8rem; border: 1px solid #b5c2b6; border-radius: 9px; background: white; color: var(--ink); font: inherit; }
.tickets-card input[type=text]:focus { outline: 2px solid var(--forest); outline-offset: 2px; }
.tickets-card .tickets-places { margin: .5rem 0 1.1rem; color: var(--forest); font-size: .85rem; font-weight: 700; }
.signup-status[data-state=error] { color: #a3392b; }
@media (max-width: 700px) {
  .tickets-card .tickets-places { display: block; margin: .3rem 0 .8rem; }
}
/* Ticket page */
.ticket-pass { width: min(30rem, 100%); margin-inline: auto; box-sizing: border-box; text-align: center; }
.ticket-pass .kicker { color: var(--forest); }
.ticket-pass h1 { margin: .4rem 0 .2rem; font: 400 clamp(2.2rem,6vw,3rem)/1.05 Source, Georgia, serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.ticket-ref { margin: 0; font-weight: 700; letter-spacing: .12em; color: #496d55; }
.ticket-qr { width: min(240px, 70vw); margin: 1.2rem auto; padding: 10px; background: #fff; border-radius: 12px; border: 1px solid var(--rule); }
.ticket-qr img { display: block; width: 100%; height: auto; image-rendering: pixelated; }
.ticket-meta { margin: 0 0 .4rem; font-size: .95rem; }
.ticket-note { margin: 1rem 0 0; color: var(--quiet); font-size: .85rem; }
.ticket-art { display: block; width: calc(100% + 2rem); max-width: none; margin: -1rem -1rem 1rem; height: auto; border-radius: 12px; }
.tickets-main:has(.ticket-pass) .wrap { max-width: 40rem; }
.ticket-pass { width: min(40rem, 100%); }
/* Tickets hero: big real logo, then the facts people need */
.tickets-story .story-logo-wrap { margin: 0; line-height: 0; }
.story-logo { display: block; width: 100%; max-width: 760px; height: auto; margin-inline: auto; filter: brightness(0) saturate(100%) invert(18%) sepia(11%) saturate(1200%) hue-rotate(115deg); }
.story-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 2rem; margin: 1.6rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--rule); }
.story-facts .wide { grid-column: 1 / -1; }
.story-facts dt { font: 700 .72rem/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--quiet); }
.story-facts dd { margin: .45rem 0 0; font: 700 clamp(1.25rem,2.1vw,1.6rem)/1.15 Manrope, sans-serif; color: var(--ink); }
.story-note { margin: 1.1rem 0 0; color: var(--quiet); font-size: .95rem; }
@media (max-width: 700px) { .story-facts { margin-top: 1.2rem; gap: .9rem 1.2rem; } }
/* Desktop: the story fills the height of the ticket box, top to bottom */
@media (min-width: 701px) {
  .tickets-page .tickets-grid { align-items: stretch; gap: clamp(2rem,4vw,4rem); }
  .tickets-page .tickets-story { display: flex; flex-direction: column; justify-content: space-between; }
  .tickets-page .story-logo { max-width: none; }
  .tickets-page .story-facts dt { font-size: .8rem; }
  .tickets-page .story-facts dd { font-size: clamp(1.4rem,2.4vw,2.1rem); }
  .tickets-page .story-note { font-size: 1.05rem; }
}
/* Optional "what would you like to learn?" note */
.tickets-card .note-label { margin-top: .9rem; }
.tickets-card .note-label span { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--quiet); }
.tickets-card textarea { display: block; width: 100%; min-height: 76px; margin-top: 0; padding: .7rem .85rem; border: 1px solid #b5c2b6; border-radius: 9px; background: white; color: var(--ink); font: inherit; resize: vertical; box-sizing: border-box; }
.tickets-card textarea:focus { outline: 2px solid var(--forest); outline-offset: 2px; }
@media (max-width: 700px) { .tickets-card textarea { margin-top: .8rem; } }
/* The night's title, centred under the logo */
.tickets-story .story-about { margin: 1.3rem 0 0; text-align: center; font: 400 clamp(1.6rem,2.6vw,2.3rem)/1.15 Source, Georgia, serif; letter-spacing: -.02em; color: var(--ink); }
.tickets-story .story-about em { color: #496d55; }
@media (min-width: 701px) { .tickets-page .tickets-story .story-about { margin: 1.4rem 0; } }
@media (max-width: 700px) { .tickets-story .story-about em { display: block; } }
