/*
Theme Name: QP Green Park
Theme URI: https://leadigital.vn/
Author: Lead Digital
Author URI: https://leadigital.vn
Description: QP Green Park Coming Soon
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: QP Green Park
*/

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

html,
body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
}

html {
    background: #124230;
}

body {
    min-width: 320px;
    overflow-x: hidden;
    background: #124230;
    color: #fff;
    font-family: "Montserrat", Arial, sans-serif;
    font-weight: 400;
}

body.qpg-modal-open {
    overflow: hidden;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    -webkit-tap-highlight-color: transparent;
}

/* =========================================================
   ROOT / BACKGROUND
========================================================= */

.qpg-coming {
    --green-950: #06362d;
    --green-900: #124230;
    --green-850: #0b4f40;
    --green-800: #12604d;
    --gold: #efcb84;
    --gold-soft: #f7dfac;
    --ivory: #fff8ea;

    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    overflow: hidden;
    isolation: isolate;
    background: var(--green-900);
}

.qpg-coming__bg {
    --qpg-bg-position-x: 68%;
    --qpg-bg-shift-x: 15%;
    --qpg-bg-shift-start-x: 5.5%;
    --qpg-bg-scale: 1.07;
    --qpg-bg-scale-start: 1.11;

    position: absolute;
    inset: 0;
    z-index: -8;
    background-image: url("../images/project-background.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: var(--qpg-bg-position-x) center;
    filter: saturate(1.02) contrast(1.02) brightness(1.06);
    transform: translateX(var(--qpg-bg-shift-x)) scale(var(--qpg-bg-scale));
    transform-origin: center center;
    animation: qpgBackgroundReveal 1.8s cubic-bezier(.18, .72, .18, 1) both;
}

.qpg-coming__bg-intro {
    position: absolute;
    inset: 0;
    z-index: -7;
    background:
        linear-gradient(
            90deg,
            rgba(18, 66, 48, .62) 0%,
            rgba(18, 66, 48, .30) 38%,
            rgba(255, 255, 255, .10) 67%,
            rgba(255, 255, 255, .02) 100%
        );
    animation: qpgIntroVeil 2s .08s cubic-bezier(.18, .72, .18, 1) both;
    pointer-events: none;
}

.qpg-coming__overlay {
    position: absolute;
    inset: 0;
    z-index: -6;
    background:
        linear-gradient(
            90deg,
            rgba(18, 66, 48, 1) 0%,
            rgba(18, 66, 48, .99) 18%,
            rgba(18, 66, 48, .96) 31%,
            rgba(18, 66, 48, .86) 42%,
            rgba(18, 66, 48, .52) 50%,
            rgba(18, 66, 48, .14) 58%,
            rgba(18, 66, 48, .10) 66%,
            rgba(18, 66, 48, .04) 74%,
            transparent 86%
        ),
        linear-gradient(
            180deg,
            rgba(18, 66, 48, .26) 0%,
            rgba(18, 66, 48, .05) 26%,
            rgba(18, 66, 48, .015) 56%,
            rgba(18, 66, 48, .20) 100%
        ),
        radial-gradient(
            circle at 13% 56%,
            rgba(18, 96, 72, .30) 0%,
            rgba(18, 96, 72, .07) 34%,
            transparent 62%
        );
}

.qpg-coming__focus {
    position: absolute;
    inset: 0;
    z-index: -5;
    background:
        radial-gradient(
            ellipse at 80% 48%,
            rgba(255, 255, 255, .16) 0%,
            rgba(255, 255, 255, .075) 24%,
            rgba(255, 255, 255, .02) 43%,
            transparent 64%
        ),
        linear-gradient(
            105deg,
            transparent 46%,
            rgba(255, 255, 255, .025) 68%,
            rgba(255, 255, 255, .055) 100%
        );
    pointer-events: none;
}

.qpg-coming__glow {
    position: absolute;
    z-index: -4;
    border-radius: 50%;
    pointer-events: none;
}

.qpg-coming__glow--left {
    left: -14%;
    top: 34%;
    width: 44vw;
    height: 44vw;
    min-width: 360px;
    min-height: 360px;
    background: radial-gradient(circle, rgba(239, 203, 132, .12) 0%, rgba(239, 203, 132, .035) 40%, transparent 72%);
    filter: blur(30px);
    animation: qpgGlowPulse 6.5s ease-in-out infinite;
}

.qpg-coming__glow--project {
    right: 5%;
    top: 14%;
    width: 30vw;
    height: 30vw;
    min-width: 260px;
    min-height: 260px;
    background: radial-gradient(circle, rgba(255, 255, 255, .09) 0%, rgba(255, 255, 255, .02) 44%, transparent 72%);
    filter: blur(34px);
    animation: qpgGlowPulse 9s ease-in-out infinite reverse;
}

.qpg-ornament {
    position: absolute;
    z-index: 2;
    pointer-events: none;
    will-change: transform;
}

.qpg-ornament--top {
    top: -2px;
    right: 0;
    width: clamp(180px, 18vw, 330px);
    opacity: .74;
    transform-origin: 100% 0%;
    animation: qpgTopLeafMotion 7s ease-in-out infinite;
}

.qpg-ornament--bottom {
    left: 0;
    bottom: -3px;
    width: clamp(155px, 15.5vw, 280px);
    opacity: .62;
    transform-origin: 0% 100%;
    animation: qpgBottomLeafMotion 7.6s ease-in-out infinite;
}

/* =========================================================
   LAYOUT / PARTNERS
========================================================= */

.qpg-shell {
    position: relative;
    z-index: 4;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    padding:
        clamp(26px, 4.5vh, 48px)
        clamp(24px, 3vw, 54px)
        clamp(30px, 4vh, 42px)
        clamp(24px, 2.2vw, 40px);
    display: grid;
    grid-template-rows: auto 1fr;
}

.qpg-topbar {
    width: min(660px, 64vw);
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(220px, 1fr);
    align-items: start;
    gap: 38px;
    animation: qpgFadeDown .8s .14s both cubic-bezier(.18, .72, .18, 1);
}

.qpg-partner {
    min-width: 0;
}

.qpg-partner--right {
    justify-self: start;
}

.qpg-partner__label {
    margin: 0 0 10px;
    color: #fff;
    font-size: .70rem;
    line-height: 1.4;
    text-align: center;
    font-weight: 700;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.qpg-partner__logo {
    width: auto;
    margin: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .12));
}

.qpg-partner__logo--qp {
    height: clamp(34px, 2.5vw, 42px);
}

.qpg-partner__logo--qs {
    height: clamp(40px, 2.9vw, 49px);
}

/* =========================================================
   HERO
========================================================= */

.qpg-hero {
    position: relative;
    min-height: 0;
    display: flex;
    align-items: center;
}

.qpg-hero__content {
    width: min(640px, 55vw);
    padding-top: clamp(18px, 4vh, 54px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Coming Soon: text centered between two opposing gold lines */
.qpg-badge {
    width: min(590px, 100%);
    display: grid;
    grid-template-columns: minmax(42px, 1fr) auto minmax(42px, 1fr);
    align-items: center;
    gap: clamp(16px, 1.6vw, 28px);
    margin-bottom: clamp(20px, 3vh, 32px);
    color: var(--gold-soft);
    text-transform: uppercase;
    animation: qpgHeroReveal 1s .28s both cubic-bezier(.18, .72, .18, 1);
}

.qpg-badge__line {
    width: 100%;
    height: 1px;
    box-shadow: 0 0 14px rgba(239, 203, 132, .18);
}

.qpg-badge__line--left {
    background: linear-gradient(90deg, rgba(239, 203, 132, .06), rgba(239, 203, 132, .95));
}

.qpg-badge__line--right {
    background: linear-gradient(90deg, rgba(239, 203, 132, .95), rgba(239, 203, 132, .06));
}

.qpg-badge__text {
    position: relative;
    white-space: nowrap;
    font-size: clamp(28px, 2.25vw, 44px);
    line-height: .95;
    font-weight: 700;
    letter-spacing: .13em;
    text-align: center;
    text-shadow: 0 0 20px rgba(247, 223, 172, .24);
}

.qpg-badge__text::after {
    display: none;
}

.qpg-brand {
    /* Main project logo scales gently instead of becoming oversized on laptops. */
    width: clamp(250px, 15vw, 360px);
    margin: 0 auto clamp(18px, 2.8vh, 28px);
    animation: qpgHeroReveal 1s .28s both cubic-bezier(.18, .72, .18, 1);
}

.qpg-brand__logo {
    width: 100%;
    filter: drop-shadow(0 16px 34px rgba(0, 0, 0, .14));
}

.qpg-tagline {
    width: min(590px, 100%);
    margin: 2rem auto 0;
    color: #fff;
    font-size: clamp(13px, 1.22vw, 18px);
    line-height: 1.42;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
    text-shadow: 0 12px 26px rgba(0, 0, 0, .15);
    animation: qpgHeroReveal 1s .40s both cubic-bezier(.18, .72, .18, 1);
}

.qpg-description {
    width: min(600px, 100%);
    margin: clamp(16px, 2.3vh, 22px) auto 0;
    color: rgba(255, 255, 255, .78);
    font-size: clamp(12px, .92vw, 14px);
    line-height: 1.8;
    font-weight: 400;
    animation: qpgHeroReveal 1s .60s both cubic-bezier(.18, .72, .18, 1);
}

/* =========================================================
   COUNTDOWN — PREMIUM GLASS BAR
========================================================= */

.qpg-countdown-wrap {
    width: min(490px, 100%);
    margin: clamp(22px, 3vh, 32px) auto 0;
    animation: qpgHeroReveal 1s .80s both cubic-bezier(.18, .72, .18, 1);
}

.countdown {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(247, 223, 172, .28);
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .115), rgba(255, 255, 255, .045)),
        rgba(8, 61, 48, .16);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 16px 34px rgba(0, 0, 0, .10);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.countdown::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 42%;
    height: 1px;
    background: linear-gradient(90deg, var(--gold), transparent);
    opacity: .72;
}

.time-box {
    position: relative;
    min-width: 0;
    min-height: 76px;
    padding: 14px 10px 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.time-box + .time-box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 21%;
    bottom: 21%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(247, 223, 172, .24), transparent);
}

.time-box .number {
    display: block;
    color: #fff;
    font-size: clamp(46px, 3.4vw, 64px);
    line-height: .95;
    font-weight: 600;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .15);
}

.time-box .label {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, .72);
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.time-box--seconds .number {
    color: var(--gold-soft);
    text-shadow: 0 0 20px rgba(247, 223, 172, .17);
}

.qpg-countdown__status {
    display: none;
    margin: 10px 0 0;
    color: var(--gold-soft);
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.qpg-countdown__status.is-visible {
    display: block;
}

/* =========================================================
   REGISTER CTA
========================================================= */

.qpg-link {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    margin: clamp(20px, 3vh, 30px) auto 0;
    padding: 12px 17px;
    border: 1px solid rgba(247, 223, 172, .52);
    border-radius: 999px;
    outline: 0;
    background: rgba(255, 255, 255, .035);
    color: #fff;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .105em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    transition: color .28s ease, border-color .28s ease, background .28s ease, transform .28s ease, box-shadow .28s ease;
    animation: qpgHeroReveal 1s 1s both cubic-bezier(.18, .72, .18, 1);
}

.qpg-link__icon {
    width: 19px;
    height: 19px;
    color: var(--gold-soft);
}

.qpg-link__icon svg,
.qpg-link__arrow {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.qpg-link__arrow {
    width: 16px;
    height: 16px;
    color: var(--gold-soft);
    transition: transform .28s ease;
    animation: qpgRegisterArrowMove 1.45s cubic-bezier(.45, 0, .2, 1) infinite;
    will-change: transform, opacity;
}

.qpg-link:hover,
.qpg-link:focus-visible {
    color: var(--gold-soft);
    border-color: rgba(247, 223, 172, .82);
    background: rgba(239, 203, 132, .09);
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .10);
}

.qpg-link:hover .qpg-link__arrow,
.qpg-link:focus-visible .qpg-link__arrow {
    transform: translateX(3px);
}

/* =========================================================
   POPUP
========================================================= */

.qpg-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    padding: 22px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .32s ease, visibility .32s ease;
}

.qpg-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.qpg-modal__backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(2, 28, 22, .68);
    cursor: default;
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

.qpg-modal__panel {
    position: relative;
    z-index: 2;
    width: min(540px, 100%);
    max-height: calc(100svh - 44px);
    overflow-y: auto;
    padding: clamp(25px, 4vw, 38px);
    border: 1px solid rgba(247, 223, 172, .34);
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(239, 203, 132, .08), transparent 34%),
        linear-gradient(145deg, rgba(18, 75, 59, .98), rgba(8, 54, 43, .98));
    color: #fff;
    box-shadow:
        0 34px 90px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .07);
    transform: translateY(18px) scale(.985);
    transition: transform .38s cubic-bezier(.18, .72, .18, 1);
}

.qpg-modal.is-open .qpg-modal__panel {
    transform: translateY(0) scale(1);
}

.qpg-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .045);
    color: rgba(255, 255, 255, .84);
    cursor: pointer;
    transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease;
}

.qpg-modal__close svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
}

.qpg-modal__close:hover,
.qpg-modal__close:focus-visible {
    color: var(--gold-soft, #f7dfac);
    border-color: rgba(247, 223, 172, .38);
    background: rgba(239, 203, 132, .07);
    transform: rotate(4deg);
}

.qpg-modal__heading {
    padding-right: 42px;
    margin-bottom: 24px;
}

.qpg-modal__eyebrow {
    display: block;
    margin-bottom: 9px;
    color: #f7dfac;
    font-size: 9px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: .19em;
    text-transform: uppercase;
}

.qpg-modal__title {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.16;
    font-weight: 700;
    letter-spacing: -.02em;
}

.qpg-modal__desc {
    max-width: 460px;
    margin: 12px 0 0;
    color: rgba(255, 255, 255, .68);
    font-size: 12.5px;
    line-height: 1.7;
}

.qpg-popup-form {
    width: 100%;
    margin: 0;
}

/*
 * CF7 có thể tự sinh <p>/<br> khi render form.
 * display:contents giữ cho các field wrapper vẫn là grid item thực tế,
 * tránh lỗi ô bị nhảy cột hoặc chỉ chiếm 1/2 chiều rộng.
 */
.qpg-popup-form__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
    width: 100%;
    margin: 0;
}

.qpg-popup-form__grid > p {
    display: contents;
    margin: 0 !important;
}

.qpg-popup-form__grid br {
    display: none;
}

.qpg-popup-form__field {
    display: block;
    min-width: 0;
    width: 100%;
    margin: 0;
}

.qpg-popup-form__field--full {
    grid-column: 1 / -1 !important;
}

.qpg-popup-form__field > p {
    margin: 0 !important;
}

.qpg-popup-form__label {
    display: block;
    margin: 0 0 8px;
    color: rgba(255, 255, 255, .80);
    font-size: 10px;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: .035em;
}

.qpg-popup-form__required {
    color: #f7dfac;
    font-weight: 700;
}

.qpg-popup-form .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.qpg-popup-form .qpg-popup-form__control,
.qpg-popup-form input[type="text"],
.qpg-popup-form input[type="tel"],
.qpg-popup-form input[type="email"],
.qpg-popup-form textarea,
.qpg-popup-form select {
    display: block;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    border-radius: 11px !important;
    outline: 0;
    background: rgba(255, 255, 255, .065) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: border-color .24s ease, background .24s ease, box-shadow .24s ease;
}

.qpg-popup-form input[type="text"],
.qpg-popup-form input[type="tel"],
.qpg-popup-form input[type="email"],
.qpg-popup-form select {
    height: 48px !important;
    padding: 0 14px !important;
}

.qpg-popup-form textarea {
    min-height: 102px !important;
    height: 102px;
    padding: 13px 14px !important;
    resize: vertical;
}

.qpg-popup-form input::placeholder,
.qpg-popup-form textarea::placeholder {
    color: rgba(255, 255, 255, .43) !important;
    opacity: 1;
}

.qpg-popup-form input:focus,
.qpg-popup-form textarea:focus,
.qpg-popup-form select:focus {
    border-color: rgba(247, 223, 172, .68) !important;
    background: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 0 0 3px rgba(247, 223, 172, .07) !important;
}

.qpg-popup-form__submit-wrap {
    position: relative;
    width: 100%;
    margin-top: 18px;
}

.qpg-popup-form__submit,
.qpg-popup-form input[type="submit"].qpg-popup-form__submit {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    max-width: none !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 46px !important;
    float: none !important;
    border: 1px solid rgba(247, 223, 172, .72) !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, #f4d793, #dcb86e) !important;
    color: #0a4437 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 13px 28px rgba(0, 0, 0, .13) !important;
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease;
}

.qpg-popup-form__submit-icon {
    position: absolute;
    top: 50%;
    right: 18px;
    width: 17px;
    height: 17px;
    color: #0a4437;
    pointer-events: none;
    transform: translateY(-50%);
}

.qpg-popup-form__submit-icon svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.qpg-popup-form__submit:hover,
.qpg-popup-form__submit:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.035);
    box-shadow: 0 17px 34px rgba(0, 0, 0, .18) !important;
}

.qpg-popup-form__note {
    margin: 14px 0 0 !important;
    color: rgba(255, 255, 255, .48);
    font-size: 9.5px;
    line-height: 1.55;
    text-align: center;
}

/* Contact Form 7 compatibility inside the popup */
.qpg-modal .wpcf7,
.qpg-modal .wpcf7-form {
    width: 100%;
    margin: 0;
}

.qpg-modal .wpcf7-form > p,
.qpg-modal .wpcf7-form > br {
    margin: 0;
}

.qpg-popup-form__plugin-note {
    margin: 0;
    padding: 13px 15px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 11px;
    background: rgba(255, 255, 255, .06);
    color: rgba(255, 255, 255, .78);
    font-size: 11px;
    line-height: 1.6;
}

.qpg-modal .wpcf7-spinner {
    position: absolute;
    left: 18px;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
}

.qpg-modal .wpcf7-not-valid-tip {
    display: block;
    margin-top: 5px;
    color: #ffd4c8;
    font-size: 10px;
}

.qpg-modal .wpcf7-response-output {
    margin: 12px 0 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 9px;
    background: rgba(255, 255, 255, .07);
    color: #ffd4c8;
    font-size: 11px;
}

/* =========================================================
   MOTION
========================================================= */

@keyframes qpgRegisterArrowMove {
    0%, 18%, 100% {
        transform: translate3d(0, 0, 0);
        opacity: .72;
    }
    48% {
        transform: translate3d(5px, 0, 0);
        opacity: 1;
    }
    68% {
        transform: translate3d(2px, 0, 0);
        opacity: .88;
    }
}

@keyframes qpgBackgroundRevealMobile {
    from {
        opacity: 1;
        transform: translateX(var(--qpg-bg-shift-start-x)) scale(var(--qpg-bg-scale-start));
        filter: saturate(.98) contrast(1) brightness(1.03);
    }
    to {
        opacity: 1;
        transform: translateX(var(--qpg-bg-shift-x)) scale(var(--qpg-bg-scale));
        filter: saturate(1.02) contrast(1.02) brightness(1.06);
    }
}

@keyframes qpgBackgroundReveal {
    from {
        opacity: 0;
        transform: translateX(var(--qpg-bg-shift-start-x)) scale(var(--qpg-bg-scale-start));
        filter: saturate(.88) contrast(.96) brightness(1.14) blur(4px);
    }
    to {
        opacity: 1;
        transform: translateX(var(--qpg-bg-shift-x)) scale(var(--qpg-bg-scale));
        filter: saturate(1.02) contrast(1.02) brightness(1.06) blur(0);
    }
}

@keyframes qpgIntroVeil {
    0% { opacity: 1; }
    45% { opacity: .7; }
    100% { opacity: 0; }
}

@keyframes qpgGlowPulse {
    0%, 100% { opacity: .78; }
    50% { opacity: 1; }
}

@keyframes qpgTopLeafMotion {
    0%, 100% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(1.3deg) scale(1.008); }
}

@keyframes qpgBottomLeafMotion {
    0%, 100% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(-1.6deg) scale(1.012); }
}

@keyframes qpgFadeDown {
    from { opacity: 0; transform: translateY(-12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes qpgHeroReveal {
    from { opacity: 0; transform: translateY(22px); }
    to { opacity: 1; transform: translateY(0); }
}

/* =========================================================
   RESPONSIVE
========================================================= */
@media (min-width: 1600px) {
    .qpg-coming-soon-lift__letters > span, .qpg-badge-lift__letters > span{    font-size: 6rem;}
}
@media (min-width: 1900px) {
    .qpg-coming-soon-lift__letters > span, .qpg-badge-lift__letters > span{    font-size:7.5rem;}
    .qpg-shell {
        width: 100%;
        max-width: none;
        padding-left: 36px;
    }

    .qpg-hero__content {
        width: 720px;
    }
    .qpg-topbar {width: 720px;}
    .qpg-brand {
        width: 380px;
    }

    .qpg-partner__logo--qp {
        height: 42px;
    }

    .qpg-partner__logo--qs {
        height: 49px;
    }

    .qpg-countdown-wrap {
        width: 620px;
    }

    .qpg-badge__text {
        font-size: 46px;
    }

    .time-box .number {
        font-size: 68px;
    }
}

@media (max-width: 1180px) {
    .qpg-shell {
        padding-left: 44px;
        padding-right: 44px;
    }

    .qpg-topbar {
        width: min(620px, 72vw);
        gap: 42px;
    }

    .qpg-partner__label {
        font-size: 1rem;
    }

    .qpg-partner__logo--qp {
        height: clamp(31px, 3.2vw, 37px);
    }

    .qpg-partner__logo--qs {
        height: clamp(36px, 3.8vw, 43px);
    }

    .qpg-hero__content {
        width: min(610px, 62vw);
    }

    .qpg-brand {
        width: clamp(235px, 26vw, 310px);        padding-top: 15rem;
    }

    .qpg-countdown-wrap {
        width: min(500px, 100%);
    }
}

@media (max-width: 900px) {
    /*
     * Mobile refresh/F5 paint fix:
     * keep the first painted frame green and avoid the desktop opacity/blur reveal,
     * which can briefly expose a pale/white compositing frame on some mobile browsers.
     */
    html,
    body {
        background-color: #124230 !important;
    }

    .qpg-coming {
        overflow-y: auto;
        background-color: #124230 !important;
    }

    .qpg-coming__bg {
        opacity: 1;
        background-color: #124230;
        animation: qpgBackgroundRevealMobile .9s cubic-bezier(.18, .72, .18, 1) both;
    }

    .qpg-coming__bg-intro {
        display: none;
    }

    .qpg-coming__bg {
                --qpg-bg-position-x: 100%;
        --qpg-bg-shift-x: 0%;
        --qpg-bg-shift-start-x: 0%;
        --qpg-bg-scale: 1;
        --qpg-bg-scale-start: 1;
        transform-origin: center top;
        background-position: 60% top;
        background-size: 180%;
    }

    .qpg-coming__overlay {
        background:
            linear-gradient(
                180deg,
                rgba(5, 50, 41, .22) 0%,
                rgba(5, 50, 41, .20) 21%,
                rgba(6, 56, 46, .50) 48%,
                rgba(5, 46, 38, .86) 73%,
                rgba(4, 39, 32, .96) 100%
            ),
            linear-gradient(90deg, rgba(5, 50, 41, .32) 0%, rgba(5, 50, 41, .08) 68%, transparent 100%);
    }

    .qpg-coming__focus {
        background: radial-gradient(ellipse at 67% 25%, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .035) 30%, transparent 60%);
    }

    .qpg-shell {
        padding: 30px 34px 30px;
    }

    .qpg-topbar {
        width: 100%;
        grid-template-columns: 1fr 1fr;
        gap: 26px;
    }

    .qpg-partner--right {
        justify-self: end;
        text-align: right;
    }

    .qpg-partner--right .qpg-partner__logo {
        margin-left: auto;
    }

    .qpg-partner__logo--qp {
        height: clamp(29px, 5vw, 34px);
    }

    .qpg-partner__logo--qs {
        height: clamp(34px, 5.7vw, 40px);
    }

    .qpg-hero {
        align-items: flex-end;
        padding: 17vh 0 32px;justify-content: center;
    }

    .qpg-hero__content {
        width: 100%;
        max-width: 610px;
        padding-top: 0;
    }

    .qpg-brand {
        width: clamp(240px, 36vw, 310px);        padding-top: 0;
    }

    .qpg-countdown-wrap {
        width: min(590px, 100%);
    }

    .qpg-ornament--top {
        width: clamp(150px, 26vw, 230px);
    }

    .qpg-ornament--bottom {
        bottom: -3px;
        width: clamp(135px, 23vw, 215px);
    }
}

@media (max-width: 640px) {
    .qpg-coming__overlay {
        background:linear-gradient(
                180deg,
                rgba(5, 49, 40, .05) 0%,
                rgba(5, 49, 40, .18) 25%,
                rgba(6, 55, 45, .90) 45%,
                rgba(5, 49, 40, .95) 50%,
                rgba(4, 40, 33, .100) 100%
            ),
            linear-gradient(90deg, rgba(5, 48, 39, .30) 0%, rgba(5, 48, 39, .05) 72%, transparent 100%)
    }

    .qpg-shell {
        padding: 23px 20px 24px;
    }

    .qpg-topbar {
        gap: 14px;
    }

    .qpg-partner__label {
        min-height: 22px;
        margin-bottom: 7px;
        font-size:8.8px;
        line-height: 1.4;
    }

    .qpg-partner__logo--qp {
        height: clamp(22px, 6.2vw, 32px);
    }

    .qpg-partner__logo--qs {
        height: clamp(25px, 9vw, 33px);        margin-top: -4px;
    }

    .qpg-hero {
        padding: 5vh 0 18px;
    }

    .qpg-badge {
        grid-template-columns: minmax(28px, 1fr) auto minmax(28px, 1fr);
        gap: 12px;
        margin-bottom: 18px;
    }

    .qpg-badge__text {
        font-size: clamp(18px, 5.8vw, 26px);
        letter-spacing: .13em;
    }

    .qpg-brand {
        width: min(62vw, 270px);
        min-width: 220px;
        margin-bottom: 16px;
    }

    .qpg-tagline {
        max-width: 100%;
        margin-top: 1.6rem;
        font-size: clamp(12px, 3.8vw, 15px);
        line-height: 1.5;
        letter-spacing: .055em;
    }

    .qpg-description {
        max-width: 100%;
        margin-top: 14px;
        font-size: 13px;
        line-height: 1.68;
    }

    .qpg-countdown-wrap {
        margin-top: 19px;
    }

    .countdown {
        border-radius: 13px;
    }

    .time-box {
        min-height: 83px;
        padding: 13px 5px 12px;
    }

    .time-box .number {
        font-size:clamp(25px, 10.2vw, 32px);
    }

    .time-box .label {
        margin-top: 5px; font-size: 9px;
        letter-spacing: .10em;
    }

    .qpg-link {
        margin-top: 18px;
        padding: 11px 14px;
        font-size: 10.7px;
    }

    .qpg-link__icon {
        width: 20px;
        height: 20px;
    }
    .qpg-link__arrow {
    width: 20px;
    height: 20px;}
    .qpg-ornament--top {
        width: 158px;
        opacity: .52;
    }

    .qpg-ornament--bottom {
        bottom: -4px;
        width: 150px;
        opacity: .48;
    }

    .qpg-modal {
        padding: 14px;
        align-items: center;
        justify-items: center;
    }

    .qpg-modal__panel {
        width: 100%;
        max-height: calc(100svh - 28px);
        margin: auto;
        padding: 24px 18px 20px;
        border-radius: 20px;
    }

    .qpg-modal__heading {
        padding-right: 38px;
        margin-bottom: 20px;
    }

    .qpg-modal__title {
        font-size: 25px;
    }

    .qpg-popup-form__grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .qpg-popup-form__field--full {
        grid-column: auto;
    }

    .qpg-popup-form input {
        height: 46px;
    }

    .qpg-popup-form textarea {
        min-height: 88px;
    }
}

@media (max-width: 380px) {
    .qpg-shell {
        padding-left: 17px;
        padding-right: 17px;
    }

    .qpg-hero {
        padding-top: 9vh;
    }

    .qpg-brand {
        width: min(66vw, 245px);
        min-width: 205px;
    }

    .qpg-tagline {
        font-size: 11.5px;
    }

    .qpg-link {
        width: 100%;
    }
}

@media (max-height: 720px) and (min-width: 901px) {
    .qpg-shell {
        padding-top: 27px;
        padding-bottom: 27px;
    }

    .qpg-hero__content {
        padding-top: 12px;
    }

    .qpg-badge {
        margin-bottom: 14px;
    }

    .qpg-badge__text {
        font-size: clamp(24px, 2vw, 36px);
    }

    .qpg-partner__logo--qp {
        height: 32px;
    }

    .qpg-partner__logo--qs {
        height: 38px;
    }

    .qpg-brand {
        width: clamp(235px, 22vw, 240px);
        margin-bottom: 14px;
    }

    .qpg-tagline {
        margin-top: 1.2rem;
        font-size: clamp(12px, 1.05vw, 16px);
    }

    .qpg-description {
        margin-top: 12px;
        font-size: 11.5px;
        line-height: 1.6;
    }

    .qpg-countdown-wrap {
        margin-top: 15px;
    }

    .time-box {
        min-height: 82px;
        padding-top: 12px;
        padding-bottom: 11px;
    }

    .time-box .number {
        font-size: 30px;
    }

    .time-box .label {
        margin-top: 8px;
    }

    .qpg-link {
        margin-top: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qpg-coming__bg,
    .qpg-coming__bg-intro,
    .qpg-coming__glow,
    .qpg-ornament,
    .qpg-topbar,
    .qpg-hero__content {
        animation: none !important;
    }

    .qpg-link,
    .qpg-link__arrow,
    .qpg-modal,
    .qpg-modal__panel {
        transition: none !important;
    }

    .qpg-link__arrow {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Final CF7 responsive safeguard */
@media (max-width: 640px) {
    .qpg-popup-form__grid {
        grid-template-columns: 1fr !important;
    }

    .qpg-popup-form__field,
    .qpg-popup-form__field--full {
        grid-column: 1 / -1 !important;
    }

    .qpg-popup-form textarea {
        min-height: 92px !important;
        height: 92px;
    }
}

/* =========================================================
   CF7 POPUP V7 - SINGLE COLUMN / NO EMAIL / OVERFLOW FIX
========================================================= */
.qpg-modal__panel,
.qpg-modal__form-wrap,
.qpg-modal .wpcf7,
.qpg-modal .wpcf7-form {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;overflow: hidden;
}
.qpg-modal .wpcf7 .ajax-loader{position: absolute !important;}
.qpg-modal .qpg-popup-form__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.qpg-modal .qpg-popup-form__field,
.qpg-modal .qpg-popup-form__field--full {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.qpg-modal .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.qpg-modal .wpcf7 input[type="text"],
.qpg-modal .wpcf7 input[type="tel"],
.qpg-modal .wpcf7 textarea {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    border-radius: 11px !important;
    outline: 0 !important;
    background: rgba(255, 255, 255, .065) !important;
    color: #fff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.qpg-modal .wpcf7 input[type="text"],
.qpg-modal .wpcf7 input[type="tel"] {
    height: 35px !important;
    padding: 0 14px !important;
}

.qpg-modal .wpcf7 textarea {
    min-height: 82px !important;
    height: 82px !important;
    padding: 13px 14px !important;
    resize: vertical;
}

.qpg-modal .wpcf7 input::placeholder,
.qpg-modal .wpcf7 textarea::placeholder {
    color: rgba(255, 255, 255, .43) !important;
    opacity: 1 !important;
}

.qpg-modal .wpcf7 input:focus,
.qpg-modal .wpcf7 textarea:focus {
    border-color: rgba(247, 223, 172, .68) !important;
    background: rgba(255, 255, 255, .09) !important;
    box-shadow: 0 0 0 3px rgba(247, 223, 172, .07) !important;    color: #f7dfac !important;
}

.qpg-modal .qpg-popup-form__submit-wrap,
.qpg-modal .qpg-popup-form__submit,
.qpg-modal .wpcf7 input[type="submit"].qpg-popup-form__submit {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 640px) {
    .qpg-modal__panel {
        overflow-x: hidden !important;
    }

    .qpg-modal .qpg-popup-form__grid {
        gap: 12px !important;
    }
}
/* =========================================================
   PARTNER LOGOS V10
   - Center the two partner logos on the same axis as hero content
   - Reduce the visual distance between the two logos
========================================================= */

.qpg-topbar {
    width: min(640px, 55vw);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
}

.qpg-topbar__inner {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
}

.qpg-partner,
.qpg-partner--right {
    flex: 0 0 170px;
    width: 170px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
}

.qpg-partner--right {
    justify-self: auto;
}

.qpg-partner__label,
.qpg-partner--right .qpg-partner__label {
    width: max-content;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    white-space: nowrap;
}

.qpg-partner__logo,
.qpg-partner--right .qpg-partner__logo {
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1900px) {
    .qpg-topbar {
        width: 720px;
    }

    .qpg-topbar__inner {
        gap: 12px;
    }

    .qpg-partner,
    .qpg-partner--right {
        flex-basis: 178px;
        width: 178px;
    }
}

@media (max-width: 1180px) {
    .qpg-topbar {
        width: min(610px, 62vw);
    }

    .qpg-topbar__inner {
        gap: 8px;
    }

    .qpg-partner,
    .qpg-partner--right {
        flex-basis: 160px;
        width: 160px;
    }
}

@media (max-width: 900px) {
    .qpg-topbar {
        width: min(100%, 100%);
    }

    .qpg-topbar__inner {
                gap: 8px 4rem;
    }

    .qpg-partner,
    .qpg-partner--right {
        flex-basis: 225px;
        width: 225px;
    }

    .qpg-partner--right,
    .qpg-partner--right .qpg-partner__label {
        text-align: center;
    }

    .qpg-partner--right .qpg-partner__logo {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 640px) {
    .qpg-topbar {
        width: 100%;
    }

    .qpg-topbar__inner {
        width: min(100%, 392px);
        gap: 6px;
    }

    .qpg-partner,
    .qpg-partner--right {
        flex: 1 1 0;
        width: auto;
    }

    .qpg-partner__label,
    .qpg-partner--right .qpg-partner__label {
        white-space: nowrap;
    }
}

@media (max-width: 380px) {
    .qpg-topbar__inner {
        gap: 4px;
    }

    .qpg-partner__label,
    .qpg-partner--right .qpg-partner__label {
        font-size:8.4px;
        letter-spacing: .06em;
    }
}

/* =========================================================
   COMING SOON - DEDICATED DESKTOP POSITION (V8)
   Clean structural fix: the desktop badge is a direct child
   of .qpg-coming, so it is positioned against the full hero
   instead of the left content column.
========================================================= */

.qpg-coming-soon-desktop {
    display: none;
}

@media (min-width: 1181px) {
    /* Hide the original badge inside the left content only on desktop. */
    .qpg-hero__content > .qpg-badge {
        display: none;
    }

    .qpg-coming-soon-desktop {
        position: absolute;
        z-index: 12;
        left: 58%;
        right: 6%;
        top: 43%;
        transform: translateY(-50%);

        display: grid;
        grid-template-columns: minmax(54px, 1fr) auto minmax(54px, 1fr);
        align-items: center;
        gap: clamp(16px, 1.35vw, 26px);

        margin: 0;
        padding: 0;
        pointer-events: none;
        color: #f4d493;
        text-transform: uppercase;
    }

    .qpg-coming-soon-desktop__text {
        display: block;
        white-space: nowrap;
        color: #f4d493;
        font-size: clamp(40px, 4.15vw, 66px);
        line-height: 1;
        font-weight: 700;
        letter-spacing: .115em;
        text-align: center;
        text-shadow:
            0 2px 3px rgba(3, 31, 24, .55),
            0 8px 22px rgba(3, 31, 24, .22);
    }

    .qpg-coming-soon-desktop__line {
        display: block;
        width: 100%;
        height: 1px;
    }

    .qpg-coming-soon-desktop__line--left {
        background: linear-gradient(
            90deg,
            rgba(244, 212, 147, 0) 0%,
            rgba(244, 212, 147, .95) 100%
        );
    }

    .qpg-coming-soon-desktop__line--right {
        background: linear-gradient(
            90deg,
            rgba(244, 212, 147, .95) 0%,
            rgba(244, 212, 147, 0) 100%
        );
    }
}

@media (min-width: 1600px) {
    .qpg-coming-soon-desktop {
        left: 58%;
        right: 6%;
        top: 43%;
    }

    .qpg-coming-soon-desktop__text {
        font-size: clamp(52px, 3.25vw, 72px);
    }
}

@media (min-width: 1900px) {
    .qpg-coming-soon-desktop {
        left: 58%;
        right: 6%;
        top: 43%;
    }

    .qpg-coming-soon-desktop__text {
        font-size: 70px;
    }
}


/* =========================================================
   V9 REFINEMENT
   - Keep V8 desktop position exactly as approved
   - Remove decorative lines around Coming Soon
   - Improve contrast without adding a visible background panel
   - Reduce countdown number size
========================================================= */

/* Remove the leading/trailing lines on all screen sizes. */
.qpg-badge__line,
.qpg-coming-soon-desktop__line {
    display: none !important;
}

/* With the lines removed, use a simple centered flex layout. */
.qpg-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

@media (min-width: 1181px) {
    .qpg-coming-soon-desktop {
        /* Position intentionally inherited from V8: left 58%, right 6%, top 43%. */
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }

    /*
     * Contrast option used in V9: no background plate.
     * A compact deep-green shadow separates the gold lettering from
     * both bright roofs and darker landscape without creating a box.
     */
    .qpg-coming-soon-desktop__text {
        color: #f5d38f;
        font-weight: 700;
        text-shadow:
            0 1px 1px rgba(3, 31, 24, .88),
            0 2px 4px rgba(3, 31, 24, .62),
            0 8px 18px rgba(3, 31, 24, .28);
        filter: drop-shadow(0 1px 0 rgba(3, 31, 24, .30));
    }

    /* Smaller countdown numbers on desktop/laptop. */
    .time-box .number {
        font-size: clamp(38px, 2.75vw, 52px);
    }
}

@media (min-width: 1900px) {
    .time-box .number {
        font-size: 56px;
    }
}

/* Tablet/mobile: remove lines and keep the original centered badge placement. */
@media (max-width: 1180px) {
    .qpg-badge {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0;
    }
}

/* =========================================================
   V10 - SOFT LIFT REVEAL
   Applied from animated option 25.
   - Keeps the approved desktop position from V8/V9.
   - Reveals each letter with a gentle upward lift and blur-to-sharp motion.
   - No decorative lines or visible background plate.
========================================================= */

.qpg-coming-soon-lift__letters,
.qpg-badge-lift__letters {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    white-space: nowrap;
    line-height: 1;
}

.qpg-coming-soon-lift__letters > span,
.qpg-badge-lift__letters > span {
    display: inline-block;
    position: relative;
    color: #f5d38f;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0;
    opacity: .18;
    transform: translateY(18px);
    filter: blur(2px);
    text-shadow:
        0 1px 1px rgba(3, 31, 24, .88),
        0 2px 4px rgba(3, 31, 24, .62),
        0 8px 18px rgba(3, 31, 24, .28);
    animation: qpgSoftLift 4.8s cubic-bezier(.18, .72, .18, 1) infinite;
    animation-delay: calc(var(--i, 0) * .07s);
    will-change: transform, opacity, filter;
}

.qpg-coming-soon-lift__space,
.qpg-badge-lift__space {
    flex: 0 0 .48em;
    width: .48em;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
}

@media (min-width: 1181px) {
    .qpg-coming-soon-desktop.qpg-coming-soon-lift {
        /* Preserve the approved position exactly. */
        left: 58%;
        right: 6%;
        top: 43%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        pointer-events: none;
    }

    .qpg-coming-soon-lift__letters {
        font-size: clamp(40px, 4.15vw, 66px);
        letter-spacing: .115em;
    }

    /* Individual letters use margin so the stagger animation does not disturb spacing. */
    .qpg-coming-soon-lift__letters > span:not(.qpg-coming-soon-lift__space) {
        margin-right: .115em;
    }

    .qpg-coming-soon-lift__letters > span:nth-last-child(1) {
        margin-right: 0;
    }
}

@media (min-width: 1600px) {
    .qpg-coming-soon-lift__letters {
        font-size: clamp(52px, 3.25vw, 72px);
    }
    .qpg-coming-soon-desktop.qpg-coming-soon-lift{right: 10%}
    
}

@media (min-width: 1900px) {
    .qpg-coming-soon-lift__letters {
        font-size: 70px;
    }
}
@media (min-width: 2300px) {
    .qpg-coming-soon-lift__letters > span, .qpg-badge-lift__letters > span{font-size:10.5rem;}
    .qpg-hero__content{padding-top: 0}
    .qpg-coming__overlay {background: linear-gradient(90deg, rgba(18, 66, 48, 1) 0%, rgba(18, 66, 48, .99) 18%, rgba(18, 66, 48, .86) 31%, rgba(18, 66, 48, .66) 42%, rgba(18, 66, 48, .32) 50%, rgba(18, 66, 48, .14) 58%, rgba(18, 66, 48, .10) 66%, rgba(18, 66, 48, .04) 74%, transparent 86%), linear-gradient(180deg, rgba(18, 66, 48, .26) 0%, rgba(18, 66, 48, .05) 26%, rgba(18, 66, 48, .015) 56%, rgba(18, 66, 48, .20) 100%), radial-gradient(circle at 13% 56%, rgba(18, 96, 72, .30) 0%, rgba(18, 96, 72, .07) 34%, transparent 62%);}
}    
@media (max-width: 1180px) {
    .qpg-badge.qpg-badge--lift {
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(590px, 100%);
        gap: 0;
    }

    .qpg-badge-lift__letters {
        font-size: clamp(24px, 7vw, 56px);
        letter-spacing: .13em;
    }

    .qpg-badge-lift__letters > span:not(.qpg-badge-lift__space) {
        margin-right: .13em;
    }

    .qpg-badge-lift__letters > span:nth-last-child(1) {
        margin-right: 0;
    }
}

@media (max-width: 640px) {
    .qpg-badge-lift__letters {
        font-size: clamp(18px, 7.8vw, 36px);
    }
}

@keyframes qpgSoftLift {
    0%, 10% {
        opacity: .18;
        transform: translateY(18px);
        filter: blur(2px);
    }
    28%, 70% {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
    88%, 100% {
        opacity: .22;
        transform: translateY(-6px);
        filter: blur(1px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .qpg-coming-soon-lift__letters > span,
    .qpg-badge-lift__letters > span {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        animation: none !important;
    }
}

/* =========================================================
   COMING SOON - STATIC SVG FADE (FINAL)
   - No animation
   - One component only
   - Top remains crisp/bright
   - Bottom progressively fades and blurs
   - SVG is used instead of background-clip so the effect is
     stable in Chrome/WordPress and cannot be overridden by
     the older Coming Soon text rules above.
========================================================= */

/* Old Coming Soon components are disabled as a safety guard. */
.qpg-coming-soon-desktop,
.qpg-coming-soon-lift,
.qpg-badge,
.qpg-badge--lift {
    display: none !important;
}

.qpg-coming-fade-svg {
    position: absolute;
    z-index: 12;
    left: 44.5%;
    right: 3%;
    top:18.4%;

    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    pointer-events: none;

    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.qpg-coming-fade-svg__graphic {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    overflow: visible;

    animation: none !important;
    transition: none !important;
    transform: none !important;
}

@media (min-width: 1600px) {
    .qpg-coming-fade-svg {
        left:43%;
        right: 3.2%;
        top: 21.1%;
    }
}

@media (min-width: 2200px) {
    .qpg-coming-fade-svg {
        left: 47%;
        right: 3%;
        top: 6.8%;
    }
}

@media (max-width: 1366px) and (min-width: 1181px) {
    .qpg-coming-fade-svg {
        left: 48%;
        right: 3%;
        top: 16%;
    }
}

@media (max-width: 1180px) {
    .qpg-coming-fade-svg {
        left: 50%;
        right: auto;
        top: 15%;
        width: min(88vw, 820px);
        transform: translateX(-50%) !important;
    }
}

@media (max-width: 640px) {
    .qpg-coming-fade-svg {
        top: 15.5%;
        width: 94vw;
    }
}
