.de-colors{--primary:#00002f;--accent:#930000;--white:#FFFFFF;--gray:#8b93a7;--gray-2:#2a3142;--bg:#000018;--ink:#e9edf5;--shadow:0 10px 30px rgba(0,0,0,.35)}
*{margin:0;padding:0;box-sizing:border-box}
body{background:radial-gradient(1200px 800px at 50% -10%, rgba(0,0,47,.5), transparent) , linear-gradient(180deg, #000020, #000014);color:var(--ink,#fff);font-family:"Montserrat", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";overflow-x:hidden;-webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
.hero{position:relative;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-1;filter:brightness(0.6)}
.hero-content h1{font-size:5rem;letter-spacing:-.02em;font-weight:600;line-height:1}
.hero-content p{font-size:1.25rem;margin:1rem 0 2rem;color:#ccc}
.btn{display:inline-block;padding:.75rem 2rem;border:1px solid var(--white,#fff);text-decoration:none;color:var(--white,#fff);transition:.3s;background:transparent}
.btn:hover{background:var(--white,#fff);color:#000}
.page{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#111;text-align:center}
.page h1{font-size:3rem;margin-bottom:1rem}
.page p{max-width:700px;color:#ddd}

/* Typography helpers */
.font-display{font-family:"Libre Caslon Display", "Libre Caslon Text", "Times New Roman", Times, serif}
.font-sans{font-family:"Montserrat", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial}

/* Parallax gallery */
.gallery{position:relative;isolation:isolate;width:100%;max-width:1100px;margin:2rem auto 0;aspect-ratio:16/9;overflow:hidden;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg, rgba(0,0,47,.55), rgba(0,0,24,.55))}
.layer{position:absolute;inset:auto;will-change:transform;filter:saturate(1.05) contrast(1.05)}
.layer img{display:block;width:100%;height:auto;pointer-events:none}
.layer.l1{top:6%;left:-6%;width:46%}
.layer.l2{top:18%;right:-8%;width:48%}
.layer.l3{bottom:-6%;left:18%;width:42%}
.layer.overlay{inset:0;background:radial-gradient(60% 80% at 50% 10%, transparent, rgba(0,0,0,.45));pointer-events:none}
.container{max-width:1080px;margin:0 auto;padding:48px 20px;min-height:100vh;display:flex;align-items:center;justify-content:center}
.stack{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}
.brand{letter-spacing:.06em;text-transform:none;color:#e3e8f7;font-size:3.2rem;line-height:1.02}
.headline{font-size:2.4rem;line-height:1.06;color:#cbd3e6}
.lede{max-width:720px;margin:0 auto;color:#cbd3e6}
.rail{display:grid;grid-template-columns:1fr;gap:20px;margin-top:28px;justify-items:center}
.media{position:relative;isolation:isolate;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg, rgba(0,0,47,.55), rgba(0,0,24,.55));box-shadow:var(--shadow)}
.media .layers{position:absolute;inset:0;perspective:800px;transform-style:preserve-3d}
.media .layer{position:absolute;will-change:transform;filter:saturate(1.05) contrast(1.05)}
.media .layer img{display:block;width:100%;height:auto}
.media .overlay{position:absolute;inset:0;background:radial-gradient(70% 90% at 50% 10%, rgba(0,0,0,.0), rgba(0,0,0,.55));pointer-events:none}
.flight-line{height:2px;width:0;background:linear-gradient(90deg, var(--primary), var(--accent));margin:6px auto 0;border-radius:2px}
.controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.input{background:#0d1220;border:1px solid #1d2435;border-radius:12px;padding:.9rem 1rem;color:#fff;min-width:280px}
.btn-primary{background:#0f1630;color:#fff;border-radius:12px;border:1px solid #2a3350;padding:.95rem 1.2rem;font-weight:600;cursor:pointer;transition:transform .3s ease, box-shadow .3s ease}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.capsule{display:inline-flex;align-items:center;gap:10px;border:1px solid #242b3d;color:#c7cfe3;border-radius:999px;padding:.5rem .8rem;margin-top:18px}
.dot-small{width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* Map container styled like media */
.map-wrap{width:100%;max-width:1080px;margin-top:28px}
.map{position:relative;isolation:isolate;aspect-ratio:16/9;min-height:320px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.06);box-shadow:var(--shadow)}
.map #map{position:absolute;inset:0}

@media (min-width: 880px){
  .brand{font-size:4.6rem}
  .headline{font-size:3.2rem}
  .rail{grid-template-columns:1fr}
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important}
}
