*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;background:#0a1b34;color:#f5e9d6;font-family:Georgia,'Times New Roman',serif;min-height:100vh}
body:before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse at 50% 20%,#173050 0%,#0a1b34 75%);z-index:-1}
.top{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,52px);border-bottom:1px solid #b58b4a66;background:#0a1b34e8}
.brand{font-size:clamp(14px,2vw,19px);color:#e4b56f;text-decoration:none;letter-spacing:.07em}
.nav{position:relative}
.nav summary{cursor:pointer;list-style:none;border:1px solid #b99159;border-radius:4px;padding:9px 15px;color:#edc486;font:600 14px Arial,sans-serif}
.nav summary::-webkit-details-marker{display:none}
.nav summary:after{content:' ▾'}
.nav[open] summary{background:#193352}
.menu{position:absolute;right:0;top:44px;min-width:225px;background:#102542;border:1px solid #b99159;border-radius:6px;padding:6px;z-index:10;box-shadow:0 15px 40px #0008}
.menu a{display:block;padding:12px 14px;color:#f7e8d0;text-decoration:none;font:15px Arial,sans-serif;border-radius:4px}
.menu a:hover,.menu a:focus{background:#29405c}
.home{display:flex;flex-direction:column;align-items:center;padding:12px 14px 28px}
.flyer{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 110px);object-fit:contain}
.content{max-width:790px;margin:0 auto;padding:clamp(30px,6vw,70px) 22px 65px;text-align:center}
.eyebrow{color:#d8a55c;font:12px Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
h1{font-size:clamp(32px,5vw,56px);font-weight:400;color:#e7b76d;margin:16px 0 22px}
h2{font-weight:400;color:#e9c58c}
p{line-height:1.7;font-size:18px}
.rule{height:1px;background:linear-gradient(90deg,transparent,#c69a5b,transparent);margin:28px 0}
.button{display:inline-block;border:0;background:#d6a35d;color:#091b34;padding:15px 24px;text-decoration:none;font:700 15px Arial,sans-serif;border-radius:5px;cursor:pointer}
.button:hover{background:#efc184}
.muted{color:#c4b59f}
.panel{border:1px solid #ae8753aa;background:#102541b8;border-radius:10px;padding:26px;text-align:left}
.form{display:grid;gap:15px}
.form label{font:14px Arial,sans-serif;color:#e7c591;display:grid;gap:8px}
.form input,.form textarea{font:16px Arial,sans-serif;width:100%;background:#081b33;border:1px solid #99784d;border-radius:5px;color:white;padding:13px}
.form textarea{min-height:145px;resize:vertical}
.note{font:13px Arial,sans-serif;color:#bdb1a1;line-height:1.6}
.links{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.placeholder{color:#e9d6b5;font-style:italic}
footer{text-align:center;color:#b7a68f;font:12px Arial,sans-serif;padding:18px}
@media(max-width:520px){.top{height:54px;padding:0 12px}.brand{font-size:12px}.nav summary{padding:8px 10px}.home{padding:8px}.panel{padding:18px}}
.ticket-panel{text-align:center;margin:30px auto 42px;max-width:500px}
.qr-placeholder{width:min(260px,80%);aspect-ratio:1;margin:24px auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px dashed #c69a5b;background:#0a1b34;color:#e7b76d;font:700 22px Arial,sans-serif;letter-spacing:.12em}
.qr-placeholder small{font-size:14px;font-weight:400;letter-spacing:normal;color:#d4c2a7}
.inactive{opacity:.55;cursor:not-allowed}
.gold-link{color:#e7b76d}
.flyer{max-height:calc((100dvh - 80px)*1.15);width:auto;max-width:100%;height:auto}

/* Homepage layout */
.home {
  padding: 0 14px 28px;
}

.home .flyer {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc((100dvh - 80px) * 1.15);
  object-fit: contain;
  margin: 0 auto;
}

/* Floating menu on homepage */
.home-nav {
  position: fixed;
  top: 16px;
  right: 24px;
  z-index: 1000;
}

.home-nav summary {
  background: #0a1b34;
  border: 1px solid #b99159;
  border-radius: 5px;
  padding: 12px 20px;
  color: #edc486;
  font: 600 15px Arial, sans-serif;
  box-shadow: 0 3px 12px #0005;
}

.home-nav .menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 230px;
  background: #102542;
  border: 1px solid #b99159;
  border-radius: 7px;
  padding: 8px;
  box-shadow: 0 12px 30px #0008;
}

@media (max-width: 520px) {
  .home-nav {
    top: 10px;
    right: 10px;
  }

/* HOMEPAGE FIX - menu and large flyer */

body:has(.home-nav) {
  margin: 0;
}

body:has(.home-nav) .home {
  padding: 0 12px 20px;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

body:has(.home-nav) .flyer {
  display: block;
  width: min(100%, 900px);
  max-width: 900px;
  max-height: none;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

/* Small floating menu in upper-right */
body:has(.home-nav) .home-nav {
  position: fixed;
  top: 12px;
  right: 20px;
  left: auto;
  width: auto;
  height: auto;
  display: block;
  z-index: 9999;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

body:has(.home-nav) .home-nav summary {
  display: block;
  width: auto;
  padding: 12px 20px;
  background: #0a1b34;
  border: 1px solid #b99159;
  border-radius: 5px;
  color: #edc486;
  font: bold 15px Arial, sans-serif;
  cursor: pointer;
}

/* Dropdown directly below MENU */
body:has(.home-nav) .home-nav .menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  left: auto;
  width: 235px;
  min-width: 235px;
  padding: 8px;
  background: #102542;
  border: 1px solid #b99159;
  border-radius: 6px;
  box-shadow: 0 12px 30px #0008;
}

body:has(.home-nav) .home-nav:not([open]) .menu {
  display: none;
}

body:has(.home-nav) .home-nav .menu a {
  display: block;
  padding: 12px;
  color: #f7e8d0;
  text-decoration: none;
  font: 15px Arial, sans-serif;
}

@media (max-width: 520px) {
  body:has(.home-nav) .home-nav {
    top: 8px;
    right: 8px;
  }

  body:has(.home-nav) .flyer {
    width: 100%;
  }
}

  .home-nav .menu {
    min-width: 210px;
  }
}
