/* =========================================================
   PREMIUM CONTACT FORM
   SPICEST ORGANIC LUXURY THEME
   NO ORBIT / NO ROTATING CIRCLE ANIMATION
========================================================= */

.pcf-section{
    --pcf-olive: #7A8B5A;
    --pcf-olive-dark: #607047;
    --pcf-olive-deep: #465236;
    --pcf-cream: #F7F4EA;
    --pcf-cream-soft: #F1EEE3;
    --pcf-white: #FFFFFF;
    --pcf-dark: #22231F;
    --pcf-text: #6E7068;
    --pcf-gold: #C7A96B;

    position: relative;
    overflow: hidden;

    padding: 95px 0 110px;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(122,139,90,.13),
            transparent 27%
        ),
        radial-gradient(
            circle at 95% 90%,
            rgba(199,169,107,.10),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #F8F5EC 0%,
            #F2EFE4 50%,
            #F7F4EA 100%
        );
}


/* =========================================================
   BACKGROUND GLOWS
========================================================= */

.pcf-bg-glow{
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(4px);
}

.pcf-glow-left{
    width: 430px;
    height: 430px;

    left: -260px;
    top: 15%;

    background:
        radial-gradient(
            circle,
            rgba(122,139,90,.15),
            transparent 68%
        );

    animation:
        pcfGlowBreath 7s ease-in-out infinite;
}

.pcf-glow-right{
    width: 380px;
    height: 380px;

    right: -220px;
    bottom: -100px;

    background:
        radial-gradient(
            circle,
            rgba(199,169,107,.12),
            transparent 70%
        );

    animation:
        pcfGlowBreath 9s ease-in-out infinite reverse;
}


/* =========================================================
   DECORATIVE LEAVES
   Gentle drifting only - no orbit
========================================================= */

.pcf-leaf{
    position: absolute;
    z-index: 1;

    color: rgba(122,139,90,.11);

    pointer-events: none;
}

.pcf-leaf-one{
    top: 12%;
    left: 3%;

    font-size: 48px;

    transform: rotate(-24deg);

    animation:
        pcfLeafDriftOne 7s ease-in-out infinite;
}

.pcf-leaf-two{
    right: 4%;
    bottom: 10%;

    font-size: 58px;

    transform: rotate(18deg);

    animation:
        pcfLeafDriftTwo 8s ease-in-out infinite;
}


/* =========================================================
   CONTAINER
========================================================= */

.pcf-container{
    position: relative;
    z-index: 3;

    max-width: 1450px;
}


/* =========================================================
   TOP LABEL
========================================================= */

.pcf-top-label{
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 11px;

    margin-bottom: 27px;

    color: var(--pcf-olive);

    font-size: 11px;
    font-weight: 850;

    letter-spacing: 1.8px;
    text-transform: uppercase;
}

.pcf-label-line{
    width: 46px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pcf-olive)
        );
}

.pcf-label-icon{
    width: 29px;
    height: 29px;

    display: grid;
    place-items: center;

    border-radius: 9px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--pcf-olive),
            var(--pcf-olive-dark)
        );

    box-shadow:
        0 8px 20px
        rgba(122,139,90,.20);

    animation:
        pcfIconSoftFloat
        3.5s ease-in-out infinite;
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.pcf-wrapper{
    --pcf-mouse-x: 50%;
    --pcf-mouse-y: 50%;

    position: relative;

    overflow: hidden;

    border-radius: 34px;

    background:
        rgba(255,255,255,.86);

    border:
        1px solid
        rgba(255,255,255,.95);

    box-shadow:
        0 35px 90px
        rgba(57,66,43,.11),
        inset 0 1px 0
        rgba(255,255,255,1);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}


/* Top premium accent */

.pcf-wrapper::before{
    content: "";

    position: absolute;

    left: 7%;
    right: 7%;
    top: 0;

    height: 3px;

    z-index: 8;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--pcf-olive),
            var(--pcf-gold),
            var(--pcf-olive),
            transparent
        );

    transform: scaleX(.25);

    opacity: .6;

    transition:
        transform 1s cubic-bezier(.22,1,.36,1),
        opacity .6s ease;
}

.pcf-wrapper.pcf-visible::before{
    transform: scaleX(1);
    opacity: 1;
}


/* =========================================================
   MOUSE SPOTLIGHT
========================================================= */

.pcf-spotlight{
    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    opacity: .7;

    background:
        radial-gradient(
            330px circle
            at var(--pcf-mouse-x)
            var(--pcf-mouse-y),
            rgba(122,139,90,.09),
            transparent 70%
        );
}


/* =========================================================
   FORM PANEL
========================================================= */

.pcf-form-panel{
    position: relative;
    z-index: 4;

    min-height: 100%;

    padding: 58px 55px 55px;
}


/* Decorative corner */

.pcf-form-panel::before{
    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    left: -40px;
    bottom: -45px;

    border-radius: 32px;

    background:
        linear-gradient(
            135deg,
            rgba(122,139,90,.07),
            transparent
        );

    transform: rotate(20deg);

    pointer-events: none;
}


/* =========================================================
   EYEBROW
========================================================= */

.pcf-eyebrow{
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 15px;

    color: var(--pcf-olive-dark);

    font-size: 10px;
    font-weight: 850;

    letter-spacing: 1.4px;
    text-transform: uppercase;
}

.pcf-eyebrow-dot{
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: var(--pcf-olive);

    box-shadow:
        0 0 0 5px
        rgba(122,139,90,.10);

    animation:
        pcfDotPulse
        2.3s ease-in-out infinite;
}


/* =========================================================
   TITLE
========================================================= */

.pcf-title{
    margin: 0;

    color: var(--pcf-dark);

    font-size:
        clamp(35px, 3.3vw, 54px);

    font-weight: 900;

    line-height: 1.03;

    letter-spacing: -2px;
}

.pcf-title span{
    position: relative;

    color: var(--pcf-olive);
}

.pcf-title span::after{
    content: "";

    position: absolute;

    left: 0;
    bottom: -4px;

    width: 100%;
    height: 7px;

    border-radius: 50%;

    opacity: .22;

    background:
        var(--pcf-olive);

    transform:
        scaleX(0);

    transform-origin:
        left;

    transition:
        transform 1.1s
        cubic-bezier(.22,1,.36,1)
        .45s;
}

.pcf-title.pcf-visible span::after{
    transform: scaleX(1);
}


/* =========================================================
   DESCRIPTION
========================================================= */

.pcf-description{
    max-width: 620px;

    margin:
        20px 0 34px;

    color: var(--pcf-text);

    font-size: 14.5px;

    line-height: 1.85;
}


/* =========================================================
   FORM FIELDS
========================================================= */

.pcf-field label{
    display: block;

    margin-bottom: 8px;

    color: #41443D;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: .15px;
}


.pcf-input-wrap{
    position: relative;

    overflow: hidden;

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #F9F8F4,
            #F4F2EA
        );

    border:
        1px solid
        rgba(122,139,90,.13);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        background .35s ease,
        transform .35s ease;
}


.pcf-input-wrap:hover{
    border-color:
        rgba(122,139,90,.30);

    background:
        #fff;
}


.pcf-input-wrap.pcf-focused{
    border-color:
        rgba(122,139,90,.58);

    background:
        #fff;

    box-shadow:
        0 12px 30px
        rgba(122,139,90,.11);

    transform:
        translateY(-2px);
}


/* Icon */

.pcf-input-icon{
    position: absolute;

    left: 17px;
    top: 50%;

    z-index: 3;

    transform:
        translateY(-50%);

    color:
        #989D90;

    font-size: 14px;

    transition:
        color .35s ease,
        transform .35s ease;
}


.pcf-focused
.pcf-input-icon{
    color:
        var(--pcf-olive);

    transform:
        translateY(-50%)
        scale(1.08);
}


/* Input */

.pcf-input-wrap input,
.pcf-input-wrap textarea{
    position: relative;

    z-index: 2;

    width: 100%;

    border: 0;
    outline: 0;

    color:
        var(--pcf-dark);

    background:
        transparent;

    font-size: 13.5px;

    font-family: inherit;
}


.pcf-input-wrap input{
    height: 54px;

    padding:
        0 16px 0 47px;
}


.pcf-input-wrap textarea{
    min-height: 135px;

    padding:
        17px 16px 17px 47px;

    resize: vertical;
}


.pcf-input-wrap input::placeholder,
.pcf-input-wrap textarea::placeholder{
    color:
        #A2A59D;
}


/* Textarea icon */

.pcf-textarea-wrap
.pcf-input-icon{
    top: 20px;

    transform: none;
}

.pcf-textarea-wrap.pcf-focused
.pcf-input-icon{
    transform:
        scale(1.08);
}


/* Animated bottom line */

.pcf-field-line{
    position: absolute;

    left: 0;
    bottom: 0;

    z-index: 5;

    width: 100%;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--pcf-olive),
            var(--pcf-gold)
        );

    transform:
        scaleX(0);

    transform-origin:
        left;

    transition:
        transform .45s
        cubic-bezier(.22,1,.36,1);
}


.pcf-focused
.pcf-field-line{
    transform:
        scaleX(1);
}


/* =========================================================
   FORM BOTTOM
========================================================= */

.pcf-form-bottom{
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-top: 3px;
}


/* =========================================================
   SEND BUTTON
========================================================= */

.pcf-send-btn{
    position: relative;

    display: inline-flex;

    align-items: center;

    gap: 15px;

    overflow: hidden;

    border: 0;

    padding:
        7px 7px 7px 23px;

    border-radius: 999px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            var(--pcf-olive),
            var(--pcf-olive-dark)
        );

    box-shadow:
        0 16px 35px
        rgba(122,139,90,.24);

    cursor: pointer;

    transition:
        transform .4s
        cubic-bezier(.22,1,.36,1),
        box-shadow .4s ease;
}


.pcf-btn-text{
    position: relative;

    z-index: 3;

    font-size: 12px;

    font-weight: 850;

    letter-spacing: .2px;
}


.pcf-btn-icon{
    position: relative;

    z-index: 3;

    width: 41px;
    height: 41px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    color:
        var(--pcf-olive-dark);

    background:
        #fff;

    transition:
        transform .45s
        cubic-bezier(.22,1,.36,1);
}


.pcf-btn-shine{
    position: absolute;

    top: 0;
    left: -100%;

    width: 50%;
    height: 100%;

    z-index: 2;

    transform:
        skewX(-22deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );
}


.pcf-send-btn:hover{
    transform:
        translateY(-4px);

    box-shadow:
        0 22px 45px
        rgba(122,139,90,.32);
}


.pcf-send-btn:hover
.pcf-btn-icon{
    transform:
        translateX(3px);
}


.pcf-send-btn:hover
.pcf-btn-shine{
    animation:
        pcfButtonShine
        .85s ease forwards;
}


/* =========================================================
   SECURE INFO
========================================================= */

.pcf-secure{
    display: flex;

    align-items: center;

    gap: 9px;

    color:
        #8A8D84;

    font-size: 10px;

    line-height: 1.4;
}


.pcf-secure strong{
    display: block;

    color:
        #565A51;

    font-weight: 800;
}


.pcf-secure-icon{
    width: 34px;
    height: 34px;

    display: grid;

    place-items: center;

    flex:
        0 0 auto;

    border-radius: 11px;

    color:
        var(--pcf-olive);

    background:
        rgba(122,139,90,.10);
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.pcf-visual{
    position: relative;

    min-height: 100%;
    height: 100%;

    overflow: hidden;

    background:
        var(--pcf-olive-deep);
}


/* Image */

.pcf-main-image{
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transform:
        scale(1.08);

    transition:
        transform 1.5s
        cubic-bezier(.22,1,.36,1);
}


.pcf-wrapper:hover
.pcf-main-image{
    transform:
        scale(1.03);
}


/* Overlay */

.pcf-image-overlay{
    position: absolute;

    inset: 0;

    z-index: 2;

    background:
        linear-gradient(
            180deg,
            rgba(24,29,18,.10) 0%,
            rgba(25,31,19,.20) 35%,
            rgba(20,25,16,.88) 100%
        );
}


/* =========================================================
   IMAGE CURTAIN REVEAL
========================================================= */

.pcf-image-curtain{
    position: absolute;

    inset: 0;

    z-index: 10;

    background:
        linear-gradient(
            135deg,
            var(--pcf-olive),
            var(--pcf-olive-deep)
        );

    transform:
        translateX(0);

    transition:
        transform 1.15s
        cubic-bezier(.77,0,.18,1)
        .3s;
}


.pcf-wrapper.pcf-visible
.pcf-image-curtain{
    transform:
        translateX(102%);
}


/* =========================================================
   VISUAL BADGE
========================================================= */

.pcf-visual-badge{
    position: absolute;

    top: 28px;
    right: 28px;

    z-index: 5;

    display: flex;

    align-items: center;

    gap: 10px;

    padding:
        10px 13px;

    border-radius: 15px;

    color: #fff;

    background:
        rgba(255,255,255,.14);

    border:
        1px solid
        rgba(255,255,255,.20);

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.14);

    backdrop-filter:
        blur(15px);

    -webkit-backdrop-filter:
        blur(15px);

    animation:
        pcfBadgeFloat
        4s ease-in-out infinite;
}


.pcf-badge-icon{
    width: 36px;
    height: 36px;

    display: grid;

    place-items: center;

    flex:
        0 0 auto;

    border-radius: 11px;

    color:
        var(--pcf-olive-deep);

    background:
        rgba(255,255,255,.92);
}


.pcf-visual-badge span:last-child{
    display: flex;

    flex-direction: column;
}


.pcf-visual-badge small{
    color:
        rgba(255,255,255,.68);

    font-size: 8px;

    letter-spacing: .6px;

    text-transform: uppercase;
}


.pcf-visual-badge strong{
    margin-top: 2px;

    color:
        #fff;

    font-size: 10px;
}


/* =========================================================
   VISUAL CONTENT
========================================================= */

.pcf-visual-content{
    position: absolute;

    left: 34px;
    right: 34px;
    bottom: 115px;

    z-index: 5;

    color: #fff;
}


.pcf-visual-kicker{
    display: inline-block;

    margin-bottom: 11px;

    color:
        #D9E3C8;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.pcf-visual-content h3{
    margin:
        0 0 13px;

    color: #fff;

    font-size:
        clamp(29px, 2.5vw, 42px);

    font-weight: 900;

    line-height: 1.05;

    letter-spacing: -1.5px;
}


.pcf-visual-content p{
    max-width: 390px;

    margin: 0;

    color:
        rgba(255,255,255,.72);

    font-size: 12.5px;

    line-height: 1.7;
}


/* =========================================================
   TRUST CARD
========================================================= */

.pcf-trust-card{
    position: absolute;

    left: 28px;
    right: 28px;
    bottom: 27px;

    z-index: 6;

    display: flex;

    align-items: center;

    gap: 12px;

    padding:
        13px 15px;

    border-radius: 17px;

    color: #fff;

    background:
        rgba(255,255,255,.14);

    border:
        1px solid
        rgba(255,255,255,.18);

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.16);

    animation:
        pcfTrustSoftMove
        5s ease-in-out infinite;
}


.pcf-trust-icon{
    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    flex:
        0 0 auto;

    border-radius: 13px;

    color:
        var(--pcf-olive-deep);

    background:
        #fff;
}


.pcf-trust-card div:last-child{
    display: flex;

    flex-direction: column;
}


.pcf-trust-card small{
    color:
        rgba(255,255,255,.65);

    font-size: 8px;

    text-transform: uppercase;

    letter-spacing: .8px;
}


.pcf-trust-card strong{
    margin-top: 3px;

    color: #fff;

    font-size: 10.5px;
}


/* =========================================================
   DECORATIVE LINE
========================================================= */

.pcf-visual-line{
    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    z-index: 7;

    width: 1px;

    opacity: .35;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(255,255,255,.8),
            transparent
        );
}


/* =========================================================
   REVEAL ANIMATION
========================================================= */

.pcf-reveal{
    opacity: 0;

    transform:
        translateY(35px);

    transition:
        opacity .9s
        cubic-bezier(.22,1,.36,1),

        transform .95s
        cubic-bezier(.22,1,.36,1);
}


.pcf-reveal.pcf-visible{
    opacity: 1;

    transform:
        translateY(0);
}


/* Form item stagger */

.pcf-item-reveal{
    opacity: 0;

    transform:
        translateY(22px);

    transition:
        opacity .7s
        cubic-bezier(.22,1,.36,1),

        transform .8s
        cubic-bezier(.22,1,.36,1);
}


.pcf-item-reveal:nth-child(1){
    transition-delay: .08s;
}

.pcf-item-reveal:nth-child(2){
    transition-delay: .14s;
}

.pcf-item-reveal:nth-child(3){
    transition-delay: .20s;
}

.pcf-item-reveal:nth-child(4){
    transition-delay: .26s;
}

.pcf-item-reveal:nth-child(5){
    transition-delay: .32s;
}

.pcf-item-reveal:nth-child(6){
    transition-delay: .38s;
}


.pcf-item-reveal.pcf-visible{
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   RESPONSIVE - LARGE TABLET
========================================================= */

@media (max-width: 1199.98px){

    .pcf-form-panel{
        padding:
            48px 40px;
    }


    .pcf-title{
        font-size:
            clamp(34px, 4vw, 47px);
    }

}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media (max-width: 991.98px){

    .pcf-section{
        padding:
            75px 0 85px;
    }


    .pcf-wrapper{
        border-radius: 28px;
    }


    .pcf-form-panel{
        padding:
            45px 38px;
    }


    .pcf-visual{
        min-height: 570px;
    }


    .pcf-main-image{
        position: absolute;
    }


    .pcf-visual-line{
        display: none;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media (max-width: 767.98px){

    .pcf-section{
        padding:
            60px 0 70px;
    }


    .pcf-top-label{
        margin-bottom: 22px;

        font-size: 9px;

        letter-spacing: 1.2px;
    }


    .pcf-label-line{
        width: 30px;
    }


    .pcf-wrapper{
        border-radius: 24px;
    }


    .pcf-form-panel{
        padding:
            35px 25px;
    }


    .pcf-title{
        font-size:
            clamp(32px, 9vw, 42px);

        letter-spacing: -1.4px;
    }


    .pcf-description{
        margin-bottom: 28px;

        font-size: 13.5px;
    }


    .pcf-form-bottom{
        align-items: flex-start;

        flex-direction: column;
    }


    .pcf-visual{
        min-height: 520px;
    }


    .pcf-visual-content{
        left: 25px;
        right: 25px;

        bottom: 110px;
    }


    .pcf-trust-card{
        left: 20px;
        right: 20px;

        bottom: 20px;
    }


    .pcf-visual-badge{
        top: 20px;
        right: 20px;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px){

    .pcf-section{
        padding:
            50px 0 60px;
    }


    .pcf-container{
        padding-left: 15px;

        padding-right: 15px;
    }


    .pcf-form-panel{
        padding:
            30px 20px;
    }


    .pcf-title{
        font-size:
            clamp(30px, 10vw, 38px);
    }


    .pcf-send-btn{
        width: 100%;

        justify-content:
            space-between;
    }


    .pcf-secure{
        width: 100%;
    }


    .pcf-visual{
        min-height: 480px;
    }


    .pcf-visual-content{
        bottom: 112px;
    }


    .pcf-visual-content h3{
        font-size: 29px;
    }


    .pcf-visual-content p{
        font-size: 11.5px;
    }


    .pcf-visual-badge{
        left: 18px;
        right: auto;
    }

}


/* =========================================================
   KEYFRAMES
========================================================= */

@keyframes pcfGlowBreath{

    0%,
    100%{
        opacity: .65;
        transform: scale(1);
    }

    50%{
        opacity: 1;
        transform: scale(1.08);
    }

}


@keyframes pcfLeafDriftOne{

    0%,
    100%{
        transform:
            translate(0,0)
            rotate(-24deg);
    }

    50%{
        transform:
            translate(10px,-14px)
            rotate(-18deg);
    }

}


@keyframes pcfLeafDriftTwo{

    0%,
    100%{
        transform:
            translate(0,0)
            rotate(18deg);
    }

    50%{
        transform:
            translate(-12px,-10px)
            rotate(12deg);
    }

}


@keyframes pcfIconSoftFloat{

    0%,
    100%{
        transform:
            translateY(0);
    }

    50%{
        transform:
            translateY(-4px);
    }

}


@keyframes pcfDotPulse{

    0%,
    100%{
        box-shadow:
            0 0 0 4px
            rgba(122,139,90,.10);
    }

    50%{
        box-shadow:
            0 0 0 8px
            rgba(122,139,90,.025);
    }

}


@keyframes pcfButtonShine{

    from{
        left: -100%;
    }

    to{
        left: 160%;
    }

}


@keyframes pcfBadgeFloat{

    0%,
    100%{
        transform:
            translateY(0);
    }

    50%{
        transform:
            translateY(-7px);
    }

}


@keyframes pcfTrustSoftMove{

    0%,
    100%{
        transform:
            translateX(0);
    }

    50%{
        transform:
            translateX(5px);
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce){

    .pcf-bg-glow,
    .pcf-leaf,
    .pcf-label-icon,
    .pcf-eyebrow-dot,
    .pcf-visual-badge,
    .pcf-trust-card{
        animation:
            none !important;
    }


    .pcf-reveal,
    .pcf-item-reveal{
        opacity: 1;

        transform: none;

        transition: none;
    }


    .pcf-image-curtain{
        display: none;
    }


    .pcf-main-image{
        transform: none;
    }

}