/* Contact page extends the shared brand styles without loading the ticket shop. */
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(48px,7vw,112px);padding:76px 0 86px;align-items:start}
.contact-intro h1{font-size:clamp(76px,8.8vw,132px);line-height:.91;margin:25px 0 32px;letter-spacing:-.06em}
.contact-intro h1 span{color:#8a569b}
.contact-lead{font-size:21px;line-height:1.5;max-width:390px;margin:0}
.contact-direct{border-top:1px solid var(--line);margin-top:42px;padding-top:25px;max-width:390px}
.contact-direct h2{font:900 17px/1.3 Spartan,Arial,sans-serif;margin:0 0 9px}
.contact-direct>a{display:inline-block;padding:5px 0;font-size:20px;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-tip{font-size:14px;line-height:1.6;max-width:340px;color:#715268;margin:22px 0 0}
.contact-form-section{padding:34px;background:var(--lilac);border:1px solid var(--ink);border-radius:16px;box-shadow:5px 6px 0 #30032213;min-width:0}
.contact-form-section h2{font:900 30px/1.12 Spartan,Arial,sans-serif;letter-spacing:-.025em;margin:0 0 8px}
.contact-required{font-size:12px;margin:0 0 28px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-field{margin-bottom:22px;min-width:0}
.contact-field label{display:block;font-size:14px;font-weight:700;line-height:1.5;margin:0 0 9px}
.contact-field label span{font-weight:400}
.contact-field input,.contact-field select,.contact-field textarea{display:block;width:100%;max-width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--ink);border-radius:8px;background:var(--paper);color:var(--ink);font:16px/1.5 SpartanText,Arial,sans-serif}
.contact-field select{padding-right:28px}
.contact-field textarea{resize:vertical;min-height:180px}
.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.contact-privacy{font-size:13px;line-height:1.65;margin:0 0 24px}
.contact-privacy a{text-underline-offset:3px}
.contact-submit{width:100%;justify-content:space-between;background:var(--lime);color:var(--ink);font-size:16px;cursor:pointer}
.contact-submit:hover{background:#e8ffad}
.contact-submit:disabled{opacity:.65;cursor:wait}
.contact-submit svg{flex-shrink:0}
.contact-form-section .form-status{font-size:15px;line-height:1.6;border:1px solid var(--ink);background:var(--paper);padding:14px;margin:20px 0 0}
@media(max-width:1050px){.contact-fields{grid-template-columns:1fr;gap:0}.contact-layout{gap:42px}.contact-form-section{padding:28px}}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;padding:42px 0 55px;gap:32px}.contact-intro h1{font-size:78px;margin:18px 0 22px}.contact-intro h1 br{display:none}.contact-intro h1 span::before{content:' '}.contact-lead{font-size:18px;max-width:520px}.contact-direct{margin-top:27px;padding-top:20px;max-width:none}.contact-tip{max-width:500px;margin-top:12px}.contact-form-section{padding:26px}.contact-form-section h2{font-size:28px}.contact-shell .nav-links>a:first-child{display:none}}
@media(max-width:400px){.contact-intro h1{font-size:clamp(48px,15vw,64px)}.contact-form-section{padding:20px}.contact-form-section h2{font-size:25px}.contact-shell .nav{gap:10px}.contact-shell .brand{width:105px}.contact-shell .nav-links .nav-link{font-size:10.5px;padding:12px 10px;gap:8px}.contact-shell .nav-links{gap:0}.contact-shell .nav-links .ui-icon{width:22px}}
