/* Contact form only. No global WPBakery, article, navigation or button resets. */
.ss-contact-page-main, .ss-contact-embed {
    padding: clamp(32px,5vw,70px) 20px;
    background: #f4f7f9;
}
.ss-contact-page-heading {
    width: min(100%,1000px); margin: 0 auto 30px; color: #263b4b;
    font: 400 17px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.ss-contact-page-heading a { color: #29647f; text-underline-offset: 4px; }
.ss-contact-page-heading h1 { margin: 24px 0 18px; font-size: clamp(32px,4.4vw,56px); font-weight: 600; letter-spacing: -.04em; line-height: 1.12; }
.ss-contact {
    --cf-ink: #253b4c; --cf-muted: #566d7b; --cf-line: #d8e3e9;
    --cf-gradient: linear-gradient(105deg,#17899c,#4477bd 24%,#8966b3 44%,#bb6d92 65%,#be7656 84%,#a58137);
    position: relative; width: min(100%,1000px); margin: 0 auto; padding: clamp(24px,4.6vw,52px);
    border: 1px solid var(--cf-line); border-radius: 24px; background: #fff;
    color: var(--cf-ink); box-shadow: 0 18px 50px rgb(27 56 74 / 6%);
    font: 400 16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;
    scroll-margin-top: 110px;
}
.ss-contact, .ss-contact * { box-sizing: border-box; }
.ss-contact::before { content:""; position:absolute; top:0; left:30px; right:30px; height:3px; background:var(--cf-gradient); border-radius:3px; }
.ss-contact__eyebrow { margin: 0 0 12px; color:#5b7484; font-size:12px; font-weight:650; letter-spacing:.12em; }
.ss-contact__intro h2, .ss-contact__thanks h1 { margin:0 0 16px; padding:0; color:var(--cf-ink); font-size:clamp(29px,3.7vw,46px); font-weight:600; line-height:1.15; letter-spacing:-.04em; }
.ss-contact__intro h2 span, .ss-contact__thanks h1 span, .ss-contact-page-heading h1 span { color: #43798c; }
@supports (background-clip:text) {
    .ss-contact__intro h2 span, .ss-contact__thanks h1 span { background:var(--cf-gradient); background-clip:text; -webkit-text-fill-color:transparent; }
    .ss-contact-page-heading h1 span { background:linear-gradient(105deg,#17899c,#4477bd,#8966b3,#bb6d92,#be7656); background-clip:text; -webkit-text-fill-color:transparent; }
}
.ss-contact__intro > p:last-child { margin:0 0 28px; color:var(--cf-muted); }
.ss-contact__form { margin:0; padding:0; }
.ss-contact__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap: 0 24px; }
.ss-contact__field { min-width:0; margin:0 0 23px; }
.ss-contact__field > label, .ss-contact__methods legend { display:block; width:100%; margin:0 0 8px; padding:0; float:none; color:var(--cf-ink); font:600 15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
.ss-contact__field input, .ss-contact__field select, .ss-contact__field textarea {
    display:block; width:100%; max-width:100%; min-height:50px; margin:0; padding:12px 14px;
    border:1px solid #bdced9; border-radius:10px; box-shadow:none; background:#fff; color:var(--cf-ink);
    font:400 16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif; text-transform:none;
}
.ss-contact__field textarea { min-height:140px; resize:vertical; }
.ss-contact__field small { display:block; margin:6px 0 0; color:var(--cf-muted); font-size:12px; line-height:1.55; }
.ss-contact__field input:focus, .ss-contact__field select:focus, .ss-contact__field textarea:focus {
    outline:3px solid #b4d3df; outline-offset:2px; border-color:#307c99;
}
.ss-contact__methods { min-width:0; margin:0 0 23px; padding:0; border:0; }
.ss-contact__methods > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.ss-contact__method { display:flex; align-items:center; gap:9px; margin:0; padding:13px 16px; border:1px solid var(--cf-line); border-radius:11px; background:#fafcfd; cursor:pointer; }
.ss-contact__method input, .ss-contact__terms input { width:18px; height:18px; margin:0; flex:0 0 18px; accent-color:#286983; }
.ss-contact__method:has(input:checked) { background:#eef5f8; border-color:#6094ab; }
.ss-contact__method:focus-within { outline:2px solid #286983; outline-offset:3px; }
.ss-contact__terms { display:flex; align-items:flex-start; gap:11px; color:var(--cf-muted); font-size:14px; cursor:pointer; }
.ss-contact__terms input { margin-top:4px; }
.ss-contact a { color:#235f7b; text-underline-offset:3px; }
.ss-contact__challenge { margin:24px 0 20px; max-width:100%; }
.ss-contact__send { margin-top:25px; padding-top:22px; border-top:1px solid var(--cf-line); }
.ss-contact__button {
    display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px;
    max-width:100%; padding:13px 24px; border:1px solid #a6bfce; border-radius:999px; background:#fff;
    color:#233e52 !important; font:600 16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
    cursor:pointer; text-decoration:none; transition: box-shadow .18s,border-color .18s;
}
.ss-contact__button:hover { border-color:transparent; background:linear-gradient(#fff,#fff) padding-box,var(--cf-gradient) border-box; box-shadow:0 7px 22px rgb(47 84 106 / 13%); }
.ss-contact__button:focus-visible { outline:3px solid #367d9b; outline-offset:4px; }
.ss-contact__button:disabled { opacity:.65; cursor:wait; }
.ss-contact__send p { max-width:670px; margin:12px 0 0; color:var(--cf-muted); font-size:13px; line-height:1.6; }
.ss-contact__required { margin:0 0 22px; color:var(--cf-muted); font-size:12px; }
.ss-contact__optional { color:var(--cf-muted); font-weight:400; }
.ss-contact__trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ss-contact__error, .ss-contact__errors { color:#a13038; font-size:14px; }
.ss-contact__errors.validation-summary-valid, .ss-contact .field-validation-valid { display:none; }
.ss-contact__errors.validation-summary-errors { margin:0 0 25px; padding:16px 20px; background:#fff8f8; border:1px solid #c9848a; border-radius:10px; }
.ss-contact__errors ul { margin:0; padding-left:20px; }
.ss-contact__thanks { max-width:900px; }
.ss-contact__thanks p { color:var(--cf-muted); }
.ss-contact__thanks .ss-contact__button { margin-top:18px; }
@media(max-width:640px) {
    .ss-contact-page-main, .ss-contact-embed { padding:35px 14px; }
    .ss-contact { padding:28px 20px; border-radius:18px; }
    .ss-contact__grid { grid-template-columns:minmax(0,1fr); }
    .ss-contact__method { padding:12px 8px; gap:6px; font-size:13px; }
    .ss-contact__methods > div { gap:7px; }
    .ss-contact__button { width:100%; padding:13px 16px; font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .ss-contact__button { transition:none; } }
@media(forced-colors:active) {
    .ss-contact__intro h2 span, .ss-contact__thanks h1 span, .ss-contact-page-heading h1 span { background:none; -webkit-text-fill-color:CanvasText; color:CanvasText; }
}
