
:root{
 --navy-950:#020914; --navy-900:#04101c; --navy-850:#061727; --navy-800:#0a2034;
 --navy-750:#0d2942; --steel:#244d6d; --line:#1b4666; --blue:#5ba8e8;
 --cyan:#7fc6f5; --white:#f4f8fc; --muted:#9eb2c3; --gold:#9c8a55;
 --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#030b14;color:var(--white);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--max),calc(100% - 54px));margin:auto}
.topbar{position:sticky;top:0;z-index:100;background:rgba(2,9,20,.94);backdrop-filter:blur(12px);border-bottom:1px solid #12344f}
.nav{height:82px;display:flex;align-items:center;gap:34px}
.logo{display:flex;align-items:center;gap:14px;min-width:320px}
.logo-mark{width:37px;height:44px;clip-path:polygon(0 0,100% 20%,65% 100%,40% 72%,0 90%,29% 50%);background:linear-gradient(145deg,#75bff5,#1f5d91)}
.logo strong{font-size:27px;letter-spacing:.18em;line-height:1}.logo small{display:block;color:#c5d2de;font-size:8px;letter-spacing:.12em;margin-top:5px}
.navlinks{margin-left:auto;display:flex;align-items:center;gap:29px;font-size:13px;font-weight:750;letter-spacing:.08em}
.navlinks a{padding:31px 0 27px;border-bottom:2px solid transparent}.navlinks a:hover,.navlinks a.active{color:var(--cyan);border-color:var(--blue)}
.request{margin-left:20px;border:1px solid #4388bd;padding:11px 18px!important;border-radius:4px;color:#85c7f5}.request:hover{background:#0b2942}
.mobile{display:none;margin-left:auto;background:none;border:1px solid #2f658b;color:#fff;padding:8px 12px}

.hero{height:610px;position:relative;overflow:hidden;border-bottom:1px solid #28536f}
.hero-video{position:absolute;inset:0;overflow:hidden;z-index:0;background:#020811}
.hero-video iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.hero-bg{position:absolute;inset:0;z-index:1;background:
linear-gradient(90deg,rgba(2,8,17,.98) 0%,rgba(2,10,20,.88) 31%,rgba(2,11,22,.46) 60%,rgba(2,9,19,.16) 100%),
linear-gradient(180deg,rgba(3,13,24,.18),rgba(2,9,16,.58))}
.hero-grid{position:absolute;inset:0;background-image:
linear-gradient(rgba(76,152,207,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(76,152,207,.08) 1px,transparent 1px);
background-size:58px 58px;mask-image:linear-gradient(to right,#000,transparent 88%);opacity:.55}
.hero-radar{position:absolute;right:18%;top:45px;width:430px;height:430px;border-radius:50%;border:1px solid rgba(85,167,226,.16);opacity:.5}
.hero-radar:before,.hero-radar:after{content:"";position:absolute;inset:15%;border-radius:50%;border:1px solid rgba(85,167,226,.16)}
.hero-radar:after{inset:32%}
.hero-content{position:relative;z-index:3;padding-top:65px;max-width:720px}
.overline{color:#7fc6f5;font-size:11px;font-weight:850;letter-spacing:.23em;text-transform:uppercase}
.hero h1{font-size:clamp(54px,6.6vw,91px);line-height:.93;margin:17px 0 18px;letter-spacing:.01em;font-weight:950}
.hero h1 .accent{color:#5ba8e8}
.hero p{font-size:16px;color:#c8d4df;max-width:610px}
.actions{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}
.btn{height:45px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:3px;font-size:12px;font-weight:800;letter-spacing:.08em;border:1px solid #397aa7}
.btn.primary{background:linear-gradient(135deg,#2c68a0,#3b88c9);border-color:#5ca8e3}.btn.secondary{background:rgba(2,11,20,.58)}
.callout{position:absolute;z-index:4;font-size:11px;color:#dce7f0;letter-spacing:.04em;text-shadow:0 2px 8px #000}
.callout b{display:block;font-size:14px;font-weight:500}.callout:before{content:"";position:absolute;height:1px;background:#4a9dd8;width:58px;top:12px;right:calc(100% + 8px)}
.callout:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#5ca8e3;top:10px;right:calc(100% + 64px);box-shadow:0 0 9px #5ca8e3}
.c-polaris{right:29%;top:184px}.c-volans{right:10%;top:132px}.c-carina{right:28%;bottom:48px}.c-lupus{right:5%;bottom:95px}

.section{padding:56px 0}
.family{background:linear-gradient(180deg,#04101c,#061625)}
.section-title{text-align:center;margin-bottom:29px}.section-title h2{margin:0;font-size:28px;letter-spacing:.12em}.section-title span{display:block;width:180px;height:2px;margin:10px auto 0;background:linear-gradient(90deg,transparent,#5ea8df,transparent)}
.arch{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.domain{background:#071a2b;border:1px solid #1a486a;border-radius:8px;overflow:hidden;min-height:297px}
.domain-head{height:93px;padding:17px 20px;background:linear-gradient(135deg,#0a2a45,#0c2035);border-bottom:1px solid #1a486a;position:relative}
.domain-head:after{content:"";position:absolute;right:17px;top:20px;width:45px;height:45px;border:1px solid #376b8e;border-radius:50%;opacity:.65}
.domain-head small{color:#76bde9;font-size:11px;letter-spacing:.13em;font-weight:800}.domain-head h3{margin:5px 0 0;font-size:18px}.domain-head p{margin:0;color:#9ab1c4;font-size:10px}
.system-row{display:grid;grid-template-columns:78px 1fr 86px 18px;align-items:center;gap:8px;min-height:87px;padding:10px 13px;border-bottom:1px solid #123a58}
.system-row:last-child{border-bottom:0}.system-row img{width:72px;height:62px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.7))}
.system-row strong{font-size:17px;letter-spacing:.08em}.system-row span{font-size:11px;color:#d0deea}.system-row i{color:#6ab5e7;font-style:normal;font-size:21px}
.system-row.featured-system{background:linear-gradient(90deg,rgba(24,81,120,.28),transparent)}
.system-row:hover{background:#0c2740}

.cap-strip{border-top:1px solid #1a486a;border-bottom:1px solid #1a486a;background:#071a2a}
.cap-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.cap{min-height:98px;padding:19px 23px;display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:center;border-right:1px solid #1b4666}
.cap:last-child{border-right:0}.ico{width:42px;height:42px;border:1px solid #6aa9d0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#7bc3f3;font-size:19px}
.cap b{font-size:11px;letter-spacing:.12em;color:#75b9e6}.cap p{font-size:10px;color:#a5b7c5;margin:3px 0 0}

.featured{padding:78px 0;background:#030c16}
.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.heading h2{font-size:35px;letter-spacing:.07em;margin:6px 0}.heading p{color:#99afc0;max-width:600px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:linear-gradient(180deg,#091c2f,#061421);border:1px solid #1c4c6d;overflow:hidden;position:relative}
.card:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:#397fb4}
.card-visual{height:245px;background:radial-gradient(circle at center,rgba(58,132,188,.17),transparent 58%);display:flex;align-items:center;justify-content:center;border-bottom:1px solid #1b4666}
.card-visual img{height:92%;width:92%;object-fit:contain}.card-body{padding:20px}.tag{color:#6db6e6;font-size:10px;font-weight:800;letter-spacing:.15em}.card h3{font-size:27px;margin:6px 0}.card p{color:#a6b9c7;font-size:13px;min-height:61px}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.pill{padding:5px 8px;border:1px solid #2d5d7f;color:#b6c8d5;font-size:9px;letter-spacing:.05em}
.card .btn{margin-top:6px}

.rnd{padding:73px 0;background:#05131f;border-top:1px solid #173e5a}
.rnd-grid{display:grid;grid-template-columns:1fr .9fr;gap:55px;align-items:center}.rnd h2{font-size:38px;margin:7px 0 12px}.rnd p{color:#9eb4c4}
.rnd-box{border:1px solid #234e6c;background:#081a29;padding:25px;display:flex;gap:23px;align-items:center}.rnd-box img{max-width:225px;background:white;padding:15px}.rnd-box small{color:#6fb4df;letter-spacing:.12em}

.footer{background:#020812;border-top:1px solid #1b4666;padding:29px 0}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.1fr;gap:28px;align-items:center}.footer p,.footer a{font-size:11px;color:#9eb3c3}.contactline{display:flex;gap:25px;justify-content:flex-end;flex-wrap:wrap}.contactline b{font-weight:500;color:#bad5e7}
.research{display:flex;align-items:center;gap:17px}.research img{height:48px;width:auto;background:white;padding:7px}.research span{font-size:9px;color:#9eb3c3;letter-spacing:.08em}

.page-hero{padding:76px 0 52px;background:linear-gradient(90deg,#03101d,#0b2640);border-bottom:1px solid #1b4666}
.page-hero h1{font-size:54px;margin:7px 0}.page-hero p{color:#9eb3c3;max-width:740px}
.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:64px 0}.product-layout img{height:430px;width:100%;object-fit:contain}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px}.spec{padding:13px;border:1px solid #24506e;background:#081b2b}.spec small{color:#8aa9bd;font-size:9px}.spec b{display:block;margin-top:3px;font-size:17px}
.notice{margin-top:18px;padding:12px 14px;border-left:3px solid #8d7a43;background:#211e12;color:#d9c98e;font-size:11px}

@media(max-width:1100px){
 .navlinks{gap:15px}.logo{min-width:auto}.arch{grid-template-columns:1fr 1fr}.cap-grid{grid-template-columns:1fr 1fr}.cap{border-bottom:1px solid #1b4666}.cards{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.contactline{justify-content:flex-start}.c-lupus,.c-volans{display:none}
}
@media(max-width:760px){
 .container{width:min(var(--max),calc(100% - 28px))}.nav{height:68px}.navlinks{display:none}.mobile{display:block}.navlinks.open{display:flex;position:absolute;top:68px;left:0;right:0;padding:20px;background:#030d18;flex-direction:column;align-items:flex-start}.navlinks a{padding:8px 0}.request{margin-left:0}
 .logo strong{font-size:20px}.logo small{display:none}.hero{height:620px}.hero-content{padding-top:70px}.hero h1{font-size:48px}.callout{display:none}
 .arch{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr}.rnd-grid,.product-layout{grid-template-columns:1fr}.specs{grid-template-columns:1fr 1fr}
 .heading{display:block}.footer-grid{gap:18px}.research{flex-wrap:wrap}
}


/* ===== V3 VIDEO SECTIONS ===== */
.video-section{
  padding:72px 0;
  background:linear-gradient(180deg,#04101c,#030b14);
  border-top:1px solid #173f5c;
  border-bottom:1px solid #173f5c;
}
.video-section.product-film{background:linear-gradient(180deg,#061725,#030c16)}
.video-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:42px;align-items:center}
.video-copy h2{font-size:clamp(32px,4vw,48px);line-height:1.03;letter-spacing:.065em;margin:8px 0 17px}
.video-copy p{color:#a6bac9;max-width:570px}
.video-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.video-frame{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;border:1px solid #2d658d;background:#02070d;box-shadow:0 28px 70px rgba(0,0,0,.48)}
.video-frame:before,.video-frame:after{content:"";position:absolute;z-index:2;width:38px;height:38px;pointer-events:none}
.video-frame:before{top:10px;left:10px;border-top:2px solid #68b5e7;border-left:2px solid #68b5e7}
.video-frame:after{right:10px;bottom:10px;border-right:2px solid #68b5e7;border-bottom:2px solid #68b5e7}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-label{display:inline-flex;align-items:center;gap:9px;color:#78bde9;font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.video-label:before{content:"";width:30px;height:1px;background:#5aa7dc}
.video-note{margin-top:12px;font-size:10px;color:#7893a7;letter-spacing:.03em}
@media(max-width:900px){.video-grid{grid-template-columns:1fr}}


/* ===== V3.1 WJS LOGO ===== */
.research .support-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
}
.research .wjs-logo{
  height:44px;
  width:auto;
  max-width:118px;
  object-fit:contain;
  background:transparent;
  padding:0;
}
@media(max-width:760px){
  .research .wjs-logo{height:40px;max-width:110px}
}


/* ===== V3.2 FOOTER ALIGNMENT ===== */
.research{
  align-items:flex-start;
}
.research .support-block,
.research .conduct-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  color:#9eb3c3;
  font-size:9px;
  letter-spacing:.08em;
}
.research .support-block{
  min-width:120px;
}
.research .conduct-block{
  min-width:190px;
}
.research .conduct-block > span{
  white-space:nowrap;
}
.research .frrc-footer-logo{
  height:49px;
  width:auto;
  max-width:150px;
  object-fit:contain;
  background:white;
  padding:6px 9px;
}
@media(max-width:760px){
  .research{gap:22px}
  .research .conduct-block > span{white-space:normal}
}


/* ===== HERO VIDEO V2: force the YouTube player to be the visual background ===== */
.hero{background:#020811!important}
.hero-video{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
  background:#020811!important;
}
.hero-video iframe{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:177.77777778vh!important;
  height:56.25vw!important;
  min-width:100%!important;
  min-height:100%!important;
  transform:translate(-50%,-50%)!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
.hero-bg{z-index:1!important}
.hero-grid,.hero-radar{z-index:2!important}
.hero-content,.callout{z-index:4!important}
.hero-video-badge{
  position:absolute;right:34px;bottom:22px;z-index:5;
  padding:7px 10px;border:1px solid rgba(91,168,232,.5);
  background:rgba(2,8,17,.55);color:#9fd5ff;
  font-size:9px;font-weight:900;letter-spacing:.16em;
  backdrop-filter:blur(5px)
}
.hero-video-badge span{
  display:inline-block;width:7px;height:7px;border-radius:50%;
  background:#5ba8e8;margin-right:7px;
  box-shadow:0 0 10px rgba(91,168,232,.9);
  animation:heroPulse 1.3s infinite ease-in-out
}
@keyframes heroPulse{0%,100%{opacity:.35}50%{opacity:1}}


/* ===== HERO VIDEO V3: NO STATIC HERO IMAGE ===== */
/* Explicitly kill any old POLARIS/static background image that could cover the video. */
.hero,
.hero-bg {
    background-image: none !important;
}
.hero {
    background: #020811 !important;
}
.hero-bg {
    background:
      linear-gradient(90deg,
        rgba(2,8,17,.94) 0%,
        rgba(2,8,17,.72) 31%,
        rgba(2,8,17,.34) 58%,
        rgba(2,8,17,.22) 100%),
      linear-gradient(0deg,
        rgba(2,8,17,.48) 0%,
        rgba(2,8,17,.04) 45%,
        rgba(2,8,17,.20) 100%) !important;
    z-index: 2 !important;
    pointer-events: none !important;
}
.hero-video {
    z-index: 1 !important;
}
.hero-video iframe {
    opacity: 1 !important;
    visibility: visible !important;
}
.hero-grid,
.hero-radar {
    z-index: 3 !important;
}
.hero-content,
.callout,
.hero-video-badge {
    z-index: 5 !important;
}


/* ===== MAVIS HERO CLEAN V4 ===== */
/* No static hero photograph and no right-side blue callouts. */
.hero .callout,
.hero-video-badge { display:none !important; }

.hero {
  position:relative !important;
  overflow:hidden !important;
  background:#020811 !important;
}
.hero-video {
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  overflow:hidden !important;
  background:#020811 !important;
  pointer-events:none !important;
}
.hero-video iframe {
  display:block !important;
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:177.77777778vh !important;
  height:56.25vw !important;
  min-width:100% !important;
  min-height:100% !important;
  transform:translate(-50%,-50%) scale(1.12) !important;
  border:0 !important;
  opacity:.88 !important;
}
.hero-bg {
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:
    linear-gradient(90deg,rgba(2,8,17,.94) 0%,rgba(2,8,17,.76) 32%,rgba(2,8,17,.35) 68%,rgba(2,8,17,.22) 100%),
    linear-gradient(180deg,rgba(2,8,17,.12),rgba(2,8,17,.48)) !important;
}
.hero-grid { z-index:2 !important; pointer-events:none !important; }
.hero-radar { z-index:2 !important; pointer-events:none !important; }
.hero-content { position:relative !important; z-index:3 !important; }

/* If an old build had a CSS boat image anywhere in the hero, suppress it. */
.hero::before,
.hero::after { background-image:none !important; }
