
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/big-shoulders-display-normal-82c0b9.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/big-shoulders-display-normal-82c0b9.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Big Shoulders Display';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/big-shoulders-display-normal-82c0b9.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/courier-prime-normal-b927e4.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Courier Prime';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/courier-prime-normal-763f6b.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Karla';font-style:italic;font-weight:400;font-display:swap;src:url('/fonts/karla-italic-0da207.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Karla';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/karla-normal-a42c2c.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Karla';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/karla-normal-a42c2c.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
  :root{
    --field:#12245e;--field-deep:#0c1738;--paper:#f6efe1;--ink:#17233b;
    --ink-soft:#5b6478;--vermilion:#d8402a;
    --display:"Big Shoulders Display","Haettenschweiler","Arial Narrow",sans-serif;
    --body:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
    --mono:"Courier Prime",ui-monospace,"SFMono-Regular",Menlo,monospace;
  }
  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  body{
    font-family:var(--body);color:var(--paper);background:var(--field);
    -webkit-font-smoothing:antialiased;line-height:1.6;
  }
  body::before{
    content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
    background:
      repeating-radial-gradient(circle at 50% 20%, transparent 0 13px, rgba(255,255,255,.055) 13px 14px),
      repeating-radial-gradient(circle at 12% 82%, transparent 0 17px, rgba(255,255,255,.045) 17px 18px),
      repeating-linear-gradient(58deg, transparent 0 9px, rgba(255,255,255,.03) 9px 10px),
      radial-gradient(120% 90% at 50% 0%, #1b3277 0%, var(--field) 45%, var(--field-deep) 100%);
  }
  .wrap{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:0 20px 64px}
  header.top{display:flex;justify-content:space-between;align-items:center;padding:20px 0 8px;gap:12px}
  .logo{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:22px;letter-spacing:.02em;color:var(--paper);text-decoration:none}
  .logo span{color:var(--vermilion)}
  .langsw{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
  .langsw a{color:#b9c4e8;text-decoration:none;border:1px solid rgba(255,255,255,.3);padding:6px 11px;border-radius:2px}

  h1{font-family:var(--display);font-weight:800;text-transform:uppercase;
     font-size:clamp(40px,10vw,72px);line-height:.88;margin:26px 0 0;position:relative}
  h1::before{content:attr(data-text);position:absolute;left:-3px;top:3px;color:var(--vermilion);opacity:.85;z-index:-1}
  .kicker{font-family:var(--mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
          color:var(--vermilion);margin:26px 0 -4px}
  .lede{font-size:19px;line-height:1.5;color:#d9e0f5;margin:18px 0 26px;max-width:56ch}
  h2{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(26px,5vw,36px);
     line-height:1;margin:52px 0 14px}
  h3{font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:21px;margin:26px 0 6px;line-height:1.1}
  p{margin:0 0 14px;color:#dce2f6}
  a{color:#fff}
  strong{color:#fff}

  .cta{
    display:inline-block;font-family:var(--display);font-weight:700;text-transform:uppercase;
    letter-spacing:.05em;font-size:23px;line-height:1;padding:17px 30px;border:2px solid var(--paper);
    background:var(--paper);color:var(--field);border-radius:2px;text-decoration:none;
  }
  .cta.alt{background:transparent;color:var(--paper)}
  .cta:focus-visible{outline:3px solid var(--vermilion);outline-offset:3px}
  .ctarow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
  .microcopy{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#8e9dcb;margin-top:14px}

  .steps{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:18px 0 0;padding:0;list-style:none}
  .steps li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:18px;border-radius:3px}
  .steps b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--vermilion);margin-bottom:8px}
  .steps h3{margin:0 0 6px;font-size:19px}
  .steps p{margin:0;font-size:14.5px;color:#c7d0ec}

  .ticketdemo{
    background:var(--paper);color:var(--ink);border-radius:3px;padding:22px;margin:30px 0 0;
    box-shadow:0 18px 40px rgba(6,12,35,.45);
  }
  .ticketdemo .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;justify-content:space-between}
  .ticketdemo .rule{height:2px;background:var(--ink);margin:10px 0 14px}
  .ticketdemo h2{color:var(--ink);margin:0;font-size:34px}
  .ticketdemo p{color:var(--ink);margin:8px 0 0;font-size:15px}
  /* aspect-ratio, not the image's own height: the panel must hold its size
     before the jpeg arrives or the whole page below it jumps on load. */
  .demopanel{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;background:#d3d9e1}
  .demopanel img{display:block;width:100%;height:100%;object-fit:cover}
  .demopanel canvas{position:absolute;inset:0;width:100%;height:100%;
    touch-action:none;cursor:grab;display:block}
  .demopanel.done canvas{cursor:default}
  .demomsg{color:var(--ink);margin:14px 0 0;font-size:16px;line-height:1.45}
  .demoacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
  .demoacts button{
    font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    padding:9px 14px;border:1px solid rgba(23,35,59,.35);background:transparent;
    color:var(--ink);border-radius:2px;cursor:pointer;
  }
  .demoacts button:hover{background:rgba(23,35,59,.07)}
  .demoacts button:focus-visible{outline:3px solid var(--vermilion);outline-offset:2px}

  dl.faq{margin:10px 0 0}
  dl.faq dt{font-weight:600;color:#fff;margin:22px 0 6px;font-size:17px}
  dl.faq dd{margin:0;color:#dce2f6}

  ul.plain{padding-left:20px}
  ul.plain li{margin-bottom:8px;color:#dce2f6}

  .note{border-left:3px solid var(--vermilion);padding:2px 0 2px 14px;margin:20px 0;color:#dce2f6}

  footer{margin-top:56px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);
         font-size:13.5px;color:#8e9dcb}
  footer a{color:#b9c4e8}

.top{gap:20px;flex-wrap:wrap}.langsw{display:flex;gap:8px;flex-wrap:wrap}.langsw a{letter-spacing:0}.occasionlinks{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.occasionlinks a{color:var(--paper);padding:10px 14px;border:1px solid #7180a7;border-radius:4px}.copy{max-width:760px;line-height:1.7}.copy li{margin:12px 0}.copy a{color:inherit}.ticketdemo{max-width:640px}h1{overflow-wrap:anywhere}.ticketdemo .eyebrow{gap:12px}.ticketdemo .eyebrow span:last-child{text-align:right}footer a{margin-right:18px}

.featured-occasions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.featured-occasions a{display:block;border:1px solid #8c9bc5;padding:16px;color:inherit;text-decoration:none;line-height:1.5;min-height:44px}.featured-occasions strong{display:block;font-size:18px}.featured-occasions span{display:block;font-size:14px;margin-top:6px}.featured-occasions a:focus-visible{outline:3px solid #ffab8a;outline-offset:3px}@media(max-width:360px){.featured-occasions{grid-template-columns:1fr}}
