:root{
    --bg:#050913;
    --panel:#0c1324;
    --card:#111a30;
    --accent:#ff7d5c;
    --accent-soft:#ffc857;
    --text:#f5f7ff;
    --muted:#a0accf;
    --line:rgba(255,255,255,0.08);
    --radius:18px;
    font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
}
*,
*::before,
*::after{box-sizing:border-box;}
body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
}
a{color:var(--accent);text-decoration:none;}
img{max-width:100%;display:block;height:auto;}

.site-header{
    position:sticky;
    top:0;
    z-index:999;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:1.2rem clamp(1rem,4vw,3rem);
    background:rgba(5,9,19,0.92);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line);
}
.logo-link{
    font-weight:700;
    letter-spacing:.08em;
    color:var(--text);
}
.main-nav{
    display:flex;
    gap:1rem;
}
.main-nav a{
    font-size:.9rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--muted);
}
.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.85rem 1.6rem;
    border-radius:999px;
    font-weight:600;
    transition:transform .2s ease,background .2s ease;
    border:none;
    cursor:pointer;
}
.btn.primary{background:var(--accent);color:#141414;}
.btn.secondary{background:rgba(255,255,255,0.08);color:var(--text);border:1px solid var(--line);}
.btn.tertiary{background:transparent;border:1px solid var(--accent);color:var(--text);}
.btn:hover{transform:translateY(-2px);}
.burger{
    display:none;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    background:none;
    border:none;
    width:36px;
    height:36px;
    padding:0;
    z-index:1100;
}
.burger span{
    width:26px;height:2px;
    background:var(--text);
    transition:.35s ease;
    display:block;
}
.burger.active span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}
.burger.active span:nth-child(2){
    opacity:0;
}
.burger.active span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

main{
    padding:0 clamp(1rem,4vw,4rem) 4rem;
    display:flex;
    flex-direction:column;
    gap:4rem;
}
.hero{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2.5rem;
    padding:4rem 0 2rem;
}
.eyebrow{
    text-transform:uppercase;
    letter-spacing:.1em;
    color:var(--accent-soft);
    font-size:.8rem;
    margin:0 0 .5rem;
}
.hero h1{
    font-size:clamp(2.2rem,4vw,3.4rem);
    line-height:1.1;
}
.lede{color:var(--muted);}
.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0;}
.hero-metrics{
    list-style:none;
    padding:0;
    display:grid;
    gap:1rem;
}
.hero-metrics li{
    padding:1rem;
    background:var(--panel);
    border-radius:var(--radius);
    border:1px solid var(--line);
}
.hero-metrics span{
    font-size:2rem;
    font-weight:700;
    display:block;
    color:var(--accent);
}
cite{display:block;font-size:.75rem;color:var(--muted);}
.hero-visual{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}
.hero-image{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
}
.hero-slider{
    position:relative;
    padding:1.5rem;
    background:var(--panel);
    border-radius:var(--radius);
}
.slides{
    min-height:130px;
}
.slide{display:none;}
.slide.active{display:block;}
.slider-control{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    background:rgba(255,255,255,0.08);
    border:none;
    color:var(--text);
    width:32px;
    height:32px;
    border-radius:50%;
    cursor:pointer;
}
.slider-control.prev{left:12px;}
.slider-control.next{right:12px;}

.panel-grid .grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.5rem;
}
.panel-grid article{
    background:var(--panel);
    padding:1.5rem;
    border-radius:var(--radius);
    border:1px solid var(--line);
}
.panel-grid ul{padding-left:1rem;color:var(--muted);}

.dual-block{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2rem;
    align-items:center;
}
.toggle-tabs{
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    margin:1rem 0;
}
.tab{
    border:1px solid var(--line);
    background:transparent;
    color:var(--text);
    padding:.6rem 1rem;
    border-radius:999px;
    cursor:pointer;
}
.tab.active{background:var(--accent);color:#141414;}
.tab-panel{display:none;background:var(--panel);padding:1rem;border-radius:var(--radius);border:1px solid var(--line);}
.tab-panel.active{display:block;}
.media-stack figure{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    margin:0 0 1rem;
}
.stat-card{
    padding:1rem;
    background:var(--card);
    border-radius:var(--radius);
    border:1px dashed var(--accent-soft);
}

.gallery{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1.3rem;
}
.gallery figure{
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
    position:relative;
    min-height:220px;
}
.gallery figure img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.gallery figcaption{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    padding:1rem;
    background:linear-gradient(180deg,transparent,rgba(0,0,0,0.7));
    font-size:.9rem;
}

.page-hero{
    margin:2rem 0;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
}
.page-hero img{
    width:100%;
    display:block;
    height:auto;
}

.timeline ol{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.2rem;
    counter-reset:steps;
    list-style:none;
    padding:0;
}
.timeline li{
    padding:1.2rem;
    background:var(--panel);
    border-radius:var(--radius);
    border:1px solid var(--line);
    position:relative;
}
.timeline li::before{
    counter-increment:steps;
    content:counter(steps);
    position:absolute;
    top:-14px;
    left:16px;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--accent);
    color:#111;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.industry-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:1.2rem;
}
.industry-grid article{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.3rem;
    background:var(--card);
}

.process-wrap{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:1rem;
}
.process-card{
    padding:1.5rem;
    border-radius:var(--radius);
    background:linear-gradient(135deg,#151f38,#0a0f1f 70%);
    border:1px solid rgba(255,255,255,0.12);
}
.marquee{
    margin-top:1.5rem;
    padding:1rem;
    border-radius:var(--radius);
    border:1px dashed var(--accent-soft);
    text-transform:uppercase;
    letter-spacing:.2em;
    font-size:.8rem;
    color:var(--muted);
}

.security{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2rem;
    padding:2.5rem;
    border-radius:var(--radius);
    background:#07101f;
    border:1px solid var(--line);
}
.security-panel{
    background:var(--panel);
    border-radius:var(--radius);
    padding:1.5rem;
    border:1px solid var(--accent-soft);
}

.accordion article{
    border-bottom:1px solid var(--line);
}
.accordion button{
    width:100%;
    background:none;
    border:none;
    text-align:left;
    color:var(--text);
    padding:1rem 0;
    font-size:1rem;
    cursor:pointer;
}
.accordion .panel{
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    color:var(--muted);
}
.accordion .panel.open{padding-bottom:1rem;}

.contact{
    padding:3rem 0;
}
.contact-wrap{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2rem;
}
.contact-form{
    display:flex;
    flex-direction:column;
    gap:1rem;
    padding:1.5rem;
    border-radius:var(--radius);
    background:var(--panel);
    border:1px solid var(--line);
}
.contact-form input,
.contact-form textarea{
    width:100%;
    padding:.9rem;
    border-radius:12px;
    border:1px solid rgba(255,255,255,0.1);
    background:#01040b;
    color:var(--text);
}
.contact-info{
    border-radius:var(--radius);
    padding:1.5rem;
    background:var(--card);
    border:1px solid var(--line);
}
.note{color:var(--muted);font-size:.9rem;}
.form-footnote{font-size:.8rem;color:var(--muted);}

.site-footer{
    background:#030711;
    padding:3rem clamp(1rem,4vw,3rem);
    border-top:1px solid var(--line);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2rem;
}
.footer-columns{
    width:100%;
    max-width:1100px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:2rem 3rem;
}
.footer-columns > div{
    flex:1 1 240px;
    max-width:320px;
    text-align:left;
}
.site-footer h4{margin-bottom:.6rem;}
.site-footer ul{
    list-style:none;
    padding:0;
    margin:0;
}
.site-footer ul li{
    margin:.2rem 0;
}
.footer-meta{
    width:100%;
    max-width:1100px;
    border-top:1px solid var(--line);
    padding-top:1rem;
    color:var(--muted);
    text-align:center;
}

.cookie-banner{
    position:fixed;
    bottom:1rem;
    right:1rem;
    left:1rem;
    padding:1rem;
    border-radius:var(--radius);
    background:#111a30;
    border:1px solid var(--accent);
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    align-items:center;
    justify-content:space-between;
    box-shadow:0 10px 25px rgba(0,0,0,0.4);
}
.cookie-banner.hidden{display:none;}

@media (max-width:960px){
    .main-nav{
        position:fixed;
        inset:0 0 auto;
        background:#050913;
        flex-direction:column;
        padding:5rem 2rem 2rem;
        transform:translateY(-120%);
        transition:transform .3s ease;
        z-index:1000;
    }
    .main-nav.open{transform:translateY(0);}
    .burger{display:flex;}
    .ghosty{display:none;}
    .site-header{flex-wrap:wrap;}
}
@media (max-width:600px){
    .hero-cta{flex-direction:column;}
    .cookie-banner{flex-direction:column;align-items:flex-start;}
}


