/* Scoped enquiry UI. Page headings and copy remain native Gutenberg content. */
.am-enquiry,
.am-enquiry-dialog,
.am-enquiry-success {
    --am-form-ink: #f7f3ff;
    --am-form-muted: #b9b2c9;
    --am-form-accent: #b786ff;
    color: var(--am-form-ink);
    font-family: inherit;
    box-sizing: border-box;
}
.am-enquiry *,
.am-enquiry-dialog *,
.am-enquiry-success * {
    box-sizing: border-box;
}
.am-enquiry {
    padding: clamp(24px, 3vw, 40px);
    border: 1px solid transparent;
    border-radius: 24px;
    background: linear-gradient(145deg, #20202d, #141421) padding-box,
        repeating-linear-gradient(135deg, #ff985bb3 calc(0% + var(--am-border-shift, 0%)), #a464eb88 calc(45% + var(--am-border-shift, 0%)), #7b3be830 calc(100% + var(--am-border-shift, 0%)), #ff985bb3 calc(200% + var(--am-border-shift, 0%))) border-box;
    box-shadow: 0 22px 70px #0000001f;
    width: 100%;
    margin: 0;
}
.am-enquiry .am-enquiry__intro {
    margin: 0 0 24px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--am-form-muted);
}
.am-enquiry__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
}
.am-enquiry__field {
    min-width: 0;
}
.am-enquiry__field--wide {
    grid-column: 1 / -1;
}
.am-enquiry__field label {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    margin: 0 0 9px;
    color: #eee8f9;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
}
.am-enquiry__optional {
    margin-left: auto;
    color: #9d94b0;
    font-size: 11px;
    font-weight: 400;
}
.am-enquiry :is(input:not([type="hidden"]), select, textarea) {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 49px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #76678277;
    border-radius: 10px;
    background: #0c0e18;
    color: #f8f4ff;
    font: inherit;
    font-size: 14px;
    line-height: 1.6;
    transition: border-color .2s, box-shadow .2s;
    box-shadow: none;
}
.am-enquiry select {
    color-scheme: dark;
    padding-right: 34px;
}
.am-enquiry textarea {
    resize: vertical;
    min-height: 125px;
    max-height: 600px;
}
.am-enquiry input::placeholder,
.am-enquiry textarea::placeholder {
    color: #898196;
    opacity: 1;
}
.am-enquiry :is(input, select, textarea):focus {
    outline: 0;
    border-color: #bc83ff;
    box-shadow: 0 0 0 3px #9154e326;
}
.am-enquiry :is(input, select, textarea)[aria-invalid="true"] {
    border-color: #ffae7c;
}
.am-enquiry__field small {
    display: block;
    margin: 8px 0 0;
    color: #aaa1bb;
    font-size: 11px;
    line-height: 1.75;
}
.am-enquiry__field .am-enquiry__field-error {
    color: #ffbb93;
}
.am-enquiry .am-enquiry__status {
    margin: 20px 0 0;
    padding: 13px 16px;
    border: 1px solid #8b59c777;
    border-radius: 10px;
    color: #ddd0f4;
    background: #7c3aed16;
    font-size: 13px;
    line-height: 1.7;
}
.am-enquiry .am-enquiry__status.is-error {
    border-color: #f49a6777;
    color: #ffd2b7;
    background: #f48d4b0d;
}
.am-enquiry [hidden] {
    display: none !important;
}
.am-enquiry__submit {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 18px;
    width: 100%;
    min-height: 50px;
    margin: 24px 0 0;
    padding: 14px 22px;
    border: 1px solid #ad78ff55;
    border-radius: 999px;
    background: linear-gradient(110deg, #8742ed, #7432db);
    color: #fff;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    cursor: pointer;
    box-shadow: 0 6px 26px #7d32e526;
    transition: background .2s, box-shadow .2s, transform .2s;
}
.am-enquiry__submit:hover {
    background: linear-gradient(110deg, #9454f3, #823feb);
    box-shadow: 0 8px 30px #7d32e54a;
    transform: translateY(-1px);
}
.am-enquiry__submit:disabled {
    opacity: .7;
    cursor: wait;
    transform: none;
}
.am-enquiry__arrow {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    background: currentColor;
    mask: url("../icons/arrow-up-right.svg") center / contain no-repeat;
}
.am-enquiry .am-enquiry__alternative {
    margin: 17px 0 0;
    color: #a89cb8;
    font-size: 11px;
    line-height: 1.7;
    text-align: center;
    overflow-wrap: anywhere;
}
.am-enquiry .am-enquiry__alternative a,
.am-enquiry-success a {
    color: #c7a3fb;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.am-enquiry :is(a, button):focus-visible,
.am-enquiry-dialog :is(a, button):focus-visible,
.am-enquiry-success :is(a, button):focus-visible {
    outline: 3px solid #e3c8ff;
    outline-offset: 4px;
}
html.am-enquiry-modal-open {
    overflow: hidden;
}
.am-enquiry-dialog,
.am-enquiry-success {
    position: fixed;
    width: min(680px, calc(100vw - 36px));
    max-width: none;
    max-height: calc(100dvh - 40px);
    margin: auto;
    padding: clamp(24px, 4vw, 44px);
    overflow: auto;
    overscroll-behavior: contain;
    border: 1px solid #9165c77a;
    border-radius: 26px;
    background: radial-gradient(ellipse at 5% 0, #a6562b22, transparent 55%),
        radial-gradient(ellipse at 100% 100%, #7734cf30, transparent 58%), #11121f;
    box-shadow: 0 35px 120px #0009;
}
.am-enquiry-dialog::backdrop,
.am-enquiry-success::backdrop {
    background: #05070bcc;
    backdrop-filter: blur(9px);
}
.am-enquiry-dialog[open],
.am-enquiry-success[open] {
    animation: am-form-enter .3s ease-out both;
}
.am-enquiry-dialog .am-enquiry {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.am-enquiry-dialog .am-enquiry__intro {
    margin-top: 18px;
}
.am-enquiry__eyebrow {
    margin: 0 46px 14px 0;
    color: #c697ff;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.am-enquiry-dialog h2,
.am-enquiry-success h2 {
    margin: 0 0 20px;
    color: #fff;
    font-family: inherit;
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: 1.08;
}
.am-enquiry-dialog__close {
    position: absolute;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid #8b72aa55;
    border-radius: 50%;
    background: #ffffff05;
    color: #e9d9ff;
    cursor: pointer;
}
.am-enquiry-dialog__close span {
    width: 18px;
    height: 18px;
    background: currentColor;
    mask: url("../icons/x.svg") center / contain no-repeat;
}
.am-enquiry-success {
    width: min(570px, calc(100vw - 36px));
    text-align: center;
    padding-top: 42px;
    padding-bottom: 40px;
}
.am-enquiry-success .am-enquiry__eyebrow {
    margin-right: 0;
}
.am-enquiry-success > p:not(.am-enquiry__eyebrow) {
    max-width: 400px;
    margin: 0 auto 20px;
    color: #c3b7d4;
    font-size: 14px;
    line-height: 1.8;
}
.am-enquiry-success .am-enquiry-success__reference {
    font-size: 11px;
    color: #a699b8;
    letter-spacing: .03em;
}
.am-enquiry-success__orbit {
    display: grid;
    place-items: center;
    width: 100px;
    height: 100px;
    margin: 0 auto 28px;
    border: 1px solid #a679e955;
    border-radius: 50%;
    background: radial-gradient(circle, #7d3bc443, #743adb0c);
    box-shadow: 0 0 0 12px #7d3bc408, 0 0 50px #8342d32b;
}
.am-enquiry-success__mark {
    display: block;
    width: 42px;
    height: 42px;
    background: #cea8ff;
    mask: url("../icons/check.svg") center / contain no-repeat;
}
.am-enquiry-success[open] .am-enquiry-success__orbit {
    animation: am-success-orbit .7s cubic-bezier(.16, 1, .3, 1) both;
}
.am-enquiry-success[open] .am-enquiry-success__mark {
    animation: am-success-check .55s .12s cubic-bezier(.16, 1, .3, 1) both;
}
.am-enquiry-success__actions {
    display: grid;
    gap: 18px;
    justify-items: center;
}
.am-enquiry-success__actions .am-enquiry__submit {
    width: auto;
    min-width: 210px;
    margin: 0;
}
.am-enquiry-success__actions a {
    font-size: 12px;
}
.am-enquiry-response {
    margin: 0;
    padding: 40px 20px;
    color: #f5efff;
    background: #0d0f19;
    font: 16px/1.7 system-ui, sans-serif;
}
.am-enquiry-response main {
    max-width: 680px;
    margin: 0 auto;
}
.am-enquiry-response h1 {
    font-size: 32px;
    line-height: 1.2;
}
.am-enquiry-response a {
    color: #cfacff;
}
@keyframes am-form-enter {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
    to { opacity: 1; transform: none; }
}
@keyframes am-success-orbit {
    from { opacity: 0; transform: scale(.7); box-shadow: 0 0 0 0 #7d3bc450; }
    to { opacity: 1; transform: scale(1); box-shadow: 0 0 0 12px #7d3bc408, 0 0 50px #8342d32b; }
}
@keyframes am-success-check {
    from { opacity: 0; transform: scale(.55) rotate(-15deg); }
    to { opacity: 1; transform: scale(1) rotate(0); }
}
@media (max-width: 560px) {
    .am-enquiry {
        padding: 24px 20px;
        border-radius: 18px;
    }
    .am-enquiry__fields {
        grid-template-columns: 1fr;
        gap: 17px;
    }
    .am-enquiry :is(input:not([type="hidden"]), select, textarea) {
        font-size: 16px;
    }
    .am-enquiry-dialog,
    .am-enquiry-success {
        width: calc(100vw - 24px);
        max-height: calc(100dvh - 24px);
        padding: 28px 22px;
        border-radius: 20px;
    }
    .am-enquiry-dialog h2 {
        max-width: 85%;
    }
    .am-enquiry-success {
        padding-top: 44px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .am-enquiry *,
    .am-enquiry-dialog,
    .am-enquiry-success,
    .am-enquiry-success * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}

/* Keep the native-link fallback clean in browsers without dialog support. */
.am-enquiry-dialog:not([open]),
.am-enquiry-success:not([open]) {
    display: none;
}
/* Native groups own placement only; the form provides the single visible card. */
.am-enquiry-slot {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.am-enquiry-slot > .am-enquiry {
    margin: 0;
}
.am-enquiry-slot--with-intro > .am-enquiry {
    margin-top: 24px;
}
