:root {
      --ink: #0a0908;
      --ink-2: #14110f;
      --ink-3: #1c1814;
      --cream: #f3ece0;
      --cream-mute: #bdb4a5;
      --cream-faint: #7a7368;
      --line: #2a2520;
      --line-2: #3a342d;
      --chartreuse: #d4f256;
      --lilac: #b8a4ff;
      --coral: #ff7a59;
      --serif: "Instrument Serif", serif;
      --sans: "Geist", -apple-system, sans-serif;
      --mono: "JetBrains Mono", monospace;
    }

    * {
      box-sizing: border-box;
      text-wrap: balance;
    }

    html[dir='rtl'] *{
      text-wrap:auto!important;
    }

    html[dir='rtl'] #regform, html[dir='rtl'] #regform input, html[dir='rtl'] #regform select{
      text-align: right;
    }

    @media (min-width: 861px) {
      html[dir='rtl'] #regform .first{
        grid-column: 2;
        grid-row: 2;
      }

      html[dir='rtl'] #regform .second{
        grid-column: 1;
        grid-row: 2;
      }
    }

    html,
    body {
      margin: 0;
      background: var(--ink);
      color: var(--cream);
      font-family: var(--sans);
      -webkit-font-smoothing: antialiased;
    }

    body {
      position: relative;
      overflow-x: hidden;
      overflow-y: scroll;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background: radial-gradient(120% 70% at 50% 0%, rgba(255, 235, 200, .05) 0%, transparent 55%), radial-gradient(120% 90% at 50% 110%, rgba(0, 0, 0, .6) 0%, transparent 60%);
    }

    body::after {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      opacity: .35;
      mix-blend-mode: screen;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95  0 0 0 0 0.93  0 0 0 0 0.88  0 0 0 0.06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }

    a {
      color: var(--chartreuse);
      text-decoration: none;
    }

    a:hover {
      color: var(--cream);
    }

    .rtl {
      unicode-bidi: isolate; /* stops this span's direction bleeding into surrounding text */
    }

    .wrap {
      position: relative;
      z-index: 1;
      max-width: 1280px;
      margin: 0 auto;
      padding: 0 1.2rem;
    }

    .lang-toggle {
      display: inline-flex;
      direction: ltr;
      align-items:center;
      justify-content: flex-end;
      gap:9px;
      min-width:90px;
      color:var(--cream-faint);
      overflow: hidden; /* clips the child links to the rounded corners */
    }
    .lang-toggle a {
      padding: 6px 0px;
      font-size: 14px;
      text-decoration: none;
      color: var(--cream);
    }
    .lang-toggle a.is-active {
      color: var(--chartreuse);
    }
    .lang-toggle a:not(.is-active):hover {
      color:var(--chartreuse)
    }

    .label {
      font-family: var(--mono);
      font-size: 13px;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: var(--cream-mute);
    }

    .label.lit {
      color: var(--cream);
    }

    .label.accent {
      color: var(--chartreuse);
    }

    .rule {
      height: 1px;
      background: var(--line);
      border: 0;
    }

    .serif {
      font-family: var(--serif);
    }

    .serif em {
      font-style: italic;
    }

    .pill {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border: 1px solid var(--line-2);
      padding: 6px 1rem;
      border-radius: 999px;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--cream-mute);
    }

    .pill .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--chartreuse);
    }

    .btn, div#mysr .bg-primary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-family: var(--mono);
      font-size: 1rem;
      font-weight:500;
      letter-spacing: normal;
      text-transform: uppercase;
      padding: 1rem 1.5rem;
      border: 1px solid var(--chartreuse);
      background: var(--chartreuse)!important;
      color: var(--ink)!important;
      cursor: pointer;
      transition: opacity .15s;
      width: 100%;
    }

    div#mysr legend, div#mysr label{
        color:var(--cream-mute)!important;
    }

    div#mysr .text-neutral-800\/90{
      color:var(--cream-mute)!important;
    }

    div#mysr .shadow-input{
        box-shadow: none!important;
        border:1px solid var(--line)!important;
    }

    div#mysr .currency-icon{
        filter:none!important;
    }

    div#mysr .fixed .currency-icon{
          filter: brightness(0) invert(1)!important;
    }

    #tk-payamount{
      direction: ltr;
    }

    .sum-total .currency-icon, #tk-payamount .currency-icon, .logi-row .currency-icon{
        filter: brightness(0) invert(1)!important;
        height:14px!important;
    }

    div#mysr .text-black{
        color: var(--cream)!important;
    }

     div#mysr .text-black:focus{
        border:1px solid var(--chartreuse)!important;
        box-shadow: none!important;
     }

    .btn:hover, div#mysr .bg-primary:hover {
      opacity: .88;
      color: var(--ink)!important;
    }

    .btn.ghost {
      background: transparent;
      color: var(--cream);
      border-color: var(--line-2);
    }

    .btn.ghost:hover {
      border-color: var(--cream-mute);
      opacity: 1;
    }

    .btn:disabled {
      background: var(--ink-3);
      border-color: var(--line);
      color: var(--cream-faint);
      cursor: not-allowed;
    }

    .btn:disabled:hover {
      opacity: 1;
    }

    .soldout-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--coral);
      border: 1px solid rgba(255, 122, 89, .4);
      padding: 5px 12px;
      border-radius: 999px;
    }

    .soldout-badge .dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--coral);
    }

    .host-card.soldout,
    .city-card.soldout {
      opacity: .55;
      filter: grayscale(.4);
    }

    .btn.soldout {
      background: var(--coral) !important;
      border-color: var(--coral);
      color: #fff !important;
    }

    .btn.soldout:hover {
      color: #fff !important;
      opacity: .88;
    }

    .error-wrap {
      padding: 100px 0 120px;
      max-width: 600px;
      margin: 0 auto;
      text-align: center;
    }

    .error-mark {
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: var(--ink-2);
      border: 1px solid rgba(255, 122, 89, .4);
      color: var(--coral);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;
      font-family: var(--serif);
      margin: 0 auto 32px;
    }

    .error-wrap h1 {
      font-size: 42px;
      line-height: 1.05;
      margin: 0 0 16px;
    }

    .error-wrap p.msg {
      font-family: var(--serif);
      font-style: italic;
      font-size: 18px;
      color: var(--cream-mute);
      line-height: 1.4;
      margin: 0 0 40px;
    }

    .error-status {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 28px;
      text-align: left;
      margin-bottom: 36px;
    }

    .error-status .row {
      display: flex;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px solid var(--line);
      font-size: 1rem;
    }

    .error-status .row:last-child {
      border-bottom: none;
    }

    .error-status .k {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .12em;
      color: var(--cream-faint);
      text-transform: uppercase;
      align-self: center;
    }

    #screen-checkout{
      direction: ltr;
    }

    .error-status .v {
      color: var(--cream);
      text-align: right;
    }

    .error-status .v.full {
      color: var(--coral);
    }

    .waitlist-box {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 28px;
      text-align: left;
      margin-bottom: 28px;
    }

    .waitlist-box .label {
      display: block;
      margin-bottom: 1rem;
    }

    .waitlist-row {
      display: flex;
      gap: 10px;
    }

    .waitlist-row input {
      flex: 1;
    }

    /* Honeypot — off-screen, never shown to a real user. */
    .wl-hp {
      position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;
    }

    .wl-msg {
      display: none;
      font-size: 13px;
      line-height: 1.5;
      margin: 12px 0 0;
      color: var(--cream-mute);
    }

    .wl-msg.show {
      display: block;
    }

    .wl-msg.ok {
      color: var(--chartreuse);
    }

    .wl-msg.err {
      color: var(--coral);
    }

    input,
    select {
      width: 100%;
      background: var(--ink-2);
      border: 1px solid var(--line);
      color: var(--cream);
      font-family: var(--sans);
      font-size: 15px;
      padding: 1rem 16px;
      outline: none;
      transition: border-color .15s;
    }

    input:focus,
    select:focus {
      border-color: var(--chartreuse);
    }

    label.field {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    ::placeholder {
      color: var(--cream-faint);
    }

    /* ===== NAV / PROGRESS ===== */
    .topnav {
      position: sticky;
      top: 0;
      z-index: 20;
      background: rgba(10, 9, 8, .88);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--ink-3);
    }

    /* Landing screen only: nav overlays the video hero instead of sitting
       in a solid bar above it. `body` is position:relative, so this pins
       to the very top of the page — exactly where the hero starts. */
    .topnav.on-hero {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      background: transparent;
      backdrop-filter: none;
      border-bottom: none;
      z-index: 6;
    }

    .topnav-in {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      padding: 28px 48px;
      gap:1rem;
      direction:ltr;
    }

    .wordmark {
      font-family: var(--serif);
      font-size: 19px;
      letter-spacing: -.01em;
      margin-right:auto;
    }

    .steps {
      display: flex;
      gap: 20px;
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--cream-faint);
    }

    .steps .on {
      color: var(--chartreuse);
    }

    .steps .done {
      color: var(--cream-mute);
    }

    /* ===== SCREENS ===== */
    .screen {
      display: none;
    }

    .screen.active {
      display: block;
    }

    /* ===== HERO ===== */
    .hero {
      padding: 48px 0 56px;
      display: grid;
      grid-template-columns: 1.25fr 1fr;
      gap: 48px;
      align-items: center;
    }

    /* Full-width video-background variant — video/vignette/grain layered
       behind the headline content. Nav (.topnav.on-hero) overlays the top
       of this. Sizing mirrors index.php's .hero recipe: min-height is a
       floor, never a cap, so the box always grows to fit content — no
       aspect-ratio fighting it (aspect-ratio + non-visible overflow locks
       the box to that ratio's height and clips anything taller, which is
       exactly what broke this before). overflow:hidden only ever clips
       the absolutely-positioned video/vignette/grain to match. */
    .hero--video {
      position: relative;
      overflow: hidden;
      isolation: isolate;
      display: flex;
      flex-direction: column;
      width: 100vw;
      min-height: clamp(460px, 46vw, 900px);
      height:100svh;
      padding: 160px 48px 64px;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
      margin-bottom: 56px;
      align-items: flex-start;
      justify-content: flex-end;
    }

    .hero--video .bg-video {
      position: absolute;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      width: 100%;
      height: 100%;
      overflow: hidden;
      background-size: cover;
      background-position: center 30%;
    }

    .hero--video .bg-video video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 30%;
      opacity: .85;
    }

    /* Power-saving modes (iOS/macOS Low Power Mode, Chrome/Android battery
       saver) can block <video> autoplay, and the browser then draws its
       own big center "tap to play" button over the paused frame — modern
       Safari ignores the ::-webkit-media-controls-* hooks below for this
       case, so the inline script also detects a rejected play() and adds
       .autoplay-blocked to hide the <video> outright, revealing the
       wrapper's own background-image as a static fallback frame instead.
       Kept for older/other engines where it still works. */
    video::-webkit-media-controls-start-playback-button {
      display: none !important;
      -webkit-appearance: none;
    }

    video::-webkit-media-controls-overlay-play-button {
      display: none !important;
      -webkit-appearance: none;
    }

    video.autoplay-blocked {
      opacity: 0 !important;
    }

    .hero--video .grain {
      position: absolute;
      inset: 0;
      z-index: 4;
      pointer-events: none;
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
      opacity: 0;
      mix-blend-mode: overlay;
    }

    .hero--video .vignette {
      position: absolute;
      inset: 0;
      z-index: 3;
      pointer-events: none;
      background:
        linear-gradient(to bottom, rgba(10, 9, 8, .7) 0%, transparent 22%),
        radial-gradient(120% 100% at 50% 45%, transparent 45%, rgba(0, 0, 0, .55) 100%),
        linear-gradient(to top, rgba(10, 9, 8, .85) 0%, transparent 30%);
    }

    .hero--video .hero-content {
      position: relative;
      z-index: 5;
      max-width: 980px;
    }

    @media (max-width:860px) {
      .hero--video {
        min-height: 480px;
        padding: 130px 24px 48px;
        margin-bottom: 40px;
        height: auto;
      }
    }

    .hero-eb {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 28px;
      flex-wrap: wrap;
    }

    .hero h1 {
      font-size: 60px;
      line-height: .98;
      letter-spacing: -.015em;
      font-weight: 400;
      margin: 0 0 22px;
    }

    .hero--video h1 {
      font-size: clamp(48px, 6vw, 110px);
      line-height: 1;
      text-shadow: 0 2px 50px rgba(0, 0, 0, .45);
    }

    .hero p.lead {
      font-family: var(--serif);
      font-style: italic;
      font-size: 20px;
      line-height: 1.4;
      color: var(--cream-mute);
      max-width: 560px;
      margin: 0 0 36px;
    }

    /* Legibility over the video — brighter cream + the same text-shadow
       treatment index.php uses on its hero eyebrow/headline, plus a
       translucent black fill on the pills (like index.php's .showreel chip)
       since they have no solid backing of their own. */
    .hero--video .pill {
      color: var(--cream);
      background: rgba(10, 9, 8, .45);
      backdrop-filter: blur(6px);
      border-color: rgba(255, 255, 255, .16);
      text-shadow: 2px 2px 4px #000000;
    }

    .hero--video .hero-eb .label,
    .hero--video .hero-meta .label,
    .hero--video .hm .v,
    .hero--video p.lead {
      color: var(--cream);
      text-shadow: 2px 2px 4px #000000;
    }

    @media (max-width:860px) {
      .hero {
        grid-template-columns: 1fr;
      }
    }

    .hero-meta {
      display: flex;
      gap: 32px;
      flex-wrap: wrap;
      padding: 28px 0;
      border-top: 1px solid var(--cream);
    }

    .hm {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .hm .v {
      font-family: var(--serif);
      font-size: 20px;
      color: var(--cream);
    }

    /* ===== SECTION ===== */
    .section {
      padding: 56px 0;
      border-top: 1px solid var(--line);
    }

    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 24px;
      margin-bottom: 36px;
    }

    .section h2 {
      font-size: 38px;
      line-height: 1.12;
      font-weight: 400;
      margin: 0;
    }

    .section .desc {
      font-family: var(--sans);
      font-size: 1rem;
      color: var(--cream-mute);
      line-height: 1.6;
      max-width: 480px;
      margin: 0;
    }

    /* ===== HOSTS ===== */
    .hosts {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem;
    }

    .host {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 1.5rem;
      display: flex;
      flex-direction: column;
      gap: .875rem;
    }

    .host-top {
      display: flex;
      gap: 1rem;
      align-items: flex-start;
    }

    .avatar {
      width: 64px;
      height: 64px;
      flex-shrink: 0;
      border-radius: 50%;
      background:
        repeating-linear-gradient(45deg, rgba(243, 236, 224, .06) 0 1px, transparent 1px 7px), linear-gradient(160deg, #1a1612, #100d0a);
      border: 1px solid var(--line);
    }

    .host h3 {
      font-family: var(--serif);
      font-size: 24px;
      margin: 0;
      line-height: 1.05;
    }

    .host .role {
      font-family: var(--mono);
      font-size: 9.5px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--cream-faint);
      margin-top: 4px;
    }

    .host blockquote {
      font-family: var(--serif);
      font-style: italic;
      font-size: 1.2rem;
      line-height: 1.35;
      color: var(--cream-mute);
      margin: 0;
      border-left: 2px solid var(--chartreuse);
      padding-left: 1rem;
    }

    .host.alt blockquote {
      border-left-color: var(--lilac);
    }

    .host p.bio {
      font-size: 1rem;
      line-height: 1.6;
      color: var(--cream-mute);
      margin: 0;
    }

    .host .social {
      display: flex;
      gap: 1rem;
      margin-top: auto;
      padding-top: 8px;
      border-top: 1px solid var(--line);
    }

    .host .social a {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .14em;
      color: var(--cream-mute);
    }

    .host .social a:hover {
      color: var(--chartreuse);
    }

    /* ===== AGENDA ===== */
    .agenda {
      display: flex;
      flex-direction: column;
    }

    .agrow {
      display: grid;
      grid-template-columns: 90px 1fr 140px;
      gap: 24px;
      align-items: flex-start;
      padding: 26px 0;
      border-top: 1px solid var(--line);
    }

    .agrow:last-child {
      border-bottom: 1px solid var(--line);
    }

    .agrow .time {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .1em;
      color: var(--cream-faint);
      padding-top: 4px;
    }

    .agrow h4 {
      font-family: var(--serif);
      font-size: 22px;
      margin: 0 0 8px;
    }

    .agrow p {
      font-size: 1rem;
      color: var(--cream-mute);
      line-height: 1.55;
      margin: 0;
      max-width: 520px;
    }

    .agrow .who {
      font-family: var(--mono);
      font-size: .8rem;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--chartreuse);
      text-align: right;
      padding-top: 6px;
    }

    /* ===== LEAVE WITH ===== */
    .leave {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 4px;
    }

    .lv {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 26px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .lv .n {
      font-family: var(--serif);
      font-size: 30px;
      color: var(--chartreuse);
      line-height: 1;
    }

    .lv p {
      font-size: 1rem;
      color: var(--cream-mute);
      line-height: 1.5;
      margin: 0;
    }

    /* ===== LOGISTICS / CTA ===== */
    .ctaband {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 44px;
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 40px;
      align-items: center;
    }

    .ctaband h3 {
      font-family: var(--serif);
      font-size: 30px;
      line-height: 1.05;
      margin: 0 0 1rem;
    }

    .logi {
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .logi-row {
      display: flex;
      justify-content: space-between;
      font-size: 1rem;
      padding-bottom: 12px;
      border-bottom: 1px solid var(--line);
      align-items: flex-start;
    }

    .logi-row:last-child {
      border-bottom: none;
      padding-bottom: 0;
    }

    .logi-row .k {
      color: var(--cream-faint);
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      align-self: center;
    }

    .logi-row .v {
      color: var(--cream);
      text-align: right;
    }

    .price {
      font-family: var(--serif);
      font-size: 34px;
      color: var(--chartreuse);
    }

    footer.foot {
      padding: 44px 0 60px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid var(--line);
    }

    /* ===== CHECKOUT ===== */
    .checkout-grid {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 48px;
      padding: 48px 0 80px;
      align-items: flex-start;
    }

    .checkout-grid h2 {
      font-size: 34px;
      font-weight: 400;
      margin: 0 0 8px;
    }

    .checkout-grid .sub {
      color: var(--cream-mute);
      font-size: 13.5px;
      margin: 0 0 32px;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }

    .form-grid label.field.full {
      grid-column: 1/-1;
    }

    .summary {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 28px;
      position: sticky;
      top: 96px;
    }

    .summary h4 {
      font-family: var(--serif);
      font-size: 22px;
      margin: 0 0 20px;
    }

    .sum-row {
      display: flex;
      justify-content: space-between;
      font-size: 1rem;
      padding: 10px 0;
      border-bottom: 1px solid var(--line);
      color: var(--cream-mute);
    }

    .sum-row .v {
      color: var(--cream);
    }

    .sum-total {
      display: flex;
      justify-content: space-between;
      padding: 16px 0;
      font-family: var(--serif);
      font-size: 22px;
      color: var(--chartreuse);
    }

    .card-fields {
      margin-top: 20px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .card-fields .row2 {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
    }

    .mock-note {
      font-family: var(--mono);
      font-size: 9.5px;
      letter-spacing: .1em;
      color: var(--cream-faint);
      text-align: center;
      margin-top: 1rem;
      text-transform: uppercase;
    }

    /* ===== CONFIRMATION ===== */
    .confirm-wrap {
      padding: 80px 0 100px;
      max-width: 640px;
      margin: 0 auto;
      text-align: center;
    }

    .check-mark {
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: var(--chartreuse);
      color: var(--ink);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 26px;
      margin: 0 auto 32px;
    }

    .confirm-wrap h1 {
      font-size: 44px;
      line-height: 1.05;
      margin: 0 0 18px;
    }

    .confirm-wrap p.msg {
      font-family: var(--serif);
      font-style: italic;
      font-size: 19px;
      color: var(--cream-mute);
      line-height: 1.4;
      margin: 0 0 44px;
    }

    .ticket {
      background: var(--ink-2);
      border: 1px solid var(--line);
      padding: 32px;
      text-align: left;
      margin-bottom: 32px;
    }

    .ticket-row {
      display: flex;
      justify-content: space-between;
      padding: 12px 0;
      border-bottom: 1px solid var(--line);
      font-size: 1rem;
    }

    .ticket-row:last-child {
      border-bottom: none;
    }

    .ticket-row .k {
      font-family: var(--mono);
      font-size: 10px;
      letter-spacing: .12em;
      color: var(--cream-faint);
      text-transform: uppercase;
      align-self: center;
    }

    .ticket-row .v {
      color: var(--cream);
      text-align: right;
    }

    .confirm-actions {
      display: flex;
      gap: 12px;
    }

    .emailtoggle {
      margin-top: 40px;
    }

    .email-preview {
      display: none;
      margin-top: 28px;
      text-align: left;
    }

    .email-preview.show {
      display: block;
    }

    .email-chrome {
      background: var(--ink-3);
      border: 1px solid var(--line);
      border-radius: 6px 6px 0 0;
      padding: 10px 16px;
      display: flex;
      gap: 8px;
    }

    .email-chrome span {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--line-2);
    }

    .email-body {
      background: #0d0b09;
      border: 1px solid var(--line);
      border-top: none;
      padding: 40px 36px;
    }

    .email-body .eyb {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: .18em;
      color: var(--chartreuse);
      text-transform: uppercase;
    }

    .email-body h3 {
      font-family: var(--serif);
      font-size: 26px;
      margin: 18px 0 20px;
      line-height: 1.1;
    }

    .email-body p {
      font-size: 1rem;
      color: var(--cream-mute);
      line-height: 1.6;
      margin: 0 0 1rem;
    }

    .email-body .em-rule {
      height: 1px;
      background: var(--line);
      margin: 22px 0;
    }

    .email-body .em-foot {
      font-family: var(--mono);
      font-size: 9px;
      letter-spacing: .12em;
      color: var(--cream-faint);
      text-transform: uppercase;
    }

    @media (max-width: 860px) {
      .hero h1 {
        font-size: 42px;
      }

      .wordmark img{
        height:24px;
        width:auto;
        vertical-align: middle;
      }

      .steps span:not(.on){
        display:none;
      }

      .confirm-actions{
        flex-direction: column;
      }

      .section-head{
        flex-direction: column;
        align-items: flex-start;
      }

      .hosts,
      .checkout-grid,
      .form-grid {
        grid-template-columns: 1fr;
      }

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

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

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

      .agrow .who {
        text-align: left;
      }

      .btn, div#mysr .bg-primary{
        padding:1rem;
      }
    }