:root{
  --navy:#071e4a;
  --navy2:#0a2b62;
  --blue:#0878f8;
  --blue2:#0b5fd7;
  --cyan:#18c6ff;
  --ink:#0d2252;
  --muted:#607397;
  --line:#d9e6f6;
  --soft:#f4f8fd;
  --white:#fff;
  --gold:#ffd84a;
  --shadow:0 18px 55px rgba(11,48,101,.13);
  --radius:22px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--blue2)}
.section{padding:90px 0}
.section.soft{background:linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%)}
.section.dark{background:radial-gradient(circle at 75% 10%,#0c397d 0,#071e4a 48%,#04132f 100%);color:white}
.section-title{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02;margin:10px 0 18px;letter-spacing:-.04em}
.section-lead{max-width:760px;font-size:1.08rem;color:var(--muted)}
.dark .section-lead,.dark p{color:#c7d8f2}
.small{font-size:.92rem;color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,72,153,.11)}
.nav-wrap{height:78px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:160px;height:auto;object-fit:contain}
.site-header .brand img{width:clamp(224px,20vw,248px);height:70px;object-fit:cover;object-position:center}
.primary-nav{display:flex;align-items:center;gap:20px;margin-left:auto}
.primary-nav a{font-size:.75rem;font-weight:800;letter-spacing:.02em;color:#17376d;position:relative;padding:28px 0}
.primary-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:17px;height:2px;background:var(--blue);transition:.25s}
.primary-nav a:hover:after,.primary-nav a.active:after{right:0}
.contact-btn{background:var(--blue);color:white!important;padding:12px 18px!important;border-radius:10px;box-shadow:0 9px 24px rgba(8,120,248,.22)}
.contact-btn:after{display:none!important}
.nav-toggle{display:none;margin-left:auto;border:0;background:#eff6ff;color:var(--navy);width:44px;height:44px;border-radius:10px;font-size:1.2rem}

/* Hero */
.hero{position:relative;min-height:720px;overflow:hidden;background:#eff6ff}
.hero-bg{
  position:absolute;
  inset:0;
  background-color:#eef5fc;
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.97) 22%,
      rgba(255,255,255,.80) 37%,
      rgba(255,255,255,.36) 52%,
      rgba(255,255,255,.08) 67%,
      rgba(255,255,255,0) 78%),
    url('../img/hero-city-wide.webp?v=20260924-wide2');
  /* CRITICAL: do not use cover. It was zooming the photograph. */
  background-size:100% 100%, auto 100%;
  background-position:left top, right center;
  background-repeat:no-repeat;
  transform:none;
  filter:none;
}
.hero:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:165px;
  background:linear-gradient(
    0deg,
    rgba(3,24,64,.62) 0%,
    rgba(3,24,64,.18) 55%,
    transparent 100%
  );
  pointer-events:none;
}
.hero-inner{position:relative;z-index:3;padding-top:82px;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:30px;min-height:590px}
.hero-copy{padding:18px 0 120px;transform:translateY(-80px)}
.hero h1{font-size:clamp(3.15rem,6.2vw,5.55rem);line-height:.96;letter-spacing:-.058em;margin:18px 0 24px;max-width:760px}
.hero h1 span{color:var(--blue2)}
.hero .lead{font-size:1.18rem;max-width:650px;color:#29446f;margin-bottom:28px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;border-radius:11px;padding:14px 20px;font-weight:800;font-size:.94rem;border:1px solid transparent;transition:.22s;cursor:pointer}
.btn.primary{background:var(--blue);color:white;box-shadow:0 12px 28px rgba(8,120,248,.24)}
.btn.primary:hover{transform:translateY(-2px);background:#056fe7}
.btn.outline{border-color:#9abce8;background:rgba(255,255,255,.82);color:var(--navy)}
.btn.outline:hover{background:white;border-color:var(--blue)}
.hero-network{position:relative;min-height:500px}
.node{position:absolute;background:rgba(4,38,91,.88);color:#fff;border:2px solid #55d7ff;border-radius:999px;box-shadow:0 0 0 8px rgba(36,204,255,.08),0 0 35px rgba(0,183,255,.45);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;font-size:.76rem;line-height:1.2;padding:15px;width:110px;height:110px}
.node:before{content:"";position:absolute;border:1px solid rgba(83,215,255,.6);width:210px;transform-origin:left center;left:50%;top:50%;z-index:-1}
.node.n1{top:30px;right:170px}.node.n1:before{transform:rotate(32deg);width:180px}
.node.n2{top:148px;left:80px}.node.n2:before{transform:rotate(13deg);width:265px}
.node.n3{top:205px;right:30px}.node.n3:before{transform:rotate(155deg);width:240px}
.node.n4{top:330px;right:150px}.node.n4:before{transform:rotate(220deg);width:220px}
.hero-badge{position:absolute;right:0;bottom:110px;background:rgba(4,28,67,.86);border:1px solid rgba(115,216,255,.45);color:white;padding:22px 24px;border-radius:14px;box-shadow:0 16px 40px rgba(4,24,55,.25);backdrop-filter:blur(8px)}
.hero-badge strong{font-size:1.35rem;display:block;letter-spacing:.08em}.hero-badge span{font-size:.74rem;letter-spacing:.08em;color:#cce7ff}

.sector-band{position:relative;z-index:5;margin-top:-142px;padding-bottom:24px}
.sectors{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.sector{text-align:center;color:#fff;min-width:0}
.sector-icon{width:68px;height:68px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#0878f8,#0b2f71);border:2px solid #59d8ff;box-shadow:0 0 30px rgba(24,198,255,.4)}
.sector svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sector b{display:block;font-size:.88rem;line-height:1.2}.sector span{font-size:.73rem;color:#c7e4ff}

.platform-strip{position:relative;z-index:6;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -10px 40px rgba(4,34,78,.08);border-top:1px solid #dfeafa}
.platform-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.platform-stat{padding:28px 24px;border-right:1px solid #e1ebf8;display:flex;gap:14px;align-items:center}
.platform-stat:last-child{border-right:0}.platform-stat .num{font-size:1.48rem;font-weight:900;color:var(--blue2)}.platform-stat .label{font-size:.82rem;color:var(--muted);line-height:1.25}
.stat-icon{width:44px;height:44px;border-radius:12px;background:#edf6ff;color:var(--blue);display:grid;place-items:center;font-size:1.2rem;font-weight:900}

/* cards */
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.card{background:white;border:1px solid #dce8f7;border-radius:18px;padding:28px;box-shadow:0 10px 30px rgba(14,55,111,.05)}
.card h3{margin:10px 0 10px;font-size:1.35rem}.card p{color:var(--muted);margin:0}.card .iconbox{width:52px;height:52px;border-radius:14px;background:linear-gradient(145deg,#eaf5ff,#f8fbff);color:var(--blue);display:grid;place-items:center;font-size:1.3rem;border:1px solid #d3e8ff}
.card.dark-card{background:linear-gradient(145deg,#0a2d63,#051b42);border-color:#1c4d88;color:white}.card.dark-card p{color:#c9daf2}

/* CIRMS orbit */
.mission-grid{display:grid;grid-template-columns:.9fr 1.1fr .75fr;gap:50px;align-items:center}
.orbit{position:relative;aspect-ratio:1/1;max-width:460px;margin:auto;border-radius:50%;background:radial-gradient(circle,#fff 0 21%,#eff7ff 22% 42%,#dceeff 43% 55%,transparent 56%);border:1px solid #b9dafc;box-shadow:0 30px 80px rgba(11,88,177,.12)}
.orbit-center{position:absolute;inset:38%;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:900;color:var(--navy);font-size:1.4rem;box-shadow:0 8px 30px rgba(2,51,110,.12)}
.orb{position:absolute;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:12px;color:white;background:radial-gradient(circle at 30% 25%,#0e8fff,#062152 65%);border:3px solid #5ee2ff;box-shadow:0 0 0 8px rgba(50,197,255,.09),0 16px 36px rgba(0,68,145,.18);font-weight:800;line-height:1.15}
.orb small{display:block;font-size:.72rem;font-weight:650;margin-top:4px;color:#d9efff}.orb.gl3{left:2%;top:54%}.orb.gl4{right:2%;top:54%}.orb.gl5{left:50%;top:1%;transform:translateX(-50%)}
.trusted-list{display:grid;gap:14px;margin-top:22px}.trusted-item{display:flex;align-items:center;gap:12px;color:#29446f;font-size:.9rem}.trusted-item i{width:38px;height:38px;border:1px solid #c8def8;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-style:normal}

/* Europe CTA */
.europe{position:relative;overflow:hidden;background:#031b42;color:white;min-height:500px;display:flex;align-items:center}
.europe:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,25,62,.98) 0%,rgba(3,33,78,.82) 38%,rgba(3,27,66,.18) 67%),url('../img/europe-network.webp') center/cover no-repeat}
.europe-inner{position:relative;z-index:2;padding:84px 0;max-width:580px}.europe h2{font-size:clamp(2.5rem,4.8vw,4.4rem);line-height:.98;margin:10px 0 20px;letter-spacing:-.04em}.europe p{color:#c5d8f3;font-size:1.06rem}
.eu-note{display:inline-flex;align-items:center;gap:11px;margin-top:26px;border:1px solid rgba(255,255,255,.23);border-radius:12px;padding:11px 14px;background:rgba(4,29,70,.55);font-size:.76rem;color:#d7e8ff}.eu-stars{width:32px;height:22px;background:#1239a9;border-radius:3px;position:relative}.eu-stars:after{content:"✦ ✦ ✦";font-size:.56rem;letter-spacing:1px;color:#ffd936;position:absolute;left:5px;top:6px}

/* footer */
.footer{background:#fff;border-top:1px solid #dfe8f5}.footer-top{display:flex;align-items:center;gap:28px;padding:28px 0;flex-wrap:wrap}.footer .brand img{width:150px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:.84rem;color:#39557f}.socials{margin-left:auto;display:flex;gap:10px}.social{width:34px;height:34px;border-radius:8px;background:#eff6ff;display:grid;place-items:center;color:#0c4d9d;font-weight:900}.legal{border-top:1px solid #edf2f8;padding:15px 0 24px;font-size:.72rem;color:#7a8ca9;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* Inner pages */
.page-hero{
  position:relative;
  overflow:hidden;
  background:#05245a;
  color:#fff;
  min-height:320px;
  padding:56px 0 60px;
  display:flex;
  align-items:center;
}.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:
    linear-gradient(90deg,
      rgba(5,30,72,.98) 0%,
      rgba(5,30,72,.91) 26%,
      rgba(5,30,72,.70) 42%,
      rgba(5,30,72,.42) 56%,
      rgba(5,30,72,.18) 70%,
      rgba(5,30,72,.06) 100%),
    url('../img/hero-city-banner-2560.webp?v=20260924-2560match');
  background-image:
    linear-gradient(90deg,
      rgba(5,30,72,.98) 0%,
      rgba(5,30,72,.91) 26%,
      rgba(5,30,72,.70) 42%,
      rgba(5,30,72,.42) 56%,
      rgba(5,30,72,.18) 70%,
      rgba(5,30,72,.06) 100%),
    image-set(
      url('../img/hero-city-banner-2560.webp?v=20260924-2560match') 1x,
      url('../img/hero-city-banner-5120.webp?v=20260924-2560match') 2x
    );
  background-size:100% 100%, 100% 100%;
  background-position:center center, center center;
  background-repeat:no-repeat;
  transform:none;
  filter:none;
}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:1;margin:12px 0 16px;letter-spacing:-.04em}.page-hero p{max-width:780px;color:#d4e6ff;font-size:1.06rem}.breadcrumb{font-size:.78rem;color:#8dc8ff;letter-spacing:.08em;text-transform:uppercase}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:45px;align-items:start}.side-panel{position:sticky;top:105px;border:1px solid #dce8f7;border-radius:18px;padding:22px;background:#f8fbff}.side-panel h3{margin-top:0}.side-links{display:grid;gap:6px}.side-links a{padding:10px 12px;border-radius:9px;color:#34547f;font-size:.88rem}.side-links a:hover{background:#eaf4ff;color:#075dbd}
.prose h2{font-size:2rem;letter-spacing:-.025em;margin:52px 0 14px}.prose h2:first-child{margin-top:0}.prose h3{font-size:1.28rem;margin:30px 0 10px}.prose p,.prose li{color:#526b92}.prose ul{padding-left:20px}.callout{border-left:4px solid var(--blue);background:#eef7ff;padding:18px 22px;border-radius:0 14px 14px 0;margin:25px 0;color:#2b4d7d}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}.tag{border-radius:999px;padding:8px 12px;background:#eef6ff;color:#155cae;border:1px solid #d2e6fb;font-size:.79rem;font-weight:700}

/* diagrams */
.arch-diagram{margin:34px 0;background:linear-gradient(145deg,#061b43,#0a3674);border-radius:22px;padding:38px;color:white;overflow:hidden;box-shadow:var(--shadow)}
.arch-row{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}.machine{width:178px;min-height:118px;border-radius:16px;border:1px solid #55d8ff;background:rgba(4,39,91,.72);box-shadow:0 0 25px rgba(15,181,255,.18);display:grid;place-items:center;text-align:center;padding:16px}.machine strong{font-size:1.1rem}.machine small{color:#badcff}.flow{font-size:1.7rem;color:#62dcff}.clients{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.client{border:1px solid rgba(130,202,255,.35);border-radius:12px;background:rgba(255,255,255,.06);padding:15px;text-align:center;color:#d5eaff;font-size:.82rem}

/* products */
.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:36px}.product-card{border-radius:18px;border:1px solid #d8e6f7;background:#fff;overflow:hidden;box-shadow:0 12px 30px rgba(10,64,125,.06)}.product-head{padding:22px;background:linear-gradient(155deg,#0a2d66,#067bed);color:#fff}.product-head .gen{font-size:2.2rem;font-weight:900;letter-spacing:-.04em}.product-body{padding:20px}.product-body ul{padding-left:18px;margin:10px 0;color:#557095;font-size:.86rem}.pill{display:inline-block;font-size:.72rem;font-weight:800;border-radius:999px;padding:6px 10px;background:#eaf5ff;color:#0a61bd}

/* feature table */
.table-wrap{overflow:auto;border:1px solid #dbe7f6;border-radius:18px;background:#fff;box-shadow:0 10px 30px rgba(13,65,126,.05)}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:14px 16px;border-bottom:1px solid #e7eef8;text-align:center;font-size:.86rem}th:first-child,td:first-child{text-align:left}thead th{background:#0a2e68;color:white;position:sticky;top:0}.yes{color:#0e9f6e;font-weight:900}.no{color:#a4b3c7}.ondemand{color:#c17b00;font-weight:800}

/* FAQ */
.faq-list{display:grid;gap:12px}.faq-item{border:1px solid #dbe7f6;border-radius:14px;background:#fff;overflow:hidden}.faq-q{width:100%;background:none;border:0;text-align:left;padding:18px 20px;font-weight:800;color:#153867;display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;padding:0 20px 18px;color:#587094}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q{color:var(--blue2)}

/* dashboard mocks */
.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}.dash{border-radius:18px;background:#071d45;color:#fff;padding:20px;box-shadow:0 20px 50px rgba(3,31,72,.18);border:1px solid #13508f;cursor:zoom-in}.dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dash-top strong{font-size:.95rem}.status{font-size:.7rem;color:#62e6b3}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.kpi{background:#0b2a60;border:1px solid #17457e;border-radius:10px;padding:12px}.kpi b{font-size:1.1rem;color:#4ddcff}.kpi span{display:block;color:#91acd0;font-size:.64rem}.chart{height:130px;margin-top:12px;position:relative;background:linear-gradient(180deg,rgba(12,66,129,.5),rgba(5,28,68,.4));border-radius:10px;overflow:hidden}.chart:before{content:"";position:absolute;left:0;right:0;bottom:0;height:72%;background:linear-gradient(135deg,transparent 0 7%,#16cbff 7.5% 8.2%,transparent 8.7% 19%,#16cbff 19.5% 20.2%,transparent 20.7% 30%,#16cbff 30.5% 31.2%,transparent 31.7% 45%,#16cbff 45.5% 46.2%,transparent 46.7% 58%,#16cbff 58.5% 59.2%,transparent 59.7% 75%,#16cbff 75.5% 76.2%,transparent 76.7%)}.bars{display:flex;align-items:end;gap:8px;height:120px;padding:18px}.bars i{display:block;flex:1;background:linear-gradient(#1ee2ff,#0878f8);border-radius:4px 4px 0 0;opacity:.9}

/* careers/contact */
.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.job{border:1px solid #dbe7f6;border-radius:16px;padding:24px;background:#fff}.job h3{margin:0 0 8px}.closed{display:inline-block;margin-top:12px;font-size:.75rem;border-radius:999px;background:#f2f5f8;color:#74849b;padding:7px 10px;font-weight:800}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-card{border-radius:20px;padding:30px;background:#f5f9ff;border:1px solid #dbe8f8}.contact-form{display:grid;gap:14px}.field{display:grid;gap:6px}.field label{font-size:.8rem;font-weight:800;color:#2e4f7d}.field input,.field textarea{width:100%;border:1px solid #cdddf0;border-radius:11px;padding:13px 14px;color:#17365f;background:white}.field textarea{min-height:150px;resize:vertical}

/* lightbox */
.lightbox{position:fixed;inset:0;background:rgba(2,12,31,.92);z-index:2000;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1500px,96vw);max-height:90vh;border-radius:10px;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox-close{position:absolute;right:24px;top:18px;background:white;border:0;width:42px;height:42px;border-radius:50%;font-size:1.35rem;cursor:pointer}




/* responsive */
@media(max-width:1120px){
 .primary-nav{gap:13px}.primary-nav a{font-size:.68rem}.hero-inner{grid-template-columns:1fr .8fr}.sectors{grid-template-columns:repeat(4,1fr);row-gap:20px}.sector-band{margin-top:-190px}.product-grid{grid-template-columns:repeat(3,1fr)}.mission-grid{grid-template-columns:1fr 1fr}.mission-grid>div:last-child{grid-column:1/-1}.trusted-list{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
 .nav-toggle{display:grid;place-items:center}.primary-nav{position:fixed;left:20px;right:20px;top:88px;background:white;border:1px solid #dce7f5;box-shadow:var(--shadow);border-radius:16px;padding:18px;display:none;grid-template-columns:repeat(2,1fr);gap:6px}.primary-nav.open{display:grid}.primary-nav a{padding:12px}.primary-nav a:after{display:none}.contact-btn{text-align:center}.hero{min-height:980px}.hero-bg{
  background-image:
    linear-gradient(180deg,
      rgba(255,255,255,.99) 0%,
      rgba(255,255,255,.96) 39%,
      rgba(255,255,255,.45) 58%,
      rgba(255,255,255,.08) 74%,
      rgba(255,255,255,0) 84%),
    url('../img/hero-city-wide.webp?v=20260924-wide2');
  background-size:100% 100%, auto 67%;
  background-position:left top, 66% bottom;
  background-repeat:no-repeat;
  transform:none;
}.hero-inner{grid-template-columns:1fr;padding-top:55px}.hero-copy{padding-bottom:0;transform:none}.hero-network{min-height:380px}.node{width:90px;height:90px;font-size:.65rem}.node.n2{left:12%}.sector-band{margin-top:-185px}.platform-grid{grid-template-columns:repeat(2,1fr)}.cards-3{grid-template-columns:1fr}.mission-grid{grid-template-columns:1fr}.trusted-list{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr}.side-panel{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
 
  .page-hero:before{
    background-image:
      linear-gradient(180deg,
        rgba(5,30,72,.95) 0%,
        rgba(6,39,89,.86) 38%,
        rgba(7,49,109,.52) 60%,
        rgba(8,58,128,.18) 78%,
        rgba(8,58,128,.08) 100%),
      url('../img/hero-city-master.png?v=20260924-single');
    background-size:auto 100%;
    background-position:68% center;
    background-repeat:no-repeat;
  }
 .container{width:min(100% - 28px,var(--max))}.nav-wrap{height:70px}.brand img{width:135px}.primary-nav{top:78px;grid-template-columns:1fr;max-height:72vh;overflow:auto}.hero{min-height:980px}.hero-inner{padding-top:40px}.hero h1{font-size:3rem}.hero .lead{font-size:1rem}.hero-network{min-height:335px}.node{width:78px;height:78px;padding:8px}.node.n1{right:18%;top:14px}.node.n2{left:2%;top:120px}.node.n3{right:0;top:130px}.node.n4{right:28%;top:230px}.hero-badge{bottom:70px;right:2%;padding:15px}.sector-band{margin-top:-150px}.sectors{grid-template-columns:repeat(4,1fr);gap:8px}.sector:nth-child(7){grid-column:2/4}.sector-icon{width:54px;height:54px}.sector b{font-size:.73rem}.sector span{display:none}.platform-grid{grid-template-columns:1fr}.platform-stat{border-right:0;border-bottom:1px solid #e1ebf8}.mission-grid{gap:30px}.orbit{max-width:360px}.orb{width:105px;height:105px;font-size:.88rem}.trusted-list{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.clients{grid-template-columns:repeat(2,1fr)}.jobs{grid-template-columns:1fr}.footer-top{align-items:flex-start}.socials{margin-left:0}.europe{min-height:600px}.europe:before{background:linear-gradient(180deg,rgba(2,25,62,.98),rgba(3,33,78,.82) 55%,rgba(3,27,66,.3)),url('../img/europe-network.webp') center/cover no-repeat}.kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){.site-header .brand img{width:248px}}
@media(max-width:620px){.site-header .brand img{width:216px;height:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Inner-page hero: force a single photographic layer only */


.page-hero:after{
  content:none !important;
  display:none !important;
}

@media (min-width: 2200px){
  .page-hero{
    min-height:380px;
    padding:0;
  }
}
@media (min-width: 1600px) and (max-width: 2199px){
  .page-hero{
    min-height:350px;
    padding:0;
  }
}
@media (max-width: 1599px){
  .page-hero{
    min-height:320px;
  }
}
@media (max-width: 900px){
  .page-hero{
    min-height:300px;
    padding:44px 0 50px;
  }
  .page-hero:before{
    background-image:
      linear-gradient(180deg,
        rgba(5,30,72,.95) 0%,
        rgba(5,30,72,.83) 36%,
        rgba(5,30,72,.56) 62%,
        rgba(5,30,72,.18) 100%),
      url('../img/hero-city-master.png?v=20260924-2560match');
    background-size:100% 100%, auto 100%;
    background-position:center center, 68% center;
    background-repeat:no-repeat;
  }
}



/* =========================================================
   INNER PAGES — use the same content-aligned panorama logic
   as the approved ABOUT fix.
   The photo starts at the same left edge as the centered
   content, not from the very left edge of the screen.
   ========================================================= */
.page-hero.content-hero{
  --content-gutter:max(20px, calc(50% - 620px));
  position:relative;
  overflow:hidden;
  min-height:0;
  padding:5px 0;
  background:#071e4a;
  color:#fff;
}
.page-hero.content-hero:before,
.page-hero.content-hero:after{
  display:none !important;
}
.page-hero.content-hero > .content-hero-image{
  display:block;
  width:calc(100% - var(--content-gutter));
  height:auto;
  margin-left:var(--content-gutter);
  object-fit:contain;
}
.page-hero.content-hero > .container{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
.page-hero.content-hero .content-hero-copy{
  max-width:820px;
  padding:18px 24px;
  border-radius:12px;
  background:linear-gradient(90deg,
    rgba(5,30,72,.86) 0%,
    rgba(5,30,72,.76) 64%,
    rgba(5,30,72,.40) 100%);
}
.page-hero.content-hero .breadcrumb{
  color:#8dc8ff;
}
.page-hero.content-hero h1{
  color:#fff;
  margin:12px 0 16px;
}
.page-hero.content-hero p{
  max-width:780px;
  color:#d4e6ff;
}

/* Tablet / phone */
@media(max-width:900px){
  .page-hero.content-hero{
    --content-gutter:20px;
    min-height:400px;
  }
  .page-hero.content-hero > .content-hero-image{
    height:400px;
    width:calc(100% - var(--content-gutter));
    margin-left:var(--content-gutter);
    object-fit:cover;
    object-position:63% center;
  }
}
@media(max-width:620px){
  .page-hero.content-hero{
    --content-gutter:14px;
    min-height:440px;
  }
  .page-hero.content-hero > .content-hero-image{
    height:440px;
    width:calc(100% - var(--content-gutter));
    margin-left:var(--content-gutter);
    object-position:70% center;
  }
  .page-hero.content-hero .content-hero-copy{
    padding:18px;
    background:rgba(5,30,72,.78);
  }
  .page-hero.content-hero > .container{
    width:min(100% - 28px,var(--max));
  }
}



/* =========================================================
   FINAL INNER HERO BLUE FILTER TUNING
   Match the old Conception page style:
   - wide blue gradient over the banner
   - no dark rounded text box
   - keep the image starting from the content edge
   ========================================================= */
.page-hero.content-hero:after{
  display:block !important;
  content:"" !important;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    #071e4a 0%,
    #071e4a calc(var(--content-gutter) + 48px),
    rgba(7,30,74,.97) calc(var(--content-gutter) + 120px),
    rgba(7,39,89,.74) 48%,
    rgba(7,49,109,.42) 63%,
    rgba(8,58,128,.16) 78%,
    rgba(8,58,128,.05) 100%
  );
}
.page-hero.content-hero .content-hero-copy{
  max-width:780px;
  padding:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.page-hero.content-hero > .container{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
}
.page-hero.content-hero h1{
  font-size:clamp(2.8rem,5vw,4.8rem);
  line-height:1;
}
.page-hero.content-hero p{
  font-size:1.06rem;
  line-height:1.55;
}

/* Mobile keeps a slightly stronger overlay for readability */
@media(max-width:620px){
  .page-hero.content-hero:after{
    background:linear-gradient(
      90deg,
      #071e4a 0%,
      #071e4a calc(var(--content-gutter) + 36px),
      rgba(7,30,74,.92) 58%,
      rgba(7,30,74,.38) 82%,
      rgba(7,30,74,0) 100%
    );
  }
}
