/********** Template CSS **********/
:root {
    --primary: #7C682A;
    --secondary: #FF6922;
    --light: #EFFDF5;
    --dark: #0E2E50;
}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

/* ============================= */
/* INNER PAGE NAVBAR SPACING */
/* ============================= */



/* Add proper spacing below navbar */
.inner-page .insights-section {
    margin-top: 150px; /* adjust to your navbar height */
}
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}


/*** Button ***/
.btn {
    transition: .5s;
     font-family: 'Nanum Myeongjo', serif;
}

.btn.btn-primary,
.btn.btn-secondary {
    color: #FFFFFF;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 2px;
}


/*** Navbar ***/
.nav-bar {
    position: relative;
    margin-top: 45px;
    padding: 0 3rem;
    transition: .5s;
    z-index: 9999;
}

.nav-bar.sticky-top {
    position: sticky;
    padding: 0;
    z-index: 9999;
}

.navbar {
    box-shadow: 0 0 30px rgba(0, 0, 0, .08);
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    
    font-weight: 600 !important;
    vertical-align: middle;
    margin-left: 5px;
    transition: .5s;
}

.navbar .dropdown-toggle[aria-expanded=true]::after {
    transform: rotate(-180deg);
}

.navbar-light .navbar-nav .nav-link {
    margin-right: 30px;
    padding: 25px 0;
    color: #FFFFFF;
     font-family: 'Nanum Myeongjo', serif;
    font-size: 15px;
    text-transform: uppercase;
    outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary);
}

@media (max-width: 991.98px) {
    .nav-bar {
        margin: 0;
        padding: 0;
    }

    .navbar-light .navbar-nav .nav-link  {
        margin-right: 0;
        padding: 10px 0;
    }

    .navbar-light .navbar-nav {
        border-top: 1px solid #EEEEEE;
    }
}

.navbar-light .navbar-brand {
    height: 75px;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--dark);
    font-weight: 500;
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        top: 100%;
        margin-top: 0;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
        
    }

    .navbar .nav-item:hover .dropdown-menu {
        transform: rotateX(0deg);
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}
/* Targeted font for the dropdown menu items only */
.dropdown-menu .dropdown-item {
    font-family: 'Nanum Myeongjo', serif;
    font-weight: 500; /* Bold for clarity */
    font-size: 15px;
    letter-spacing: 0.5px;
    color: #000000; /* Deep black for luxury contrast */
    padding: 10px 20px; /* Better spacing for a premium feel */
    transition: all 0.3s ease;
}

/* Hover effect: Changes text to your Gold color */
.dropdown-menu .dropdown-item:hover {
    color: #C6A62E !important; /* Your Gold */
    background-color: #f8f9fa; /* Subtle light grey background on hover */
    padding-left: 25px; /* Elegant little slide-in effect on hover */
}

/*** Header ***/
@media (min-width: 992px) {
    .header {
        margin-top: -120px;
    }
}

.header-carousel .owl-nav {
    position: absolute;
    top: 50%;
    left: -25px;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
}

.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    margin: 7px 0;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--primary);
    border-radius: 40px;
    font-size: 20px;
    transition: .5s;
}

.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    background: var(--dark);
}

@media (max-width: 768px) {
    .header-carousel .owl-nav {
        left: 25px;
    }
}

.breadcrumb-item + .breadcrumb-item::before {
    color: #DDDDDD;
}


/*** Icon ***/
.icon {
    padding: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FFFFFF !important;
    border-radius: 50px;
    border: 1px dashed var(--primary) !important;
}


/*** About ***/
.about-img img {
    position: relative;
    z-index: 2;
}

.about-img::before {
    position: absolute;
    content: "";
    top: 0;
    left: -50%;
    width: 100%;
    height: 100%;
    background: var(--primary);
    transform: skew(20deg);
    z-index: 1;
}


/*** Category ***/
.cat-item div {
    background: #FFFFFF;
    border: 1px dashed rgba(0, 185, 142, .3);
    transition: .5s;
}

.cat-item:hover div {
    background: var(--primary);
    border-color: transparent;
}

.cat-item div * {
    transition: .5s;
}

.cat-item:hover div * {
    color: #FFFFFF !important;
}


/*** Property List ***/
.nav-pills .nav-item .btn {
    color: var(--dark);
}

.nav-pills .nav-item .btn:hover,
.nav-pills .nav-item .btn.active {
    color: #FFFFFF;
}

.property-item {
    box-shadow: 0 0 30px rgba(0, 0, 0, .08);
}

.property-item img {
    transition: .5s;
}

.property-item:hover img {
    transform: scale(1.1);
}

.property-item .border-top {
    border-top: 1px dashed rgba(0, 185, 142, .3) !important;
}

.property-item .border-end {
    border-right: 1px dashed rgba(0, 185, 142, .3) !important;
}


/*** Team ***/
.team-item {
    box-shadow: 0 0 30px rgba(0, 0, 0, .08);
    transition: .5s;
}

.team-item .btn {
    color: var(--primary);
    background: #FFFFFF;
    box-shadow: 0 0 30px rgba(0, 0, 0, .15);
}

.team-item .btn:hover {
    color: #FFFFFF;
    background: var(--primary);
}

.team-item:hover {
    border-color: var(--secondary) !important;
}

.team-item:hover .bg-primary {
    background: var(--secondary) !important;
}

.team-item:hover .bg-primary i {
    color: var(--secondary) !important;
}


/*** Testimonial ***/
.testimonial-carousel {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

@media (min-width: 576px) {
    .testimonial-carousel {
        padding-left: 4rem;
        padding-right: 4rem;
    }
}

.testimonial-carousel .testimonial-item .border {
    border: 1px dashed rgba(0, 185, 142, .3) !important;
}

.testimonial-carousel .owl-nav {
    position: absolute;
    width: 100%;
    height: 40px;
    top: calc(50% - 20px);
    left: 0;
    display: flex;
    justify-content: space-between;
    z-index: 1;
}

.testimonial-carousel .owl-nav .owl-prev,
.testimonial-carousel .owl-nav .owl-next {
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: var(--primary);
    border-radius: 40px;
    font-size: 20px;
    transition: .5s;
}

.testimonial-carousel .owl-nav .owl-prev:hover,
.testimonial-carousel .owl-nav .owl-next:hover {
    background: var(--dark);
}


/*** Footer ***/
.footer .btn.btn-social {
    margin-right: 5px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--light);
    border: 1px solid rgba(255,255,255,0.5);
    border-radius: 35px;
    transition: .3s;
}

.footer .btn.btn-social:hover {
    color: var(--primary);
    border-color: var(--light);
}

.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    font-size: 15px;
    font-weight: normal;
    text-transform: capitalize;
    transition: .3s;
}

.footer .btn.btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .btn.btn-link:hover {
    letter-spacing: 1px;
    box-shadow: none;
}

.footer .form-control {
    border-color: rgba(255,255,255,0.5);
}

.footer .copyright {
    padding: 25px 0;
    font-size: 15px;
    border-top: 1px solid rgba(256, 256, 256, .1);
}

.footer .copyright a {
    color: var(--light);
}

.footer .footer-menu a {
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.footer .footer-menu a:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}









/* new css */
/* Layout Reset & Overlay */
.header-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.nav-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}

/* Full Width Hero */
.main-hero {
    position: relative;
    height: 100vh;
    min-height: 600px;
    width: 100%;
}

.hero-slider, .hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-slide {
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    display: flex;
    align-items: center;
    padding-left: 10%;
}

.hero-slide.active {
    opacity: 1;
    z-index: 1;
}

/* Typography */
.hero-label {
    color: #ffffff;
     font-family: 'Nanum Myeongjo', serif;
    font-size: 0.9rem;
    letter-spacing: 2px;
    font-weight: 900 !important;
    display: block;
    margin-bottom: 15px;
}

.hero-title {
    color: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(2.5rem, 5vw, 3rem); /* Responsive typography */
    max-width: 700px;
    font-weight: 300;
    line-height: 1.1;
    margin-bottom: 30px;
}
/* Targeted font for the hero span/label only */
.hero-content span.hero-label, 
.hero-slide .hero-content span {
    font-family: 'Nanum Myeongjo', serif;
    font-weight: 700; /* Bold for that luxury editorial look */
    letter-spacing: 2px; /* Spaced out letters for premium feel */
    text-transform: uppercase; /* Keeps it clean and professional */
    display: inline-block;
    margin-bottom: 15px;
    margin-left: 9px;
}
/* CTA Button with Circle Arrow */
.hero-cta-btn {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: white;
    font-weight: 500;
    gap: 15px;
}

.btn-circle-arrow {
    width: 50px;
    height: 50px;
    border: 2px solid white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.hero-cta-btn:hover .btn-circle-arrow {
    background: white;
    color: #000;
}

/* Tube Progress System */
.hero-progress-container {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
    width: 80%;
    max-width: 1000px;
}

.progress-tube {
    flex: 1;
    height: 4px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    overflow: hidden;
}

.tube-filler {
    height: 100%;
    width: 0%;
    /* Luxury Gold Gradient using your shades */
    background: linear-gradient(to right, #7C682A, #C6A62E); 
    box-shadow: 0 0 8px rgba(198, 166, 46, 0.5); /* Adds a subtle premium glow */
    border-radius: 2px;
}

/* Ensure the filler uses the 'forwards' property so JS detects the end */
.progress-tube.active .tube-filler {
    animation: fillProgress 5s linear forwards; 
}

@keyframes fillProgress {
    from { width: 0%; }
    to { width: 100%; }
}
/* Make the video fill the entire hero area */
.hero-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* This is the magic line that makes it fit like an image */
    object-fit: cover; 
    
    /* Ensures the video stays behind your text and navbar */
    z-index: -1; 
    
    /* Optional: Add a slight dark tint so your white text is easier to read */
    filter: brightness(0.7);
}

/* Ensure the container is full screen so the video has space to fill */
.main-hero {
    position: relative;
    height: 100vh; /* Full browser height */
    width: 100%;
    overflow: hidden; /* Prevents scrollbars if the video is huge */
    background-color: #000; /* Black background while video loads */
}
/* Mobile Adjustments */
@media (max-width: 768px) {
    .hero-slide { padding-left: 5%; padding-right: 5%; }
    .hero-progress-container { bottom: 20px; width: 90%; }
    .progress-tube { height: 2px; }
}


/* Override Bootstrap blue button */
.btn-primary {
    background-color: #7C682A
 !important;
    border-color: #C6A62E !important;
}

.btn-primary:hover {
    background-color: #b89a28 !important;
    border-color: #b89a28 !important;
}
.navbar-brand img {
    height: 30px !important;   /* adjust this number if needed */
    width: auto;
}






/* ============================================================
   SIXTH AVENUE - OUR FIRM SECTION (STUDIO DADO STYLE)
   ============================================================ */

.firm-section-wrapper {
    background-color: #ffffff;
    padding-top: 80px;
    padding-bottom: 100px;
}

/* 1. THE MASSIVE HEADER */
.firm-big-title {
    /* Adjusted for better responsiveness on smaller screens */
    font-size: clamp(2rem, 5vw, 2.9rem); 
    font-family: 'Nanum Myeongjo', serif;
    font-weight: 300 !important;
    color: #000000;
    line-height: 1.1; /* Adjusted from 0.8 to prevent clipping at smaller sizes */
    margin-bottom: 0;
    text-transform: uppercase;
}

.firm-paragraph {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 1.15rem; 
    line-height: 1.8;
    color: #333;
    margin-bottom: 25px;
}

.firm-divider {
    border: none;
    border-top: 1px solid #000;
    margin: 15px 0 60px 0;
    opacity: 1;
}

/* 2. THE BOX ALIGNMENT */
.align-items-stretch {
    display: flex;
    align-items: stretch; 
}

.firm-image-container {
    height: 100%;
    width: 100%;
    overflow: hidden;
    cursor: pointer;
}

/* 3. THE IMAGE (Updated: No Grayscale, No Hover effect) */
.grayscale-img {
    width: 100%;
    height: 100%; 
    object-fit: cover; 
    display: block;
    /* Removed filter and transition to keep original color */
}

/* 4. TYPOGRAPHY SPACING */
.firm-text-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.firm-mini-label {
    font-family: 'Nanum Myeongjo', serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 20px;
    font-weight: 700;
    color: #000000;
}

/* 5. THE LINK & ARROW */
.firm-custom-link {
    font-family: 'Nanum Myeongjo', serif;
    display: inline-block;
    text-decoration: none;
    color: #000;
    font-weight: 600;
    transition: 0.3s;
}

.firm-custom-link:hover {
    color: #C6A62E;
}

.arrow-icon {
    margin-left: 10px;
    display: inline-block;
    transition: transform 0.3s ease;
}

.firm-custom-link:hover .arrow-icon {
    transform: translateX(8px);
}

/* ============================================================
   MEDIA QUERIES
   ============================================================ */

/* Laptop / Standard Desktop */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }
}

/* Large Screens (1600px) */
@media (min-width: 1600px) {
    .container {
        max-width: 1500px;
    }
}

/* Ultra-Wide (1920px) */
@media (min-width: 1900px) {
    .container {
        max-width: 1700px;
    }
    .firm-big-title {
        font-size: 2.9rem; /* Keeps laptop size as requested */
    }
}

/* Mobile & Tablet Styling */
@media (max-width: 991px) {
    .firm-section-wrapper {
        padding-top: 40px;
    }
    
    .firm-big-title {
        /* Scales down for smaller screens */
        font-size: 8vw; 
    }

    .firm-image-container {
        height: 350px; 
        margin-top: 40px;
    }
    
    .order-2 {
        order: 2 !important; 
    }
    .order-1 {
        order: 1 !important; 
    }
}

/* Ghost "6" Logic */
.firm-text-content {
    position: relative; 
    z-index: 1; 
}

.firm-text-content::before {
    content: "6";
    position: absolute;
    top: 50%;
    left: -10%; 
    transform: translateY(-50%);
    font-family: 'Nanum Myeongjo', serif;
    font-size: 20rem;
    font-weight: 800;
    color: rgba(124, 104, 42, 0.05);
    z-index: -1;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 991px) {
    .firm-text-content::before {
        font-size: 15rem; /* Slightly smaller for mobile */
        left: 0;
        opacity: 0.03;
    }
}







/* --- LUXURY QUOTE - REFINED SCALE --- */

.quote-section-wrapper {
    background-color: #ffffff;
    padding: 120px 0; /* Creates that deep white space above and below */
}

.luxury-quote-text {
    font-family: 'Nanum Myeongjo', serif; /* Use your brand serif */
    color: #1a1a1a;
    font-weight: 400;
    line-height: 1.7; /* Increased for that "Studio DADO" airy feel */
    
    /* SCALE ADJUSTMENT: 
       Mobile: 1.25rem
       Laptop/Large: 2.2rem 
       Ultra-Wide: 2.5rem 
    */
    font-size: clamp(1.25rem, 2.2vw, 2.2rem); 
    
    letter-spacing: -0.01em;
    margin: 0 auto;
    max-width: 900px; /* Limits width so it doesn't stretch too thin on 1920px */
}

/* Italic styling for the brand signature */
.luxury-quote-text em {
    font-style: italic;
    font-family: 'Nanum Myeongjo', serif;
}
.contact-page .quote-section-wrapper {
    background-color: #000;
}

.contact-page .quote-section-wrapper .luxury-quote-text {
    color: #ffffff;
}

.contact-page .quote-section-wrapper em {
    color: #ffffff; /* your gold accent */
}
/* --- RESPONSIVE FIXES --- */

/* Tablets & Small Laptops */
@media (max-width: 1199px) {
    .luxury-quote-text {
        max-width: 80%;
    }
}

/* Mobile Screens (Updated for wider, luxury layout) */
@media (max-width: 767px) {
    .quote-section-wrapper {
        padding: 80px 15px; /* Deep padding for that luxury "air" */
    }

    .luxury-quote-text {
        /* Increasing width to 95% so it doesn't look like a narrow pillar */
        width: 95%; 
        max-width: 100%;
        
        /* Font size needs to be a bit punchier on mobile to feel premium */
        font-size: 1rem; 
        line-height: 1.6;
        letter-spacing: -0.01em;
        
        /* Ensure it stays centered */
        margin: 0 auto;
        text-align: center;
    }
}

/* 1600px - 1920px (Keeping it elegant, not giant) */
@media (min-width: 1600px) {
    .luxury-quote-text {
        max-width: 1000px;
        font-size: 2rem;
    }
}

/* --- EXTRA HEIGHT FOR LARGE SCREENS --- */

/* Targets Large Desktops (1440px and up) */
@media (min-width: 1440px) {
    .quote-section-wrapper {
        padding: 180px 0; /* Increases height by adding more space top and bottom */
    }
}

/* Targets Ultra-Wide Screens (1920px and up) */
@media (min-width: 1920px) {
    .quote-section-wrapper {
        padding: 220px 0; /* Even deeper padding for massive displays */
    }
}


/* ==========================================================================
   IMPACT & STATS SECTION (4-IMAGE COLLAGE VERSION)
   ========================================================================== */

.stats-video-section {
    background-color: #ffffff;
    overflow: hidden; 
}

/* THE MEDIA CONTAINER */
.stats-bg-container {
    height: 50vh; 
    min-height: 400px;
    max-height: 550px; 
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* THE COLLAGE GRID SYSTEM */
.collage-grid {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex; /* Lines images up horizontally */
    z-index: 1;
}

.collage-item {
    flex: 1; /* Each takes 25% width */
    height: 100%;
    overflow: hidden;
}

.collage-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s ease; /* Slow, elegant zoom */
}

/* Zoom Effect when hovering over a column */
.collage-item:hover img {
    transform: scale(1.1);
}

.stats-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.40); /* Ensures text stays readable */
    z-index: 2;
}

/* TEXT CONTENT */
.stats-header-content {
    position: relative;
    z-index: 3;
    padding: 0 20px;
    text-align: center;
    margin-top: -50px; 
}

.stats-header-content h1 {
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(1.8rem, 3.5vw, 3rem); 
    color: #ffffff;
    font-weight: 400 !important;
}

.stats-subtitle {
    font-family: 'Nanum Myeongjo', serif;
    max-width: 700px;
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin: 15px auto 0;
}

/* OVERLAPPING STATS BOX */
.stats-box-wrapper {
    margin-top: -100px;
    position: relative;
    z-index: 10;
}

.stats-box {
    background-color: #ffffff;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.07); 
    padding: 50px 30px;
}

.stat-number {
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(2.2rem, 3vw, 3rem);
    font-weight: 700;
    color: #7C682A
;
    margin-bottom: 5px;
}

.stat-label {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #2d2d2d;
    margin: 0;
}

.border-end-custom { border-right: 1px solid #eeeeee; }

.btn-luxury-dark {
    font-family: 'Nanum Myeongjo', serif;
    display: inline-block;
    padding: 16px 45px;
    background-color: #1a1a1a;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 2px;
    transition: 0.3s ease;
    margin-top: 40px;
}

.btn-luxury-dark:hover { background-color: #b39b59; color: #ffffff; }

/* RESPONSIVE */
@media (max-width: 991px) {
    .collage-item:nth-child(n+3) { display: none; } /* Show only 2 images on Tablet */
    .stats-bg-container { height: 45vh; }
    .stats-box-wrapper { margin-top: -70px; }
    .border-end-custom { border-right: none; border-bottom: 1px solid #eeeeee; padding-bottom: 25px; margin-bottom: 25px; }
}

@media (max-width: 767px) {
    .collage-item:nth-child(n+2) { display: none; } /* Show only 1 image on Mobile */
    .stats-bg-container { height: 40vh; min-height: 350px; }
    .stats-box-wrapper { margin-top: -50px; padding: 0 15px; }
}
/* --- EXTRA HEIGHT FOR STATS-VIDEO SECTION (LARGE SCREENS) --- */

/* Targets Large Desktops (1440px and up) */
@media (min-width: 1440px) {
    .stats-video-section {
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

/* Targets Ultra-Wide Screens (1920px and up) */
@media (min-width: 1920px) {
    .stats-video-section {
        padding-top: 150px;
        padding-bottom: 150px;
    }
}








/* SECTION WRAPPER */
.luxury-about-suite-tall {
    background-color: #1a1a1a; 
    padding: 50px 0; /* Minimal top/bottom padding to compensate for tall images */
    color: #ffffff;
}

.suite-container-tall {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

/* HEADER */
.suite-main-title {
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(2.2rem, 4.5vw, 3.2rem);
    font-weight: 400;
    margin-bottom: 5px;
}

.suite-sub-header {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 0.7rem;
    letter-spacing: 5px;
    opacity: 0.6;
    text-transform: uppercase;
    margin-bottom: 35px; /* Tight gap before images */
}

/* THE GRID: TALL IMAGES */
.suite-image-grid-tall {
    display: flex;
    gap: 20px;
    padding: 0 60px;
    margin-bottom: 40px;
}

.suite-col {
    flex: 1;
}

.suite-img-box-tall {
    aspect-ratio: 3 / 4; /* This creates the tall, portrait look you want */
    overflow: hidden;
    margin-bottom: 12px;
}

.suite-img-box-tall img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.suite-col:hover img {
    transform: scale(1.04);
}

.suite-label {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 9px;
    letter-spacing: 2px;
    color: #b39b59; /* Gold */
}

/* NARRATIVE BLOCK */
.suite-summary-block {
    max-width: 950px;
    margin: 0 auto;
}

.suite-narrative {
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(1.2rem, 2.2vw, 1.9rem);
    line-height: 1.35;
    font-weight: 300;
    color: rgba(255, 255, 255, 0.9);
}

/* --- RESPONSIVE --- */

@media (max-width: 1024px) {
    .suite-image-grid-tall { padding: 0 20px; }
}

@media (max-width: 767px) {
    .suite-image-grid-tall { flex-direction: column; }
    .suite-img-box-tall { aspect-ratio: 4 / 5; } /* Slightly less tall on mobile */
    .suite-col { margin-bottom: 40px; }
    .suite-narrative { text-align: left; }
}









/* Container defines how "long" the scroll lasts */
.norm-experience {
    height: 400vh; /* Scroll length: increase this to make it slower */
    background: #f8f8f8;
    position: relative;
}

.norm-sticky-wrapper {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden; /* Clips the horizontal track */
    display: flex;
    align-items: center;
}

.norm-horizontal-track {
    display: flex;
    height: 100vh;
    width: 400vw; /* 4 images = 400% width */
    will-change: transform;
}

.norm-panel {
    width: 100vw;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-right: 1px solid rgba(0,0,0,0.05); /* Subtle divider like the screenshot */
}

.norm-panel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Minimalist Caption like the "Norm" screenshots */
.norm-caption {
    position: absolute;
    bottom: 50px;
    left: 50px;
    font-family: 'Nanum Myeongjo', serif;
    font-size: 0.9rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #1a1a1a;
    background: rgba(255,255,255,0.8);
    padding: 10px 20px;
}




/* 1. The Container - Standard Viewport */
.luxury-viewport-fixed {
    position: relative;
    width: 100%;
    height: 100vh; 
    background: #000;
    overflow: hidden;
}

/* 2. The Media - Removed scale so icons stay in view */
.media-container-full {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.kuula-iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* 3. The UI Overlay with Animations */
.hero-ui-overlay {
    position: absolute;
    bottom: 80px;
    left: 60px;
    z-index: 5;
    pointer-events: none; 
}

.ui-flex-row {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

/* ANIMATION: Vertical Line Reveal */
.accent-line-vertical {
    width: 1px;
    height: 100px; /* Base height */
    background: linear-gradient(to bottom, rgba(255,255,255,0), #ffffff);
    transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Hover Effect for Line - Triggers when mouse enters the overlay area */
.hero-ui-overlay:hover .accent-line-vertical {
    height: 140px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), #b39b59); /* Turns Gold */
}

.hero-text-block {
    pointer-events: auto;
    /* Initial state for text slide-up animation */
    transform: translateY(20px);
    opacity: 0.9;
    transition: all 0.6s ease-out;
}

.hero-ui-overlay:hover .hero-text-block {
    transform: translateY(0);
    opacity: 1;
}

/* 4. Typography - LOCKED TO WHITE */
.main-hero-title {
    font-family: 'Nanum Myeongjo', serif;
    color: #ffffff !important; /* Forces title to stay white */
    font-size: clamp(2.2rem, 4vw, 3.8rem);
    font-weight: 300;
    line-height: 1.2;
    margin: 0 0 25px 0;
    text-shadow: 0 4px 30px rgba(0,0,0,0.6);
    transition: none; /* No color transition needed for title */
}

/* 5. Button & Gold Hover */
.minimal-discover-link {
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    letter-spacing: 5px;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    transition: all 0.4s ease;
}

/* Gold Link Hover - Only triggers when cursor is on the link text */
.minimal-discover-link:hover {
    color: #b39b59 !important; /* Luxury Gold/Yellow */
    padding-left: 15px; /* Premium slide effect */
}

.arrow-svg {
    margin-left: 15px;
    font-size: 18px;
    transition: transform 0.4s ease;
}

.minimal-discover-link:hover .arrow-svg {
    transform: translate(6px, -6px);
}





/* ==========================================================================
   SIXTH AVENUE - LUXURY PLATFORM SLIDER (FINAL CLEAN VERSION)
   ========================================================================== */

.platform-slider-section {
    height: 85vh;
    min-height: 650px;
    padding: 40px 0;
    background-color: #ffffff; 
    overflow: hidden;
    display: flex;
    align-items: center;
}

.container-slider-wrapper {
    display: flex;
    width: 100%;
    padding-left: 8%;
    align-items: center;
}

.slider-intro {
    flex: 0 0 320px;
    padding-right: 50px;
}

.slider-title {
    font-family: 'Nanum Myeongjo', serif;
    font-size: clamp(1.8rem, 2.5vw, 2.2rem);
    line-height: 1.2;
    color: #1a1a1a;
    margin-bottom: 30px;
}

/* --- THE CAMERA LENS (Fixes White Space) --- */
.slider-window {
    flex: 1;
    position: relative;
    /* This clips everything outside the two visible cards */
    overflow: hidden !important; 
}

.platform-cards-container {
    display: flex;
    gap: 20px;
    scroll-behavior: smooth;
    transition: all 0.5s ease;
    /* Locked by default, mobile media query will unlock it */
    overflow-x: hidden !important; 
}

/* --- THE CARDS --- */
.platform-card {
    flex: 0 0 calc(50% - 20px); /* 2 cards visible */
    height: 60vh;
    min-height: 450px;
}

.card-inner { width: 100%; height: 100%; position: relative; overflow: hidden; }
.card-img { width: 100%; height: 100%; object-fit: cover; transition: 1s ease; }
.card-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.85)); }

.card-content { font-family: 'Nanum Myeongjo', serif; position: absolute; bottom: 35px; left: 25px; color: #fff; z-index: 2; }
.card-content h3 { color: #fff; font-family: 'Nanum Myeongjo', serif; font-size: 1.5rem; }

/* --- THE ARROWS --- */
.nav-arrow {
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    z-index: 99; /* Ensures they sit on top of everything */
    background: transparent; 
    border: none; 
    width: 60px; 
    height: 60px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.nav-arrow img {
    width: 25px;
    height: auto;
    filter: drop-shadow(0px 2px 5px rgba(0,0,0,0.6)); 
}

.nav-arrow:hover { transform: translateY(-50%) scale(1.15); opacity: 0.8; }

.prev-btn { left: 15px; }
.next-btn { right: 15px; }

/* ==========================================================================
   ULTRA-WIDE REFINEMENTS (STRICT 2-CARD VIEW)
   ========================================================================== */

@media (min-width: 1440px) {
    /* 1. We lock the slider-window to exactly the width of two cards + gap */
    .slider-window {
        flex: 0 0 1200px; /* (590px card * 2) + 20px gap */
        max-width: 1200px;
        margin: 0 auto;
        overflow: hidden !important;
    }

    .platform-card {
        flex: 0 0 590px !important; /* Fixed width so they never grow */
        width: 590px !important;
        height: 650px;
    }

    /* 2. Adjust container wrapper to sit nicely with the fixed window */
    .container-slider-wrapper {
        justify-content: center;
        padding-left: 0; 
        max-width: 1700px;
        margin: 0 auto;
    }

    .slider-intro {
        flex: 0 0 350px;
        padding-right: 40px;
    }
}

@media (min-width: 1920px) {
    .slider-window {
        flex: 0 0 1420px; /* (700px card * 2) + 20px gap */
        max-width: 1420px;
    }

    .platform-card {
        flex: 0 0 700px !important;
        width: 700px !important;
        height: 720px;
    }

    .slider-intro {
        flex: 0 0 400px;
    }
    
    /* Move arrows slightly further out since the window is wider */
    .next-btn { right: 10px; }
    .prev-btn { left: 10px; }
}

/* --- BUTTON THEME --- */
.btn-journey-finder {
    background-color: #000;
    color: #fff;
    padding: 14px 30px;
    font-size: 0.75rem;
    letter-spacing: 2px;
    text-decoration: none;
    display: inline-block;
    transition: 0.3s;
}
.btn-journey-finder:hover { background-color: #b39b59; }

/* --- MOBILE SPECIFIC --- */
@media (max-width: 1023px) {
    .platform-cards-container {
        overflow-x: auto !important; /* Enable swipe for tablets/phones */
        -webkit-overflow-scrolling: touch;
    }
}
/* ==========================================================================
   MOBILE SPECIFIC - REFINED (No Scroller, Tight Gaps)
   ========================================================================== */
@media (max-width: 767px) {
    .platform-slider-section { 
        height: auto; 
        padding: 40px 0; /* Reduced section padding */
    }
    
    .container-slider-wrapper { 
        padding-left: 0; 
        flex-direction: column;
        align-items: flex-start;
    }
    
    .slider-intro { 
        flex: 0 0 auto; 
        padding: 0 20px; 
        margin-bottom: 15px; /* Tightened gap between heading and images */
        width: 100%;
        text-align: center;
    }

    /* THE WINDOW: Remove the padding-left to let images touch the edge slightly more */
    .slider-window { 
        width: 100%; 
        padding-left: 15px; 
        overflow: visible !important; 
    }
    
    .platform-cards-container {
        display: flex;
        gap: 15px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch; /* Smooth hand swipe */
        
        /* HIDE THE MESSY SCROLLER */
        scrollbar-width: none; /* Firefox */
        -ms-overflow-style: none; /* IE/Edge */
    }

    /* HIDE THE MESSY SCROLLER (Chrome/Safari) */
    .platform-cards-container::-webkit-scrollbar { 
        display: none !important; 
        width: 0 !important;
        height: 0 !important;
    }

    .platform-card {
        flex: 0 0 75%; /* Peek effect: User sees the edge of the next card */
        height: 350px; /* Reduced height so it feels punchy on mobile */
        min-height: auto;
    }

    .nav-arrow { display: none !important; }

    .mobile-btn-container {
        width: 100%;
        text-align: center;
        margin-top: 25px; /* Reduced gap before button */
        padding: 0 20px;
    }
}
/* ==========================================================================
   LAPTOP OPTIMIZATION (13" - 15" Screens: 1366px to 1680px)
   ========================================================================== */

@media (min-width: 1024px) and (max-width: 1680px) {
    .container-slider-wrapper {
        padding-left: 5%; /* Give it some breathing room on the left */
        justify-content: flex-start;
        max-width: 100%;
    }

    .slider-intro {
        flex: 0 0 280px; /* Shrink the text area slightly to save space */
        padding-right: 30px;
    }

    .slider-window {
        flex: 1; /* Let the window take the remaining space */
        max-width: calc(100% - 320px); /* Ensure it doesn't push off-screen */
        overflow: hidden !important;
    }

    .platform-card {
        /* Use a percentage minus the gap so 2 cards always fit the window */
        flex: 0 0 calc(50% - 10px) !important; 
        width: auto !important;
        height: 55vh; /* Scale height down slightly for shorter laptop screens */
        min-height: 500px;
    }
}



/* ==========================================================================
   SIXTH AVENUE - INSTITUTIONAL PLATFORMS (VIDEO REVEAL)
   ========================================================================== */

/* Container must be relative to anchor the sticky children */
.main-reveal-wrapper {
    position: relative;
    background-color: #ffffff;
    overflow: visible;
}

/* 1. STICKY TEXT: The background title that gets covered */
.sticky-text-box {
    position: sticky;
    top: 0;
    height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
}

.text-content { text-align: center; padding: 0 20px; }

.text-content .tag { 
    font-family: 'Nanum Myeongjo', serif; 
    font-size: 13px; 
    letter-spacing: 3px; 
    color: #b39b59; 
    display: block; 
    margin-bottom: 15px; 
    text-transform: uppercase;
}

.text-content .title { 
    font-family: 'Nanum Myeongjo', serif; 
    font-size: clamp(2.5rem, 4vw, 4rem); /* Fluid sizing */
    color: #000; 
    font-weight: 300; 
    line-height: 1.2;
}

/* 2. THE REVEAL BLOCK: The video grid that slides up */
.slide-over-block {
    position: relative;
    z-index: 5;
    background: #ffffff;
    margin-top: -10vh; /* Smooth transition into the sticky text */
    padding-bottom: 50px;
}

.grid-container {
    display: flex;
    width: 94%; /* Increased for better horizontal spread */
    max-width: 1400px;
    height: 70vh;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 0 40px 100px rgba(0,0,0,0.12);
}

.asset-col {
    position: relative;
    flex: 1;
    height: 100%;
    overflow: hidden;
    border-right: 1px solid rgba(255,255,255,0.05);
    transition: flex 0.7s cubic-bezier(0.25, 1, 0.5, 1); /* Smooth expansion */
}

/* VIDEO STYLING */
.asset-video {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Keeps video from stretching */
    display: block;
    filter: brightness(0.75); /* Darker for better text readability */
    transition: transform 0.8s ease, filter 0.5s ease;
}

/* HOVER EFFECTS */
.asset-col:hover {
    flex: 1.8; /* MAKES IT WIDE: Fixed the narrowness on hover */
}

.asset-col:hover .asset-video {
    transform: scale(1.05);
    filter: brightness(0.95);
}

/* OVERLAYS & TYPOGRAPHY */
.overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: clamp(20px, 3vw, 40px);
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 100%);
    color: white;
    z-index: 2;
    pointer-events: none;
}

.overlay h3 { 
    color: white; 
    font-family: 'Nanum Myeongjo', serif; 
    margin-bottom: 8px; 
    font-size: clamp(1.2rem, 2vw, 1.8rem); 
}

.overlay p { 
    font-family: 'Nanum Myeongjo', serif; 
    font-size: clamp(0.8rem, 1vw, 1rem); 
    opacity: 0.85; 
    line-height: 1.5;
    max-width: 280px;
}

/* ==========================================================================
   LARGE & ULTRA-WIDE MONITOR FIXES
   ========================================================================== */

/* 1600px screens: Capping height to force "Widthy" look */
@media (min-width: 1600px) {
    .grid-container {
        max-width: 1550px;
        height: 600px; /* Fixed height makes it look wider */
    }
    .asset-col {
        min-width: 300px; /* Prevents thin slivers */
    }
}

/* 1920px (Full HD / 4K) scaling */
@media (min-width: 1920px) {
    .grid-container {
        max-width: 1800px;
        height: 650px;
    }
    .asset-col {
        min-width: 380px;
    }
}

/* ==========================================================================
   MOBILE & TABLET RESPONSIVENESS
   ========================================================================== */

@media (max-width: 991px) {
    .grid-container { height: 60vh; width: 96%; }
}

@media (max-width: 768px) {
    .sticky-text-box { height: 40vh; }
    .text-content .title { font-size: 2.2rem; }
    
    .grid-container {
        flex-direction: column;
        height: auto;
        width: 100%;
        border-radius: 0;
    }
    
    .asset-col {
        height: 350px;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }

    .asset-col:hover {
        flex: 1; /* Disable expansion on mobile for better scrolling */
    }
}
/* Makes the titles feel more 'Luxury Brand' */
.overlay h3 {
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}

/* Subtle Glassmorphism on hover */
.asset-col:hover .overlay {
    background: linear-gradient(to top, rgba(179, 155, 89, 0.4), transparent); /* Transitions to a subtle brand-gold tint */
    transition: background 0.5s ease;
}





/* ===============================
SECTION WRAPPER
================================= */

.enquiry-full-bleed{
    position:relative;
    width:100%;
    padding:80px 0;
}

/* CENTERED CONTAINER */

.enquiry-container{
    max-width:1400px;
    margin:0 auto;
    padding:0 40px;
}

/* BACKGROUND WRAPPER */

.enquiry-bg-wrapper{
    position:relative;
    width:100%;
    height:75vh;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    border-radius:12px;
    overflow:hidden;
   
}

/* BACKGROUND IMAGE */

.reveal-bg-img{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(0.5);
    transform:scale(1.05);
    transition:transform 2s cubic-bezier(0.2,1,0.3,1);
}

.enquiry-full-bleed:hover .reveal-bg-img{
    transform:scale(1);
}

/* CONTENT OVERLAY */

.enquiry-content-overlay{
    position:relative;
    z-index:2;
    width:100%;
    padding:15px 5%;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    background:rgba(255,255,255,0.02);
    margin-bottom:7vh;
    min-height:100px;
    display:flex;
    align-items:center;
}

/* LINE FRAME */

.line-frame{
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    background:rgba(255,255,255,0.2);
    transform:scaleX(0);
    transition:transform 1.5s cubic-bezier(0.65,0,0.35,1);
}

.top-line{
    top:0;
    transform-origin:left;
}

.bottom-line{
    bottom:0;
    transform-origin:right;
}

.enquiry-full-bleed:hover .line-frame{
    transform:scaleX(1);
}

/* TEXT */

.enquiry-headline{
    font-family:'Nanum Myeongjo',serif;
    color:#ffffff;
    font-size:clamp(1.5rem,3.5vw,2.5rem);
    font-weight:300;
    margin-bottom:12px;
    letter-spacing:-0.5px;
}

/* ACTIONS */

.enquiry-actions{
    display:flex;
    gap:40px;
}

/* LINK */

.enquiry-link{
    color:#ffffff;
    text-decoration:none;
    font-family:'Inter',sans-serif;
    font-size:0.7rem;
    text-transform:uppercase;
    letter-spacing:2px;
    display:flex;
    align-items:center;
    gap:10px;
    transition:0.3s;
}

/* ICON */

.icon-circle{
    width:34px;
    height:34px;
    border:1px solid rgba(255,255,255,0.3);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.9rem;
    transition:0.4s cubic-bezier(0.175,0.885,0.32,1.275);
}

.enquiry-link:hover .icon-circle{
    background:#b39b59;
    border-color:#b39b59;
    transform:rotate(45deg);
}


/* =====================================
RESPONSIVE DESIGN
===================================== */

/* Large Monitors */

@media (min-width:1600px){

.enquiry-container{
max-width:1500px;
}

.enquiry-headline{
font-size:2.6rem;
}

}


/* Laptop */

@media (max-width:1200px){

.enquiry-bg-wrapper{
height:65vh;
}

.enquiry-headline{
font-size:2rem;
}

}


/* Tablet */

@media (max-width:992px){

.enquiry-container{
padding:0 30px;
}

.enquiry-bg-wrapper{
height:55vh;
}

.enquiry-headline{
font-size:1.6rem;
}

}


/* Mobile */

@media (max-width:768px){

.enquiry-container{
padding:0 20px;
}

.enquiry-bg-wrapper{
height:50vh;
}

.enquiry-content-overlay{
padding:15px 20px;
margin-bottom:2vh;
}

.enquiry-headline{
font-size:1.3rem;
}

.enquiry-actions{
flex-direction:column;
gap:15px;
}

}


/* Small Mobile */

@media (max-width:480px){

.enquiry-bg-wrapper{
height:45vh;
}

.enquiry-headline{
font-size:1.1rem;
}

.icon-circle{
width:28px;
height:28px;
font-size:0.8rem;
}

}

@media (min-width:1920px){

.enquiry-container{
max-width:1800px;
}

.enquiry-bg-wrapper{
height:80vh;
}

.enquiry-headline{
font-size:3rem;
}

.enquiry-content-overlay{
padding:22px 7%;
}

}

@media (min-width:1600px){

.enquiry-container{
max-width:1500px;
}

.enquiry-bg-wrapper{
height:78vh;
}

.enquiry-headline{
font-size:2.8rem;
}

.enquiry-content-overlay{
padding:20px 6%;
}

}

@media (min-width:2560px){

.enquiry-container{
max-width:1800px;
}

.enquiry-headline{
font-size:3.4rem;
}

.enquiry-bg-wrapper{
height:85vh;
}

}
/* Reduce heading size only on Speak to Expert / Contact page */
.contact-page .luxury-contact-header .main-contact-title {
    font-size: 2rem;   /* adjust if needed */
    line-height: 1.2;
}



/* SECTION WRAPPER */
.og-stats-section {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background: #000;
    color: #fff;
     font-family: 'Nanum Myeongjo', serif;
}

.og-stats-container {
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* BACKGROUND IMAGE + HOVER EFFECT */
.og-bg-img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.5); /* Slightly darker for better text readability */
    z-index: 1;
    transition: transform 2s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 1s ease;
}

/* Subtle zoom and brightness shift on hover */
.og-stats-section:hover .og-bg-img {
    transform: scale(1.1);
    filter: brightness(0.4);
}

/* CONTENT OVERLAY */
.og-overlay-grid {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 1300px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.og-stats-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 30px;
    flex: 1;
}

.og-stat-item {
    position: relative;
    padding-bottom: 15px;
}

.og-stat-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
}

.og-number {
    font-size: clamp(2rem, 4vw, 3.2rem); /* Adjusted for better scale */
    font-weight: 700;
    margin-bottom: 5px;
    letter-spacing: -1px;
}

.og-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.6);
}

/* VERTICAL SIDEBAR (REFINED) */
.og-title-side {
    
    padding-left: 40px;
    border-left: 1px solid rgba(255, 255, 255, 0.15);
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.og-vertical-text {
      font-family: 'Nanum Myeongjo', serif;
    writing-mode: vertical-rl;
    font-size: clamp(2rem, 4.5vw, 3.8rem); /* Made smaller as requested */
    line-height: 1.1;
    font-weight: 500;
    margin: 0;
    transform: rotate(180deg);
    color: #b39b59; /* Updated Color */
    text-transform: uppercase;
}

.og-vertical-text span {
    color: #fff; /* Keep the 'WITH US' white for contrast if you like, or change to gold */
    font-weight: 300;
    display: block;
}

.og-subtitle {
    margin-top: 20px;
    font-size: 0.75rem;
    letter-spacing: 4px;
    border-top: 1px solid #b39b59;
    color: #fff;
    display: inline-block;
    padding-top: 8px;
    text-transform: uppercase;
}

/* MOBILE RESPONSIVE */
@media (max-width: 992px) {
    .og-overlay-grid { flex-direction: column-reverse; gap: 30px; }
    .og-stats-wrapper { grid-template-columns: repeat(2, 1fr); }
    .og-title-side { border-left: none; padding: 0; align-items: center; }
    .og-vertical-text { writing-mode: horizontal-tb; transform: rotate(0); text-align: center; }
}










/* --- Section & Title Spacing --- */
.insights-section { 
    background-color: #fff; 
    padding: 20px 0; /* Reduced to bring heading closer to top */
    overflow: hidden; 
}

.insights-main-title { 
      font-family: 'Nanum Myeongjo', serif;
    color: #000000; 
    font-size: 2.2rem; 
    margin-bottom: 10px; /* Reduced gap between title and cards */
    font-weight: 400;
}

/* --- Horizontal Wrapper --- */
.insights-wrapper {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none; 
    -ms-overflow-style: none; 
    padding: 0;
}
.insights-wrapper::-webkit-scrollbar { display: none; }

/* --- Card Style (600px Width x 350px Height) --- */
.insight-card {
    min-width: 600px; /* Locked at 600px width */
    max-width: 600px;
    height: 350px;    /* Locked at 350px height */
    flex-shrink: 0;
}

.insight-bg {
    width: 100%; 
    height: 100%;
    background-color: #000000; 
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: flex-end; 
}

/* Content Box adjusted for 600px width */
/* --- Content Box with Glass/Blur Effect --- */
.insight-content-box {
    /* Semi-transparent white background */
    background: rgba(255, 255, 255, 0.75); 
    
    /* This creates the blur effect on the image behind the box */
    backdrop-filter: blur(10px); 
    -webkit-backdrop-filter: blur(10px); /* For Safari support */
    
    width: 80%;      
    margin-left: 20px;
    margin-bottom: 20px;
    padding: 20px;
    position: relative;
    z-index: 5;
    
    /* Adjusted shadow for a softer feel */
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3); /* Optional: adds a thin "glass" edge */
}

.insight-meta { 
    display: flex; 
    justify-content: space-between; 
    margin-bottom: 8px; 
}

.meta-label { 
      font-family: 'Nanum Myeongjo', serif;
    font-weight: 400; 
    font-size: 1rem; 
    color: #7C682A; 
    text-transform: uppercase;
}

.meta-date {   font-family: 'Nanum Myeongjo', serif; font-size: 1rem; color: #666; }

.insight-source { 
      font-family: 'Nanum Myeongjo', serif;
    color: #888; 
    font-size: 0.95rem; 
    margin-bottom: 5px; 
}

/* Ensure the headline stays sharp and readable against the blur */
.insight-headline { 
    font-family: 'Nanum Myeongjo', serif;
    color: #000000; 
    font-size: 1.3rem; 
    font-weight: 400; /* Increased to 700 for better readability on blur */
    margin: 0; 
    line-height: 1.25;
    padding-right: 45px; 
}

/* The Dark Square with Arrow */
.insight-action-sq {
    position: absolute; 
    bottom: 0; 
    right: 0;
    background: #000000; 
    width: 48px; 
    height: 48px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    color: #fff; 
    text-decoration: none;
    transition: background 0.3s;
}
.insight-action-sq:hover { background: #000000; }

/* --- Navigation Buttons (Brought closer to cards) --- */
.insights-navigation {
    margin-top: 10px; /* Minimal gap between cards and buttons */
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.btn-nav {
    width: 45px; 
    height: 45px;
    border: 1px solid #ddd; 
    background: #fff;
    cursor: pointer; 
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}
.btn-nav:hover { border-color: #7C682A; color: #C6A62E; }

/* --- Media Queries --- */
@media (max-width: 768px) {
    .insight-card {
        min-width: 85vw; 
        max-width: 85vw;
        height: 300px;
    }
    .insight-content-box { width: 90%; margin-left: 10px; margin-bottom: 10px; }
    .insight-headline { font-size: 1.1rem; }
}

.insight-action-sq i {
    transition: color 0.3s ease;
}

.insight-action-sq:hover i {
    color: #C6A62E; /* your yellow */
}





@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap');

/* ============================================================
   MINIMAL FOOTER SECTION
   ============================================================ */

.minimal-footer {
    background-color: #ffffff;
    color: #1a1a1a;
    padding: 50px 40px 20px 40px;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    border-top: 1px solid #f0f0f0;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2.5fr 1fr 1fr 1fr 1fr;
    gap: 30px;
    margin-bottom: 50px;
}

/* Heading - Gold/Ash Color */
.nav-heading {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #7C682A; 
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

/* Brand Section */
.footer-brand-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-logo-img {
    max-width: 170px;
    height: auto;
    margin-bottom: 15px;
}

.legacy-quote {
    color: #999;
    line-height: 1.8;
    max-width: 280px;
    margin-bottom: 20px;
    font-style: italic;
    font-family: Arial, sans-serif !important; 
    text-transform: uppercase;
}

/* Social Icons Row */
.social-icons-row {
    display: flex;
    gap: 15px;
    align-items: center;
}

.social-icons-row img {
    height: 16px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.social-icons-row img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: translateY(-3px);
    filter: drop-shadow(0px 2px 4px rgba(124, 104, 42, 0.3)); 
}

/* Nav List & Yellow Hover Effect */
.footer-nav-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-nav-list a {
    color: #1a1a1a;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    width: fit-content;
    transition: color 0.3s ease;
}

.footer-nav-list a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1.5px;
    bottom: -4px;
    left: 0;
    background-color: #7C682A;
    transition: width 0.3s ease;
}

.footer-nav-list a:hover::after {
    width: 100%;
}

.footer-nav-list a:hover {
    color: #7C682A;
}

.contact-text {
    line-height: 1.8;
    color: #1a1a1a;
    font-weight: 700;
}

/* --- Bottom Bar with NINTYSIX Link --- */
.footer-bottom {
    border-top: 1px solid #eeeeee;
    padding-top: 20px;
}

.footer-bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.copyright-text {
    font-size: 12px;
    color: #000000;
    margin: 0;
}

.credit-text {
    font-size: 12px;
    color: #aaa;
    margin: 0;
    text-transform: uppercase;
    font-weight: 700;
}

.credit-text a {
    color: #000000;
    text-decoration: none;
    transition: color 0.3s ease;
}

.credit-text a:hover {
    color: #7C682A; /* Theme Yellow/Gold */
}

/* --- Responsiveness --- */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: left;
    }

    .footer-bottom-flex {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
    }
}







/* 1. RESET & TEXT SETTINGS */
.get-in-touch-section * {
    box-sizing: border-box;
    font-family: 'Nanum Myeongjo', serif !important;
}
.get-in-touch-section {
    margin-top: 70px; /* adjust as you like */
}
/* 2. MAIN CONTAINER */
.get-in-touch-section {
    position: relative;
    width: 100%;
    min-height: 400px; 
    overflow: hidden;
    background: #000;
}

.bg-zoom-container {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: url('../img/back1.jpg') no-repeat center center/cover;
    transition: transform 3s ease;
    z-index: 1;
}

.get-in-touch-section:hover .bg-zoom-container {
    transform: scale(1.08);
}

.contact-overlay {
    position: relative;
    z-index: 2;
    background: rgba(0, 0, 0, 0.6);
    padding: 30px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

/* 3. SHRINKING THE WRAPPER */
.contact-content-wrapper {
    max-width: 650px; 
    width: 100%;
    margin: 0 auto;
}

/* 4. CENTERED HEADER BLOCK - Smaller & More Spacing */
.luxury-header {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 60px; /* INCREASED GAP BETWEEN HEADER AND FORM */
}

.vertical-line {
    width: 2px;
    height: 40px; /* SHRUNK LINE */
    background: #b38e44;
    transform-origin: top;
    animation: lineDrop 0.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.header-text-fade {
    text-align: left;
    opacity: 0;
    transform: translateX(-15px);
    animation: textFadeIn 0.8s ease-out 0.5s forwards;
}

.sub-title {
    color: #b38e44;
    font-size: 9px; /* SMALLER SUBHEADING */
    letter-spacing: 4px;
    font-weight: 900;
    margin-bottom: 2px;
    display: block;
}

.main-title {
    color: #fff;
    font-size: 32px; /* SMALLER HEADING */
    margin: 0;
    font-weight: 300;
    letter-spacing: 2px;
    line-height: 1;
}

/* 5. FORM - Tight & Minimal */
.custom-contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row {
    display: flex;
    gap: 40px;
}

.input-group {
    flex: 1;
    position: relative;
}

.input-group label {
    display: block;
    color: #999;
    font-size: 10px;
    letter-spacing: 1.5px;
    font-weight: 900; 
    margin-bottom: 4px;
    text-align: left;
}

.get-in-touch-section input, 
.get-in-touch-section textarea {
    all: unset;
    display: block;
    width: 100%;
    background: transparent !important;
    border: none !important;
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    padding: 6px 0 !important;
    font-size: 13px;
    transition: border-bottom 0.3s ease;
}

.gold-line-anim {
    position: absolute;
    bottom: 0; left: 0; width: 0; height: 1.5px;
    background: #b38e44;
    transition: width 0.5s ease;
}

.input-group input:focus ~ .gold-line-anim,
.input-group textarea:focus ~ .gold-line-anim {
    width: 100%;
}

/* 6. CENTERED SEND BUTTON */
.form-submit-centered {
    display: flex;
    justify-content: center;
    margin-top: 25px;
}

.contact-send-btn {
    all: unset;
    border: 1px solid #fff !important;
    padding: 8px 50px !important;
    color: #fff !important;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 3px;
    transition: all 0.4s ease;
}

.contact-send-btn:hover {
    background: #b38e44 !important;
    border-color: #b38e44 !important;
}

/* ANIMATIONS */
@keyframes lineDrop { 0% { transform: scaleY(0); } 100% { transform: scaleY(1); } }
@keyframes textFadeIn { to { opacity: 1; transform: translateX(0); } }

@media (max-width: 600px) {
    .form-row { flex-direction: column; gap: 15px; }
    .main-title { font-size: 26px; }
}













/* --- Global Font Setup --- */
.investment-grid-section {
    background-color: #000000;
    padding: 60px 0;
    /* Clean sans-serif for secondary data */
    font-family: 'Inter', sans-serif; 
}

/* Heading Font Override - Full serif for titles */
.header-font {
    font-family: 'Nanum Myeongjo', serif !important;
}

.text-gold { color: #C5A048 !important; }

/* --- Animated Gold Line Header --- */
.heading-gold-line {
    width: 2px;
    height: 60px;
    background: #C5A048;
    transform-origin: top;
    animation: drawLineDown 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.heading-content-wrapper {
    opacity: 0;
    transform: translateX(-15px);
    animation: fadeInHeader 1s 0.4s forwards;
}

@keyframes drawLineDown { 0% { transform: scaleY(0); } 100% { transform: scaleY(1); } }
@keyframes fadeInHeader { to { opacity: 1; transform: translateX(0); } }

/* --- Compact Grid (420px) & FIXED Sharp Border --- */
.asset-card-container {
    position: relative;
    background: #000;
    /* Transparent 6px outline to prevent jumping when hovering */
    outline: 6px solid transparent;
    outline-offset: -6px;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    cursor: pointer;
    overflow: hidden; 
}

/* THE BOLD SOLID BORDER HOVER (Matches Montecito screenshot) */
.asset-card-container:hover {
    z-index: 10;
    /* Solid paint color, zero blur/shadow */
    outline: 6px solid #C5A048 !important; 
    outline-offset: -6px; 
}

.asset-item {
    position: relative;
    height: 420px; 
    width: 100%;
    overflow: hidden;
}

.asset-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.95;
    transition: transform 1.5s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.5s ease;
}

/* --- Clean Overlay (Subtle) --- */
.asset-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 100%);
    transition: background 0.5s ease;
}

.status-tag {
    font-size: 8px;
    letter-spacing: 2px;
    border: 1px solid rgba(197, 160, 72, 0.5);
    padding: 3px 8px;
    color: #C5A048;
    font-family: 'Inter', sans-serif;
}

.asset-id { font-size: 9px; color: rgba(255,255,255,0.3); float: right; }

.asset-name {
    /* Integrated Nanum Myeongjo here */
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 1.30rem; 
    margin-bottom: 2px;
    font-weight: 250;
    color: #fff !important;
    letter-spacing: 0.5px;
}

.asset-location {
    font-size: 10px;
    letter-spacing: 2.5px;
    color: #C5A048 !important;
}

/* --- Hover Content Reveal --- */
.asset-hover-content {
    max-height: 0;
    opacity: 0;
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.investment-stats {
    margin: 15px 0;
    padding-top: 15px;
    border-top: 1px solid rgba(197, 160, 72, 0.2);
}

.stat-box small { display: block; font-size: 8px; color: #888; margin-bottom: 2px; letter-spacing: 1px; }
.stat-box span { font-size: 12px; font-weight: 600; color: #fff; }

.invest-btn-gold {
    display: block;
    background: #C5A048 !important;
    color: #000 !important;
    text-align: center;
    padding: 10px;
    font-size: 10px;
    /* Serif button for luxury feel */
    font-family: 'Nanum Myeongjo', serif !important;
    font-weight: 800;
    letter-spacing: 1px;
    text-decoration: none;
}

/* --- HOVER EFFECTS --- */
.asset-card-container:hover .asset-img {
    transform: scale(1.05);
    opacity: 0.7;
}

.asset-card-container:hover .asset-overlay {
    background: rgba(0, 0, 0, 0.35);
}

.asset-card-container:hover .asset-hover-content {
    max-height: 150px;
    opacity: 1;
}

/* Standard Link Fix */
.investment-grid-section a:hover {
    color: #000 !important;
}







/* 1. Kill the gap between Header and Portfolio */
.luxury-hero-slim {
    position: relative;
    background-color: #000000; /* Pure black background */
    height: 350px; 
    width: 100%;
    margin-bottom: 0 !important; 
    padding-bottom: 0 !important;
}

/* 2. Text Overlay styling */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Darker bottom gradient helps the breadcrumb pop */
    background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.8) 100%);
}

.header-font {
    font-family: 'Nanum Myeongjo', serif !important;
    font-weight: 700;
    letter-spacing: 1px;
}

.text-gold {
    color: #C5A048 !important;
}

/* --- NEW: Breadcrumb Anchor Logic --- */
.breadcrumb-anchor {
    position: absolute;
    bottom: 30px;   /* Pins it to the bottom */
    left: 50px;     /* Pins it to the left */
    z-index: 10;    /* Keeps it above the dark overlay */
}

/* 3. Breadcrumb Cleanup & Visibility */
.luxury-breadcrumb {
    
    background: transparent;
    padding: 0;
    font-size: 11px;
    letter-spacing: 2.5px; /* Slightly more space for luxury look */
}

.luxury-breadcrumb .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.8) !important; /* Brighter for legibility */
    text-decoration: none;
    font-weight: 600;
}

.luxury-breadcrumb .breadcrumb-item.active {
    color: #C5A048 !important;
    font-weight: 700;
}

/* Gold slash separator */
.breadcrumb-item + .breadcrumb-item::before {
    color: rgba(197, 160, 72, 0.6) !important;
    content: "|" !important; /* Vertical pipe looks cleaner than a slash */
    padding: 0 10px;
}

/* 4. Ensure Next Section Snaps to Header */
.investment-grid-section {
    margin-top: 0 !important;
    padding-top: 60px;
}

/* Mobile Tweak: Keeps the breadcrumb from hitting edges on small screens */
@media (max-width: 768px) {
    .luxury-hero-slim { height: 280px; }
    .breadcrumb-anchor { left: 20px; bottom: 20px; }
}
/* Only apply on team page */
.team-page .luxury-hero-slim {
    background-color: #ffffff; /* White background instead of black */
}

/* Optional: Adjust overlay so text is readable */
.team-page .hero-overlay {
    background: linear-gradient(to bottom, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.8) 100%);
}

/* Optional: Adjust text colors for contrast */
.team-page .text-gold {
    color: #C5A048 !important; /* keep gold if you want */
}

.team-page .luxury-breadcrumb .breadcrumb-item a {
    color: rgba(0,0,0,0.8) !important; /* dark text for white bg */
}

.team-page .luxury-breadcrumb .breadcrumb-item.active {
    color: #C5A048 !important;
}







@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');

:root {
    --premium-yellow: #FFD700;
    --deep-charcoal: #1a1a1a;
    --text-muted: #6a6358;
}

body {
    margin: 0;
    font-family: 'Nanum Myeongjo', serif !important;
    background-color: #fff;
    color: var(--deep-charcoal);
}

/* SECTION 4: THE FIX - Exact Centered Columns */
.asset-features {
    padding: 120px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
}

.feature-centered-wrapper {
    width: 100%;
    max-width: 900px; /* Restricts width so it doesn't spread */
    padding: 0 40px;
}

.feature-main-label {
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 6px;
    font-size: 1.6rem;
    margin-bottom: 70px;
    font-weight: 400;
}

.feature-columns {
    display: flex;
    justify-content: center;
    gap: 80px; /* Space between the two columns */
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1; /* Both columns take equal space within the 900px container */
}

.feature-list li {
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 25px;
    padding-left: 20px;
    position: relative;
    color: #333;
    transition: color 0.3s ease;
}

.feature-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #999;
}

.feature-list li:hover {
    color: var(--premium-yellow);
}

/* OTHER PREMIUM SECTIONS */
.asset-hero { height: 100vh; position: relative; overflow: hidden; }
.hero-parallax { width: 100%; height: 100%; object-fit: cover; }
.hero-overlay-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; color: #fff; }
.hero-branding-title { font-size: 8rem; letter-spacing: 20px; line-height: 0.9; }

.asset-thesis { padding: 150px 10%; text-align: center; }
.prime-quote { font-size: 2.5rem; line-height: 1.5; color: var(--text-muted); border: none; }

.asset-triple-gallery { padding: 80px 40px; }
.triple-wrap { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; }
.gallery-column img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.gallery-caption { margin-top: 15px; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; }
.gallery-column:hover .gallery-caption { color: var(--premium-yellow); }

.asset-specs { padding: 100px 10%; }
.specs-wrap { max-width: 1100px; margin: 0 auto; }
.spec-trigger { width: 100%; background: none; border: none; border-top: 1px solid #ddd; padding: 30px 0; text-align: left; font-family: 'Nanum Myeongjo', serif; font-size: 1.4rem; cursor: pointer; display: flex; justify-content: space-between; }
.spec-trigger:hover { color: var(--premium-yellow); }
.spec-inner-grid { display: grid; grid-template-columns: 1fr 1fr; padding: 30px 0; }

@media (max-width: 768px) {
    .feature-columns { flex-direction: column; gap: 0; }
    .hero-branding-title { font-size: 4rem; }
    .triple-wrap { grid-template-columns: 1fr; }
}





/* --- BASE RESET --- */
.luxury-contact-header, 
.parallax-scroll-zone, 
.location-map-block {
    background-color: #000;
    color: #fff;
    font-family: 'Nanum Myeongjo', serif !important;
}

/* --- 1. HEADER --- */
.luxury-contact-header {
    padding: 40px 5% 10px; /* Minimal bottom padding to reduce gap to image */
}

.heading-container {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.gold-vertical-line {
    width: 2px;
    height: 70px;
    background: #7C682A;
    transform-origin: top;
    animation: lineExtend 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.sub-label {
    color: #7C682A;
    font-size: 11px;
    letter-spacing: 4px;
    display: block;
    margin-bottom: 5px;
    opacity: 0;
    animation: fadeInSlide 0.6s forwards 0.4s;
}

.main-contact-title {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #ffffff;
    font-size: clamp(30px, 4vw, 55px);
    font-weight: 200 !important; /* Elegant thin weight */
    margin: 0;
    opacity: 0;
    animation: fadeInSlide 0.8s forwards 0.6s;
}

/* --- 2. SCROLL ZONE (TIGHTENED) --- */
.parallax-scroll-zone {
    position: relative;
    /* Reduced min-height to 150vh to keep boxes from spacing out during scroll */
    min-height: 150vh; 
}

.sticky-bg-media {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), 
                url('../img/insight-1.jpg') no-repeat center center/cover;
    z-index: 1;
}

.scroll-content-overlay {
    position: relative;
    z-index: 2;
    margin-top: -100vh; 
    display: flex;
    padding: 0 5%;
}

.left-view-window {
    flex: 1.2;
}

.cards-stack {
    flex: 1;
    display: flex;
    flex-direction: column;
    /* GAP REDUCED TO 30PX FOR TIGHT LOOK */
    gap: 40px; 
    padding: 10vh 0;
}

/* --- 3. LUXURY CARDS --- */
.contact-box {
    background: rgba(18, 18, 18, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.05);
    padding: 40px; /* Reduced padding inside boxes for a sleeker look */
    backdrop-filter: blur(15px);
    transition: border-color 0.4s ease;
}

.contact-box:hover {
    border-color: #7C682A;
}

.label-underline {
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
}

.box-tag {
    color: #fff;
    font-size: 11px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.label-underline::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 30px; 
    height: 1px;
    background: #fff;
    transition: all 0.4s ease;
}

.contact-box:hover .label-underline::after {
    width: 100%;
    background: #7C682A;
}

.contact-box h2 {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 400;
    margin-bottom: 25px;
}

.box-details p, .box-details a {
    color: #888;
    font-size: 14px;
    text-decoration: none;
    display: block;
    margin-bottom: 5px;
    transition: 0.3s;
}

.yellow-hover-link:hover {
    color: #7C682A !important;
}

/* --- 4. MAP BLOCK --- */
.location-map-block {
    padding: 60px 5%;
    position: relative;
    z-index: 3;
    background: #000;
}

.map-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.map-frame {
    margin-top: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #0a0a0a;
    padding: 8px;
    transition: border-color 0.4s ease;
}

.map-frame:hover {
    border-color: #7C682A;
}
/* LOCATION SECTION STYLE ONLY FOR PROPERTY DETAIL PAGE */

.details-page .location-map-block{
    background:#e8e7e7; /* light grayish yellow */
}

.details-page .map-frame{
    background:#e8e7e7;
    /* border:1px solid rgba(0,0,0,0.1); */
}

.details-page .map-frame:hover{
    border-color:#7C682A;
}
/* BOX TAG COLOR ONLY FOR PROPERTY DETAILS PAGE */

.details-page .location-map-block .box-tag{
    
    color:#7C682A;
    
}
/* This overrides the 120px ONLY on the contact page */
.contact-page .get-in-touch-section {
    margin-top: 20px !important;
}

/* Also, ensure your logo section is centered correctly */
.logo-divider-section {
    width: 100%;
    background-color: #ffffff; 
    height: 70px; /* Adjust this to match the gap size you want */
    display: flex;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
}

.divider-logo {
    height: 25px; /* Tiny logo as requested */
    width: auto;
    /* --- THE NUDGE --- */
    /* Positive value (10px) moves it DOWN. 
       Negative value (-10px) moves it UP. */
    transform: translateY(15px) !important; 
    
    margin: 0 !important;
}
/* --- ANIMATIONS --- */
@keyframes lineExtend { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes fadeInSlide { to { opacity: 1; transform: translateY(0); } }

/* Mobile Adjustment */
@media (max-width: 991px) {
    .scroll-content-overlay { flex-direction: column; margin-top: 0; }
    .sticky-bg-media { position: relative; height: 350px; }
    .cards-stack { padding: 30px 0; gap: 20px; }
}





:root {
  --lux-primary: #fff;
  --lux-accent: #f5a623;
  --lux-font-serif: 'Nanum Myeongjo', serif !important;
  --lux-font-sans: 'Montserrat', sans-serif;
  --lux-ease: cubic-bezier(0.25, 1, 0.5, 1);
}

/* --- THE STICKY TRACK FIX --- */
/* This creates the vertical scroll space (400vh) needed to "lock" the 4 images */
.lux-sticky-track {
  height: 400vh; 
  position: relative;
}

.lux-scroll-section-wrapper {
  position: sticky; /* This is what makes it "stick" properly */
  top: 0;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  background-color: #000;
}

.lux-scroll-container {
  display: flex;
  width: 400vw;
  height: 100vh;
  /* Transition removed here to allow the scrollbar to drive the movement smoothly */
  will-change: transform;
}

.lux-panel {
  width: 100vw;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 10vh 10vw;
  box-sizing: border-box;
}

.lux-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.lux-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s var(--lux-ease);
}

/* --- THE GRADIENT FIX --- */
.lux-right-gradient {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%; 
  height: 100%;
  background: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.8));
  z-index: 2;
}

.lux-text-content {
  position: relative;
  z-index: 3;
  width: 40%;
  text-align: right;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s var(--lux-ease) 0.3s, transform 0.8s var(--lux-ease) 0.3s;
}

.lux-panel.active .lux-text-content {
  opacity: 1;
  transform: translateY(0);
}

.lux-quote {
  font-family: var(--lux-font-serif);
  font-size: 2.4rem;
  font-weight: 300; /* Fixed: 'px' removed from font-weight */
  color: var(--lux-primary);
  margin-bottom: 1rem;
  line-height: 1.2;
}

.lux-panel:hover .lux-quote {
  color: var(--lux-accent); 
}

.lux-panel:hover .lux-img {
  transform: scale(1.05); 
}

.lux-meta {
  font-family: var(--lux-font-sans);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}





/* ==============================
   PROPERTY GALLERY
================================ */

.property-gallery{
width:100%;
background:#fff;
}

/* ==============================
   MAIN IMAGE
================================ */

.gallery-main{
width:100%;
height:90vh;
overflow:hidden;
}

.gallery-main img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

/* ==============================
   3 IMAGE PREVIEW GRID
================================ */

.gallery-thumbnails{
display:grid;
grid-template-columns:repeat(3, 1fr);
gap:20px;
padding:30px 5%;
}

.thumb{
width:100%;
height:200px;
cursor:pointer;
border-radius:2px;
overflow:hidden;
border:3px solid transparent;
transition:all .3s ease;
}

.thumb img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.thumb:hover{
transform:scale(1.03);
}

.thumb.active{
border:3px solid #000;
}

/* ==============================
   LARGE SCREENS (1600px+)
================================ */

@media (min-width:1600px){

.gallery-main{
height:92vh;
}

.thumb{
height:240px;
}

.gallery-thumbnails{
gap:30px;
padding:40px 8%;
}

}

/* ==============================
   FULL HD (1920px+)
================================ */

@media (min-width:1920px){

.gallery-main{
height:95vh;
}

.thumb{
height:260px;
}

}

/* ==============================
   LAPTOP
================================ */

@media (max-width:1200px){

.gallery-main{
height:75vh;
}

.thumb{
height:180px;
}

}

/* ==============================
   TABLET
================================ */

@media (max-width:992px){

.gallery-main{
height:65vh;
}

.gallery-thumbnails{
grid-template-columns:repeat(2,1fr);
}

.thumb{
height:160px;
}

}

/* ==============================
   MOBILE
================================ */

@media (max-width:768px){

.gallery-main{
height:55vh;
}

.gallery-thumbnails{
grid-template-columns:1fr;
gap:15px;
padding:20px;
}

.thumb{
height:200px;
}

}




/* GOOGLE FONT */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;600&display=swap');

.estate-detail-section {
    padding: 90px 8%;
    font-family: 'Nanum Myeongjo', serif;
}

.estate-detail-container {
    display: flex;
    align-items: stretch; /* Keeps vertical divider full height */
    gap: 60px;
}

/* LEFT SIDE: Paragraph */
.estate-detail-left {
    flex: 1.8;
}

.estate-description {
    font-size: 17px;
    line-height: 1.6;
    color: #000;
    margin: 0;
}

/* DIVIDER */
.estate-divider {
    width: 1px;
    position: relative;
    overflow: hidden;
    background: #f0f0f0;
}

.estate-divider::before {
    content: '';
    position: absolute;
    top: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: #7C682A;
    animation: dividerSlide 1s ease forwards;
}

.estate-divider::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    animation: dividerFade 0.8s ease forwards;
    animation-delay: 0.8s;
}

@keyframes dividerSlide { from { top: -100%; } to { top: 0; } }
@keyframes dividerFade { from { opacity: 0; } to { opacity: 1; } }

/* RIGHT SIDE: Specs Grid */
.estate-detail-right {
    flex: 1.2;
    display: flex;
    flex-direction: column;
}

.spec-row {
    display: flex;
    align-items: flex-start;
    padding: 28px 0;
    border-bottom: 1px solid #dcdcdc; /* Horizontal lines from image */
}

.spec-row:first-child {
    padding-top: 0; /* Aligns with top of paragraph */
}

.spec-row:last-child {
    border-bottom: none;
}

.spec-label {
    flex: 0 0 130px; /* Fixed width for labels */
    font-size: 17px;
    color: #000;
    font-weight: 400;
}

.spec-value {
    flex: 1;
    font-size: 17px;
    color: #888; /* Grey text for values */
    line-height: 1.4;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .estate-detail-container {
        flex-direction: column;
        gap: 40px;
    }
    .estate-divider {
        display: none;
    }
    .spec-row {
        padding: 20px 0;
    }
}

/* FONT */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;600&display=swap');

/* SECTION */
.estate-experience-section {
    position: relative;
    width: 100%;
    height: 650px;
    display: flex;
    align-items: center;
    padding-left: 8%;
    overflow: hidden;
    font-family: 'Nanum Myeongjo', serif;
    background-color: #000; /* Fallback */
}

/* BACKGROUND IMAGE - FIXED PATH */
.estate-experience-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* FIXED: Going out of CSS folder into img folder */
    background: url('../img/belgravia.jpg') center/cover no-repeat;
    transform: scale(1);
    transition: transform 3s ease;
    z-index: 1;
}

/* ZOOM EFFECT */
.estate-experience-section.active::before {
    transform: scale(1.12);
}

/* GLASS CONTENT BOX */
.estate-experience-box {
    position: relative;
    z-index: 10;
    width: 480px;
    padding: 50px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    opacity: 0;
    transform: translateY(40px);
    transition: 1s ease;
}

/* FADE IN EFFECT */
.estate-experience-section.active .estate-experience-box {
    opacity: 1;
    transform: translateY(0);
}

/* TITLE STYLING */
.estate-experience-title {
    color: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 15px;
}

/* DESCRIPTION TEXT */
.estate-experience-text {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 28px;
    color: #fff;
}

/* BROCHURE LINK - TEXT STAYS WHITE */
.estate-brochure-link {
    text-decoration: none;
    color: #ffffff !important; 
    font-size: 14px;
    letter-spacing: 2px;
    position: relative;
    display: inline-block;
}

/* yellow underline base */
.estate-brochure-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 2px;
    background: #7C682A;
    transition: width 0.35s ease;
}

/* hover effect: TEXT STAYS WHITE, ONLY LINE MOVES */
.estate-brochure-link:hover {
    color: #ffffff !important; 
    text-decoration: none;
}

.estate-brochure-link:hover::after {
    width: 100%;
}

/* FULLSCREEN VIEW ICON */
.estate-view-image {
    position: absolute;
    top: 30px;
    right: 40px;
    z-index: 20;
    font-size: 20px;
    color: #fff;
    cursor: pointer;
}

/* MODAL BACKGROUND */
.estate-image-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* CENTERED IMAGE */
.estate-modal-img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain;
    display: block;
}

/* CLOSE BUTTON */
.estate-close {
    position: absolute;
    top: 30px;
    right: 40px;
    font-size: 42px;
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
}

.estate-close:hover {
    opacity: 0.7;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .estate-experience-box {
        width: 85%;
        padding: 30px;
    }
}

/* PROPERTY DETAILS SECTION */

.property-details{
width:100%;
display:flex;
justify-content:center;
padding:80px 20px;
background:#ffffff;
}

.property-details .property-container{
max-width:900px;
width:100%;
font-family:'Nanum Myeongjo', serif !important;
color:#333;
}


/* MAIN TITLE */

.property-details .title{
font-family:'Nanum Myeongjo', serif !important;
color:#7C682A;
font-size:34px;
font-weight:600;
margin-bottom:35px;
}


/* RESET BOOTSTRAP STYLES */

.property-details .accordion-item,
.property-details .accordion-header,
.property-details .accordion-button,
.property-details .accordion-body{
background:#ffffff !important;
box-shadow:none !important;
border:none !important;
font-family:'Nanum Myeongjo', serif !important;
}


/* ACCORDION ITEM */

.property-details .accordion-item{
border-top:1px solid #e5e5e5 !important;
}

.property-details .accordion-item:last-child{
border-bottom:1px solid #e5e5e5 !important;
}


/* HEADER */

.property-details .accordion-header{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
font-size:20px;
font-weight:400;
cursor:pointer;
color:#333;
background:#ffffff !important;
}


/* REMOVE BOOTSTRAP BLUE/GREEN FOCUS */

.property-details .accordion-header:focus,
.property-details .accordion-button:focus{
outline:none !important;
box-shadow:none !important;
}


/* ARROW */

.property-details .arrow{
transition:transform 0.3s ease;
font-size:14px;
}

.property-details .accordion-item.active .arrow{
transform:rotate(180deg);
}


/* CONTENT */

.property-details .accordion-content{
display:none;
padding-bottom:25px;
background:#ffffff !important;
}


/* GRID */

.property-details .info-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
margin-top:10px;
}


/* SUB HEADINGS */

.property-details .info-column h4{
    font-family:'Nanum Myeongjo', serif !important;
color:#7C682A;
margin-bottom:12px;
font-size:18px;
font-weight:600;
}


/* TEXT */

.property-details .info-column p{
margin:6px 0;
font-size:16px;
font-weight:500;
color:#555;
}



/* AMENITIES SECTION */
.amenities-section {
    padding: 100px 8%;
    background-color: #ffffff; 
    font-family: 'Nanum Myeongjo', serif !important;
}

/* HEADING WRAPPER */
.amenities-header-wrapper {
    text-align: center;
    margin-bottom: 90px;
}

.amenities-heading {
    display: inline-block;
    font-family: 'Nanum Myeongjo', serif !important;
    color: #000;
    font-size: 30px;
    font-weight: 400;
    position: relative;
    padding-bottom: 15px;
    letter-spacing: 1px;
}

/* THE YELLOW LINE - NEW LOGIC */
.heading-line {
    position: absolute;
    bottom: 0;
    left: 0; 
    height: 2px;
    background-color: #7C682A; 
    width: 100%; /* Set to full width immediately */
    transform: scaleX(0); /* Hide it by scaling to 0 */
    transform-origin: center; /* This makes it grow from the middle */
    display: block;
}

/* TRIGGERED BY WOW.JS - SCALES TO 1 AND STAYS */
.amenities-header-wrapper.animated .heading-line {
    animation: lineGrowMiddle 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
    animation-delay: 0.3s;
}

@keyframes lineGrowMiddle {
    0% { 
        transform: scaleX(0); 
    }
    100% { 
        transform: scaleX(1); /* Grows to full width and stays locked */
    }
}

/* --- ICONS & GRID (Keeping your original colors) --- */
.amenities-grid {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.amenities-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.amenities-block {
    display: flex;
    flex-direction: column; 
    align-items: center; 
    text-align: center;
    gap: 12px;
}

.amenities-block img {
    height: 38px; 
    width: auto;
    filter: none !important;
    opacity: 1;
    transition: transform 0.3s ease;
}

.amenities-block:hover img {
    transform: translateY(-5px);
}

.amenities-text {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 14px;
    color: #333;
}

/* RESPONSIVE */
@media (max-width: 991px) {
    .amenities-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 50px;
    }
}

@media (max-width: 500px) {
    .amenities-grid {
        grid-template-columns: 1fr;
    }
}





/* SECTION BASE */
.beyond-section {
    padding: 60px 0; /* removed side padding */
    background-color: #ffffff;
    font-family: 'Nanum Myeongjo', serif !important;
}

/* CONTAINER (controls width + spacing now) */
.beyond-container {
    max-width: 1400px; /* reduced from 1700px */
    margin: 0 auto;
    padding: 0 40px; /* adds breathing space on all screens */
}

/* MAIN HEADING */
.beyond-top-header {
    margin-bottom: 20px;
    text-align: left;
}

.beyond-main-title {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 50px;
    color: #000;
    margin: 0;
    font-weight: 400;
}

/* GRID */
.beyond-content-grid {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

/* IMAGE */
.beyond-image-box {
    flex: 1.8;
}

.beyond-image-box img {
    width: 100%;
    height: auto;
    display: block;
}

/* TEXT */
.beyond-text-box {
    flex: 1.2;
    padding-top: 5px;
}

.beyond-sub-title {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 38px;
    color: #000;
    margin: 0 0 20px 0;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
}

/* ACCENT */
.beyond-accent-yellow {
    color: #7C682A;
    font-style: italic;
    font-weight: 400;
}

.beyond-description {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 17px;
    line-height: 1.8;
    color: #333;
    margin-bottom: 35px;
}

/* CTA */
.beyond-link {
    display: inline-block;
    text-decoration: none;
    color: #000 !important;
    font-size: 14px;
    letter-spacing: 2px;
    font-weight: 600;
    position: relative;
    padding-bottom: 8px;
}

.beyond-link-line {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: #7C682A;
    transition: width 0.4s ease;
}

.beyond-link:hover .beyond-link-line {
    width: 100%;
}

/* ULTRA-WIDE SCREEN CONTROL */
@media (min-width: 1600px) {
    .beyond-container {
        max-width: 1590px; /* tighter for large screens */
    }
}

/* TABLET */
@media (max-width: 1024px) {
    .beyond-section {
        padding: 40px 0;
    }

    .beyond-container {
        padding: 0 20px;
    }
    
    .beyond-content-grid {
        flex-direction: column;
        gap: 30px;
    }
    
    .beyond-main-title {
        font-size: 34px;
    }
    
    .beyond-sub-title {
        white-space: normal;
        font-size: 28px;
    }
}

/* MOBILE */
@media (max-width: 480px) {
    .beyond-container {
        padding: 0 15px;
    }
}




/* FULL WIDTH GALLERY SECTION */
.prop-gallery-fullwidth {
    width: 100%;
    padding: 0; /* Zero padding - edge to edge */
    background-color: #ffffff;
    overflow: hidden;
    line-height: 0; /* Removes any tiny white space between rows */
}
/* Just the top spacing fix */
.prop-gallery-fullwidth {
    padding-top: 80px !important; /* Adjust this number to get the exact gap you want */
}
.gallery-wrapper {
    width: 100%;
}

.gallery-grid {
    display: grid;
    /* 3-column base creates the 2:1 ratio for the bend design */
    grid-template-columns: repeat(3, 1fr); 
    gap: 5px; /* Narrower gap for that seamless look */
}

/* CELL STYLES - DECREASED HEIGHT */
.gallery-cell {
    position: relative;
    height: 400px; /* Reduced height as requested */
    overflow: hidden;
    background-color: #f9f9f9;
}

.gallery-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures images don't stretch */
    display: block;
    transition: transform 1.2s ease;
}

/* Subtle Hover Effect */
.gallery-cell:hover img {
    transform: scale(1.05);
}

/* THE BENT DESIGN LOGIC */
.cell-long {
    grid-column: span 2; /* 2/3 width */
}

.cell-short {
    grid-column: span 1; /* 1/3 width */
}

/* CLEAN FADE IN */
.wow.fadeIn {
    animation-duration: 1.2s; /* Slightly faster for a snappier feel */
    animation-fill-mode: both;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        gap: 4px;
    }
    .cell-long, .cell-short {
        grid-column: span 1;
        height: 350px; /* Balanced height for tablet */
    }
}

@media (max-width: 600px) {
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .gallery-cell {
        height: 250px; /* Balanced height for mobile */
    }
}




.connectivity-section {
    padding: 60px 0;
    background-color: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
}

.map-container {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.map-header {
    text-align: center;
    margin-bottom: 30px;
}

.map-header h2 {
    font-size: 28px;
    letter-spacing: 2px;
     font-family: 'Nanum Myeongjo', serif;
     color: #000000;
}

.map-header .accent {
    color: #7C682A;
    font-style: italic;
}

.map-box-wrapper {
    position: relative;
    width: 100%;
    height: 550px;
    background: #fff;
    border-radius: 2px;
    overflow: hidden;
    
}

/* MAP IMAGE */
.map-image-layer {
    position: absolute;
    width: 100%;
    height: 100%;
}

.map-image-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.8;
}

/* GRID */
.map-grid {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: 
        linear-gradient(rgba(124, 104, 42, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(124, 104, 42, 0.05) 1px, transparent 1px);
    background-size: 30px 30px;
}

/* SVG */
.map-svg-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 5;
    pointer-events: none;
}

.dotted-line {
    stroke: #7C682A;
    stroke-width: 1.5;
    stroke-dasharray: 5,5;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* HUB */
.map-hub {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    text-align: center;
}

.hub-dot {
    width: 16px;
    height: 16px;
    background: #000;
    border: 3px solid #7C682A;
    border-radius: 50%;
}

.hub-title {
    display: block;
    margin-top: 8px;
    font-size: 18px;
    font-weight: bold;
}

/* POI */
.map-poi {
    position: absolute;
    transform: translate(-50%, -50%);
    text-align: center;
    cursor: pointer;
    z-index: 15;
}

.poi-dewdrop {
    width: 10px;
    height: 10px;
    background: #7C682A;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    margin: 0 auto;
    transition: 0.3s;
}

.poi-label {
    margin-top: 8px;
    font-size: 14px;
    font-weight: bold;
}

/* POPUP */
.poi-popup {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    background: #7C682A;
    color: #fff;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 4px;
    opacity: 0;
    transition: 0.3s;
}

.map-poi:hover .poi-popup {
    opacity: 1;
    bottom: 45px;
}

.map-poi:hover .poi-dewdrop {
    background: #000;
    transform: rotate(-45deg) scale(1.3);
}
/* 🔥 Large Screens (Laptops+) */
@media (min-width: 1400px) {
    .map-container {
        max-width: 1200px;
        width: 85%;
    }

    .map-box-wrapper {
        height: 600px;
    }
}

/* 💎 Extra Large Screens (1600px+) */
@media (min-width: 1600px) {
    .map-container {
        max-width: 1350px;
        width: 82%;
    }

    .map-box-wrapper {
        height: 650px;
    }
}

/* 🚀 Ultra Wide (1920px+) */
@media (min-width: 1920px) {
    .map-container {
        max-width: 1500px;
        width: 80%;
    }

    .map-box-wrapper {
        height: 700px;
    }
}






@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');

.staff-feature-section {
    padding: 100px 0;
    background-color: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
    color: #333;
}

.staff-container {
    /* Tightening the container to bring content closer together */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
    display: grid;
    /* Content on left gets more space, Image on right stays narrower for portrait */
    grid-template-columns: 1.1fr 0.9fr; 
    gap: 60px; /* Reduced gap to keep everything close */
    align-items: flex-start; /* Aligns top of content with top of image */
}

/* --- Left Side Content --- */
.staff-heading {
    /* Larger, straight font style as requested */
    font-size: 38px;
    font-family: 'Nanum Myeongjo', serif;
    font-weight: 400;
    color: #000;
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
    line-height: 1.2;
}

.profile-divider {
    width: 60px;
    height: 2px;
    background-color: #7C682A; /* Your brand gold/yellow */
    margin-bottom: 35px;
}

.staff-body-text p {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    margin-bottom: 22px;
    /* Justify text looks good in narrow blocks, but left-align is standard */
    text-align: justify; 
}

/* Button Underline Hover */
.staff-btn-wrap { margin-top: 35px; }

.staff-explore-link {
    text-decoration: none;
    color: #000 !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    padding-bottom: 6px;
}

.staff-explore-link::after {
    content: '';
    position: absolute;
    width: 0; height: 2px;
    bottom: 0; left: 0;
    background-color: #7C682A;
    transition: width 0.4s ease;
}

.staff-explore-link:hover::after { width: 100%; }

/* --- Right Side: Image + Designation --- */
.staff-image-col {
    display: flex;
    justify-content: flex-end; /* Keeps image to the right on desktop */
}

.portrait-container {
    width: 100%;
    /* Change this from 380px to 320px or 300px */
    max-width: 370px; 
    margin-left: auto; /* Keeps it pushed toward the right side */
}

.image-crop-box {
    width: 100%;
    aspect-ratio: 3 / 4; /* Keeps it tall */
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,0,0,0.1);
    margin-bottom: 25px;
}

.image-crop-box img {
    width: 100%;
    height: 100%;
    /* Preventions weird wide look; crops the image to fill the tall box */
    object-fit: cover; 
}

.staff-designation {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    text-align: left; /* Alignment with the image above it is optimized */
}

/* --- Animations --- */
.fade-in { opacity: 0; animation: fUp 1s ease-out forwards; }
.fade-in-right { opacity: 0; animation: fRight 1.2s ease-out forwards; }
.fade-in-delay-1 { animation-delay: 0.3s; opacity: 0; animation: fUp 1s ease-out forwards; }
.fade-in-delay-2 { animation-delay: 0.6s; opacity: 0; animation: fUp 1s ease-out forwards; }

@keyframes fUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fRight { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }

/* Mobile */
@media (max-width: 991px) {
    .staff-container { grid-template-columns: 1fr; gap: 40px; }
    .staff-heading { font-size: 30px; }
    .portrait-container { margin: 0 auto; max-width: 100%; }
}




/* Section */
.acquisition-section {
    padding: 100px 0;
    background: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
}

/* Container */
.acquisition-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Header */
.acquisition-header {
    text-align: center;
    margin-bottom: 60px;
}

.acquisition-header h2 {
      font-family: 'Nanum Myeongjo', serif;
    font-size: 32px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    color: #000;
}

.acquisition-header p {
     font-family: 'Nanum Myeongjo', serif;
    font-size: 14px;
    color: #000;
    max-width: 520px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Grid */
.acquisition-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

/* Card */
.acquisition-card {
    padding: 30px;
    border: 1px solid #e5e5e5;
    background: #fff;
    transition: all 0.3s ease;
}

/* Number */
.acquisition-number {
      font-family: 'Nanum Myeongjo', serif;
    font-size: 13px;
    letter-spacing: 2px;
    margin-bottom: 15px;
    color: #000;
}

/* Title Row */
.acquisition-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

/* Icon */
.acquisition-title-row img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

/* Title */
.acquisition-card h3 {
      font-family: 'Nanum Myeongjo', serif;
    font-size: 20px;
    margin: 0;
    color: #000;
    font-weight: 500;
}

/* Description */
.acquisition-card p {
      font-family: 'Nanum Myeongjo', serif;
    font-size: 16px;
    color: #000;
    line-height: 1.6;
    margin: 0;
}

/* Remove any link blue color */
.acquisition-card a {
    color: #000;
    text-decoration: none;
}

/* Hover */
.acquisition-card:hover {
    border-color: #000;
    transform: translateY(-5px);
}

/* Responsive */
@media (max-width: 768px) {
    .acquisition-grid {
        grid-template-columns: 1fr;
    }
}



.market-report-section {
    width: 100%;
    padding: 20px 0 60px 0; 
    background-color: #fff;
    font-family: 'Nanum Myeongjo', serif;
}

.report-container {
    max-width: 1320px; 
    margin: 0 auto;
    padding: 0 45px; 
}

.report-header {
    margin-bottom: 40px;
    width: 100%;
}

.report-title {
    font-size: 32px; 
    font-family: 'Nanum Myeongjo', serif;
    font-weight: 400;
    color: #000;
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Divider */
.animated-line-wrapper {
    width: 100%;
    height: 1px;
    background-color: #e0e0e0;
    position: relative;
    overflow: hidden;
}

.animated-divider {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0;
    background-color: #000;
    animation: lineReveal 2s ease-in-out forwards;
}

@keyframes lineReveal {
    0% { width: 0; }
    100% { width: 100%; }
}

/* Grid */
.report-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
    align-items: start;
}

/* ✅ ONLY CHANGE: Perfect box text */
.report-col p {
    font-size: 15px;
    line-height: 1.8;
    color: #000000;
    margin-bottom: 25px;

    
}
/* Apply same box alignment to list */
.report-col ul {
    padding-left: 18px; /* keep bullets neat */
    margin: 0 0 25px 0;
}

.report-col ul li {
    font-size: 15px;
    line-height: 1.1;
    color: #000000;
    margin-bottom: 10px;

    
}
@media (max-width: 768px) {
    .report-col ul li {
        text-align: left;
        hyphens: none;
    }
}
/* Responsive */
@media (max-width: 1024px) {
    .report-container { padding: 0 30px; }
    .report-grid { gap: 30px; }
}

@media (max-width: 768px) {
    .report-grid { grid-template-columns: 1fr; }
    .report-title { font-size: 24px; }

    /* Keep mobile clean */
    .report-col p {
        text-align: left;
        hyphens: none;
    }
}




.maintenance-management-section {
    width: 100%;
    padding: 60px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
}

.maintenance-container {
    max-width: 1100px;
    width: 90%;
}

/* Header Styling */
.maintenance-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
    margin-bottom: 40px;
}

.subheading-red {
     font-family: 'Nanum Myeongjo', serif;
    display: block;
    color: #7C682A;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 2px;
    font-weight: 600;
    margin-bottom: 10px;
}

.main-heading-black {
    color: #000;
    font-family: 'Nanum Myeongjo', serif;
    font-size: 32px;
    font-weight: 400;
    margin: 0;
}

/* Updated Link (Text always black + gold underline hover) */
.hover-underline-yellow {
    text-decoration: none;
     font-family: 'Nanum Myeongjo', serif;
    color: #000;
    font-weight: 400;
    font-size: 18px;
    text-transform: uppercase;
    position: relative;
    padding-bottom: 5px;
}

.hover-underline-yellow:visited,
.hover-underline-yellow:active,
.hover-underline-yellow:hover {
    color: #000; /* Always black */
}

.hover-underline-yellow::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #7C682A; /* Updated luxury gold */
    transition: width 0.3s ease;
}

.hover-underline-yellow:hover::after {
    width: 100%;
}



.maintenance-para {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 30px;
}

/* Icon Section */
.services-icon-box {
    margin: 50px 0;
    padding: 0;
}

.services-mini-title {
     font-family: 'Nanum Myeongjo', serif;
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 3px;
    margin-bottom: 30px;
    color: #000;
    border-left: 4px solid #7C682A; /* Updated gold */
    padding-left: 15px;
}

.icon-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 30px;
}

.icon-item {
    display: flex;
    align-items: center;
    gap: 15px;
}

.icon-item img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

.icon-item span {
    font-size: 13px;
    text-transform: uppercase;
    color: #333;
    font-weight: 500;
}

/* Mobile */
@media (max-width: 768px) {
    .maintenance-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .icon-grid {
        grid-template-columns: 1fr 1fr;
    }
}









/* SECTION BASE */
.gv-about-section {
    width: 100%;
    padding: 100px 20px;
    background: #000000;
    font-family: "Nanum Myeongjo", serif;
}

.gv-about-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* FULL WIDTH HEADING */
.gv-about-heading {
    width: 100%;
    margin-bottom: 50px;
}

.gv-about-heading h2 {
    font-family: "Nanum Myeongjo", serif;
    font-size: 48px;
    line-height: 1.3;
    font-weight: 300;
    color: #ffffff;
    max-width: 1000px;
    letter-spacing: -0.5px;
}

/* CENTER CONTENT */
.gv-about-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: left;
}

.gv-about-line {
    width: 80px;
    height: 2px;
    background: #7C682A; /* gold */
    margin-bottom: 20px;
}

.gv-about-content p {
    font-size: 18px;
    line-height: 1.8;
    color: #cccccc;
    /* UPDATE: This creates the "rectangle" look */
    text-align: justify;
    text-justify: inter-word; /* Ensures clean spacing between words */
}

/* IMAGE */
.gv-about-image {
    max-width: 700px;
    margin: 50px auto 0;
}

.gv-about-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* ---------------------- */
/* 📱 MOBILE */
/* ---------------------- */
@media (max-width: 768px) {
    .gv-about-section {
        padding: 70px 15px;
    }

    .gv-about-heading h2 {
        font-size: 30px;
    }

    .gv-about-content {
        max-width: 100%;
    }

    .gv-about-image {
        max-width: 100%;
    }

    .gv-about-content p {
        font-size: 16px;
    }
}

/* ---------------------- */
/* 📱 TABLET */
/* ---------------------- */
@media (min-width: 769px) and (max-width: 1024px) {
    .gv-about-heading h2 {
        font-size: 38px;
    }

    .gv-about-content p {
        font-size: 17px;
    }
}

/* ---------------------- */
/* 💻 LARGE SCREENS */
/* ---------------------- */
@media (min-width: 1440px) {
    .gv-about-container {
        max-width: 1400px;
    }

    .gv-about-heading h2 {
        font-size: 56px;
    }
}

/* ---------------------- */
/* 🖥️ ULTRA LARGE */
/* ---------------------- */
@media (min-width: 1600px) {
    .gv-about-container {
        max-width: 1600px;
    }

    .gv-about-heading h2 {
        font-size: 64px;
    }

    .gv-about-content,
    .gv-about-image {
        max-width: 800px;
    }

    .gv-about-content p {
        font-size: 20px;
    }
}





/* --- CONTACT SECTION STYLES --- */
.lre-contact-section {
  font-family: 'Nanum Myeongjo', serif; /* Apply Nanum Myeongjo font */
  background-color: #ffffff; /* White background for the whole section */
  margin: 0;
  padding: 50px 20px; /* Base padding */
  display: flex;
  justify-content: center; /* Center horizontally */
  align-items: center; /* Center vertically */
  min-height: 80vh; /* Minimum height for middle positioning on larger screens */
  box-sizing: border-box;
}

.lre-image-container {
  width: 100%;
  max-width: 1200px; /* Long image box, capped width for desktop */
  background-image: url('../img/dubai-view.png'); /* The vineyard image background */
  background-size: cover;
  background-position: center;
  padding: 80px 40px; /* Content spacing inside the image box */
  box-sizing: border-box;
  display: flex;
  justify-content: center; /* Center content horizontally */
  align-items: center; /* Center content vertically */
  position: relative; /* For potential positioning needs, but not strictly needed for centering */
}

.lre-content-box {
  background-color: rgba(255, 255, 255, 0.85); /* Semi-transparent white box, adjusted alpha */
  padding: 60px;
  text-align: center;
  max-width: 700px; /* Control content width */
  width: 100%;
  box-sizing: border-box;
}

.lre-contact-heading {
  font-size: 2.5rem; /* Base size */
  margin-top: 0;
  margin-bottom: 25px;
  color: #000000;
  font-weight: normal; /* Often good for Myeongjo serif */
}

.lre-contact-text {
  font-size: 1.1rem; /* Base size */
  line-height: 1.8;
  margin-bottom: 35px;
  color: #333333; /* Slightly softer black for main paragraph */
}

.lre-cta-button {
  text-decoration: none;
  color: #000000; /* Text always black */
  background: none;
  border: none;
  padding: 0;
  font-family: inherit; /* Inherit Nanum Myeongjo */
  font-size: 1rem;
  cursor: pointer;
  position: relative;
  display: inline-block; /* Essential for relative positioning of the line */
}

/* --- BUTTON HOVER EFFECT (Yellow Underline) --- */
.lre-cta-button::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -5px; /* Position the line 5px below the text */
  width: 100%;
  height: 2px; /* Line thickness */
  background-color: #dab073; /* Golden yellow color similar to button */
  transform: scaleX(0); /* Line is hidden by default (0 width) */
  transform-origin: left; /* Line grows from left to right */
  transition: transform 0.3s ease-out; /* Smooth growth transition */
}

.lre-cta-button:hover::after {
  transform: scaleX(1); /* Line grows to full width on hover */
}

/* --- MEDIA QUERIES FOR RESPONSIVENESS --- */

/* Responsive for mobile devices (up to 600px) */
@media only screen and (max-width: 600px) {
  .lre-contact-section {
    padding: 20px 10px;
    min-height: auto; /* Take natural height on small screens */
  }
  .lre-image-container {
    padding: 40px 20px;
  }
  .lre-content-box {
    padding: 30px;
  }
  .lre-contact-heading {
    font-size: 1.8rem; /* Smaller heading */
  }
  .lre-contact-text {
    font-size: 0.95rem; /* Smaller text */
    line-height: 1.6;
  }
}

/* Responsive for tablets (up to 768px) */
@media only screen and (min-width: 601px) and (max-width: 768px) {
  .lre-contact-heading {
    font-size: 2rem;
  }
  .lre-contact-text {
    font-size: 1rem;
  }
}

/* Larger screens (up to 1600px) */
@media only screen and (min-width: 1201px) and (max-width: 1600px) {
  .lre-image-container {
    max-width: 1400px; /* Slightly wider than standard desktop */
  }
}

/* Full-screen screens (above 1601px) */
@media only screen and (min-width: 1601px) {
  .lre-image-container {
    max-width: 1600px; /* Widen more for large monitors */
    padding: 100px 50px; /* Increase inner padding for visual scale */
  }
}

/* --- IMPORT FONT --- */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo&display=swap');

/* --- CONTACT SECTION STYLES --- */
.lre-contact-section {
  font-family: 'Nanum Myeongjo', serif;
  background-color: #ffffff; 
  margin: 0;
  padding: 40px 20px; 
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 70vh; /* Reduced height for a more compact look */
  box-sizing: border-box;
}

.lre-image-container {
  width: 100%;
  max-width: 1000px; /* Reduced from 1200px for a smaller "long box" */
  background-image: url('../img/infinite-pool.jpg'); 
  background-size: cover;
  background-position: center;
  padding: 60px 30px; /* Reduced internal padding */
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

.lre-content-box {
  background-color: rgba(255, 255, 255, 0.88); 
  padding: 40px 50px; /* Reduced from 60px for a tighter look */
  text-align: center;
  max-width: 550px; /* Reduced from 700px to make the white box smaller */
  width: 100%;
  box-sizing: border-box;
  /* Animation Trigger */
  animation: lreFadeInUp 1.2s ease-out forwards;
}

.lre-contact-heading {
    font-family: 'Nanum Myeongjo', serif;
  font-size: 2.2rem; /* Slightly smaller heading */
  margin-top: 0;
  margin-bottom: 20px;
  color: #000000;
  font-weight: normal;
}

.lre-contact-text {
  font-size: 1rem; /* Slightly smaller body text */
  line-height: 1.7;
  margin-bottom: 30px;
  color: #333333;
}

/* --- BUTTON STYLES (STRICT BLACK) --- */
.lre-cta-button {
  text-decoration: none !important;
  color: #000000 !important; /* Forces black text */
  background: none;
  border: none;
  padding: 0;
  font-family: inherit;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  position: relative;
  display: inline-block;
  transition: color 0.3s ease;
}

/* Ensure hover doesn't change text color */
.lre-cta-button:hover, 
.lre-cta-button:active, 
.lre-cta-button:focus {
  color: #000000 !important; 
  text-decoration: none !important;
}

/* --- YELLOW LINE ANIMATION --- */
.lre-cta-button::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: #dab073; 
  transform: scaleX(0); 
  transform-origin: left; 
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lre-cta-button:hover::after {
  transform: scaleX(1);
}

/* --- ANIMATION KEYFRAMES --- */
@keyframes lreFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- MEDIA QUERIES --- */

/* Mobile */
@media only screen and (max-width: 600px) {
  .lre-image-container {
    padding: 30px 15px;
  }
  .lre-content-box {
    padding: 25px;
  }
  .lre-contact-heading {
    font-size: 1.6rem;
  }
}

/* Large Screens (1600px - 1920px) */
@media only screen and (min-width: 1600px) {
  .lre-image-container {
    max-width: 1100px; /* Keeps it elegant even on huge screens */
  }
  .lre-content-box {
    max-width: 600px;
  }
}







/* Section */
.legal-compliance-section {
    width: 100%;
    padding: 40px 0 60px 0;
    background-color: #fff;
    font-family: 'Nanum Myeongjo', serif;
}

.legal-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 45px;
}

/* Header Row */
.legal-header-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

/* ✅ Heading FIXED */
.legal-title {
    font-size: 32px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0;
    color: #000;
    font-family: 'Nanum Myeongjo', serif;
    letter-spacing: 1px;
}

/* Icon */
.legal-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/* Divider */
.legal-divider {
    width: 100%;
    height: 1px;
    background-color: #000;
    margin: 15px 0 40px 0;
}

/* Content aligned right */
.legal-content {
    max-width: 500px;
    margin-left: auto;
}

/* ✅ PERFECT RECTANGLE LIST */
.legal-content ul {
    padding-left: 18px;
    margin: 0 0 25px 0;
}

.legal-content ul li {
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    margin-bottom: 10px;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}

/* ✅ PERFECT RECTANGLE PARAGRAPH */
.legal-content p {
    font-size: 15px;
    line-height: 1.8;
    color: #444;

    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
}

/* Mobile */
@media (max-width: 768px) {
    .legal-header-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .legal-content {
        max-width: 100%;
        margin-left: 0;
    }

    /* remove justify for mobile */
    .legal-content ul li,
    .legal-content p {
        text-align: left;
        hyphens: none;
    }
}









@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap');

.custom-property-section {
    background-color: #f2f2f2; 
    padding: 100px 5%;
    font-family: 'Nanum Myeongjo', serif;
    position: relative;
    overflow: hidden;
}

.cp-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    height: 600px;
}

/* Image Box - Now on the LEFT */
.cp-image-box {
    position: absolute;
    left: 0; /* Flipped from right:0 */
    top: 0;
    width: 75%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.cp-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Content Box - Now on the RIGHT & Slides from Right */
.cp-content-box {
    position: absolute;
    right: 0; /* Flipped from left:0 */
    top: 50%;
    /* Starts 150px to the right and hidden */
    transform: translateY(-50%) translateX(150px); 
    width: 500px;
    background: #ffffff;
    padding: 60px;
    z-index: 10;
    opacity: 0;
    transition: transform 1.2s cubic-bezier(0.25, 1, 0.5, 1), opacity 1.2s ease-out;
}

/* --- ANIMATION TRIGGER --- */
.custom-property-section.is-active .cp-image-box {
    opacity: 1;
}

.custom-property-section.is-active .cp-content-box {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
}

/* Typography & Form Elements */
.cp-title {
    color: #7C682A;
    font-size: 16px;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.cp-address {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.3;
    margin-bottom: 40px;
}

.cp-input-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.cp-form input, .cp-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #d1d1d1;
    padding: 15px 0;
    margin-bottom: 10px;
    font-family: 'Nanum Myeongjo', serif;
    background: transparent;
    outline: none;
}

.cp-submit-btn {
    background: none;
    border: none;
    cursor: pointer;
    float: right;
    margin-top: 20px;
}

.cp-footer-container {
    text-align: center;
    margin-top: 50px;
}

.cp-back-link {
    display: inline-block;
    text-decoration: none;
    color: #000;
    border: 1px solid #000;
    padding: 12px 40px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.cp-back-link:hover {
    background: #000;
    color: #fff;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .cp-container { height: auto; display: flex; flex-direction: column; }
    .cp-image-box, .cp-content-box { position: relative; width: 100%; transform: none; right: auto; left: auto; top: auto; }
    .cp-content-box { padding: 30px; margin-top: -50px; }
}

.details-page .custom-property-section{
    position: sticky;
    top: 0;
    min-height: 100vh;
    z-index: 1;
}
.details-page .cp-container{
    padding-bottom:80px;
}

/* when signature finishes */
.details-page .custom-property-section.stop-sticky{
    position: relative;
}

.details-page .signature-section{
    background:#7C682A;
    color:#fff;
    position:relative;
    z-index:5;
    padding:140px 5%;
    box-shadow:0 -40px 80px rgba(0,0,0,0.35);
}

.details-page .signature-inner{
    max-width:1200px;
    margin:auto;
}

/* IMAGES */

.details-page .signature-images{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-bottom:60px;
}

.details-page .signature-images img{
    width:100%;
    height:340px;
    object-fit:cover;
}

/* TEXT */

.details-page .signature-text h2{
    font-family:'Nanum Myeongjo', serif;
    font-size:36px;
    margin-bottom:25px;
}

.details-page .signature-text p{
    max-width:900px;
    line-height:1.8;
    margin-bottom:60px;
}

/* FEATURES */

.details-page .signature-features{
    max-width:900px;
}

.details-page .feature{
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,0.3);
    font-size:18px;
}








@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo&display=swap');
/* Partners Section */
.partners-section {
    padding: 80px 0 0 0; 
    margin-bottom: 0 !important;
    background-color: #f2f2f2; 
    font-family: 'Nanum Myeongjo', serif;
    text-align: center;
}

.section-header {
    display: inline-block;
    margin-bottom: 60px; /* Space between header and the logo grid */
    position: relative;
    width: 100%; /* Ensures the container allows the line to center */
}

.partners-heading {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 22px;
    letter-spacing: 4px;
    color: #000000; /* Set to black for visibility on light grey */
    text-transform: uppercase;
    margin-bottom: 25px; /* THE FIX: Creates gap between text and line */
}

/* THE FIX: Shortened Animated Underline */
.animated-underline {
    width: 0;
    height: 1px;
    background-color: #7C682A;
    margin: 0 auto;
    /* This transition handles the left-to-right growth */
    transition: width 1.2s cubic-bezier(0.42, 0, 0.58, 1);
}

/* THE FIX: We limit the final width to 150px (or 20%) so it isn't too long */
.section-header.is-visible .animated-underline {
    width: 150px; 
}

.partners-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
    max-width: 900px; 
    margin: 0 auto;
    padding-bottom: 80px;
}

.partner-item img {
    max-width: 110px; 
    max-height: 40px;
    width: auto;
    height: auto;
    object-fit: contain;
    
    /* Ensuring colors stay fixed as you liked them */
    filter: none; 
    opacity: 1;
    transition: 0.3s ease;
}

/* Simple Hover Effect */
.partner-item:hover img {
    /* filter: sepia(100%) saturate(300%) hue-rotate(10deg);  */
    transform: scale(1.1);
}
/* Targeted fix for Dubai Properties Logo */
.partner-item img[alt*="Dubai Properties"] {
    max-width: 140px !important; /* Increased from 110px */
    max-height: 40px !important; /* Increased from 40px */
    transform: scale(1.1); /* Slight boost to make it pop */
}

/* Optional: If the logo still looks small, you can adjust its container */
.partner-item:has(img[alt*="Dubai Properties"]) {
    flex: 1.2; 
}
/* Force zero gap with next section */
.partners-section + * {
    margin-top: 0 !important;
}





/* Blog Section - Forcing Nanum Myeongjo and Custom Styles */
.blog-section, 
.blog-section * {
    font-family: 'Nanum Myeongjo', serif !important;
    box-sizing: border-box;
}

.blog-section {
    background-color: #000000;
    padding: 100px 0;
    color: #ffffff !important;
}

.blog-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.blog-main-heading {
    text-align: center;
    font-size: 36px;
    letter-spacing: 5px;
    margin-bottom: 60px;
    text-transform: uppercase;
    color: #ffffff !important;
}

/* Bento Grid */
.blog-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.blog-card.large {
    grid-column: span 2;
}

.blog-card {
    position: relative;
    text-decoration: none !important;
    overflow: hidden;
    display: block;
}

.blog-image-wrapper {
    position: relative;
    width: 100%;
    height: 450px; 
}

.blog-card.small .blog-image-wrapper {
    height: 350px;
}

.blog-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(0.15, 0, 0.3, 1);
}

.blog-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35); /* Subtle dark layer */
    transition: background 0.4s ease;
}

.blog-content {
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    padding: 0 40px;
    text-align: center;
}

.blog-title {
    color: #ffffff !important;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0;
    transition: color 0.4s ease;
    font-weight: 400;
}

/* HOVER EFFECTS */
.blog-card:hover img {
    transform: scale(1.08);
     font-weight: 400;
}

.blog-card:hover .blog-overlay {
    background: rgba(0, 0, 0, 0.6);
}

.blog-card:hover .blog-title {
    color: #7C682A !important; /* Title turns yellow */
}

/* VIEW ALL BUTTON */
.view-all-wrapper {
    text-align: center;
    margin-top: 60px;
}

.view-all-btn {
    font-size: 14px;
    letter-spacing: 3px;
    color: #ffffff !important; /* Button stays white */
    text-decoration: none !important;
    position: relative;
    padding-bottom: 8px;
    display: inline-block;
    transition: color 0.3s ease;
}

/* The Yellow Underline */
.view-all-btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0;
    height: 1px;
    background-color: #7C682A;
    transition: width 0.4s ease, left 0.4s ease;
    transform: translateX(-50%);
}

.view-all-btn:hover::after {
    width: 100%; /* Line grows on hover */
}

.view-all-btn:hover {
    color: #ffffff !important; /* Ensuring text stays white as requested */
}

/* Mobile responsive */
@media (max-width: 768px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog-card.large { grid-column: span 1; }
    .blog-image-wrapper { height: 300px !important; }
}




/* --- Footer Regulatory Section --- */
.footer-legal-section {
    background-color: #ffffff;
    /* Bottom padding kept low to remove ghost space */
    padding: 80px 20px 40px 20px; 
    text-align: center;
}

.legal-content-container {
    max-width: 1100px;
    margin: 0 auto;
}

/* 1. Heading: TRUSTED EXPERIENCE */
.legal-heading-serif {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #000000; 
    font-size: 26px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    margin-bottom: 30px;
}

/* 2. Main Team Content */
.legal-disclaimer-wrapper p {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #444444; 
    font-size: 15px; 
    line-height: 1.8;
    /* Reduced margin to pull the logo closer */
    margin-bottom: 10px; 
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

/* 3. Disclaimer: Soft Grey & Italic */
.disclaimer-small {
    font-family: 'Nanum Myeongjo', serif !important;
    color: #999999 !important;
    font-size: 13px !important;
    font-style: italic;
    opacity: 0.8;
    /* This pulls the logo container even closer */
    margin-bottom: 0px !important;
}

/* 4. --- SINGLE LOGO CONTROL (TIGHTER GAP) --- */
.regulatory-logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    /* Tightened top margin from 40px to 15px */
    margin: 15px 0 0 0; 
}

.regulatory-logo {
    /* Dimensions from your updated PNG setup */
    height: 75px; 
    width: 115px; 
    
    /* Perfect architectural grey: Not too dark, not too washed out */
    filter: grayscale(100%) brightness(1.2); 
    opacity: 0.7; 
    
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast; 
}

/* Mobile Adjustment */
@media (max-width: 600px) {
    .legal-heading-serif { font-size: 20px; }
    .footer-legal-section { padding: 40px 20px 20px 20px; }
    .regulatory-logo { height: 50px; width: 80px; }
}









/* about the firm */
/* --- Brand Section Layout --- */

.kw-layout-wrapper {
  background-color: #ffffff;
  width: 100%;
  padding: 100px 5%; /* Adjust vertical padding as needed */
  display: flex;
  justify-content: center;
  box-sizing: border-box;
}

.kw-layout-container {
  display: flex;
  width: 100%;
  max-width: 1440px; /* Limits width on ultra-wide screens */
  gap: 60px;        /* Space between the two columns */
}

/* Typography & Colors */
.kw-layout-container h2, 
.kw-layout-container p {
  font-family: 'Nanum Myeongjo', serif !important;
  color: #000000 !important;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}

/* Left Column Styling */
.kw-heading-area {
  flex: 1;
}

.kw-brand-title {
  font-size: 20px;
  font-weight: 400;
  text-transform: none; /* Keeps it exactly as typed */
}

/* Right Column Styling */
.kw-content-area {
  flex: 1.5; /* Makes the paragraph area wider than the heading area */
}

.kw-text-block {
  font-size: 17px;
  line-height: 1.65;
  margin-bottom: 28px; /* Space between paragraphs */
  font-weight: 400;
}

/* Responsive Handling */
@media (max-width: 900px) {
  .kw-layout-container {
    flex-direction: column; /* Stacks columns on tablet/mobile */
    gap: 30px;
  }
  
  .kw-heading-area, 
  .kw-content-area {
    width: 100%;
  }
}



/* --- Global Section Styles --- */
.prop-collection {
  width: 100%;
  background-color: #ffffff;
}

.prop-collection * {
  font-family: 'Nanum Myeongjo', serif !important;
  color: #ffffff !important;
  text-decoration: none;
  box-sizing: border-box;
}

.prop-upper {
  text-transform: uppercase;
}

.prop-overlay {
  position: relative;
  overflow: hidden;
}

/* --- Uniform Height Control --- */
/* This ensures the top banner and the bottom grid items are the exact same height */
.prop-box {
  height: 500px; /* Adjust this single value to change all heights at once */
  width: 100%;
}

.prop-img-fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Heading: Top & Centered --- */
.prop-top-center {
  position: absolute;
  top: 40px;      /* Spacing from the top edge */
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  width: 100%;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin: 0;
}

/* --- Link: Bottom & Right Aligned --- */
.prop-bottom-right {
  position: absolute;
  bottom: 40px;   /* Spacing from the bottom edge */
  right: 40px;    /* Spacing from the right edge */
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  padding-bottom: 5px;
}

/* --- Animated Underline (Yellow) --- */
.prop-link::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #7C682A; 
  transform: scaleX(0);
  transform-origin: bottom left;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.prop-link:hover::after {
  transform: scaleX(1);
}

/* --- Grid Structure (50/50 Split) --- */
.prop-grid {
  display: flex;
  width: 100%;
}

.prop-grid-item {
  width: 50%;
}

/* --- Mobile Responsiveness --- */
@media (max-width: 900px) {
  .prop-box {
    height: 350px; /* Reduced uniform height for mobile */
  }
  
  .prop-grid {
    flex-direction: column;
  }
  
  .prop-grid-item {
    width: 100%;
  }

  .prop-top-center {
    font-size: 1.8rem;
    top: 25px;
  }

  .prop-bottom-right {
    right: 20px;
    bottom: 25px;
    font-size: 0.9rem;
  }
}


/* Container Setup */
.premium-profile-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background-color: #000;
}

.hero-image-vessel {
    width: 100%;
    height: 100%;
    position: relative;
}

.hero-parallax {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,0.6) 100%);
}

/* Perfect Centering at Bottom */
.profile-content-center {
    position: absolute;
    bottom: 10%; /* Adjust height from bottom here */
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    text-align: center;
    z-index: 10;
    color: #ffffff;
}

/* Typography Styling */
.profile-main-title {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: clamp(60px, 8vw, 110px); /* Scales perfectly on mobile */
    font-weight: 300;
    color: #ffffff;
    line-height: 1.1;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.profile-subtitle {
    font-family: 'Nanum Myeongjo', serif !important;
     color: #7C682A;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 5px; /* Extra wide for premium feel */
    margin-top: 20px;
    opacity: 0.9;
}

/* --- REVEAL ANIMATION --- */

.title-reveal-wrapper, .subtitle-reveal-wrapper {
    overflow: hidden;
}

.profile-main-title {
    transform: translateY(110%);
    animation: revealUp 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.profile-subtitle {
    transform: translateY(110%);
    animation: revealUp 1.4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
    animation-delay: 0.4s; /* Staggered reveal */
}

@keyframes revealUp {
    0% {
        transform: translateY(110%);
    }
    100% {
        transform: translateY(0%);
    }
}




.premium-feature-grid {
    width: 100%;
    background-color: #fff;
}

.feature-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}

.feature-item {
    position: relative;
    flex: 1;
    height: 85vh;
    overflow: hidden;
    /* Thin white divider lines between items */
    border-right: 1.5px solid #fff; 
}

.feature-item:last-child {
    border-right: none;
}

.feature-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Absolute Center Positioning for Titles */
.text-overlay-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    z-index: 20;
    overflow: hidden;
}

.feature-title {
    color: #ffffff;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 6px;
    margin: 0;
    /* Shadow ensures text remains visible on varied image backgrounds */
    text-shadow: 0px 4px 15px rgba(0,0,0,0.3);
    
    /* Reveal Animation */
    opacity: 0;
    animation: revealFromBottom 1.5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* Staggered animation delays */
.feature-item:nth-child(1) .feature-title { animation-delay: 0.2s; }
.feature-item:nth-child(2) .feature-title { animation-delay: 0.4s; }
.feature-item:nth-child(3) .feature-title { animation-delay: 0.6s; }
.feature-item:nth-child(4) .feature-title { animation-delay: 0.8s; }

@keyframes revealFromBottom {
    0% {
        opacity: 0;
        transform: translateY(100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}


.luxury-features-section {
    width: 100%;
    padding: 80px 0;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
}

.luxury-features-container {
    /* This is the key: keeping the container narrow makes it feel 'premium' */
    max-width: 850px; 
    width: 90%;
    margin: 0 auto;
}

.luxury-features-title {
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 26px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 50px;
    color: #1a1a1a;
}

.luxury-features-grid {
    display: flex;
    justify-content: space-between; /* Keeps the lists at the ends of the narrow container */
    gap: 60px; /* Precise gap between columns */
}

.luxury-list {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}

.luxury-list li {
   font-family: 'Nanum Myeongjo', serif !important;
    font-size: 16px; /* Smaller font feels more premium */
    /* text-transform: uppercase; */
    line-height: 1.3; /* Very tight spacing between lines */
  
    margin-bottom: 22px; /* Controlled gap between bullet points */
    color: #000000;
    position: relative;
    padding-left: 25px;
    text-align: left;
}

/* Tiny custom bullet dot */
.luxury-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: -1px;
    font-size: 14px;
    color: #000;
}

/* Mobile: Stack them but keep them narrow */
@media (max-width: 768px) {
    .luxury-features-grid {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .luxury-list li {
        text-align: center;
        padding-left: 0;
    }
    .luxury-list li::before {
        display: none;
    }
}


.premium-logo-ticker {
    width: 100%;
    padding: 25px 0; /* Tight padding as requested */
    background-color: #ffffff;
    overflow: hidden;
    position: relative;
}

.ticker-viewport {
    display: flex;
    width: 100%;
}

.ticker-track {
    display: flex;
    width: max-content;
    /* 50s speed for 30 logos feels very smooth */
    animation: marqueeFull 50s linear infinite;
}

.logo-unit {
    width: 180px; 
    margin: 0 35px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo-unit img {
    max-width: 140px;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

/* Fix for the white logos - turns them into a dark grey/black */
.dark-logo {
    filter: brightness(0) opacity(0.7);
}

.logo-unit img:hover {
    transform: scale(1.08);
}

@keyframes marqueeFull {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Moves exactly half the width of the 30-logo track */
        transform: translateX(-50%);
    }
}

/* Luxury Fade Edges */
.premium-logo-ticker::before,
.premium-logo-ticker::after {
    content: "";
    position: absolute;
    top: 0;
    width: 120px;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.premium-logo-ticker::before {
    left: 0;
    background: linear-gradient(to right, #fff, rgba(255,255,255,0));
}
.premium-logo-ticker::after {
    right: 0;
    background: linear-gradient(to left, #fff, rgba(255,255,255,0));
}





.kw-layout-wrapper .kw-brand-title{
    font-size: 38px !important;
}
.sleek-line {
  border: 0;
  height: 1px;
  background: rgba(0, 0, 0, 0.1); /* Very faint line */
  margin: 20px 0; /* Adds elegant spacing above and below */
}
.team-section-staggered {
    padding: 10px 20px 60px 20px; /* Top, Right, Bottom, Left */
    background-color: #fff;
    font-family: 'Nanum Myeongjo', serif !important;
}

.team-container-centered {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px; 
}

.team-flex-row {
    display: flex;
    flex-direction: column; /* Stacked on mobile */
    align-items: center;
    gap: 40px;
}

.team-card {
    width: 100%;
    max-width: 450px; /* Limits size on mobile so it's not huge */
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

/* Updated Image Wrapper - Removed Black Gradient */
.team-img-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 5.2; 
    /* Changed from black gradient to a very subtle light gray base */
    background: #f4f4f4; 
}

.team-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* Soft grayscale effect (Reduced from 100% to 90% for a cleaner gray look) */
    filter: grayscale(90%);
    /* Removed mix-blend-mode: multiply to get rid of the heavy blackness */
    transition: transform 0.8s cubic-bezier(0.2, 1, 0.3, 1), filter 0.5s ease;
}

.team-details {
    padding: 15px 0;
    color: #000;
}

.team-name {
    color: #000;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 30px !important;
    font-weight: 400;
    margin: 0;
    text-transform: uppercase;
    display: inline-block;
    position: relative;
}

.team-name::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    width: 0;
    height: 2px;
    background-color: #7C682A;
    transition: width 0.5s ease-in-out;
}

.team-role {
    font-size: 16px; /* Base size for mobile */
    margin: 8px 0 0 0;
    font-weight: 400;
    color: #000;
}

/* HOVER EFFECTS */
.team-card:hover .team-img-wrap img { 
    transform: scale(1.1);
    /* Soften the grayscale further on hover */
    filter: grayscale(50%); 
}

.team-card:hover .team-name::after { 
    width: 100%; 
}

/* --- TABLETS & SMALL LAPTOPS (768px to 1200px) --- */
@media (min-width: 768px) {
    .team-container-centered { max-width: 850px; }
    
    .team-flex-row {
        flex-direction: row; /* Side by side */
        justify-content: center;
        gap: 30px; /* Tight gap */
    }

    .card-down {
        margin-top: 100px; /* The staggered look */
    }
}

/* --- STANDARD LAPTOPS (1200px to 1599px) --- */
@media (min-width: 1200px) {
    .team-container-centered { max-width: 950px; }
    .team-flex-row { gap: 50px; }
    .card-down { margin-top: 130px; }
    .team-name { font-size: 20px; }
}

/* --- LARGE SCREENS & ULTRA-WIDE (1600px and up) --- */
@media (min-width: 1600px) {
    .team-container-centered {
        max-width: 1300px; 
    }

    .team-flex-row {
        gap: 80px; 
        margin-bottom: 80px;
    }

    .team-card {
        max-width: 520px; 
    }

    .card-down {
        margin-top: 180px; 
    }

    .team-name {
        font-size: 24px; 
    }

    .team-role {
        font-size: 25px;
    }
}

/* Optimization for 1920px specifically */
@media (min-width: 1920px) {
    .team-container-centered {
        max-width: 1500px;
    }
    .team-flex-row {
        gap: 120px; 
    }
}



/* --- Google Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');
/* --- Google Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');
/* Apply font globally to this specific section */
.experience-timeline, 
.experience-timeline * {
    font-family: 'Nanum Myeongjo', serif !important;
    box-sizing: border-box;
}

.experience-timeline {
    padding: 50px 5% 30px 5% !important; /* slightly reduced */
    background-color: #f8f8f8;
    position: relative;
    overflow: hidden;
    min-height: auto !important;
}

.timeline-container {
    max-width: 1400px;
    margin: 0 auto;
}

.timeline-title {
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: 10px;
    color: #1a1a1a;
}

.timeline-subtitle {
    font-size: 1.1rem;
    color: #666;
    margin-bottom: 40px;
}

/* --- MAIN GRID FIX --- */
.logo-track {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* ✅ Always 5 columns on desktop */
    gap: 15px;
    align-items: start;
    margin-bottom: 0 !important;
}

.logo-wrapper {
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* --- Card --- */
.logo-card {
    height: 220px; /* slightly tighter */
    background-color: #ffffff;
    border: 1px solid #eeeeee;
    display: flex;
    align-items: center;    
    justify-content: center; 
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
}

.logo-card img {
    max-width: 75%;
    max-height: 50px; 
    opacity: 1 !important;    
    transition: transform 0.4s ease;
}

/* Hover */
.logo-wrapper:hover .logo-card,
.logo-wrapper.active .logo-card {
    border-color: #dddddd;
    box-shadow: 0 12px 30px rgba(0,0,0,0.05);
    transform: translateY(-4px);
}

.logo-wrapper:hover img,
.logo-wrapper.active img {
    transform: scale(1.06);
}

/* Details */
.card-details {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    padding: 0 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.35s ease;
    max-height: 0; 
    overflow: hidden;
}

.logo-wrapper:hover .card-details,
.logo-wrapper.active .card-details {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    max-height: 300px;
    margin-bottom: 15px;
}

.detail-line {
    width: 2px;
    height: 45px;
    background-color: #000000;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.4s ease;
}

.logo-wrapper:hover .detail-line,
.logo-wrapper.active .detail-line {
    transform: scaleY(1);
}

.detail-text h3 {
    font-size: 0.95rem !important;
    font-weight: 800;
    margin: 0 0 6px 0;
    color: #000;
}

.detail-text p {
    font-size: 0.82rem;
    line-height: 1.5;
    color: #444;
    margin: 0;
    max-width: 100%;
}

/* --- RESPONSIVE --- */

/* 📱 Mobile */
@media (max-width: 576px) {
    .logo-track {
        grid-template-columns: 1fr; /* 1 per row */
        gap: 20px;
    }

    .logo-card {
        height: 180px;
    }

    .card-details {
        max-height: none;
    }
}

/* 📲 Tablet */
@media (min-width: 577px) and (max-width: 992px) {
    .logo-track {
        grid-template-columns: repeat(3, 1fr); /* 3 per row */
    }
}

/* 💻 Laptop and above */
@media (min-width: 993px) {
    .logo-track {
        grid-template-columns: repeat(5, 1fr); /* Always 5 */
    }
}









/* Ash Background & Compact White Squares */
.partner-showcase-ash {
    background-color: #f2f2f2; /* Professional Ash Background */
    padding: 80px 40px;
    font-family: 'Nanum Myeongjo', serif;
    color: #000;
}

.ash-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.ash-title {
     font-family: 'Nanum Myeongjo', serif;
    font-size: 56px;
    margin-bottom: 10px;
    width: 100%;
    font-weight: 400;
    color: #000;
}

.ash-info-row {
    display: flex;
    justify-content: flex-end; /* Para on the right */
    margin-bottom: 50px;
}

.ash-para {
    max-width: 450px;
    font-size: 18px;
    line-height: 1.5;
    opacity: 0.8;
}

/* Controlled 4-Box Square Grid */
.ash-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 20px;
    /* This max-width ensures squares don't grow too large on big screens */
    max-width: 900px; 
    margin: 0 auto; /* Centers the grid of boxes */
}

.partner-item {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    aspect-ratio: 1 / 1; /* Perfect Square */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px; /* Space for the logo */
    transition: all 0.3s ease;
    cursor: pointer;
}

.partner-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    border-color: #000;
}

.partner-item img {
    max-width: 90%;
    max-height: 170px; /* Keeps logos consistent and not too bulky */
    object-fit: contain;
    filter: grayscale(1);
   
    transition: all 0.3s ease;
}

.partner-item:hover img {
    filter: grayscale(0);
    opacity: 1;
}

/* Tablet & Mobile Tweaks */
@media (max-width: 1024px) {
    .ash-title { font-size: 42px; }
    .ash-grid { max-width: 100%; } /* Let it use available space on smaller screens */
}

@media (max-width: 768px) {
    .ash-grid { grid-template-columns: repeat(3, 1fr); }
    .ash-info-row { justify-content: flex-start; }
}

@media (max-width: 500px) {
    .ash-grid { grid-template-columns: repeat(2, 1fr); }
    .ash-title { font-size: 32px; }
}
/* For 13-inch Laptops and smaller desktops (Approx 1280px to 1440px) */
@media (max-width: 1440px) {
    .ash-grid {
        grid-template-columns: repeat(4, 1fr);
        max-width: 1000px; /* Keeps the 4 boxes from stretching too wide */
    }
}

/* For Standard Desktops and Large Screens (1600px, 1920px, etc.) */
@media (min-width: 1441px) {
    .ash-grid {
        grid-template-columns: repeat(6, 1fr);
        max-width: 1200px; /* Gives the 6 boxes enough room to breathe */
    }
}






.get-in-touch-section {
    padding-top: 0 !important; /* Forces the top padding to zero */
    margin-top: 0 !important;  /* Ensures no external margin is creating a gap */
    /* Add the rest of your existing styles for this section below */
}

.editorial-news-section {
    background-color: #000;
    padding: 80px 60px 0 60px;
    margin-bottom: 0;
    width: 100%;
    box-sizing: border-box;
}

.editorial-inner {
    max-width: 1500px; 
    margin: 0 auto;
    display: flex;
    gap: 100px; /* Big gap to separate heading and images */
}

/* Left Sidebar Heading Logic */
.label-column {
    flex: 0 0 auto;
}

.sidebar-heading {
    color: #ffffff !important;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 1.9rem;
    font-weight: 600; 
    letter-spacing: 2px;
    margin: 0;
    text-transform: uppercase;
}

.heading-top {
    display: block;
    white-space: nowrap; /* Forces "FROM OUR LATEST" to stay on one line */
    margin-bottom: 5px;  /* Small gap between the two lines */
}

.heading-bottom {
    display: block;
    opacity: 0.9;
}

/* Right Content Area */
.content-column {
    flex: 1;
    max-width: 900px; 
}

.news-row {
    display: flex;
    gap: 40px; 
    margin-bottom: 60px;
    text-decoration: none !important;
    align-items: flex-start;
}

.news-img-box {
    flex: 0 0 350px; 
    height: 190px;   
    overflow: hidden;
}

.news-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-text-box {
    flex: 1;
}

.news-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.pill {
    background: #222; 
    color: #eee !important;
    padding: 4px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    border-radius: 3px;
    font-family: 'Nanum Myeongjo', serif !important;
    text-transform: uppercase;
}

.date {
    color: #bbb !important; 
    font-size: 0.9rem;
    font-weight: 700; 
    font-family: 'Nanum Myeongjo', serif !important;
}

.news-title {
    color: #ffffff !important;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 1rem; 
    line-height: 1.2;
    margin: 0 0 12px 0;
    font-weight: 700; 
    text-transform: uppercase;
}

.news-para {
    color: #ddd !important; 
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 0.85rem; 
    line-height: 1.6;
    font-weight: 400; 
    margin: 0;
    max-width: 550px;
}

/* CTA with Yellow Hover */
.view-all-container {
    margin-top: 20px;
    padding-bottom: 80px;
}

.view-all-cta {
    display: inline-block;
    color: #ffffff !important;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 1.1rem;
    font-weight: 800;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    position: relative;
    padding-bottom: 8px;
}

.view-all-cta::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0; 
    height: 3px;
    background-color: #7C682A; 
    transition: width 0.4s ease-in-out;
}

.view-all-cta:hover::after {
    width: 100%;
}

/* Tablet/Mobile logic */
@media (max-width: 1200px) {
    .editorial-inner { gap: 50px; }
}

@media (max-width: 992px) {
    .heading-top { white-space: normal; } /* Allow wrap on mobile if screen is too narrow */
}

@media (max-width: 768px) {
    .editorial-inner { flex-direction: column; }
    .news-row { flex-direction: column; gap: 20px; }
    .news-img-box { width: 100%; height: 220px; }
}







/* Container positioned on the absolute left edge */
.unified-sticky-sidebar {
    position: fixed;
    left: 0; /* Attach directly to edge - no gap */
    top: 50%;
    transform: translateY(-50%);
    z-index: 10000; /* Stays above everything */
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Important for pop-out direction */
}

/* The long vertical capsule itself - made smaller and attached */
.sidebar-capsule {
    background-color: #7C682A; /* Main capsule stays your Gold Color */
    border-radius: 0 20px 20px 0; /* Only right corners rounded, attach left */
    padding: 15px 0; /* Reduced padding for smaller size */
    width: 45px; /* Fixed, smaller width */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px; /* Smaller gap between icons */
    box-shadow: 2px 5px 15px rgba(0,0,0,0.2); /* Adjust shadow direction */
    overflow: visible; /* CRITICAL for text pop-out */
}

/* Individual item links */
.unified-cta-item {
    text-decoration: none;
    display: flex;
    align-items: center;
    position: relative; /* Context for pop-out text relative to icon */
    cursor: pointer;
}

/* Icon positioning - sized for smaller capsule */
.cta-icon-wrapper {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}

.cta-icon-wrapper img {
    width: 20px; /* Smaller icons inside wrapper */
    height: 20px;
    object-fit: contain;
}

/* Three dots icon (bottom) */
.cta-icon-wrapper.three-dots {
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 1px;
}

/* Pop-out Text - BLACK AND WHITE, SLIDING FROM UNDER */
.unified-cta-text {
    position: absolute;
    /* Move left so it starts from under the capsule edge */
    left: 30px; /* Start relative to icon position */
    background-color: #7C682A; /* BLACK Background as requested */
    color: #ffffff; /* WHITE Text as requested */
    padding: 8px 18px; /* Matching profile capsule padding */
    border-radius: 8px 10px 10px 8px; /* Profile capsule shape */
    font-family: 'Nanum Myeongjo', serif; /* Use site font */
    font-size: 13px; /* Slightly smaller text for unified look */
    white-space: nowrap;
    
    /* Animation controls */
    opacity: 0;
    visibility: hidden;
    
    /* Sliding effect: Start clipped and from behind icon */
    transform: translateX(-15px) scaleX(0.5); 
    transform-origin: left center;
    
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Snappy transition */
    
    /* Z-index trick: Place text *behind* the icon relative to capsule */
    z-index: -1; 
}

/* Hover Effect - Text slides out from behind the icon */
.unified-cta-item:hover .unified-cta-text {
    opacity: 1;
    visibility: visible;
    transform: translateX(0) scaleX(1); /* Slide and scale into place */
    z-index: 10; /* Now move in front on hover */
}

/* Mobile Fixes */
@media (max-width: 768px) {
    .unified-sticky-sidebar {
        left: 0;
        top: auto;
        bottom: 20px;
        transform: none;
        flex-direction: row;
        width: 100%;
        justify-content: center;
    }
    
    .sidebar-capsule {
        flex-direction: row;
        width: auto;
        height: 50px;
        padding: 0 15px;
        gap: 15px;
        border-radius: 25px; /* Make it a proper bubble on mobile */
    }
    
    .unified-cta-text {
        display: none; /* Hide pop-out text on mobile */
    }
}










.roi-grid-section {
    position: relative;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background: #000;
    font-family: 'Nanum Myeongjo', serif;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Background & Zoom */
.roi-bg-container {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
}

.roi-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 6s ease;
}

.roi-grid-section:hover .roi-bg-img {
    transform: scale(1.1);
}

.roi-bg-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.6); /* Adjust darkness here */
}

/* The Grid */
.roi-grid-container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr 1.5fr 1.2fr; /* Center column is wider */
    grid-template-rows: repeat(3, 1fr);
    width: 90%;
    height: 80vh;
    max-width: 1400px;
}

.roi-grid-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    border: 0.5px solid rgba(255, 255, 255, 0.3); /* The "Lines" */
}

/* Removing outer borders to mimic your sketch */
.roi-grid-item:nth-child(3n) { border-right: none; }
.roi-grid-item:nth-child(3n+1) { border-left: none; }
.roi-grid-item:nth-child(-n+3) { border-top: none; }
.roi-grid-item:nth-last-child(-n+3) { border-bottom: none; }

/* Main Heading Style */
.roi-main-heading {
    background: rgba(179, 155, 89, 0.1); /* Subtle gold tint */
}

.roi-title {
      font-family: 'Nanum Myeongjo', serif;
    color: #b39b59;
    font-size: clamp(1.5rem, 3vw, 2rem);
    text-transform: uppercase;
    font-weight: 700;
    margin: 0;
}

.roi-title span { color: #fff; font-weight: 300; }

.roi-subtitle {
      font-family: 'Nanum Myeongjo', serif;
    letter-spacing: 5px;
    font-size: 0.7rem;
    color: #fff;
    margin-top: 10px;
    border-top: 1px solid #b39b59;
    padding-top: 5px;
}

/* Stats Styles */
.roi-number {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 400;
    color: #fff;
}

.roi-label {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 5px;
}

/* Mobile Fix */
@media (max-width: 768px) {
    .roi-grid-container {
        grid-template-columns: 1fr 1fr;
        height: auto;
    }
    .roi-main-heading { grid-column: span 2; order: -1; padding: 40px 0; }
}





























/* ==========================================
   1. SEARCH & FILTER SECTION
   ========================================== */
.re-filter-section {
  background-color: #ffffff;
  padding: 80px 20px 20px 20px;
  display: flex;
  justify-content: center;
}

.re-filter-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 30px;
  width: 100%;
  max-width: 800px; /* Sleek, centered look */
}

.re-input-group {
  position: relative;
  flex: 1;
}

/* The typing area */
.re-field {
  width: 100%;
  border: none;
  background: transparent;
  padding: 12px 0;
   font-family: 'Nanum Myeongjo', serif !important;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 2px;
  color: #000000;
  outline: none;
  text-transform: uppercase;
}

/* The minimalist line under search */
.re-underline {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000000;
  transition: all 0.4s ease;
}

/* Yellow line appears when clicking to type */
.re-field:focus + .re-underline {
  height: 2px;
  background-color: #7C682A;
}

/* Search Button Styles */
.re-search-btn {
  background-color: #000000;
  color: #ffffff;
  border: none;
  padding: 5px 30px;
  font-family: 'Nanum Myeongjo', serif !important;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.3s ease;
}

.re-search-btn:hover {
  background-color: #7C682A;
  color: #ffffff;
}

/* ==========================================
   2. TEAM GRID (PORTRAIT STYLE)
   ========================================== */
.portrait-team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  padding: 40px 20px 80px 20px;
  background-color: #ffffff;
}

/* Individual Member Card */
.portrait-item {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4; /* Perfect Portrait height */
  overflow: hidden;
  text-decoration: none;
  background-color: #000;
}

/* Image with Black & White Filter */
.portrait-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  transition: transform 0.6s ease, filter 0.6s ease;
}

/* Content at the bottom of the image */
.portrait-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 40px 20px 25px 20px;
  text-align: center;
  z-index: 2;
  /* Dark gradient to make text pop against image bottom */
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 100%);
}

/* Member Name: White & Caps */
.portrait-name {
  color: #ffffff;
  font-family: 'Nanum Myeongjo', serif !important;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin: 0;
}

/* Designation: Yellow */
.portrait-role {
  color: #b89e51;
  font-family: serif;
  font-style: italic;
  font-size: 0.85rem;
  margin-top: 5px;
}

/* Hover State: Image Zooms and Color returns */
.portrait-item:hover .portrait-img {
  transform: scale(1.05);
  filter: grayscale(0%);
}

/* ==========================================
   3. MESSAGES & RESPONSIVENESS
   ========================================== */

/* No Results Found Text */
.no-results-msg {
  text-align: center;
  padding: 60px;
  font-family: 'Nanum Myeongjo', serif !important;
  font-size: 0.85rem;
  letter-spacing: 2px;
  color: #888;
  text-transform: uppercase;
}

/* Desktop to Tablet */
@media (max-width: 1100px) {
  .portrait-team-grid { grid-template-columns: repeat(3, 1fr); }
  .re-filter-wrapper { max-width: 90%; }
}

/* Tablet to Phone */
@media (max-width: 768px) {
  .portrait-team-grid { grid-template-columns: repeat(2, 1fr); }
  .re-filter-wrapper {
    flex-direction: column;
    gap: 30px;
  }
  .re-search-btn { width: 100%; }
}

/* Small Phones */
@media (max-width: 480px) {
  .portrait-team-grid { grid-template-columns: 1fr; }
}

/* ===== PROPERTY MANAGEMENT PAGE ONLY ===== */

.team-page .maintenance-container,
.team-page .kw-layout-container,
.team-page .acquisition-container,
.team-page .legal-container,
.team-page .staff-container,
.team-page .v-container,
.team-page .stykka-header-container,
.team-page .stykka-content-container {
  
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}


/* ===== LARGE SCREENS ===== */

@media (min-width: 1400px) {
  .team-page .maintenance-container,
  .team-page .kw-layout-container,
  .team-page .acquisition-container,
  .team-page .legal-container,
  .team-page .staff-container,
  .team-page .v-container,
  .team-page .stykka-header-container,
  .team-page .stykka-content-container {

    max-width: 1400px;
    padding-left: 40px;
    padding-right: 40px;
  }
}


/* ===== ULTRA LARGE SCREENS ===== */

@media (min-width: 1800px) {
  .team-page .maintenance-container,
  .team-page .kw-layout-container,
  .team-page .acquisition-container,
  .team-page .legal-container,
  .team-page .staff-container,
  .team-page .v-container,
  .team-page .stykka-header-container,
  .team-page .stykka-content-container {

    max-width: 1500px;
    padding-left: 50px;
    padding-right: 50px;
  }
}





/* FIXED POSITIONING TO BOTTOM RIGHT */
.chat-assistant-section {
    position: fixed;
    bottom: 20px;
    right: 20px; /* Moved to right side */
    z-index: 9999;
    width: 350px; /* Made it significantly smaller */
    font-family: 'Nanum Myeongjo', serif !important;
}

.chat-container {
    background: #ffffff;
    border-radius: 15px;
    display: flex;
    flex-direction: column;
    height: 500px; /* Reduced height */
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border: 1px solid #eee;
    overflow: hidden;
}

/* COMPACT HEADER */
.chat-header {
    background: #000;
    color: #fff;
    padding: 10px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.chat-header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.chat-logo img {
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
}

.chat-header-text h4 { font-size: 13px; margin: 0; }
.chat-header-text p { font-size: 10px; margin: 0; }

.chat-close-btn {
    cursor: pointer;
    width: 20px;
    height: 20px;
    opacity: 0.7;
    transition: 0.3s;
}

.chat-close-btn:hover { opacity: 1; }
.chat-close-btn img { width: 100%; height: 100%; object-fit: contain; }

/* SMALLER WINDOW CONTENT */
.chat-window {
    flex: 1;
    padding: 15px;
    overflow-y: auto;
    background: #fdfdfd;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bot-msg {
    background: #f1f1f1;
    padding: 10px 14px;
    border-radius: 15px 15px 15px 4px;
    font-size: 13px;
    max-width: 85%;
}

.user-msg {
    background: #000;
    color: #fff;
    padding: 8px 14px;
    border-radius: 15px 15px 4px 15px;
    align-self: flex-end;
    font-size: 13px;
}

.chat-options-container {
    padding: 12px;
    gap: 8px;
    border-top: 1px solid #f1f1f1;
}

.chat-btn {
    padding: 6px 15px;
    font-size: 12px;
    border-radius: 20px;
    border: 1px solid #000;
    background: #fff;
    cursor: pointer;
}

.chat-btn:hover { background: #000; color: #fff; }




























































/* Modal Overlay */
.team-modal-overlay {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
}

/* Modal Box - Positioned below Nav Bar */
.team-modal-content {
  position: relative;
  top: 110px; /* Adjust to match your header height */
  margin: 0 auto;
  width: 90%;
  max-width: 1150px;
  display: flex;
  background-color: #ffffff;
  max-height: calc(100vh - 150px); 
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}

.team-modal-image-container { flex: 1; background: #000; }
.team-modal-img { width: 100%; height: 100%; object-fit: cover; }

.team-modal-text-container {
  flex: 1.2;
  padding: 60px 50px;
  background-color: #fcfcf9;
  overflow-y: auto;
  position: relative;
}

.team-modal-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 2rem;
  cursor: pointer;
  color: #000;
}

/* Typography */
.team-modal-name {
  font-family: serif;
  font-size: 2.8rem;
  margin: 10px 0;
  color: #000;
}

.modal-designation-header {
  color: #c49b66; /* Gold color from your logo/theme */
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 1px;
  display: block;
  margin-bottom: 20px;
}

.team-modal-bio p {
  font-family: serif;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: 20px;
}

/* Skills Bullets */
.skills-list {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.skills-list li {
  font-family: 'Inter', sans-serif;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  color: #555;
  font-size: 0.95rem;
}

.skills-list li::before {
  content: "—";
  margin-right: 10px;
  color: #c49b66;
}







.stykka-about-section {
    font-family: 'Nanum Myeongjo', serif;
    color: #000000;
    background-color: #ffffff;
    padding: 80px 0;
    width: 100%;
}

/* Header */
.stykka-header-container {
    max-width: 1200px;
    margin: 0 auto 50px auto;
    padding: 0 20px;
}

.stykka-subheading {
    display: block;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.stykka-main-title {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 48px;
    color: #000;
    line-height: 1.1;
    font-weight: 500;
    margin: 0;
    letter-spacing: -1px;
}

/* 🎥 Video Section */
.stykka-video-wrapper {
    width: 100%;
    height: 65vh;
    min-height: 400px;
    margin-bottom: 80px;
    overflow: hidden;
    position: relative; /* IMPORTANT for overlay */
}

.stykka-video-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 🔥 Black Overlay */
.stykka-video-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    
    /* Adjust opacity here (0.2–0.4 recommended) */
    background: rgba(0, 0, 0, 0.3);
    
    pointer-events: none; /* Allows clicks if needed */
}

/* Content */
.stykka-content-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: flex-end;
}

.stykka-text-block {
    width: 100%;
    max-width: 650px;
}

.stykka-text-block p {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 35px;
    font-weight: 400;
}

.stykka-footer-tagline {
    font-weight: 700;
    font-size: 20px !important;
    margin-top: 50px;
}

/* List Styling */
.stykka-list {
    margin: 30px 0 40px 0;
    padding-left: 20px;
}

.stykka-list li {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 18px;
    font-weight: 400;
    list-style-type: disc;
}

.stykka-list li::marker {
    font-size: 20px;
    line-height: 1.1;
}

/* Responsive */
@media (max-width: 1024px) {
    .stykka-main-title { font-size: 36px; }
    .stykka-text-block p { font-size: 22px; }
    .stykka-video-wrapper { height: 50vh; }
}

@media (max-width: 768px) {
    .stykka-header-container,
    .stykka-content-container {
        padding: 0 30px;
    }
    
    .stykka-main-title { font-size: 28px; }
    
    .stykka-text-block {
        max-width: 100%;
    }
    
    .stykka-video-wrapper { 
        height: 40vh; 
        margin-bottom: 40px;
    }
}




/* Base Section Styling */
.portfolio-section {
    width: 100%;
    background-color: #fff;
    padding-bottom: 50px; /* Padding under the whole section */
}

.portfolio-grid {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.portfolio-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    border-right: 1.5px solid #fff;
}

.portfolio-item:last-child {
    border-right: none;
}

/* Image Grid Styling */
.image-frame {
    height: 85vh; /* Standard Laptop/Tablet Height */
    width: 100%;
    overflow: hidden;
}

.image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Text Styling - Tightly tucked and moved slightly right */
.text-container {
    padding: 12px 0 0 15px; /* Reduced top padding (12px) to move text closer to image */
    text-align: left;
    background-color: #fff;
}

.item-title {
    color: #1a1a1a;
    font-family: 'Nanum Myeongjo', serif !important;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin: 0 0 2px 0; /* Very tight gap between title and paragraph */
    
    /* Animation */
    opacity: 0;
    animation: revealFromBottom 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.item-description {
    color: #666;
    font-size: 13px;
    line-height: 1.3; /* Tightened line height for the description */
    margin: 0;
    max-width: 85%;
    
    /* Animation */
    opacity: 0;
    animation: revealFromBottom 1.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

/* Staggered animation delays */
.portfolio-item:nth-child(1) .item-title, .portfolio-item:nth-child(1) .item-description { animation-delay: 0.2s; }
.portfolio-item:nth-child(2) .item-title, .portfolio-item:nth-child(2) .item-description { animation-delay: 0.4s; }
.portfolio-item:nth-child(3) .item-title, .portfolio-item:nth-child(3) .item-description { animation-delay: 0.6s; }
.portfolio-item:nth-child(4) .item-title, .portfolio-item:nth-child(4) .item-description { animation-delay: 0.8s; }

@keyframes revealFromBottom {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}

/* Large Screens (Desktops larger than standard laptops) */
@media (min-width: 1440px) {
    .image-frame {
        height: 70vh; /* Reduced height for larger screens */
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .portfolio-grid {
        flex-direction: column;
    }
    .image-frame {
        height: 50vh;
    }
    .portfolio-item {
        border-right: none;
        padding-bottom: 25px;
    }
    .text-container {
        padding-left: 20px; /* Slight adjustment for mobile thumb-scrolling space */
    }
}





/* Layout Alignment with Maintenance Section */
.v-showcase {
    width: 100%;
    padding: 60px 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
}

.v-container {
    max-width: 1100px;
    width: 90%;
    display: flex;
    align-items: flex-start; /* Aligns both columns to the top */
    gap: 60px;
}

/* Left Side Menu */
.v-nav {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px; /* Controlled, natural gap between headings */
}

.v-nav-item {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 1.6rem;
    padding: 15px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #000;
    display: block;
    line-height: 1.2;
}

/* Hover Effect */
.v-nav-item:hover {
    background-color: #eeeeee; /* Light ash */
}

/* Active State Sync */
.v-showcase:has(#frag-1:checked) .v-nav-item:nth-child(1),
.v-showcase:has(#frag-2:checked) .v-nav-item:nth-child(2),
.v-showcase:has(#frag-3:checked) .v-nav-item:nth-child(3),
.v-showcase:has(#frag-4:checked) .v-nav-item:nth-child(4),
.v-showcase:has(#frag-5:checked) .v-nav-item:nth-child(5) {
    background-color: #eeeeee;
}

.v-nav-item sup {
    font-size: 0.9rem;
    vertical-align: super;
}

/* Right Side Content Area */
.v-content-area {
    flex: 1.2;
}

.v-content-area input[type="radio"] {
    display: none;
}

.v-panel {
    display: none; 
    animation: vFadeIn 0.5s ease;
}

.v-inner img {
    width: 100%;
    /* Forces the 1200x630 ratio or similar to look clean */
    aspect-ratio: 16 / 9; 
    height: auto;
    object-fit: cover; /* Crops the image to fit the box instead of stretching it */
    display: block;
    background-color: #f9f9f9; /* Fallback color while loading */
}

.v-inner p {
    margin-top: 25px;
    font-size: 15px;
    line-height: 1.8;
    color: #444;
    font-family: 'Nanum Myeongjo', serif !important;
}

/* Desktop Logic */
#frag-1:checked ~ .v-panel:nth-of-type(1),
#frag-2:checked ~ .v-panel:nth-of-type(2),
#frag-3:checked ~ .v-panel:nth-of-type(3),
#frag-4:checked ~ .v-panel:nth-of-type(4),
#frag-5:checked ~ .v-panel:nth-of-type(5) {
    display: block;
}

.v-mobile-header {
    display: none;
}

@keyframes vFadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Mobile View --- */
@media (max-width: 768px) {
    .v-container {
        flex-direction: column;
        gap: 0;
    }

    .v-nav {
        display: none;
    }

    .v-mobile-header {
        display: block;
        font-family: 'Nanum Myeongjo', serif;
        font-size: 1.8rem;
        padding: 20px 0;
        border-bottom: 1px solid #eee;
        cursor: pointer;
        color: #000;
    }

    .v-panel {
        display: block !important;
    }

    .v-inner {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Accordion Slide Effect */
    #frag-1:checked ~ .v-panel:nth-of-type(1) .v-inner,
    #frag-2:checked ~ .v-panel:nth-of-type(2) .v-inner,
    #frag-3:checked ~ .v-panel:nth-of-type(3) .v-inner,
    #frag-4:checked ~ .v-panel:nth-of-type(4) .v-inner,
    #frag-5:checked ~ .v-panel:nth-of-type(5) .v-inner {
        max-height: 1200px;
        padding: 20px 0;
    }
}









@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700;800&display=swap');

.blog-inside-page {
    width: 100%;
    background-color: #ffffff;
    font-family: 'Nanum Myeongjo', serif;
    color: #1a1a1a;
    line-height: 1.6;
}
.blog-main-heading {
     font-family: 'Nanum Myeongjo', serif;
     color: #000;
}
/* 1. HERO SECTION */
.blog-hero-image-container {
    position: relative;
    width: 100%;
    height: 55vh; 
    overflow: hidden;
}

.blog-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.blog-hero-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 40px 45px;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    box-sizing: border-box;
    z-index: 2;
}

.blog-hero-title {
     font-family: 'Nanum Myeongjo', serif;
    color: #ffffff;
    font-size: clamp(28px, 4.5vw, 42px);
    font-weight: 400;
    max-width: 65%;
    margin: 0;
    line-height: 1.1;
}

.blog-hero-meta-right {
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

/* 2. MAIN LAYOUT GRID */
.blog-main-content-wrapper {
    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;
    padding: 0 45px 80px 45px;
}

.blog-container {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: start;
}

/* 3. RIGHT STICKY SIDEBAR */
.blog-sidebar-sticky {
    position: sticky;
    top: 60px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 50px; 
}

.share-icons-row {
    display: flex;
    gap: 20px;
}

.share-icon {
    color: #1a1a1a;
    font-size: 18px;
    text-decoration: none;
    transition: transform 0.3s ease, color 0.3s ease;
}

.share-icon:hover {
    transform: translateY(-3px);
    color: #666;
}

/* LATEST POSTS CONTAINER ADJUSTMENTS */
.latest-posts-container {
    background: #fbfbfb;
    border: 1px solid #f0f0f0;
    padding: 50px 35px; /* Increased internal padding */
}

.latest-posts-heading {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-top: 0;
    margin-bottom: 40px; /* More space after heading */
    border-bottom: 1px solid #eaeaea;
    padding-bottom: 15px;
}

.latest-post-item {
    display: flex;
    gap: 10px; /* Wider gap between image and text */
    margin-bottom: 30px; /* Significantly increased space between blocks to fill the container */
    text-decoration: none;
    color: inherit;
    transition: opacity 0.3s ease;
}

.latest-post-item:last-child {
    margin-bottom: 0;
}

.latest-post-item:hover {
    opacity: 0.7;
}

.latest-post-image {
    width: 80px; /* Increased from 75px */
    height: 80px; /* Increased from 75px */
    object-fit: cover;
    flex-shrink: 0;
}

.latest-post-info {
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centers text vertically against the larger image */
}
.latest-posts-heading {
    color: #000;
 font-family: 'Nanum Myeongjo', serif;
}
.latest-post-title {
     font-family: 'Nanum Myeongjo', serif;
    font-size: 15px; /* Slightly larger */
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 8px;
}

.latest-post-date {
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* 4. ARTICLE CONTENT */
.blog-article-content {
    margin-top: 50px;
}

/* DROP CAP */
.first-para::first-letter {
    font-family: 'Nanum Myeongjo', serif;
    font-size: 5.5rem;
    font-weight: 400;
    float: left;
    line-height: 0.85;
    padding-right: 12px;
    padding-top: 4px;
    color: #1a1a1a;
    text-transform: uppercase;
}

.blog-main-heading {
     font-family: 'Nanum Myeongjo', serif;
    font-size: 32px;
    margin-top: 0;
    margin-bottom: 30px;
    line-height: 1.2;
}

.blog-article-content p {
    font-size: 18px;
    line-height: 1.9;
    color: #333;
    margin-bottom: 25px;
}

.blog-sub-heading {
    color: #000;
     font-family: 'Nanum Myeongjo', serif;
    font-size: 24px;
    margin-top: 45px;
    margin-bottom: 20px;
    font-weight: 700;
}

.inline-blog-image {
    margin: 40px 0;
}

.inline-blog-image img {
    width: 100%;
    height: auto;
    display: block;
}

.image-caption {
    font-size: 14px;
    color: #777;
    margin-top: 12px;
    font-style: italic;
    border-left: 2px solid #eee;
    padding-left: 15px;
}

/* 5. COMMENT SECTION */
.comment-section {
    margin-top: 80px;
    padding-top: 50px;
    border-top: 1px solid #eee;
}

.comment-heading {
    color: #000;
     font-family: 'Nanum Myeongjo', serif;
    font-size: 22px;
    margin-bottom: 35px;
}

.comment-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-row {
    display: flex;
    gap: 20px;
}

.form-row input {
    flex: 1;
}

.comment-form input, .comment-form textarea {
    padding: 18px;
    border: 1px solid #e0e0e0;
    font-family: inherit;
    font-size: 15px;
    background: #fafafa;
}

.comment-submit {
    background: #1a1a1a;
    color: #fff;
    border: none;
    padding: 18px 45px;
    text-transform: uppercase;
    letter-spacing: 2px;
    cursor: pointer;
    width: fit-content;
    transition: background 0.3s ease;
}

.comment-submit:hover {
    background: #333;
}

/* 6. LARGE SCREENS (1600px+) */
@media (min-width: 1600px) {
    .blog-container {
        grid-template-columns: 1fr 420px;
        gap: 100px;
    }
    .blog-sidebar-sticky, .blog-article-content {
        margin-top: 70px;
    }
    .latest-posts-container {
        min-height: 600px;
        padding: 60px 40px;
    }
    .latest-post-image {
        width: 120px; /* Even larger for ultra-wide screens */
        height: 120px;
    }
}

/* 7. MOBILE RESPONSIVENESS */
@media (max-width: 1024px) {
    .blog-container {
        grid-template-columns: 1fr;
    }
    .blog-sidebar-sticky {
        position: static;
        margin-top: 50px;
    }
    .blog-article-content {
        margin-top: 30px;
    }
}

@media (max-width: 768px) {
    .blog-main-content-wrapper, .blog-hero-content {
        padding: 30px 20px;
    }
    .form-row {
        flex-direction: column;
    }
    .blog-hero-image-container {
        height: 45vh;
    }
    .blog-hero-title {
        max-width: 100%;
        font-size: 26px;
    }
    .latest-post-image {
        width: 80px;
        height: 80px;
    }
}








/* Import Font */
@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap');

/* Reset */
.op-section-wrapper * {
  font-family: 'Nanum Myeongjo', serif;
  color: #fff;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Section */
.op-section-wrapper {
  position: relative;
  width: 100%;
  min-height: 90vh;
  background: url('/img/off-plan.jpg') no-repeat center center/cover;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Overlay */
.op-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.25);
  top: 0;
  left: 0;
}

/* Content */
.op-content-container {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: auto;
  z-index: 2;
}

/* Heading */
.op-heading {
  margin-bottom: 40px;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 1s ease forwards;
}

.op-heading h1,
.op-heading h2 {
  font-size: 42px;
  font-weight: 400;
  letter-spacing: 2px;
}

/* Blue Box */
.op-text-box {
  background: rgba(124, 104, 42, 0.92);
  padding: 30px;
  max-width: 500px;

  /* Animation */
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 1.2s ease forwards;
  animation-delay: 0.3s;
}

/* Paragraph */
.op-text-box p {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 20px;
}

/* CTA */
.op-cta {
  position: relative;
  display: inline-block;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 1px;
  color: #fff !important;
  padding-bottom: 5px;
}

/* Keep text white always */
.op-cta:hover,
.op-cta:focus,
.op-cta:active {
  color: #fff !important;
}

/* Yellow underline animation */
.op-cta::after {
  content: "";
  position: absolute;
  width: 0%;
  height: 2px;
  background: #777; /* 🔶 Yellow color */
  left: 0;
  bottom: 0;
  transition: width 0.4s ease;
}

.op-cta:hover::after {
  width: 100%;
}
/* Animation Keyframes */
@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .op-heading h1,
  .op-heading h2 {
    font-size: 28px;
  }

  .op-text-box {
    max-width: 100%;
    padding: 20px;
  }

  .op-text-box p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .op-heading h1,
  .op-heading h2 {
    font-size: 22px;
  }

  .op-section-wrapper {
    min-height: 70vh;
  }
}







@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap');

/* Outer spacing */
.nx-contact-section {
  padding: 80px 20px;
  display: flex;
  justify-content: center;
  font-family: 'Nanum Myeongjo', serif;
}

/* 🔥 Narrow background image container */
.nx-contact-container {
  width: 100%;
  max-width: 1000px; /* REDUCED from 1400px */
  background-image: url('/img/property.jpg');
  background-size: cover;
  background-position: center;
  padding: 100px 20px;
  display: flex;
  justify-content: center;
}

/* 🔥 Smaller white box */
.nx-contact-box {
  background: rgba(255, 255, 255, 0.9);
  padding: 50px 30px;
  text-align: center;
  max-width: 650px; /* REDUCED */
  width: 100%;
}

/* Title */
.nx-contact-title {
     font-family: 'Nanum Myeongjo', serif;
     color: #000;
  font-size: 32px;
  margin-bottom: 18px;
  font-weight: 400;
}

/* Text */
.nx-contact-text {
  font-size: 16px;
  line-height: 1.7;
  color: #000;
  margin-bottom: 25px;
}

/* CTA */
.nx-contact-cta {
  position: relative;
  display: inline-block;
  font-size: 16px;
  color: #000;
  text-decoration: none;
  padding-bottom: 4px;
}

/* Yellow underline animation */
.nx-contact-cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background-color: #d4af37;
  transition: width 0.4s ease;
}

.nx-contact-cta:hover::after {
  width: 100%;
}

.nx-contact-cta:hover {
  color: #000;
}

/* ================= RESPONSIVE ================= */

/* Tablets */
@media (max-width: 1024px) {
  .nx-contact-container {
    max-width: 900px;
    padding: 80px 15px;
  }

  .nx-contact-box {
    max-width: 600px;
  }
}

/* Mobile */
@media (max-width: 600px) {
  .nx-contact-section {
    padding: 50px 15px;
  }

  .nx-contact-container {
    max-width: 100%;
    padding: 60px 10px;
  }

  .nx-contact-box {
    max-width: 100%;
    padding: 35px 20px;
  }

  .nx-contact-title {
    font-size: 24px;
  }

  .nx-contact-text {
    font-size: 14px;
  }
}

/* Large screens */
@media (min-width: 1600px) {
  .nx-contact-container {
    max-width: 1200px;
  }

  .nx-contact-box {
    max-width: 700px;
  }
}
/* ULTRA-WIDE SCREEN CONTROL */
@media (min-width: 1600px) {
  .nx-contact-container {
    max-width: 1200px; /* aligns better with your other section */
  }

  .nx-contact-box {
    max-width: 720px; /* slight upscale but still tight */
  }
}



/* SECTION BACKGROUND */
.alabbar-section {
  background: #fff;
  padding: 60px 0;
  font-family: 'Nanum Myeongjo', serif;
}

/* CENTERED CONTAINER */
.alabbar-container {
  width: 88%;
  max-width: 1200px;
  margin: 0 auto;
}

/* IMAGE BOX */
.alabbar-image-box {
  position: relative;
  height: 420px;
  background: url('/img/jijesh.png') no-repeat center/cover;
  overflow: hidden;
    display: block;
}

/* WHITE BOX */
.alabbar-overlay-box {
  position: absolute;
   left: -1px;
  bottom: 0;
  background: #fff;
  padding: 30px;
  max-width: 460px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  transform: translateX(-0.5px);
}

/* TEXT */
.alabbar-quote {
  font-size: 21px;
  line-height: 1.6;
  color: #000;
  margin-bottom: 16px;
}

.alabbar-author {
  font-size: 14px;
  color: #777;
  margin-bottom: 24px;
}

/* CTA */
.alabbar-cta {
  position: relative;
  text-decoration: none;
  color: #000 !important; /* force black */
  font-size: 15px;
  display: inline-block;
  padding-bottom: 4px;
}

/* KEEP TEXT BLACK ALWAYS */
.alabbar-cta:hover,
.alabbar-cta:focus,
.alabbar-cta:active,
.alabbar-cta:visited {
  color: #000 !important; /* override bootstrap */
  text-decoration: none;
}

/* underline animation */
.alabbar-cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background: #7C682A;
  transition: width 0.4s ease;
}

.alabbar-cta:hover::after {
  width: 100%;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

/* Mobile */
@media (max-width: 768px) {
  .alabbar-image-box {
    height: auto;
    padding: 50px 16px;
  }

  .alabbar-overlay-box {
    position: relative;
    max-width: 100%;
    padding: 20px;
  }

  .alabbar-quote {
    font-size: 17px;
  }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  .alabbar-image-box {
    height: 360px;
  }

  .alabbar-overlay-box {
    max-width: 380px;
    padding: 25px;
  }

  .alabbar-quote {
    font-size: 19px;
  }
}

/* Large screens */
@media (min-width: 1600px) {
  .alabbar-container {
    max-width: 1400px;
  }

  .alabbar-image-box {
    height: 520px;
  }

  .alabbar-overlay-box {
    max-width: 540px;
    padding: 40px;
  }

  .alabbar-quote {
    font-size: 24px;
  }
}

/* Ultra-wide */
@media (min-width: 1920px) {
  .alabbar-container {
    max-width: 1500px;
  }

  .alabbar-image-box {
    height: 580px;
  }

  .alabbar-overlay-box {
    max-width: 600px;
  }

  .alabbar-quote {
    font-size: 26px;
  }
}