.ticket-demo { background: #f4f7fb; }
.ticket-demo-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.ticket-demo-controls[hidden], .ticket-demo-panel[hidden] { display: none; }
.ticket-demo-controls button { font: inherit; font-weight: 700; color: #16314b; background: white; border: 1px solid #a7b7c7; border-radius: 8px; padding: 12px 18px; cursor: pointer; }
.ticket-demo-controls button[aria-pressed="true"] { color: white; background: #175cd3; border-color: #175cd3; }
.ticket-demo-controls button:focus-visible { outline: 3px solid #16314b; outline-offset: 3px; }
.ticket-demo-panel { background: white; border: 1px solid #d6e0ea; border-radius: 16px; padding: clamp(22px, 4vw, 42px); margin-bottom: 24px; max-width: 900px; }
.ticket-demo-panel h3 { font-size: clamp(1.3rem, 3vw, 1.8rem); }
.ticket-demo-panel p { color: #40566b; max-width: 70ch; }
.ticket-demo-panel dl { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-block: 18px; border-block: 1px solid #d6e0ea; }
.ticket-demo-panel dt { font-size: .85rem; color: #40566b; margin-bottom: 8px; }
.ticket-demo-panel dd { margin: 0; font-weight: 700; }
.service-contact { scroll-margin-top: 100px; }
.service-contact .contact-copy p { color: #dbe5ef; }
.service-contact .contact-grid > * { min-width: 0; }
.service-contact .contact-form input, .service-contact .contact-form textarea { min-width: 0; }
.service-contact .form-status:focus { outline: 2px solid white; outline-offset: 4px; }
.service-contact button:disabled { opacity: .65; cursor: wait; }
@media (max-width: 600px) {
  .ticket-demo-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .ticket-demo-controls button { padding: 12px 8px; font-size: .9rem; }
  .ticket-demo-panel dl { grid-template-columns: 1fr; }
  .service-contact .field-row { grid-template-columns: 1fr; }
}
