.newyear-page {
  --ny-night: #07141c;
  --ny-navy: #102b37;
  --ny-ink: #14232a;
  --ny-gold: #d7ad55;
  --ny-gold-soft: #f2d899;
  --ny-paper: #f3eee2;
  --ny-red: #9f2f35;
  --ny-mint: #b8d5cc;
  --ny-line: rgba(215, 173, 85, 0.34);
  background: var(--ny-night);
}

.newyear-page .newyear-shell { min-height: 100vh; background: var(--ny-paper); color: var(--ny-ink); }
.newyear-page .newyear-hero { position: relative; min-height: 720px; overflow: hidden; padding: clamp(130px, 16vw, 190px) 0 130px; color: #fffdf8; background-color: #07141c; background-image: linear-gradient(90deg, rgba(5,18,27,.97) 0%, rgba(5,18,27,.91) 38%, rgba(7,20,28,.68) 58%, rgba(7,20,28,.46) 82%, rgba(7,20,28,.28) 100%), linear-gradient(180deg, rgba(7,20,28,.18) 0%, rgba(7,20,28,.04) 58%, rgba(7,20,28,.58) 100%), url('../img/newyear-concert-hero-v2.webp'); background-position: center, center, center; background-size: cover; }
.newyear-page .newyear-hero::before { position: absolute; inset: 0; pointer-events: none; content: ""; opacity: .09; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent 82%); }
.newyear-page .newyear-hero::after { position: absolute; top: 110px; right: max(5vw, 40px); width: min(43vw, 620px); aspect-ratio: 1; border: 1px solid rgba(215,173,85,.14); border-radius: 50%; box-shadow: 0 0 0 70px rgba(215,173,85,.015), 0 0 0 140px rgba(215,173,85,.01); content: ""; opacity: .55; }
.newyear-page .newyear-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(340px, .72fr); gap: clamp(54px, 8vw, 120px); align-items: center; padding-inline: clamp(20px, 5vw, 72px); }
.newyear-page .newyear-eyebrow, .newyear-page .newyear-section-heading > p, .newyear-page .newyear-rules > div > div > p { margin: 0 0 20px; color: var(--ny-gold-soft); font-size: .75rem; font-weight: 800; letter-spacing: .28em; }
.newyear-page .newyear-hero h1 { max-width: 780px; margin: 0; font-family: var(--display-font); font-size: clamp(3.2rem, 7vw, 7.4rem); font-weight: 900; letter-spacing: -.06em; line-height: .95; }
.newyear-page .newyear-hero h1 span { display: block; margin-bottom: 18px; color: var(--ny-gold-soft); font-family: var(--body-font); font-size: clamp(.86rem, 1.2vw, 1.15rem); font-weight: 700; letter-spacing: .42em; line-height: 1.2; }
.newyear-page .newyear-lead { max-width: 670px; margin: 32px 0 0; color: rgba(255,255,255,.78); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.95; }
.newyear-page .newyear-hero-actions, .newyear-page .newyear-utility-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 38px; }
.newyear-page .newyear-btn { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 18px; padding: 13px 24px; border: 1px solid transparent; border-radius: 2px; font: inherit; font-weight: 750; letter-spacing: .06em; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease; }
.newyear-page .newyear-btn:hover { transform: translateY(-2px); }
.newyear-page .newyear-btn-primary { color: #132229; background: var(--ny-gold-soft); box-shadow: 0 14px 34px rgba(0,0,0,.2); }
.newyear-page .newyear-btn-primary:hover { color: #07141c; background: #ffe5a8; box-shadow: 0 18px 42px rgba(0,0,0,.28); }
.newyear-page .newyear-btn-quiet { color: inherit; background: transparent; border-color: currentColor; }
.newyear-page .newyear-ticket { position: relative; z-index: 2; overflow: hidden; color: #172a31; background: var(--ny-paper); border: 1px solid rgba(255,255,255,.28); box-shadow: 0 42px 80px rgba(0,0,0,.38); transform: rotate(1.2deg); }
.newyear-page .newyear-ticket::before, .newyear-page .newyear-ticket::after { position: absolute; right: -17px; width: 34px; height: 34px; border-radius: 50%; background: #0d2530; content: ""; }
.newyear-page .newyear-ticket::before { top: 56%; }.newyear-page .newyear-ticket::after { left: -17px; top: 56%; }
.newyear-page .newyear-ticket-top { display: flex; justify-content: space-between; gap: 20px; padding: 18px 22px; color: #fff; background: var(--ny-red); font-size: .66rem; letter-spacing: .16em; }
.newyear-page .newyear-ticket-date { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: center; padding: 28px 28px 20px; border-bottom: 1px dashed #a99f8d; }
.newyear-page .newyear-ticket-date strong { grid-row: 1 / 3; font-family: var(--display-font); font-size: 5.8rem; line-height: .85; }.newyear-page .newyear-ticket-date span { font-weight: 850; letter-spacing: .18em; line-height: 1.15; }.newyear-page .newyear-ticket-date em { color: #6d6457; font-style: normal; font-size: .76rem; letter-spacing: .13em; }
.newyear-page .newyear-ticket dl { display: grid; gap: 12px; margin: 0; padding: 24px 28px 32px; }.newyear-page .newyear-ticket dl div { display: grid; grid-template-columns: 64px 1fr; gap: 16px; }.newyear-page .newyear-ticket dt { color: #756b5d; font-size: .74rem; letter-spacing: .13em; }.newyear-page .newyear-ticket dd { margin: 0; font-weight: 700; }
.newyear-page .newyear-ticket-stub { display: flex; align-items: baseline; justify-content: center; gap: 12px; padding: 22px; color: #fff; background: #132c36; border-top: 1px dashed rgba(255,255,255,.3); }.newyear-page .newyear-ticket-stub strong { color: var(--ny-gold-soft); font-family: var(--display-font); font-size: 3rem; }.newyear-page .newyear-ticket-stub span { font-size: .78rem; letter-spacing: .16em; }
.newyear-page .newyear-skyline { display: none; }

.newyear-page .newyear-brief { position: relative; z-index: 3; background: #eadfc9; border-bottom: 1px solid #d0c2aa; }.newyear-page .newyear-brief-grid { display: grid; grid-template-columns: repeat(3,1fr); padding-inline: clamp(20px,5vw,72px); }.newyear-page .newyear-brief article { position: relative; min-height: 210px; padding: 38px clamp(24px,3vw,48px); border-right: 1px solid #cbbda4; }.newyear-page .newyear-brief article:first-child{border-left:1px solid #cbbda4}.newyear-page .newyear-brief article > span { position:absolute; top:26px; right:28px; color:rgba(20,35,42,.2); font-family:var(--display-font); font-size:3rem; font-weight:900 }.newyear-page .newyear-brief h2 { margin:0 0 14px; font-family:var(--display-font); font-size:1.55rem }.newyear-page .newyear-brief p { margin:0; color:#5e625f; line-height:1.8 }
.newyear-page .newyear-registration { padding: clamp(80px,10vw,150px) 0; background: var(--ny-paper); }.newyear-page .newyear-registration > .container-xxl, .newyear-page .newyear-dashboard > .container-xxl, .newyear-page .newyear-admin > .container-xxl { padding-inline:clamp(20px,5vw,72px) }.newyear-page .newyear-section-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:8px 30px; margin-bottom:42px; }.newyear-page .newyear-section-heading > p { grid-column:1/-1; margin-bottom:5px; color:#8a6522 }.newyear-page .newyear-section-heading h1,.newyear-page .newyear-section-heading h2 { margin:0; font-family:var(--display-font); font-size:clamp(2.1rem,4vw,4.2rem); font-weight:900; letter-spacing:-.04em }.newyear-page .newyear-section-heading > span { max-width:380px; color:#6a6e6b; line-height:1.7 }
.newyear-page .newyear-alert { margin:0 0 26px; padding:18px 22px; color:#6f191e; background:#f5ded9; border-left:5px solid var(--ny-red); line-height:1.7 }.newyear-page .newyear-alert.is-success { color:#164d3c; background:#deeee5; border-color:#2d7c60 }.newyear-page .newyear-alert strong,.newyear-page .newyear-alert p{display:block;margin:0}
.newyear-page .newyear-state-card { padding:clamp(34px,6vw,72px); text-align:center; background:#fffaf0; border:1px solid #d6c9b3 }.newyear-page .newyear-state-card b { display:block; font-family:var(--display-font); font-size:clamp(2rem,4vw,3.5rem) }.newyear-page .newyear-state-card p { margin:15px auto; color:#676863 }.newyear-page .newyear-state-card a{color:#7d5510;font-weight:800}
.newyear-page .newyear-gate { display:grid; grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr); overflow:hidden; color:#fff; background:var(--ny-night); box-shadow:0 30px 80px rgba(12,28,35,.18) }.newyear-page .newyear-gate-copy { padding:clamp(34px,5vw,72px); background:linear-gradient(155deg,#0d2731,#102f3a) }.newyear-page .newyear-gate-copy > span,.newyear-page .newyear-form-step legend span,.newyear-page .newyear-utility-card>p,.newyear-page .newyear-pass-summary>div>p { display:block; margin-bottom:14px; color:var(--ny-gold-soft); font-size:.72rem; font-weight:800; letter-spacing:.24em }.newyear-page .newyear-gate-copy h3 { margin:0; font-family:var(--display-font); font-size:clamp(2rem,4vw,4rem); line-height:1.15 }.newyear-page .newyear-gate-copy p { margin:24px 0; color:rgba(255,255,255,.7); line-height:1.9 }.newyear-page .newyear-gate-copy ul{display:grid;gap:12px;margin:0;padding:0;list-style:none}.newyear-page .newyear-gate-copy li::before{margin-right:12px;color:var(--ny-gold-soft);content:"◆";font-size:.6rem}
.newyear-page .newyear-gate-form { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,5vw,72px); background:#fffaf0 }.newyear-page .newyear-gate-form>label,.newyear-page .newyear-utility-card form>label,.newyear-page .newyear-field label,.newyear-page .newyear-export label,.newyear-page .newyear-admin-filter label { margin-bottom:9px; color:#3b474b; font-weight:800 }.newyear-page input,.newyear-page select { width:100%; min-height:48px; padding:11px 13px; color:#17262c; background:#fff; border:1px solid #b8b2a7; border-radius:2px; font:inherit }.newyear-page input:focus,.newyear-page select:focus { border-color:#9a6c16; box-shadow:0 0 0 3px rgba(215,173,85,.2); outline:0 }.newyear-page input[readonly]{color:#606560;background:#ece8dd}.newyear-page .newyear-field-help,.newyear-page .newyear-field small,.newyear-page .newyear-utility-card>small { display:block; margin:8px 0 20px; color:#70726d; line-height:1.65 }.newyear-page .newyear-field-error { margin:7px 0 14px; color:#a2262e; font-size:.86rem; font-weight:700 }.newyear-page .newyear-privacy-line{margin:18px 0 0;color:#797a73;font-size:.78rem;text-align:center}.newyear-page .newyear-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

.newyear-page .newyear-form { overflow:hidden; background:#fffaf0; border:1px solid #d4c8b3; box-shadow:0 26px 70px rgba(14,37,46,.13) }.newyear-page .newyear-stepper { display:grid; grid-template-columns:repeat(3,1fr); background:#112b35 }.newyear-page .newyear-stepper button { display:flex; min-height:82px; align-items:center; gap:14px; padding:16px clamp(14px,3vw,32px); color:rgba(255,255,255,.48); background:transparent; border:0; border-right:1px solid rgba(255,255,255,.12); text-align:left }.newyear-page .newyear-stepper button.is-active{color:#fff;background:rgba(215,173,85,.13)}.newyear-page .newyear-stepper b{color:var(--ny-gold-soft);font-family:var(--display-font);font-size:1.5rem}.newyear-page .newyear-stepper span{font-weight:750}.newyear-page .newyear-form-step { min-width:0; padding:clamp(28px,5vw,70px); border:0 }.newyear-page .newyear-form-step legend { float:none; width:auto; margin:0; font-family:var(--display-font); font-size:clamp(1.8rem,3vw,3rem); font-weight:900 }.newyear-page .newyear-step-intro{max-width:700px;margin:12px 0 36px;color:#6b6e69;line-height:1.75}.newyear-page .newyear-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 28px}.newyear-page .newyear-field{min-width:0}.newyear-page .newyear-field.is-wide{grid-column:1/-1}.newyear-page .newyear-step-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:38px}.newyear-page .newyear-form .newyear-btn-quiet{color:#31434a}.newyear-page .newyear-choice,.newyear-page .newyear-consent{display:flex;gap:14px;align-items:flex-start;padding:20px;background:#eee6d6;border:1px solid #d5c7ad;cursor:pointer}.newyear-page .newyear-choice input,.newyear-page .newyear-consent input{width:20px;min-height:20px;margin-top:3px;accent-color:#9c7429}.newyear-page .newyear-choice b,.newyear-page .newyear-choice small{display:block}.newyear-page .newyear-choice small{margin-top:4px;color:#6a6b67}.newyear-page .newyear-companion-fields{margin-top:28px}.newyear-page .newyear-companion-fields[hidden],.newyear-page .newyear-form-step[hidden]{display:none!important}.newyear-page .newyear-preview{margin-bottom:26px;padding:24px;background:#132d37;color:#fff}.newyear-page .newyear-preview>p{color:var(--ny-gold-soft);font-size:.7rem;letter-spacing:.22em}.newyear-page .newyear-preview dl{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0}.newyear-page .newyear-preview dl div{padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}.newyear-page .newyear-preview dt{color:rgba(255,255,255,.56);font-size:.75rem}.newyear-page .newyear-preview dd{margin:5px 0 0;font-weight:700}.newyear-page .newyear-consent{margin-top:12px;background:#fff;border-color:#d7cbb7}.newyear-page .newyear-privacy{margin-top:18px;padding:16px 18px;background:#f0eadf;border-left:3px solid #9c7429}.newyear-page .newyear-privacy summary{cursor:pointer;font-weight:800}.newyear-page .newyear-privacy p{margin:14px 0 0;color:#626661;line-height:1.8}.newyear-page .newyear-submit-note{display:flex;flex-direction:column;gap:4px;margin-top:26px;padding:18px 20px;color:#fff;background:var(--ny-red)}.newyear-page .newyear-submit-note span{color:rgba(255,255,255,.75);font-size:.86rem}
.newyear-page .newyear-rules{padding:80px 0;color:#fff;background:#112a34}.newyear-page .newyear-rules>.container-xxl{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;padding-inline:clamp(20px,5vw,72px)}.newyear-page .newyear-rules h2{margin:0;font-family:var(--display-font);font-size:clamp(2rem,4vw,4rem)}.newyear-page .newyear-rules ol{display:grid;gap:0;margin:0;padding:0;counter-reset:rules;list-style:none}.newyear-page .newyear-rules li{position:relative;padding:18px 20px 18px 58px;color:rgba(255,255,255,.72);border-top:1px solid rgba(255,255,255,.13);line-height:1.8;counter-increment:rules}.newyear-page .newyear-rules li::before{position:absolute;left:8px;color:var(--ny-gold-soft);content:"0" counter(rules);font-family:var(--display-font);font-size:1.4rem}

.newyear-page .newyear-utility,.newyear-page .newyear-dashboard,.newyear-page .newyear-admin{min-height:100vh;padding:130px 0 80px;color:var(--ny-ink);background:radial-gradient(circle at 80% 10%,rgba(215,173,85,.2),transparent 26%),var(--ny-paper)}.newyear-page .newyear-utility>.container-xxl{max-width:820px;padding-inline:20px}.newyear-page .newyear-back{display:inline-block;margin-bottom:22px;color:#3b535d;font-weight:800;text-decoration:none}.newyear-page .newyear-utility-card{padding:clamp(30px,7vw,72px);background:#fffaf0;border:1px solid #d2c4ab;box-shadow:0 30px 80px rgba(8,26,34,.15)}.newyear-page .newyear-utility-card h1{margin:0;font-family:var(--display-font);font-size:clamp(2.3rem,5vw,4.6rem)}.newyear-page .newyear-utility-card>span{display:block;margin:18px 0 30px;color:#666c68;line-height:1.8}.newyear-page .newyear-utility-card form{display:grid;gap:10px}.newyear-page .newyear-pass-summary{display:grid;grid-template-columns:1fr auto;gap:26px;padding:clamp(28px,5vw,60px);color:#fff;background:linear-gradient(145deg,#0b202a,#163744);box-shadow:0 28px 70px rgba(7,23,30,.2)}.newyear-page .newyear-pass-summary h1{margin:0;color:var(--ny-gold-soft);font-family:var(--display-font);font-size:clamp(2rem,5vw,4.6rem);letter-spacing:.05em}.newyear-page .newyear-pass-summary>div>span{display:block;margin-top:8px;color:rgba(255,255,255,.64)}.newyear-page .newyear-status{align-self:start;padding:8px 12px;color:#10272f;background:var(--ny-gold-soft);font-size:.78rem;letter-spacing:.08em}.newyear-page .newyear-pass-summary dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:12px 0 0}.newyear-page .newyear-pass-summary dl div{padding-top:15px;border-top:1px solid rgba(255,255,255,.18)}.newyear-page .newyear-pass-summary dt{color:rgba(255,255,255,.52);font-size:.74rem}.newyear-page .newyear-pass-summary dd{margin:5px 0 0;font-weight:700}.newyear-page .newyear-edit-panel{margin-top:54px}.newyear-page .newyear-cancel-form{margin-top:24px;text-align:right}.newyear-page .newyear-cancel-form button{padding:10px 0;color:#982c32;background:transparent;border:0;border-bottom:1px solid currentColor;font-weight:800}.newyear-page .newyear-admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.newyear-page .newyear-admin-stats div{padding:24px;background:#102c36;color:#fff}.newyear-page .newyear-admin-stats span,.newyear-page .newyear-admin-stats strong{display:block}.newyear-page .newyear-admin-stats strong{margin-top:8px;color:var(--ny-gold-soft);font-family:var(--display-font);font-size:2.5rem}.newyear-page .newyear-admin-filter{display:flex;align-items:end;gap:12px;margin-bottom:20px}.newyear-page .newyear-admin-filter label{margin:0}.newyear-page .newyear-admin-filter select{max-width:220px}.newyear-page .newyear-admin-filter button,.newyear-page .newyear-export button,.newyear-page .newyear-admin-table-wrap button{min-height:46px;padding:10px 16px;color:#fff;background:#15333e;border:0;font-weight:750}.newyear-page .newyear-admin-table-wrap{overflow-x:auto;background:#fff}.newyear-page .newyear-admin-table-wrap table{width:100%;min-width:980px;border-collapse:collapse}.newyear-page .newyear-admin-table-wrap th,.newyear-page .newyear-admin-table-wrap td{padding:14px;border-bottom:1px solid #ded8cd;text-align:left;vertical-align:top}.newyear-page .newyear-admin-table-wrap th{color:#fff;background:#142f39;font-size:.78rem;letter-spacing:.07em}.newyear-page .newyear-admin-table-wrap form{display:flex;gap:6px}.newyear-page .newyear-admin-table-wrap input,.newyear-page .newyear-admin-table-wrap select{min-width:120px;min-height:40px;padding:7px}.newyear-page .newyear-export{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:26px;padding:24px;background:#e8deca}.newyear-page .newyear-export label{grid-column:1/-1}

@media (max-width: 991px){.newyear-page .newyear-hero{min-height:auto;background-image:linear-gradient(90deg,rgba(5,18,27,.96) 0%,rgba(7,20,28,.86) 42%,rgba(7,20,28,.46) 75%,rgba(7,20,28,.28) 100%),linear-gradient(180deg,rgba(7,20,28,.12) 0%,rgba(7,20,28,.58) 100%),url('../img/newyear-concert-hero-v2.webp');background-position:center,center,82% center}.newyear-page .newyear-hero-grid{grid-template-columns:1fr}.newyear-page .newyear-ticket{max-width:560px;transform:none}.newyear-page .newyear-brief-grid{grid-template-columns:1fr}.newyear-page .newyear-brief article,.newyear-page .newyear-brief article:first-child{min-height:auto;border:0;border-bottom:1px solid #cbbda4}.newyear-page .newyear-gate{grid-template-columns:1fr}.newyear-page .newyear-rules>.container-xxl{grid-template-columns:1fr;gap:32px}.newyear-page .newyear-pass-summary dl{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 680px){.newyear-page .newyear-hero{padding-top:120px;background-image:linear-gradient(180deg,rgba(5,18,27,.88) 0%,rgba(7,20,28,.7) 62%,rgba(7,20,28,.78) 100%),url('../img/newyear-concert-hero-v2.webp');background-position:center,88% center}.newyear-page .newyear-hero::after{display:none}.newyear-page .newyear-hero h1{font-size:3.25rem}.newyear-page .newyear-ticket-date strong{font-size:4.5rem}.newyear-page .newyear-section-heading{grid-template-columns:1fr}.newyear-page .newyear-field-grid,.newyear-page .newyear-preview dl{grid-template-columns:1fr}.newyear-page .newyear-stepper button{justify-content:center;min-height:68px;padding:12px 8px}.newyear-page .newyear-stepper button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.newyear-page .newyear-step-actions{flex-direction:column-reverse}.newyear-page .newyear-step-actions .newyear-btn{width:100%}.newyear-page .newyear-pass-summary{grid-template-columns:1fr}.newyear-page .newyear-status{justify-self:start}.newyear-page .newyear-pass-summary dl{grid-template-columns:1fr}.newyear-page .newyear-admin-stats{grid-template-columns:1fr}.newyear-page .newyear-admin-filter{align-items:stretch;flex-direction:column}.newyear-page .newyear-admin-filter select{max-width:none}.newyear-page .newyear-export{grid-template-columns:1fr}.newyear-page .newyear-hero-actions,.newyear-page .newyear-utility-actions{flex-direction:column}.newyear-page .newyear-btn{width:100%}}
@media (prefers-reduced-motion: reduce){.newyear-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.newyear-page .newyear-field-label{display:block;margin-bottom:9px;color:#3b474b;font-weight:800}.newyear-page .newyear-service-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.newyear-page .newyear-service-status .newyear-choice{height:100%;margin:0;background:#f5efe3}.newyear-page .newyear-service-status .newyear-choice:has(input:checked){border-color:#9c7429;background:#ead9b9;box-shadow:0 0 0 2px rgba(156,116,41,.12)}.newyear-page [data-newyear-discharge-field][hidden]{display:none!important}
@media (max-width: 680px){.newyear-page .newyear-service-status{grid-template-columns:1fr}}
