
:root{
  --navy:#07111F;--navy2:#0B172A;--blue:#1E6FA8;--cyan:#38BDF8;
  --ink:#0B172A;--muted:#5C6C7B;--light:#F3F6F9;--line:#D9E3EB;--white:#fff;
  --max:1180px;--ease:cubic-bezier(.2,.75,.2,1)
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--cyan)}
h1,h2,h3,h4{line-height:1.08;letter-spacing:-.035em}
h1{font-size:clamp(42px,5.2vw,78px)}
h2{font-size:clamp(32px,4vw,56px)}
p{color:var(--muted)}
.section{padding:96px 0}
.section-head{max-width:820px;margin-bottom:46px}
.section-head h2{margin:12px 0 16px}
.section-head p{font-size:16px}


.header{
  position:fixed;z-index:100;top:0;left:0;width:100%;height:56px;
  background:rgba(7,17,31,.98);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.07)
}
.nav{height:56px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{width:168px;height:45px;object-fit:contain;object-position:left center}
.navlinks{display:flex;align-items:center;justify-content:flex-end;align-self:center;gap:29px;white-space:nowrap;transform:translateY(-4px)}
.navlinks a{color:#e0e8ef;font-size:13px;font-weight:700;position:relative;padding:3px 0}
.navlinks a::after{content:"";position:absolute;left:0;bottom:-10px;width:100%;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:.22s}
.navlinks a:hover::after,.navlinks a.active::after{transform:scaleX(1)}
.navlinks a.cta{padding:11px 16px;border:1px solid rgba(56,189,248,.75)}
.navlinks a.cta::after{display:none}
.navlinks a.cta:hover{background:var(--cyan);color:#06131e}
.menu{display:none;border:0;background:none;color:#fff;font-size:26px}

.hero{
  min-height:100vh;padding-top:56px;color:#fff;display:flex;align-items:center;
  background:
  linear-gradient(90deg,rgba(2,10,18,.87),rgba(2,10,18,.62) 46%,rgba(2,10,18,.46)),
  url('https://images.unsplash.com/photo-1581091870627-3c1d3c4e4f53?auto=format&fit=crop&w=2200&q=92') center/cover
}
.hero-inner{max-width:900px;padding:102px 0 112px}
.hero .eyebrow{margin-bottom:17px}
.hero h1{max-width:880px}
.hero h1 strong{color:var(--cyan)}
.hero p{max-width:760px;margin-top:22px;color:#e2eaf0;font-size:17px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;border:1px solid transparent;transition:.25s}
.primary{background:var(--cyan);color:#06131e}
.primary:hover{background:#7dd3fc;transform:translateY(-2px)}
.outline{border-color:rgba(255,255,255,.52);color:#fff}
.outline:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#b9c9d5}
.hero-meta span{padding-left:11px;border-left:2px solid var(--cyan)}

.strip{background:var(--navy);color:#fff}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.strip-item{padding:24px;border-right:1px solid rgba(255,255,255,.08)}
.strip-item:last-child{border-right:0}
.strip-item strong{display:block;font-size:11px;letter-spacing:.1em}
.strip-item span{display:block;margin-top:5px;color:#97aabb;font-size:10px}

.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:end}
.intro-quote{font-size:32px;line-height:1.16;color:var(--ink)}
.intro-copy p{font-size:15px}
.intro-copy p+p{margin-top:14px}

.sectors{background:var(--light)}
.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sector{height:330px;position:relative;overflow:hidden;color:#fff}
.sector img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.52);transition:.4s}
.sector:hover img{transform:scale(1.05);filter:brightness(.43)}
.sector::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(2,8,14,.92))}
.sector-text{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:25px}
.sector-text h3{font-size:17px}
.sector-text p{font-size:12px;color:#d7e3eb;margin-top:5px}

.experience{background:var(--navy2);color:#fff}
.exp-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;align-items:center}
.exp-num{font-size:clamp(84px,11vw,150px);font-weight:800;letter-spacing:-.09em;color:var(--cyan);line-height:.82}
.exp-copy h2{margin-top:9px}
.exp-copy p{color:#b7c6d2;margin-top:15px;font-size:15px}
.critical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:25px}
.critical{padding:18px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.035)}
.critical b{font-size:10px;letter-spacing:.12em;color:var(--cyan)}
.critical h3{font-size:14px;margin-top:7px}
.critical p{font-size:11px;color:#9fb0be;margin-top:4px}

.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.approach-item{padding:25px;border-right:1px solid var(--line)}
.approach-item:last-child{border-right:0}
.approach-item b{color:var(--cyan);font-size:17px}
.approach-item h3{font-size:15px;margin:7px 0 5px}
.approach-item p{font-size:11px}

.digital{background:linear-gradient(110deg,#EAF4F9,#fff)}
.digital-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.digital-visual{height:520px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden}
.digital-visual img{width:100%;height:100%;object-fit:contain}
.digital-copy h2{margin-top:13px}
.digital-copy>p{font-size:15px;margin-top:15px}
.digital-note{margin-top:22px;padding:18px;border-left:3px solid var(--cyan);background:#fff}
.digital-note strong{font-size:14px;color:var(--navy)}
.digital-note span{display:block;font-size:11px;color:var(--muted);margin-top:4px}

.page-hero{padding:150px 0 82px;background:var(--navy);color:#fff}
.page-hero p{max-width:820px;margin-top:18px;color:#bac8d3;font-size:16px}

.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.about-photo{height:580px;object-fit:cover}
.about-copy h2{margin-top:12px}
.about-copy p{font-size:15px;margin-top:14px}
.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:28px}
.mission{padding:23px;background:var(--light);border-left:3px solid var(--cyan)}
.mission h3{font-size:15px}.mission p{font-size:11px;margin-top:6px}

.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}
.value{padding:24px;border:1px solid var(--line);background:#fff}
.value b{font-size:10px;color:var(--blue);letter-spacing:.13em}
.value h3{font-size:15px;margin:8px 0 5px}.value p{font-size:11px}

.services-page{background:var(--navy);color:#fff}
.service-block{
  display:grid;grid-template-columns:1fr 1fr;min-height:585px;
  border-top:1px solid rgba(148,163,184,.12)
}
.service-block:nth-child(even){background:#081521}
.service-copy{display:flex;flex-direction:column;justify-content:center;padding:56px 58px}
.service-copy h2{margin:10px 0 15px;font-size:clamp(28px,3vw,48px)}
.service-copy>p{font-size:14px;color:#b8c8d4;max-width:600px}
.service-image{min-height:585px;overflow:hidden}
.service-image img{width:100%;height:100%;min-height:585px;object-fit:cover;filter:brightness(.68);transition:.45s}
.service-image img:hover{transform:scale(1.025)}
.service-list{list-style:none;margin-top:23px}
.service-list li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#dce6ed}
.service-list li::before{content:"↗";color:var(--cyan);margin-right:9px}
.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:22px}
.sim-card{padding:16px;border:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.035)}
.sim-card h4{font-size:14px}.sim-card p{font-size:11px;margin-top:4px}
.method{margin-top:18px;padding:16px;border-left:3px solid var(--cyan);background:rgba(255,255,255,.04)}
.method strong{display:block;margin-top:5px;font-size:14px}

.contact{background:var(--light)}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px}
.contact-copy h2{margin-top:12px}.contact-copy p{font-size:14px;margin-top:13px}
.contact-item{margin-top:20px}.contact-item small{display:block;color:var(--blue);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800}.contact-item strong{font-size:14px}
.form{background:#fff;border:1px solid var(--line);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field label{font-size:10px;font-weight:800;display:block}.field input,.field select,.field textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #c7d3dd;font-size:12px;outline:none}.field textarea{min-height:145px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.full{grid-column:1/-1}

.cta-band{background:linear-gradient(115deg,var(--navy),var(--blue));color:#fff;padding:78px 0}
.cta-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-wrap h2{max-width:820px;margin-top:12px}.cta-wrap p{color:#c5d3dd;margin-top:10px}

footer{background:#040A11;color:#fff;padding:52px 0 21px}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:36px}
.footer-logo{width:205px;height:58px;object-fit:contain;object-position:left center}
.footer-grid h4{font-size:10px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:10px}
.footer-grid p,.footer-grid a{color:#90a2b2;font-size:11px}.footer-links{display:grid;gap:6px}
.copy{border-top:1px solid rgba(255,255,255,.07);margin-top:34px;padding-top:15px;color:#5f7180;font-size:9px}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:960px){
  .container{width:min(var(--max),calc(100% - 36px))}
  .navlinks{display:none}.menu{display:block}.navlinks.open{display:flex;position:absolute;top:56px;left:0;right:0;background:var(--navy);padding:18px 20px;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.08);transform:none}
  .strip-grid,.sector-grid,.approach-grid,.values-grid,.critical-grid{grid-template-columns:1fr 1fr}
  .intro-grid,.exp-grid,.about-grid,.contact-grid,.digital-grid{grid-template-columns:1fr}
  .service-block{grid-template-columns:1fr}
  .service-block .service-image{order:2}
  .service-copy{order:1;padding:42px 32px}
  .service-image,.service-image img{height:400px;min-height:400px}
  .cta-wrap{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .section{padding:72px 0}
  .hero h1{font-size:44px}
  .strip-grid,.sector-grid,.approach-grid,.values-grid,.critical-grid,.mission-grid,.sim-grid,.form,.footer-grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .exp-num{font-size:86px}
  .digital-visual{height:380px}
}
/* Services page — reference-faithful editorial grid */
.services-page{background:var(--navy);color:#fff}
.services-intro{padding:78px 0 30px}
.services-intro h1{font-size:clamp(42px,5.2vw,68px);margin-top:12px}
.services-intro p{max-width:760px;color:#b9c8d4;font-size:15px;margin-top:17px}
.services-list{padding:0 0 100px}
.service-row{
  display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  min-height:315px;align-items:center;gap:44px;
  padding:28px 0;border-top:1px solid rgba(255,255,255,.05)
}
.service-row:nth-child(even){grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr)}
.service-row:nth-child(even) .service-copy{order:2}
.service-row:nth-child(even) .service-media{order:1}
.service-copy{max-width:470px}
.service-copy .service-number{font-size:11px;letter-spacing:.16em;color:var(--cyan);font-weight:800;text-transform:uppercase}
.service-copy h2{font-size:clamp(27px,3vw,43px);margin:10px 0 13px}
.service-copy p{font-size:13px;line-height:1.7;color:#b9c7d3;max-width:500px}
.service-list{list-style:none;margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.service-list li{padding:7px 0;border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#dbe5ec}
.service-list li::before{content:"—";color:var(--cyan);margin-right:7px}
.service-media{width:100%;aspect-ratio:4/3;overflow:hidden;background:#0d1b29}
.service-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.79);transition:.45s}
.service-media:hover img{transform:scale(1.025);filter:brightness(.88)}
.service-row.sim-row{min-height:350px}
.sim-media{background:#fff;padding:0}
.sim-media img{object-fit:contain;background:#fff;filter:none}
.sim-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.sim-card{padding:14px 15px;border:1px solid rgba(148,163,184,.16);background:rgba(255,255,255,.035)}
.sim-card h4{font-size:13px}
.sim-card p{font-size:10.5px;margin-top:4px;color:#aebfcd}
.sim-method{margin-top:15px;border-left:2px solid var(--cyan);padding:10px 14px;background:rgba(255,255,255,.035)}
.sim-method strong{font-size:13px;display:block;margin-top:4px}
.services-cta{padding:72px 0 100px;background:linear-gradient(115deg,var(--navy),var(--blue))}
.services-cta h2{max-width:760px;margin-top:12px}
.services-cta p{color:#c6d4de;max-width:720px;margin-top:8px}

@media(max-width:960px){
  .service-row,.service-row:nth-child(even){grid-template-columns:1fr;gap:22px;padding:24px 0}
  .service-row:nth-child(even) .service-copy,.service-row:nth-child(even) .service-media{order:initial}
  .service-media{max-width:760px}
  .service-copy{max-width:760px}
  .services-intro{padding-top:50px}
}
@media(max-width:620px){
  .services-intro h1{font-size:42px}
  .service-list{grid-template-columns:1fr}
  .service-copy h2{font-size:30px}
}

