/* --- Luxury Dark Elite Institutional Aesthetics --- */

:root {
    --bg-black: #000000;
    --text-primary: #f5f5f4; /* Stone 100 */
    --text-muted: #78716c; /* Stone 500 */
    --accent-glow: rgba(255, 255, 255, 0.04);
}

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

body {
    background-color: var(--bg-black);
    color: var(--text-primary);
    min-height: 100vh;
    width: 100%;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "ss01", "ss02", "cv01";
}

/* Atmospheric Visual Depth */
#lighting-layer {
    position: fixed;
    inset: 0;
    z-index: 0;
    background: 
        radial-gradient(circle at 15% 15%, var(--accent-glow) 0%, transparent 40%),
        radial-gradient(circle at 85% 85%, rgba(255, 255, 255, 0.02) 0%, transparent 30%);
    pointer-events: none;
}

/* Typography Harmony */
h1 {
    font-weight: 100;
    letter-spacing: -0.06em;
    filter: blur(0.4px); /* Very subtle high-end organic feel */
}

.institutional-label {
    letter-spacing: 0.8em;
    font-weight: 600;
    color: var(--text-muted);
}

p {
    font-weight: 300;
    line-height: 1.7;
}

/* Refined Borders */
.border-accent {
    border-color: rgba(255, 255, 255, 0.08);
}

/* Custom Scroll for Mobile Usability */
@media (max-width: 768px) {
    main {
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
        height: auto !important;
        min-height: 100vh !important;
        justify-content: flex-start !important;
    }

    header {
        margin-bottom: 3rem !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        border-bottom-width: 1px !important;
        padding-bottom: 1.5rem !important;
    }

    h1 {
        font-size: 3rem !important;
        line-height: 1 !important;
        margin-bottom: 0.5rem !important;
    }

    .institutional-label {
        letter-spacing: 0.4em !important;
    }

    .grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 4rem !important;
    }

    article p {
        font-size: 1.25rem !important;
    }

    article div p {
        font-size: 1rem !important;
    }

    a[href^="tel"] {
        font-size: 1.75rem !important;
    }
}

/* Animation Targets */
.reveal-item {
    opacity: 0;
}
