/* ========================================
   IYC Premium Real Estate Design System
   "Executive Heritage" Theme
   ======================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap');

:root {
    /* --- Premium Color Palette --- */
    /* --- Premium Color Palette --- */
    --brand-blue-deep: #001255; /* Darker, richer blue */
    --brand-blue: #0227a4;      /* Primary Brand Blue */
    --brand-blue-light: #3b5bdb;
    
    --brand-red: #D32F2F;        /* Accent Red */
    --brand-red-dark: #B71C1C;
    
    --brand-gold-rich: #B71C1C;  /* Replaced Gold with Dark Red */
    --brand-gold: #D32F2F;       /* Replaced Gold with Brand Red */
    --brand-gold-light: #FFCDD2; /* Replaced Gold with Light Red */
    
    --brand-cream: #FDFBF7;      /* Warm, luxury background */
    --brand-cream-dark: #F5F2EB;
    
    --brand-cream-dark: #F5F2EB;
    
    --brand-dark: #0a0a0a;       /* Almost black */
    --brand-gray: #889993;       /* Muted text color */

    /* --- Glassmorphism Engine --- */
    --glass-surface: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    --glass-blur: blur(20px);
    
    --glass-premium-bg: rgba(2, 39, 164, 0.65);
    --glass-premium-border: rgba(197, 160, 89, 0.3);

    /* --- Typography & Spacing --- */
    --font-display: 'Playfair Display', serif;
    --font-body: 'Outfit', sans-serif;
    
    --tracking-wide: 0.15em;
    --tracking-widest: 0.3em;
    
    /* --- Animation curves --- */
    --ease-cinematic: cubic-bezier(0.19, 1, 0.22, 1); /* "Expo Out" feel */
    --ease-luxury: cubic-bezier(0.65, 0, 0.35, 1);    /* Smooth, deliberate */
}

/* --- Base Reset & Setup --- */
* {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    background-color: var(--brand-cream);
    color: var(--brand-dark);
    font-family: var(--font-body);
    overflow-x: hidden;
    line-height: 1.6;
}

/* --- Typography Helper Classes --- */
.font-display { font-family: var(--font-display); }
.font-body { font-family: var(--font-body); }

.tracking-premium { letter-spacing: var(--tracking-wide); }
.tracking-elite { letter-spacing: var(--tracking-widest); }

/* --- Premium Gradients --- */
.text-gradient-gold {
    background: linear-gradient(135deg, var(--brand-gold) 0%, var(--brand-gold-light) 50%, var(--brand-gold-rich) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    background-size: 200% auto;
    animation: shine 4s linear infinite;
}

.bg-gradient-blue {
    background: linear-gradient(180deg, var(--brand-blue-deep) 0%, var(--brand-blue) 100%);
}

.bg-gradient-gold {
    background: linear-gradient(135deg, var(--brand-gold-rich) 0%, var(--brand-gold) 100%);
}

@keyframes shine {
    to {
        background-position: 200% center;
    }
}

/* --- Glassmorphism Components --- */
.glass-nav {
    background: rgba(253, 251, 247, 0.85);
    backdrop-filter: var(--glass-blur);
    -webkit-backdrop-filter: var(--glass-blur);
    border-bottom: 1px solid rgba(197, 160, 89, 0.15);
}

.glass-card {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border: 1px solid rgba(255, 255, 255, 0.5);
    box-shadow: 0 20px 40px rgba(0,0,0,0.05);
    transition: all 0.6s var(--ease-cinematic);
}

.glass-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 60px rgba(197, 160, 89, 0.15);
    border-color: var(--brand-gold);
}

.glass-dark {
    background: rgba(2, 39, 164, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(197, 160, 89, 0.2);
    color: white;
}

/* --- Buttons & Interactives --- */
.btn-primary {
    position: relative;
    overflow: hidden;
    background: var(--brand-red);
    color: white;
    transition: all 0.5s var(--ease-cinematic);
    z-index: 1;
}

.btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100%;
    background: var(--brand-red-dark);
    transition: all 0.5s var(--ease-cinematic);
    z-index: -1;
}

.btn-primary:hover::before {
    width: 100%;
}

.btn-primary:hover {
    color: white;
    box-shadow: 0 15px 30px rgba(211, 47, 47, 0.3);
}

.btn-outline {
    border: 1px solid var(--brand-blue);
    color: var(--brand-blue);
    transition: all 0.4s ease;
}

.btn-outline:hover {
    background: var(--brand-blue);
    color: white;
}

/* --- Custom Scrollbar --- */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--brand-cream);
}
::-webkit-scrollbar-thumb {
    background: var(--brand-blue);
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--brand-gold);
}

/* --- Utility Animations --- */
.reveal-text {
    overflow: hidden;
    display: block;
}

.reveal-text span {
    display: block;
    transform: translateY(110%);
    transition: transform 1s var(--ease-cinematic);
}

.is-visible .reveal-text span {
    transform: translateY(0);
}

/* --- Image Hovers --- */
.img-zoom-container {
    overflow: hidden;
}
.img-zoom {
    transition: transform 1.2s var(--ease-cinematic);
}
.img-zoom-container:hover .img-zoom {
    transform: scale(1.1);
}

