.waiver-content { max-width: 900px; padding-top: 20px; }
.waiver-eyebrow { color: var(--green-dark); font-weight: 700; font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.waiver-intro h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
.waiver-notice { margin: 30px 0; padding: 8px 24px; border-left: 4px solid var(--green); border-radius: 0 8px 8px 0; background: #fff4ed; }
.waiver-terms section { padding: 12px 0 20px; border-bottom: 1px solid var(--line); }
.waiver-terms h2 { font-size: 1.35rem; margin-bottom: 12px; }
.waiver-terms li { margin-bottom: 10px; }
.waiver-sign { margin-top: 36px; padding: clamp(20px, 4vw, 40px); border: 1px solid var(--line); border-radius: 12px; background: #fafbf9; }
.waiver-sign > h2 { margin-top: 0; }
.waiver-form { max-width: none; gap: 24px; }
.waiver-form .waiver-agreement { display: flex; align-items: flex-start; gap: 14px; cursor: pointer; }
.waiver-form input[type="checkbox"] { flex: 0 0 22px; width: 22px; height: 22px; padding: 0; margin-top: 4px; accent-color: var(--green); }
.waiver-form .form-field { min-width: 0; }
.waiver-form input[type="date"] { min-width: 0; }
.waiver-form small, .waiver-help { color: var(--muted); font-weight: 400; }
.waiver-form button:disabled { opacity: .6; cursor: wait; }
.waiver-result { margin-top: 24px; padding: 24px; border: 1px solid #bdd8c5; border-radius: 8px; background: #edf7ef; color: #235c35; }
.waiver-result h3 { margin: 0 0 8px; font-size: 1.35rem; }
.waiver-result p { margin: 0; }
.waiver-form[hidden] { display: none; }
.waiver-result h3:focus { outline: 2px solid var(--green); outline-offset: 4px; }
/* Keep long legal copy and field labels readable on the site's mobile layout. */
.waiver-content, .waiver-content p, .waiver-content h2 { text-align: left; }
.waiver-form .form-field, .waiver-form .form-field label, .waiver-form .form-field > span { text-align: left; }
