﻿@font-face {
        font-family: 'GeogrotesqueCondW03-Medium';
        src: url("../css/fonts/Geogrotesque Cond W03 Medium.ttf") format("truetype");
        font-display: swap;
    }

    @font-face {
        font-family: 'GeogrotesqueCondW03-Regular';
        src: url("../css/fonts/Geogrotesque Cond W03 Regular.ttf") format("truetype");
        font-display: swap;
    }

    @font-face {
        font-family: 'GeogrotesqueCondW03-UltLight';
        src: url("../css/fonts/Geogrotesque Cond W03 UltLight.ttf") format("truetype");
        font-display: swap;
    }

    @font-face {
        font-family: 'GeogrotesqueCondW03-semiBold';
        src: url("../css/fonts/Geogrotesque Cond W03 SemiBold.ttf") format("truetype");
        font-display: swap;
    }

    @font-face {
        font-family: 'Gotham-Light';
        src: url("../css/fonts/Gotham-Light.otf") format("opentype");
        font-display: swap;
    }

    @font-face {
        font-family: 'Gotham-Medium';
        src: url("../css/fontams/Goth-Medium.otf") format("opentype");
        font-display: swap;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0
    }

    :root {
        --or: #f36c31;
        --or-h: #df5d26;
        --or-d: #c94d19;
        --or-lt: #fff0e9;
        --or-xl: #fff7f3;
        --or-bdr: rgba(243, 108, 49, .22);
        --or-glow: rgba(243, 108, 49, .12);
        --or-glow2: rgba(243, 108, 49, .07);
        --wh: #ffffff;
        --g50: #ffffff;
        --g100: #f3f1ef;
        --g150: #e8e3df;
        --g200: #d4cec8;
        --g300: #aaa39c;
        --g400: #817a73;
        --g500: #5f5a54;
        --g700: #1d1d1b;
        --g900: #1d1d1b;
        --err: #C0392B;
        --err-lt: #FDF0EE;
        --ok: #1A7A5C;
        --ok-lt: #EBF6F1;
        --r-xs: 5px;
        --r-sm: 10px;
        --r-md: 16px;
        --r-lg: 22px;
        --r-xl: 30px;
        --r-full: 999px;
        --sh-card: 0 2px 12px rgba(29, 29, 27, .06), 0 1px 3px rgba(29, 29, 27, .04);
        --sh-float: 0 20px 64px rgba(29, 29, 27, .1);
        --sh-btn: 0 4px 18px rgba(243, 108, 49, .32);
        --font: 'Gotham-Light', Arial, sans-serif;
        --font-med: 'Gotham-Medium', Arial, sans-serif;
        --serif: 'GeogrotesqueCondW03-Medium', Arial, sans-serif;
        --display: 'GeogrotesqueCondW03-Medium', Arial, sans-serif;
        --ease: cubic-bezier(.4, 0, .2, 1);
        --dur: .2s;
    }

    html,
    body {
        min-height: 100%;
        -webkit-font-smoothing: antialiased
    }

    body {
        font-family: var(--font);
        background: var(--g50);
        color: var(--g700);
        line-height: 1.5
    }

    body.page-template-contactus {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
    }

    body.page-template-contactus .footer {
        margin-top: auto !important;
        flex-shrink: 0;
    }

    .contact-form-sec {
        position: relative;
        /* z-index: 10001; */
        background: var(--g50);
    }

    .contact-form-sec .wrap,
    .contact-form-sec .form-shell {
        min-height: auto;
    }

    .contact-form-sec .form-shell {
        padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
    }

    /* ===== LAYOUT ===== */
    .wrap {
        min-height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        padding: 0
    }

    /* ===== Intro pieces ===== */
    .hero-top {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
        margin-bottom: 0;
        text-align: center
    }

    .logo-wrap {
        width: 78px;
        height: 78px;
        border-radius: 18px;
        background: var(--wh);
        border: 1.5px solid var(--or-bdr);
        box-shadow: 0 14px 34px rgba(243, 108, 49, .16), 0 2px 8px rgba(29, 29, 27, .06);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        overflow: hidden;
        margin-bottom: 1rem
    }

    .logo-img {
        width: 52px;
        height: 52px;
        border-radius: 2px;
        object-fit: contain;
        display: block;
    }

    /* ===== FORM SHELL ===== */
    .form-shell {
        width: 100%;
        min-height: 100vh;
        padding: clamp(1rem, 2vw, 2rem);
        margin: 0;
        display: flex;
        flex-direction: column;
    }

    .form-intro {
        position: relative;
        overflow: hidden;
        width: min(100%, 1760px);
        margin: 0 auto 1.5rem;
        padding: 20px;
        border: 1px solid var(--or-bdr);
        border-radius: 46px;
        background: linear-gradient(180deg, rgba(243, 108, 49, .075) 0%, rgba(243, 108, 49, .015) 100%);
        box-shadow: 0 18px 34px rgba(29, 29, 27, .08);
    }

    .form-intro::before {
        content: '';
        position: absolute;
        right: -90px;
        top: -110px;
        width: 280px;
        height: 280px;
        background: radial-gradient(circle at 70% 30%, rgba(243, 108, 49, .09), transparent 65%);
        border-radius: 50%;
        pointer-events: none;
    }

    .form-intro::after {
        content: '';
        position: absolute;
        left: -60px;
        bottom: -80px;
        width: 200px;
        height: 200px;
        background: radial-gradient(circle, rgba(243, 108, 49, .06), transparent 65%);
        border-radius: 50%;
        pointer-events: none;
    }

    .form-intro-inner {
        position: relative;
        z-index: 1;
    }

    .form-intro .hero-top {
        margin-bottom: 0;
    }

    .form-eyebrow {
        display: none;
        font-family: var(--font-med);
        font-size: 13px;
        font-weight: 700;
        letter-spacing: .02em;
        color: var(--or);
        margin-bottom: 4px;
    }

    .form-title {
        font-family: var(--display);
        font-size: clamp(34px, 3.2vw, 58px);
        line-height: 1.05;
        color: #2b1103;
        font-weight: 700;
        margin-bottom: 16px;
    }

    .form-desc {
        font-size: clamp(17px, 1.45vw, 28px);
        line-height: 1.45;
        color: var(--g700);
        max-width: 540px;
        margin: 0 auto;
    }

    #fc {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
        flex: 1;
    }

    #fc .sec-card {
        margin-top: 0;
        margin-bottom: 0;
    }

    /* ===== SECTION CARDS ===== */
    .sec-card {
        background: var(--wh);
        border: 1px solid var(--g150);
        border-radius: var(--r-lg);
        box-shadow: var(--sh-card);
        margin-bottom: 1.25rem;
        /* overflow:clip instead of hidden: clips visually but allows sticky children */
        overflow: clip;
        transition: box-shadow .2s
    }

    .sec-card:focus-within {
        box-shadow: 0 4px 24px rgba(243, 108, 49, .1), 0 1px 4px rgba(29, 29, 27, .05)
    }

    .sec-head {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 1rem 1.25rem;
        border-bottom: 1px solid var(--g100);
        background: var(--g50);
        position: sticky;
        top: 0;
        z-index: 10;
        transition: box-shadow .2s var(--ease);
    }

    .sec-ico {
        width: 32px;
        height: 32px;
        border-radius: 9px;
        background: var(--or-lt);
        border: 1px solid var(--or-bdr);
        display: grid;
        place-items: center;
        flex-shrink: 0
    }

    .sec-ico svg {
        width: 15px;
        height: 15px;
        stroke: var(--or);
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .sec-title {
        font-family: var(--font-med);
        font-size: 15px;
        font-weight: 700;
        color: var(--g700);
        letter-spacing: .01em
    }

    .sec-body {
        padding: 1.25rem
    }

    /* ===== GRID ===== */
    .g2 {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem
    }

    .g2.one-col {
        grid-template-columns: 1fr
    }

    /* ===== FIELD ===== */
    .field {
        display: flex;
        flex-direction: column
    }

    .fl {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 6px
    }

    .fl-lbl {
        font-family: var(--font-med);
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        color: var(--g500)
    }

    .req {
        color: var(--or);
        margin-left: 2px;
        font-size: 14px;
        line-height: 1
    }

    /* ===== INPUTS ===== */
    .iw {
        position: relative
    }

    .fi {
        width: 100%;
        font-family: var(--font);
        font-size: 15px;
        color: var(--g900);
        background: var(--g50);
        border: 1.5px solid var(--g150);
        border-radius: var(--r-sm);
        padding: 12px 14px;
        outline: none;
        transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
        -webkit-appearance: none;
        appearance: none;
        line-height: 1.4
    }

    .contact-form-sec .fi,
    .contact-form-sec .fs,
    .contact-form-sec .ft,
    .contact-form-sec .c-row,
    .contact-form-sec .mc,
    .contact-form-sec button {
        outline: none !important;
    }

    .contact-form-sec .fi:focus,
    .contact-form-sec .fi:focus-visible,
    .contact-form-sec .fs:focus,
    .contact-form-sec .fs:focus-visible,
    .contact-form-sec .ft:focus,
    .contact-form-sec .ft:focus-visible,
    .contact-form-sec .c-row:focus,
    .contact-form-sec .c-row:focus-visible,
    .contact-form-sec .mc:focus,
    .contact-form-sec .mc:focus-visible,
    .contact-form-sec button:focus,
    .contact-form-sec button:focus-visible {
        outline: none !important;
        outline-offset: 0 !important;
    }

    .fi[data-has-icon] {
        padding-right: 40px
    }

    .fi::placeholder {
        color: var(--g300);
        font-size: 14.5px;
        font-weight: 400
    }

    .fi:hover:not(:disabled) {
        border-color: var(--g200)
    }

    .fi:focus {
        background: var(--wh);
        border-color: var(--or);
        box-shadow: 0 0 0 3.5px var(--or-glow)
    }

    .fi.v-ok {
        border-color: var(--ok) !important;
        background: var(--ok-lt) !important
    }

    .fi.v-err {
        border-color: var(--err) !important;
        background: var(--err-lt) !important;
        box-shadow: 0 0 0 3px rgba(192, 57, 43, .08) !important
    }

    .fi.v-ok:focus {
        box-shadow: 0 0 0 3.5px rgba(26, 122, 92, .1) !important
    }

    .fs {
        width: 100%;
        font-family: var(--font);
        font-size: 15px;
        color: var(--g900);
        background: var(--g50);
        border: 1.5px solid var(--g150);
        border-radius: var(--r-sm);
        padding: 12px 38px 12px 14px;
        outline: none;
        transition: border-color var(--dur), background var(--dur), box-shadow var(--dur);
        -webkit-appearance: none;
        appearance: none;
        cursor: pointer;
        line-height: 1.4;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23B8B2A6' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 12px center
    }

    .fs:hover {
        border-color: var(--g200)
    }

    .fs:focus {
        background-color: var(--wh);
        border-color: var(--or);
        box-shadow: 0 0 0 3.5px var(--or-glow)
    }

    .fs.v-ok {
        border-color: var(--ok) !important;
        background-color: var(--ok-lt) !important
    }

    .fs.v-err {
        border-color: var(--err) !important;
        background-color: var(--err-lt) !important;
        box-shadow: 0 0 0 3px rgba(192, 57, 43, .08) !important
    }

    .fs option {
        background: var(--wh);
        color: var(--g900)
    }

    .ft {
        width: 100%;
        font-family: var(--font);
        font-size: 15px;
        color: var(--g900);
        background: var(--g50);
        border: 1.5px solid var(--g150);
        border-radius: var(--r-sm);
        padding: 13px 14px;
        outline: none;
        resize: vertical;
        min-height: 108px;
        line-height: 1.65;
        transition: border-color var(--dur), background var(--dur), box-shadow var(--dur)
    }

    .ft::placeholder {
        color: var(--g300);
        font-size: 14.5px
    }

    .ft:hover {
        border-color: var(--g200)
    }

    .ft:focus {
        background: var(--wh);
        border-color: var(--or);
        box-shadow: 0 0 0 3.5px var(--or-glow)
    }

    .ft.v-ok {
        border-color: var(--ok) !important;
        background: var(--ok-lt) !important
    }

    .ft.v-err {
        border-color: var(--err) !important;
        background: var(--err-lt) !important;
        box-shadow: 0 0 0 3px rgba(192, 57, 43, .08) !important
    }

    /* State icon: hidden until touched */
    .si {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
        display: none;
        width: 16px;
        height: 16px
    }

    .si svg {
        width: 16px;
        height: 16px;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .si.ok svg {
        stroke: var(--ok)
    }

    .si.err svg {
        stroke: var(--err)
    }

    /* feedback */
    .fb {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 18px;
        margin-top: 5px
    }

    .fb-msg {
        font-family: var(--font-med);
        font-size: 12px;
        font-weight: 600;
        display: none;
        align-items: center;
        gap: 5px
    }

    .fb-msg.show {
        display: flex;
        animation: fbIn .18s var(--ease)
    }

    .fb-msg.ok {
        color: var(--ok)
    }

    .fb-msg.err {
        color: var(--err)
    }

    .fb-msg svg {
        width: 12px;
        height: 12px;
        flex-shrink: 0;
        fill: none;
        stroke: currentColor;
        stroke-width: 2.2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .fb-cnt {
        font-size: 12px;
        color: var(--g300);
        font-weight: 500
    }

    .fb-cnt.near {
        color: var(--or)
    }

    .fb-cnt.full {
        color: var(--err)
    }

    @keyframes fbIn {
        from {
            opacity: 0;
            transform: translateY(-3px)
        }

        to {
            opacity: 1;
            transform: translateY(0)
        }
    }

    /* phone */
    .ph-row {
        display: grid;
        grid-template-columns: 88px 1fr;
        gap: 8px
    }

    .ph-row .fs {
        font-size: 15px;
        padding: 12px 30px 12px 11px
    }

    /* ===== CITY DROPDOWN ===== */
    .city-wrap {
        position: relative;
    }

    /* City loading indicator */
    .city-loading {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        width: 14px;
        height: 14px;
        border: 2px solid var(--g150);
        border-top-color: var(--or);
        border-radius: 50%;
        animation: spin .7s linear infinite;
        display: none;
        pointer-events: none;
    }

    .city-loading.visible {
        display: block;
    }

    /* City field hint */
    .city-hint {
        font-size: 12px;
        color: var(--g300);
        font-weight: 500;
        margin-top: 5px;
        display: flex;
        align-items: center;
        gap: 5px;
        min-height: 18px;
    }

    .city-hint:empty,
    .city-hint.is-hidden {
        display: none;
    }

    .city-hint svg {
        width: 11px;
        height: 11px;
        stroke: var(--g300);
        fill: none;
        stroke-width: 2;
        flex-shrink: 0;
    }

    /* ===== CONSENT ===== */
    .consent-wrap {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 1rem
    }

    .c-row {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        padding: 13px 14px;
        border: 1.5px solid var(--g150);
        border-radius: var(--r-md);
        background: var(--g50);
        cursor: pointer;
        transition: border-color .18s, background .18s, box-shadow .18s;
        user-select: none
    }

    .c-row:hover {
        border-color: var(--or-bdr);
        background: var(--or-xl)
    }

    .c-row.ck {
        background: var(--or-xl);
        box-shadow: 0 0 0 3px var(--or-glow2)
    }

    .c-row.c-err {
        border-color: var(--err) !important;
        background: var(--err-lt) !important
    }

    .c-box {
        width: 20px;
        height: 20px;
        border-radius: 5px;
        border: 1.5px solid var(--g200);
        background: var(--wh);
        display: grid;
        place-items: center;
        flex-shrink: 0;
        margin-top: 2px;
        transition: all .18s
    }

    .c-row.ck .c-box {
        background: var(--or);
        border-color: var(--or)
    }

    .c-box svg {
        width: 10px;
        height: 10px;
        stroke: #fff;
        fill: none;
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-linejoin: round;
        opacity: 0;
        transform: scale(.5);
        transition: all .18s
    }

    .c-row.ck .c-box svg {
        opacity: 1;
        transform: scale(1)
    }

    .c-text {
        font-size: 14px;
        line-height: 1.65;
        color: var(--g700)
    }

    .plk {
        color: var(--or);
        font-weight: 600;
        text-decoration: underline;
        text-decoration-color: rgba(243, 108, 49, .35);
        text-underline-offset: 2px;
        cursor: pointer;
        transition: text-decoration-color .18s
    }

    .plk:hover {
        text-decoration-color: var(--or)
    }

    .c-err-msg {
        display: none;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        font-weight: 600;
        color: var(--err);
        padding: 7px 11px;
        border-radius: var(--r-sm);
        background: var(--err-lt);
        border: 1px solid rgba(192, 57, 43, .15)
    }

    .c-err-msg.show {
        display: flex;
        animation: fbIn .18s var(--ease)
    }

    .c-err-msg svg {
        width: 13px;
        height: 13px;
        flex-shrink: 0;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    /* ===== RECAPTCHA ===== */
    .recaptcha-wrap {
        margin-top: 1.1rem
    }

    .recaptcha-field {
        display: flex;
        align-items: center
    }

    .recaptcha-feedback {
        margin-top: 6px
    }

    /* ===== SUBMIT ACTION ===== */
    .submit-area {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-top: 1.25rem;
    }

    .btn-sub {
        min-width: 240px;
        min-height: 54px;
        padding: 15px 36px;
        background: linear-gradient(135deg, var(--or), var(--or-h)) !important;
        color: #fff !important;
        border: none !important;
        border-radius: 12px !important;
        font-family: var(--font-med);
        font-size: 15px;
        font-weight: 700;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        box-shadow: 0 10px 24px rgba(243, 108, 49, .24), 0 2px 6px rgba(29, 29, 27, .08);
        transition: all .2s var(--ease);
        position: relative;
        overflow: hidden;
        letter-spacing: .02em;
    }

    .btn-sub::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(135deg, rgba(255, 255, 255, .18), transparent 55%);
        pointer-events: none
    }

    .btn-sub:hover {
        background: linear-gradient(135deg, var(--or-h), var(--or-d));
        box-shadow: 0 14px 30px rgba(243, 108, 49, .3), 0 3px 8px rgba(29, 29, 27, .1);
        transform: translateY(-1px)
    }

    .btn-sub:active {
        transform: translateY(0)
    }

    .btn-sub:disabled {
        opacity: .65;
        cursor: wait;
        transform: none
    }

    .btn-sub svg.arr {
        width: 16px;
        height: 16px;
        stroke: #fff;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
        transition: transform .2s
    }

    .btn-sub:hover svg.arr {
        transform: translateX(3px)
    }

    .sp {
        width: 16px;
        height: 16px;
        border: 2px solid rgba(255, 255, 255, .3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: spin .7s linear infinite;
        display: none;
        flex-shrink: 0
    }

    @keyframes spin {
        to {
            transform: rotate(360deg)
        }
    }

    /* ===== SUCCESS ===== */
    .suc {
        display: none;
        align-items: center;
        gap: 9px;
        width: 100%;
        margin-top: 1rem;
        padding: 12px 16px;
        background: var(--ok-lt);
        border: 1px solid rgba(26, 122, 92, .22);
        border-radius: var(--r-sm);
        color: var(--ok);
        font-family: var(--font-med);
        font-size: 13.5px;
        font-weight: 600;
        line-height: 1.45
    }

    .suc.show {
        display: flex;
        animation: fbIn .45s ease
    }

    .suc-ring {
        width: 22px;
        height: 22px;
        margin: 0;
        border-radius: 50%;
        background: var(--ok-lt);
        border: 1.5px solid rgba(26, 122, 92, .35);
        display: grid;
        place-items: center;
        flex-shrink: 0
    }

    .suc-ring svg {
        width: 13px;
        height: 13px;
        stroke: var(--ok);
        fill: none;
        stroke-width: 2.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .suc-body {
        margin: 0;
        color: var(--ok)
    }

    /* ===== MODAL ===== */
    .ovr {
        position: fixed;
        inset: 0;
        background: rgba(29, 29, 27, .55);
        backdrop-filter: blur(8px);
        z-index: 100000;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 1.25rem
    }

    .ovr.open {
        display: flex
    }

    .contact-form-sec .ovr .modal {
        position: relative;
        inset: auto;
        width: 100%;
        max-width: 680px;
        max-height: 88vh;
        margin: auto;
        height: auto;
        background: var(--wh);
        border-radius: var(--r-xl);
        box-shadow: var(--sh-float);
        display: flex;
        flex-direction: column;
        overflow: hidden;
        transform: translateY(20px) scale(.97);
        transition: transform .3s var(--ease)
    }

    .contact-form-sec .ovr.open .modal {
        transform: none
    }

    .contact-form-sec .modal-hd {
        padding: 1.25rem 1.5rem;
        border-bottom: 1px solid var(--g100);
        display: flex;
        align-items: flex-start;
        gap: 11px;
        background: var(--g50)
    }

    .contact-form-sec .modal-hd-ico {
        width: 38px;
        height: 38px;
        border-radius: 10px;
        background: var(--or-lt);
        border: 1px solid var(--or-bdr);
        display: grid;
        place-items: center
    }

    .contact-form-sec .modal-hd-ico svg {
        width: 18px;
        height: 18px;
        stroke: var(--or);
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .contact-form-sec .modal-hd-info {
        flex: 1
    }

    .contact-form-sec .modal-hd-info h2 {
        font-size: 17px;
        font-weight: 700;
        color: var(--g900);
        margin-bottom: 2px
    }

    .contact-form-sec .modal-hd-info p {
        font-size: 11.5px !important;
        color: var(--g400) !important;
    }

    .contact-form-sec .modal-x {
        width: 36px;
        height: 36px;
        min-width: 36px;
        min-height: 36px;
        padding: 0 !important;
        margin: 2px 0 0 auto;
        border: 1.5px solid var(--g150);
        background: transparent !important;
        border-radius: var(--r-sm);
        cursor: pointer;
        display: grid !important;
        place-items: center;
        color: var(--g400);
        line-height: 1;
        transition: all .18s
    }

    .contact-form-sec .modal-x:hover {
        border-color: var(--g200);
        color: var(--g700)
    }

    .contact-form-sec .modal-x svg {
        width: 13px;
        height: 13px;
        display: block;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .contact-form-sec .modal-bd {
        flex: 1;
        overflow-y: auto;
        padding: 1.25rem 1.5rem;
        display: flex;
        flex-direction: column;
        gap: 10px
    }

    .contact-form-sec .modal-bd::-webkit-scrollbar {
        width: 4px
    }

    .contact-form-sec .modal-bd::-webkit-scrollbar-track {
        background: var(--g50)
    }

    .contact-form-sec .modal-bd::-webkit-scrollbar-thumb {
        background: var(--g150);
        border-radius: 4px
    }

    .mc {
        display: flex;
        align-items: flex-start;
        gap: 13px;
        padding: 14px 16px;
        border: 1.5px solid var(--g150);
        border-radius: var(--r-md);
        cursor: pointer;
        background: var(--g50);
        transition: border-color .18s, background .18s, box-shadow .18s;
        user-select: none
    }

    .mc:hover {
        border-color: var(--or-bdr);
        background: var(--or-xl)
    }

    .mc.act {
        border-color: var(--or);
        background: var(--or-xl);
        box-shadow: 0 0 0 3px var(--or-glow2)
    }

    .mc-box {
        width: 20px;
        height: 20px;
        border-radius: 5px;
        border: 1.5px solid var(--g200);
        background: var(--wh);
        display: grid;
        place-items: center;
        flex-shrink: 0;
        margin-top: 2px;
        transition: all .18s
    }

    .mc.act .mc-box {
        background: var(--or);
        border-color: var(--or)
    }

    .mc-box svg {
        width: 10px;
        height: 10px;
        stroke: #fff;
        fill: none;
        stroke-width: 2.5;
        stroke-linecap: round;
        stroke-linejoin: round;
        opacity: 0;
        transform: scale(.5);
        transition: all .18s
    }

    .mc.act .mc-box svg {
        opacity: 1;
        transform: scale(1)
    }

    .mc-text {
        font-size: 13px;
        line-height: 1.55;
        color: var(--g700)
    }

    .sum-wrap {
        background: var(--g50);
        border: 1px solid var(--g150);
        border-radius: var(--r-md);
        padding: 1rem 1.25rem
    }

    .sum-wrap h4 {
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .08em;
        color: var(--g400);
        margin-bottom: .75rem
    }

    .sum-table {
        width: 100%;
        border-collapse: collapse;
        border: 0 !important;
        font-size: 13px
    }

    .sum-table tr {
        border: 0 !important
    }

    .sum-table tr:last-child {
        border-bottom: 0 !important
    }

    .sum-table td {
        padding: 8px 0;
        vertical-align: top;
        border: 0 !important;
        background: transparent !important
    }

    .sum-table td:first-child {
        color: var(--g300);
        width: 130px;
        font-weight: 600
    }

    .sum-table td:last-child {
        color: var(--g700);
        font-weight: 500;
        word-break: break-word
    }

    .contact-form-sec .modal-ft {
        padding: 1rem 1.5rem;
        border-top: 1px solid var(--g100);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        background: var(--g50)
    }

    .pp-link {
        display: flex;
        align-items: center;
        gap: 6px;
        color: var(--or) !important;
        font-size: 12px;
        font-weight: 600;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(243, 108, 49, .25) !important;
        padding-bottom: 1px
    }

    .pp-link:hover {
        color: var(--or) !important;
        border-color: var(--or) !important;
        text-decoration: none !important;
    }

    .pp-link:hover svg {
        stroke: var(--or) !important;
    }

    .pp-link svg {
        width: 13px;
        height: 13px;
        stroke: var(--or);
        fill: none;
        stroke-width: 1.8
    }

    .btn-accept {
        padding: 10px 30px;
        background: var(--or) !important;
        color: #fff;
        border: none;
        border-radius: var(--r-full);
        font-family: var(--font-med);
        font-size: 12.5px;
        font-weight: 700;
        cursor: pointer;
        box-shadow: var(--sh-btn);
        transition: all .2s;
        opacity: .4;
        pointer-events: none
    }

    .btn-accept.on {
        opacity: 1;
        pointer-events: auto
    }

    .btn-accept.on:hover {
        background: var(--or-h)
    }

    /* ===== RESPONSIVE ===== */
    @media(max-width:680px) {
        .g2 {
            grid-template-columns: 1fr
        }

        .ph-row {
            grid-template-columns: 80px 1fr
        }

        .form-shell {
            padding: 1rem
        }

        .submit-area {
            justify-content: stretch;
        }

        .btn-sub {
            width: 100%;
            min-width: 0
        }

        .contact-form-sec .ovr .modal {
            border-radius: var(--r-lg)
        }

        .contact-form-sec .modal-ft {
            flex-direction: column
        }

    }

    /* Honeypot */
    .hp {
        position: absolute;
        left: -9999px;
        visibility: hidden;
        pointer-events: none;
        height: 0;
        overflow: hidden
    }

    /* WordPress theme guard: keep demo4 form controls from being overridden. */
    .contact-form-sec .form-shell .fi,
    .contact-form-sec .form-shell .fs,
    .contact-form-sec .form-shell .ft {
        border: 1.5px solid var(--g150) !important;
        border-radius: var(--r-sm) !important;
        box-shadow: none;
    }

    .contact-form-sec .form-shell .fi:focus,
    .contact-form-sec .form-shell .fs:focus,
    .contact-form-sec .form-shell .ft:focus {
        border-color: var(--or) !important;
        box-shadow: 0 0 0 3.5px var(--or-glow) !important;
    }

    .contact-form-sec .form-shell .fi.v-ok,
    .contact-form-sec .form-shell .fs.v-ok,
    .contact-form-sec .form-shell .ft.v-ok {
        border-color: var(--ok) !important;
        background: var(--ok-lt) !important;
    }

    .contact-form-sec .form-shell .fi.v-err,
    .contact-form-sec .form-shell .fs.v-err,
    .contact-form-sec .form-shell .ft.v-err {
        border-color: var(--err) !important;
        background: var(--err-lt) !important;
        box-shadow: 0 0 0 3px rgba(192, 57, 43, .08) !important;
    }
