:root{
  --navy:#0E3A5C; --navy-deep:#0A2C47; --steel:#1C7FB8; --silver:#9AA7B4;
  --ink:#1b2733; --muted:#5a6b7b; --line:#e4e8ec; --bg:#ffffff; --bg-alt:#f5f7f9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.65;}
.wrap{max-width:1040px; margin:0 auto; padding:0 24px;}
.wrap.narrow{max-width:720px;}
h1,h2,h3{color:var(--navy); line-height:1.2;}
h2{font-size:30px; margin:0 0 14px;}
h2.centered{text-align:center;}
.section-intro{text-align:center; color:var(--muted); max-width:620px; margin:0 auto 36px;}
img{max-width:100%;}

/* Header */
.site-header{background:#fff; text-align:center; padding:26px 24px 18px;}
.brand{display:inline-flex; flex-direction:column; align-items:center; gap:8px; text-decoration:none;}
.brand-mark{display:block; height:78px; width:auto;}
.brand-name{font-size:31px; font-weight:700; letter-spacing:2.5px; color:var(--navy);}
.brand-tag{font-size:13.5px; color:var(--muted); letter-spacing:1px;}
.navbar{position:sticky; top:0; z-index:20; background:#eef1f4;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.navbar-inner{max-width:1040px; margin:0 auto; position:relative;
  display:flex; align-items:center; justify-content:center; gap:30px; padding:13px 24px;}
.navbar-inner a{color:var(--navy); text-decoration:none; font-size:15px; font-weight:500;}
.navbar-inner a:hover,.navbar-inner a.active{color:var(--steel);}
.nav-social{position:absolute; right:24px; display:inline-flex; align-items:center;}
.nav-social svg{width:18px; height:18px; fill:var(--navy);}
.nav-social:hover svg{fill:var(--steel);}
.nav-toggle,.nav-burger{display:none;}

/* Hero (home) */
.hero{color:#fff; text-align:center; padding:96px 24px 104px;
  background-color:var(--navy);
  background-image:linear-gradient(135deg,rgba(8,24,42,.52),rgba(10,44,71,.7)),url('images/hero-aerospace.jpg');
  background-size:cover; background-position:center;}
.hero-inner{max-width:780px; margin:0 auto;}
.eyebrow{text-transform:uppercase; letter-spacing:3px; font-size:12.5px; color:#9ecbe8; margin:0 0 16px;}
.hero h1{color:#fff; font-size:48px; margin:0 0 20px;}
.lede{font-size:19px; color:#dbe6ef; margin:0 0 32px;}
.hero-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn-primary,.btn-ghost{display:inline-block; padding:13px 28px; border-radius:999px;
  font-size:15px; font-weight:600; text-decoration:none; cursor:pointer; border:2px solid transparent;}
.btn-primary{background:var(--steel); color:#fff;}
.btn-primary:hover{background:#2491cf;}
.btn-ghost{background:transparent; color:#fff; border-color:#5b7d98;}
.btn-ghost:hover{background:rgba(255,255,255,.1);}

/* Inner page banner */
.page-hero{color:#fff; text-align:center; padding:60px 24px;
  background-image:linear-gradient(135deg,#0e3a5c,#0a2c47);}
.page-hero h1{color:#fff; font-size:36px; margin:0 0 8px;}
.page-hero p{color:#dbe6ef; margin:0; font-size:17px;}

/* Bands */
.band{padding:68px 0;}
.band.alt{background:var(--bg-alt);}

/* Media rows (image + text) */
.media{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.media.rev .media-img{order:2;}
.media-img img{width:100%; border-radius:14px; display:block; box-shadow:0 6px 24px rgba(14,58,92,.12);}
.media h2{margin-top:0;}
.media p{color:var(--muted);}

/* Cards */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px;}
.card{background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 24px;}
.card h3{font-size:18px; margin:14px 0 8px;}
.card p{margin:0; color:var(--muted); font-size:15px;}
.card-mark{display:block; width:40px; height:40px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040%2040'%3E%3Ccircle%20cx='20'%20cy='20'%20r='16'%20fill='none'%20stroke='%239AA7B4'%20stroke-width='2'/%3E%3Cpolyline%20points='12,27%2020,16%2028,27'%20fill='none'%20stroke='%231C7FB8'%20stroke-width='3.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-size:contain;}

/* Sectors */
.sectors{list-style:none; padding:0; margin:0; display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px;}
.sectors li{background:#fff; border:1px solid var(--line); border-left:4px solid var(--steel);
  border-radius:0 8px 8px 0; padding:16px 18px; font-weight:600; color:var(--navy);}

/* Values */
.grid.four{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.value-head{color:var(--navy); font-weight:700; font-size:17px; margin:0 0 6px;}
.value p{color:var(--muted); font-size:15px; margin:0;}

/* CTA band */
.cta-band{background:var(--navy); color:#fff; text-align:center; padding:56px 24px;}
.cta-band h2{color:#fff;}
.cta-band p{color:#dbe6ef; max-width:560px; margin:0 auto 24px;}

/* Contact */
.contact .row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.contact label{display:block; margin:16px 0 6px; font-size:14px; color:var(--muted);}
.contact input,.contact textarea{width:100%; padding:12px; border:1px solid var(--line);
  border-radius:8px; font-family:inherit; font-size:15px; background:#fff;}
.contact input:focus,.contact textarea:focus{outline:2px solid var(--steel); border-color:var(--steel);}
.contact button{background:var(--navy); color:#fff; margin-top:22px; width:100%; border:0;
  padding:14px; border-radius:999px; font-size:15px; font-weight:600; cursor:pointer;}
.contact button:hover{background:var(--steel);}
#form-status{margin-top:14px; color:var(--muted); font-size:14px; min-height:1em; text-align:center;}

/* Footer */
.site-footer{background:var(--navy); color:#cfe0ec; padding:36px 0;}
.footer-inner{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.footer-name{color:#fff; font-weight:700; margin:0;}
.footer-tag{margin:0; font-size:13px; color:#9ecbe8;}
.footer-nav{display:flex; gap:16px;}
.footer-nav a{color:#cfe0ec; text-decoration:none; font-size:14px;}
.footer-nav a:hover{color:#fff;}
.footer-copy{margin-left:auto; font-size:13px; color:#9ecbe8;}

@media (max-width:760px){
  .brand-mark{height:64px;} .brand-name{font-size:25px;}
  .nav-burger{display:block; text-align:center; font-size:26px; color:var(--navy); cursor:pointer; padding:8px 0; line-height:1;}
  .navbar-inner{display:none; flex-direction:column; gap:14px; padding:6px 0 16px;}
  .nav-toggle:checked ~ .navbar-inner{display:flex;}
  .nav-social{position:static;}
  .hero h1{font-size:34px;} .page-hero h1{font-size:28px;} h2{font-size:25px;}
  .media{grid-template-columns:1fr; gap:22px;} .media.rev .media-img{order:0;}
  .contact .row{grid-template-columns:1fr;}
  .footer-copy{margin-left:0;} .footer-nav{flex-wrap:wrap;}
}
