.contact-form-wrap{background:white;border:1px solid var(--line);padding:36px;border-radius:6px;box-shadow:0 18px 55px #100e3e09}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{min-width:0}.form-field label{display:block;font-weight:700;font-size:.92rem;color:var(--ink);margin-bottom:8px}.form-field input,.form-field textarea{width:100%;max-width:100%;padding:13px 14px;border:1px solid #bcbaca;background:#fff;border-radius:4px;color:var(--text);font-size:16px;min-height:50px}.form-field textarea{resize:vertical;min-height:150px}.form-wide{grid-column:1/-1}.field-error{display:block;color:#a12525;font-size:.83rem;margin-top:5px}.field-error:empty{display:none}.form-field [aria-invalid=true]{border-color:#a12525}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-notice{padding:18px;margin-bottom:24px;background:#fff0ee;color:#8b2424;border-left:3px solid currentColor;font-size:.95rem}.form-notice.notice-success{background:#edf6f1;color:#1d6541}.contact-form .button{min-width:160px}
@media(max-width:767px){.contact-form-wrap{padding:24px}.contact-form{grid-template-columns:1fr;gap:18px}.contact-form .button{width:100%}}

/* Contact page form treatment; shared form behaviour stays unchanged. */
[data-page-id="473"] .contact-form-wrap{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
[data-page-id="473"] .contact-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 16px}
[data-page-id="473"] .form-field label{font-size:.84rem;margin-bottom:8px;font-weight:650;letter-spacing:.01em}
[data-page-id="473"] .form-field label>span{color:#9a6b2d}
[data-page-id="473"] .form-field input,[data-page-id="473"] .form-field textarea{background:#faf9f6;border:1px solid #d7cdbf;border-radius:7px;padding:14px 16px;min-height:54px;transition:border-color .2s,box-shadow .2s,background .2s}
[data-page-id="473"] .form-field textarea{min-height:104px;height:104px}
[data-page-id="473"] .contact-form>.form-wide:last-child{display:flex;justify-content:flex-end}
[data-page-id="473"] .contact-form>.form-wide:last-child .button{width:auto;min-width:210px;gap:48px}
[data-page-id="473"] .form-field input:focus,[data-page-id="473"] .form-field textarea:focus{outline:2px solid #a98348;outline-offset:2px;border-color:#a98348;background:#fff;box-shadow:0 0 0 4px #b78c4e12}
[data-page-id="473"] .form-field [aria-invalid=true]{border-color:#a12525}
[data-page-id="473"] .contact-form .button{width:100%;display:flex;justify-content:space-between;min-height:56px;padding:16px 22px;background:linear-gradient(110deg,#201a40,#3a294a);color:white;border:1px solid #31233f;border-radius:7px;font-size:.94rem;box-shadow:0 10px 20px -14px #21132e88}
[data-page-id="473"] .contact-form .button:hover{background:#352448}
[data-page-id="473"] .contact-form .button:disabled{opacity:.65;cursor:wait}
[data-page-id="473"] .form-notice{border-radius:6px;line-height:1.65}
@media(max-width:1100px){[data-page-id="473"] .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){[data-page-id="473"] .contact-form{grid-template-columns:1fr;gap:16px}[data-page-id="473"] .contact-form>.form-wide:last-child .button{width:100%}}
@media(prefers-reduced-motion:reduce){[data-page-id="473"] .form-field input,[data-page-id="473"] .form-field textarea{transition:none}}

/* Service selection: native dropdown and keyboard-accessible choice cards. */
.contact-form .form-field select{width:100%;max-width:100%;min-height:54px;padding:14px 44px 14px 16px;font:inherit;font-size:16px;color:#120f43;background:#faf9f6;border:1px solid #d7cdbf;border-radius:7px;appearance:none;cursor:pointer}
.service-select-wrap{position:relative}
.service-select-wrap:after{content:"";position:absolute;right:19px;top:22px;width:8px;height:8px;border-right:2px solid #120f43;border-bottom:2px solid #120f43;transform:rotate(45deg);pointer-events:none}
.contact-form .form-field select:focus-visible{outline:2px solid #a98348;outline-offset:2px;background:#fff}
.contact-form .form-field select[aria-invalid=true]{border-color:#a12525}
.contact-service-options{min-width:0;background:linear-gradient(135deg,#faf8f4,#f5f3fa);border:1px solid #e4ddcf;border-radius:12px;padding:16px 18px}
.contact-service-options[hidden],.service-group[hidden]{display:none!important}
.service-group{border:0;margin:0;padding:0;min-width:0}
.service-group legend{padding:0;color:#120f43;font-size:.96rem;font-weight:700;letter-spacing:-.02em}
.service-group-hint{margin:4px 0 12px;color:#615b70;font-size:.88rem;line-height:1.6}
.service-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.contact-form .service-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;margin:0;border:1px solid #ded9e5;border-radius:9px;background:#fff;color:#211c40;cursor:pointer;font-size:.9rem;font-weight:600;line-height:1.45;transition:border-color .18s,background .18s,box-shadow .18s}
.service-choice:hover{border-color:#a98348}
.service-choice:has(input:checked){border-color:#9a6b2d;background:#fff8eb;box-shadow:inset 0 0 0 1px #9a6b2d}
.service-choice:has(input:focus-visible){outline:2px solid #120f43;outline-offset:3px}
.contact-form .service-choice input{appearance:auto;width:19px;height:19px;min-height:0;flex:0 0 19px;margin:0;padding:0;accent-color:#120f43;cursor:pointer}
.service-choice span{min-width:0;overflow-wrap:anywhere}
.service-selection-status{margin:10px 0 0;color:#62516f;font-size:.8rem;font-weight:600;line-height:1.5}
@media(max-width:900px){.service-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.contact-service-options{padding:14px}.contact-form .service-choice{font-size:.82rem;padding:9px;gap:8px}}
@media(max-width:360px){.service-choice-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-form .service-choice{transition:none}}
