/* Shared presentation for the five category forms only. */
.service-contact .contact-main:has(.is-form){width:min(1120px,calc(100% - 64px));padding-top:24px;background:#fff;color:#142f43}
.service-contact .contact-main:has(.is-form) .contact-intro{position:relative;isolation:isolate;max-width:760px;margin-inline:auto;padding:56px 0 44px;border-bottom:1px solid #dce6ec}
.service-contact .contact-main:has(.is-form) .contact-intro:before{content:"";position:absolute;z-index:-1;top:24px;right:-40px;width:180px;height:120px;border-radius:60% 40% 65% 35%;background:#f1fafc;pointer-events:none}
.service-contact .contact-main:has(.is-form) .contact-label{color:#228fa6;font-size:14px;font-weight:700;letter-spacing:.06em;margin-bottom:16px}
.service-contact .contact-main:has(.is-form) .contact-intro h1{font-size:clamp(34px,4vw,52px);font-weight:700;line-height:1.4;letter-spacing:-.035em;margin-bottom:20px;color:#142f43}
.service-contact .contact-main:has(.is-form) .contact-intro>p:last-child{font-size:17px;line-height:1.85;color:#425d70;max-width:660px}
.service-contact .contact-content.is-form{max-width:760px;margin-inline:auto;padding:32px 0 80px;background:#fff;box-shadow:none;clip-path:none}
.service-contact .is-form .contact-required-note{font-size:14px;margin-bottom:24px;color:#526877}
.service-contact .is-form .contact-field{margin-bottom:24px}
.service-contact .is-form .contact-field label{font-size:16px;font-weight:700;gap:10px;margin-bottom:8px;line-height:1.7}
.service-contact .is-form .contact-required{display:inline-block;padding:2px 8px;border-radius:5px;background:#fbeaf0;color:#9a4562;font-size:12px;font-weight:700;line-height:1.6}
.service-contact .is-form .contact-optional{font-size:13px;font-weight:400;color:#697985}
.service-contact .is-form .contact-field :is(input,textarea,select){background:#fff;border:1px solid #c6d3dc;border-radius:10px;padding:10px 14px;min-height:48px;font-size:16px;line-height:1.7}
.service-contact .is-form .contact-field textarea{min-height:150px}
.service-contact .is-form .contact-field :is(input,textarea,select):focus-visible{outline:2px solid #30adcb;outline-offset:2px;border-color:#30adcb}
.service-contact .is-form .contact-consent{margin:28px 0;font-size:14px;line-height:1.8}
body .official-home.service-contact .is-form .contact-primary{display:flex;align-items:center;justify-content:center;gap:24px;width:fit-content;min-width:260px;max-width:100%;min-height:54px;margin:32px auto 0;padding:14px 26px;border:1px solid #30adcb;border-radius:12px;background:#30adcb;color:#fff;font-size:16px;font-weight:700;line-height:1.5}
body .official-home.service-contact .is-form .contact-primary:hover{background:#228fa6;border-color:#228fa6}
.service-contact .is-form .contact-actions{justify-content:center;align-items:center;gap:16px}
body .official-home.service-contact .is-form .contact-actions .contact-primary{margin:0}
.service-contact .is-form .contact-confirm,.service-contact .is-form .contact-result{padding-top:8px}
@media(max-width:767px){
 .service-contact .contact-main:has(.is-form){width:calc(100% - 40px);padding-top:20px}
 .service-contact .contact-main:has(.is-form) .contact-intro{padding:36px 0 28px}
 .service-contact .contact-main:has(.is-form) .contact-intro:before{width:110px;height:90px;right:0;top:18px}
 .service-contact .contact-main:has(.is-form) .contact-intro h1{font-size:32px;line-height:1.45;margin-bottom:16px}
 .service-contact .contact-main:has(.is-form) .contact-intro>p:last-child{font-size:16px;line-height:1.85}
 .service-contact .contact-content.is-form{padding:26px 0 56px}
 .service-contact .is-form .contact-field{margin-bottom:22px}
 body .official-home.service-contact .is-form .contact-primary{min-width:240px}
}

/* Form primary backgrounds only: override the legacy global pink rule. */
body .official-home.service-contact .is-form .contact-primary{background:#30adcb!important;border-color:#30adcb!important}
body .official-home.service-contact .is-form .contact-primary:hover{background:#228fa6!important;border-color:#228fa6!important}
