:root{
  --red:#C8102E; --red-dk:#9e0c23; --ink:#20272e; --charcoal:#1b2024;
  --muted:#5a6b7b; --line:#e4e6ea; --bg:#ffffff; --bg-alt:#f5f6f8;
}
*{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:1140px; margin:0 auto; padding:0 24px;}
.wrap.narrow{max-width:720px;}
h1,h2,h3{color:var(--ink); line-height:1.2;}
img{max-width:100%;}
a{color:var(--red);}

/* Section heading with red underline (AMP style) */
.head{font-size:30px; margin:0 0 20px; position:relative; padding-bottom:12px;}
.head::after{content:""; position:absolute; left:0; bottom:0; width:56px; height:3px; background:var(--red);}
.head.centered{text-align:center;}
.head.centered::after{left:50%; transform:translateX(-50%);}
.section-intro{color:var(--muted); max-width:640px; margin:0 0 30px;}
.section-intro.centered{text-align:center; margin-left:auto; margin-right:auto;}

/* Top utility bar */
.topbar{background:var(--red); color:#fff; font-size:15.5px;}
.topbar-inner{max-width:none; margin:0; padding:12px 44px;
  display:flex; align-items:center; gap:24px; flex-wrap:wrap;}
.topbar a{color:#fff; text-decoration:none; display:inline-flex; align-items:center; gap:7px;}
.topbar a:hover{opacity:.85;}
.topbar svg{width:16px; height:16px; fill:#fff;}
.topbar .tb-right{margin-left:auto; display:inline-flex; align-items:center; gap:18px;}
.tb-strap{font-weight:600; letter-spacing:.3px;}

/* Header: logo left, nav right */
.site-header{background:#fff; position:sticky; top:0; z-index:30;
  border-bottom:1px solid var(--line); box-shadow:0 1px 8px rgba(20,39,51,.05);}
.header-inner{max-width:none; margin:0; padding:22px 44px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:inline-flex; align-items:center; text-decoration:none;}
.brand img{height:112px; width:auto; display:block;}
.navbar-inner{display:flex; align-items:center; gap:26px;}
.navbar-inner a{color:var(--ink); text-decoration:none; font-size:14.5px;
  font-weight:600; letter-spacing:.4px; text-transform:uppercase; padding:6px 0;
  border-bottom:2px solid transparent;}
.navbar-inner a:hover,.navbar-inner a.active{color:var(--red); border-bottom-color:var(--red);}
.nav-social{display:inline-flex; align-items:center; border-bottom:0 !important;}
.nav-social svg{width:18px; height:18px; fill:var(--ink);}
.nav-social:hover svg{fill:var(--red);}
.nav-toggle,.nav-burger{display:none;}

/* Hero */
.hero{color:#fff; text-align:center; padding:104px 24px 112px;
  background-color:var(--charcoal);
  background-image:linear-gradient(rgba(20,25,30,.62),rgba(20,25,30,.68)),url('images/hero-aerospace.jpg');
  background-size:cover; background-position:center;}
.hero-inner{max-width:800px; margin:0 auto;}
.eyebrow{text-transform:uppercase; letter-spacing:3px; font-size:12.5px; color:#f2b8bf; margin:0 0 16px;}
.hero h1{color:#fff; font-size:46px; margin:0 0 18px; font-weight:800;}
.lede{font-size:19px; color:#e7eb0; color:#e9edf1; margin:0 0 30px;}
.hero-actions{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.btn-primary,.btn-ghost{display:inline-block; padding:13px 30px; border-radius:4px;
  font-size:14.5px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:2px solid transparent;}
.btn-primary{background:var(--red); color:#fff;}
.btn-primary:hover{background:var(--red-dk);}
.btn-ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.6);}
.btn-ghost:hover{background:rgba(255,255,255,.12);}

/* Inner page banner */
.page-hero{color:#fff; text-align:center; padding:62px 24px;
  background-color:var(--charcoal);
  background-image:linear-gradient(135deg,#242c33,#15191d);}
.page-hero h1{color:#fff; font-size:38px; margin:0 0 8px; font-weight:800;}
.page-hero p{color:#cdd4da; margin:0; font-size:17px;}

/* Bands */
.band{padding:66px 0;}
.band.alt{background:var(--bg-alt);}
.band.dark{background:var(--charcoal); color:#dfe4e9;}
.band.dark .head{color:#fff;}

/* Media rows */
.media{display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center;}
.media.rev .media-img{order:2;}
.media-img img{width:100%; border-radius:6px; display:block; box-shadow:0 10px 30px rgba(20,25,30,.16);}
.media p{color:var(--muted);}
.media.rev p{color:var(--muted);}

/* Cards */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:22px;}
.card{background:#fff; border:1px solid var(--line); border-top:3px solid var(--red);
  border-radius:4px; padding:26px 24px;}
.card h3{font-size:18px; margin:0 0 8px; color:var(--ink);}
.card p{margin:0; color:var(--muted); font-size:15px;}

/* Process steps */
.steps{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px; counter-reset:step;}
.step{background:#fff; border:1px solid var(--line); border-radius:4px; padding:26px 22px; position:relative;}
.step::before{counter-increment:step; content:"0" counter(step);
  font-size:30px; font-weight:800; color:var(--red); display:block; margin-bottom:8px;}
.step h3{font-size:16px; margin:0 0 6px;}
.step p{margin:0; color:var(--muted); font-size:14.5px;}

/* Benefits / checklist */
.checks{list-style:none; padding:0; margin:0; display:grid;
  grid-template-columns:1fr 1fr; gap:14px 34px;}
.checks li{position:relative; padding-left:30px; color:var(--muted);}
.checks li::before{content:""; position:absolute; left:0; top:7px; width:16px; height:16px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20fill='%23C8102E'%20d='M9%2016.2l-3.5-3.5L4%2014.2l5%205%2011-11-1.5-1.5z'/%3E%3C/svg%3E");
  background-size:contain; background-repeat:no-repeat;}

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

/* Standards strip */
.standards{display:flex; flex-wrap:wrap; justify-content:center; gap:16px; margin-top:8px;}
.standards .std{border:1px solid var(--line); border-radius:6px; background:#fff;
  padding:16px 24px; text-align:center; min-width:150px;}
.std-name{font-weight:800; color:var(--ink); font-size:17px; letter-spacing:.5px;}
.std-desc{font-size:12.5px; color:var(--muted); margin-top:2px;}

/* CTA band */
.cta-band{background:var(--red); color:#fff; text-align:center; padding:54px 24px;}
.cta-band h2{color:#fff; margin:0 0 10px;}
.cta-band p{color:#ffe1e5; max-width:580px; margin:0 auto 22px;}
.cta-band .btn-ghost{border-color:#fff;}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.14);}

/* Careers */
.notice{background:var(--bg-alt); border:1px solid var(--line); border-left:4px solid var(--red);
  border-radius:0 6px 6px 0; padding:28px 30px; text-align:center;}
.notice h2{margin:0 0 8px; font-size:22px;}
.notice p{margin:0; color:var(--muted);}

/* Contact */
.contact label{display:block; margin:16px 0 6px; font-size:14px; color:var(--muted); font-weight:600;}
.contact .row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.contact input,.contact textarea{width:100%; padding:12px; border:1px solid var(--line);
  border-radius:4px; font-family:inherit; font-size:15px; background:#fff;}
.contact input:focus,.contact textarea:focus{outline:2px solid var(--red); border-color:var(--red);}
.contact button{background:var(--red); color:#fff; margin-top:22px; width:100%; border:0;
  padding:14px; border-radius:4px; font-size:15px; font-weight:700; letter-spacing:.5px;
  text-transform:uppercase; cursor:pointer;}
.contact button:hover{background:var(--red-dk);}
#form-status{margin-top:14px; color:var(--muted); font-size:14px; min-height:1em; text-align:center;}
.contact-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:start;}
.contact-info h3{margin:0 0 6px; font-size:16px;}
.contact-info p{margin:0 0 20px; color:var(--muted); font-size:15px;}
.contact-info a{color:var(--red); text-decoration:none;}

/* Footer */
.site-footer{background:var(--charcoal); color:#aeb6bf; padding:44px 0 28px;}
.footer-top{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:34px; margin-bottom:30px;}
.footer-logo{height:46px; margin-bottom:14px;}
.footer-col h4{color:#fff; font-size:14px; letter-spacing:1px; text-transform:uppercase; margin:0 0 14px;}
.footer-col p{margin:0 0 10px; font-size:14px;}
.footer-col a{display:block; color:#aeb6bf; text-decoration:none; font-size:14px; margin-bottom:9px;}
.footer-col a:hover{color:#fff;}
.footer-about{font-size:14px; max-width:340px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:18px;
  display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; color:#8b949d;}

@media (max-width:860px){
  .header-inner{flex-wrap:wrap; padding:16px 20px;}
  .topbar-inner{padding-left:20px; padding-right:20px;}
  .brand img{height:76px;}
  .nav-burger{display:block; font-size:26px; color:var(--ink); cursor:pointer; line-height:1; background:none; border:0;}
  .navbar-inner{display:none; width:100%; flex-direction:column; align-items:flex-start; gap:4px; padding-top:10px;}
  .navbar-inner a{width:100%; padding:10px 0; border-bottom:1px solid var(--line);}
  .navbar-inner a:hover,.navbar-inner a.active{border-bottom-color:var(--line);}
  .nav-toggle:checked ~ .navbar-inner{display:flex;}
  .hero h1{font-size:33px;} .page-hero h1{font-size:28px;} .head{font-size:25px;}
  .media{grid-template-columns:1fr; gap:24px;} .media.rev .media-img{order:0;}
  .checks{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr; gap:28px;}
  .contact .row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:22px;}
  .topbar .tb-strap{display:none;}
}
