/* RUSDRAM — TICKETS. Clear, practical: how-to cards, prices, times, FAQ. */

.page-hero {
  position: relative; padding: calc(var(--header-h) + 4rem) 0 3rem;
  background: radial-gradient(120% 80% at 50% 0%, #240a10, var(--black)); text-align: center;
}
.page-hero .kicker { justify-content: center; margin-bottom: 1rem; }
.page-hero h1 { font-family: var(--f-display); font-size: clamp(2.4rem,1.6rem+4vw,4.6rem); color: var(--paper); }
.page-hero p { max-width: 56ch; margin: 1.2rem auto 0; color: var(--smoke-dim); font-size: 1.08rem; }

.how { padding: clamp(3.5rem,7vw,6rem) 0 2rem; background: var(--black); }
.how-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; }
@media (max-width: 760px){ .how-grid{ grid-template-columns: 1fr; } }
.how-card { border: 1px solid var(--line); background: var(--black-3); padding: 2.2rem; }
.how-card .ic { width: 48px; height: 48px; color: var(--brass); }
.how-card h2 { font-family: var(--f-display); color: var(--paper); font-size: 1.6rem; margin: 1rem 0 .7rem; }
.how-card p { color: var(--smoke-dim); margin-bottom: 1rem; }
.how-card .phone { color: var(--brass); font-weight: 600; }

/* price + times */
.pt { padding: clamp(2rem,5vw,4rem) 0; background: var(--black); }
.pt-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 1.6rem; }
@media (max-width: 760px){ .pt-grid{ grid-template-columns: 1fr; } }
.prices { border: 1px solid var(--line); background: var(--black-2); padding: 2rem; }
.prices h3, .times h3 { font-family: var(--f-display); color: var(--paper); font-size: 1.4rem; margin-bottom: 1.2rem; }
.price-row { display: flex; justify-content: space-between; align-items: baseline; padding: .9rem 0; border-bottom: 1px dashed var(--line); }
.price-row:last-child { border-bottom: 0; }
.price-row .n { color: var(--smoke); }
.price-row .v { font-family: var(--f-display); color: var(--brass); font-size: 1.5rem; }
.price-note { font-size: .8rem; color: var(--smoke-dim); font-style: italic; margin-top: 1rem; }
.times { border: 1px solid var(--line); background: var(--black-2); padding: 2rem; }
.times .tline { display: flex; align-items: center; gap: .9rem; padding: .9rem 0; color: var(--smoke); border-bottom: 1px dashed var(--line); }
.times .tline:last-child { border-bottom: 0; }
.times .tline b { font-family: var(--f-display); color: var(--brass); font-size: 1.3rem; min-width: 4.5ch; }

/* FAQ */
.faq { padding: clamp(3rem,6vw,5rem) 0 clamp(4rem,8vw,7rem); background: var(--black-2); }
.faq .section-head { text-align: center; margin: 0 auto 2.4rem; }
.faq .section-head .kicker { justify-content: center; }
.acc { max-width: 760px; margin: 0 auto; }
.acc-item { border: 1px solid var(--line); background: var(--black); margin-bottom: .8rem; }
.acc-q {
  width: 100%; text-align: start; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  padding: 1.2rem 1.4rem; font-family: var(--f-body); font-weight: 600; color: var(--paper); font-size: 1.02rem;
}
.acc-q::after { content: "+"; color: var(--brass); font-size: 1.5rem; transition: transform .3s; }
.acc-item.open .acc-q::after { transform: rotate(45deg); }
.acc-a { max-height: 0; overflow: hidden; transition: max-height .4s var(--ease); }
.acc-item.open .acc-a { max-height: 320px; }
.acc-a p { padding: 0 1.4rem 1.3rem; color: var(--smoke-dim); }
