/* Native PHP contact form layout and interaction states. */
.page-contact .foxiam-contact-hero,
.page-contact .foxiam-contact-section {
    padding-inline: clamp(14px, 2vw, 24px);
}

.page-contact .foxiam-contact-hero {
    margin-top: clamp(16px, 3vw, 30px);
}

.page-contact .foxiam-contact-hero-inner,
.page-contact .foxiam-contact-section-inner {
    max-width: 1240px; margin: 0px auto;
}

.page-contact .foxiam-contact-hero-inner {
    display: grid; grid-template-columns: minmax(0px, 1.08fr) minmax(280px, 0.82fr); gap: clamp(20px, 3vw, 30px); padding: clamp(24px, 4vw, 38px); border-radius: 28px; background: radial-gradient(circle at left top, rgba(255, 166, 68, 0.18), transparent 26%), linear-gradient(145deg, rgb(23, 41, 61) 0%, rgb(32, 58, 82) 58%, rgb(42, 74, 102) 100%); box-shadow: rgba(10, 20, 33, 0.18) 0px 24px 56px;
}

.page-contact .foxiam-contact-kicker,
.page-contact .foxiam-contact-panel-kicker,
.page-contact .foxiam-contact-info-label {
    display: inline-block; color: rgb(255, 182, 110); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
}

.page-contact .foxiam-contact-hero-copy h1,
.page-contact .foxiam-contact-section-header h2 {
    margin: 0px; letter-spacing: -0.03em;
}

.page-contact .foxiam-contact-hero-copy h1 {
    margin-top: 14px; max-width: 10ch; color: rgb(245, 248, 251); font-size: clamp(2.1rem, 4.8vw, 3.8rem); line-height: 1.04;
}

.page-contact .foxiam-contact-hero-copy p,
.page-contact .foxiam-contact-hero-panel li {
    color: rgba(238, 243, 248, 0.88);
}

.page-contact .foxiam-contact-hero-copy > p {
    margin: 18px 0px 0px; max-width: 36rem; font-size: 1rem; line-height: 1.72;
}

.page-contact .foxiam-contact-actions {
    display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px;
}

.page-contact .foxiam-contact-button {
    display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0px 18px; border-radius: 999px; border: 1px solid transparent; font-size: 0.92rem; font-weight: 700; text-decoration: none !important;
}

.page-contact .foxiam-contact-button-primary {
    background: linear-gradient(135deg, rgb(110, 122, 240) 0%, rgb(95, 107, 229) 100%); box-shadow: rgba(110, 122, 240, 0.26) 0px 18px 36px; color: rgb(255, 255, 255) !important;
}

.page-contact .foxiam-contact-button-secondary {
    background: rgba(255, 255, 255, 0.05); border-color: rgba(226, 234, 243, 0.18); color: rgb(237, 243, 250) !important;
}

.page-contact .foxiam-contact-hero-panel {
    padding: clamp(20px, 3vw, 24px); border-radius: 22px; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(223, 233, 244, 0.14);
}

.page-contact .foxiam-contact-checklist {
    list-style: none; margin: 16px 0px 0px; padding: 0px; display: grid; gap: 12px;
}

.page-contact .foxiam-contact-checklist li {
    position: relative; padding-left: 26px;
}

.page-contact .foxiam-contact-checklist li::before {
    content: ""; position: absolute; left: 0px; top: 0.72em; width: 10px; height: 10px; border-radius: 999px; background: linear-gradient(135deg, rgb(255, 167, 79) 0%, rgb(255, 203, 143) 100%); box-shadow: rgba(255, 167, 79, 0.18) 0px 0px 0px 6px;
}

.page-contact .foxiam-contact-section {
    margin-top: clamp(22px, 4vw, 40px);
}

.page-contact .foxiam-contact-section-inner {
    padding: clamp(24px, 4vw, 34px); border-radius: 26px; border: 1px solid rgba(171, 189, 210, 0.5); background: var(--fx-surface); box-shadow: rgba(15, 23, 42, 0.08) 0px 14px 38px;
}

.page-contact .foxiam-contact-shell {
    display: grid; grid-template-columns: minmax(0px, 1.08fr) minmax(280px, 0.72fr); gap: clamp(22px, 3vw, 30px);
}

.page-contact .foxiam-contact-section-header {
    max-width: 780px; margin: 0px auto 24px; text-align: center;
}

.page-contact .foxiam-contact-section-header-left {
    margin-inline: 0px; text-align: left;
}

.page-contact .foxiam-contact-section-header h2 {
    margin-top: 12px; color: var(--fx-ink); font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.08;
}

.page-contact .foxiam-contact-section-header p,
.page-contact .foxiam-contact-info-card p {
    color: var(--fx-muted); line-height: 1.72;
}

.page-contact .foxiam-contact-section-header p {
    margin: 14px 0px 0px; font-size: 1.04rem;
}

.page-contact .foxiam-contact-form-card {
    margin-top: 16px;
}

.page-contact .foxiam-contact-sidebar-stack {
    display: grid; gap: 16px;
}

.page-contact .foxiam-contact-info-card p {
    margin: 10px 0px 0px;
}

.page-contact .foxiam-contact-info-card a {
    text-decoration: none; color: var(--fx-ink) !important;
}

.page-contact .foxiam-contact-info-card a:hover,
.page-contact .foxiam-contact-info-card a:focus-visible {
    text-decoration: underline; text-underline-offset: 0.18em;
}

.page-contact .foxiam-contact-info-card-muted {
    background: linear-gradient(rgba(255, 250, 244, 0.9), rgb(255, 255, 255));
}

.foxiam-honeypot-field {
    position: absolute; left: -9999px; opacity: 0; pointer-events: none;
}

@media (max-width: 900px) {
    .page-contact .foxiam-contact-hero-inner,
.page-contact .foxiam-contact-shell {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .page-contact .foxiam-contact-hero-inner,
.page-contact .foxiam-contact-section-inner {
        padding: 18px 14px; border-radius: 18px;
    }

    .page-contact .foxiam-contact-actions {
        flex-direction: column; align-items: stretch;
    }

    .page-contact .foxiam-contact-button {
        width: 100%;
    }
}

/* Form controls and server-rendered results are owned by the site, not WPForms. */
.contact-form-wrapper { margin-bottom: 26px; }
.contact-field { padding: 10px 0; position: relative; }
.contact-label { display: block; font-weight: 700; overflow-wrap: break-word; }
.contact-required { color: #a83c2e; font-weight: 400; }
.contact-form :is(input:not([type="hidden"]), textarea) { display: block; width: 100%; padding: .75em; font: inherit; border: 1px solid #bcb7ac; border-radius: 5px; background: white; color: #242d36; }
.contact-form textarea { resize: vertical; min-height: 220px; }
.contact-submit-container { position: relative; padding-top: 10px; }
.contact-errors, .contact-confirmation { padding: 18px; margin-bottom: 20px; border: 1px solid; border-radius: 6px; }
.contact-errors { color: #862e23; background: #fff4f0; }
.contact-confirmation { color: #23523c; background: #f0faf3; }
.contact-errors p:last-child, .contact-confirmation p:last-child { margin-bottom: 0; }

.page-contact .foxiam-contact-form-card,
.page-contact .foxiam-contact-info-card {
    padding: 22px;
}
