:root{
  --navy:#07254d;
  --navy-2:#031126;
  --navy-3:#061a36;
  --cyan:#08c6d1;
  --cyan-2:#03a0ce;
  --blue:#0d7fe4;
  --green:#10c3ad;
  --text:#08203f;
  --muted:#5f7084;
  --line:#d9e2ec;
  --soft:#f5f8fc;
  --white:#ffffff;
  --shadow:0 18px 50px rgba(3,17,38,.12);
  --radius:14px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1240px,calc(100% - 52px));margin-inline:auto}

.site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 6px 18px rgba(7,37,77,.08)}
.nav{height:86px;width:min(1300px,calc(100% - 52px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand img{height:60px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.nav-links a:not(.btn):hover{color:var(--cyan-2)}
.menu-toggle{display:none;border:0;background:transparent;font-size:2rem;color:var(--navy)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:12px 24px;border-radius:6px;
  border:1px solid transparent;
  background:linear-gradient(135deg,var(--cyan),#11a5cb);
  color:#fff;font-weight:900;box-shadow:0 12px 28px rgba(8,198,209,.25);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(8,198,209,.30)}
.btn-small{min-height:42px;padding:10px 18px;background:linear-gradient(135deg,#16bac0,#118fb1)}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.7);box-shadow:none}
.btn-outline:hover{background:rgba(255,255,255,.07)}
.btn-ghost{background:#fff;color:var(--navy);border-color:#b9cee2;box-shadow:none}

.hero{position:relative;overflow:hidden;color:#fff;background:#010916}
.hero-bg{position:absolute;inset:0;background:url("assets/hero-airbus-radiocom.png") center center / cover no-repeat;transform:scale(1.01)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,17,.92) 0%, rgba(3,16,38,.88) 19%, rgba(5,31,69,.45) 55%, rgba(5,31,69,.15) 100%)}
.hero-grid{position:relative;z-index:2;min-height:670px;display:grid;grid-template-columns:minmax(0,1.1fr) 320px;align-items:center;gap:32px;padding:56px 0}
.hero-copy{max-width:700px}
.hero h1{margin:0 0 18px;font-size:clamp(2.8rem,5vw,4.45rem);line-height:1.03;font-weight:950;letter-spacing:-.04em}
.hero h1 span{color:var(--green)}
.hero-lead{max-width:650px;font-size:1.18rem;color:#e7eef8;margin:0 0 28px}
.hero-features{display:flex;gap:22px;flex-wrap:wrap;margin:24px 0 32px}
.hero-features div{display:flex;align-items:center;gap:11px;width:calc(50% - 11px);max-width:220px}
.hero-features span{width:38px;height:38px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:1rem;color:#fff;flex:0 0 38px}
.hero-features strong{display:block;font-size:.9rem;line-height:1.18;color:#fff}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.hero-actions .btn{min-width:190px}
.hero-sidecard{justify-self:end;align-self:start;display:grid;gap:18px;width:100%;max-width:320px;margin-top:28px}
.airbus-sidecard{display:grid;gap:14px;padding:24px 22px;background:rgba(5,28,59,.58);border:1px solid rgba(97,151,209,.32);border-radius:16px;box-shadow:0 18px 35px rgba(0,0,0,.20);backdrop-filter:blur(8px)}
.airbus-sidecard img{width:160px;max-width:100%;filter:brightness(0) invert(1)}
.airbus-sidecard strong{font-size:1.08rem;line-height:1.25;color:#fff}
.airbus-sidecard span{display:inline-flex;align-items:center;gap:8px;color:#b9d8ff;font-weight:700;font-size:.92rem}

.trust-bar{background:linear-gradient(90deg,#08264f 0%,#04152f 100%);color:#fff}
.trust-grid{display:grid;grid-template-columns:1.35fr repeat(7,auto);gap:26px;align-items:center;min-height:92px}
.trust-grid span{font-size:.92rem;line-height:1.25;color:#d8e6f3}
.trust-grid strong{font-size:1.55rem;letter-spacing:.01em}
.trust-grid .cfe{color:#40aa58}
.airbus-word{font-size:1.35rem !important}
.airbus-word small{display:block;text-transform:uppercase;font-size:.62rem;line-height:1.2;color:#fff}

.section{padding:72px 0}
.section-head{margin-bottom:34px}
.center{text-align:center}
.section-title,.section-head h2{margin:0 0 10px;font-size:clamp(2rem,3vw,3rem);line-height:1.08;color:var(--navy);letter-spacing:-.03em}
.section-head p{margin:0;color:var(--muted)}

.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(7,37,77,.08);position:relative}
.service-card img{width:100%;height:176px;object-fit:cover;transition:transform .35s ease}
.service-card:hover img{transform:scale(1.04)}
.service-icon{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:-27px 0 12px 18px;background:linear-gradient(135deg,var(--cyan),#13b0bb);color:#fff;border:4px solid #fff;font-size:1.25rem}
.service-card h3{margin:0 18px 10px;font-size:1.14rem;line-height:1.2;color:#12243d}
.service-card ul{margin:0;padding:0 18px 22px 34px;color:#46596f;font-size:.92rem}
.service-card li{margin:5px 0}

.alliances{padding:74px 0;background:linear-gradient(135deg,#04224a 0%,#031126 100%);color:#fff}
.alliances-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px minmax(0,1.02fr);gap:24px;align-items:center}
.eyebrow{margin:0 0 14px;color:var(--cyan);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:900}
.alliances h2{margin:0 0 14px;font-size:2.3rem;line-height:1.12;letter-spacing:-.03em;color:#fff}
.alliances p{color:#d3e3f3;margin:0 0 16px}
.airbus-card-main{background:#fff;color:var(--text);padding:28px;border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.22)}
.airbus-logo-wrap{display:inline-block;margin-bottom:10px}
.airbus-logo-wrap img{width:220px;height:auto}
.airbus-card-main > strong{display:block;text-transform:uppercase;font-size:1.3rem;color:var(--navy);margin-bottom:12px}
.airbus-card-main > p{color:#43566a;margin-bottom:18px}
.airbus-link-inline{margin-top:12px;color:#7a4fd4;font-weight:800;font-size:.9rem}
.award-inline{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid #dde7f1}
.award-image-trigger{display:block;width:120px;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;border-radius:18px}
.award-image-trigger:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.award-image-trigger img{width:120px;height:auto;border-radius:18px;background:transparent;padding:0;box-shadow:none;filter:drop-shadow(0 10px 22px rgba(7,37,77,.10));mix-blend-mode:multiply;transition:transform .2s ease, filter .2s ease}
.award-image-trigger:hover img{transform:scale(1.035);filter:drop-shadow(0 14px 28px rgba(7,37,77,.15));}
.award-inline small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#687b8f;font-weight:900;font-size:.66rem;margin-bottom:4px}
.award-inline strong{font-size:1.08rem;line-height:1.18;color:#12243d}
.award-inline p{margin:6px 0 0;color:#5b6d80;font-size:.86rem}
.airbus-showcase{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:20px;box-shadow:0 18px 36px rgba(0,0,0,.16)}
.airbus-showcase img{width:100%;height:auto;border-radius:12px;margin-bottom:18px}
.airbus-showcase ul{margin:0;padding-left:18px;color:#e5f0fb}
.airbus-showcase li{margin:8px 0}

.sectors{padding:48px 0;background:#fff}
.sector-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}
.sector-grid div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:0 14px;border-right:1px solid var(--line)}
.sector-grid div:last-child{border-right:0}
.sector-grid span{font-size:2rem;color:var(--navy)}
.sector-grid strong{display:block;color:var(--navy);font-size:.96rem;line-height:1.2}
.sector-grid small{display:block;color:#506276;font-size:.82rem;margin-top:2px}

.projects{background:#f5f7fb;padding-top:58px}
.project-wrapper{position:relative}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.project-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 12px 28px rgba(7,37,77,.08)}
.project-card img{width:100%;height:186px;object-fit:cover;transition:transform .35s ease}
.project-card:hover img{transform:scale(1.04)}
.project-card h3{margin:15px 16px 4px;font-size:1rem;color:#12243d}
.project-card p{margin:0 16px 18px;color:#5a6c7f;font-size:.9rem}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:#fff;color:var(--navy);box-shadow:0 12px 25px rgba(7,37,77,.12);display:grid;place-items:center;font-size:2rem}
.slider-arrow.left{left:-20px}
.slider-arrow.right{right:-20px}

.contact{position:relative;overflow:hidden;background:linear-gradient(135deg,#05254d 0%,#031126 100%);color:#fff}
.contact-bg{position:absolute;inset:0;background:url("assets/skyline-nocturno-airbus.png") right bottom / cover no-repeat;opacity:.22;mix-blend-mode:screen}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:48px;align-items:center}
.contact-copy h2{margin:0 0 10px;font-size:2.15rem;line-height:1.1}
.contact-copy p{margin:0 0 24px;color:#d8e7f5;max-width:640px}
.contact-card{display:grid;gap:14px;padding-left:34px;border-left:1px solid rgba(255,255,255,.35)}
.contact-card p{margin:0;color:#e4eef9}
.contact-card span{display:inline-block;width:24px;color:var(--cyan);font-size:1.2rem;margin-right:8px}
.contact-card strong{color:#fff}
.contact-card a{color:#fff}
.contact-card em{font-style:normal;color:#9fe5ff}

.footer{background:#fff;border-top:1px solid #ebf1f7;padding:16px 0;color:#8493a3}
.footer-grid{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}
.footer-brand img{height:44px;width:auto}
.socials{display:flex;gap:10px}
.social-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #c9d5e0;color:var(--navy);font-size:.88rem;font-weight:900}

@media (max-width:1180px){
  .hero-grid,.alliances-grid{grid-template-columns:1fr}
  .hero-sidecard{justify-self:start;align-self:start;max-width:360px;margin-top:8px}
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .project-grid{grid-template-columns:repeat(2,1fr)}
  .sector-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .sector-grid div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}
  .trust-grid{grid-template-columns:repeat(4,1fr);padding:16px 0;min-height:auto}
  .contact-grid{grid-template-columns:1fr}
}

@media (max-width:820px){
  .container,.nav{width:min(100% - 28px,1240px)}
  .nav{height:78px}
  .brand img{height:52px}
  .menu-toggle{display:block}
  .nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 16px;box-shadow:0 18px 36px rgba(7,37,77,.14);flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .hero-grid{min-height:760px;padding:44px 0;gap:24px}
  .hero h1{font-size:2.75rem}
  .hero-lead{font-size:1.02rem}
  .hero-features div{width:100%;max-width:none}
  .service-grid,.project-grid{grid-template-columns:1fr}
  .trust-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .slider-arrow{display:none}
  .footer-grid{grid-template-columns:1fr;text-align:center}
  .footer-brand img{margin:auto}
  .socials{justify-content:center}
}


.lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px;
  background:rgba(0,8,20,.86);
  backdrop-filter:blur(6px);
}
.lightbox.open{display:flex}
.lightbox-content{
  position:relative;
  max-width:min(94vw,1040px);
  width:min(94vw,1040px);
  max-height:88vh;
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#f7f9fc);
  padding:20px 68px 18px;
  box-shadow:0 28px 80px rgba(0,0,0,.45);
}
.lightbox-gallery{display:grid;gap:14px}
.lightbox-stage{
  position:relative;
  display:grid;
  place-items:center;
  min-height:min(70vh,760px);
}
.lightbox-slide{
  display:none;
  max-width:100%;
  max-height:calc(78vh - 70px);
  width:auto;
  height:auto;
  border-radius:16px;
  object-fit:contain;
  box-shadow:0 14px 30px rgba(7,37,77,.10);
}
.lightbox-slide.active{display:block}
.lightbox-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(7,37,77,.12);
  background:rgba(255,255,255,.94);
  color:var(--navy);
  font-size:2.2rem;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(0,0,0,.15);
  z-index:2;
}
.lightbox-nav.prev{left:14px}
.lightbox-nav.next{right:14px}
.lightbox-nav:hover{background:#fff}
.lightbox-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.lightbox-counter{
  color:#5c6d80;
  font-weight:800;
  font-size:.92rem;
}
.lightbox-dots{display:flex;gap:10px;justify-content:center;align-items:center;margin-inline:auto}
.lightbox-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border:0;
  background:#c4cfdb;
  cursor:pointer;
}
.lightbox-dot.active{background:var(--cyan)}
.lightbox-close{
  position:fixed;
  top:24px;
  right:28px;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
  display:grid;
  place-items:center;
  z-index:1001;
}
.lightbox-close:hover{background:rgba(255,255,255,.22)}
.lightbox-nav:focus-visible,.lightbox-dot:focus-visible,.lightbox-close:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
body.lightbox-active{overflow:hidden}
@media (max-width:820px){
  .lightbox{padding:18px}
  .lightbox-content{padding:14px 14px 16px;max-width:94vw;width:94vw}
  .lightbox-stage{min-height:58vh}
  .lightbox-slide{max-height:60vh}
  .lightbox-nav{width:42px;height:42px;font-size:1.8rem}
  .lightbox-nav.prev{left:4px}
  .lightbox-nav.next{right:4px}
  .lightbox-meta{flex-direction:column}
  .lightbox-close{top:16px;right:16px;width:42px;height:42px;font-size:1.7rem}
}
