
        :root {
            /* Luxury Light Theme Palette */
            --bg-primary: #FFFFFF;
            --bg-secondary: #F8F9FA;    /* Very light gray for section contrast */
            --bg-tertiary: #EFEFEF;     /* Subtle borders/backgrounds */
            
            --text-primary: #1A1C20;    /* Deep charcoal, softer than pure black */
            --text-secondary: #52525B;  /* Medium gray for readable body text */
            
            --heading-color: #0F172A;   /* Deep slate/navy for contrast */
            --accent-gold: #C5A880;     /* Champagne gold */
            --accent-gold-hover: #B09570;
            --accent-navy: #0F172A;     /* Preserved for fixed dark sections */
            
            --border-color: #E5E7EB;
            
            --nav-bg: rgba(255, 255, 255, 0.95);
            --btn-bg: #0F172A;
            --btn-text: #FFFFFF;
            --badge-bg: rgba(255, 255, 255, 0.9);
            --badge-text: #0F172A;
            
            /* Typography */
            --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
            --font-serif: 'Playfair Display', Georgia, serif;
            
            /* Layout */
            --container-width: 1200px;
            --section-padding: 7rem 1.5rem;
        }

        [data-theme="dark"] {
            --bg-primary: #0B1120;
            --bg-secondary: #0F172A;
            --bg-tertiary: #1E293B;
            
            --text-primary: #F8FAFC;
            --text-secondary: #CBD5E1;
            
            --heading-color: #FFFFFF;
            
            --border-color: #334155;
            
            --nav-bg: rgba(11, 17, 32, 0.95);
            --btn-bg: #C5A880;
            --btn-text: #0F172A;
            --badge-bg: rgba(15, 23, 42, 0.9);
            --badge-text: #C5A880;
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: var(--font-sans);
            background-color: var(--bg-primary);
            color: var(--text-primary);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: all 0.3s ease;
        }

        ul {
            list-style: none;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        .container {
            max-width: var(--container-width);
            margin: 0 auto;
            padding: 0 1.5rem;
        }

        .section {
            padding: var(--section-padding);
        }
        
        .section-alt {
            background-color: var(--bg-secondary);
        }

        .section-header {
            text-align: center;
            margin-bottom: 4rem;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        .section-subtitle {
            color: var(--accent-gold);
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            font-weight: 600;
            margin-bottom: 1rem;
            display: block;
        }

        .section-title {
            font-family: var(--font-serif);
            font-size: 2.5rem;
            font-weight: 400;
            color: var(--heading-color);
            margin-bottom: 1rem;
        }

        .navbar {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            padding: 1.5rem 0;
            background: var(--nav-bg);
            backdrop-filter: blur(10px);
            -webkit-backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--border-color);
            z-index: 1000;
            transition: padding 0.3s ease, background-color 0.3s ease;
        }

        .nav-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            display: block;
        }
        
        .logo img {
            height: 50px;
            width: auto;
            max-width: 250px;
            object-fit: contain;
            border-radius: 4px;
        }

        .nav-right {
            display: flex;
            align-items: center;
            gap: 2.5rem;
        }

        .nav-links {
            display: flex;
            gap: 2.5rem;
        }
        
        .theme-toggle {
            background: none;
            border: none;
            color: var(--text-primary);
            cursor: pointer;
            padding: 0.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: color 0.3s ease;
        }
        
        .theme-toggle:hover {
            color: var(--accent-gold);
        }

        .nav-links a {
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            font-weight: 500;
            color: var(--text-primary);
        }

        .nav-links a:hover {
            color: var(--accent-gold);
        }

        .mobile-menu-btn {
            display: none;
            background: none;
            border: none;
            color: var(--text-primary);
            cursor: pointer;
            padding: 0.5rem;
        }

        .hero {
            min-height: 100vh;
            display: flex;
            align-items: center;
            padding-top: 5rem;
            background-color: var(--bg-secondary);
            position: relative;
            overflow: hidden;
        }

        /* Subtle elegant background gradient simulating light/sun */
        .hero::before {
            content: '';
            position: absolute;
            top: -20%;
            right: -10%;
            width: 70vw;
            height: 70vw;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(197, 168, 128, 0.08) 0%, rgba(255,255,255,0) 70%);
            z-index: 0;
            pointer-events: none;
        }

        .hero-content {
            max-width: 800px;
            position: relative;
            z-index: 1;
        }

        .hero-title {
            font-family: var(--font-serif);
            font-size: clamp(3.5rem, 6vw, 5.5rem);
            line-height: 1.05;
            color: var(--heading-color);
            margin-bottom: 1.5rem;
            font-weight: 400;
        }
        
        .hero-title i {
            font-style: italic;
            color: var(--accent-gold);
        }

        .hero-description {
            font-size: 1.15rem;
            color: var(--text-secondary);
            margin-bottom: 3rem;
            max-width: 600px;
            line-height: 1.8;
            font-weight: 300;
        }

        .btn-group {
            display: flex;
            gap: 1.5rem;
            flex-wrap: wrap;
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 1rem 2rem;
            font-size: 0.85rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 500;
            transition: all 0.3s ease;
            cursor: pointer;
            border-radius: 0; /* Square edges for luxury feel */
        }

        .btn-primary {
            background-color: var(--btn-bg);
            color: var(--btn-text);
            border: 1px solid var(--btn-bg);
        }

        .btn-primary:hover {
            opacity: 0.9;
        }

        .btn-secondary {
            background-color: transparent;
            color: var(--text-primary);
            border: 1px solid var(--border-color);
        }

        .btn-secondary:hover {
            border-color: var(--accent-gold);
            color: var(--accent-gold);
        }
        
        .btn i[data-lucide] {
            width: 16px;
            height: 16px;
        }

        .about-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 5rem;
            align-items: center;
        }

        .about-image {
            width: 100%;
            aspect-ratio: 4/5;
            background-color: var(--bg-tertiary);
            object-fit: cover;
        }

        .about-text h3 {
            font-family: var(--font-serif);
            font-size: 2rem;
            color: var(--heading-color);
            margin-bottom: 1.5rem;
            font-weight: 400;
        }

        .about-text p {
            color: var(--text-secondary);
            margin-bottom: 1.5rem;
            font-size: 1.05rem;
            font-weight: 300;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 2.5rem;
        }

        .service-card {
            background-color: var(--bg-primary);
            border: 1px solid var(--border-color);
            padding: 3.5rem 2.5rem;
            text-align: center;
            transition: transform 0.4s ease, box-shadow 0.4s ease;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.04);
            border-color: transparent;
        }

        .service-icon {
            color: var(--accent-gold);
            margin-bottom: 1.5rem;
            display: flex;
            justify-content: center;
        }
        
        .service-icon i[data-lucide] {
            width: 40px;
            height: 40px;
            stroke-width: 1.5;
        }

        .service-card h3 {
            font-family: var(--font-serif);
            font-size: 1.5rem;
            margin-bottom: 1rem;
            color: var(--heading-color);
            font-weight: 400;
        }

        .service-card p {
            color: var(--text-secondary);
            font-size: 0.95rem;
            font-weight: 300;
        }

        .properties-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 2rem;
        }

        .property-card {
            group: true;
            cursor: pointer;
        }

        .property-image-wrapper {
            position: relative;
            overflow: hidden;
            aspect-ratio: 3/2;
            background-color: var(--bg-tertiary);
            margin-bottom: 1.5rem;
        }

        .property-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s ease;
        }
        
        .property-card:hover .property-image-wrapper img {
            transform: scale(1.05);
        }

        .property-badge {
            position: absolute;
            top: 1rem;
            left: 1rem;
            background-color: var(--badge-bg);
            color: var(--badge-text);
            padding: 0.3rem 0.8rem;
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            font-weight: 500;
        }

        .property-meta {
            color: var(--accent-gold);
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }

        .property-title {
            font-family: var(--font-serif);
            font-size: 1.4rem;
            color: var(--heading-color);
            margin-bottom: 0.5rem;
            font-weight: 400;
        }

        .contact-wrapper {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            background-color: var(--accent-navy);
            color: white;
            padding: 5rem;
        }

        .contact-info h2 {
            font-family: var(--font-serif);
            font-size: 2.5rem;
            margin-bottom: 1.5rem;
            font-weight: 400;
        }

        .contact-info p {
            color: #94A3B8;
            margin-bottom: 3rem;
            font-weight: 300;
            font-size: 1.1rem;
        }

        .contact-details {
            display: flex;
            flex-direction: column;
            gap: 2rem;
        }

        .contact-item {
            display: flex;
            align-items: flex-start;
            gap: 1.5rem;
        }

        .contact-item i[data-lucide] {
            color: var(--accent-gold);
            margin-top: 0.2rem;
        }
        
        .contact-item-text span {
            display: block;
            font-size: 0.8rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: #94A3B8;
            margin-bottom: 0.3rem;
        }

        .contact-item-text a, .contact-item-text p {
            color: white;
            font-size: 1.1rem;
        }
        
        .contact-item-text a:hover {
            color: var(--accent-gold);
        }

        .contact-form-placeholder {
            background-color: rgba(255, 255, 255, 0.03);
            border: 1px solid rgba(255, 255, 255, 0.1);
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
        }
        
        .contact-form-placeholder i {
            color: var(--accent-gold);
            margin-bottom: 1rem;
            width: 32px;
            height: 32px;
        }

        .footer {
            background-color: #0B1120;
            padding: 3rem 0;
            text-align: center;
            color: #64748B;
            font-size: 0.85rem;
        }

        @media (max-width: 992px) {
            .about-grid, .contact-wrapper {
                grid-template-columns: 1fr;
                gap: 3rem;
            }
            .contact-wrapper {
                padding: 3rem 2rem;
            }
        }

        @media (max-width: 768px) {
            :root {
                --section-padding: 5rem 1.5rem;
            }

            .mobile-menu-btn {
                display: block;
            }

            .nav-links {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                width: 100%;
                background-color: var(--nav-bg);
                border-bottom: 1px solid var(--border-color);
                flex-direction: column;
                padding: 2rem 1.5rem;
                gap: 1.5rem;
                text-align: center;
            }

            .nav-links.active {
                display: flex;
            }
            
            .nav-right {
                gap: 1rem;
            }

            .hero-title {
                font-size: 2.75rem;
            }
            
            .btn-group {
                flex-direction: column;
                width: 100%;
            }
            
            .btn {
                width: 100%;
            }
        }
    
/* Shared services layout and navigation fit. */
.nav-links { gap: 1.7rem; }
.nav-right { gap: 1.7rem; }
.nav-links a { white-space: nowrap; }
.logo { flex-shrink: 0; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent-gold); outline-offset: 5px; }
section[id] { scroll-margin-top: 110px; }
.services-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.service-card { display:flex; flex-direction:column; }
.service-card .service-link { margin-top:auto; padding-top:1.5rem; font-size:.85rem; font-weight:500; text-decoration:underline; text-underline-offset:.3em; }
.service-card p { margin-bottom:1rem; }
.service-hero { padding: 10rem 0 4.5rem; background:var(--bg-secondary); }
.service-hero h1 { font-family:var(--font-serif); font-size:clamp(2.4rem,5vw,4.5rem); line-height:1.12; font-weight:400; color:var(--heading-color); max-width:900px; margin:1.5rem 0; }
.service-hero .lead { max-width:760px; font-size:1.15rem; color:var(--text-secondary); font-weight:300; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:.6rem; font-size:.8rem; color:var(--text-secondary); }
.breadcrumb a { text-decoration:underline; text-underline-offset:.2em; }
.service-copy { max-width:800px; margin:auto; }
.service-copy h2 { font-family:var(--font-serif); font-weight:400; font-size:2rem; line-height:1.25; color:var(--heading-color); margin-bottom:1.5rem; }
.service-copy h3 { font-size:1.1rem; font-weight:500; margin:2rem 0 .5rem; color:var(--heading-color); }
.service-copy p { color:var(--text-secondary); margin-bottom:1.3rem; }
.service-list { list-style:disc; padding-left:1.3rem; color:var(--text-secondary); }
.service-list li { margin-bottom:.8rem; padding-left:.3rem; }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.process-step { padding:2rem; border-top:1px solid var(--accent-gold); }
.process-step h3 { font-family:var(--font-serif); font-size:1.5rem; font-weight:400; margin-bottom:1rem; color:var(--heading-color); }
.process-step p { color:var(--text-secondary); }
.service-faq details { border-bottom:1px solid var(--border-color); padding:1.4rem 0; }
.service-faq summary { cursor:pointer; font-weight:500; color:var(--heading-color); }
.service-faq details p { margin:1rem 0 0; }
.service-cta { background:var(--accent-navy); color:white; text-align:center; }
.service-cta h2 { font-family:var(--font-serif); font-size:2.5rem; font-weight:400; margin-bottom:1rem; }
.service-cta p { color:#CBD5E1; max-width:650px; margin:0 auto 2rem; }
.service-cta .btn { background:white; color:var(--accent-navy); border-color:white; }
.service-cta .btn-group { justify-content:center; }
.service-intro { text-align:center; max-width:760px; margin:0 auto 3rem; color:var(--text-secondary); }
.footer-service-links { display:flex; flex-wrap:wrap; justify-content:center; gap:1.5rem; color:#CBD5E1; }
@media (max-width:1100px) {
 .mobile-menu-btn { display:block; }
 .nav-links { display:none; position:absolute; top:100%; left:0; width:100%; background:var(--nav-bg); border-bottom:1px solid var(--border-color); flex-direction:column; padding:1.5rem; gap:1rem; text-align:center; max-height:calc(100dvh - 100px); overflow-y:auto; }
 .nav-links.active { display:flex; }
 .nav-right { gap:1rem; }
}
@media (max-width:768px) {
 .service-hero { padding:9rem 0 3rem; }
 .process-grid { grid-template-columns:1fr; gap:1rem; }
 .service-card { padding:2.5rem 1.5rem; }
 .service-cta h2 { font-size:2rem; }
}
