:root{
  --paper:#f1ede4;
  --paper-2:#e8e1d5;
  --ink:#14233a;
  --muted:#5c6674;
  --navy:#0e2038;
  --blue:#0073ae;
  --blue-2:#2b97d0;
  --amber:#bd7a35;
  --line:rgba(20,35,58,.14);
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1420px,calc(100% - 64px));margin:0 auto}
.eyebrow{font:600 13px/1.2 "JetBrains Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.display{font-family:"Instrument Serif",Georgia,serif;font-weight:400}
header{
  position:sticky;top:0;z-index:30;background:rgba(241,237,228,.94);
  border-bottom:1px solid var(--line);backdrop-filter:blur(12px)
}
.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo img{height:58px;width:auto}
nav{display:flex;align-items:center;gap:24px;flex:1;justify-content:center}
nav a{font:500 13px/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:#304056}
.cta{background:var(--navy);color:#fff;padding:14px 18px;font:500 12px/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em}

.hybrid-hero {
    min-height: 690px;
    position: relative;
    display: flex;
    align-items: center;
    color: #fff;

    background: url("/images/slide-home.jpg") center / cover no-repeat;

    overflow: hidden;
}


.hybrid-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(6,20,38,.94) 0%,
        rgba(6,20,38,.78) 48%,
        rgba(6,20,38,.28) 100%
    );
}

.hybrid-hero:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        transparent 65%,
        rgba(6,20,38,.55)
    );
}

.hero-inner{position:relative;z-index:2;padding:84px 0 92px}
.hero-copy{max-width:810px}
.hero .eyebrow{color:#72c1ea}
.hero h1{font-size:clamp(64px,7.8vw,118px);line-height:.86;margin:18px 0 28px;letter-spacing:-.025em}
.hero h1 em{color:#62b6df;font-weight:400}
.hero p{max-width:760px;font-size:20px;line-height:1.65;color:rgba(255,255,255,.82)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 20px;font:600 12px/1 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em}
.btn-primary{background:var(--blue);color:#fff}
.btn-outline{border:1px solid rgba(255,255,255,.62);color:#fff;background:rgba(255,255,255,.05)}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;max-width:720px;margin-top:58px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.hero-proof div{background:rgba(5,17,32,.58);padding:18px 20px}
.hero-proof strong{display:block;font:400 34px/1 "Instrument Serif",serif}
.hero-proof span{font:500 10px/1.3 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.65)}

.intro{padding:92px 0 72px;border-bottom:1px solid var(--line)}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.intro h2{font-size:clamp(48px,5vw,78px);line-height:.98;margin:12px 0 0}
.intro p{font-size:19px;line-height:1.75;color:var(--muted);margin:4px 0 0}

.featured{padding:86px 0;background:#e7e0d4}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}
.section-head h2{font-size:58px;line-height:1;margin:10px 0 0}
.section-head p{max-width:590px;line-height:1.6;color:var(--muted)}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.feature-card{background:#f8f5ee;border:1px solid var(--line);padding:34px;min-height:430px;display:flex;flex-direction:column}
.feature-card .logo-row{min-height:82px;display:flex;align-items:center}
.feature-card .cog{height:48px;width:auto}
.feature-card .lead{height:29px;width:auto}
.feature-card h3{font:400 42px/1.05 "Instrument Serif",serif;margin:20px 0 12px}
.feature-card p{font-size:16px;line-height:1.7;color:var(--muted);max-width:610px}
.feature-card .more{margin-top:auto;padding-top:24px;font:600 12px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}
.video-thumb{margin-top:22px;position:relative;aspect-ratio:16/7;background:#0b1727;overflow:hidden}
.video-thumb video{width:100%;height:100%;object-fit:cover}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play span{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:25px;padding-left:4px;box-shadow:0 8px 30px rgba(0,0,0,.24)}

.services{padding:92px 0}

.hybrid-hero-inner {
    position: relative;
    z-index: 2;

    width: min(1420px, calc(100% - 64px));
    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 60px;
    align-items: center;

    padding: 84px 0 92px;
    transform: translateY(-50px);
}

.hero-circle-panel {
    padding: 25px;

    background: rgba(8, 26, 47, .68);
    border: 1px solid rgba(255, 255, 255, .18);

    border-radius: 16px;

    backdrop-filter: blur(8px);
}

.hybrid-hero-copy {
    max-width: 810px;
}

.hero-circle-panel .abstract-canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
}

hybrid-hero-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(10, 24, 42, .92) 0%,
        rgba(10, 24, 42, .75) 50%,
        rgba(10, 24, 42, .45) 100%
    );
}

.hybrid-hero-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        90deg,
        rgba(6,20,38,.94) 0%,
        rgba(6,20,38,.78) 48%,
        rgba(6,20,38,.28) 100%
    );
}

.hero-eyebrow {
    color: #72c1ea;

    font-family: "JetBrains Mono", monospace;
    font-size: 14px;
    font-weight: 600;

    letter-spacing: .16em;
    text-transform: uppercase;

    position: relative;
    top: -20px;
}

.hybrid-hero h1 {
    margin: 18px 0 28px;

    font-family: "Instrument Serif", Georgia, serif;
    font-size: clamp(64px, 7.8vw, 118px);
    font-weight: 400;

    line-height: .86;
    letter-spacing: -.025em;

    color: #fff;
}

.hybrid-hero h1 span {
    display: block;
    color: #62b6df;
}

.hybrid-hero-copy > p:not(.hero-eyebrow) {
    max-width: 760px;

    font-size: 20px;
    line-height: 1.65;

    color: rgba(255,255,255,.82);
}

.hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.hero-primary,
.hero-secondary {
    display: inline-flex;
    align-items: center;

    padding: 15px 20px;

    font-family: "JetBrains Mono", monospace;
    font-size: 12px;
    font-weight: 600;

    line-height: 1;
    letter-spacing: .1em;
    text-transform: uppercase;
    text-decoration: none;
}

.hero-primary {
    background: #0073ae;
    color: #fff;
}

.hero-secondary {
    border: 1px solid rgba(255,255,255,.62);
    background: rgba(255,255,255,.05);
    color: #fff;
}

.hero-circle-panel {
    width: 100%;
    padding: 20px;

    background: rgba(8, 26, 47, .55);
    border: 1px solid rgba(255, 255, 255, .18);
}

.abstract-canvas {
    width: 100%;
    height: 430px;
}


.hero-circle-panel .abstract-canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 4;
    overflow: hidden;
}

.abstract-canvas svg {
    width: 100%;
    height: 100%;
}

.hero-circle-panel {
    background: rgba(8, 26, 47, .28);
}

.outer-circle {
    transform-origin: 440px 250px;
    animation: outerRotate 25s linear infinite;
}

@keyframes outerRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.service-card{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.service-card img{width:100%;height:205px;object-fit:cover}
.service-body{padding:26px;display:flex;flex-direction:column;flex:1}
.service-body h3{font:400 32px/1.05 "Instrument Serif",serif;margin:4px 0 14px}
.service-body ul{padding:0;margin:0 0 22px;list-style:none;color:var(--muted);line-height:1.85;font-size:15px}
.service-body ul li:before{content:"— ";color:var(--blue)}
.service-body a{margin-top:auto;font:600 11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--blue)}

.capabilities{background:var(--navy);color:#fff;padding:90px 0}
.capabilities .section-head p{color:rgba(255,255,255,.62)}
.capabilities .eyebrow{color:#6fc1ea}
.cap-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.cap{padding:25px 28px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.cap small{font:500 10px "JetBrains Mono",monospace;color:#6fc1ea;letter-spacing:.12em}
.cap h3{font:400 30px/1.1 "Instrument Serif",serif;margin:9px 0}
.cap p{margin:0;color:rgba(255,255,255,.62);line-height:1.6;font-size:14px}

.industries{padding:92px 0;background:#eee8de}
.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.industry{background:#f7f3eb;padding:28px;min-height:125px}
.industry span{font:500 10px "JetBrains Mono",monospace;color:var(--blue);letter-spacing:.12em}
.industry h3{font:400 26px/1.12 "Instrument Serif",serif;margin:12px 0 0}

.proof{padding:92px 0}
.quote{border-left:5px solid var(--blue);padding:12px 0 12px 34px;max-width:1000px}
.quote blockquote{font:italic 42px/1.22 "Instrument Serif",serif;margin:0;color:#21334b}
.quote cite{display:block;margin-top:22px;font:500 11px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-style:normal}

.contact{background:#d9d0c2;padding:78px 0}
.contact-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.contact h2{font-size:58px;line-height:1;margin:8px 0}
.contact p{color:var(--muted);font-size:17px}

footer{background:#081629;color:#fff;padding:54px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px}
footer h4{font:500 12px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.12em;color:#73bde1}
footer p,footer a{color:rgba(255,255,255,.66);line-height:1.8;font-size:14px}
.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:24px;color:rgba(255,255,255,.4);font-size:12px}

@media(max-width:980px){
  nav{display:none}.wrap{width:min(100% - 36px,1420px)}
  .intro-grid,.feature-grid,.service-grid,.contact-box{grid-template-columns:1fr}
  .industry-grid{grid-template-columns:1fr 1fr}
  .hero{min-height:620px}.hero h1{font-size:72px}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .header-inner{height:74px}.logo img{height:46px}.cta{display:none}
  .hero h1{font-size:52px}.hero p{font-size:17px}.hero-proof{grid-template-columns:1fr}
  .section-head{display:block}.section-head h2{font-size:44px}
  .intro h2{font-size:46px}.service-grid,.cap-list,.industry-grid{grid-template-columns:1fr}
}


@keyframes sweepCW {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

@keyframes sweepCCW {
    from { transform: rotate(0deg); }
    to   { transform: rotate(-360deg); }
}

@keyframes breathe {
    0%, 100% {
        transform: scale(1);
        opacity: .85;
    }

    50% {
        transform: scale(1.08);
        opacity: 1;
    }
}

@keyframes trace {
    0% {
        stroke-dashoffset: 283;
    }

    100% {
        stroke-dashoffset: 0;
    }
}



.ring-1 circle {
    animation-name: dashCW;
    animation-duration: 30s;
}

.ring-2 circle {
    animation-name: dashCCW;
    animation-duration: 30s;
}

.ring-3 circle {
    animation-name: dashCW;
    animation-duration: 30;
}

.ring-4 circle {
    animation-name: dashCCW;
    animation-duration: 30s;
}

.ring-5 circle {
    animation-name: dashCW;
    animation-duration: 30s;
}


@keyframes sweepCCW {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}

@keyframes dashCW {
    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: -100;
    }
}

@keyframes dashCCW {
    from {
        stroke-dashoffset: 0;
    }

    to {
        stroke-dashoffset: 100;
    }
}

.hero-right {
    width: 100%;
}

.hero-product-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 35px;

    margin-bottom: 18px;
}

.hero-product-logos {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 120px;
    margin-bottom: 18px;
}

.hero-product-logos a {
    width: 200px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 4px;

    padding: 12px 20px;
    box-sizing: border-box;

    transition: transform .2s ease, box-shadow .2s ease;
}

.hero-product-logos img {
    width: 180px;
    height: 50px;
    object-fit: contain;
}

.hero-product-logos a:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(0,0,0,.25);
}

/* HEADER NAV HOVER */

.site-nav a {
    position: relative !important;
    display: inline-block;
    padding-bottom: 6px;
    transition: color 0.25s ease;
    font: 500 15px/1 "JetBrains Mono", monospace
}

.site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;

    width: 0;
    height: 2px;

    background: #62b6df;

    transition: width 0.3s ease;
}

.site-nav a:hover {
    color: #62b6df !important;
}

.site-nav a:hover::after {
    width: 100%;
}