.elementor-987 .elementor-element.elementor-element-74781ef{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-987 .elementor-element.elementor-element-24bbb43{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-987 .elementor-element.elementor-element-3435feb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-987 .elementor-element.elementor-element-3992b52{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-987 .elementor-element.elementor-element-86000f5{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-770a09a */.pms-villa-hero{
    width:100%;
    background:linear-gradient(135deg,#7F4713,#5a3210);
    padding:70px 7%;
    box-sizing:border-box;
    overflow:hidden;
    position:relative;
}

/* soft moving light overlay */
.pms-villa-hero::before{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    background:rgba(240,232,220,0.08);
    filter:blur(100px);
    top:-120px;
    right:-120px;
    animation:villaGlow 8s ease-in-out infinite;
}

@keyframes villaGlow{
    0%,100%{ transform:translateY(0); }
    50%{ transform:translateY(40px); }
}

/* TOP */
.pms-villa-top{
    color:rgba(255,255,255,.75);
    font-size:11px;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:30px;
    font-weight:600;
}

/* MAIN LAYOUT */
.pms-villa-layout{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:50px;
    align-items:center;
}

/* LEFT */
.pms-villa-left{
    color:#fff;
    font-size:64px;
    line-height:1;
    font-weight:700;
    letter-spacing:-2px;
    transition:.4s ease;
}

/* RIGHT */
.pms-villa-right{
    color:#F0E8DC;
    font-size:34px;
    line-height:1.2;
    font-weight:300;
    transition:.4s ease;
}

/* hover motion (subtle like your original but smoother) */
.pms-villa-left:hover{
    transform:translateX(10px);
}

.pms-villa-right:hover{
    transform:translateX(-10px);
}

/* LINE (UPGRADED ANIMATION) */
.pms-villa-line{
    width:100%;
    height:2px;
    margin:40px 0 25px;
    background:linear-gradient(
        90deg,
        rgba(240,232,220,.2),
        rgba(240,232,220,.9),
        rgba(240,232,220,.2)
    );
    position:relative;
    overflow:hidden;
}

/* moving highlight instead of dot */
.pms-villa-line::after{
    content:"";
    position:absolute;
    width:120px;
    height:100%;
    background:rgba(255,255,255,.6);
    filter:blur(10px);
    left:-120px;
    animation:villaLineMove 5s linear infinite;
}

@keyframes villaLineMove{
    0%{ left:-120px; }
    100%{ left:100%; }
}

/* DESCRIPTION */
.pms-villa-desc{
    max-width:900px;
    color:rgba(255,255,255,.85);
    font-size:16px;
    line-height:1.9;
}

/* subtle fade-in */
.pms-villa-hero{
    animation:fadeUp 1s ease;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(25px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* MOBILE */
@media(max-width:768px){

    .pms-villa-hero{
        padding:50px 6%;
    }

    .pms-villa-layout{
        grid-template-columns:1fr;
        gap:20px;
    }

    .pms-villa-left{
        font-size:38px;
    }

    .pms-villa-right{
        font-size:22px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-3331484 */.villa-wall{
    background:#F5F1EB;
    padding:90px 7%;
}

/* header */
.villa-wall-head{
    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:60px;
}

.villa-wall-head h2{
    font-size:42px;
    color:#1a1a1a;
    margin-bottom:10px;
}

.villa-wall-head p{
    color:#666;
    line-height:1.8;
}

/* villa block spacing */
.villa-block{
    margin-bottom:50px;
}

/* villa label */
.villa-label{
    font-size:12px;
    letter-spacing:3px;
    color:#7F4713;
    margin-bottom:15px;
}

/* 3 image row */
.villa-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

/* images */
.villa-row img{
    width:100%;
    height:260px;
    object-fit:cover;
    border-radius:14px;
    transition:0.4s ease;
}

/* hover premium effect */
.villa-row img:hover{
    transform:scale(1.04);
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

/* CTA */
.villa-cta-wrap{
    text-align:center;
    margin-top:70px;
}

.villa-cta{
    display:inline-block;
    background:#7F4713 !important;
    color:#F0E8DC !important;
    padding:14px 32px;
    border-radius:30px;
    text-decoration:none !important;
    font-weight:500;
    letter-spacing:1px;
    transition:0.3s ease;
    border:1px solid rgba(240,232,220,0.2);
}

/* hover */
.villa-cta:hover{
    background:#5a3210 !important;
    color:#F0E8DC !important;
    transform:translateY(-3px);
}

/* prevent global theme overrides */
.villa-cta:visited,
.villa-cta:active,
.villa-cta:focus{
    color:#F0E8DC !important;
    outline:none;
    text-decoration:none !important;
}
}

/* mobile */
@media(max-width:768px){

    .villa-row{
        grid-template-columns:1fr;
    }

    .villa-wall-head h2{
        font-size:28px;
    }

    .villa-row img{
        height:220px;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2f9bc76 *//* LUXURY VILLA STORY */

.pms-villa-story{

background:#F0E8DC;

padding:100px 6%;

}

.pms-villa-story-inner{

max-width:1300px;

margin:auto;

display:grid;

grid-template-columns:1fr 1.2fr;

gap:70px;

align-items:start;

}

.pms-villa-story-left span{

display:block;

font-size:11px;

letter-spacing:3px;

font-weight:700;

color:#7F4713;

margin-bottom:15px;

}

.pms-villa-story-left h2{

font-size:64px;

line-height:0.95;

color:#1B130D;

margin:0;

}

.pms-villa-story-right{

display:flex;

flex-direction:column;

gap:20px;

}

.pms-villa-block{

background:#fff;

padding:30px;

border-radius:18px;

border:1px solid rgba(127,71,19,.08);

transition:.35s ease;

}

.pms-villa-block:hover{

transform:translateY(-5px);

border-color:#C68C5F;

box-shadow:0 12px 30px rgba(0,0,0,.05);

}

.pms-villa-block h3{

font-size:24px;

margin-bottom:12px;

color:#1B130D;

}

.pms-villa-block p{

font-size:15px;

line-height:1.9;

color:#5d5045;

margin:0;

}

@media(max-width:768px){

.pms-villa-story-inner{

grid-template-columns:1fr;

gap:35px;

}

.pms-villa-story-left h2{

font-size:38px;

}

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b10efd4 */.pms-villa-faq{
background:#F0E8DC;
padding:90px 6%;
}

.pms-villa-faq-inner{
max-width:1000px;
margin:auto;
}

.pms-villa-faq-inner h2{
text-align:center;
font-size:46px;
color:#1B130D;
margin-bottom:35px;
}

.pms-villa-faq details{
background:#fff;
padding:18px 22px;
margin-bottom:12px;
border-radius:14px;
border:1px solid rgba(127,71,19,.08);
}

.pms-villa-faq summary{
cursor:pointer;
font-weight:600;
color:#1B130D;
}

.pms-villa-faq p{
margin-top:12px;
line-height:1.8;
color:#5d5045;
}

@media(max-width:768px){
.pms-villa-faq-inner h2{
font-size:30px;
}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-02e5b07 */.pms-villa-cta{
background:#1B130D;
padding:100px 6%;
text-align:center;
}

.pms-villa-cta-inner{
max-width:850px;
margin:auto;
}

.pms-villa-cta-inner span{
font-size:11px;
letter-spacing:3px;
font-weight:700;
color:#C68C5F;
}

.pms-villa-cta-inner h2{
font-size:56px;
color:#F0E8DC;
margin:20px 0;
line-height:1.05;
}

.pms-villa-cta-inner p{
color:rgba(240,232,220,.75);
line-height:1.9;
margin-bottom:30px;
}

.pms-villa-btn{
display:inline-block;
padding:15px 36px;
background:#C68C5F;
color:#fff !important;
text-decoration:none !important;
border-radius:50px;
font-weight:700;
transition:.35s ease;
}

.pms-villa-btn:hover{
background:#7F4713;
transform:translateY(-3px);
}

@media(max-width:768px){
.pms-villa-cta-inner h2{
font-size:34px;
}
}/* End custom CSS */