:root{
    --orange:#ff6b21;
    --orange2:#ff9a3d;
    --ink:#101214;
    --graphite:#191d20;
    --soft:#f3f1ed;
    --muted:#70777b;
    --line:#d9d9d4;
    --white:#fff;
    --max:1240px
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:76px
}
body{
    margin:0;
    color:var(--ink);
    background:#fff;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
    line-height:1.6
}
a{
    color:inherit;
    text-decoration:none
}
img{
    max-width:100%;
    display:block
}
.skip{
    position:fixed;
    z-index:9999;
    left:12px;
    top:-60px;
    background:#fff;
    padding:12px 18px
}
.skip:focus{
    top:12px
}
.sr-only{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
}
.topbar{
    height:76px;
    position:fixed;
    z-index:1000;
    inset:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 max(28px,calc((100vw - var(--max))/2));
    color:#fff;
    border-bottom:1px solid #ffffff2b;
    transition:.3s
}
.topbar.scrolled{
    background:#101214f2;
    backdrop-filter:blur(16px);
    box-shadow:0 8px 30px #0003
}
.brand{
    display:flex;
    align-items:center;
    gap:12px;
    text-transform:uppercase;
    font-size:10px;
    letter-spacing:.16em
}
.brand-mark{
    font-weight:900;
    font-size:27px;
    letter-spacing:-.08em;
    border-right:3px solid var(--orange);
    padding-right:12px
}
nav{
    display:flex;
    align-items:center;
    gap:24px;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:700
}
nav a:not(.nav-cta){
    position:relative
}
nav a:not(.nav-cta)::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-8px;
    height:2px;
    background:var(--orange);
    transition:.25s
}
nav a:hover::after,nav a:focus-visible::after{
    right:0
}
.nav-cta{
    padding:11px 18px;
    background:var(--orange);
    border-radius:2px
}
.menu-toggle{
    display:none;
    background:none;
    border:0
}
.hero{
    min-height:100svh;
    position:relative;
    color:#fff;
    display:grid;
    align-items:center;
    overflow:hidden
}
.hero-img,.hero-shade{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.hero-img{
    animation:heroZoom 16s ease-out both
}
.hero-shade{
    background:linear-gradient(90deg,#05090dd9 0%,#0710179e 40%,#0710173d 68%,#07101785 100%),linear-gradient(0deg,#07090dbf 0%,transparent 46%)
}
@keyframes heroZoom{
    from{
        transform:scale(1.04)
    }
    to{
        transform:scale(1)
    }
}
.hero-content{
    position:relative;
    z-index:2;
    width:min(740px,90vw);
    margin-left:max(28px,calc((100vw - var(--max))/2));
    padding-top:80px
}
.eyebrow,.kicker{
    color:var(--orange);
    font-size:12px;
    letter-spacing:.18em;
    text-transform:uppercase;
    font-weight:800
}
.hero-logo{
    font-size:clamp(64px,9vw,118px);
    line-height:.8;
    font-weight:950;
    letter-spacing:-.09em;
    margin-top:28px
}
.hero-subbrand{
    text-transform:uppercase;
    letter-spacing:.4em;
    font-size:12px;
    margin:18px 0 36px
}
.hero h1{
    font-size:clamp(42px,5vw,74px);
    line-height:1.02;
    letter-spacing:-.055em;
    margin:0;
    max-width:800px
}
.hero h1 em{
    font-style:normal;
    color:var(--orange2)
}
.hero-content>p:last-of-type{
    max-width:570px;
    font-size:18px;
    color:#e3e7e8
}
.actions{
    display:flex;
    gap:12px;
    margin-top:30px
}
.btn{
    padding:15px 22px;
    border:1px solid #ffffff6b;
    text-transform:uppercase;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    transition:.25s
}
.btn.primary{
    background:var(--orange);
    border-color:var(--orange)
}
.btn:hover{
    transform:translateY(-2px);
    background:#fff;
    color:#111
}
.hero-rail{
    position:absolute;
    z-index:2;
    right:max(28px,calc((100vw - var(--max))/2));
    bottom:9%;
    display:flex;
    align-items:center;
    gap:14px;
    font-size:11px;
    letter-spacing:.12em
}
.hero-rail i{
    width:60px;
    height:1px;
    background:#ffffff88
}
.hero-rail b{
    color:var(--orange)
}
.scroll-hint{
    position:absolute;
    z-index:2;
    left:50%;
    bottom:28px;
    transform:translateX(-50%);
    display:flex;
    flex-direction:column;
    align-items:center;
    text-transform:uppercase;
    font-size:9px;
    letter-spacing:.2em
}
.scroll-hint i{
    width:1px;
    height:38px;
    background:linear-gradient(#fff,transparent);
    margin-top:8px
}
.section{
    padding:120px 24px
}
.wrap{
    width:min(var(--max),100%);
    margin:auto
}
.section-heading{
    max-width:760px
}
.section-heading h2,.contact-panel h2{
    font-size:clamp(38px,5vw,68px);
    line-height:1.05;
    letter-spacing:-.05em;
    margin:16px 0 20px
}
.section-heading>p{
    color:var(--muted);
    font-size:18px
}
.grid-intro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px
}
.intro-copy{
    font-size:18px;
    color:#353b3e
}
.stat-row{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-block:1px solid var(--line)
}
.stat-row article{
    padding:32px;
    border-right:1px solid var(--line)
}
.stat-row article:last-child{
    border:0
}
.stat-row strong{
    display:block;
    font-size:38px;
    color:var(--orange);
    letter-spacing:-.04em
}
.stat-row span{
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.1em
}
.image-panel{
    grid-column:1/-1;
    margin:16px 0 0;
    height:520px;
    position:relative;
    overflow:hidden
}
.image-panel img{
    width:50%;
    height:100%;
    object-fit:cover
}
.image-panel figcaption{
    position:absolute;
    left:0;
    bottom:0;
    background:#111e;
    color:#fff;
    padding:25px 32px;
    display:flex;
    flex-direction:column
}
.image-panel figcaption span{
    font-size:11px;
    text-transform:uppercase;
    color:var(--orange);
    letter-spacing:.15em
}
.history{
    background:var(--soft)
}
.timeline{
    margin-top:70px;
    position:relative
}
.timeline::before{
    content:"";
    position:absolute;
    left:99px;
    top:0;
    bottom:0;
    width:1px;
    background:#bbb
}
.timeline article{
    display:grid;
    grid-template-columns:100px 1fr;
    gap:50px;
    padding:0 0 60px;
    position:relative
}
.timeline article::after{
    content:"";
    position:absolute;
    left:94px;
    top:18px;
    width:11px;
    height:11px;
    border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 0 7px var(--soft)
}
.year{
    font-weight:900;
    color:var(--orange);
    font-size:22px
}
.timeline h3{
    font-size:27px;
    margin:0 0 8px
}
.timeline p{
    margin:0;
    max-width:710px;
    color:#5b6164
}
.integration{
    display:grid;
    grid-template-columns:1fr 1fr;
    position:relative;
    background:#111;
    color:#fff;
    min-height:750px
}
.split{
    padding:120px max(7vw,50px);
    position:relative;
    overflow:hidden
}
.split::before{
    content:"";
    position:absolute;
    inset:0;
    opacity:.13;
    background-image:radial-gradient(#fff 1px,transparent 1px);
    background-size:18px 18px
}
.split-left{
    background:linear-gradient(135deg,#161b18,#253529)
}
.split-right{
    background:linear-gradient(225deg,#101b28,#192d42)
}
.split>*{
    position:relative
}
.terminal-no{
    position:absolute;
    right:30px;
    top:-20px;
    font-size:210px;
    font-weight:950;
    line-height:1;
    color:#ffffff08
}
.company-logo{
    width:max-content;
    background:#fff;
    color:#173b32;
    padding:16px 25px;
    font-family:Georgia,serif;
    font-size:45px;
    line-height:.8;
    border-radius:4px;
    margin-bottom:55px
}
.company-logo span{
    display:block;
    font:700 8px Inter,sans-serif;
    margin-top:10px
}
.company-logo.gbt{
    font:950 42px Inter,sans-serif;
    color:#0b3158
}
.company-logo.gbt span{
    text-transform:uppercase;
    letter-spacing:.16em
}
.overline{
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--orange);
    font-size:11px;
    font-weight:800
}
.split h3{
    font-size:clamp(30px,3vw,48px);
    line-height:1.05;
    letter-spacing:-.04em;
    max-width:520px;
    margin:10px 0
}
.split>p:not(.overline){
    color:#c7cacb;
    max-width:510px
}
.metric{
    border-left:3px solid var(--orange);
    padding-left:18px;
    margin:34px 0
}
.metric strong{
    display:block;
    font-size:42px
}
.metric span{
    max-width:280px;
    display:block;
    color:#b8bdbe
}
.metrics{
    display:flex;
    gap:25px;
    margin:35px 0
}
.metrics strong{
    font-size:30px;
    display:block
}
.metrics span{
    font-size:11px;
    text-transform:uppercase;
    color:#c1c6c8
}
.text-link{
    text-transform:uppercase;
    font-size:11px;
    letter-spacing:.12em;
    font-weight:800;
    border-bottom:1px solid #ffffff44;
    padding-bottom:8px
}
.text-link b{
    color:var(--orange);
    font-size:18px;
    margin-left:8px
}
.center-seal{
    position:absolute;
    z-index:5;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:180px;
    height:180px;
    border-radius:50%;
    background:var(--orange);
    box-shadow:0 0 0 12px #111,0 0 0 13px #ffffff40;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center
}
.center-seal span{
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.13em
}
.center-seal b{
    font-size:50px;
    line-height:1;
    letter-spacing:-.08em
}
.center-seal small{
    text-transform:uppercase;
    font-size:8px;
    letter-spacing:.12em
}
.op-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-top:55px
}
.op-card{
    padding:34px;
    min-height:310px;
    border:1px solid var(--line);
    display:flex;
    flex-direction:column;
    transition:.25s;
    position:relative
}
.op-card:hover{
    background:var(--ink);
    color:#fff;
    transform:translateY(-6px);
    border-color:var(--ink)
}
.op-card .icon{
    font-size:30px;
    color:var(--orange)
}
.op-card .tag{
    margin-top:auto;
    text-transform:uppercase;
    color:var(--orange);
    font-size:10px;
    letter-spacing:.12em
}
.op-card h3{
    font-size:25px;
    margin:10px 0
}
.op-card p{
    margin:0;
    color:var(--muted)
}
.innovation{
    position:relative;
    background:#111;
    color:white;
    padding:130px 24px;
    overflow:hidden
}
.innovation-bg{
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 75% 30%,#ff6b2140,transparent 28%),linear-gradient(120deg,#0e1012 50%,#181d22)
}
.innovation-layout{
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:90px
}
.section-heading.light h2{
    margin-bottom:40px
}
.section-heading blockquote{
    font-size:25px;
    border-left:3px solid var(--orange);
    padding-left:22px;
    margin:0;
    color:#dfe2e3
}
.innovation-copy{
    color:#c8cdcf;
    font-size:17px
}
.pill-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:32px
}
.pill-list span{
    border:1px solid #ffffff30;
    border-radius:50px;
    padding:8px 13px;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em
}
.quick{
    background:var(--soft)
}
.quick-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    margin-top:50px
}
.quick-card{
    background:#fff;
    border:1px solid transparent;
    padding:28px;
    display:grid;
    grid-template-columns:55px 1fr auto;
    align-items:center;
    gap:14px;
    transition:.25s
}
.quick-card:hover{
    border-color:var(--orange);
    transform:translateY(-3px);
    box-shadow:0 18px 30px #1919190d
}
.quick-card>span{
    font-size:12px;
    color:var(--orange);
    font-weight:800
}
.quick-card small{
    text-transform:uppercase;
    color:var(--muted);
    letter-spacing:.12em
}
.quick-card h3{
    margin:3px 0;
    font-size:20px
}
.quick-card b{
    font-size:11px;
    text-transform:uppercase
}
.link-note{
    font-size:12px;
    color:#777;
    margin-top:18px
}
.contact{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    min-height:680px
}
.map iframe{
    border:0;
    width:100%;
    height:100%;
    min-height:600px;
    filter:grayscale(1) contrast(1.05)
}
.contact-panel{
    padding:100px max(5vw,50px);
    background:var(--ink);
    color:#fff
}
.contact-panel address{
    font-style:normal;
    color:#c7cbcd
}
.contact-grid{
    display:grid;
    gap:12px;
    margin-top:35px
}
.contact-grid article{
    border-top:1px solid #ffffff24;
    padding:22px 0;
    position:relative
}
.contact-grid article>span{
    position:absolute;
    right:0;
    color:var(--orange);
    font-weight:900;
    font-size:25px
}
.contact-grid h3{
    margin:0 0 9px
}
.contact-grid a{
    display:block;
    color:#bbb;
    font-size:14px
}
.contact-grid a:hover{
    color:var(--orange)
}
footer{
    background:#080a0b;
    color:#fff;
    padding:80px max(28px,calc((100vw - var(--max))/2)) 25px
}
.footer-main{
    display:grid;
    grid-template-columns:1.5fr .7fr 1fr;
    gap:80px
}
.footer-logo{
    font-size:60px;
    font-weight:950;
    letter-spacing:-.09em
}
.footer-main h3{
    font-size:11px;
    text-transform:uppercase;
    color:var(--orange);
    letter-spacing:.15em
}
.footer-main a{
    display:block;
    color:#aeb3b5;
    margin:8px 0;
    font-size:13px
}
.footer-main p{
    color:#aeb3b5
}
.footer-main blockquote{
    margin:30px 0 0;
    font-size:20px
}
.footer-bottom{
    display:flex;
    gap:25px;
    border-top:1px solid #ffffff1d;
    margin-top:70px;
    padding-top:22px;
    color:#777;
    font-size:11px
}
.footer-bottom a:last-child{
    margin-left:auto
}
.reveal{
    opacity:0;
    transform:translateY(25px);
    transition:opacity .7s ease,transform .7s ease
}
.reveal.visible{
    opacity:1;
    transform:none
}
:focus-visible{
    outline:3px solid var(--orange2);
    outline-offset:4px
}
@media(max-width:980px){
    nav{
        position:fixed;
        inset:76px 0 auto;
        background:#111;
        padding:25px;
        display:none;
        flex-direction:column;
        align-items:stretch
    }
    .topbar.menu-open nav{
        display:flex
    }
    .menu-toggle{
        display:block;
        width:44px;
        height:44px;
        padding:10px
    }
    .menu-toggle span:not(.sr-only){
        display:block;
        height:2px;
        background:#fff;
        margin:6px
    }
    .grid-intro,.innovation-layout{
        grid-template-columns:1fr
    }
    .op-grid{
        grid-template-columns:1fr 1fr
    }
    .integration{
        grid-template-columns:1fr
    }
    .center-seal{
        top:50%;
        width:130px;
        height:130px
    }
    .split{
        min-height:640px;
        padding:90px 8vw
    }
    .contact{
        grid-template-columns:1fr
    }
    .map{
        height:420px
    }
    .quick-grid{
        grid-template-columns:1fr
    }
    .footer-main{
        grid-template-columns:1fr 1fr
    }
    .footer-main>div:first-child{
        grid-column:1/-1
    }
}
@media(max-width:620px){
    .topbar{
        padding:0 18px
    }
    .brand>span:last-child{
        display:none
    }
    .hero-content{
        margin-left:22px
    }
    .hero-logo{
        font-size:68px
    }
    .hero h1{
        font-size:42px
    }
    .hero-content>p:last-of-type{
        font-size:16px
    }
    .actions{
        flex-direction:column;
        width:max-content
    }
    .hero-rail{
        display:none
    }
    .section{
        padding:85px 20px
    }
    .grid-intro{
        gap:30px
    }
    .stat-row{
        grid-template-columns:1fr
    }
    .stat-row article{
        border-right:0;
        border-bottom:1px solid var(--line)
    }
    .image-panel{
        height:350px
    }
    .timeline::before{
        left:49px
    }
    .timeline article{
        grid-template-columns:50px 1fr;
        gap:24px
    }
    .timeline article::after{
        left:44px
    }
    .integration{
        display:block
    }
    .center-seal{
        position:relative;
        left:auto;
        top:auto;
        transform:none;
        margin:-65px auto;
        z-index:8
    }
    .split{
        padding:80px 25px 115px
    }
    .split-right{
        padding-top:120px
    }
    .terminal-no{
        font-size:145px
    }
    .metrics{
        gap:15px
    }
    .metrics strong{
        font-size:25px
    }
    .op-grid{
        grid-template-columns:1fr
    }
    .op-card{
        min-height:240px
    }
    .innovation-layout{
        gap:40px
    }
    .quick-card{
        grid-template-columns:35px 1fr
    }
    .quick-card>b{
        grid-column:2
    }
    .contact-panel{
        padding:75px 25px
    }
    .footer-main{
        grid-template-columns:1fr;
        gap:35px
    }
    .footer-main>div:first-child{
        grid-column:auto
    }
    .footer-bottom{
        flex-wrap:wrap
    }
    .footer-bottom a:last-child{
        margin-left:0
    }
}
 @media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    .hero-img{
        animation:none
    }
    .reveal{
        opacity:1;
        transform:none;
        transition:none
    }
}
