:root{
    --navy-950:#050b1a;
    --navy-900:#071228;
    --navy-850:#0a1730;
    --navy-800:#0d1e3c;
    --navy-700:#122a52;
    --navy-600:#17356b;
    --blue-500:#0C408D;
    --blue-400:#1D4ED8;
    --blue-glow:#115FD4;
    --gold:#c9a869;
    --text-primary:#f3f6fc;
    --text-secondary:#b7c3dc;
    --text-muted:#7d8aab;
    --border-soft:rgba(255,255,255,0.08);
    --border-soft-2:rgba(255,255,255,0.14);
    --radius-lg:20px;
    --radius-md:14px;
    --radius-sm:8px;
    --max-w:1200px;
}

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

html{scroll-behavior:smooth;}

body{
    font-family:'Plus Jakarta Sans', sans-serif;
    background:var(--navy-950);
    color:var(--text-primary);
    line-height:1.65;
    overflow-x:hidden;
}

h1,h2,h3,h4{
    font-family:'Sora', sans-serif;
    font-weight:700;
    letter-spacing:-0.01em;
}

a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}

.container{
    max-width:var(--max-w);
    margin:0 auto;
    padding:0 24px;
}

/* Background layers */
body::before{
    content:"";
    position:fixed;
    inset:0;
    background:
        radial-gradient(circle at 15% 10%, rgba(47,95,216,0.18), transparent 45%),
        radial-gradient(circle at 85% 25%, rgba(74,123,240,0.14), transparent 40%),
        radial-gradient(circle at 50% 90%, rgba(201,168,105,0.06), transparent 50%);
    pointer-events:none;
    z-index:0;
}

.grain{
    position:fixed;
    inset:0;
    z-index:0;
    opacity:0.025;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events:none;
}

section{position:relative;z-index:1;}

/* ===== HEADER ===== */
header{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    backdrop-filter:blur(16px) saturate(140%);
    background:rgba(5,11,26,0.72);
    border-bottom:1px solid var(--border-soft);
    transition:background .3s ease;
}

.nav-wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 24px;
    max-width:var(--max-w);
    margin:0 auto;
}

.logo-slot{
    display:flex;
    align-items:center;
    gap:12px;
    height:44px;
}

.logo-placeholder{
    width:44px;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.1;
}

.brand-text .name{
    font-family:'Sora',sans-serif;
    font-weight:800;
    font-size:18px;
    letter-spacing:0.02em;
    color:var(--text-primary);
}

.brand-text .sub{
    font-size:10.5px;
    letter-spacing:0.12em;
    color:var(--gold);
    text-transform:uppercase;
    margin-top:2px;
}

nav ul{
    display:flex;
    gap:36px;
}

nav a{
    font-size:14.5px;
    font-weight:500;
    color:var(--text-secondary);
    position:relative;
    transition:color .25s ease;
}

nav a:hover{color:var(--text-primary);}

nav a::after{
    content:"";
    position:absolute;
    left:0;bottom:-6px;
    width:0;height:2px;
    background:linear-gradient(90deg,var(--blue-400),var(--gold));
    transition:width .3s ease;
}

nav a:hover::after{width:100%;}

.nav-cta{
    padding:10px 22px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--blue-500),var(--blue-400));
    font-size:14px;
    font-weight:600;
    box-shadow:0 8px 24px -8px rgba(47,95,216,0.6);
    transition:transform .25s ease, box-shadow .25s ease;
}

.nav-cta:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 30px -6px rgba(47,95,216,0.75);
}

.burger{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    background:none;
    border:none;
    padding:6px;
}
.burger span{
    width:24px;height:2px;background:var(--text-primary);border-radius:2px;
}

.mobile-menu{
    display:none;
    flex-direction:column;
    gap:4px;
    padding:8px 24px 20px;
    background:rgba(7,18,40,0.98);
    border-bottom:1px solid var(--border-soft);
}
.mobile-menu a{
    padding:12px 4px;
    font-size:15px;
    color:var(--text-secondary);
    border-bottom:1px solid var(--border-soft);
}
.mobile-menu.open{display:flex;}

/* ===== HERO ===== */
.hero{
    padding:190px 0 130px;
    position:relative;
}

.hero-inner{
    text-align:center;
    max-width:880px;
    margin:0 auto;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 18px;
    border-radius:999px;
    border:1px solid var(--border-soft-2);
    background:rgba(255,255,255,0.03);
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold);
    margin-bottom:28px;
}

.eyebrow .dot{
    width:6px;height:6px;border-radius:50%;
    background:var(--blue-400);
    box-shadow:0 0 12px 3px rgba(74,123,240,0.7);
}

.hero h1{
    font-size:clamp(38px, 6vw, 50px);
    line-height:1.25;
    background:linear-gradient(180deg,#ffffff 0%, #c9d6f0 60%, #7d8aab 130%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    margin-bottom:24px;
}

.hero p.lead{
    font-size:18px;
    color:var(--text-secondary);
    max-width:768px;
    margin:0 auto 20px;
}

.hero p.slogan{
    font-size:14.5px;
    color:var(--gold);
    letter-spacing:0.04em;
    font-weight:600;
    margin-bottom:44px;
}

.hero-cta{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

.blue {
    color:var(--blue-glow);
}

.btn-primary{
    padding:15px 34px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--blue-500),var(--blue-400));
    font-weight:600;
    font-size:15px;
    box-shadow:0 12px 32px -8px rgba(47,95,216,0.65);
    transition:transform .25s ease, box-shadow .25s ease;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 38px -6px rgba(47,95,216,0.8);}

.btn-outline{
    padding:15px 34px;
    border-radius:999px;
    border:1.5px solid var(--border-soft-2);
    font-weight:600;
    font-size:15px;
    color:var(--text-primary);
    transition:all .25s ease;
}
.btn-outline:hover{
    border-color:var(--blue-400);
    background:rgba(74,123,240,0.08);
    transform:translateY(-3px);
}

/* Stats strip */
.stats{
    margin-top:90px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--border-soft);
    border:1px solid var(--border-soft);
    border-radius:var(--radius-lg);
    overflow:hidden;
}
.stat-item{
    background:var(--navy-900);
    padding:34px 20px;
    text-align:center;
}
.stat-item .num{
    font-family:'Sora',sans-serif;
    font-size:32px;
    font-weight:800;
    background:linear-gradient(135deg,#fff,var(--blue-400));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}
.stat-item .label{
    font-size:12.5px;
    color:var(--text-muted);
    margin-top:6px;
    letter-spacing:0.03em;
}

/* ===== SECTION HEADERS ===== */
.section-head{
    text-align:center;
    max-width:700px;
    margin:0 auto 64px;
}
.section-head .eyebrow{margin-bottom:20px;}
.section-head h2{
    font-size:clamp(28px,4vw,40px);
    color:var(--text-primary);
    margin-bottom:16px;
}
.section-head p{
    color:var(--text-secondary);
    font-size:16px;
}

section.pad{padding:120px 0;}

/* ===== ABOUT ===== */
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.about-visual{
    position:relative;
    height:512px;
    border-radius:var(--radius-lg);
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}
.about-visual::before{
    font-family:'Sora',sans-serif;
    font-weight:800;
    font-size:64px;
    color:rgba(255,255,255,0.05);
    letter-spacing:0.05em;
}
.about-visual .ring{
    position:absolute;
    width:260px;height:260px;
    border:1px solid rgba(74,123,240,0.35);
    border-radius:50%;
}
.about-visual .ring.r2{width:180px;height:180px;border-color:rgba(201,168,105,0.3);}

.about-text h3{
    font-size:14px;
    color:var(--gold);
    letter-spacing:0.1em;
    text-transform:uppercase;
    margin-bottom:16px;
}
.about-text h2{
    font-size:clamp(26px,3.4vw,36px);
    margin-bottom:22px;
    line-height:1.2;
}
.about-text p{
    color:var(--text-secondary);
    margin-bottom:18px;
    font-size:15.5px;
}

/* ===== FOCUS AREAS ===== */
.focus-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.focus-card{
    padding:30px 22px;
    border-radius:var(--radius-md);
    background:linear-gradient(160deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
    border:1px solid var(--border-soft);
    transition:all .3s ease;
}
.focus-card:hover{
    border-color:rgba(74,123,240,0.5);
    transform:translateY(-6px);
    background:linear-gradient(160deg, rgba(74,123,240,0.09), rgba(255,255,255,0.01));
}
.focus-icon{
    width:44px;height:44px;
    border-radius:10px;
    background:linear-gradient(135deg,var(--blue-500),var(--blue-400));
    margin-bottom:18px;
    display:flex;align-items:center;justify-content:center;
    font-family:'Sora',sans-serif;
    font-weight:800;
    font-size:16px;
}
.focus-card h4{
    font-size:15.5px;
    color:var(--text-primary);
    line-height:1.4;
}

/* ===== SUBSIDIARIES ===== */
.sub-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
}
.sub-card{
    padding:36px 30px;
    border-radius:var(--radius-lg);
    background:linear-gradient(160deg, rgba(255,255,255,0.035), rgba(255,255,255,0.008));
    border:1px solid var(--border-soft);
    position:relative;
    overflow:hidden;
    transition:all .35s ease;
}
.sub-card::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,var(--blue-400),var(--gold));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .4s ease;
}
.sub-card:hover::before{transform:scaleX(1);}
.sub-card:hover{
    transform:translateY(-8px);
    border-color:var(--border-soft-2);
    box-shadow:0 24px 50px -20px rgba(0,0,0,0.5);
}
.sub-index{
    font-family:'Sora',sans-serif;
    font-size:13px;
    color:var(--blue-400);
    letter-spacing:0.1em;
    margin-bottom:16px;
}
.sub-card h3{
    font-size:21px;
    margin-bottom:8px;
    color:var(--text-primary);
}
.sub-card .tag{
    font-size:13px;
    color:var(--gold);
    font-weight:600;
    margin-bottom:16px;
    display:block;
}
.sub-card p{
    color:var(--text-secondary);
    font-size:14.5px;
}

.sub-grid .sub-card:nth-child(4){grid-column:1 / span 1;}
.sub-grid-wrap{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:26px;
}
.sub-grid-wrap .sub-card:nth-child(1),
.sub-grid-wrap .sub-card:nth-child(2),
.sub-grid-wrap .sub-card:nth-child(3),
.sub-grid-wrap .sub-card:nth-child(4),
.sub-grid-wrap .sub-card:nth-child(5),
.sub-grid-wrap .sub-card:nth-child(6){grid-column:span 2;}

/* ===== CONTACT ===== */
.contact-wrap{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:0;
    border-radius:var(--radius-lg);
    overflow:hidden;
    border:1px solid var(--border-soft-2);
}
.contact-left{
    padding:60px 50px;
    background:linear-gradient(160deg, var(--navy-800), var(--navy-900));
}
.contact-left h3{
    font-size:13px;
    color:var(--gold);
    letter-spacing:0.12em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.contact-left h2{
    font-size:clamp(26px,3.2vw,34px);
    margin-bottom:20px;
}
.contact-left p{
    color:var(--text-secondary);
    font-size:15.5px;
    margin-bottom:32px;
}
.contact-left .btn-primary{display:inline-block;}

.contact-right{
    padding:60px 50px;
    background:rgba(255,255,255,0.02);
}
.contact-block{margin-bottom:34px;}
.contact-block:last-child{margin-bottom:0;}
.contact-block h4{
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--blue-400);
    margin-bottom:16px;
}
.contact-block ul li{
    margin-bottom:10px;
    font-size:14.5px;
    color:var(--text-secondary);
}
.contact-block ul li a{
    color:var(--text-secondary);
    transition:color .2s ease;
}
.contact-block ul li a:hover{color:var(--blue-400);}
.contact-block .social-row{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.social-pill{
    padding:8px 16px;
    border-radius:999px;
    border:1px solid var(--border-soft-2);
    font-size:13px;
    color:var(--text-secondary);
    transition:all .2s ease;
}
.social-pill:hover{
    border-color:var(--blue-400);
    color:var(--text-primary);
    background:rgba(74,123,240,0.08);
}

/* ===== FOOTER ===== */
footer{
    padding:40px 0;
    border-top:1px solid var(--border-soft);
    text-align:center;
}
footer p{
    font-size:13.5px;
    color:var(--text-muted);
}
footer .footer-brand{
    color:var(--text-secondary);
    font-weight:600;
}

/* ===== SCROLL REVEAL ===== */
.reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s ease, transform .8s ease;
}
.reveal.in{
    opacity:1;
    transform:translateY(0);
}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
    nav ul,.nav-cta{display:none;}
    .burger{display:flex;}
    .about-grid{grid-template-columns:1fr;}
    .about-visual{display: none;}
    .focus-grid{grid-template-columns:repeat(2,1fr);}
    .sub-grid-wrap{grid-template-columns:repeat(2,1fr);}
    .sub-grid-wrap .sub-card:nth-child(n){grid-column:span 2;}
    .contact-wrap{grid-template-columns:1fr;}
    .stats{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:560px){
    .hero{padding:150px 0 80px;}
    .focus-grid{grid-template-columns:1fr;}
    .contact-left,.contact-right{padding:40px 26px;}
}