/**
 * REALAiID BUREAU - SOVEREIGN FRAMEWORK v2.6 (MASTER STABILIZATION)
 * MASTER CSS FOR PHL-01 MAINFRAME & 39-BRIDGE PERIMETER
 */

:root {
    --phl-blue: #1693E9;
    --phl-dark: #05080F;
    --penn-navy: #001E44;
    --bureau-gold: #b8860b;
    --lex-gold: #FFD700;
    --satoshi-orange: #F7931A;
    --doge-gold: #C2A633;
    --medical-teal: #18B494;
    --emergency-red: #ff4444;
    --border-frame: 15px;
    --transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

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

body { 
    font-family: 'Inter', sans-serif; 
    background-color: #ffffff; 
    color: var(--phl-dark); 
    line-height: 1.7; 
    padding: var(--border-frame); 
    position: relative; 
    overflow-x: hidden; 
}

/* --- THE INSTITUTIONAL FRAME --- */
body::before { 
    content: ""; 
    position: fixed; 
    inset: 0; 
    border: var(--border-frame) solid #111; 
    pointer-events: none; 
    z-index: 10000; 
}

/* --- 3D CANVAS GLOBAL STABILIZATION --- */
.three-canvas-container, #hero-canvas {
    position: fixed;
    top: 0; left: 0;
    width: 100vw; height: 100vh;
    z-index: -1; 
    pointer-events: none; 
    opacity: 0.15;
}

/* --- MASTER NAVIGATION --- */
header { 
    background: rgba(255, 255, 255, 0.98); 
    backdrop-filter: blur(15px); 
    border-bottom: 1px solid rgba(226, 232, 240, 0.8); 
    position: sticky; 
    top: var(--border-frame); 
    z-index: 9000; 
    padding: 20px 5%; 
}

.logo-area img { height: 95px; width: auto; transition: var(--transition); }

nav a { 
    text-decoration: none; 
    color: var(--phl-dark); 
    font-weight: 700; 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    letter-spacing: 1.5px; 
    margin-left: 30px; 
    transition: var(--transition); 
}

nav a:hover { color: var(--phl-blue); }

.nav-cta { 
    background: var(--phl-blue); 
    color: white !important; 
    padding: 14px 28px; 
    border-radius: 2px; 
    font-weight: 800; 
    text-transform: uppercase; 
    font-size: 11px; 
}

/* --- HERO SPINDLE --- */
.hero-spindle { position: relative; z-index: 10; }

/* --- PRODUCT GRID --- */
.product-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); 
    gap: 20px; 
    width: 100%; 
    max-width: 1800px; 
    margin: 0 auto; 
    position: relative; 
    z-index: 20; 
}

.product-tile { 
    background: #fff; 
    border: 1px solid #f1f5f9; 
    padding: 35px; 
    display: flex; 
    flex-direction: column; 
    transition: var(--transition); 
    text-decoration: none; 
    min-height: 400px; 
}

.product-tile:hover { 
    transform: translateY(-12px); 
    box-shadow: 0 40px 80px rgba(0,0,0,0.06); 
    border-color: var(--phl-blue); 
}

/* --- 39-BRIDGE MATRIX --- */
.radar-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
    gap: 15px; 
    width: 100%; 
    max-width: 1400px; 
    margin: 0 auto; 
    position: relative; 
    z-index: 20;
}

.bridge-button { 
    background: rgba(255,255,255,0.03); 
    border: 1px solid rgba(255,255,255,0.08); 
    padding: 20px; 
    display: flex; 
    align-items: center; 
    gap: 15px; 
    color: #fff; 
    text-decoration: none; 
    transition: all 0.4s ease; 
}

.bridge-button:hover { 
    background: rgba(22, 147, 233, 0.1); 
    border-color: var(--phl-blue); 
    transform: translateY(-5px); 
}

.bridge-icon { font-size: 24px; color: var(--phl-blue); }
.bridge-label { font-size: 13px; font-weight: 700; text-transform: uppercase; }

/* --- FOOTER --- */
footer { 
    background: var(--phl-dark); 
    color: #64748B; 
    padding: 120px 10% 50px; 
    border-top: 4px solid var(--phl-blue); 
    position: relative; 
    z-index: 20; 
}

.footer-col h4 { 
    color: #fff; 
    font-size: 0.75rem; 
    text-transform: uppercase; 
    margin-bottom: 30px; 
    letter-spacing: 3px; 
    font-weight: 900; 
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) { .product-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) { 
    .product-grid { grid-template-columns: 1fr; } 
    .radar-grid { grid-template-columns: 1fr; } 
}