:root{--navy:#071b35;--blue:#1261d7;--gold:#d9a72e;--ink:#182334;--muted:#667085;--bg:#f5f7fb;--white:#fff;--radius:18px;--shadow:0 18px 45px rgba(12,34,68,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}.topbar{background:var(--navy);color:#dfe9fb;font-size:13px}.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.topbar a{margin-left:18px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e8edf4}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px}.brand img{width:180px;max-height:58px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:26px;font-weight:700}.main-nav a{padding:10px 0;position:relative}.main-nav a.active,.main-nav a:hover{color:var(--blue)}.main-nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--gold)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 22px;font-weight:800;border:0;cursor:pointer;transition:.25s}.nav-cta,.btn-primary{background:linear-gradient(135deg,var(--blue),#0a47a7);color:#fff!important;box-shadow:0 10px 25px rgba(18,97,215,.26)}.btn-gold{background:linear-gradient(135deg,#efc34d,#bd7e08);color:#08162b}.btn-outline{border:1px solid #ccd6e4;background:#fff;color:var(--navy)}.btn:hover{transform:translateY(-2px)}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:28px;height:3px;background:var(--navy);margin:5px}.hero{position:relative;min-height:670px;overflow:hidden;background:var(--navy);color:#fff}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s;background-size:cover;background-position:center}.hero-slide.active{opacity:1}.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,17,37,.92) 0%,rgba(3,17,37,.72) 42%,rgba(3,17,37,.18) 100%)}.hero-content{position:relative;z-index:3;padding:135px 0 115px;max-width:690px}.eyebrow{color:#f2c44d;text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:800}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.04;margin:16px 0}.hero h1 span{color:#f3c750}.hero p{font-size:19px;color:#e7eef9;max-width:620px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.section{padding:88px 0}.section-soft{background:var(--bg)}.section-head{text-align:center;max-width:760px;margin:0 auto 42px}.section-head h2{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:8px 0 14px}.section-head p{color:var(--muted)}.grid{display:grid;gap:24px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card,.property-card,.feature-card,.testimonial,.panel{background:#fff;border:1px solid #e6ebf2;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px rgba(20,46,83,.07);transition:.25s}.service-card:hover,.property-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-card img{width:100%;height:220px;object-fit:cover}.card-body{padding:22px}.card-body h3{margin:0 0 8px;font-size:22px}.card-body p{color:var(--muted);margin:0}.about-grid,.contact-grid,.detail-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:52px;align-items:center}.about-image img,.feature-image img{border-radius:24px;box-shadow:var(--shadow);width:100%;height:520px;object-fit:cover}.check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}.check-list span{padding:12px 14px;background:#f5f8fd;border-radius:12px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:28px}.stat{background:var(--navy);color:#fff;border-radius:15px;padding:22px;text-align:center}.stat strong{display:block;color:#f0c44d;font-size:31px}.property-grid{grid-template-columns:repeat(3,1fr)}.property-card img{width:100%;height:230px;object-fit:cover}.badges{position:absolute;top:14px;left:14px;display:flex;gap:7px}.badge{background:var(--navy);color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}.badge.gold{background:var(--gold);color:#172031}.image-wrap{position:relative}.property-meta{display:flex;gap:14px;flex-wrap:wrap;color:#667085;font-size:14px;margin:12px 0}.property-price{font-size:23px;color:var(--blue);font-weight:900}.why-grid{grid-template-columns:.95fr 1.05fr;align-items:center}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature-card{padding:24px}.feature-icon{width:46px;height:46px;border-radius:14px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:22px;font-weight:900}.cta{background:linear-gradient(90deg,rgba(4,20,43,.94),rgba(4,20,43,.46)),url('../images/construction-cta.webp') center/cover;color:#fff;padding:90px 0}.cta h2{font-size:clamp(36px,5vw,60px);max-width:720px;line-height:1.08}.testimonials-grid{grid-template-columns:repeat(3,1fr)}.testimonial{padding:26px}.testimonial img{width:72px;height:72px;border-radius:50%;object-fit:cover}.stars{color:#e7a916;letter-spacing:3px}.page-hero{padding:105px 0;background:linear-gradient(90deg,rgba(3,20,43,.94),rgba(3,20,43,.45)),url('../images/contact-banner.webp') center/cover;color:#fff}.page-hero h1{font-size:50px;margin:0}.filters{padding:22px;background:#fff;border-radius:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:12px;margin-bottom:30px}.form-control,select,textarea,input{width:100%;padding:13px 14px;border:1px solid #d8e0ea;border-radius:10px;font:inherit;background:#fff}.form-control:focus,select:focus,textarea:focus,input:focus{outline:2px solid rgba(18,97,215,.18);border-color:var(--blue)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-group.full{grid-column:1/-1}.contact-card{background:var(--navy);color:#fff;border-radius:24px;padding:34px}.contact-card a{display:block;color:#fff;margin:13px 0}.detail-gallery{display:grid;grid-template-columns:2fr 1fr;gap:10px}.detail-gallery img{width:100%;height:250px;object-fit:cover;border-radius:14px}.detail-gallery img:first-child{grid-row:span 2;height:510px}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.spec{padding:14px;background:#f4f7fb;border-radius:12px}.flash{position:fixed;right:20px;top:95px;z-index:100;padding:14px 18px;border-radius:12px;color:#fff}.flash.success{background:#168a55}.flash.error{background:#ba2b35}.site-footer{background:#06172f;color:#ccd7e9;padding:70px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:38px}.footer-grid h4{color:#fff}.footer-grid a{display:block;margin:8px 0}.footer-brand img{width:190px;filter:brightness(0) invert(1)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:22px;display:flex;justify-content:space-between}.footer-bottom div{display:flex;gap:18px}.floating-actions{position:fixed;right:18px;bottom:18px;display:grid;gap:10px;z-index:60}.floating-actions a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 8px 25px rgba(0,0,0,.25)}.float-whatsapp{background:#17a65b}.float-call{background:#1261d7}.pagination{display:flex;gap:8px;justify-content:center;margin-top:35px}.pagination a{padding:9px 14px;border:1px solid #dbe3ed;border-radius:9px}.pagination a.active{background:var(--blue);color:#fff}.skip-link{position:absolute;left:-10000px}.admin-body{background:#f3f6fa}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:#06172f;color:#fff;padding:25px 18px;position:sticky;top:0;height:100vh}.admin-sidebar img{width:170px;filter:brightness(0) invert(1);margin-bottom:25px}.admin-sidebar a{display:block;padding:12px 14px;border-radius:10px;margin:6px 0}.admin-sidebar a:hover,.admin-sidebar a.active{background:#12335d}.admin-main{padding:28px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-card{background:#fff;border-radius:16px;padding:22px;box-shadow:0 8px 30px rgba(20,46,83,.06);margin-bottom:22px}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.admin-stat{padding:24px;border-radius:15px;background:#fff;box-shadow:0 8px 30px rgba(20,46,83,.06)}.admin-stat strong{font-size:34px;display:block;color:var(--blue)}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #edf0f5;text-align:left;vertical-align:top}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:8px 12px;border-radius:8px;font-size:13px}.btn-danger{background:#c9363e;color:#fff}.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06172f,#103664)}.auth-card{width:min(440px,calc(100% - 32px));background:#fff;border-radius:22px;padding:34px;box-shadow:var(--shadow)}.auth-card img{width:190px;margin:0 auto 20px}.muted{color:var(--muted)}@media(max-width:900px){.topbar{display:none}.menu-toggle{display:block}.main-nav{position:absolute;left:16px;right:16px;top:70px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:18px;border-radius:14px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.hero{min-height:620px}.hero-content{padding:105px 0}.services-grid,.property-grid,.testimonials-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.why-grid,.contact-grid,.detail-grid{grid-template-columns:1fr}.feature-image{order:-1}.filters{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-stats{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.container{width:min(100% - 24px,1180px)}.section{padding:62px 0}.hero{min-height:600px}.hero-slide:after{background:linear-gradient(90deg,rgba(3,17,37,.9),rgba(3,17,37,.6))}.hero h1{font-size:43px}.hero p{font-size:16px}.services-grid,.property-grid,.testimonials-grid,.feature-list,.stats,.form-grid,.spec-grid{grid-template-columns:1fr}.about-image img,.feature-image img{height:360px}.filters{grid-template-columns:1fr}.page-hero h1{font-size:38px}.detail-gallery{grid-template-columns:1fr}.detail-gallery img,.detail-gallery img:first-child{height:260px;grid-row:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom div{margin-top:10px;flex-wrap:wrap}.admin-main{padding:16px}.admin-stats{grid-template-columns:1fr}table{display:block;overflow-x:auto}.brand img{width:155px}}
/* Production layout fixes for the supplied Nalini Realty templates. */

.hero-slide {
    visibility: hidden;
    pointer-events: none;
}

.hero-slide.active {
    visibility: visible;
    pointer-events: auto;
}

.hero h1,
.hero h2 {
    font-size: clamp(42px, 6vw, 76px);
    line-height: 1.04;
    margin: 16px 0;
}

.hero h1 span,
.hero h2 span {
    color: #f3c750;
}

.btn-ghost {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .08);
}

.btn-dark {
    color: #fff;
    background: var(--navy);
}

.btn-small {
    padding: 9px 15px;
    font-size: 13px;
}

.hero-dots {
    position: absolute;
    z-index: 8;
    left: 50%;
    bottom: 76px;
    display: flex;
    gap: 9px;
    width: min(1180px, calc(100% - 32px));
    transform: translateX(-50%);
}

.hero-dots button {
    width: 28px;
    height: 4px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, .38);
    cursor: pointer;
}

.hero-dots button.active {
    background: #f3c750;
}

.search-panel-wrap {
    position: relative;
    z-index: 12;
    margin-top: -52px;
}

.property-search-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 14px;
    align-items: end;
    padding: 20px;
    border: 1px solid #e6ebf2;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow);
}

.property-search-panel label {
    display: block;
    margin-bottom: 6px;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.property-search-panel .btn {
    min-height: 52px;
    white-space: nowrap;
}

.section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.section-heading.split {
    display: flex;
    align-items: end;
    justify-content: space-between;
    max-width: none;
    text-align: left;
}

.section-heading h2,
.about-copy h2,
.why-copy h2,
.lead-section h2,
.service-detail h2 {
    margin: 8px 0 14px;
    font-size: clamp(31px, 4vw, 48px);
    line-height: 1.15;
}

.section-heading p,
.about-copy p,
.service-detail p {
    color: var(--muted);
}

.section-kicker {
    color: var(--blue);
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.section-kicker.light {
    color: #f4ca55;
}

.text-link {
    color: var(--blue);
    font-weight: 800;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.service-card > div {
    padding: 22px;
}

.service-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.service-card h3 {
    margin: 0 0 8px;
    font-size: 22px;
}

.service-card p {
    min-height: 76px;
    margin: 0 0 15px;
    color: var(--muted);
}

.service-card a {
    color: var(--blue);
    font-weight: 800;
}

.about-image {
    position: relative;
}

.experience-card {
    position: absolute;
    right: -18px;
    bottom: 24px;
    display: grid;
    max-width: 245px;
    padding: 18px 20px;
    border-radius: 15px;
    color: #fff;
    background: var(--navy);
    box-shadow: var(--shadow);
}

.experience-card strong {
    color: #f3c750;
    font-size: 26px;
}

.check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 24px 0;
}

.check-grid span {
    padding: 12px 14px;
    border-radius: 12px;
    background: #f5f8fd;
    font-weight: 700;
}

.why-section {
    color: #fff;
    background: var(--navy);
}

.why-section .why-grid {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 52px;
}

.why-copy > p {
    color: #c9d6e9;
}

.why-list {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}

.why-list > div {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 14px;
    align-items: start;
    padding: 15px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
}

.why-list strong {
    color: #f3c750;
    font-size: 22px;
}

.why-list b,
.why-list span {
    display: block;
}

.why-list b {
    color: #fff;
    margin-bottom: 3px;
}

.why-image img {
    width: 100%;
    min-height: 570px;
    border-radius: 24px;
    object-fit: cover;
}

.why-grid.light-version {
    display: grid;
    grid-template-columns: .95fr 1.05fr;
    gap: 52px;
}

.why-grid.light-version .why-copy > p {
    color: var(--muted);
}

.cta-banner {
    position: relative;
    padding: 90px 0;
    color: #fff;
    background-position: center;
    background-size: cover;
}

.cta-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 20, 43, .95), rgba(4, 20, 43, .48));
}

.cta-banner .container {
    position: relative;
    z-index: 1;
}

.cta-banner h2 {
    max-width: 760px;
    margin: 8px 0 16px;
    font-size: clamp(36px, 5vw, 60px);
    line-height: 1.08;
}

.cta-banner p {
    max-width: 660px;
    color: #e2eaf6;
}

.cta-banner > .container > span {
    color: #f3c750;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.5px;
}

.cta-banner .container > div {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 26px;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.testimonial-card {
    padding: 26px;
    border: 1px solid #e6ebf2;
    border-radius: var(--radius);
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 46, 83, .07);
}

.testimonial-card > div:last-child {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 22px;
}

.testimonial-card img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-card b,
.testimonial-card small {
    display: block;
}

.testimonial-card small {
    color: var(--muted);
}

.lead-section {
    color: #fff;
    background: linear-gradient(135deg, #071b35, #0d386c);
}

.lead-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 54px;
    align-items: center;
}

.lead-section p,
.lead-section li {
    color: #d9e4f3;
}

.lead-form {
    padding: 28px;
    border-radius: 20px;
    color: var(--ink);
    background: #fff;
    box-shadow: var(--shadow);
}

.lead-form label {
    display: block;
    margin-bottom: 13px;
    font-weight: 700;
}

.lead-form label input,
.lead-form label select,
.lead-form label textarea {
    margin-top: 6px;
    font-weight: 400;
}

.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
}

.property-image {
    position: relative;
    display: block;
}

.listing-badge,
.featured-badge {
    position: absolute;
    top: 14px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.listing-badge {
    left: 14px;
    background: var(--navy);
}

.featured-badge {
    right: 14px;
    color: #172031;
    background: var(--gold);
}

.property-body {
    padding: 21px;
}

.property-body h3 {
    margin: 5px 0 7px;
    font-size: 21px;
    line-height: 1.3;
}

.property-location {
    margin: 5px 0;
    color: var(--muted);
}

.property-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    margin-top: 16px;
}

.icon-link {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #17a65b;
    font-size: 12px;
    font-weight: 900;
}

.listing-filter {
    display: grid;
    grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr)) auto;
    gap: 12px;
    align-items: center;
    padding: 20px;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--shadow);
}

.listing-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 30px 0 22px;
}

.listing-toolbar select {
    min-width: 190px;
}

.empty-state {
    padding: 64px 24px;
    border: 1px dashed #ccd7e5;
    border-radius: 18px;
    text-align: center;
    background: #fff;
}

.page-hero.compact {
    padding: 78px 0;
}

.services-detail {
    display: grid;
    gap: 72px;
}

.service-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    align-items: center;
    scroll-margin-top: 105px;
}

.service-detail.reverse .service-detail-image {
    order: 2;
}

.service-detail-image img {
    width: 100%;
    height: 430px;
    border-radius: 22px;
    object-fit: cover;
    box-shadow: var(--shadow);
}

.service-detail ul {
    padding: 0;
    list-style: none;
}

.service-detail li {
    margin: 8px 0;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.value-grid article {
    padding: 28px;
    border: 1px solid #e6ebf2;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 46, 83, .07);
}

.value-grid article > span {
    color: var(--gold);
    font-size: 28px;
    font-weight: 900;
}

.value-grid article h3 {
    margin: 8px 0;
    font-size: 24px;
}

@media (max-width: 1000px) {
    .property-search-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .property-search-panel .btn {
        grid-column: 1 / -1;
    }

    .listing-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .listing-filter .btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    .service-grid,
    .testimonial-grid,
    .value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lead-grid,
    .service-detail,
    .why-section .why-grid,
    .why-grid.light-version {
        grid-template-columns: 1fr;
    }

    .service-detail.reverse .service-detail-image {
        order: 0;
    }

    .why-image {
        order: -1;
    }

    .why-image img {
        min-height: 420px;
    }

    body.admin-body {
        overflow-x: hidden;
    }

    .admin-shell,
    .admin-sidebar,
    .admin-main {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    .admin-sidebar {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        height: auto;
        padding: 14px;
    }

    .admin-sidebar img {
        grid-column: 1 / -1;
        width: 120px;
        margin: 0 auto 8px;
    }

    .admin-sidebar a {
        margin: 0;
        padding: 9px 10px;
        text-align: center;
        font-size: 13px;
        background: #0b284a;
    }

    .admin-sidebar form {
        grid-column: 1 / -1;
    }

    .admin-sidebar form .btn {
        width: 100%;
        margin: 6px 0 0 !important;
    }

    .admin-main {
        overflow: hidden;
    }

    .admin-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-card {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .admin-card table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
    }

    .admin-top {
        gap: 10px;
        flex-wrap: wrap;
    }
}

@media (max-width: 620px) {
    .hero h1,
    .hero h2 {
        font-size: 42px;
    }

    .hero-dots {
        bottom: 40px;
        width: min(100% - 24px, 1180px);
    }

    .search-panel-wrap {
        margin-top: 0;
        padding: 18px 0 0;
        background: #f5f7fb;
    }

    .property-search-panel,
    .listing-filter,
    .service-grid,
    .testimonial-grid,
    .value-grid,
    .check-grid {
        grid-template-columns: 1fr;
    }

    .property-search-panel .btn,
    .listing-filter .btn {
        grid-column: auto;
    }

    .section-heading.split,
    .listing-toolbar {
        display: block;
    }

    .section-heading.split > a {
        display: inline-block;
        margin-top: 10px;
    }

    .experience-card {
        right: 12px;
        bottom: 12px;
    }

    .service-detail-image img {
        height: 300px;
    }

    .lead-form {
        padding: 20px;
    }

    .listing-toolbar form {
        margin-top: 14px;
    }

    .listing-toolbar select {
        width: 100%;
    }

    .admin-stats {
        grid-template-columns: minmax(0, 1fr);
    }
}
:root {
    --navy: #071a2f;
    --navy-2: #0b2848;
    --navy-3: #103b68;
    --blue: #1468e5;
    --blue-dark: #0b4cab;
    --gold: #d3ab55;
    --gold-light: #f0d18b;
    --ink: #142135;
    --muted: #687386;
    --muted-light: #99a7ba;
    --ivory: #f7f5f0;
    --soft: #f1f5fa;
    --white: #fff;
    --line: #dfe6ef;
    --radius-sm: 12px;
    --radius: 20px;
    --radius-lg: 30px;
    --shadow-sm: 0 12px 34px rgba(7, 26, 47, .08);
    --shadow: 0 24px 70px rgba(7, 26, 47, .14);
    --shadow-blue: 0 18px 44px rgba(20, 104, 229, .24);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 108px;
    max-width: 100%;
    overflow-x: clip;
}

body {
    margin: 0;
    overflow-x: hidden;
    color: var(--ink);
    background: var(--white);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body.menu-open {
    overflow: hidden;
}

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

a {
    text-decoration: none;
}

.icon {
    width: 20px;
    height: 20px;
    flex: 0 0 auto;
}

.container {
    width: min(1220px, calc(100% - 48px));
    margin-inline: auto;
}

.section {
    padding: 112px 0;
}

.section-kicker,
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.section-kicker.light,
.eyebrow.light {
    color: var(--gold-light);
}

.eyebrow i {
    display: inline-block;
    width: 26px;
    height: 1px;
    background: currentColor;
}

h1,
h2,
h3,
h4,
p {
    margin-top: 0;
}

h1,
h2 {
    letter-spacing: -.025em;
}

h1 {
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
}

h2 {
    font-family: "DM Serif Display", Georgia, serif;
    font-weight: 400;
}

h3,
h4 {
    font-weight: 800;
}

.section-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.section-heading h2 {
    margin: 10px 0 12px;
    color: var(--ink);
    font-size: clamp(38px, 4.5vw, 60px);
    line-height: 1.06;
}

.section-heading p {
    max-width: 620px;
    margin-inline: auto;
    color: var(--muted);
}

.section-heading-left {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, .72fr);
    gap: 80px;
    align-items: end;
    max-width: none;
    text-align: left;
}

.section-heading-left p {
    margin: 0;
}

.section-heading-action {
    display: grid;
    gap: 16px;
}

.text-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: max-content;
    color: var(--blue);
    font-weight: 800;
}

.text-link .icon {
    width: 17px;
    transition: transform .2s ease;
}

.text-link:hover .icon {
    transform: translateX(4px);
}

.text-link.light {
    color: #fff;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 50px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background .22s ease;
}

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

.btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #1a75ed, #0a4fb8);
    box-shadow: var(--shadow-blue);
}

.btn-primary:hover {
    color: #fff;
    box-shadow: 0 22px 52px rgba(20, 104, 229, .34);
}

.btn-dark {
    color: #fff;
    background: var(--navy);
    box-shadow: 0 16px 36px rgba(7, 26, 47, .18);
}

.btn-dark:hover {
    color: #fff;
    background: var(--navy-2);
}

.btn-gold {
    color: var(--navy);
    background: linear-gradient(135deg, #f0d18b, #c69a43);
    box-shadow: 0 16px 38px rgba(211, 171, 85, .2);
}

.btn-outline {
    color: var(--navy);
    border-color: var(--line);
    background: #fff;
}

.btn-ghost {
    color: #fff;
    border-color: rgba(255, 255, 255, .38);
    background: rgba(255, 255, 255, .07);
    backdrop-filter: blur(8px);
}

.btn-ghost:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .7);
    background: rgba(255, 255, 255, .13);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(20, 104, 229, .34);
    outline-offset: 3px;
}

.topbar {
    color: #dce7f5;
    background: var(--navy);
    font-size: 12px;
}

.topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
    padding: 0;
}

.topbar-note,
.topbar-links,
.topbar-links a {
    display: flex;
    align-items: center;
}

.topbar-note {
    gap: 7px;
    font-weight: 600;
}

.topbar-note .icon,
.topbar-links .icon {
    width: 15px;
    height: 15px;
    color: var(--gold-light);
}

.topbar-links {
    gap: 24px;
}

.topbar-links a {
    gap: 7px;
    margin: 0;
    color: #dce7f5;
}

.site-header {
    position: sticky;
    z-index: 80;
    top: 0;
    border-bottom: 1px solid rgba(14, 47, 81, .08);
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 30px rgba(7, 26, 47, .04);
    backdrop-filter: blur(18px);
}

.nav-wrap {
    min-height: 82px;
}

.brand {
    position: relative;
    display: block;
    width: 142px;
    height: 62px;
    overflow: hidden;
}

.brand img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 168px;
    max-height: none;
    transform: translate(-50%, -50%) scale(1.42);
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 29px;
    color: #23324a;
    font-size: 14px;
    font-weight: 700;
}

.main-nav > a:not(.nav-cta) {
    position: relative;
    padding: 30px 0;
}

.main-nav > a:not(.nav-cta)::after {
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    width: 0;
    height: 2px;
    margin: auto;
    border-radius: 999px;
    content: "";
    background: var(--gold);
    transition: width .2s ease;
}

.main-nav > a.active,
.main-nav > a:hover {
    color: var(--blue);
}

.main-nav > a.active::after,
.main-nav > a:hover::after {
    width: 100%;
}

.nav-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: 6px;
}

.nav-icon-action {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid #d8e2ec;
    border-radius: 50%;
    color: #12a85a;
    background: #fff;
}

.nav-icon-action .icon {
    width: 21px;
    height: 21px;
}

.nav-cta {
    min-height: 46px;
    padding-inline: 19px;
}

.nav-cta .icon {
    width: 16px;
}

.menu-toggle,
.nav-backdrop,
.mobile-nav-head {
    display: none;
}

.skip-link {
    position: fixed;
    z-index: 999;
    top: 12px;
    left: -10000px;
    padding: 10px 16px;
    border-radius: 8px;
    color: #fff;
    background: var(--blue);
}

.skip-link:focus {
    left: 12px;
}

.home-hero {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    color: #fff;
    background: var(--navy);
}

.hero-media {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(90deg, rgba(4, 20, 38, .97) 0%, rgba(4, 20, 38, .86) 42%, rgba(4, 20, 38, .24) 74%, rgba(4, 20, 38, .06) 100%),
        url("../images/hero-property.webp");
    background-position: center;
    background-size: cover;
    transform: scale(1.02);
}

.hero-media::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, transparent 65%, rgba(4, 20, 38, .45));
}

.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    pointer-events: none;
}

.hero-glow-one {
    top: -220px;
    left: -140px;
    width: 520px;
    height: 520px;
    background: radial-gradient(circle, rgba(20, 104, 229, .25), transparent 67%);
}

.hero-glow-two {
    right: 10%;
    bottom: -260px;
    width: 560px;
    height: 560px;
    background: radial-gradient(circle, rgba(211, 171, 85, .2), transparent 68%);
}

.hero-shell {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 720px;
    padding: 74px 0 112px;
}

.hero-copy {
    max-width: 760px;
}

.hero-copy .eyebrow {
    color: var(--gold-light);
}

.hero-copy h1 {
    margin: 18px 0 20px;
    color: #fff;
    font-size: clamp(58px, 6.7vw, 92px);
    line-height: .98;
}

.hero-copy h1 span {
    color: var(--gold-light);
}

.hero-copy > p {
    max-width: 660px;
    margin-bottom: 30px;
    color: #d6e1ef;
    font-size: 18px;
    line-height: 1.7;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-actions .btn {
    min-height: 54px;
}

.hero-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin-top: 46px;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, .16);
}

.hero-proof > div {
    display: flex;
    align-items: center;
    gap: 11px;
}

.hero-proof .icon {
    width: 24px;
    height: 24px;
    color: var(--gold-light);
}

.hero-proof span,
.hero-proof strong,
.hero-proof small {
    display: block;
}

.hero-proof strong {
    color: #fff;
    font-size: 13px;
}

.hero-proof small {
    color: #aebed1;
    font-size: 11px;
}

.hero-search-section {
    position: relative;
    z-index: 10;
    margin-top: -48px;
}

.property-search-panel.premium-search {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, minmax(0, 1fr)) auto;
    gap: 0;
    align-items: stretch;
    padding: 10px;
    border: 1px solid rgba(20, 104, 229, .08);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--shadow);
}

.premium-search > div {
    display: flex;
    min-height: 70px;
    flex-direction: column;
    justify-content: center;
    padding: 6px 20px;
    border-right: 1px solid #e9eef4;
}

.premium-search .search-intro {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    color: var(--navy);
}

.search-intro > .icon {
    width: 28px;
    height: 28px;
    color: var(--blue);
}

.search-intro span,
.search-intro strong,
.search-intro small {
    display: block;
}

.search-intro strong {
    font-size: 13px;
}

.search-intro small {
    color: var(--muted);
    font-size: 11px;
}

.premium-search label,
.filter-field label {
    margin: 0 0 2px;
    color: #7b8798;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.premium-search input,
.premium-search select {
    min-height: 32px;
    padding: 0 22px 0 0;
    border: 0;
    border-radius: 0;
    color: var(--ink);
    background: transparent;
    font-size: 13px;
    font-weight: 700;
}

.premium-search input:focus,
.premium-search select:focus {
    outline: 0;
}

.premium-search .btn {
    align-self: center;
    min-height: 58px;
    margin-left: 10px;
}

.home-services {
    padding-top: 130px;
}

.signature-services {
    display: grid;
    grid-template-columns: 1.16fr .84fr;
    grid-template-rows: repeat(2, 300px);
    gap: 22px;
}

.signature-service {
    position: relative;
    overflow: hidden;
    min-height: 300px;
    border-radius: var(--radius-lg);
    color: #fff;
    background: var(--navy);
    box-shadow: var(--shadow-sm);
}

.signature-service-large {
    grid-row: 1 / 3;
}

.signature-service img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2, .7, .2, 1);
}

.signature-service:hover img {
    transform: scale(1.055);
}

.service-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(4, 20, 38, .04) 15%, rgba(4, 20, 38, .93) 100%);
}

.signature-service-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 32px;
}

.signature-service-large .signature-service-content {
    padding: 42px;
}

.service-number {
    position: absolute;
    right: 30px;
    bottom: 26px;
    color: rgba(255, 255, 255, .13);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 86px;
    line-height: 1;
}

.service-icon {
    display: grid;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 13px;
    color: var(--gold-light);
    background: rgba(7, 26, 47, .35);
    backdrop-filter: blur(8px);
}

.service-icon .icon {
    width: 22px;
    height: 22px;
}

.signature-service h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 7px;
    font-size: 26px;
}

.signature-service-large h3 {
    font-size: 34px;
}

.signature-service p {
    position: relative;
    z-index: 2;
    max-width: 520px;
    margin-bottom: 14px;
    color: #d3dfed;
    font-size: 13px;
}

.signature-service a {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.signature-service a .icon {
    width: 16px;
}

.properties-showcase {
    background: var(--ivory);
}

.property-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.property-card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid rgba(11, 40, 72, .09);
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7, 26, 47, .06);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.property-card:hover {
    transform: translateY(-7px);
    border-color: rgba(20, 104, 229, .2);
    box-shadow: 0 24px 54px rgba(7, 26, 47, .13);
}

.property-image {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10.5;
    background: #dce5ef;
}

.property-image::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(7, 26, 47, .04), transparent 55%, rgba(7, 26, 47, .42));
}

.property-image img,
.property-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.property-card:hover .property-image img {
    transform: scale(1.045);
}

.listing-badge,
.featured-badge,
.image-count {
    position: absolute;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}

.listing-badge {
    top: 15px;
    left: 15px;
    padding: 7px 11px;
    color: #fff;
    background: rgba(7, 26, 47, .9);
    backdrop-filter: blur(8px);
}

.featured-badge {
    top: 15px;
    right: 15px;
    padding: 7px 11px;
    color: var(--navy);
    background: var(--gold-light);
}

.featured-badge .icon {
    width: 12px;
    height: 12px;
    fill: currentColor;
}

.image-count {
    right: 15px;
    bottom: 14px;
    padding: 6px 9px;
    color: #fff;
    background: rgba(7, 26, 47, .72);
    backdrop-filter: blur(8px);
}

.image-count .icon {
    width: 13px;
    height: 13px;
}

.property-body {
    padding: 22px 22px 20px;
}

.property-topline {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
    color: #8a95a5;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.property-price {
    color: var(--blue);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.property-body h3 {
    min-height: 54px;
    margin: 5px 0 7px;
    color: var(--ink);
    font-size: 19px;
    line-height: 1.4;
}

.property-body h3 a:hover {
    color: var(--blue);
}

.property-location {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 12px;
}

.property-location .icon {
    width: 14px;
    height: 14px;
    color: var(--gold);
}

.property-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 35px;
    margin: 0;
}

.property-meta > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 8px;
    border-radius: 8px;
    color: #687386;
    background: #f4f6f9;
    font-size: 10px;
}

.property-meta .icon {
    width: 14px;
    height: 14px;
    color: var(--blue);
}

.property-meta b {
    color: var(--ink);
}

.property-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #edf1f5;
}

.property-detail-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--navy);
    font-size: 12px;
    font-weight: 800;
}

.property-detail-link .icon {
    width: 15px;
    transition: transform .2s ease;
}

.property-detail-link:hover {
    color: var(--blue);
}

.property-detail-link:hover .icon {
    transform: translateX(4px);
}

.icon-link {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #16a75b;
    box-shadow: 0 10px 22px rgba(22, 167, 91, .2);
}

.icon-link .icon {
    width: 21px;
    height: 21px;
}

.advisor-section {
    background: #fff;
}

.advisor-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 84px;
    align-items: center;
}

.advisor-visual {
    position: relative;
}

.advisor-visual > img {
    width: 100%;
    min-height: 600px;
    border-radius: 32px;
    object-fit: cover;
    box-shadow: var(--shadow);
}

.advisor-visual::before {
    position: absolute;
    z-index: -1;
    top: -24px;
    left: -24px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(211, 171, 85, .5);
    border-radius: 32px;
    content: "";
}

.advisor-badge {
    position: absolute;
    right: -28px;
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 300px;
    padding: 20px 22px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 18px;
    color: #fff;
    background: rgba(7, 26, 47, .94);
    box-shadow: var(--shadow);
    backdrop-filter: blur(10px);
}

.advisor-badge > .icon {
    width: 32px;
    height: 32px;
    color: var(--gold-light);
}

.advisor-badge span,
.advisor-badge strong,
.advisor-badge small {
    display: block;
}

.advisor-badge strong {
    font-size: 13px;
}

.advisor-badge small {
    color: #b8c7d8;
    font-size: 11px;
}

.advisor-copy h2,
.about-story-copy h2,
.about-approach h2,
.local-expertise-section h2,
.consultation-section h2,
.services-process h2,
.contact-form-card h2,
.property-content-card h2 {
    margin: 10px 0 18px;
    color: var(--ink);
    font-size: clamp(40px, 4.3vw, 60px);
    line-height: 1.07;
}

.advisor-copy > p,
.about-story-copy > p,
.about-approach p {
    color: var(--muted);
}

.premium-checks {
    display: grid;
    gap: 14px;
    margin: 28px 0 32px;
}

.premium-checks > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 13px;
    align-items: start;
}

.premium-checks > div > .icon {
    width: 30px;
    height: 30px;
    padding: 7px;
    border-radius: 50%;
    color: var(--blue);
    background: #eaf2ff;
}

.premium-checks span,
.premium-checks strong,
.premium-checks small {
    display: block;
}

.premium-checks strong {
    margin-bottom: 2px;
    color: var(--ink);
    font-size: 13px;
}

.premium-checks small {
    color: var(--muted);
    font-size: 12px;
}

.process-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 84% 10%, rgba(20, 104, 229, .28), transparent 26%),
        linear-gradient(135deg, #06162a, #0a2a4d);
}

.process-section .section-heading h2 {
    color: #fff;
}

.process-section .section-heading p {
    color: #b8c8dc;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 24px;
    background: rgba(255, 255, 255, .04);
}

.process-grid article {
    position: relative;
    min-height: 250px;
    padding: 32px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.process-grid article:last-child {
    border-right: 0;
}

.process-grid article > span {
    position: absolute;
    top: 22px;
    right: 24px;
    color: rgba(255, 255, 255, .18);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 38px;
}

.process-grid article > .icon {
    width: 36px;
    height: 36px;
    margin: 42px 0 20px;
    color: var(--gold-light);
}

.process-grid h3 {
    margin-bottom: 8px;
    font-size: 18px;
}

.process-grid p {
    margin: 0;
    color: #afc1d5;
    font-size: 12px;
}

.testimonials-section {
    background: var(--ivory);
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.testimonial-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(11, 40, 72, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.quote-mark {
    position: absolute;
    top: 5px;
    right: 20px;
    color: #edf2f8;
    font-family: Georgia, serif;
    font-size: 92px;
    line-height: 1;
}

.testimonial-card .stars {
    position: relative;
    z-index: 1;
    display: flex;
    gap: 3px;
    margin-bottom: 18px;
    color: var(--gold);
}

.testimonial-card .stars .icon {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.testimonial-card > p {
    position: relative;
    z-index: 1;
    min-height: 104px;
    color: #4c596c;
    font-size: 13px;
    line-height: 1.8;
}

.testimonial-person {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 18px;
    border-top: 1px solid #e9edf2;
}

.testimonial-person img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.testimonial-person span,
.testimonial-person strong,
.testimonial-person small {
    display: block;
}

.testimonial-person strong {
    font-size: 12px;
}

.testimonial-person small {
    color: var(--muted);
    font-size: 10px;
}

.consultation-section {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--navy);
}

.consultation-glow {
    position: absolute;
    top: -260px;
    left: -160px;
    width: 700px;
    height: 700px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(20, 104, 229, .26), transparent 68%);
}

.consultation-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 90px;
    align-items: center;
}

.consultation-section h2 {
    color: #fff;
}

.consultation-section p {
    color: #b9c9dc;
}

.consultation-points {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
}

.consultation-points span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    color: #dce7f3;
    background: rgba(255, 255, 255, .05);
    font-size: 10px;
}

.consultation-points .icon {
    width: 13px;
    height: 13px;
    color: var(--gold-light);
}

.quick-lead-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    padding: 30px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 26px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .2);
}

.quick-lead-form .form-group-full {
    grid-column: 1 / -1;
}

.quick-lead-form .btn,
.quick-lead-form > small {
    grid-column: 1 / -1;
}

.quick-lead-form > small {
    color: var(--muted);
    font-size: 9px;
    text-align: center;
}

.form-group label,
.enquiry-form label {
    display: block;
    margin-bottom: 6px;
    color: #4b586b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
}

.form-group label span,
.enquiry-form label span {
    color: #d33d4b;
}

input,
select,
textarea,
.form-control {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #dbe2ea;
    border-radius: 11px;
    color: var(--ink);
    background: #fff;
    font: inherit;
    font-size: 13px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

textarea {
    min-height: 100px;
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    color: #9aa5b3;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--blue);
    outline: 0;
    box-shadow: 0 0 0 4px rgba(20, 104, 229, .1);
}

.hp-field {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
}

.page-hero {
    position: relative;
    overflow: hidden;
    min-height: 480px;
    padding: 0;
    color: #fff;
    background-color: var(--navy);
    background-position: center;
    background-size: cover;
}

.page-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg, rgba(4, 20, 38, .96), rgba(4, 20, 38, .68) 50%, rgba(4, 20, 38, .16));
}

.page-hero::after {
    position: absolute;
    top: -240px;
    left: -180px;
    width: 650px;
    height: 650px;
    border-radius: 50%;
    content: "";
    background: radial-gradient(circle, rgba(20, 104, 229, .25), transparent 67%);
}

.page-hero .container {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 480px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding-block: 70px;
}

.page-hero .eyebrow {
    color: var(--gold-light);
}

.page-hero h1 {
    max-width: 900px;
    margin: 15px 0;
    color: #fff;
    font-size: clamp(54px, 6.2vw, 82px);
    line-height: 1.01;
}

.page-hero p {
    max-width: 690px;
    margin: 0;
    color: #d5e0ec;
    font-size: 17px;
}

.properties-hero {
    background-image: url("../images/contact-banner.webp");
}

.about-hero {
    background-image: url("../images/about.webp");
    background-position: center 42%;
}

.services-hero {
    background-image: url("../images/hero-construction.webp");
}

.contact-hero {
    background-image: url("../images/contact-banner.webp");
}

.properties-page {
    padding: 80px 0 112px;
    background: var(--soft);
}

.filter-toggle {
    display: none;
}

.listing-filter {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    align-items: end;
    margin-top: -126px;
    margin-bottom: 58px;
    padding: 28px;
    border: 1px solid rgba(20, 104, 229, .1);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow);
}

.filter-heading {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 12px;
    margin-bottom: 4px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e8edf3;
}

.filter-heading > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: var(--blue);
}

.filter-heading span,
.filter-heading strong,
.filter-heading small {
    display: block;
}

.filter-heading strong {
    font-size: 14px;
}

.filter-heading small {
    color: var(--muted);
    font-size: 10px;
}

.filter-field {
    min-width: 0;
}

.filter-search {
    grid-column: span 2;
}

.listing-filter input,
.listing-filter select {
    min-height: 48px;
    background: #fafbfd;
}

.listing-filter .btn {
    min-height: 48px;
}

.clear-filters {
    align-self: center;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.listing-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 28px;
}

.listing-toolbar p {
    margin: 5px 0 0;
    color: var(--muted);
}

.listing-toolbar p strong {
    color: var(--navy);
}

.sort-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sort-form label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.sort-form select {
    width: 190px;
    min-height: 44px;
    padding-block: 9px;
    background: #fff;
}

.empty-state {
    padding: 70px 28px;
    border: 1px dashed #cbd6e2;
    border-radius: 24px;
    text-align: center;
    background: #fff;
}

.empty-state > span {
    display: grid;
    width: 68px;
    height: 68px;
    margin: 0 auto 20px;
    place-items: center;
    border-radius: 50%;
    color: var(--blue);
    background: #eaf2ff;
}

.empty-state > span .icon {
    width: 30px;
    height: 30px;
}

.empty-state h2 {
    margin-bottom: 8px;
    font-size: 36px;
}

.empty-state p {
    max-width: 620px;
    margin: 0 auto 24px;
    color: var(--muted);
}

.empty-state > div {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 42px;
}

.pagination a {
    display: grid;
    min-width: 42px;
    height: 42px;
    place-items: center;
    padding: 0 10px;
    border: 1px solid #dbe3ed;
    border-radius: 10px;
    color: var(--navy);
    background: #fff;
    font-size: 12px;
    font-weight: 800;
}

.pagination a.active {
    border-color: var(--blue);
    color: #fff;
    background: var(--blue);
}

.listing-assistance {
    padding: 40px 0;
    color: #fff;
    background: var(--navy);
}

.listing-assistance .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.listing-assistance .container > div {
    display: flex;
    align-items: center;
    gap: 16px;
}

.listing-assistance .container > div > .icon {
    width: 36px;
    height: 36px;
    color: var(--gold-light);
}

.listing-assistance span,
.listing-assistance strong,
.listing-assistance small {
    display: block;
}

.listing-assistance small {
    color: #aebed1;
}

.property-title-section {
    padding: 54px 0 36px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 20%, rgba(20, 104, 229, .22), transparent 28%),
        var(--navy);
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 28px;
    color: #9fb0c4;
    font-size: 11px;
}

.breadcrumbs a:hover {
    color: #fff;
}

.property-title-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: end;
}

.property-title-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.property-title-badges span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #dce6f1;
    background: rgba(255, 255, 255, .05);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.property-title-badges span.gold {
    border-color: transparent;
    color: var(--navy);
    background: var(--gold-light);
}

.property-title-badges .icon {
    width: 11px;
    height: 11px;
    fill: currentColor;
}

.property-title-grid h1 {
    max-width: 880px;
    margin: 13px 0 12px;
    color: #fff;
    font-size: clamp(44px, 5vw, 68px);
    line-height: 1.04;
}

.property-title-grid p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #b7c7d8;
    font-size: 12px;
}

.property-title-grid p .icon {
    width: 15px;
    height: 15px;
    color: var(--gold-light);
}

.property-title-grid p i {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #71849a;
}

.property-title-price {
    min-width: 220px;
    padding-left: 28px;
    border-left: 1px solid rgba(255, 255, 255, .14);
    text-align: right;
}

.property-title-price small,
.property-title-price strong,
.property-title-price span {
    display: block;
}

.property-title-price small {
    color: #95a9be;
    font-size: 10px;
    text-transform: uppercase;
}

.property-title-price strong {
    color: var(--gold-light);
    font-size: 30px;
}

.property-title-price span {
    color: #c6d3e1;
    font-size: 10px;
}

.property-gallery-section {
    padding: 32px 0 0;
    background: var(--soft);
}

.detail-gallery {
    position: relative;
    display: grid;
    grid-template-columns: 1.45fr .72fr .72fr;
    grid-template-rows: repeat(2, 240px);
    gap: 10px;
    overflow: hidden;
    border-radius: 26px;
}

.detail-gallery > button:not(.gallery-count) {
    overflow: hidden;
    padding: 0;
    border: 0;
    cursor: zoom-in;
    background: #dce5ee;
}

.detail-gallery > button:nth-of-type(n+4) {
    display: none;
}

.detail-gallery .gallery-main {
    grid-row: 1 / 3;
}

.detail-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.detail-gallery button:hover img {
    transform: scale(1.025);
}

.gallery-placeholder {
    display: grid;
    grid-column: 2 / 4;
    grid-row: 1 / 3;
    place-items: center;
    color: #657489;
    background:
        linear-gradient(135deg, rgba(20, 104, 229, .08), rgba(211, 171, 85, .12)),
        #e6edf4;
    text-align: center;
}

.gallery-placeholder span {
    display: flex;
    align-items: center;
    gap: 8px;
    max-width: 230px;
    font-size: 12px;
}

.gallery-count {
    position: absolute;
    right: 18px;
    bottom: 18px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    color: var(--navy);
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--shadow-sm);
    font-size: 11px;
    font-weight: 800;
}

.gallery-count .icon {
    width: 15px;
}

.property-content-section {
    padding: 38px 0 112px;
    background: var(--soft);
}

.property-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.42fr) minmax(340px, .68fr);
    gap: 34px;
    align-items: start;
}

.property-main-content {
    display: grid;
    gap: 22px;
}

.property-facts {
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    border: 1px solid #e0e7ef;
    border-radius: 18px;
    background: #fff;
}

.property-facts > div {
    display: flex;
    min-width: 150px;
    flex: 1;
    align-items: center;
    gap: 11px;
    padding: 17px;
    border-right: 1px solid #e7ecf2;
}

.property-facts > div:last-child {
    border-right: 0;
}

.property-facts > div > .icon {
    width: 25px;
    height: 25px;
    color: var(--blue);
}

.property-facts span,
.property-facts strong,
.property-facts small {
    display: block;
}

.property-facts strong {
    font-size: 14px;
}

.property-facts small {
    color: var(--muted);
    font-size: 9px;
}

.property-content-card {
    padding: 34px;
    border: 1px solid #e0e7ef;
    border-radius: 24px;
    background: #fff;
}

.property-content-card h2 {
    max-width: 620px;
    font-size: clamp(34px, 3.5vw, 48px);
}

.property-description {
    color: #5f6b7e;
    font-size: 13px;
    line-height: 1.85;
}

.property-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 28px;
    border-top: 1px solid #e6ebf1;
    border-left: 1px solid #e6ebf1;
}

.property-detail-list > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 13px;
    border-right: 1px solid #e6ebf1;
    border-bottom: 1px solid #e6ebf1;
    font-size: 11px;
}

.property-detail-list span {
    color: var(--muted);
}

.amenity-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 26px;
}

.amenity-grid span {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 10px;
    color: #425169;
    background: #f4f7fa;
    font-size: 11px;
    font-weight: 700;
}

.amenity-grid .icon {
    width: 16px;
    height: 16px;
    color: var(--blue);
}

.property-map {
    overflow: hidden;
    margin-top: 24px;
    border-radius: 16px;
}

.property-map iframe {
    width: 100%;
    height: 360px;
    border: 0;
}

.property-enquiry-card {
    position: sticky;
    top: 106px;
    overflow: hidden;
    border: 1px solid #dce4ed;
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.property-enquiry-head {
    padding: 26px 28px 20px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 10%, rgba(20, 104, 229, .3), transparent 34%),
        var(--navy);
}

.property-enquiry-head > span {
    color: var(--gold-light);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.property-enquiry-head h2 {
    margin: 6px 0 9px;
    color: #fff;
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.08;
}

.property-enquiry-head p {
    margin: 0;
    color: #b9c8d9;
    font-size: 10px;
}

.enquiry-form {
    padding: 24px 28px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.enquiry-form .form-group {
    margin-bottom: 12px;
}

.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
    min-height: 45px;
    padding: 10px 12px;
    font-size: 11px;
}

.enquiry-form textarea {
    min-height: 76px;
}

.enquiry-form .btn {
    width: 100%;
    min-height: 48px;
}

.form-privacy {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 8px;
    text-align: center;
}

.form-privacy .icon {
    width: 12px;
    height: 12px;
    color: var(--blue);
}

.direct-contact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #e6ebf1;
}

.direct-contact a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 15px 17px;
}

.direct-contact a + a {
    border-left: 1px solid #e6ebf1;
}

.direct-contact > a > .icon {
    width: 22px;
    height: 22px;
    color: var(--blue);
}

.direct-contact a:last-child > .icon {
    color: #16a75b;
}

.direct-contact span,
.direct-contact strong,
.direct-contact small {
    display: block;
}

.direct-contact small {
    color: var(--muted);
    font-size: 8px;
}

.direct-contact strong {
    color: var(--ink);
    font-size: 9px;
}

.related-properties {
    background: var(--ivory);
}

.gallery-modal {
    position: fixed;
    z-index: 300;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 60px 80px;
    background: rgba(2, 10, 20, .94);
    backdrop-filter: blur(10px);
}

.gallery-modal.open {
    display: flex;
}

.gallery-modal > img {
    max-width: 100%;
    max-height: 82vh;
    border-radius: 16px;
    object-fit: contain;
}

.gallery-close,
.gallery-prev,
.gallery-next {
    position: absolute;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    cursor: pointer;
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.gallery-close {
    top: 24px;
    right: 28px;
}

.gallery-prev {
    left: 24px;
}

.gallery-next {
    right: 24px;
}

.gallery-prev,
.gallery-next {
    font-size: 34px;
}

.gallery-position {
    position: absolute;
    bottom: 22px;
    color: #fff;
    font-size: 11px;
}

.about-story-grid,
.about-approach-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 84px;
    align-items: center;
}

.about-story-visual {
    position: relative;
}

.about-story-visual > img {
    width: 100%;
    min-height: 590px;
    border-radius: 30px;
    object-fit: cover;
    box-shadow: var(--shadow);
}

.about-story-note {
    position: absolute;
    right: -28px;
    bottom: 34px;
    display: flex;
    align-items: center;
    gap: 13px;
    max-width: 300px;
    padding: 19px 22px;
    border-radius: 16px;
    color: #fff;
    background: var(--navy);
    box-shadow: var(--shadow);
}

.about-story-note > .icon {
    width: 30px;
    height: 30px;
    color: var(--gold-light);
}

.about-story-note span,
.about-story-note strong,
.about-story-note small {
    display: block;
}

.about-story-note strong {
    font-size: 12px;
}

.about-story-note small {
    color: #adbed1;
    font-size: 9px;
}

.about-principles {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.about-principles > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    padding: 16px 0;
    border-top: 1px solid #e6ebf1;
}

.about-principles > div > span {
    grid-row: 1 / 3;
    color: var(--gold);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 22px;
}

.about-principles strong,
.about-principles small {
    display: block;
}

.about-principles strong {
    font-size: 13px;
}

.about-principles small {
    color: var(--muted);
    font-size: 11px;
}

.about-capability-band {
    padding: 34px 0;
    color: #fff;
    background: var(--navy);
}

.about-capability-band .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.about-capability-band .container > div {
    padding: 8px 28px;
    border-right: 1px solid rgba(255, 255, 255, .12);
}

.about-capability-band .container > div:last-child {
    border-right: 0;
}

.about-capability-band strong,
.about-capability-band span {
    display: block;
}

.about-capability-band strong {
    color: var(--gold-light);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 23px;
    font-weight: 400;
}

.about-capability-band span {
    color: #aebfd2;
    font-size: 9px;
}

.values-section {
    background: var(--ivory);
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.premium-values article {
    padding: 34px;
    border: 1px solid rgba(11, 40, 72, .08);
    border-radius: 24px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.premium-values article > span {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 24px;
    place-items: center;
    border-radius: 15px;
    color: var(--blue);
    background: #eaf2ff;
}

.premium-values article > span .icon {
    width: 26px;
    height: 26px;
}

.premium-values h3 {
    margin-bottom: 9px;
    font-size: 20px;
}

.premium-values p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.local-expertise-section {
    color: #fff;
    background:
        radial-gradient(circle at 88% 20%, rgba(20, 104, 229, .32), transparent 28%),
        var(--navy);
}

.local-expertise-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 90px;
    align-items: center;
}

.local-expertise-section h2 {
    color: #fff;
}

.local-expertise-section p {
    color: #b7c7da;
}

.location-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-content: center;
}

.location-cloud span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 17px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    color: #dce7f3;
    background: rgba(255, 255, 255, .06);
    font-size: 11px;
}

.location-cloud span:nth-child(3n + 1) {
    transform: translateY(8px);
}

.location-cloud .icon {
    width: 15px;
    height: 15px;
    color: var(--gold-light);
}

.about-approach-grid > img {
    width: 100%;
    min-height: 560px;
    border-radius: 30px;
    object-fit: cover;
    box-shadow: var(--shadow);
}

.services-intro {
    background: var(--ivory);
}

.services-premium-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.service-premium-card {
    scroll-margin-top: 110px;
    overflow: hidden;
    min-width: 0;
    border: 1px solid rgba(11, 40, 72, .08);
    border-radius: 26px;
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .3s ease, box-shadow .3s ease;
}

.service-premium-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow);
}

.service-premium-image {
    position: relative;
    overflow: hidden;
    height: 245px;
}

.service-premium-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s ease;
}

.service-premium-card:hover img {
    transform: scale(1.04);
}

.service-premium-image::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, transparent 55%, rgba(7, 26, 47, .52));
}

.service-premium-image > span {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 13px;
    color: rgba(255, 255, 255, .8);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 38px;
}

.service-premium-body {
    position: relative;
    padding: 28px;
}

.service-premium-body .service-icon {
    position: absolute;
    top: -29px;
    left: 26px;
    width: 56px;
    height: 56px;
    margin: 0;
    border: 4px solid #fff;
    color: #fff;
    background: var(--blue);
    box-shadow: var(--shadow-sm);
}

.service-premium-body h2 {
    margin: 17px 0 8px;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 21px;
    font-weight: 800;
}

.service-premium-body > p {
    min-height: 66px;
    color: var(--muted);
    font-size: 11px;
}

.service-premium-body ul {
    display: grid;
    gap: 7px;
    margin: 19px 0;
    padding: 17px 0;
    border-top: 1px solid #e7ecf2;
    border-bottom: 1px solid #e7ecf2;
    list-style: none;
}

.service-premium-body li {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #46546a;
    font-size: 10px;
}

.service-premium-body li .icon {
    width: 14px;
    height: 14px;
    color: var(--blue);
}

.service-premium-body > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
}

.service-premium-body > a .icon {
    width: 14px;
}

.services-process {
    color: #fff;
    background:
        radial-gradient(circle at 12% 20%, rgba(20, 104, 229, .24), transparent 28%),
        var(--navy);
}

.services-process-grid {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 90px;
    align-items: center;
}

.services-process h2 {
    color: #fff;
}

.services-process p {
    color: #b5c6d8;
}

.services-process ol {
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    list-style: none;
}

.services-process li {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 12px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.services-process li > span {
    color: var(--gold-light);
    font-family: "DM Serif Display", Georgia, serif;
    font-size: 24px;
}

.services-process li strong,
.services-process li small {
    display: block;
}

.services-process li strong {
    font-size: 13px;
}

.services-process li small {
    color: #9fb1c5;
    font-size: 10px;
}

.service-advice-strip {
    padding-block: 48px;
    background: var(--ivory);
}

.service-advice-strip .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.service-advice-strip .container > div {
    display: flex;
    align-items: center;
    gap: 15px;
}

.service-advice-strip .container > div > .icon {
    width: 34px;
    height: 34px;
    color: var(--blue);
}

.service-advice-strip span,
.service-advice-strip strong,
.service-advice-strip small {
    display: block;
}

.service-advice-strip small {
    color: var(--muted);
}

.contact-page {
    background: var(--ivory);
}

.contact-page-grid {
    display: grid;
    grid-template-columns: 1.16fr .84fr;
    gap: 30px;
    align-items: stretch;
}

.contact-form-card {
    padding: 40px;
    border: 1px solid rgba(11, 40, 72, .08);
    border-radius: 28px;
    background: #fff;
    box-shadow: var(--shadow-sm);
}

.contact-form-card h2 {
    max-width: 720px;
    font-size: clamp(40px, 4vw, 55px);
}

.contact-form-card > p {
    max-width: 700px;
    color: var(--muted);
    font-size: 12px;
}

.contact-form-card .enquiry-form {
    padding: 24px 0 0;
    border-top: 1px solid #e6ebf1;
}

.contact-form-card .enquiry-form input,
.contact-form-card .enquiry-form select {
    min-height: 50px;
}

.contact-information {
    position: relative;
    overflow: hidden;
    padding: 34px;
    border-radius: 28px;
    color: #fff;
    background:
        radial-gradient(circle at 90% 4%, rgba(20, 104, 229, .34), transparent 32%),
        var(--navy);
    box-shadow: var(--shadow);
}

.contact-information-head {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 23px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.contact-information-head > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    color: var(--gold-light);
    background: rgba(255, 255, 255, .08);
}

.contact-information-head small {
    color: var(--gold-light);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .12em;
}

.contact-information-head h2 {
    margin: 0;
    color: #fff;
    font-family: "Manrope", Arial, sans-serif;
    font-size: 20px;
    font-weight: 800;
}

.contact-information-list {
    display: grid;
    margin: 14px 0 25px;
}

.contact-information-list > a,
.contact-information-list > div {
    display: grid;
    grid-template-columns: 42px 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.contact-information-list > a > span,
.contact-information-list > div > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #80b6ff;
    background: rgba(20, 104, 229, .16);
}

.contact-information-list span.green {
    color: #56dc8e;
    background: rgba(22, 167, 91, .16);
}

.contact-information-list span .icon {
    width: 20px;
    height: 20px;
}

.contact-information-list > a > .icon {
    width: 16px;
    height: 16px;
    color: #74899f;
}

.contact-information-list small,
.contact-information-list strong {
    display: block;
}

.contact-information-list small {
    color: #8fa5bc;
    font-size: 8px;
}

.contact-information-list strong {
    overflow-wrap: anywhere;
    color: #fff;
    font-size: 11px;
}

.contact-response-note {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 17px;
    border: 1px solid rgba(211, 171, 85, .22);
    border-radius: 15px;
    background: rgba(211, 171, 85, .08);
}

.contact-response-note > .icon {
    width: 28px;
    height: 28px;
    color: var(--gold-light);
}

.contact-response-note strong,
.contact-response-note small {
    display: block;
}

.contact-response-note strong {
    font-size: 11px;
}

.contact-response-note small {
    color: #aabbd0;
    font-size: 9px;
}

.contact-map-section iframe {
    display: block;
    width: 100%;
    height: 440px;
    border: 0;
}

.contact-location-strip {
    padding: 38px 0;
    color: #fff;
    background: var(--navy);
}

.contact-location-strip .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.contact-location-strip .container > div {
    display: flex;
    align-items: center;
    gap: 14px;
}

.contact-location-strip .container > div > .icon {
    width: 32px;
    height: 32px;
    color: var(--gold-light);
}

.contact-location-strip strong,
.contact-location-strip small {
    display: block;
}

.contact-location-strip small {
    color: #9fb1c5;
}

.site-footer {
    padding: 0;
    color: #aebed0;
    background: #041326;
}

.footer-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding-top: 64px;
    padding-bottom: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.footer-intro h2 {
    max-width: 720px;
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.07;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.55fr .7fr .85fr 1.2fr;
    gap: 55px;
    padding-top: 56px;
    padding-bottom: 44px;
}

.footer-brand {
    max-width: 350px;
}

.footer-brand > img {
    width: 170px;
    height: 82px;
    margin: -16px 0 8px;
    object-fit: cover;
    object-position: center;
    filter: brightness(0) invert(1);
}

.footer-brand p {
    color: #95a8bd;
    font-size: 11px;
}

.footer-contact-pills {
    display: flex;
    gap: 8px;
    margin-top: 20px;
}

.footer-contact-pills a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    color: #d8e3ef;
    font-size: 9px;
    font-weight: 700;
}

.footer-contact-pills .icon {
    width: 14px;
    height: 14px;
}

.footer-grid h4 {
    margin-bottom: 18px;
    color: #fff;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.footer-grid > div > a {
    display: block;
    margin: 9px 0;
    color: #9eb0c4;
    font-size: 11px;
    transition: color .2s ease, transform .2s ease;
}

.footer-grid > div > a:hover {
    color: #fff;
    transform: translateX(3px);
}

.footer-office > p,
.footer-office > a {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
}

.footer-office .icon {
    width: 15px;
    height: 15px;
    margin-top: 2px;
    color: var(--gold-light);
}

.footer-office p {
    margin-bottom: 12px;
    color: #9eb0c4;
    font-size: 10px;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
    padding: 20px 0 25px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #71869e;
    font-size: 9px;
}

.footer-bottom > div {
    display: flex;
    gap: 20px;
    margin: 0;
}

.footer-bottom a:hover {
    color: #fff;
}

.floating-actions {
    position: fixed;
    z-index: 70;
    right: 22px;
    bottom: 22px;
    display: grid;
    gap: 10px;
}

.floating-actions a {
    display: grid;
    width: 50px;
    height: 50px;
    place-items: center;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}

.floating-actions .icon {
    width: 22px;
    height: 22px;
}

.float-whatsapp {
    background: #16a75b;
}

.float-call {
    background: var(--blue);
}

.mobile-action-dock {
    display: none;
}

.flash {
    position: fixed;
    z-index: 200;
    top: 112px;
    right: 24px;
    max-width: min(420px, calc(100% - 48px));
    padding: 14px 18px;
    border-radius: 12px;
    color: #fff;
    box-shadow: var(--shadow);
    font-size: 12px;
}

.flash.success {
    background: #128353;
}

.flash.error {
    background: #b92d3b;
}

@media (max-width: 1100px) {
    .container {
        width: min(100% - 36px, 1220px);
    }

    .main-nav {
        gap: 20px;
    }

    .nav-icon-action {
        display: none;
    }

    .property-search-panel.premium-search {
        grid-template-columns: 1fr repeat(3, minmax(0, 1fr));
    }

    .premium-search .search-intro {
        display: none;
    }

    .premium-search .btn {
        grid-column: 1 / -1;
        margin: 10px 0 0;
    }

    .signature-services {
        grid-template-rows: repeat(2, 270px);
    }

    .advisor-grid,
    .about-story-grid,
    .about-approach-grid {
        gap: 55px;
    }

    .property-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .property-content-grid {
        grid-template-columns: minmax(0, 1fr) 340px;
    }

    .services-premium-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-grid {
        grid-template-columns: 1.25fr .65fr .8fr 1.1fr;
        gap: 34px;
    }
}

@media (max-width: 900px) {
    html {
        scroll-padding-top: 78px;
    }

    .topbar {
        display: none;
    }

    .nav-wrap {
        min-height: 76px;
    }

    .brand {
        width: 125px;
        height: 58px;
    }

    .brand img {
        width: 148px;
    }

    .menu-toggle {
        position: relative;
        z-index: 103;
        display: grid;
        width: 46px;
        height: 46px;
        place-items: center;
        padding: 0;
        border: 1px solid #dce4ed;
        border-radius: 13px;
        color: var(--navy);
        background: #fff;
    }

    .menu-toggle .menu-open-icon,
    .menu-toggle .menu-close-icon {
        width: 25px;
        height: 25px;
    }

    .menu-toggle .menu-close-icon {
        display: none;
    }

    .menu-toggle[aria-expanded="true"] .menu-open-icon {
        display: none;
    }

    .menu-toggle[aria-expanded="true"] .menu-close-icon {
        display: block;
    }

    .nav-backdrop {
        position: fixed;
        z-index: 99;
        inset: 0;
        display: block;
        visibility: hidden;
        padding: 0;
        border: 0;
        opacity: 0;
        background: rgba(2, 11, 22, .62);
        backdrop-filter: blur(3px);
        transition: opacity .25s ease, visibility .25s;
    }

    body.menu-open .nav-backdrop {
        visibility: visible;
        opacity: 1;
    }

    .main-nav {
        position: fixed;
        z-index: 102;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        display: flex;
        width: min(390px, 88vw);
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 86px 26px 28px;
        border-radius: 0;
        color: var(--ink);
        background: #fff;
        box-shadow: -18px 0 50px rgba(2, 11, 22, .2);
        visibility: hidden;
        clip-path: inset(0 0 0 100%);
        pointer-events: none;
        transform: none;
        transition: clip-path .28s cubic-bezier(.22, .72, .2, 1), visibility .28s;
    }

    .main-nav.open {
        display: flex;
        visibility: visible;
        clip-path: inset(0);
        pointer-events: auto;
        transform: none;
    }

    .mobile-nav-head {
        display: block;
        margin-bottom: 20px;
        padding-bottom: 20px;
        border-bottom: 1px solid #e7ecf2;
    }

    .mobile-nav-head span,
    .mobile-nav-head small {
        display: block;
    }

    .mobile-nav-head span {
        font-family: "DM Serif Display", Georgia, serif;
        font-size: 22px;
    }

    .mobile-nav-head small {
        color: var(--muted);
        font-size: 10px;
    }

    .main-nav > a:not(.nav-cta) {
        padding: 15px 4px;
        border-bottom: 1px solid #eef1f5;
        font-size: 16px;
    }

    .main-nav > a:not(.nav-cta)::after {
        display: none;
    }

    .nav-actions {
        display: grid;
        grid-template-columns: 46px 1fr;
        gap: 10px;
        margin: auto 0 0;
        padding-top: 26px;
    }

    .nav-icon-action {
        display: grid;
    }

    .home-hero,
    .hero-shell {
        min-height: 680px;
    }

    .hero-shell {
        padding: 60px 0 100px;
    }

    .hero-media {
        background-image:
            linear-gradient(90deg, rgba(4, 20, 38, .95), rgba(4, 20, 38, .66)),
            url("../images/hero-property.webp");
        background-position: 63% center;
    }

    .hero-copy {
        max-width: 680px;
    }

    .hero-copy h1 {
        font-size: clamp(54px, 10vw, 74px);
    }

    .hero-proof {
        gap: 20px;
    }

    .hero-search-section {
        margin-top: 0;
        padding: 20px 0;
        background: var(--soft);
    }

    .property-search-panel.premium-search {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 18px;
    }

    .premium-search > div {
        min-height: 58px;
        padding: 7px 12px;
        border: 1px solid #e0e7ef;
        border-radius: 11px;
    }

    .signature-services {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 440px 300px;
    }

    .signature-service-large {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .advisor-grid,
    .about-story-grid,
    .about-approach-grid,
    .local-expertise-grid,
    .services-process-grid,
    .contact-page-grid {
        grid-template-columns: 1fr;
    }

    .advisor-grid,
    .about-story-grid,
    .about-approach-grid {
        gap: 48px;
    }

    .advisor-visual > img,
    .about-story-visual > img,
    .about-approach-grid > img {
        min-height: 480px;
    }

    .advisor-badge,
    .about-story-note {
        right: 18px;
    }

    .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .process-grid article:nth-child(2) {
        border-right: 0;
    }

    .process-grid article:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .testimonial-grid {
        grid-template-columns: 1fr 1fr;
    }

    .testimonial-card:last-child {
        grid-column: 1 / -1;
    }

    .consultation-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .listing-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: -104px;
    }

    .filter-search {
        grid-column: auto;
    }

    .property-title-grid {
        grid-template-columns: 1fr;
    }

    .property-title-price {
        padding: 0;
        border: 0;
        text-align: left;
    }

    .detail-gallery {
        grid-template-columns: 1.3fr .7fr;
        grid-template-rows: repeat(2, 210px);
    }

    .detail-gallery > button:nth-of-type(3) {
        display: none;
    }

    .property-content-grid {
        grid-template-columns: 1fr;
    }

    .property-enquiry-card {
        position: static;
    }

    .about-capability-band .container {
        grid-template-columns: repeat(2, 1fr);
    }

    .about-capability-band .container > div:nth-child(2) {
        border-right: 0;
    }

    .about-capability-band .container > div:nth-child(-n+2) {
        margin-bottom: 22px;
    }

    .services-premium-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-intro {
        align-items: flex-start;
    }

    .footer-grid {
        grid-template-columns: 1.3fr 1fr 1fr;
    }

    .footer-office {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    body {
        padding-bottom: calc(68px + env(safe-area-inset-bottom));
        font-size: 15px;
    }

    .container {
        width: min(100% - 24px, 1220px);
    }

    .section {
        padding: 78px 0;
    }

    .section-heading {
        margin-bottom: 32px;
    }

    .section-heading-left {
        display: block;
    }

    .section-heading-left > p,
    .section-heading-action {
        margin-top: 16px;
    }

    .section-heading h2,
    .advisor-copy h2,
    .about-story-copy h2,
    .about-approach h2,
    .local-expertise-section h2,
    .consultation-section h2,
    .services-process h2,
    .contact-form-card h2 {
        font-size: 38px;
    }

    .btn {
        min-height: 50px;
        padding-inline: 18px;
    }

    .nav-wrap {
        min-height: 72px;
    }

    .brand {
        width: 112px;
        height: 54px;
    }

    .brand img {
        width: 136px;
    }

    .menu-toggle {
        width: 44px;
        height: 44px;
    }

    .main-nav {
        width: min(360px, 92vw);
        padding: 80px 20px 20px;
    }

    .home-hero,
    .hero-shell {
        min-height: 650px;
    }

    .hero-shell {
        align-items: flex-end;
        padding: 56px 0 58px;
    }

    .hero-media {
        background-image:
            linear-gradient(180deg, rgba(4, 20, 38, .48) 0%, rgba(4, 20, 38, .62) 38%, rgba(4, 20, 38, .97) 86%),
            url("../images/hero-property.webp");
        background-position: 63% center;
    }

    .hero-copy h1 {
        margin: 14px 0 15px;
        font-size: clamp(45px, 13.3vw, 58px);
        line-height: .98;
    }

    .hero-copy > p {
        margin-bottom: 22px;
        font-size: 14px;
        line-height: 1.65;
    }

    .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hero-actions .btn {
        width: 100%;
    }

    .hero-proof {
        display: none;
    }

    .hero-search-section {
        padding: 14px 0 22px;
    }

    .property-search-panel.premium-search {
        grid-template-columns: 1fr;
        gap: 9px;
        padding: 14px;
        border-radius: 18px;
    }

    .premium-search > div {
        min-height: 56px;
    }

    .premium-search .btn {
        grid-column: auto;
        min-height: 52px;
    }

    .home-services {
        padding-top: 72px;
    }

    .signature-services {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .signature-service,
    .signature-service-large {
        min-height: 355px;
        grid-column: auto;
        grid-row: auto;
    }

    .signature-service-content,
    .signature-service-large .signature-service-content {
        padding: 26px;
    }

    .signature-service h3,
    .signature-service-large h3 {
        font-size: 27px;
    }

    .property-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .property-card:hover {
        transform: none;
    }

    .property-image {
        aspect-ratio: 16 / 10.8;
    }

    .property-body h3 {
        min-height: 0;
    }

    .advisor-visual > img,
    .about-story-visual > img,
    .about-approach-grid > img {
        min-height: 380px;
        border-radius: 24px;
    }

    .advisor-badge,
    .about-story-note {
        right: 10px;
        bottom: 10px;
        left: 10px;
        max-width: none;
        padding: 16px;
    }

    .advisor-visual::before {
        display: none;
    }

    .process-grid {
        grid-template-columns: 1fr;
    }

    .process-grid article {
        min-height: 190px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .process-grid article:nth-child(2) {
        border-right: 0;
    }

    .process-grid article:last-child {
        border-bottom: 0;
    }

    .process-grid article > .icon {
        margin-top: 16px;
    }

    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .testimonial-card:last-child {
        grid-column: auto;
    }

    .testimonial-card > p {
        min-height: 0;
    }

    .quick-lead-form {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .quick-lead-form .form-group-full,
    .quick-lead-form .btn,
    .quick-lead-form > small {
        grid-column: auto;
    }

    .page-hero,
    .page-hero .container {
        min-height: 410px;
    }

    .page-hero .container {
        justify-content: flex-end;
        padding: 56px 0 50px;
    }

    .page-hero::before {
        background: linear-gradient(180deg, rgba(4, 20, 38, .38), rgba(4, 20, 38, .95));
    }

    .page-hero h1 {
        font-size: 46px;
    }

    .page-hero p {
        font-size: 13px;
    }

    .properties-page {
        padding: 18px 0 78px;
    }

    .filter-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 52px;
        margin-bottom: 18px;
        border: 0;
        border-radius: 14px;
        color: #fff;
        background: var(--navy);
        font-weight: 800;
    }

    .filter-toggle span {
        display: grid;
        width: 22px;
        height: 22px;
        place-items: center;
        border-radius: 50%;
        color: var(--navy);
        background: var(--gold-light);
        font-size: 10px;
    }

    .listing-filter {
        display: none;
        grid-template-columns: 1fr;
        gap: 11px;
        margin: 0 0 26px;
        padding: 18px;
        border-radius: 18px;
    }

    .listing-filter.open {
        display: grid;
    }

    .filter-heading {
        grid-column: auto;
    }

    .filter-search {
        grid-column: auto;
    }

    .listing-toolbar {
        display: block;
        margin-top: 32px;
    }

    .sort-form {
        justify-content: space-between;
        margin-top: 16px;
    }

    .sort-form select {
        width: 210px;
    }

    .empty-state > div {
        display: grid;
    }

    .listing-assistance .container,
    .service-advice-strip .container,
    .contact-location-strip .container,
    .footer-intro {
        display: grid;
    }

    .listing-assistance .btn,
    .service-advice-strip .btn {
        width: 100%;
    }

    .property-title-section {
        padding: 32px 0;
    }

    .breadcrumbs {
        margin-bottom: 20px;
    }

    .property-title-grid h1 {
        font-size: 42px;
    }

    .property-title-price strong {
        font-size: 26px;
    }

    .property-gallery-section {
        padding-top: 16px;
    }

    .detail-gallery {
        display: block;
        border-radius: 18px;
    }

    .detail-gallery > button:not(.gallery-count) {
        display: none;
        width: 100%;
        height: 300px;
    }

    .detail-gallery > button.gallery-main {
        display: block;
    }

    .detail-gallery .gallery-placeholder {
        display: none;
    }

    .property-content-section {
        padding: 20px 0 78px;
    }

    .property-facts {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .property-facts > div {
        min-width: 0;
        border-right: 1px solid #e7ecf2;
        border-bottom: 1px solid #e7ecf2;
    }

    .property-content-card {
        padding: 24px 20px;
    }

    .property-detail-list,
    .amenity-grid,
    .form-row {
        grid-template-columns: 1fr;
    }

    .property-detail-list > div {
        grid-column: auto;
    }

    .property-enquiry-head,
    .enquiry-form {
        padding-inline: 20px;
    }

    .direct-contact {
        grid-template-columns: 1fr;
    }

    .direct-contact a + a {
        border-top: 1px solid #e6ebf1;
        border-left: 0;
    }

    .gallery-modal {
        padding: 70px 12px;
    }

    .gallery-prev {
        left: 12px;
    }

    .gallery-next {
        right: 12px;
    }

    .about-capability-band .container {
        grid-template-columns: 1fr;
    }

    .about-capability-band .container > div {
        padding: 17px 6px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .about-capability-band .container > div:nth-child(-n+2) {
        margin-bottom: 0;
    }

    .about-capability-band .container > div:last-child {
        border-bottom: 0;
    }

    .value-grid,
    .services-premium-grid {
        grid-template-columns: 1fr;
    }

    .location-cloud {
        margin-top: 10px;
    }

    .location-cloud span:nth-child(3n + 1) {
        transform: none;
    }

    .service-premium-image {
        height: 225px;
    }

    .contact-form-card,
    .contact-information {
        padding: 24px 20px;
        border-radius: 22px;
    }

    .contact-information-list > a,
    .contact-information-list > div {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }

    .footer-intro {
        padding-top: 52px;
        padding-bottom: 38px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px 24px;
        padding-top: 40px;
        padding-bottom: 34px;
    }

    .footer-brand,
    .footer-office {
        grid-column: 1 / -1;
    }

    .footer-bottom {
        display: block;
        padding-bottom: 20px;
    }

    .footer-bottom > div {
        flex-wrap: wrap;
        gap: 14px;
        margin-top: 10px;
    }

    .floating-actions {
        display: none;
    }

    .mobile-action-dock {
        position: fixed;
        z-index: 90;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid #dce4ed;
        background: rgba(255, 255, 255, .96);
        box-shadow: 0 -12px 32px rgba(7, 26, 47, .12);
        backdrop-filter: blur(12px);
    }

    .mobile-action-dock a {
        display: flex;
        min-height: 50px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-radius: 13px;
        color: #fff;
        background: var(--blue);
        font-size: 12px;
        font-weight: 800;
    }

    .mobile-action-dock a.whatsapp {
        background: #16a75b;
    }

    .mobile-action-dock .icon {
        width: 20px;
        height: 20px;
    }

    .flash {
        top: 82px;
        right: 12px;
        left: 12px;
        max-width: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
/* NALINI REALTY premium final layer */
:root{--navy:#061b35;--blue:#1259c3;--gold:#d5a637;--ink:#172033;--muted:#667085;--soft:#f7f8fa;--wa:#25d366}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);line-height:1.6}
h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;letter-spacing:-.035em}
h1,h2{font-weight:800}.section{padding:68px 0}.section-heading{margin-bottom:34px}.section-heading h2{font-size:clamp(32px,3.3vw,46px);line-height:1.12;margin:8px 0 10px}.section-heading p{font-size:16px}.container{width:min(1180px,calc(100% - 40px))}
.topbar-inner{min-height:32px}.topbar-links{gap:15px}.topbar-links a{font-size:11px}.topbar-links a[aria-label] .icon{width:16px;height:16px}
.site-header{top:0;position:sticky!important;z-index:500}.nav-wrap{min-height:68px}.brand{height:54px;width:132px}.brand img{width:150px}.main-nav> a:not(.nav-cta){padding:23px 0}.main-nav> a:not(.nav-cta)::after{bottom:15px}.main-nav{gap:24px}.nav-cta{min-height:42px;padding:11px 17px}
.home-hero{position:relative;height:540px;min-height:540px;overflow:hidden;background:var(--navy)}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease;background-image:var(--hero-image);background-size:cover;background-position:center}.hero-slide.active{opacity:1;visibility:visible;z-index:2}.hero-slide.active:before{content:"";position:absolute;inset:-3%;background:inherit;background-size:cover;background-position:center;animation:heroKenBurns 7s ease-out both}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,20,39,.88) 0%,rgba(4,20,39,.65) 48%,rgba(4,20,39,.18) 100%)}.hero-shell{position:relative;z-index:2;height:540px;min-height:0;display:flex;align-items:center;padding:0}.hero-copy{max-width:700px}.hero-copy h1{font-size:clamp(44px,5vw,64px);line-height:1.03;margin:14px 0 16px;color:#fff;max-width:690px}.hero-copy>p{max-width:620px;font-size:17px;color:rgba(255,255,255,.83);margin-bottom:25px}.hero-copy>*{opacity:0;transform:translateY(20px)}.hero-slide.active .hero-copy>*{animation:heroText .65s ease forwards}.hero-slide.active .hero-copy>*:nth-child(2){animation-delay:.08s}.hero-slide.active .hero-copy>*:nth-child(3){animation-delay:.16s}.hero-slide.active .hero-copy>*:nth-child(4){animation-delay:.24s}.hero-arrow{position:absolute;z-index:5;top:50%;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#fff;background:rgba(6,27,53,.35);font-size:29px;line-height:1;cursor:pointer;backdrop-filter:blur(8px)}.hero-prev{left:22px}.hero-next{right:22px}.hero-dots{position:absolute;z-index:5;bottom:23px;left:50%;display:flex;gap:8px;transform:translateX(-50%)}.hero-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}.hero-dots button.active{width:28px;border-radius:99px;background:var(--gold)}
@keyframes heroKenBurns{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes heroText{to{opacity:1;transform:none}}
.hero-search-section{position:relative;z-index:8;margin-top:-38px;padding:0 0 24px}.property-search-panel.premium-search{grid-template-columns:1.35fr repeat(3,1fr) auto;padding:16px;border-radius:18px;box-shadow:0 18px 55px rgba(6,27,53,.16)}.premium-search>div{min-height:58px}.premium-search .btn{min-height:58px}
.solution-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.solution-cards article{overflow:hidden;border:1px solid #e7ebf0;border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(6,27,53,.08);transition:.25s}.solution-cards article:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(6,27,53,.14)}.solution-cards img{width:100%;height:220px;object-fit:cover;display:block}.solution-cards article>div{padding:24px}.solution-cards article>div>span{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;color:var(--blue);background:#eef5ff}.solution-cards h3{font-size:23px;margin:16px 0 8px}.solution-cards p{color:var(--muted);min-height:78px}.solution-cards a{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:800}.solution-cards a .icon{width:17px}
.property-card{border-radius:20px;box-shadow:0 12px 36px rgba(6,27,53,.09)}.property-image{aspect-ratio:16/10.2}.property-body{padding:20px}.property-body h3{font-size:21px;line-height:1.3}.premium-property-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.property-action,.premium-property-actions .property-detail-link{min-height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:800}.property-action{border:1px solid #dfe6ee;color:var(--navy);background:#fff}.property-action.whatsapp{border-color:#bdebcf;color:#087c3c;background:#effcf4}.premium-property-actions .property-detail-link{grid-column:1/-1;color:#fff;background:var(--navy)}.premium-property-actions .icon{width:17px;height:17px}
.page-hero,.page-hero .container{min-height:250px!important;height:250px}.page-hero .container{padding:35px 0!important;justify-content:center}.page-hero h1{font-size:clamp(36px,4vw,48px)!important;line-height:1.08}.page-hero p{max-width:650px;font-size:15px}.properties-page{padding:34px 0 68px}.listing-filter{padding:20px;border-radius:18px}.service-premium-card{border-radius:22px}.service-premium-image{height:230px}.service-premium-body{padding:24px}.service-premium-body h2{font-size:27px}.service-premium-body p{min-height:78px}
.property-title-section{padding:28px 0 22px}.property-title-grid h1{font-size:clamp(34px,4vw,50px)}.property-share-toolbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.property-share-toolbar a,.property-share-toolbar button{display:inline-flex;min-height:42px;align-items:center;gap:7px;padding:10px 14px;border:1px solid #dce4ed;border-radius:11px;color:var(--navy);background:#fff;font:700 13px Inter;cursor:pointer}.property-share-toolbar .whatsapp{border-color:#bdebcf;color:#087c3c;background:#effcf4}.property-share-toolbar .icon{width:17px;height:17px}.property-content-section{padding:32px 0 70px}.property-content-card{padding:28px}.property-enquiry-card{scroll-margin-top:100px}.detail-gallery{max-height:520px}
.footer-intro{padding-top:45px;padding-bottom:35px}.footer-grid{padding-top:42px;padding-bottom:38px}.footer-socials{display:flex;gap:9px;margin-top:15px}.footer-socials a{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff}.footer-socials .icon{width:18px;height:18px}.designer-credit{margin-left:9px}.designer-credit a{color:var(--gold-light)!important;font-weight:700}
.premium-floating{position:fixed;z-index:510;right:20px;bottom:22px;display:flex;flex-direction:column;gap:10px}.premium-floating a,.back-to-top{display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:50%;color:#fff;box-shadow:0 12px 30px rgba(6,27,53,.22)}.premium-floating .float-call{background:var(--blue)}.premium-floating .float-whatsapp{background:var(--wa)}.premium-floating .icon,.back-to-top .icon{width:23px;height:23px}.back-to-top{position:fixed;z-index:509;right:22px;bottom:142px;width:46px;height:46px;background:var(--navy);opacity:0;visibility:hidden;transform:translateY(10px);transition:.2s;cursor:pointer}.back-to-top.visible{opacity:1;visibility:visible;transform:none}
@media(max-width:900px){.topbar{display:none}.site-header{top:0}.nav-wrap{min-height:64px}.menu-toggle{display:grid;z-index:603}.main-nav{position:fixed;z-index:602;top:0;right:0;bottom:0;width:min(360px,88vw);padding:84px 22px 28px;display:flex!important;flex-direction:column;align-items:stretch;gap:0;background:#fff;transform:translateX(105%);visibility:hidden;transition:transform .28s ease,visibility .28s ease;overflow-y:auto}.main-nav.open{transform:none;visibility:visible}.main-nav> a:not(.nav-cta){padding:14px 4px;border-bottom:1px solid #edf0f4}.nav-actions{display:grid;margin:18px 0 0}.nav-icon-action{display:flex;width:100%;height:46px;border-radius:12px}.nav-backdrop{position:fixed;z-index:601;inset:0;display:block;border:0;background:rgba(6,27,53,.55);opacity:0;visibility:hidden;transition:.2s}.menu-open .nav-backdrop{opacity:1;visibility:visible}.menu-close-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}.home-hero,.hero-shell{height:460px;min-height:460px}.hero-copy h1{font-size:clamp(35px,7vw,48px)}.hero-search-section{margin-top:0;padding:16px 0 24px}.property-search-panel.premium-search{grid-template-columns:1fr 1fr}.search-intro{grid-column:1/-1}.premium-search .btn{grid-column:1/-1}.solution-cards{grid-template-columns:1fr}.solution-cards p{min-height:0}.section-heading-left{grid-template-columns:1fr;gap:12px}.page-hero,.page-hero .container{height:220px!important;min-height:220px!important}.premium-floating{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));left:14px;flex-direction:row;justify-content:space-between;pointer-events:none}.premium-floating a{width:56px;height:56px;pointer-events:auto}.back-to-top{right:19px;bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.section{padding:42px 0}.section-heading{margin-bottom:25px}.section-heading h2{font-size:29px}.home-hero,.hero-shell{height:420px;min-height:420px}.hero-shell{align-items:center;padding:40px 0 26px}.hero-copy h1{font-size:34px;line-height:1.08;margin:10px 0 12px}.hero-copy>p{font-size:14px;line-height:1.55;margin-bottom:18px}.hero-actions{display:flex;flex-wrap:wrap}.hero-actions .btn{min-height:44px;padding:11px 15px;width:auto}.hero-arrow{width:36px;height:36px;font-size:24px;top:auto;bottom:16px}.hero-prev{left:14px}.hero-next{right:14px}.hero-dots{bottom:29px}.property-search-panel.premium-search{grid-template-columns:1fr;padding:13px}.search-intro,.premium-search .btn{grid-column:auto}.solution-cards img{height:190px}.solution-cards article>div{padding:20px}.solution-cards h3{font-size:21px}.property-body{padding:17px}.property-share-toolbar{display:grid;grid-template-columns:repeat(2,1fr)}.property-share-toolbar a,.property-share-toolbar button{justify-content:center}.property-share-toolbar a:last-child{grid-column:1/-1}.page-hero,.page-hero .container{height:190px!important;min-height:190px!important}.page-hero h1{font-size:31px!important}.service-premium-image{height:205px}.service-premium-body{padding:20px}.footer-intro{padding-top:38px}.footer-grid{padding-top:34px}.designer-credit{display:block;margin:6px 0 0}}
@media print{.topbar,.site-header,.site-footer,.premium-floating,.back-to-top,.property-share-toolbar,.property-enquiry-card,.related-properties,.gallery-count{display:none!important}.property-content-grid{display:block!important}.property-gallery-section,.property-content-section{padding:10px 0}.detail-gallery>button:not(.gallery-main){display:none!important}.detail-gallery{height:340px!important}.property-content-card{box-shadow:none;border:1px solid #ddd;break-inside:avoid}a{color:#000!important}}
@media(prefers-reduced-motion:reduce){.hero-slide.active:before,.hero-slide.active .hero-copy>*{animation:none!important}.hero-copy>*{opacity:1;transform:none}}

/* ========================================================================== 
   NALINI REALTY production overrides — 2026-07-20
   One authoritative responsive layer to prevent old/new stylesheet conflicts.
   ========================================================================== */
html,body{margin:0;min-height:100%;overflow-x:hidden;background:#fff}
body{padding-bottom:0!important;font-family:"Inter",sans-serif;color:#172033}
h1,h2,h3,h4,h5,h6{font-family:"Manrope",sans-serif;letter-spacing:-.025em}
img{max-width:100%;height:auto}
.site-header{position:sticky!important;top:0!important;z-index:1200!important;transform:none!important}
.site-header,.nav-wrap{overflow:visible!important}
.nav-backdrop{z-index:1201!important}.main-nav{z-index:1202!important}.menu-toggle{z-index:1203!important}

/* Hero: compact, reliable, no button/slider overlap */
.home-hero{height:520px!important;min-height:520px!important;max-height:520px!important;isolation:isolate}
.hero-slides,.hero-slide{height:100%!important;min-height:0!important}
.hero-shell{height:100%!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center!important}
.hero-copy{max-width:660px;padding:28px 0 74px}
.hero-copy h1{font-size:clamp(42px,4.4vw,58px)!important;line-height:1.035!important;margin:12px 0 14px!important;max-width:650px}
.hero-copy>p{font-size:16px!important;line-height:1.65!important;max-width:590px!important;margin:0 0 22px!important}
.hero-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important}
.hero-actions .btn{min-height:46px!important;padding:12px 20px!important;width:auto!important}
.hero-arrow{top:50%!important;bottom:auto!important;transform:translateY(-50%)}
.hero-dots{bottom:22px!important}
.hero-slide{will-change:opacity}.hero-slide.active:before{animation-duration:6.5s!important}

/* compact search/listing */
.hero-search-section{margin-top:-26px!important;padding:0 0 18px!important}
.property-search-panel.premium-search{padding:14px!important;gap:12px!important;border-radius:18px!important}
.premium-search>div,.premium-search .btn{min-height:54px!important}
.properties-page{padding:28px 0 58px!important}
.listing-filter{padding:18px!important;gap:12px!important;border-radius:18px!important;margin-top:-40px!important}
.filter-heading{padding-bottom:12px!important;margin-bottom:2px!important}
.filter-field input,.filter-field select,.listing-filter .btn{min-height:50px!important}

/* Inner page heroes: all text visible */
.page-hero,.page-hero .container{height:238px!important;min-height:238px!important;max-height:238px!important}
.page-hero .container{padding:28px 0!important;justify-content:center!important;overflow:visible!important}
.page-hero h1{font-size:clamp(34px,4vw,46px)!important;line-height:1.07!important;margin:8px 0 10px!important}
.page-hero p{font-size:15px!important;line-height:1.55!important;margin:0!important;max-width:680px!important}

/* Four-step process: premium but compact */
.process-section{padding:62px 0!important}
.process-section .section-heading{margin-bottom:30px!important}
.process-section .section-heading h2{font-size:clamp(34px,3.8vw,48px)!important;line-height:1.08!important;max-width:820px!important}
.process-grid{min-height:0!important}
.process-grid article{padding:34px 28px!important;min-height:250px!important}
.process-grid article>span{font-size:42px!important;line-height:1!important}
.process-grid article>.icon{width:34px!important;height:34px!important;margin:4px 0 28px!important}
.process-grid h3{font-size:22px!important;margin:0 0 10px!important}
.process-grid p{font-size:15px!important;line-height:1.55!important;margin:0!important}

/* Footer and floating controls: no artificial white tail */
.site-footer{margin-bottom:0!important;padding-bottom:0!important}
.footer-intro{padding-top:44px!important;padding-bottom:36px!important}
.footer-grid{padding-top:38px!important;padding-bottom:36px!important}
.footer-bottom{padding-top:20px!important;padding-bottom:20px!important}
.floating-actions,.premium-floating{position:fixed!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important}
.back-to-top{position:fixed!important}
body:after,html:after{display:none!important;content:none!important}

/* Icons */
.float-whatsapp .icon,.nav-icon-action .icon,.footer-contact-pills .icon,.property-card .icon{stroke-width:1.9}
.float-whatsapp{background:#25D366!important}

/* General compact rhythm */
.section{padding:62px 0!important}
.section-heading{margin-bottom:30px!important}
.section-heading h2{line-height:1.1!important}
.solution-cards article>div{padding:22px!important}

@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important}
  .home-hero{height:470px!important;min-height:470px!important;max-height:470px!important}
  .hero-copy{padding:30px 0 76px!important;max-width:600px}
  .hero-copy h1{font-size:clamp(34px,7vw,46px)!important}
  .hero-arrow{top:50%!important;bottom:auto!important}
  .page-hero,.page-hero .container{height:210px!important;min-height:210px!important;max-height:210px!important}
  .listing-filter{margin-top:-24px!important}
  .process-grid{grid-template-columns:repeat(2,1fr)!important}
  .process-grid article{min-height:220px!important;padding:28px 24px!important}
}

@media(max-width:600px){
  .container{width:min(100% - 28px,1180px)!important}
  .section{padding:40px 0!important}
  .section-heading{margin-bottom:22px!important}
  .home-hero{height:430px!important;min-height:430px!important;max-height:430px!important}
  .hero-shell{align-items:flex-start!important;padding:0!important}
  .hero-copy{padding:24px 0 72px!important;max-width:none!important;width:100%!important}
  .hero-copy .eyebrow{font-size:12px!important;line-height:1.45!important;letter-spacing:.16em!important;max-width:280px!important}
  .hero-copy h1{font-size:31px!important;line-height:1.08!important;margin:10px 0 11px!important;max-width:355px!important}
  .hero-copy>p{font-size:14px!important;line-height:1.55!important;margin-bottom:16px!important;max-width:350px!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;max-width:350px!important}
  .hero-actions .btn{width:100%!important;min-width:0!important;min-height:44px!important;padding:10px 11px!important;font-size:14px!important;justify-content:center!important;white-space:nowrap!important}
  .hero-arrow{width:36px!important;height:36px!important;top:auto!important;bottom:16px!important;transform:none!important}
  .hero-prev{left:14px!important}.hero-next{right:14px!important}
  .hero-dots{bottom:29px!important;gap:7px!important}
  .hero-dots button{width:8px!important;height:8px!important}.hero-dots button.active{width:24px!important}
  .hero-search-section{margin-top:0!important;padding:12px 0 16px!important}
  .property-search-panel.premium-search{padding:12px!important;gap:10px!important}
  .premium-search>div,.premium-search .btn{min-height:48px!important}
  .page-hero,.page-hero .container{height:auto!important;min-height:176px!important;max-height:none!important}
  .page-hero .container{padding:26px 0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .page-hero h1{font-size:29px!important;line-height:1.08!important;margin:7px 0 9px!important}
  .page-hero h1 br{display:none!important}
  .page-hero p{font-size:13.5px!important;line-height:1.52!important;display:block!important;opacity:1!important;max-width:100%!important}
  .properties-page{padding:14px 0 46px!important}
  .listing-filter{margin-top:0!important;padding:13px!important;border-radius:16px!important}
  .filter-heading{padding:4px 0 10px!important}
  .filter-field input,.filter-field select,.listing-filter .btn{min-height:46px!important}
  .process-section{padding:40px 0!important}
  .process-section .section-heading{margin-bottom:22px!important}
  .process-section .section-heading h2{font-size:28px!important;line-height:1.1!important}
  .process-grid{grid-template-columns:1fr!important;border-radius:18px!important}
  .process-grid article{min-height:0!important;padding:22px 20px!important;display:grid!important;grid-template-columns:42px 1fr!important;column-gap:14px!important;align-items:start!important}
  .process-grid article>span{grid-column:2;font-size:30px!important;justify-self:end!important;opacity:.25!important}
  .process-grid article>.icon{grid-column:1;grid-row:1/4;width:28px!important;height:28px!important;margin:2px 0 0!important}
  .process-grid h3{grid-column:2;font-size:19px!important;margin:-19px 0 5px!important}
  .process-grid p{grid-column:2;font-size:14px!important;line-height:1.45!important}
  .footer-intro{padding:30px 0!important}
  .footer-grid{padding:30px 0!important}
  .footer-bottom{padding:18px 0 calc(18px + env(safe-area-inset-bottom))!important;margin:0!important}
  .premium-floating{bottom:calc(12px + env(safe-area-inset-bottom))!important;left:8px!important;right:8px!important}
  .premium-floating a{width:54px!important;height:54px!important}
  .back-to-top{bottom:calc(76px + env(safe-area-inset-bottom))!important;right:18px!important}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide,.hero-copy>*{transition:none!important;animation:none!important}
  .hero-copy>*{opacity:1!important;transform:none!important}
}


/* ======================================================================
   NALINI REALTY — FINAL CROSS-DEVICE STABILITY OVERRIDES (2026-07-20)
   Single authoritative layer for hero, page banners, filters, footer,
   mobile navigation and floating controls.
   ====================================================================== */
html,body{margin:0!important;padding:0!important;overflow-x:clip!important}
body{font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif!important;background:#06172f!important}
main{background:#fff!important;margin:0!important;padding:0!important}
h1,h2,h3,h4,h5,h6{font-family:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:-.025em}
.site-header{position:sticky!important;top:0!important;z-index:2000!important;transform:none!important;overflow:visible!important}
.nav-wrap{overflow:visible!important}.nav-backdrop{z-index:2001!important}.main-nav{z-index:2002!important}.menu-toggle{z-index:2003!important}

/* Home hero — fixed, compact and independent from image dimensions */
.home-hero{position:relative!important;height:520px!important;min-height:520px!important;max-height:520px!important;overflow:hidden!important;isolation:isolate;background:#06172f!important}
.hero-slides,.hero-slide{position:absolute!important;inset:0!important;height:100%!important;min-height:0!important}
.hero-slide{pointer-events:none!important}.hero-slide.active{pointer-events:auto!important}
.hero-shell{height:100%!important;min-height:0!important;padding:0!important;display:flex!important;align-items:center!important}
.hero-copy{max-width:690px!important;padding:26px 0 72px!important}
.hero-copy h1{font-size:clamp(44px,4.7vw,60px)!important;line-height:1.05!important;font-weight:750!important;margin:13px 0 14px!important;text-wrap:balance}
.hero-copy>p{font-size:16.5px!important;line-height:1.58!important;margin:0 0 22px!important;max-width:610px!important}
.hero-actions{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;margin-top:0!important}
.hero-actions .btn{min-height:46px!important;padding:11px 20px!important}
.hero-arrow{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;line-height:1!important}
.hero-prev{left:20px!important}.hero-next{right:20px!important}

/* Exactly three clear desktop slider indicators */
.hero-dots{position:absolute!important;left:50%!important;right:auto!important;bottom:22px!important;transform:translateX(-50%)!important;z-index:40!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:max-content!important;min-width:70px!important;padding:8px 12px!important;border-radius:999px!important;background:rgba(4,20,39,.42)!important;backdrop-filter:blur(7px)!important;box-shadow:0 4px 18px rgba(0,0,0,.16)!important}
.hero-dots button{display:block!important;flex:0 0 auto!important;width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.82)!important;border-radius:999px!important;background:rgba(255,255,255,.48)!important;opacity:1!important;visibility:visible!important;cursor:pointer!important;transition:width .25s ease,background .25s ease,border-color .25s ease!important}
.hero-dots button.active{width:30px!important;min-width:30px!important;background:#D5A637!important;border-color:#D5A637!important}
.hero-dots button:focus-visible{outline:3px solid rgba(255,255,255,.9)!important;outline-offset:3px!important}

/* Inner page banners: content can grow; never crop mobile text */
.page-hero,.page-hero .container{height:auto!important;max-height:none!important}
.page-hero{min-height:238px!important;padding:0!important;display:flex!important;align-items:center!important}
.page-hero .container{min-height:238px!important;padding:34px 0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:visible!important}
.page-hero h1{font-size:clamp(35px,4vw,46px)!important;line-height:1.08!important;font-weight:750!important;margin:8px 0 10px!important;text-wrap:balance}
.page-hero p{font-size:15px!important;line-height:1.55!important;margin:0!important;max-width:700px!important;opacity:.92!important}

/* Properties hero and filter: no overlap with hero copy */
.properties-page{padding:30px 0 60px!important;background:#f6f8fb!important}
.listing-filter{margin-top:-34px!important;padding:20px!important;gap:13px!important;border-radius:20px!important;position:relative!important;z-index:20!important}
.filter-heading{padding:0 0 13px!important;margin:0 0 2px!important}
.filter-field input,.filter-field select,.listing-filter .btn{min-height:50px!important}

/* Compact four-step section */
.process-section{padding:60px 0!important}
.process-section .section-heading{margin-bottom:28px!important}
.process-section .section-heading h2{font-size:clamp(36px,3.5vw,46px)!important;line-height:1.1!important;max-width:780px!important}
.process-grid article{min-height:235px!important;padding:30px 26px!important}
.process-grid article>span{font-size:40px!important;line-height:1!important}
.process-grid article>.icon{margin:5px 0 24px!important}
.process-grid h3{font-size:21px!important;margin:0 0 8px!important}
.process-grid p{font-size:14.5px!important;line-height:1.5!important;margin:0!important}

/* Footer ends cleanly; fixed buttons never create page height */
.site-footer{margin:0!important;padding-bottom:0!important;display:block!important;background:#06172f!important}
.footer-bottom{padding-bottom:22px!important}
body>footer:last-of-type{margin-bottom:0!important}
.floating-actions,.premium-floating{position:fixed!important;margin:0!important;padding:0!important;height:auto!important;min-height:0!important}
.float-whatsapp{background:#25D366!important}

@media(max-width:900px){
  .site-header{position:sticky!important;top:0!important}
  .main-nav{position:fixed!important;top:0!important;right:0!important;left:auto!important;bottom:0!important;width:min(340px,88vw)!important;border-radius:0!important;overflow-y:auto!important;transform:translateX(105%)!important;transition:transform .28s ease!important;display:flex!important;visibility:hidden!important;pointer-events:none!important}
  .main-nav.open{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .nav-backdrop{position:fixed!important;inset:0!important;display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;background:rgba(3,15,30,.58)!important;transition:.25s!important}
  .nav-backdrop.open{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body.menu-open{overflow:hidden!important}
  .home-hero{height:470px!important;min-height:470px!important;max-height:470px!important}
  .hero-copy{padding:32px 46px 70px 0!important}
  .hero-copy h1{font-size:clamp(38px,6vw,50px)!important}
  .page-hero{min-height:210px!important}.page-hero .container{min-height:210px!important}
  .listing-filter{margin-top:-22px!important}
  .process-grid{grid-template-columns:repeat(2,1fr)!important}
  .process-grid article{min-height:205px!important;padding:26px 22px!important}
}

@media(max-width:600px){
  .home-hero{height:430px!important;min-height:430px!important;max-height:430px!important}
  .hero-shell{align-items:flex-start!important}
  .hero-copy{width:100%!important;max-width:none!important;padding:34px 40px 78px 0!important}
  .hero-copy .eyebrow{font-size:12px!important;line-height:1.45!important;letter-spacing:1.7px!important;max-width:290px!important}
  .hero-copy h1{font-size:clamp(31px,9vw,36px)!important;line-height:1.08!important;font-weight:750!important;margin:10px 0 12px!important;max-width:330px!important}
  .hero-copy>p{font-size:14px!important;line-height:1.52!important;margin-bottom:17px!important;max-width:330px!important}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;justify-items:start!important;gap:9px!important;width:min(100%,300px)!important}
  .hero-actions .btn{min-height:44px!important;padding:10px 17px!important;width:auto!important;max-width:100%!important}
  .hero-actions .btn-ghost{background:rgba(4,20,39,.42)!important}
  .hero-arrow{top:50%!important;bottom:auto!important;width:38px!important;height:38px!important;transform:translateY(-50%)!important}
  .hero-prev{left:8px!important}.hero-next{right:8px!important}
  .hero-dots{bottom:14px!important;gap:7px!important;padding:6px 9px!important;min-width:58px!important}
  .hero-dots button{width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important}
  .hero-dots button.active{width:24px!important;min-width:24px!important}
  .page-hero{min-height:176px!important}.page-hero .container{min-height:176px!important;padding:25px 0!important}
  .page-hero h1{font-size:29px!important;line-height:1.1!important;margin:7px 0 8px!important}
  .page-hero h1 br{display:none!important}
  .page-hero p{display:block!important;font-size:13.5px!important;line-height:1.5!important;max-width:100%!important;opacity:.95!important}
  .properties-page{padding:14px 0 44px!important}
  .listing-filter{margin-top:0!important;padding:13px!important;border-radius:16px!important}
  .filter-field input,.filter-field select,.listing-filter .btn{min-height:46px!important}
  .process-section{padding:38px 0!important}
  .process-section .section-heading{margin-bottom:20px!important}
  .process-section .section-heading h2{font-size:28px!important;line-height:1.1!important}
  .process-grid{grid-template-columns:1fr!important;border-radius:17px!important}
  .process-grid article{min-height:0!important;padding:20px!important;display:grid!important;grid-template-columns:40px 1fr!important;column-gap:13px!important;align-items:start!important}
  .process-grid article>span{grid-column:2!important;font-size:29px!important;justify-self:end!important;opacity:.24!important}
  .process-grid article>.icon{grid-column:1!important;grid-row:1/4!important;width:27px!important;height:27px!important;margin:2px 0 0!important}
  .process-grid h3{grid-column:2!important;font-size:19px!important;margin:-18px 0 4px!important}
  .process-grid p{grid-column:2!important;font-size:14px!important;line-height:1.45!important}
  .premium-floating{left:8px!important;right:8px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}
  .premium-floating a{width:54px!important;height:54px!important}
  .back-to-top{right:13px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .footer-bottom{padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}
}

/* === FINAL MOBILE HERO, MENU AND FOOTER STABILITY OVERRIDES === */
html,body{margin:0!important;padding:0!important;overflow-x:hidden!important}
body{background:#061b35!important}
main{background:#fff;margin:0!important;padding-bottom:0!important}
.site-footer{margin:0!important;background:#061b35!important}
.footer-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.footer-legal-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.footer-credit a{font-weight:800;color:#f4c453}
.footer-policy-links{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-wrap:wrap}
.footer-policy-links a{white-space:nowrap}

/* Reliable menu layers and interaction state */
.site-header{position:sticky!important;top:0!important;z-index:2000!important}
.nav-backdrop{z-index:2090!important}
.main-nav{z-index:2100!important}
.menu-toggle{z-index:2110!important}
body.menu-open{overflow:hidden!important;touch-action:none}

/* Hero controls remain outside the content column on desktop */
.home-hero,.hero-shell{height:520px!important;min-height:520px!important}
.hero-dots{left:50%!important;bottom:20px!important;transform:translateX(-50%)!important;z-index:40!important;display:flex!important;gap:9px!important}
.hero-dots button{display:block!important;opacity:1!important;visibility:visible!important}
.hero-dots button.active{width:28px!important;background:#d5a637!important}

@media(max-width:767px){
  .home-hero,.hero-shell{height:395px!important;min-height:395px!important}
  .hero-shell{padding:28px 0 54px!important;align-items:center!important}
  .hero-copy{max-width:calc(100% - 20px)!important;padding-right:34px!important}
  .hero-copy h1{font-size:30px!important;line-height:1.08!important;margin:8px 0 10px!important;max-width:100%!important}
  .hero-copy>p{font-size:14px!important;line-height:1.45!important;margin:0 0 16px!important;max-width:100%!important}
  .hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;width:100%!important;max-width:360px!important}
  .hero-actions .btn{width:100%!important;min-width:0!important;min-height:42px!important;padding:9px 8px!important;font-size:12.5px!important;line-height:1.15!important;white-space:nowrap!important}
  .hero-prev{display:none!important}
  .hero-next{display:grid!important;place-items:center!important;right:8px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:38px!important;height:38px!important;z-index:45!important}
  .hero-dots{bottom:12px!important;z-index:46!important}
  .hero-dots button{width:8px!important;height:8px!important}
  .hero-dots button.active{width:22px!important}

  .page-hero,.page-hero .container{height:auto!important;min-height:180px!important}
  .page-hero{padding:36px 0 28px!important;overflow:visible!important}
  .page-hero h1{font-size:28px!important;line-height:1.12!important;margin-bottom:8px!important}

  .site-footer{padding-bottom:0!important}
  .footer-bottom{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;padding:20px 16px calc(104px + env(safe-area-inset-bottom))!important;text-align:center!important}
  .footer-legal-copy{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;width:100%!important}
  .footer-copyright,.footer-credit{display:block!important;font-size:12.5px!important;line-height:1.45!important;margin:0!important}
  .footer-policy-links{display:flex!important;justify-content:center!important;gap:8px 16px!important;margin:5px 0 0!important;width:100%!important}
  .footer-policy-links a{font-size:12.5px!important;line-height:1.4!important}

  .premium-floating{position:fixed!important;left:14px!important;right:14px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;display:flex!important;flex-direction:row!important;justify-content:space-between!important;height:54px!important;pointer-events:none!important;z-index:2200!important}
  .premium-floating a{width:54px!important;height:54px!important;pointer-events:auto!important}
  .back-to-top{right:19px!important;bottom:calc(80px + env(safe-area-inset-bottom))!important;width:44px!important;height:44px!important;z-index:2199!important}
}

@media(max-width:360px){
  .hero-copy h1{font-size:28px!important}
  .hero-actions .btn{font-size:11.5px!important;padding-inline:5px!important}
}

/* === RELEASE FIX: fixed header, reliable mobile menu, clean mobile hero/footer === */
:root{--public-topbar-height:34px;--public-header-height:68px}
html{scroll-padding-top:calc(var(--public-topbar-height) + var(--public-header-height))}
body{padding-top:calc(var(--public-topbar-height) + var(--public-header-height))!important}
.topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;height:var(--public-topbar-height)!important;z-index:2990!important}
.topbar-inner{height:var(--public-topbar-height)!important;min-height:var(--public-topbar-height)!important;padding:0!important;align-items:center!important}
.site-header{position:fixed!important;top:var(--public-topbar-height)!important;left:0!important;right:0!important;width:100%!important;z-index:3000!important;transform:none!important;margin:0!important}
.site-header.scrolled{box-shadow:0 10px 30px rgba(6,27,53,.12)!important}
.nav-wrap{min-height:var(--public-header-height)!important}

/* Menu state is driven by both body and element classes for maximum reliability. */
.nav-backdrop{z-index:3090!important}
.main-nav{z-index:3100!important}
.menu-toggle{position:relative!important;z-index:3110!important;cursor:pointer!important;touch-action:manipulation!important}
body.menu-open .nav-backdrop,.nav-backdrop.open{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body.menu-open .main-nav,.main-nav.open{visibility:visible!important;pointer-events:auto!important;transform:translateX(0)!important}

/* Footer should end at the viewport edge without artificial spacers. */
.site-footer,.footer-bottom{margin-bottom:0!important}
.footer-bottom{padding-bottom:22px!important}
body>footer:last-of-type{margin-bottom:0!important}

@media(max-width:900px){
  :root{--public-topbar-height:0px;--public-header-height:64px}
  html{scroll-padding-top:var(--public-header-height)}
  body{padding-top:var(--public-header-height)!important}
  .topbar{display:none!important}
  .site-header{top:0!important;height:var(--public-header-height)!important}
  .nav-wrap{min-height:var(--public-header-height)!important;height:var(--public-header-height)!important}
  .main-nav{top:0!important;right:0!important;bottom:0!important;left:auto!important;width:min(340px,88vw)!important;height:100dvh!important;max-height:100dvh!important;padding:82px 22px 28px!important;background:#fff!important;overflow-y:auto!important;overscroll-behavior:contain!important;transform:translateX(105%)!important;visibility:hidden!important;pointer-events:none!important;display:flex!important;flex-direction:column!important;border-radius:0!important;box-shadow:-18px 0 45px rgba(6,27,53,.2)!important}
  .main-nav.open,body.menu-open .main-nav{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important}
  .nav-backdrop{position:fixed!important;inset:0!important;display:block!important;background:rgba(3,15,30,.62)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;border:0!important}
  .nav-backdrop.open,body.menu-open .nav-backdrop{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body.menu-open{overflow:hidden!important;touch-action:none!important}
}

@media(max-width:767px){
  /* No arrows on mobile: swipe and dots remain available. */
  .hero-prev,.hero-next,.hero-arrow{display:none!important}
  .hero-copy{padding-right:0!important;max-width:100%!important}
  .hero-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;max-width:100%!important}
  .hero-dots{bottom:11px!important}

  /* No reserved blank area below the footer. Floating controls hide near it. */
  .site-footer{padding-bottom:0!important}
  .footer-bottom{padding:20px 16px calc(18px + env(safe-area-inset-bottom))!important}
  .premium-floating,.back-to-top{transition:opacity .2s ease,transform .2s ease!important}
  body.is-footer-near .premium-floating,body.is-footer-near .back-to-top{opacity:0!important;pointer-events:none!important;transform:translateY(18px)!important}
}
