:root{
    --navy:#0b1f33;
    --blue:#1261a0;
    --gold:#c9a45c;
    --ink:#10202f;
    --muted:#617181;
    --light:#f4f7fa;
    --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Inter,Arial,Helvetica,sans-serif;
    color:var(--ink);
    background:#fff;
}
a{transition:.2s ease}
.topbar{
    background:var(--navy);
    color:#dbe5ee;
    font-size:12px;
    padding:9px 5vw;
    display:flex;
    justify-content:space-between;
    gap:20px;
}
.topbar span{color:var(--gold);margin:0 4px}
.navbar{
    min-height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 5vw;
    background:#fff;
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 3px 18px rgba(7,28,45,.08);
}
.brand{
    color:var(--navy);
    text-decoration:none;
    font-weight:900;
    letter-spacing:2px;
    font-size:25px;
    line-height:1;
}
.brand small{
    display:block;
    font-size:9px;
    letter-spacing:2.8px;
    color:var(--gold);
    margin-top:5px;
}
.nav-links{display:flex;align-items:center;gap:27px}
.nav-links a{
    color:var(--ink);
    text-decoration:none;
    font-size:13px;
    font-weight:700;
}
.nav-links a:hover{color:var(--blue)}
.nav-cta{
    background:var(--blue);
    color:#fff!important;
    padding:13px 19px;
    border-radius:3px;
}
.menu-toggle{
    display:none;
    border:0;
    background:none;
    color:var(--navy);
    font-size:26px;
    cursor:pointer;
}
.hero{
    min-height:600px;
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        linear-gradient(90deg,rgba(7,26,46,.92) 0%,rgba(11,39,68,.79) 52%,rgba(11,39,68,.28) 100%),
        linear-gradient(135deg,#174c72,#101e2e);
}
.hero:after{
    content:"";
    position:absolute;
    right:-10%;
    top:0;
    width:58%;
    height:100%;
    background:
        linear-gradient(135deg,transparent 15%,rgba(201,164,92,.13) 15%,rgba(201,164,92,.13) 16%,transparent 16%),
        linear-gradient(135deg,transparent 40%,rgba(255,255,255,.06) 40%);
    transform:skewX(-12deg);
}
.hero-inner{
    width:90%;
    max-width:1200px;
    margin:auto;
    position:relative;
    z-index:2;
    color:#fff;
}
.eyebrow,.kicker{
    color:#e0c17d;
    font-size:12px;
    font-weight:800;
    letter-spacing:3px;
    text-transform:uppercase;
}
.hero h1{
    font-size:clamp(40px,6vw,76px);
    line-height:.98;
    max-width:760px;
    margin:18px 0;
}
.hero p{
    font-size:18px;
    line-height:1.7;
    max-width:650px;
    color:#d8e2eb;
}
.hero-buttons{
    display:flex;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap;
}
.btn{
    display:inline-block;
    padding:15px 23px;
    text-decoration:none;
    font-weight:800;
    border-radius:3px;
}
.btn-gold{background:var(--gold);color:#142333}
.btn-gold:hover{background:#dfbf79;transform:translateY(-2px)}
.btn-outline{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-outline:hover{background:#fff;color:var(--navy)}
.stats{
    background:#fff;
    max-width:1100px;
    margin:-48px auto 0;
    position:relative;
    z-index:4;
    box-shadow:0 15px 45px rgba(18,40,59,.1);
    display:grid;
    grid-template-columns:repeat(4,1fr);
}
.stat{
    padding:27px;
    text-align:center;
    border-right:1px solid #e6ebef;
}
.stat:last-child{border-right:0}
.stat strong{
    display:block;
    font-size:27px;
    color:var(--navy);
}
.stat span{
    font-size:11px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:1.5px;
}
.section{padding:92px 5vw}
.container{max-width:1200px;margin:auto}
.kicker{color:var(--blue);font-size:11px}
.section-title{
    font-size:clamp(30px,4vw,48px);
    line-height:1.1;
    margin:12px 0 18px;
    color:var(--navy);
}
.intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}
.intro p,.muted{
    color:var(--muted);
    line-height:1.8;
}
.feature{
    border-left:4px solid var(--gold);
    padding:12px 0 12px 24px;
    margin-top:25px;
}
.feature strong{display:block;font-size:18px;margin-bottom:4px}
.feature span{color:var(--muted)}
.section-soft{background:var(--light)}
.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:38px;
}
.card{
    background:#fff;
    border:1px solid #e4e9ee;
    padding:30px;
    min-height:190px;
    transition:.2s;
}
.card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 30px rgba(11,31,51,.08);
}
.number{
    font-size:27px;
    color:var(--gold);
    font-weight:900;
}
.card h3{margin:18px 0 10px;color:var(--navy)}
.card p{color:var(--muted);line-height:1.6;font-size:14px;margin:0}
.projects{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:18px;
    margin-top:38px;
}
.project{
    min-height:270px;
    padding:25px;
    display:flex;
    flex-direction:column;
    justify-content:end;
    color:#fff;
    background:
        linear-gradient(180deg,rgba(9,35,58,.2),rgba(9,35,58,.9)),
        linear-gradient(135deg,#47768b,#1c3347);
    position:relative;
    overflow:hidden;
}
.project:before{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    border:2px solid rgba(255,255,255,.15);
    right:-45px;
    top:-45px;
    border-radius:50%;
}
.project small{
    color:#e4c77f;
    letter-spacing:1.5px;
    text-transform:uppercase;
    font-weight:800;
}
.project h3{font-size:22px;margin:7px 0}
.project span{font-size:13px;color:#e5edf2}
.why{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}
.ticks{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    align-content:center;
}
.ticks div{
    padding:18px;
    background:#fff;
    border:1px solid #e1e7ec;
    font-weight:700;
}
.ticks div:before{
    content:"✓";
    color:var(--gold);
    margin-right:10px;
}
.contact-banner{
    background:var(--navy);
    color:#fff;
    padding:65px 5vw;
}
.contact-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}
.contact-banner .kicker{color:#e0c17d}
.contact-banner h2{
    font-size:clamp(28px,4vw,44px);
    margin:8px 0;
}
.contact-banner p{color:#b9c8d5}
.footer{
    background:#071724;
    color:#aebdca;
    padding:55px 5vw 25px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr;
    gap:50px;
}
.footer h3{color:#fff;margin-top:0}
.footer p{line-height:1.7}
.footer a{
    display:block;
    color:#aebdca;
    text-decoration:none;
    margin:10px 0;
    font-size:14px;
}
.footer a:hover{color:#fff}
.copyright{
    margin-top:35px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    font-size:12px;
}
@media(max-width:800px){
    .topbar{display:none}
    .navbar{min-height:68px}
    .menu-toggle{display:block}
    .nav-links{
        display:none;
        position:absolute;
        top:68px;
        left:0;
        right:0;
        padding:15px 6vw 20px;
        background:#fff;
        box-shadow:0 12px 25px rgba(0,0,0,.08);
        flex-direction:column;
        align-items:stretch;
        gap:0;
    }
    .nav-links.is-open{display:flex}
    .nav-links a{padding:13px 0}
    .nav-links .nav-cta{
        text-align:center;
        margin-top:5px;
    }
    .hero{min-height:560px}
    .hero-inner{width:88%}
    .hero p{font-size:16px}
    .stats{
        margin:0;
        width:100%;
        grid-template-columns:repeat(2,1fr);
    }
    .stat:nth-child(2){border-right:0}
    .stat:nth-child(-n+2){border-bottom:1px solid #e6ebef}
    .intro,.why{grid-template-columns:1fr;gap:30px}
    .cards{grid-template-columns:1fr}
    .projects{grid-template-columns:1fr}
    .section{padding:65px 6vw}
    .contact-inner{display:block}
    .contact-banner .btn{margin-top:18px}
    .footer-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:480px){
    .brand{font-size:22px}
    .brand small{font-size:8px;letter-spacing:2px}
    .hero h1{font-size:42px}
    .hero-buttons{display:block}
    .hero-buttons .btn{display:block;text-align:center;margin-bottom:10px}
    .stat{padding:22px 10px}
    .stat strong{font-size:24px}
    .section-title{font-size:34px}
    .ticks{grid-template-columns:1fr}
}
