/* --- Variables & Resets --- */
:root {
    --brand-red: #9B2823; 
    --text-dark: #1A1A1A;
    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Montserrat', sans-serif;
}

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

body {
    font-family: var(--font-sans);
    color: var(--text-dark);
    -webkit-font-smoothing: antialiased;
}

/* --- Layout & Background --- */
.reconstruction-container {
    width: 100%;
    min-height: 100vh;
    background-image: url('/hero-overlay.webp'); 
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: center;
}

/* Fluid positioning based on screen height/width */
.logo-header {
    position: absolute;
    top: clamp(20px, 4vh, 60px);
    left: clamp(20px, 5vw, 100px); 
}

/* Logo scales around the original 120px */
.logo {
    width: clamp(90px, 6.2vw, 150px); 
    height: auto;
}

/* --- Content Typography & Positioning --- */
.content-wrapper {
    position: relative;
    left: clamp(20px, 8vw, 120px); 
    width: 40vw; 
    max-width: 800px;
}

.subtitle-group {
    margin-bottom: clamp(15px, 1.5vw, 25px);
}

/* Subtitle scales around the original 11px */
.subtitle {
    font-size: clamp(9px, 0.6vw, 14px);
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-dark);
}

/* Accent line scales around the original 35px */
.accent-line {
    width: clamp(25px, 1.8vw, 45px);
    height: 2px;
    background-color: var(--brand-red);
    margin-top: 8px;
}

/* Heading scales around the original 4.5rem */
.main-heading {
    font-family: var(--font-serif);
    font-size: clamp(2.5rem, 3.75vw, 5.5rem); 
    line-height: 1.1;
    font-weight: 700;
    margin-bottom: clamp(20px, 1.5vw, 30px);
}

/* Description scales around the original 14px */
.description {
    font-size: clamp(12px, 0.75vw, 18px);
    line-height: 1.6;
    margin-bottom: clamp(30px, 2.5vw, 45px); 
}

.highlight {
    color: var(--brand-red);
}

.highlight-bold {
    color: var(--brand-red);
    font-weight: 700;
}

/* --- Social Icons --- */
.social-links {
    display: flex;
    gap: clamp(15px, 1vw, 20px);
}

.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(35px, 2vw, 45px);
    height: clamp(35px, 2vw, 45px);
    border: 1px solid var(--text-dark);
    border-radius: 50%;
    color: var(--text-dark);
    text-decoration: none;
    font-size: clamp(14px, 0.8vw, 18px);
    transition: all 0.3s ease;
}

.social-links a:hover {
    border-color: var(--brand-red);
    color: var(--brand-red);
    transform: translateY(-2px);
}

/* --- Social Prompt Text --- */
.social-prompt {
    font-size: clamp(10px, 0.7vw, 13px);
    letter-spacing: 1.5px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 15px; /* Adds space between the text and the icons */
}

/* --- Mobile Responsiveness (Phones & Small Tablets) --- */
@media (max-width: 768px) {
    /* Swap out the desktop background for a mobile-specific image */
    .reconstruction-container {
        background-image: url('/hero-overlay-mobile.webp'); 
        background-position: center; 
        justify-content: center; /* Centers the entire content block horizontally */
    }

    .content-wrapper {
        width: 90vw; 
        left: 0; /* Removes the desktop left offset */
        background-color: transparent; 
        padding: 20px 0; 
        text-align: center; /* Centers the typography */
    }
    
    .accent-line {
        margin: 8px auto 0 auto; /* Centers the small red line */
    }
    
    .main-heading {
        font-size: clamp(2.5rem, 8vw, 3.5rem);
    }
    
    .description {
        font-size: 16px;
    }

    .social-links {
        justify-content: center; /* Centers the social icons */
    }
}