*{box-sizing:border-box}
:root{
    --navy:#0a184d;
    --navy-2:#152867;
    --blue:#254bc8;
    --light:#eef2f8;
    --white:#fff;
    --text:#17203a;
    --muted:#66718d
}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Helvetica,sans-serif;
    background:var(--light);
    color:var(--text)
}
a{color:inherit;text-decoration:none}
.topbar{
    height:74px;
    padding:0 clamp(20px,5vw,78px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--navy);
    color:var(--white)
}
.brand{
    font-size:25px;
    font-weight:800;
    letter-spacing:.2px
}
.topbar nav{
    display:flex;
    gap:28px;
    font-size:15px;
    font-weight:700
}
.topbar nav a{opacity:.84}
.topbar nav a:hover{opacity:1}
.hero{
    min-height:760px;
    padding:92px clamp(24px,6vw,94px);
    position:relative;
    display:flex;
    align-items:center;
    background-position:center right;
    background-size:cover;
    color:var(--white)
}
.hero-content{
    width:min(610px,100%);
    position:relative;
    z-index:1
}
.eyebrow,.section-label{
    display:inline-block;
    margin-bottom:16px;
    font-size:13px;
    font-weight:800;
    letter-spacing:1.8px;
    text-transform:uppercase
}
.eyebrow{color:#c9d7ff}
.hero h1{
    margin:0 0 22px;
    font-size:clamp(44px,5.6vw,76px);
    line-height:.99;
    letter-spacing:-2.2px
}
.hero p{
    max-width:560px;
    margin:0 0 30px;
    font-size:clamp(18px,1.8vw,21px);
    line-height:1.55;
    color:rgba(255,255,255,.9)
}
.search-box{
    width:min(620px,100%);
    display:grid;
    grid-template-columns:1fr auto;
    padding:7px;
    border-radius:14px;
    background:var(--white);
    box-shadow:0 20px 50px rgba(0,0,0,.22)
}
.search-box input{
    min-width:0;
    padding:17px 18px;
    border:0;
    outline:0;
    font-size:17px;
    color:var(--text);
    background:transparent
}
.search-box button{
    padding:0 28px;
    border:0;
    border-radius:10px;
    background:var(--blue);
    color:var(--white);
    font-size:16px;
    font-weight:800;
    cursor:pointer
}
.quick-links{
    margin-top:20px;
    display:flex;
    flex-wrap:wrap;
    gap:11px
}
.quick-links a{
    padding:10px 15px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(8px);
    font-size:14px;
    font-weight:700
}
.stats{
    width:min(1180px,calc(100% - 36px));
    margin:-48px auto 0;
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border-radius:18px;
    background:var(--white);
    box-shadow:0 20px 55px rgba(20,36,86,.14)
}
.stats article{
    padding:32px 24px;
    text-align:center;
    border-right:1px solid #e4e8f1
}
.stats article:last-child{border-right:0}
.stats strong{
    display:block;
    color:var(--navy-2);
    font-size:35px
}
.stats span{
    display:block;
    margin-top:7px;
    color:var(--muted);
    font-size:14px;
    font-weight:700
}
.intro{
    width:min(1180px,calc(100% - 36px));
    margin:88px auto;
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:70px;
    align-items:start
}
.section-label{color:var(--blue)}
.intro h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(32px,4vw,52px);
    line-height:1.06
}
.intro p{
    margin:34px 0 0;
    color:var(--muted);
    font-size:18px;
    line-height:1.75
}
footer{
    padding:28px clamp(20px,5vw,78px);
    display:flex;
    justify-content:space-between;
    background:var(--navy);
    color:rgba(255,255,255,.75);
    font-size:13px
}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
}
@media(max-width:980px){
    .hero{
        min-height:700px;
        background-position:62% center
    }
    .hero-content{width:min(560px,100%)}
}
@media(max-width:780px){
    .topbar nav{display:none}
    .hero{
        min-height:650px;
        padding-top:65px;
        background-position:72% center
    }
    .hero h1{letter-spacing:-1.4px}
    .search-box{grid-template-columns:1fr}
    .search-box button{padding:15px}
    .stats{grid-template-columns:repeat(2,1fr)}
    .stats article:nth-child(2){border-right:0}
    .stats article:nth-child(-n+2){border-bottom:1px solid #e4e8f1}
    .intro{
        grid-template-columns:1fr;
        gap:10px;
        margin-top:65px
    }
}
