/* G1 GLOBAL SYSTEMS | PRODUCTION V10.1 - PARTICLE & GLASS RESTORATION */

:root { 
    --g1-black: #000000;
    --g1-blue: #2563eb;
    --header-height: 70px; 
}

/* 1. CORE RESET: Transparent Body for Particles */
html {
    background-color: #ffffff; 
    margin: 0;
    padding: 0;
}

body { 
    background-color: transparent !important; 
    color: var(--g1-black); 
    font-family: 'Inter', sans-serif; 
    margin: 0; 
    padding: 0;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden !important; 
    width: 100% !important;
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

*, *:before, *:after {
    box-sizing: inherit;
}

/* THE ENGINE: Particle Canvas Layer */
#tsparticles {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    z-index: -1 !important; 
    pointer-events: none !important;
}

/* 2. SYNCHRONIZED GLASS PANELS (FULL WIDTH) */
.sticky.top-0, 
footer {
    width: 100% !important; 
    max-width: none !important;
    left: 0 !important;
    right: 0 !important;
    
    /* Institutional Glass: 80% opacity allows particles to ghost through */
    background: rgba(255, 255, 255, 0.8) !important; 
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;

    border-top: 1px solid rgba(226, 232, 240, 0.4) !important;
    border-bottom: 1px solid rgba(226, 232, 240, 0.4) !important;
    box-shadow: 0 8px 25px -12px rgba(37, 99, 235, 0.15) !important;
}

.sticky.top-0 {
    position: fixed !important;
    top: 0;
    height: var(--header-height) !important;
    display: flex;
    align-items: center;
    z-index: 1000;
}

footer {
    position: fixed !important; /* Keep it pinned to the bottom */
    bottom: 0 !important;
    z-index: 90 !important;
    padding: 1.5rem 0 !important;
}

/* 3. UNIVERSAL CONTAINER LOGIC - WITH VERTICAL OFFSET */
main {
    width: 100% !important;
    max-width: 1100px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    
    /* THE FIX: Offsets content so it starts AFTER the 70px header */
    padding-top: var(--header-height) !important; 
    
    /* Adds extra breathing room so the H1 isn't touching the glass */
    margin-top: 2rem !important; 
}

/* Ensure the footer doesn't overlap the bottom of the content */
main {
    padding-bottom: 100px !important;
}

/* 4. TYPOGRAPHY */
article p, main p, .text-xl, .leading-relaxed, .text-slate-800 {
    font-size: 1.2rem !important; 
    font-weight: 300 !important;   
    line-height: 1.5 !important;
    margin-bottom: 2.5rem !important;
    background: transparent !important;
}

.hero-header { 
    font-size: clamp(2.2rem, 10vw, 5.5rem) !important; 
    font-weight: 900 !important; 
    line-height: 0.95 !important;
    margin-bottom: 2rem !important;
}

h2 {
    font-size: clamp(1.8rem, 6vw, 2.2rem) !important;
    font-weight: 900 !important;
    border-bottom: 6px solid var(--g1-black) !important;
    padding-bottom: 0.75rem !important;
    margin-top: 5rem !important;
}

/* 5. FORMS & MOBILE MENU */
#mobile-menu { 
    z-index: 2000 !important; 
    padding: 0 2% !important;
}

.menu-open { 
    opacity: 1 !important; 
    transform: translateY(0) scale(1) !important; 
    pointer-events: auto !important; 
}

/* 6. RECAPTCHA REPAIR */
@media (max-width: 360px) {
    .g-recaptcha > div {
        transform: scale(0.75);
        transform-origin: 0 0;
    }
    .g-recaptcha { height: 58px !important; margin-bottom: 2rem !important; }
}

