/* Styles for the contact page only. */
.contact-lead a{color:var(--purple-ink);text-decoration:underline;text-underline-offset:4px}
.contact-page{max-width:760px;padding-bottom:90px}
.contact-lead p{font-size:13px;line-height:2.1}
.contact-lead p+p{margin-top:8px}
.contact-fan-note{margin-top:20px!important;padding:15px 20px;border-radius:12px;background:#f5f0fa}
.form-steps{display:flex;list-style:none;padding:0;margin:36px 0 40px;counter-reset:step;gap:10px}
.form-steps li{counter-increment:step;flex:1;padding:10px 5px;text-align:center;border-bottom:2px solid var(--line);font-size:13px;color:var(--muted)}
.form-steps li::before{content:counter(step);display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;background:#eee8f4;border-radius:50%;font-family:var(--display)}
.form-steps li[aria-current=step]{border-bottom:4px solid var(--purple-ink);font-weight:800;color:var(--ink)}
.form-steps li[aria-current=step]::before{background:var(--purple-ink);color:white}
.form-field{margin-top:25px}
.form-field:first-child{margin-top:0}
.form-field>label{display:block;margin-bottom:8px;font-size:13px;font-weight:800}
.form-field label>span{font-size:10px;font-weight:500;color:var(--muted);margin-left:6px}
.form-field input,.form-field textarea,.form-field select{display:block;width:100%;min-height:50px;padding:11px 14px;border:1px solid #cfc3d8;border-radius:8px;background:white;font-size:16px;line-height:1.7;transition:border-color var(--fast)}
.form-field textarea{resize:vertical;min-height:180px}
.form-field input:hover,.form-field textarea:hover,.form-field select:hover{border-color:#9d82af}
.form-field [aria-invalid=true]{border-color:#b52f4d;background:#fffafb}
.field-hint{font-size:11px;color:var(--muted);margin-top:7px}
.field-error{color:#a82d49;font-size:12px;margin-top:7px}
.field-error:empty{display:none}
.form-consent{margin-top:28px;padding:20px;border-radius:12px;background:#f8f5fb}
.form-consent>p{font-size:12px;line-height:2}
.form-consent label{display:flex;align-items:flex-start;gap:12px;padding-top:14px;min-height:44px;font-size:13px;cursor:pointer}
.form-consent input{width:20px;height:20px;flex-shrink:0;margin:3px 0;accent-color:var(--purple-ink)}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;margin-top:35px}
.form-actions .button{min-width:210px}
#contact-review h2{font-size:24px}
#contact-review h2+p{font-size:13px;margin-top:10px}
.review-details{margin-top:27px}
.review-details>div{display:grid;grid-template-columns:165px minmax(0,1fr);gap:25px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}
.review-details dt{font-size:12px;font-weight:800}
.review-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.form-error{color:#a82d49;font-size:13px;margin-top:20px}
.form-error:empty{display:none}
.contact-success{text-align:center;padding-block:30px}
.contact-success>svg{width:58px;height:58px;color:var(--green-ink)}
.contact-success h2{margin-top:23px;font-size:25px;line-height:1.8}
.contact-success>p{margin-top:19px;font-size:13px}
.receipt strong{display:inline-block;margin-left:8px;font-size:15px;letter-spacing:.04em;overflow-wrap:anywhere}
.contact-success .button{margin-top:30px}
@media(max-width:640px){
.contact-page{padding-bottom:55px}
.contact-lead p{font-size:12px}
.contact-fan-note{padding:13px 15px}
.form-steps{gap:6px;margin-block:28px 32px}
.form-steps li{font-size:12px}
.form-field{margin-top:23px}
.form-field>label{font-size:13px}
.form-field input,.form-field textarea,.form-field select{font-size:16px}
.form-consent{padding:16px}
.form-consent label{font-size:12px}
.form-actions{flex-direction:column;margin-top:28px;gap:12px}
.form-actions .button{width:100%;min-width:0;font-size:13px}
.review-details>div{grid-template-columns:1fr;gap:8px;padding-block:17px}
.review-details dt{font-size:11px;color:var(--muted)}
.review-details dd{font-size:14px}
.contact-success h2{font-size:21px}
.contact-success>p{font-size:12px}
.receipt strong{font-size:13px}
}
