
:root{
    --ims-green:#79d900;
    --ims-green-bright:#a0f326;
    --ims-black:#020403;
    --ims-muted:#c0cac3;
    --ims-border:rgba(121,217,0,.24);
    --content-width:1400px;
    --ims-custom-background:none;
}
*{box-sizing:border-box}
html{background:var(--ims-black)}
body{
    margin:0;
    min-height:100vh;
    background:var(--ims-black);
    color:#fff;
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.site-shell{min-height:100vh}
.site-header{
    min-height:122px;
    display:flex;
    align-items:center;
    border-bottom:1px solid rgba(121,217,0,.17);
    background:#020403;
}
.header-inner{
    width:min(calc(100% - 56px),var(--content-width));
    margin:auto;
}
.default-logo img,.custom-logo{
    display:block;
    max-width:min(370px,78vw);
    max-height:88px;
    width:auto;
}
.about-hero{
    min-height:690px;
    position:relative;
    overflow:hidden;
    display:grid;
    align-items:center;
}
.hero-background{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(2,4,3,.985) 0%,rgba(2,4,3,.94) 41%,rgba(2,4,3,.68) 67%,rgba(2,4,3,.35) 100%),
        var(--ims-custom-background),
        url("../images/technical-background.svg");
    background-size:cover;
    background-position:center;
}
.hero-background:after{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(180deg,rgba(2,4,3,.06),rgba(2,4,3,.65)),
        radial-gradient(circle at 78% 30%,rgba(0,170,190,.07),transparent 28%);
}
.hero-grid{
    position:absolute;
    inset:0;
    opacity:.11;
    background-image:
        linear-gradient(rgba(121,217,0,.15) 1px,transparent 1px),
        linear-gradient(90deg,rgba(121,217,0,.15) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(90deg,#000,transparent 68%);
}
.hero-inner{
    width:min(calc(100% - 56px),var(--content-width));
    margin:auto;
    padding:80px 0 92px;
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.45fr);
    gap:82px;
    align-items:end;
}
.about-panel{max-width:900px}
.eyebrow{
    margin:0 0 24px;
    color:var(--ims-green);
    font-size:14px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.about-panel h1{
    margin:0;
    max-width:930px;
    font-size:clamp(50px,5.4vw,84px);
    line-height:.97;
    letter-spacing:-.052em;
}
.accent-line{
    display:block;
    width:48px;
    height:2px;
    margin:31px 0 25px;
    background:var(--ims-green);
}
.about-copy{max-width:790px}
.about-copy p{
    margin:0 0 16px;
    color:#e0e6e2;
    font-size:clamp(17px,1.42vw,21px);
    line-height:1.66;
}
.about-copy p+p{color:var(--ims-muted)}
.experience{
    margin-top:29px;
    padding:20px 0;
    max-width:790px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:20px;
    align-items:center;
    border-top:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
}
.experience-number{
    color:var(--ims-green);
    font-size:36px;
    font-weight:800;
    letter-spacing:-.04em;
}
.experience-copy{
    max-width:550px;
    color:#eef2ef;
    font-size:14px;
    line-height:1.5;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.contact-button{
    min-height:58px;
    width:fit-content;
    margin-top:30px;
    padding:0 24px;
    display:inline-flex;
    align-items:center;
    gap:14px;
    border-radius:4px;
    background:var(--ims-green);
    color:#071006;
    text-decoration:none;
    font-size:14px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    transition:transform .2s ease,background .2s ease;
}
.contact-button:hover{
    transform:translateY(-2px);
    background:var(--ims-green-bright);
}
.contact-button svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
}
.capability-panel{
    padding:26px;
    border:1px solid var(--ims-border);
    border-radius:7px;
    background:rgba(5,10,6,.78);
    backdrop-filter:blur(14px);
    box-shadow:0 24px 70px rgba(0,0,0,.25);
}
.capability-panel>p{
    margin:0 0 20px;
    color:var(--ims-green);
    font-size:12px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.capability-panel ul{
    list-style:none;
    margin:0;
    padding:0;
}
.capability-panel li{
    padding:12px 0;
    display:flex;
    align-items:center;
    gap:12px;
    border-top:1px solid rgba(255,255,255,.07);
    color:#d8dfda;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.035em;
}
.capability-panel li span{
    width:7px;
    height:7px;
    flex:0 0 7px;
    border-radius:50%;
    background:var(--ims-green);
    box-shadow:0 0 10px rgba(121,217,0,.55);
}
.site-footer{
    padding:29px 0 25px;
    border-top:1px solid rgba(255,255,255,.06);
}
.footer-inner{
    width:min(calc(100% - 56px),var(--content-width));
    margin:auto;
    display:flex;
    justify-content:space-between;
    gap:30px;
    color:#6f7972;
    font-size:11px;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.content-page{min-height:65vh;padding:70px 24px}
.content-inner{width:min(100%,900px);margin:auto}
.content-page h1{font-size:clamp(42px,6vw,72px)}
.content-page p{color:var(--ims-muted);font-size:18px;line-height:1.7}

@media(max-width:980px){
    .hero-inner{grid-template-columns:1fr;gap:38px}
    .capability-panel{max-width:620px}
}
@media(max-width:700px){
    .site-header{min-height:102px}
    .header-inner,.hero-inner,.footer-inner{
        width:min(calc(100% - 30px),var(--content-width));
    }
    .about-hero{min-height:auto}
    .hero-inner{padding:58px 0 72px}
    .about-panel h1{font-size:clamp(44px,12.5vw,64px)}
    .experience{
        grid-template-columns:1fr;
        gap:5px;
    }
    .contact-button{width:100%;justify-content:center}
    .capability-panel{display:block}
    .footer-inner{flex-direction:column}
}
