:root{
    --navy:#061d32;
    --deep:#0e4b86;
    --blue:#287da8;
    --sky:#93b5bf;
    --orange:#ff982b;
    --paper:#f5f8fa;
    --white:#fff;
    --ink:#183247;
    --muted:#526a7b;
    --header:88px
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:100px
}
body{
    margin:0;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.65;
	font-size: 1.3em;
}
a{
    color:inherit
}
button,input,textarea{
    font:inherit
}
.container{
    width:min(1140px,calc(100% - 40px));
    margin:auto
}
.site-header{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(6,29,50,.97);
    box-shadow:0 4px 18px #061d3224;
    border-bottom:2px solid var(--orange)
}
.header-inner{
    height:var(--header);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}
.brand{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:orange;
    min-width:0
}
.brand img{
    width:116px;
    height:64px;
    object-fit:contain;
    filter:drop-shadow(0 1px 1px #0003)
}
.brand-copy{
    display:flex;
    flex-direction:column;
    line-height:1.25
}
.brand-copy strong{
    font-size:1.02rem;
    letter-spacing:.04em
}
.brand-copy small{
    font-size:.68rem;
    color:#b7d2e1;
    letter-spacing:.08em;
    text-transform:uppercase
}
.nav{
    display:flex;
    align-items:center;
    gap:28px
}
.nav a{
    text-decoration:none;
    color:#eaf3f8;
    font-weight:600;
    font-size:.92rem
}
.nav a:hover,.nav a:focus-visible{
    color:#ffb65b
}
.nav .nav-cta{
    background:var(--orange);
    color:var(--navy);
    padding:10px 18px;
    border-radius:6px
}
.nav .nav-cta:hover{
    background:#ffd38a;
    color:var(--navy)
}
.hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(118deg,#061d32 0%,#0e4b86 62%,#287da8 100%);
    color:white
}
.hero:after{
    content:"";
    position:absolute;
    width:560px;
    height:560px;
    border:1px solid #ffffff20;
    border-radius:50%;
    right:-180px;
    top:-200px;
    box-shadow:0 0 0 80px #ffffff08,0 0 0 160px #ffffff06;
    pointer-events:none
}
.hero-grid{
    min-height:520px;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    align-items:center;
    gap:30px;
    padding-block:70px
}
.eyebrow{
    color:#ffc17a;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-weight:800;
    font-size:.77rem
}
.hero h1{
    font-size:clamp(2.5rem,5.2vw,4.7rem);
    line-height:1.1;
    letter-spacing:-.04em;
    margin:18px 0 22px
}
.hero h1 span{
    color:#ffb052
}
.hero p{
    font-size:1.12rem;
    color:#d3e6ef;
    max-width:600px
}
.actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px
}
.btn{
    display:inline-block;
    text-decoration:none;
    font-weight:750;
    border-radius:6px;
    padding:12px 22px;
    transition:transform .2s,background .2s
}
.btn:hover{
    transform:translateY(-2px)
}
.btn-primary{
    background:var(--orange);
    color:var(--navy)
}
.btn-secondary{
    border:1px solid #a5c9db;
    color:white
}
/*.hero-logo{
    width:100%;
    max-width:440px;
    justify-self:center;
    filter:drop-shadow(0 20px 25px #0004);
    background:radial-gradient(ellipse,#ffffff16,transparent 80%);
    border-radius:50%
}*/
.hero-logo {
    display: block;
    width: 100%;
    max-width: 440px;
    height: auto;
    justify-self: center;
    filter: drop-shadow(0 20px 25px #0004);
    background: none;
    border-radius: 0;
}
.section{
    padding:86px 0
}
.section-heading{
    max-width:760px;
    margin-bottom:36px
}
.section-heading h2{
    font-size:clamp(1.9rem,3.2vw,2.8rem);
    line-height:1.2;
    margin:8px 0 14px;
    color:var(--navy)
}
.section-heading p{
    color:var(--muted);
    font-size:1.05rem
}
.section-kicker{
    color:#bc5915;
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.76rem;
    font-weight:800
}
.company-layout{
    display:grid;
    grid-template-columns:1.3fr .7fr;
    gap:55px;
    align-items:center
}
.company-layout p{
    color:var(--muted)
}
.accent-panel{
    background:white;
    border-left:5px solid var(--orange);
    padding:28px;
    box-shadow:0 12px 40px #0e4b8612;
    border-radius:0 10px 10px 0
}
.accent-panel strong{
    font-size:1.35rem;
    color:var(--deep)
}
.services{
    background:#eaf1f5
}
.cards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px
}
.service-card{
    background:white;
    padding:30px;
    border-radius:10px;
    border-top:4px solid var(--deep);
    box-shadow:0 10px 28px #061d320b
}
.service-card:nth-child(2){
    border-top-color:var(--orange)
}
.service-card h3{
    font-size:1.25rem;
    color:var(--navy);
    margin:12px 0
}
.service-card p{
    color:var(--muted);
    margin-bottom:0
}
.card-number{
    font-size:.85rem;
    color:#b45c1b;
    font-weight:850;
    letter-spacing:.08em
}
.contact{
    background:var(--navy);
    color:white
}
.contact .section-heading h2{
    color:white
}
.contact .section-heading p{
    color:#c5d7e2
}
.contact-layout{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px
}
.contact-note{
    color:#c5d7e2;
    max-width:410px
}
.contact-form{
    display:grid;
    gap:13px
}
.contact-form label{
    font-weight:600;
    font-size:.88rem
}
.contact-form input,.contact-form textarea{
    width:100%;
    border:1px solid #87a5b9;
    background:#fff;
    color:var(--navy);
    padding:12px;
    border-radius:5px
}
.contact-form textarea{
    min-height:125px;
    resize:vertical
}
.contact-form button{
    border:0;
    cursor:pointer;
    justify-self:start
}
.form-note{
    font-size:.8rem;
    color:#b6ccda
}
.site-footer{
    position:sticky;
    bottom:0;
    z-index:10;
    background:#041625;
    color:#c0d0dc;
    border-top:2px solid var(--orange);
    font-size:.78rem
}
.footer-inner{
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.footer-inner a{
    text-decoration:none;
    color:#d8e7f0
}
.footer-inner a:hover{
    color:var(--orange)
}
@media(max-width:760px){
    :root{
        --header:58px
    }
    html{
        scroll-padding-top:66px
    }
    .container{
        width:min(100% - 28px,1140px)
    }
    .header-inner{
        gap:8px
    }
    .brand{
        gap:5px
    }
    .brand img{
        width:66px;
        height:46px
    }
    .brand-copy strong{
        font-size:.73rem
    }
    .brand-copy small{
        font-size:.51rem;
        letter-spacing:0
    }
    .nav{
        gap:12px
    }
    .nav a{
        font-size:.76rem
    }
    .nav .nav-cta{
        padding:7px 9px
    }
    .hero-grid{
        grid-template-columns:1fr;
        min-height:0;
        padding-block:65px 48px;
        gap:20px
    }
    .hero-logo{
        max-width:260px;
        grid-row:1;
        max-height:150px
    }
    .hero h1{
        font-size:clamp(2.25rem,9vw,3.5rem)
    }
    .hero p{
        font-size:1rem
    }
    .section{
        padding:62px 0
    }
    .company-layout,.contact-layout{
        grid-template-columns:1fr;
        gap:24px
    }
    .cards{
        grid-template-columns:1fr
    }
    .service-card{
        padding:24px
    }
    .footer-inner{
        min-height:44px;
        font-size:.67rem
    }
}
@media(max-width:390px){
    .brand-copy small{
        display:none
    }
    .nav{
        gap:8px
    }
    .nav a{
        font-size:.7rem
    }
    .brand img{
        width:54px
    }
    .brand-copy strong{
        font-size:.68rem
    }
    .nav .nav-cta{
        padding:6px 7px
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    .btn{
        transition:none
    }
}
 