:root{
    --navy:#102A43;
    --peach:#F4B6A6;
    --cream:#FAF8F6;
    --charcoal:#243B53
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth
}
body{
    margin:0;
    color:var(--charcoal);
    font-family:Inter,Segoe UI,Arial,sans-serif
}
h1,h2,h3,h4,.nav-link{
    font-family:Montserrat,Arial,sans-serif
}
.navbar{
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    box-shadow:0 5px 25px #102a4310
}
.navbar-brand img{
    height:58px;
    width:auto
}
.nav-link{
    font-weight:650;
    color:var(--navy)!important
}
.btn-brand{
    background:var(--navy);
    color:#fff;
    border:0;
    padding:13px 23px;
    border-radius:999px;
    font-weight:700
}
    .btn-brand:hover{
        background:#163A59;
        color:#fff
    }
    .btn-peach{
        background:var(--peach);
        color:var(--navy);
        border:0;
        padding:13px 23px;
        border-radius:999px;
        font-weight:750
    }
.hero{
    min-height:88vh;
    display:flex;
    align-items:center;
    position:relative;
    overflow:hidden;
    background:linear-gradient(110deg,#fff,#faf8f6 60%,#f7ece8)
}
.hero:after{
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    border:1px solid #102a4314;
    border-radius:50%;
    right:-180px;
    top:-170px
}
.hero h1{
    font-size:clamp(3rem,6vw,6rem);
    line-height:.98;
    color:var(--navy);
    font-weight:800;
    letter-spacing:-.055em
}
.hero h1 span{
    color:#d99482
}
.eyebrow{
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#c78373;
    font-weight:800;
    font-size:.8rem
}
.hero-copy{
    font-size:1.1rem;
    line-height:1.8;
    color:#5a6f82;
    max-width:650px
}
.hero-image{
    min-height:560px;
    position:relative;
    border-radius:32px;
    overflow:hidden;
    background:linear-gradient(145deg,#102A43,#294d6b);
    box-shadow:0 35px 80px #102a4338
}
.hero-image .shape{
    position:absolute;
    border:1px solid #f4b6a673;
    border-radius:50%;
    width:420px;
    height:420px;
    right:-100px;
    top:-80px
}
.hero-image .inner{
    position:absolute;
    inset:70px 50px 50px;
    border:1px solid #ffffff21;
    border-radius:26px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center
}
.hero-image h2{
    color:#fff;
    font-size:2.5rem;
    font-weight:700
}
.hero-image p{
    color:#ffffffb3;
    line-height:1.7
}
.section{
    padding:100px 0
}
.section-soft{
    background:var(--cream)
}
.section-title{
    color:var(--navy);
    font-size:clamp(2rem,4vw,3.2rem);
    font-weight:800;
    letter-spacing:-.035em
}
.section-lead{
    max-width:680px;
    color:#63788b;
    line-height:1.8
}
.service-card,.property-card{
    border:1px solid #102a4314;
    border-radius:24px;
    background:#fff;
    overflow:hidden;
    height:100%;
    box-shadow:0 15px 45px #102a430f;
    transition:.35s
}
.service-card:hover,.property-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 55px #102a431f
}
.service-card .body{
    padding:32px
}
.service-icon{
    width:58px;
    height:58px;
    border-radius:18px;
    background:#fff0ec;
    color:#c98170;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    margin-bottom:24px
}
.service-card p{
    line-height:1.75;
    color:#687c8e
}

.property-photo {
    height: 230px;
    overflow: hidden;
    background: #e5e9ec;
}

.property-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.property-card:hover .property-photo img {
    transform: scale(1.05);
}
.property-photo{
    height: 230px;
    overflow: hidden;
    background: #e5e9ec;
}
.property-body{
    padding:24px
}
.property-body h3{
    color:var(--navy);
    font-weight:750
}
.price{
    color:#c98170;
    font-weight:800
}
.badge-brand{
    background:#fff0ec;
    color:#b66f60;
    border-radius:50px;
    padding:7px 11px;
    font-size:.7rem;
    font-weight:800
}
.owner-band{
    background:var(--navy);
    color:#fff;
    position:relative;
    overflow:hidden
}
.owner-band:after{
    content:"";
    position:absolute;
    width:430px;
    height:430px;
    border:1px solid #f4b6a640;
    border-radius:50%;
    right:-160px;
    top:-180px
}
.owner-band h2{
    font-size:clamp(2rem,4vw,3.5rem);
    font-weight:800
}
.owner-band p{
    color:#ffffffb8;
    line-height:1.8
}
.about-box,.contact-card{
    background:#fff;
    border:1px solid #102a4314;
    border-radius:30px;
    padding:40px;
    box-shadow:0 15px 45px #102a430f
}
.check{
    color:#c98170;
    font-weight:900;
    margin-right:8px
}
footer{
    background:#0b2033;
    color:#fff;
    padding:60px 0 25px
}
footer a{
    color:#ffffffb3;
    text-decoration:none
}
.footer-logo{
    height:60px;
    filter:brightness(0) invert(1)
}
.page-hero{
    padding:150px 0 90px;
    background:linear-gradient(115deg,var(--navy),#1d4b6d);
    color:#fff
}
.page-hero h1{
    font-size:clamp(2.8rem,5vw,5rem);
    font-weight:800
}
.page-hero p{
    color:#ffffffb8;
    max-width:700px;
    line-height:1.8
}
.reveal{
    opacity:0;
    transform:translateY(28px);
    transition:.8s
}
.reveal.show{
    opacity:1;
    transform:none
}
#site-loader{
    position:fixed;
    inset:0;
    background:var(--navy);z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:opacity .7s,visibility .7s
}
.loader-inner{
    text-align:center;
    color:#fff
}
.loader-logo{
    width:min(220px,55vw);
    filter:brightness(0) invert(1);
    margin-bottom:28px
}
.door-loader{
    width:82px;
    height:100px;
    border:3px solid var(--peach);
    border-bottom:0;
    border-radius:44px 44px 0 0;
    margin:auto auto 24px;
    position:relative;
    overflow:hidden
}
.door-loader:after{
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    width:4px;
    height:0;
    background:var(--peach);
    animation:doorOpen 1.8s ease-in-out infinite
}
.loader-text{
    font-size:.78rem;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:#ffffffb3
}
@keyframes doorOpen{
    0%,100%{
        height:0;
        transform:translateX(-50%)
    }
    50%{
        height:80px;
        transform:translateX(-50%)
    }
}
@media(max-width:991px){
    .hero{
        padding:80px 0
    }
    .hero-image{
        min-height:420px
    }
    .navbar-brand img{
        height:50px
    }
}

/* =====================================================
   MADYOBHA REALTOR FOOTER CONTACT
   ===================================================== */

.footer-contact a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-contact a:hover {
    color: #F4B6A6;
}

.footer-contact i {
    color: #F4B6A6;
}

footer .btn {
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

footer .btn:hover {
    transform: translateY(-2px);
}