:root { color-scheme:dark; --bg:#0b0e0d; --text:#eeeae2; --muted:#b1b6ae; --accent:#ceb184; --line:#343b34; --max:1280px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; background:var(--bg); }
body { margin:0; color:var(--text); background:var(--bg); font-family:'Bahnschrift','Segoe UI',Arial,sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
::selection { background:var(--accent); color:var(--bg); }
.shell { width:min(var(--max),calc(100% - 96px)); margin-inline:auto; }
.skip-link { position:fixed; left:20px; top:-90px; z-index:200; background:var(--text); color:var(--bg); padding:12px 18px; }
.skip-link:focus { top:12px; }
.site-header { position:sticky; top:0; z-index:100; background:rgba(11,14,13,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.nav-shell { width:min(var(--max),calc(100% - 96px)); height:88px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.brand { flex-shrink:0; }
.brand-wordmark { display:block; font-size:23px; font-weight:800; letter-spacing:.12em; line-height:1; }
.brand-wordmark b { display:block; font-size:9px; font-weight:500; letter-spacing:.48em; color:var(--accent); margin-top:9px; }
.site-nav { display:flex; align-items:center; gap:32px; }
.site-nav a { font-size:11px; text-transform:uppercase; letter-spacing:.16em; color:#c4c8bf; padding-block:12px; }
.site-nav a:hover { color:var(--accent); }
.site-nav .nav-contact { padding:12px 17px; border:1px solid #6b705e; color:var(--text); }
.nav-contact span { margin-left:18px; color:var(--accent); }
.nav-toggle { display:none; background:none; border:1px solid var(--line); color:var(--text); padding:10px 15px; min-height:44px; }
.hero { position:relative; overflow:hidden; padding:84px 0 0; background:radial-gradient(ellipse at 86% 40%,#25291f 0%,transparent 52%),var(--bg); }
.hero-grid { pointer-events:none; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(#63715b 1px,transparent 1px),linear-gradient(90deg,#63715b 1px,transparent 1px); background-size:90px 90px; mask-image:linear-gradient(90deg,transparent 30%,#000); }
.hero-glow { display:none; }
.hero-inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:64px; align-items:center; }
.eyebrow { margin:0 0 24px; color:var(--accent); font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.section-number { color:#9ca895; margin-right:15px; }
.hero h1 { font-size:clamp(58px,6.5vw,98px); line-height:.94; letter-spacing:-.035em; margin:0 0 30px; font-weight:800; }
.hero h1 span { color:var(--accent); }
.hero h1 sup { font-size:.21em; vertical-align:top; display:inline-block; margin:.18em 0 0 .1em; letter-spacing:0; }
.lede { max-width:490px; color:var(--muted); font-size:16px; margin:0 0 30px; line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:15px 19px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; min-height:48px; border:1px solid var(--line); transition:background .2s,border-color .2s; }
.button span { font-size:17px; line-height:1; }
.button.primary { color:#111610; background:var(--accent); border-color:var(--accent); }
.button.primary:hover { background:#e4c99f; }
.button.ghost:hover { border-color:var(--accent); background:#20271e; }
.status-line { display:flex; flex-wrap:wrap; gap:8px 17px; margin-top:29px; font-size:8px; letter-spacing:.12em; color:#abb2a5; }
.status-line span:last-child { display:inline-flex; align-items:center; gap:7px; }
.status-line span:last-child::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--accent); }
.hero-plate { min-width:0; position:relative; padding:30px 0; }
.hero-plate::before { content:''; position:absolute; inset:0 -18px; border:1px solid #526047; opacity:.45; clip-path:polygon(0 0,18% 0,18% 1%,82% 1%,82% 0,100% 0,100% 100%,82% 100%,82% 99%,18% 99%,18% 100%,0 100%); }
.plate-frame { border:1px solid #6b6b55; box-shadow:0 30px 80px #0008; }
.plate-frame img { width:100%; height:auto; }
.plate-caption { display:flex; justify-content:space-between; gap:10px; margin-top:18px; color:#b1b9a8; font-size:9px; letter-spacing:.16em; }
.hero-scroll { position:relative; display:flex; justify-content:space-between; align-items:center; margin-top:68px; padding:22px 0; border-top:1px solid var(--line); color:#abb2a5; font-size:9px; letter-spacing:.18em; }
.hero-scroll span:last-child { color:var(--accent); font-size:21px; }
.section { padding:104px 0; }
.section-dark { background:#131914; border-block:1px solid var(--line); }
.section-heading { max-width:740px; margin-bottom:46px; }
h2 { font-size:clamp(36px,4.3vw,62px); font-weight:600; letter-spacing:-.04em; line-height:1.09; margin:0 0 25px; }
.section-heading p:last-child,.company-panel p,.contact p,.engineering-copy > p { color:var(--muted); font-size:16px; }
.pillar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #4a5345; }
.pillar { padding:29px 28px 5px; border-right:1px solid var(--line); }
.pillar:first-child { padding-left:0; }
.pillar:last-child { border-right:0; padding-right:0; }
.pillar-index { font-size:12px; color:var(--accent); font-family:Consolas,monospace; }
.pillar h3 { font-size:20px; font-weight:500; line-height:1.25; margin:37px 0 17px; }
.pillar p { font-size:14px; color:var(--muted); margin:0; line-height:1.8; }
.split-heading { max-width:none; display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:100px; }
.split-heading > p { max-width:480px; }
.platform-list { display:grid; gap:20px; }
.platform-card { position:relative; border:1px solid #3d4639; background:linear-gradient(110deg,#1f281d,#121713); }
.platform-card.utility { background:linear-gradient(110deg,#28251d,#171713); }
.platform-card.civilian { background:linear-gradient(110deg,#1f2528,#131717); }
.platform-topline { display:flex; justify-content:space-between; gap:16px; padding:15px 30px; border-bottom:1px solid #ffffff12; font-size:9px; letter-spacing:.19em; color:#bcc4b4; }
.platform-topline span:last-child { color:#b1b6ae; letter-spacing:.1em; }
.platform-body { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:38px 30px 42px; }
.platform-code { color:var(--accent); font-size:11px; letter-spacing:.22em; margin:0 0 9px; }
.platform-body h3 { font-size:clamp(24px,2.8vw,39px); line-height:1.05; letter-spacing:-.025em; margin:0; }
.platform-body > p { color:#c1c5bb; font-size:15px; margin:0; max-width:550px; }
.section-engineering { background:#dfded4; color:#172018; }
.section-engineering .eyebrow { color:#575f43; }
.section-engineering .section-number { color:#606958; }
.engineering-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.engineering-copy > p { color:#495244; margin-top:0; }
.check-list { list-style:none; padding:0; margin:29px 0 0; border-top:1px solid #b0b4a4; }
.check-list li { position:relative; border-bottom:1px solid #b0b4a4; padding:14px 0 14px 28px; font-size:14px; color:#2c382b; }
.check-list li::before { content:'+'; position:absolute; left:0; color:#556149; }
.company-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; align-items:center; }
.company-panel h2 { font-size:clamp(34px,3.7vw,54px); }
.company-facts { border-top:1px solid #5b6651; }
.company-identity { min-width:0; }
.company-patch { margin:0 0 32px; }
.company-patch img { width:100%; height:auto; }
.company-facts div { padding:23px 0; border-bottom:1px solid var(--line); }
.company-facts span { display:block; color:var(--accent); font-size:9px; letter-spacing:.18em; margin-bottom:7px; }
.company-facts strong { font-size:16px; font-weight:400; color:#d0d4c9; }
.contact { background:#192118; border-block:1px solid #434e39; }
.contact-inner { text-align:center; max-width:930px; }
.contact h2 { font-size:clamp(36px,4.5vw,65px); }
.contact-inner > p:not(.eyebrow) { max-width:660px; margin-inline:auto; }
.contact-email { display:inline-block; font-size:clamp(20px,3vw,38px); letter-spacing:-.015em; border-bottom:1px solid #a4ac91; padding-bottom:10px; margin:22px 0 12px; overflow-wrap:anywhere; }
.contact-email:hover { color:var(--accent); }
.contact-name { font-size:12px !important; color:#c0c6b5 !important; }
.site-footer { padding:44px 0; background:#080c09; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.footer-brand { font-size:14px; letter-spacing:.1em; }
.footer-brand b { color:#b1b7a8; font-weight:400; }
.footer-tagline { font-size:9px; letter-spacing:.18em; color:var(--accent); margin-top:8px; }
.footer-meta { text-align:right; font-size:11px; color:#a3ac9a; }
.footer-meta p { margin:6px 0; }
.will-reveal { opacity:0; transform:translateY(16px); transition:opacity .6s ease,transform .6s ease; }
.will-reveal.in-view { opacity:1; transform:none; }
@media(min-width:1600px) { .hero { padding-top:104px; } }
@media(max-width:1100px) {
  .shell,.nav-shell { width:calc(100% - 64px); }
  .hero-inner { gap:40px; }
  .hero h1 { font-size:clamp(56px,7vw,77px); }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .hero .eyebrow { max-width:290px; }
  .pillar { padding-inline:20px; }
  .split-heading,.engineering-grid,.company-grid { gap:50px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:90px; }
  .shell,.nav-shell { width:calc(100% - 40px); }
  .nav-shell { height:74px; }
  .brand-wordmark { font-size:20px; }
  .brand-wordmark b { font-size:8px; }
  .nav-toggle { display:block; }
  .site-nav { position:absolute; top:73px; left:0; right:0; display:none; padding:15px 20px 22px; background:#111711; border-bottom:1px solid #5b6651; box-shadow:0 18px 30px #0005; }
  .site-nav.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .site-nav a { padding:15px 10px; border-bottom:1px solid var(--line); }
  .site-nav .nav-contact { margin-top:12px; }
  .hero { padding-top:46px; }
  .hero-inner { grid-template-columns:1fr; gap:46px; }
  .hero h1 { font-size:clamp(54px,13.9vw,95px); }
  .hero .eyebrow { max-width:none; font-size:9px; }
  .hero-actions { flex-direction:row; align-items:stretch; }
  .lede { font-size:15px; max-width:560px; }
  .hero-plate { padding:16px 0; }
  .hero-plate::before { inset-inline:-9px; }
  .plate-caption { font-size:8px; margin-top:13px; }
  .hero-scroll { margin-top:35px; }
  .section { padding:70px 0; }
  .eyebrow { font-size:9px; margin-bottom:20px; }
  h2 { font-size:clamp(34px,7vw,46px); }
  .section-heading { margin-bottom:30px; }
  .pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pillar { padding:24px 20px 26px 0; border-bottom:1px solid var(--line); }
  .pillar:nth-child(even) { padding:24px 0 26px 20px; border-right:0; }
  .pillar h3 { font-size:19px; margin-top:25px; }
  .split-heading,.engineering-grid,.company-grid { grid-template-columns:1fr; gap:24px; }
  .split-heading > p { max-width:none; margin-top:0; }
  .platform-topline { padding:14px 20px; font-size:8px; }
  .platform-body { grid-template-columns:1fr; gap:22px; padding:26px 20px 30px; }
  .platform-body h3 { font-size:29px; }
  .company-grid { gap:36px; }
  .company-panel h2 { font-size:38px; }
  .contact-email { font-size:clamp(17px,4.6vw,28px); }
  .footer-grid { grid-template-columns:1fr; gap:25px; }
  .footer-meta { text-align:left; }
}
@media(max-width:380px) {
  .hero-actions { flex-direction:column; }
  .pillar-grid { grid-template-columns:1fr; }
  .pillar,.pillar:nth-child(even) { padding:24px 0; border-right:0; }
  .company-panel h2 { font-size:33px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none !important; animation:none !important; }
  .will-reveal { opacity:1; transform:none; }
}
