/* Approved navy, blue and gold redesign. Shared across all public pages. */
:root { --ink:#eef4fa; --slate:#a5b6c8; --slate-2:#91a7bd; --line:#1c344c; --mist:#071523; --blue-deep:#42baff; }
body { background:#04111f; color:var(--ink); }
.topbar { display:none; }
.site-header { background:rgba(4,17,31,.96); }
.nav { min-height:96px; gap:20px; }
.brand { width:158px; }
.nav__links { gap:26px; }
.btn--primary { background:#008cef; box-shadow:0 8px 30px #008cef25; }
.nav__cta { background:#008cef; border-color:#008cef; }
.hero { background:#04111f; }
.hero::before { display:none; }
.hero--home .hero__grid { position:relative; grid-template-columns:1.05fr .95fr; min-height:560px; padding-block:90px; gap:20px; }
.hero--home .hero__grid > div:first-child { position:relative; z-index:3; }
.hero--home .h1 { font-size:clamp(2.7rem,4.6vw,4.4rem); line-height:1.08; letter-spacing:-.055em; }
.hero h1 span.accent { color:#21bcf0; background:none; }
.hero--home .lead { max-width:43ch; color:#b8c8da; }
.hero__visual { min-height:390px; position:relative; }
.hero-art { position:absolute; max-width:none; width:850px; height:520px; object-fit:cover; right:-150px; top:50%; transform:translateY(-50%); mask-image:linear-gradient(90deg,transparent,#000 20%,#000 88%,transparent); }
.hero__visual .orbit,.hero__visual .chip,.hero__visual .core { display:none; }
.trust { padding:25px 0; justify-content:space-around; border-bottom:1px solid var(--line); }
.trust strong { font-size:1rem; }
.trust ul { display:none; }
.hero--home ~ .section { position:relative; }
.section { padding-block:76px; }
.section--navy { background:#071523; border-block:1px solid var(--line); }
.eyebrow { color:#8fa5bc; font-size:.68rem; letter-spacing:.24em; }
.h2 { font-size:clamp(1.9rem,3.3vw,2.8rem); letter-spacing:-.045em; }
.section-head { max-width:850px; }
.card { background:#091b2c; border-color:var(--line); }
.card:hover { border-color:#3673a3; box-shadow:0 16px 40px #0003; }
.card__icon { background:#09233a; border-color:#20486b; }
.project-card { padding:0 0 25px; background:transparent; border:none; border-radius:0; }
.project-card:hover { transform:none; box-shadow:none; }
.project-card h3,.project-card p,.project-card .arrow-link { padding-inline:4px; }
.project-card h3 { margin-top:22px; }
.project-preview { display:block; overflow:hidden; border:1px solid #315271; border-radius:10px; background:#0b2136; aspect-ratio:1265/712; }
.project-preview img { width:100%; height:100%; object-fit:cover; object-position:top; transition:transform .3s ease; }
.project-preview:hover img { transform:scale(1.025); }
.project-card .arrow-link { padding-top:18px; }
.panel { background:#091b2c; border-color:var(--line); }
.panel__points { border-color:var(--line); }
.cta { background:radial-gradient(ellipse at 90% 10%,#0d3c66,transparent 70%),#081d30; border:1px solid #267cad; box-shadow:none; }
.cta h2 { max-width:24ch; }
.cta p { color:#a9bfd3; }
.btn--light { background:#008cef; color:#fff; }
.btn--light:hover { background:#0079d2; }
.btn--outline { color:#eef4fa; background:#0a2135; }
.stats div { background:#091b2c; }
.stats b { color:#eef4fa; }
.field input,.field select,.field textarea { color:#eef4fa; background:#071523; border-color:#35516b; }
.field input::placeholder,.field textarea::placeholder { color:#899fb5; }
.field label .req,.field .error { color:#ffaaa3; }
.skip-link { background:#fff; color:#061627; }
.site-footer { border-top:1px solid var(--line); }
@media(min-width:901px) { .hero--home { overflow:hidden; } }
@media(max-width:900px) {
  .hero--home .hero__grid { grid-template-columns:1fr; padding-block:55px 10px; }
  .hero__visual { order:0; min-height:350px; }
  .hero-art { width:100%; max-width:720px; height:380px; right:0; object-fit:contain; }
  .nav { min-height:80px; }
  .trust { gap:15px; justify-content:flex-start; }
}
@media(max-width:640px) {
  .section { padding-block:54px; }
  .hero--home .h1 { font-size:2.7rem; }
  .hero__visual { min-height:250px; }
  .hero-art { height:270px; }
  .trust { display:grid; gap:12px; padding-block:22px; }
  .trust strong { padding-left:15px; border-left:2px solid var(--gold); font-size:.9rem; }
  .project-preview { aspect-ratio:1265/712; }
  .hero__actions .btn { padding-inline:18px; }
}
