.contact-hero {
    position: relative;
    overflow: hidden;
    padding: 90px 0 82px;
    background: radial-gradient(circle at 90% 15%,rgba(249,225,17,.16),transparent 25%),linear-gradient(115deg,var(--premium-cream),var(--premium-cream-deep))
}

.contact-hero:after {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    right: -170px;
    bottom: -210px;
    border: 52px solid rgba(189,119,57,.12);
    border-radius: 50%
}

.contact-hero h1 {
    max-width: 850px;
    margin: 10px 0 24px;
    color: var(--premium-charcoal);
    font-size: clamp(50px,6vw,76px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.05em
}

.contact-hero p {
    max-width: 750px;
    color: #625851;
    font-size: 16px;
    line-height: 1.8
}

.contact-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px
}

.contact-hero__badges span {
    padding: 9px 15px;
    border: 1px solid var(--premium-line);
    border-radius: 30px;
    background: rgba(255,255,255,.7);
    color: #514843;
    font-size: 13px;
    font-weight: 600
}

.contact-mini-card {
    padding: 38px;
    border: 1px solid rgba(189,119,57,.22);
    border-radius: 26px;
    background: rgba(255,255,255,.84);
    box-shadow: var(--premium-shadow)
}

.contact-mini-card span {
    color: var(--premium-orange);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase
}

.contact-mini-card strong {
    display: block;
    margin: 8px 0;
    color: var(--premium-charcoal);
    font: 700 28px Syne,sans-serif
}

.contact-mini-card p {
    margin: 0;
    font-size: 14px
}

.contact-page {
    padding: 90px 0
}

.contact-details h2,.contact-form-card h2,.contact-bottom-cta h2 {
    color: var(--premium-charcoal);
    font-size: clamp(38px,4vw,52px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.04em
}

.contact-details>p,.contact-form-card>p {
    color: #685f64;
    line-height: 1.75
}

.contact-detail-card {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 15px;
    padding: 18px;
    border: 1px solid var(--premium-line);
    border-radius: 16px;
    background: var(--premium-cream);
    color: inherit;
    text-decoration: none;
    transition: .25s
}

.contact-detail-card:hover {
    transform: translateX(7px);
    border-color: rgba(189,119,57,.45);
    box-shadow: 0 15px 32px rgba(55,34,18,.09)
}

.contact-icon {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: var(--premium-orange);
    color: #fff;
    font-size: 20px
}

.contact-detail-card small,.contact-detail-card strong {
    display: block
}

.contact-detail-card small {
    margin-bottom: 2px;
    color: #867a73
}

.contact-detail-card strong {
    color: var(--premium-charcoal);
    font-size: 14px;
    overflow-wrap: anywhere
}

.contact-trust {
    margin-top: 24px;
    padding: 22px;
    border-left: 4px solid var(--premium-gold);
    border-radius: 0 14px 14px 0;
    background: var(--premium-charcoal);
    color: #fff
}

.contact-trust p {
    margin: 5px 0 0;
    color: rgba(255,255,255,.7)
}

.contact-form-card {
    padding: 42px;
    border: 1px solid var(--premium-line);
    border-radius: 26px;
    box-shadow: var(--premium-shadow)
}

.contact-form__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px
}

.contact-form label {
    display: block;
    margin: 16px 0 7px;
    color: var(--premium-charcoal);
    font-size: 13px;
    font-weight: 600
}

.contact-form textarea {
    min-height: 150px;
    resize: vertical
}

.contact-form .btn {
    margin-top: 22px;
    min-width: 210px
}

.contact-bottom-cta {
    padding: 75px 0;
    background: radial-gradient(circle at 85% 15%,rgba(249,225,17,.14),transparent 25%),var(--premium-charcoal)
}

.contact-bottom-cta h2 {
    max-width: 760px;
    margin: 8px auto 25px;
    color: #fff
}

body.popup-open {
    overflow: hidden
}

.lead-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .28s ease,visibility .28s ease
}

.lead-popup.is-open {
    visibility: visible;
    opacity: 1
}

.lead-popup__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(18,17,19,.76);
    backdrop-filter: blur(7px)
}

.lead-popup__dialog {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    width: min(900px,100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 35px 100px rgba(0,0,0,.35);
    transform: translateY(28px) scale(.96);
    transition: transform .35s cubic-bezier(.2,.75,.25,1)
}

.lead-popup.is-open .lead-popup__dialog {
    transform: translateY(0) scale(1)
}

.lead-popup__close {
    position: absolute;
    z-index: 3;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: var(--premium-charcoal);
    color: #fff;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    transition: .2s
}

.lead-popup__close:hover {
    transform: rotate(90deg);
    background: var(--premium-orange)
}

.lead-popup__visual {
    position: relative;
    overflow: hidden;
    padding: 55px 42px;
    background: radial-gradient(circle at 0 100%,rgba(249,225,17,.18),transparent 32%),var(--premium-charcoal);
    color: #fff
}

.lead-popup__eyebrow {
    color: var(--premium-gold);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase
}

.lead-popup__visual h2 {
    margin: 13px 0;
    color: #fff;
    font-size: 45px;
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.04em
}

.lead-popup__visual p,.lead-popup__visual li {
    color: rgba(255,255,255,.72)
}

.lead-popup__visual ul {
    display: grid;
    gap: 8px;
    padding: 0;
    list-style: none
}

.lead-popup__visual li:before {
    content: "âœ“";
    margin-right: 8px;
    color: var(--premium-gold)
}

.popup-countdown {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 7px;
    margin-top: 24px
}

.popup-countdown__item {
    display: flex;
    min-width: 0;
    min-height: 88px;
    padding: 10px 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #fff;
    text-align: center;
    box-shadow: 0 12px 28px rgba(0,0,0,.16);
    transition: transform .25s ease,box-shadow .25s ease
}

.popup-countdown__item:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(0,0,0,.22)
}

.popup-countdown__item strong {
    display: block;
    color: #bd7739;
    font: 400 32px/1 Georgia,"Times New Roman",serif
}

.popup-countdown__item span {
    display: block;
    margin-top: 8px;
    color: #bd7739;
    font: 500 8px/1.1 Georgia,"Times New Roman",serif;
    text-transform: uppercase;
    letter-spacing: .02em
}

.lead-popup__discount {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px
}

.lead-popup__discount strong {
    color: var(--premium-gold);
    font: 700 54px/1 Syne,sans-serif
}

.lead-popup__discount span {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.25
}

.lead-popup__form {
    padding: 50px 42px 40px
}

.lead-popup__form h3 {
    margin: 4px 0 8px;
    color: var(--premium-charcoal);
    font-size: 31px;
    font-weight: 700
}

.lead-popup__form>p {
    margin-bottom: 20px;
    color: #746a6f
}

.popup-lead-form {
    display: grid;
    gap: 13px
}

.popup-lead-form textarea {
    min-height: 95px;
    resize: none
}

@media(max-width: 767px) {
    .contact-form__grid,.lead-popup__dialog {
        grid-template-columns:1fr
    }

    .lead-popup__visual {
        display: none
    }

    .lead-popup__dialog {
        width: min(500px,100%)
    }

    .lead-popup__form {
        padding: 48px 25px 27px
    }
}

@media(max-width: 575px) {
    .contact-hero {
        padding:58px 0
    }

    .contact-hero h1 {
        font-size: 43px
    }

    .contact-page {
        padding: 60px 0
    }

    .contact-form-card {
        padding: 28px 20px;
        border-radius: 20px
    }

    .contact-form .btn {
        width: 100%
    }

    .lead-popup {
        padding: 12px
    }

    .lead-popup__dialog {
        max-height: calc(100vh - 24px);
        border-radius: 20px
    }

    .lead-popup__form h3 {
        font-size: 27px
    }
}
