/* Isolated shared contact block for the service pages. */
section.mkt-service-contact { box-sizing:border-box; width:100%; max-width:none!important; margin:0!important; padding:40px 0; background:#f1f5fa; color:#172335; font:16px/1.6 Arial,Helvetica,sans-serif; scroll-margin-top:28px; }
.mkt-service-contact *, .mkt-service-contact *::before, .mkt-service-contact *::after { box-sizing:border-box; }
.mkt-service-contact .mkt-sc__wrap { width:min(1280px,calc(100% - 56px)); max-width:none; margin:0 auto; padding:0; }
.mkt-service-contact .mkt-sc__panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:40px; padding:40px; border-radius:24px; background:linear-gradient(125deg,#ba3588 0%,#9d3e9c 55%,#7056c4 100%); box-shadow:0 16px 45px #7b418b12; }
.mkt-service-contact .mkt-sc__copy { min-width:0; padding:8px 0; color:#fff; }
.mkt-service-contact .mkt-sc__eyebrow { margin:0 0 16px; color:#fff; font-size:12px; line-height:1.4; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.mkt-service-contact .mkt-sc__copy h2 { margin:0 0 20px; color:#fff; font-family:Geometria,Montserrat,Arial,sans-serif; font-size:clamp(30px,3.2vw,42px); font-weight:700; line-height:1.2; letter-spacing:normal; text-transform:none; }
.mkt-service-contact .mkt-sc__intro { max-width:520px; margin:0 0 28px; color:#fff; font-size:17px; line-height:1.65; }
.mkt-service-contact .mkt-sc__phone { display:block; width:fit-content; max-width:100%; margin:0 0 10px; color:#fff; text-decoration:none; font-size:clamp(24px,2.6vw,34px); font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.mkt-service-contact .mkt-sc__email { display:inline-block; max-width:100%; color:#fff; font-size:16px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.mkt-service-contact .mkt-sc__hours { margin:12px 0 0; color:#fff; font-size:14px; }
.mkt-service-contact .mkt-sc__steps { margin-top:30px; padding-top:24px; border-top:1px solid #ffffff40; }
.mkt-service-contact .mkt-sc__steps h3 { margin:0 0 18px; color:#fff; font-family:Geometria,Montserrat,Arial,sans-serif; font-size:16px; font-weight:700; line-height:1.4; letter-spacing:normal; text-transform:none; }
.mkt-service-contact .mkt-sc__steps ol { display:grid; gap:16px; counter-reset:contact-step; margin:0; padding:0; list-style:none; }
.mkt-service-contact .mkt-sc__steps li { position:relative; min-height:28px; margin:0; padding:0 0 0 40px; color:#fff; font-size:15px; line-height:1.6; }
.mkt-service-contact .mkt-sc__steps li::before { counter-increment:contact-step; content:counter(contact-step); position:absolute; left:0; top:0; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#ffffff26; color:#fff; font-size:13px; font-weight:700; }
.mkt-service-contact .mkt-sc__form-panel { min-width:0; padding:28px; background:#fff; border:1px solid #ede2ef; border-radius:20px; scroll-margin-top:28px; }
.mkt-service-contact .mkt-sc__form-panel > h3 { margin:0 0 10px; color:#172335; font-family:Geometria,Montserrat,Arial,sans-serif; font-size:25px; font-weight:700; line-height:1.3; letter-spacing:normal; text-transform:none; }
.mkt-service-contact .mkt-sc__response { margin:0 0 22px; color:#637086; font-size:14px; line-height:1.55; }
.mkt-service-contact .mkt-sc__form { position:static; width:100%; min-height:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.mkt-service-contact .mkt-sc__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mkt-service-contact .mkt-sc__form label { display:block; margin:0; color:#3c4658; font-size:13px; line-height:1.4; font-weight:600; }
.mkt-service-contact .mkt-sc__optional { display:block; color:#758094; font-size:11px; font-weight:400; margin:2px 0 0; }
.mkt-service-contact .mkt-sc__form input:not([type=hidden]):not([type=checkbox]), .mkt-service-contact .mkt-sc__form textarea { display:block; width:100%; min-width:0; max-width:100%; margin:8px 0 0; padding:12px 14px; border:1px solid #d8ddea; border-radius:9px; background:#fbfcfe; color:#172335; font:16px/1.5 Arial,Helvetica,sans-serif; box-shadow:none; }
.mkt-service-contact .mkt-sc__form textarea { resize:vertical; min-height:76px; }
.mkt-service-contact .mkt-sc__form .mkt-sc__message { margin-top:18px; }
.mkt-service-contact .mkt-sc__form input::placeholder, .mkt-service-contact .mkt-sc__form textarea::placeholder { color:#748094; opacity:1; }
.mkt-service-contact .mkt-sc__form .mkt-sc__consent { display:flex; align-items:flex-start; gap:10px; margin:18px 0; font-size:12px; font-weight:400; line-height:1.5; }
.mkt-service-contact .mkt-sc__consent input { flex:0 0 18px; width:18px; height:18px; margin:1px 0 0; accent-color:#a52d7b; }
.mkt-service-contact .mkt-sc__consent a { color:#963774; text-underline-offset:3px; }
.mkt-service-contact .mkt-sc__submit { display:flex; align-items:center; justify-content:center; gap:14px; width:100%; min-height:50px; margin:0; padding:14px 20px; border:0; border-radius:10px; background:#b93687; color:#fff; font:700 16px/1.4 Arial,Helvetica,sans-serif; cursor:pointer; }
.mkt-service-contact .mkt-sc__submit:hover { background:#982a70; }
.mkt-service-contact .mkt-sc__submit:disabled { opacity:.65; cursor:wait; }
.mkt-service-contact .mktld-status { margin:16px 0 0; color:#206b50; font-size:14px; line-height:1.5; }
.mkt-service-contact .mktld-status:empty { display:none; margin:0; }
.mkt-service-contact .mktld-status.is-error { color:#a62035; }
.mkt-service-contact .mkt-sc__alternatives { margin-top:22px; padding-top:18px; border-top:1px solid #e8e1ee; }
.mkt-service-contact .mkt-sc__alternatives > p { margin:0 0 12px; color:#637086; font-size:13px; text-align:center; }
.mkt-service-contact .mkt-sc__channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mkt-service-contact .mkt-sc__channel { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; padding:10px 8px; border:1px solid #dcd3e6; border-radius:9px; background:#f8f4fb; color:#81346e; font-size:12px; font-weight:700; line-height:1.4; text-align:center; text-decoration:none; }
.mkt-service-contact .mkt-sc__channel:hover { background:#f0e7f5; border-color:#a95994; }
.mkt-service-contact a:focus-visible, .mkt-service-contact input:focus-visible, .mkt-service-contact textarea:focus-visible, .mkt-service-contact button:focus-visible { outline:3px solid #2864dc; outline-offset:3px; }
@media(max-width:1100px) {
 .mkt-service-contact .mkt-sc__panel { padding:28px; gap:28px; }
 .mkt-service-contact .mkt-sc__form-panel { padding:24px; }
 .mkt-service-contact .mkt-sc__channels { grid-template-columns:1fr; gap:8px; }
}
@media(max-width:900px) {
 .mkt-service-contact .mkt-sc__panel { grid-template-columns:1fr; gap:28px; }
 .mkt-service-contact .mkt-sc__copy { padding:0; }
 .mkt-service-contact .mkt-sc__intro { max-width:none; }
 .mkt-service-contact .mkt-sc__channels { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:600px) {
 section.mkt-service-contact { padding:28px 0; }
 .mkt-service-contact .mkt-sc__wrap { width:calc(100% - 40px); }
 .mkt-service-contact .mkt-sc__panel { padding:22px 18px; gap:24px; border-radius:20px; }
 .mkt-service-contact .mkt-sc__copy h2 { font-size:30px; }
 .mkt-service-contact .mkt-sc__intro { font-size:16px; }
 .mkt-service-contact .mkt-sc__phone { font-size:25px; }
 .mkt-service-contact .mkt-sc__form-panel { padding:22px 18px; border-radius:16px; }
 .mkt-service-contact .mkt-sc__form-panel > h3 { font-size:23px; }
 .mkt-service-contact .mkt-sc__fields { grid-template-columns:1fr; gap:14px; }
 .mkt-service-contact .mkt-sc__channels { grid-template-columns:1fr; }
 .mkt-service-contact .mkt-sc__channel { font-size:14px; }
}
