
:root{--navy:#020915;--navy2:#061832;--blue:#075cff;--blue2:#00a3ff;--ink:#07101f;--muted:#5b6575;--line:#d9e0ea;--panel:#f4f7fb;--white:#fff;--shadow:0 18px 50px rgba(2,9,21,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1460px,94vw);margin:auto}.topbar{height:76px;display:flex;align-items:center;position:fixed;top:0;left:0;right:0;z-index:10;background:linear-gradient(180deg,rgba(2,9,21,.95),rgba(2,9,21,.70));backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-inner{display:flex;align-items:center;gap:28px}.logo img{width:300px;height:auto}.nav{margin-left:auto;display:flex;gap:28px;align-items:center;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.nav a{color:#fff;opacity:.95}.nav a.active{color:#2f8cff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:#fff;border:1px solid rgba(255,255,255,.15);padding:14px 22px;border-radius:4px;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.02em;box-shadow:0 10px 25px rgba(0,95,255,.25)}.btn.ghost{background:rgba(2,9,21,.15);border:1px solid rgba(255,255,255,.45)}.hamb{display:none;color:#fff;font-size:28px;margin-left:auto}.home{background:#fff}.hero-compact{height:455px;padding-top:76px;position:relative;overflow:hidden;background:linear-gradient(90deg,#020915 0%,#020915 23%,rgba(2,9,21,.72) 35%,rgba(2,9,21,.18) 60%),url('../images/home-hero-bg.jpg') center right/cover no-repeat;color:#fff}.hero-copy{position:relative;z-index:2;width:min(520px,90vw);padding-top:42px}.hero-copy h1{font-size:50px;line-height:1.08;margin:0 0 20px;font-weight:900;letter-spacing:-.045em}.hero-copy p{font-size:16px;line-height:1.55;color:#dfe8f8;margin:0 0 22px}.hero-actions{display:flex;gap:14px;align-items:center}.lifecycle-bar{height:90px;background:linear-gradient(180deg,#061932,#020915);color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.life-row{height:100%;display:grid;grid-template-columns:repeat(6,1fr);align-items:center;gap:18px}.life-step{text-align:center;position:relative}.life-step:not(:last-child):after{content:'→';position:absolute;right:-18px;top:28px;color:#1f7fff;font-size:28px;font-weight:300}.life-icon{height:28px;margin-bottom:8px;color:#0b82ff}.life-step b{display:block;font-size:12px;text-transform:uppercase}.life-step span{display:block;font-size:11px;color:#b9c5d7;margin-top:4px}.home-grid-section{padding:24px 0 18px;background:linear-gradient(180deg,#fff,#f5f7fb)}.home-three{display:grid;grid-template-columns:1fr 1.35fr 1.45fr;gap:26px;align-items:stretch}.block-title{font-size:18px;font-weight:900;text-transform:uppercase;margin:0 0 14px;letter-spacing:.02em}.block-title:after{content:'';display:block;width:38px;height:3px;background:var(--blue);margin-top:7px}.why-list{display:grid;gap:14px}.why-item{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}.outline-icon{width:36px;height:36px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-weight:900}.why-item h3{font-size:14px;margin:0 0 4px}.why-item p{font-size:12px;line-height:1.35;color:#324055;margin:0}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:rgba(255,255,255,.75)}.cap-mini{min-height:120px;padding:16px 12px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cap-mini:nth-child(4n){border-right:0}.cap-mini:nth-child(n+5){border-bottom:0}.cap-mini .mini-icon{font-size:28px;color:var(--blue);line-height:1}.cap-mini h3{font-size:13px;margin:8px 0 6px;line-height:1.15}.cap-mini p{font-size:11px;color:#3f4b5d;line-height:1.28;margin:0}.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.app-card{height:130px;border-radius:4px;overflow:hidden;position:relative;color:#fff;box-shadow:0 8px 20px rgba(5,20,43,.14);background:#07101f}.app-card img{width:100%;height:100%;object-fit:cover;transition:.25s ease}.app-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.74))}.app-card h3{position:absolute;z-index:2;left:14px;bottom:14px;margin:0;font-size:15px;line-height:1.08;max-width:75%}.app-card .arrow{position:absolute;z-index:2;right:12px;bottom:12px;width:32px;height:32px;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;border-radius:3px;background:rgba(0,88,255,.7)}.app-card:hover img{transform:scale(1.04)}.cta-strip{height:82px;background:#061932;color:#fff;display:flex;align-items:center;border-top:1px solid rgba(255,255,255,.08)}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.cta-row h2{font-size:18px;margin:0 0 6px;text-transform:uppercase}.cta-row p{margin:0;color:#cdd7e7;font-size:13px}.footer{height:84px;background:#020915;color:#cbd6e8;display:flex;align-items:center}.foot-row{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px}.foot-logo img{width:185px}.foot-meta{display:flex;gap:36px;align-items:center}.page-hero{padding:150px 0 90px;color:#fff;background:linear-gradient(90deg,rgba(2,9,21,.94),rgba(2,9,21,.58)),url('../images/panorama.jpg') center/cover no-repeat}.page-hero h1{font-size:62px;line-height:1;margin:0 0 16px;letter-spacing:-.045em}.page-hero p{font-size:20px;line-height:1.5;color:#dbe6f6;width:min(800px,90vw)}.eyebrow{text-transform:uppercase;color:#57a1ff;font-weight:900;font-size:13px;letter-spacing:.15em;margin-bottom:12px}.section{padding:70px 0}.light{background:#f6f8fb}.dark{background:#041126;color:#fff}.section-head{margin-bottom:34px}.section-head.center{text-align:center;margin-left:auto;margin-right:auto;max-width:850px}.section h2{font-size:36px;margin:0 0 14px;letter-spacing:-.025em}.lead{font-size:18px;line-height:1.65;color:#4c596b}.dark .lead,.dark p{color:#d4deec}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:6px;box-shadow:0 10px 35px rgba(2,9,21,.05)}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.13)}.card h3{margin:0 0 10px;font-size:19px}.card p,.card li{color:#4d5b6d;line-height:1.55}.dark .card p{color:#d4deec}.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.visual img{border-radius:8px;box-shadow:var(--shadow);width:100%;height:360px;object-fit:cover}.bullets{columns:2;line-height:1.9;color:#3d4a5b}.app-section{padding:70px 0;border-top:1px solid var(--line)}.quote{font-size:36px;line-height:1.15;font-weight:900;color:#061932}.form{display:grid;gap:14px}.form input,.form textarea{width:100%;padding:15px 16px;border:1px solid #cfd8e5;border-radius:4px;font:inherit}.form textarea{min-height:150px}.contact-box{background:#fff;border:1px solid var(--line);padding:28px;border-radius:8px;box-shadow:var(--shadow)}

/* Anchor targets sit below the fixed header */
.app-section{scroll-margin-top:90px}
body.nav-open .nav{display:flex}
body.nav-open .topbar .btn{display:inline-flex}

@media(max-width:1200px){.nav{gap:16px;font-size:11px}.logo img{width:240px}.home-three{grid-template-columns:1fr}.hero-compact{height:auto;min-height:520px}.hero-copy{padding-bottom:50px}.lifecycle-bar{height:auto;padding:18px 0}.life-row{grid-template-columns:repeat(3,1fr);row-gap:22px}.life-step:after{display:none}.app-card{height:170px}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:auto;position:sticky}.nav-inner{padding:12px 0}.logo img{width:190px}.nav,.topbar .btn{display:none}.hamb{display:block}.hero-compact{padding-top:0;min-height:620px;background-position:center}.hero-copy h1{font-size:42px}.life-row,.cap-grid,.app-grid,.grid,.split{grid-template-columns:1fr}.cap-mini,.cap-mini:nth-child(4n),.cap-mini:nth-child(n+5){border:1px solid var(--line)}.footer{height:auto;padding:24px 0}.foot-row,.foot-meta,.cta-row{flex-direction:column;align-items:flex-start}.page-hero h1{font-size:44px}.section{padding:50px 0}.visual img{height:260px}}

@media(max-width:760px){
  body.nav-open .topbar{position:sticky}
  body.nav-open .nav-inner{flex-wrap:wrap}
  body.nav-open .nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;order:3;width:100%;padding:12px 0 8px;border-top:1px solid rgba(255,255,255,.12);background:rgba(2,9,21,.98)}
  body.nav-open .nav a{width:100%;padding:12px 4px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
  body.nav-open .topbar .btn{display:inline-flex;order:4;width:100%;margin:8px 0 4px}
  .hero-compact{min-height:690px}
  .hero-actions{flex-direction:column;align-items:flex-start}
}

/* v4 refinements */
.cap-mini{display:block;color:inherit;text-decoration:none;transition:.18s ease;background:rgba(255,255,255,.78)}
.cap-mini:hover{background:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(2,9,21,.09)}
.capability-list{display:grid;gap:24px}.capability-card{display:grid;grid-template-columns:380px 1fr;gap:28px;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 35px rgba(2,9,21,.06);transition:.2s ease}.capability-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.capability-card img{width:100%;height:100%;min-height:270px;object-fit:cover}.capability-card>div{padding:30px}.capability-card h2{font-size:30px;margin:0 0 8px}.capability-card h3{font-size:18px;color:#075cff;margin:0 0 12px}.capability-card p{font-size:16px;line-height:1.62;color:#4d5b6d}.learn-link{font-weight:900;color:#075cff!important;text-transform:uppercase;font-size:13px!important;letter-spacing:.03em}.eyebrow.small{font-size:11px;margin-bottom:8px;display:block}.cap-detail-hero{padding:130px 0 62px;background:linear-gradient(180deg,#f8fbff,#eef4fb)}.cap-detail-hero h1{font-size:56px;line-height:1;margin:0 0 14px;letter-spacing:-.04em}.cap-detail-hero p{font-size:21px;line-height:1.48;color:#3e4b5f}.cap-detail-hero .visual img{height:360px}.emphasis{border-left:5px solid var(--blue)}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.process-grid .card b{display:block;font-size:26px;color:#075cff;margin-bottom:12px}.process-grid .card p{margin:0}.concept-line{font-weight:700;line-height:1.7;color:#253148;background:#f6f8fb;border-left:4px solid #075cff;padding:14px 18px;border-radius:4px}.science-copy{font-size:17px!important;color:#2f3a4c!important}.app-card img{filter:saturate(1.05) contrast(1.05)}.visual img{object-position:center}
@media(max-width:900px){.capability-card{grid-template-columns:1fr}.capability-card img{height:250px}.process-grid{grid-template-columns:1fr}.cap-detail-hero h1{font-size:42px}.cap-detail-hero{padding-top:90px}}

/* v5 refinements */
.cap-mini{min-height:104px;padding:14px 10px}
.cap-mini p{font-size:11.5px;line-height:1.25;color:#425066}
.cap-mini h3{font-size:12.5px}
.about-process{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}
.app-card img{object-position:center}
.capability-card img{object-position:center}
@media(max-width:760px){.about-process{grid-template-columns:1fr}.cap-mini{min-height:auto}.hero-copy h1{font-size:38px}.hero-compact{min-height:640px}.page-hero{padding-top:115px}}

/* v7 capability image preservation: show full approved images without cropping */
.capability-card img,
.cap-detail-hero .visual img{
  object-fit:contain !important;
  object-position:center center !important;
  background:#061832;
}
.cap-detail-hero .visual img{
  height:420px;
  padding:0;
}
@media(max-width:900px){
  .capability-card img{height:260px;min-height:260px;}
  .cap-detail-hero .visual img{height:300px;}
}

/* v9: subtle cinematic hero zoom/pan animation */
.hero-compact{
  background:#020915 !important;
  isolation:isolate;
}
.hero-compact::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('../images/home-hero-bg.jpg') center right/cover no-repeat;
  transform:scale(1.02);
  transform-origin:center right;
  animation:simulaHeroDrift 18s ease-out forwards;
  will-change:transform;
}
.hero-compact::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,#020915 0%,#020915 23%,rgba(2,9,21,.72) 35%,rgba(2,9,21,.18) 60%);
  pointer-events:none;
}
@keyframes simulaHeroDrift{
  from{transform:scale(1.02) translate3d(0,0,0);}
  to{transform:scale(1.10) translate3d(-18px,0,0);}
}
.hero-copy{
  animation:simulaTextReveal .9s ease-out both;
}
.hero-actions{
  animation:simulaTextReveal 1.05s ease-out .12s both;
}
@keyframes simulaTextReveal{
  from{opacity:0;transform:translateY(10px);}
  to{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion: reduce){
  .hero-compact::before,.hero-copy,.hero-actions{animation:none!important;}
}
@media(max-width:760px){
  .hero-compact::before{background-position:center;animation-duration:22s;}
}

/* v10 production polish: unified animated subpage heroes, refined interactions */
.page-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#020915 !important;
}
.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('../images/panorama.jpg') center center/cover no-repeat;
  transform:scale(1.00);
  transform-origin:center center;
  animation:simulaSubpageDrift 28s ease-in-out infinite alternate;
  filter:saturate(1.08) contrast(1.06);
  will-change:transform;
}
.page-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(2,9,21,.88),rgba(2,9,21,.58),rgba(2,9,21,.36));
  pointer-events:none;
}
@keyframes simulaSubpageDrift{
  from{transform:scale(1.00) translate3d(0,0,0)}
  to{transform:scale(1.16) translate3d(-38px,0,0)}
}
.page-hero .container{
  position:relative;
  z-index:2;
  animation:simulaTextReveal .85s ease-out both;
}
.topbar{
  transition:height .22s ease, background .22s ease, box-shadow .22s ease;
}
body.scrolled .topbar{
  height:64px;
  background:rgba(2,9,21,.96);
  box-shadow:0 10px 34px rgba(0,0,0,.22);
}
body.scrolled .logo img{width:255px;transition:width .22s ease}
.logo img{transition:width .22s ease}
.nav a{position:relative;transition:color .18s ease, opacity .18s ease}
.nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-9px;
  height:2px;
  background:#2f8cff;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.nav a.active::after,.nav a:hover::after{transform:scaleX(1)}
.btn,.app-card,.cap-mini,.card,.capability-card{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,95,255,.32)}
.card:hover{transform:translateY(-2px);box-shadow:0 15px 42px rgba(2,9,21,.10)}
.app-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(5,20,43,.22)}
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:50;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(7,92,255,.86);
  box-shadow:0 12px 28px rgba(2,9,21,.25);
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:.22s ease;
  font-weight:900;
}
.back-to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.cap-detail-hero{
  position:relative;
  overflow:hidden;
}
.cap-detail-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 75% 30%,rgba(7,92,255,.10),transparent 30%),linear-gradient(180deg,#f8fbff,#eef4fb);
  pointer-events:none;
}
.cap-detail-hero .container{position:relative;z-index:1}
@media(max-width:760px){
  body.scrolled .topbar{height:auto}
  body.scrolled .logo img{width:190px}
  .page-hero::before{animation-duration:26s;background-position:center}
}
@media (prefers-reduced-motion: reduce){
  .page-hero::before,.page-hero .container,.fade-up,.btn,.card,.app-card,.capability-card,.cap-mini{animation:none!important;transition:none!important;transform:none!important;opacity:1!important}
}


/* v13 mobile fixes: hero full image, visible mobile motion, CTA/footer spacing, mobile menu underline */
@media(max-width:760px){
  /* Keep the top navigation above the hero and make the hero image fully visible */
  .hero-compact{
    min-height:0 !important;
    height:auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    background:#020915 !important;
    display:flex;
    flex-direction:column;
  }
  .hero-compact::before{
    position:relative !important;
    display:block;
    content:"";
    z-index:0 !important;
    width:100%;
    aspect-ratio:16/9;
    min-height:250px;
    background-image:url('../images/home-hero-bg.jpg') !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    transform-origin:center center !important;
    animation:simulaMobileHeroDrift 16s ease-in-out infinite alternate !important;
  }
  .hero-compact::after{
    display:none !important;
  }
  .hero-compact .container{
    width:100%;
    padding:26px 6vw 30px;
    background:linear-gradient(180deg,#020915,#061832);
  }
  .hero-copy{
    width:100% !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }
  .hero-copy h1{font-size:34px;line-height:1.08;margin-bottom:14px;}
  .hero-copy p{font-size:15px;line-height:1.5;margin-bottom:18px;}
  .hero-actions{gap:10px;width:100%;}
  .hero-actions .btn{width:100%;white-space:normal;text-align:center;line-height:1.25;padding:13px 14px;}

  /* Subpage banners: stronger visible motion on mobile */
  .page-hero{
    padding:120px 0 64px !important;
    min-height:300px;
  }
  .page-hero::before{
    background-size:cover !important;
    background-position:center center !important;
    animation:simulaMobileSubpageDrift 14s ease-in-out infinite alternate !important;
  }
  .page-hero h1{font-size:38px;line-height:1.05;}
  .page-hero p{font-size:16px;line-height:1.5;width:100%;}

  /* CTA strip should not collide with footer */
  .cta-strip{
    height:auto !important;
    padding:24px 0 28px !important;
  }
  .cta-row{gap:16px !important;align-items:stretch !important;width:100%;}
  .cta-row .btn{width:100%;white-space:normal;text-align:center;line-height:1.25;padding:14px 16px;}
  .footer{padding:26px 0 30px !important;}
  .foot-row{gap:18px !important;}
  .foot-meta{gap:12px !important;line-height:1.45;}

  /* Mobile dropdown menu: remove desktop underline so it does not run into the next line */
  .nav a::after{display:none !important;}
  body.nav-open .nav a{
    display:block;
    width:100%;
    padding:13px 6px !important;
    line-height:1.25;
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  body.nav-open .nav a.active{
    color:#74b6ff;
    background:rgba(47,140,255,.08);
  }
}

@keyframes simulaMobileHeroDrift{
  from{transform:scale(1.00) translate3d(0,0,0);}
  to{transform:scale(1.08) translate3d(-10px,0,0);}
}
@keyframes simulaMobileSubpageDrift{
  from{transform:scale(1.04) translate3d(0,0,0);}
  to{transform:scale(1.18) translate3d(-24px,0,0);}
}

/* v14 targeted mobile fixes */
@media(max-width:760px){
  /* Mobile homepage: use a clean text-free hero crop and make the zoom visible */
  .hero-compact{
    overflow:hidden !important;
  }
  .hero-compact::before{
    aspect-ratio:16/9 !important;
    min-height:0 !important;
    background-image:url('../images/home-hero-mobile-clean.jpg') !important;
    background-size:112% auto !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    animation:simulaMobileHeroBackgroundZoom 12s ease-in-out infinite alternate !important;
    transform:none !important;
  }
  @keyframes simulaMobileHeroBackgroundZoom{
    from{background-size:112% auto;background-position:center center;}
    to{background-size:128% auto;background-position:47% center;}
  }

  /* Capabilities page: make sure card text never disappears below images on mobile */
  .capability-list{display:grid !important;gap:22px !important;}
  .capability-card{
    display:block !important;
    overflow:visible !important;
    background:#fff !important;
  }
  .capability-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    background:#061832 !important;
  }
  .capability-card>div{
    display:block !important;
    padding:22px 20px 24px !important;
    background:#fff !important;
    color:#07101f !important;
  }
  .capability-card h2,
  .capability-card h3,
  .capability-card p,
  .capability-card .learn-link{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .capability-card p{color:#4d5b6d !important;}

  /* About page: keep each image with its own section, after the related text */
  .about-section .split{display:flex !important;flex-direction:column !important;}
  .about-section .visual{order:2 !important;}
  .about-section .about-text{order:1 !important;}
}

.hidden-field{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;}
