:root{--bg:#06101a;--bg2:#0a1824;--ink:#f7f9fb;--muted:#9babb8;--blue:#68bddc;--blue2:#246888;--orange:#eca44a;--line:rgba(255,255,255,.12);--shell:1320px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.shell{width:min(calc(100% - 42px),var(--shell));margin:auto}.site-header{position:fixed;z-index:30;left:0;right:0;top:0;background:rgba(3,9,14,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-wrap{height:132px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{display:block;width:500px;height:auto;max-height:126px;object-fit:contain;object-position:left center}.nav-wrap nav{display:flex;gap:30px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.nav-wrap nav a:hover{color:var(--orange)}.small-cta{border:1px solid rgba(236,164,74,.5);padding:12px 16px;color:var(--orange);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero{height:100vh;min-height:760px;max-height:980px;position:relative;display:flex;align-items:center;overflow:hidden;background:#07101a}.hero-photo{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center 50%;transform:scale(1.005)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,15,.97) 0%,rgba(3,9,15,.90) 31%,rgba(3,9,15,.48) 55%,rgba(3,9,15,.16) 82%),linear-gradient(0deg,rgba(3,9,15,.92) 0%,rgba(3,9,15,.18) 40%,rgba(3,9,15,.32) 100%)}.hero-inner{position:relative;z-index:2;padding-top:74px}.hero-copy{max-width:720px}.kicker{color:var(--orange);font-size:12px;letter-spacing:.17em;font-weight:800}.hero h1,.section-head h2,.intro h2,.launch h2,.contact h2{font-family:"Arial Narrow",Arial,"Helvetica Neue",Helvetica,sans-serif;text-transform:uppercase;line-height:.95;margin:18px 0;letter-spacing:-.025em}.hero h1{font-size:clamp(38px,3.7vw,60px);max-width:780px}.hero h1 span{color:var(--blue)}.hero-copy>p{font-size:16px;color:#d4dde4;max-width:610px}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 23px;border:1px solid transparent;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.08em}.primary{background:var(--orange);color:#07101a}.ghost{border-color:rgba(255,255,255,.28);background:rgba(4,10,15,.24)}.trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-top:44px;color:#a5b4c1;font-size:10px;letter-spacing:.12em;font-weight:700}.trust-row i{width:4px;height:4px;border-radius:50%;background:var(--orange)}.photo-credit{position:absolute;right:18px;bottom:13px;z-index:3;color:rgba(255,255,255,.55);font-size:9px;background:rgba(0,0,0,.4);padding:5px 7px}.intro{padding:110px 0;border-top:1px solid var(--line);background:linear-gradient(180deg,#08131d,#06101a)}.split{display:grid;grid-template-columns:1fr .9fr;gap:100px}.intro h2,.section-head h2,.launch h2,.contact h2{font-size:clamp(28px,3vw,44px);font-size:17px;margin-top:0;margin-bottom:22px}.parts{padding:115px 0;background:#08141f}.section-head{display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:end;margin-bottom:50px}.section-head p{color:var(--muted);font-size:15px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.card{background:#0d1b28;border:1px solid var(--line);min-width:0;overflow:hidden}.real-shot{height:270px;background-image:url('https://upload.wikimedia.org/wikipedia/commons/b/b1/EasyJet_airbus_A320_cockpit.jpg');background-repeat:no-repeat;filter:contrast(1.04) saturate(.88);background-color:#09131d}.real-shot.fcu{background-size:460% auto;background-position:51% 34%}.real-shot.pedestal{background-size:330% auto;background-position:51% 77%}.real-shot.controls{background-size:330% auto;background-position:52% 91%}.real-shot.overhead{background-size:290% auto;background-position:50% 3%}.card-body{padding:22px}.tag{font-size:9px;color:var(--orange);letter-spacing:.15em;font-weight:800}.card h3{font-family:"Arial Narrow",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:27px;text-transform:uppercase;margin:8px 0}.card p{color:var(--muted);font-size:13px;min-height:61px}.card small{color:var(--blue);font-size:9px;letter-spacing:.12em;font-weight:800}.services{padding:110px 0;background:#06101a}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.service-grid>div{padding:28px;min-height:260px;border-right:1px solid var(--line)}.service-grid>div:last-child{border-right:0}.service-grid b{color:var(--blue);font-family:"Arial Narrow",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:18px}.service-grid h3{font-family:"Arial Narrow",Arial,"Helvetica Neue",Helvetica,sans-serif;text-transform:uppercase;font-size:25px;margin:38px 0 10px}.service-grid p{color:var(--muted);font-size:13px}.launch{position:relative;padding:90px 0;background:linear-gradient(125deg,#0c2030,#07131e);border-block:1px solid var(--line)}.launch-inner{display:grid;grid-template-columns:230px 1fr .8fr;gap:55px;align-items:center}.launch img{width:260px}.launch p{color:#a8b7c4}.launch-box{border:1px solid rgba(104,189,220,.28);padding:25px;background:rgba(0,0,0,.13)}.launch-box span,.launch-box small{font-size:9px;color:#7f94a5;letter-spacing:.13em}.launch-box strong{display:block;color:var(--orange);font-size:14px;margin-top:6px}.meter{height:5px;background:#142535;margin:18px 0}.meter i{display:block;height:100%;width:64%;background:linear-gradient(90deg,var(--blue2),var(--blue))}.contact{padding:100px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.contact p{color:var(--muted)}footer{padding:55px 0 28px;background:#03090f;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr 1.4fr .7fr;gap:60px}.footer-brand img{width:180px;height:auto;max-height:none}.footer-grid strong{font-size:11px;color:#e2e8ed;letter-spacing:.1em}.footer-grid p,.footer-grid a{display:block;color:#7f909f;font-size:11px;margin:8px 0}.copyright{border-top:1px solid rgba(255,255,255,.07);margin-top:35px;padding-top:20px;color:#607482;font-size:10px}.primary:hover,.small-cta:hover{filter:brightness(1.08)}
@media(max-width:1000px){.nav-wrap nav{display:none}.hero{height:820px;min-height:720px}.hero-shade{background:linear-gradient(90deg,rgba(3,9,15,.96),rgba(3,9,15,.55))}.split,.section-head,.launch-inner{grid-template-columns:1fr;gap:30px}.cards{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.service-grid>div:nth-child(2){border-right:0}.service-grid>div{border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr}.contact-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.shell{width:min(calc(100% - 26px),var(--shell))}.nav-wrap{height:82px}.brand img{width:235px}.small-cta{display:none}.hero{height:760px;min-height:700px}.hero-photo{object-position:58% center}.hero h1{font-size:54px}.hero-copy>p{font-size:16px}.trust-row{display:none}.cards{grid-template-columns:1fr}.real-shot{height:300px}.service-grid{grid-template-columns:1fr}.service-grid>div{border-right:0}.contact{padding:75px 0}.photo-credit{font-size:7px;left:12px;right:auto}}


/* PHP hosting compatibility / safe rendering */
html, body { width:100%; min-height:100%; }
img { max-width:100%; }
.hero-photo { z-index:0; }
.hero-shade { z-index:1; }
.site-header { width:100%; }
@supports not (backdrop-filter: blur(18px)) {
  .site-header { background:rgba(3,9,14,.96); }
}

.legal-page{padding:140px 0 90px;min-height:100vh;background:linear-gradient(180deg,#07131e,#06101a)}
.legal-card{max-width:960px;background:#0b1824;border:1px solid rgba(255,255,255,.09);padding:34px 38px;margin-top:28px}
.legal-card h1{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:52px;margin:0 0 28px}
.legal-card h2{font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:24px;margin:34px 0 10px;color:#e8edf1}
.legal-card h3{font-size:16px;margin:24px 0 8px;color:#e8edf1}
.legal-card p,.legal-card li{color:#9babb8;font-size:14px}
.legal-card a{color:var(--blue)}
.legal-card ul{padding-left:20px}
.legal-note{border-left:3px solid var(--orange);padding:12px 16px;background:rgba(236,164,74,.05);margin:24px 0}
@media(max-width:620px){.legal-page{padding-top:105px}.legal-card{padding:24px 20px}.legal-card h1{font-size:38px}}

.header-right{display:flex;align-items:center;gap:18px}
.lang-switch{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em}
.lang-switch a{color:#738796}
.lang-switch a.active,.lang-switch a:hover{color:var(--orange)}
.lang-switch span{color:#394b59}


/* =========================================================
   CONTACT MODAL — in-page overlay, no separate browser window
   ========================================================= */
html.modal-open,
body.modal-open{
  overflow:hidden !important;
}

.contact-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.contact-modal.is-open{
  display:flex;
}

.contact-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.contact-modal-dialog{
  position:relative;
  z-index:1;
  width:min(1100px, 94vw);
  height:min(860px, 90vh);
  background:#07131e;
  border:1px solid rgba(236,164,74,.36);
  box-shadow:0 32px 100px rgba(0,0,0,.72);
  overflow:hidden;
}

.contact-modal-close{
  position:absolute;
  top:12px;
  right:14px;
  z-index:4;
  width:42px;
  height:42px;
  border:1px solid rgba(236,164,74,.48);
  background:#08131c;
  color:#eca44a;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
}

.contact-modal-close:hover{
  background:#eca44a;
  color:#061018;
}

.contact-modal-frame{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#07131e;
}

@media(max-width:760px){
  .contact-modal{
    padding:0;
  }

  .contact-modal-dialog{
    width:100vw;
    height:100dvh;
    border:0;
  }

  .contact-modal-close{
    position:fixed;
    top:10px;
    right:10px;
  }
}

@media(max-width:760px){
  .brand img{width:300px;max-height:92px}
  .nav-wrap{height:105px}
  .hero h1{font-size:38px}
}


/* Smaller contact modal */
.contact-modal-dialog{
  width:min(820px,88vw)!important;
  height:min(650px,80vh)!important;
}
@media(max-width:760px){
  .contact-modal-dialog{
    width:96vw!important;
    height:88vh!important;
  }
}

/* Compact desktop contact modal */
.contact-modal-dialog{
  width:min(940px,92vw)!important;
  height:min(620px,82vh)!important;
}
@media(max-width:760px){
  .contact-modal-dialog{
    width:96vw!important;
    height:90vh!important;
  }
}

/* Legal pages v1.5 */
.legal-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  max-width:960px;margin:0 auto 18px;
}
.legal-home{font-size:12px;color:#91a4b2}
.legal-home:hover{color:var(--orange)}
.legal-card{max-width:960px!important}
.legal-card h1{font-size:36px!important;line-height:1.05!important}
.legal-card h2{font-size:19px!important;line-height:1.2!important;margin-top:30px!important}
.legal-card p,.legal-card li{font-size:13px!important;line-height:1.62!important}
.legal-card code{background:#07131e;border:1px solid rgba(255,255,255,.08);padding:2px 5px}
.legal-updated{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}

.vat-note{
  max-width:var(--shell);
  width:min(calc(100% - 40px),var(--shell));
  margin:0 auto 28px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.018);
  color:#8093a2;
  font-size:11px;
  line-height:1.5;
}

/* Footer/header refinement v1.5.2 */
.site-header .brand img,
header .brand img{
  width:500px!important;
  max-height:126px!important;
  height:auto!important;
}

footer .footer-brand img,
.footer-brand img{
  width:180px!important;
  max-height:none!important;
  height:auto!important;
}

footer{
  padding-top:44px!important;
}

.footer-inner,
.footer-grid{
  gap:42px!important;
  align-items:start!important;
}

.footer-brand p{
  margin-top:14px!important;
  font-size:12px!important;
}

.footer-copy,
.footer-note,
.footer-legal{
  font-size:12px!important;
  line-height:1.55!important;
}

@media(max-width:760px){
  .site-header .brand img,
  header .brand img{
    width:320px!important;
    max-height:96px!important;
  }

  footer .footer-brand img,
  .footer-brand img{
    width:150px!important;
  }
}


/* =========================================================
   COMPACT LAYOUT v1.6.0
   Reduce oversized sections/cards without changing design.
   ========================================================= */

.section,
.intro,
.services,
.about,
.contact,
.parts,
.showcase{
  padding-top:64px!important;
  padding-bottom:64px!important;
}

.intro{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

.section-head{
  margin-bottom:28px!important;
  gap:38px!important;
}

.section-head h2,
.intro h2,
.services h2,
.about h2,
.contact h2{
  margin-top:8px!important;
  margin-bottom:0!important;
}

.intro-grid,
.about-grid{
  gap:46px!important;
}

.intro-copy p,
.about-copy p{
  margin-top:0!important;
  margin-bottom:14px!important;
}

/* OEM category / product cards */
.card-grid,
.feature-grid,
.products-grid{
  gap:18px!important;
}

.card,
.feature{
  min-height:0!important;
  padding:22px!important;
}

.card-media,
.card-image,
.feature-media{
  height:150px!important;
  min-height:150px!important;
}

.card h3,
.feature h3{
  margin-top:16px!important;
  margin-bottom:8px!important;
}

.card p,
.feature p{
  margin-top:0!important;
  margin-bottom:10px!important;
}

/* Cockpit showcase cards */
.showcase-grid{
  gap:16px!important;
}

.showcase-card{
  min-height:0!important;
}

.showcase-card .image,
.showcase-card img,
.showcase-card .photo{
  height:145px!important;
  min-height:145px!important;
  object-fit:cover!important;
}

.showcase-card .content,
.showcase-card .copy{
  padding:18px!important;
}

/* Service / integration blocks */
.service-grid{
  gap:16px!important;
}

.service-grid article,
.service-card{
  min-height:0!important;
  padding:22px!important;
}

.service-grid h3,
.service-card h3{
  margin-top:10px!important;
  margin-bottom:8px!important;
}

.service-grid p,
.service-card p{
  margin:0!important;
}

/* Shop opening soon block */
.launch{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

.launch-box{
  gap:42px!important;
  min-height:0!important;
}

.launch h2{
  margin-bottom:12px!important;
}

.launch p{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Contact teaser section */
.contact{
  padding-top:54px!important;
  padding-bottom:54px!important;
}

.contact-box{
  gap:34px!important;
}

/* Reduce oversized empty vertical areas */
.hero + .section,
.hero + .intro{
  margin-top:0!important;
}

/* Desktop card proportions */
@media(min-width:900px){
  .card-grid,
  .feature-grid{
    align-items:stretch!important;
  }

  .card,
  .feature{
    max-height:320px!important;
  }
}

/* Tablet/mobile */
@media(max-width:760px){
  .section,
  .intro,
  .services,
  .about,
  .contact,
  .parts,
  .showcase{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }

  .section-head{
    margin-bottom:22px!important;
  }

  .card-media,
  .card-image,
  .feature-media,
  .showcase-card .image,
  .showcase-card img,
  .showcase-card .photo{
    height:125px!important;
    min-height:125px!important;
  }

  .card,
  .feature,
  .service-grid article,
  .service-card{
    padding:18px!important;
  }
}


/* Showcase card visibility fix v1.6.2 */
.parts .card{
  max-height:none!important;
  height:auto!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
}

.parts .real-shot{
  height:185px!important;
  min-height:185px!important;
  flex:0 0 185px!important;
}

.parts .card-body{
  display:block!important;
  padding:17px 18px 18px!important;
  min-height:135px!important;
  overflow:visible!important;
}

.parts .card h3{
  display:block!important;
  margin:7px 0 7px!important;
  font-size:21px!important;
  line-height:1.1!important;
}

.parts .card p{
  display:block!important;
  min-height:42px!important;
  margin:0 0 8px!important;
  font-size:12px!important;
  line-height:1.45!important;
}

.parts .card small,
.parts .card .tag{
  display:block!important;
}

@media(max-width:760px){
  .parts .real-shot{
    height:170px!important;
    min-height:170px!important;
    flex-basis:170px!important;
  }
}
