/* Contact page: one focused form with visible service choices. */
.contact-page .page-hero{padding-block:46px 62px}
.contact-page .page-title{max-width:900px}
.contact-page .page-intro{max-width:650px;margin-top:22px}
.contact-section{background:#f6f3fb;color:var(--ink);padding:44px 0 72px}
.contact-shell{max-width:900px}
.contact-card{padding:42px 46px;border:1px solid #e6dff1;border-radius:24px;background:#fff;box-shadow:0 12px 45px #2f175c08}
.contact-card[hidden]{display:none}
.contact-card-heading{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-bottom:30px;border-bottom:1px solid #eee8f4}
.contact-card-heading img{flex:0 0 auto;margin-top:3px}
.contact-card-heading h2{font-size:28px;line-height:1.3;max-width:550px;margin-bottom:9px}
.contact-card-heading .form-intro{margin:0;font-size:13px;line-height:1.6}
.contact-step{padding:0;margin:30px 0 0;border:0;min-width:0}
.contact-step legend{display:flex;align-items:center;gap:11px;width:100%;padding:0;margin-bottom:19px;font-size:19px;font-weight:700;line-height:1.5}
.contact-step-number{display:inline-grid;place-items:center;width:33px;height:33px;flex:0 0 auto;border-radius:50%;background:#f0ebfc;color:var(--purple);font-size:12px;font-weight:700}
.service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.service-option{position:relative;display:flex;align-items:center;gap:12px;min-height:62px;padding:16px 18px;border:1px solid #ded6e8;border-radius:13px;background:#faf9fc;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
.service-option span{font-size:14px;font-weight:600;line-height:1.45}
.service-option input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:var(--purple);cursor:pointer}
.service-option:hover{border-color:#a28ae9;background:#f5f0ff}
.service-option:has(input:checked){border-color:var(--purple);background:#f1ecff;box-shadow:inset 0 0 0 1px var(--purple)}
.service-option:has(input:focus-visible){outline:3px solid #c6b7fa;outline-offset:3px}
.contact-card .form-grid{gap:20px 20px}
.contact-card .form-field{gap:8px}
.contact-card .form-field label{color:#352940;font-size:14px}
.contact-card .form-field input,.contact-card .form-field textarea{border:1px solid #d9d1e3;border-radius:12px;background:#faf9fc;padding:15px 16px;min-height:54px;transition:background .18s,border-color .18s,box-shadow .18s}
.contact-card .form-field textarea{min-height:132px;line-height:1.6}
.contact-card .form-field input::placeholder,.contact-card .form-field textarea::placeholder{color:#847b8e;opacity:1}
.contact-card .form-field input:focus,.contact-card .form-field textarea:focus{background:#fff;border-color:var(--purple);box-shadow:0 0 0 3px #4928cd15;outline:none}
.message-count{align-self:end;color:#84768e;font-size:11px;line-height:1.5}
.contact-card .consent{padding:17px 18px;margin:24px 0;border-radius:12px;background:#f7f4fb;font-size:13px;line-height:1.75}
.contact-card .consent input{width:21px;height:21px;margin-top:2px}
.contact-form-actions{display:flex;flex-direction:column;align-items:center;gap:12px}
.contact-form-actions .button{width:100%;min-height:58px;justify-content:space-between;padding:18px 24px;font-weight:700;border-radius:14px;box-shadow:0 7px 18px #4928cd20}
.contact-form-actions .form-help{margin:0;text-align:center;font-size:12px;line-height:1.6}
.message-preview.contact-card{margin-top:24px;border-color:#c9b8f1}
.preview-heading{display:flex;align-items:start;gap:14px;margin-bottom:24px}
.preview-check{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#f0ebfc;color:var(--purple);font-size:22px}
.preview-heading h2{font-size:25px;line-height:1.35}
.preview-heading .form-help{margin-top:5px}
.message-preview label{font-size:13px;font-weight:600;color:#493856}
.message-preview textarea{min-height:230px;margin:10px 0 20px;border-radius:12px;background:#faf9fc;border-color:#d9d1e3;padding:16px}
.message-preview textarea:focus-visible{outline:3px solid #c6b7fa;outline-offset:3px}
.preview-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.preview-actions .button{border-radius:14px;font-weight:600}
.preview-edit{border:0;border-bottom:1px solid #b8a4e7;background:transparent;color:var(--purple);font-size:14px;padding:12px 0;min-height:44px}
.contact-no-script{padding:30px;background:white;border-radius:20px;line-height:1.7}
.contact-no-script a{color:var(--purple);text-decoration:underline}
@media(max-width:760px){.contact-page .page-hero{padding-block:35px 42px}.contact-section{padding:24px 0 45px}.contact-card{padding:28px 24px;border-radius:20px}.contact-card-heading{gap:14px;padding-bottom:24px}.contact-card-heading h2{font-size:24px}.contact-card-heading img{width:33px;height:33px}.contact-step{margin-top:25px}.contact-step legend{font-size:18px;gap:10px;margin-bottom:16px}.contact-card .form-grid{grid-template-columns:1fr;gap:18px}.service-option{padding:14px 12px;gap:9px;min-height:66px}.service-option span{font-size:13px}.contact-card .consent{padding:15px 13px}.preview-actions{align-items:stretch;flex-direction:column;gap:8px}.preview-actions .button{justify-content:space-between}.preview-edit{align-self:center}.preview-heading h2{font-size:23px}}
@media(max-width:420px){.contact-card{padding:25px 19px}.service-options{grid-template-columns:1fr;gap:8px}.service-option{min-height:52px;padding:13px 15px}.service-option span{font-size:14px}.contact-card-heading h2{font-size:22px}.contact-card-heading img{width:28px;height:28px}.contact-form-actions .button{font-size:14px;padding:17px 18px}}
@media(prefers-reduced-motion:reduce){.service-option,.contact-card .form-field input,.contact-card .form-field textarea{transition:none}}

.contact-email-option{border:1px solid #c9b8ee;color:var(--purple);background:#f7f3ff}
.contact-email-option:hover{background:#eee6ff}
