:root{
  --red:#ef2733;
  --red-dark:#c91f2b;
  --blue:#1454a4;
  --blue-deep:#0b2f46;
  --cyan:#0494c8;
  --ink:#10293b;
  --muted:#6c7b88;
  --line:#e5ebf1;
  --paper:#ffffff;
  --soft:#f5f8fb;
}

*{box-sizing:border-box}
html{min-height:100%;background:#f4f7fa}
body{
  margin:0;
  min-height:100vh;
  width:100%;
  overflow-x:hidden;
  color:var(--ink);
  font-family:"Exo 2",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 12% 12%,rgba(239,39,51,.08),transparent 31%),
    radial-gradient(circle at 88% 76%,rgba(20,84,164,.10),transparent 34%),
    linear-gradient(180deg,#fff 0%,#f4f7fa 100%);
  display:flex;
  flex-direction:column;
}

.top-rule{
  height:6px;
  flex:0 0 auto;
  background:linear-gradient(90deg,var(--red) 0 47%,var(--blue) 47% 82%,var(--cyan) 82% 100%);
  position:relative;
  overflow:hidden;
  z-index:20;
}
.top-rule span{
  position:absolute;
  inset:0 auto 0 -25%;
  width:22%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  animation:topSweep 3s linear infinite;
}

.news-ticker{
  min-height:40px;
  display:flex;
  align-items:center;
  background:#092638;
  color:#fff;
  position:relative;
  z-index:19;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(11,47,70,.10);
}
.ticker-label{
  height:40px;
  flex:0 0 auto;
  padding:0 18px;
  display:flex;
  align-items:center;
  gap:9px;
  background:var(--red);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  white-space:nowrap;
}
.ticker-label span{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#fff;
  animation:tickerPulse 1.35s ease-out infinite;
}
.ticker-window{min-width:0;overflow:hidden;flex:1}
.ticker-track{
  display:flex;
  align-items:center;
  gap:21px;
  width:max-content;
  padding-left:22px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  animation:tickerMove 20s linear infinite;
}
.ticker-track span{white-space:nowrap}
.ticker-track i{font-style:normal;color:var(--red);font-size:17px}

.motion-bg{
  position:fixed;
  inset:46px 0 0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.giant-word{
  position:absolute;
  white-space:nowrap;
  font-size:clamp(4rem,13vw,11rem);
  font-weight:900;
  letter-spacing:-.05em;
  opacity:.025;
  color:var(--blue-deep);
  user-select:none;
}
.word-one{top:8%;left:-7%;animation:giantSlide 20s ease-in-out infinite alternate}
.word-two{right:-17%;bottom:2%;color:var(--red);animation:giantSlideReverse 23s ease-in-out infinite alternate}
.beam{
  position:absolute;
  width:58vw;
  height:3px;
  border-radius:999px;
  opacity:.28;
}
.beam-one{
  left:-30vw;
  top:29%;
  transform:rotate(-18deg);
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  animation:beamFly 7s ease-in-out infinite;
}
.beam-two{
  right:-30vw;
  bottom:26%;
  transform:rotate(17deg);
  background:linear-gradient(90deg,transparent,var(--blue),transparent);
  animation:beamFly2 8.5s ease-in-out infinite;
}
.orb{position:absolute;border-radius:50%;filter:blur(3px)}
.orb-red{
  width:350px;height:350px;left:-180px;top:17%;
  background:radial-gradient(circle,rgba(239,39,51,.14),rgba(239,39,51,0) 70%);
  animation:orbFloat 9s ease-in-out infinite alternate;
}
.orb-blue{
  width:430px;height:430px;right:-210px;bottom:5%;
  background:radial-gradient(circle,rgba(20,84,164,.16),rgba(20,84,164,0) 70%);
  animation:orbFloat2 10s ease-in-out infinite alternate;
}

.site-shell{
  position:relative;
  z-index:2;
  flex:1;
  width:min(100%,1120px);
  margin:0 auto;
  padding:34px 20px 24px;
  display:grid;
  place-items:center;
}

.construction-card{
  position:relative;
  width:min(100%,900px);
  margin:0 auto;
  padding:34px 54px 48px;
  text-align:center;
  background:rgba(255,255,255,.95);
  border:1px solid rgba(20,84,164,.12);
  border-radius:30px;
  box-shadow:0 24px 70px rgba(11,47,70,.13);
  overflow:hidden;
  backdrop-filter:blur(16px);
  animation:cardEnter .75s cubic-bezier(.2,.75,.25,1) both;
}
.construction-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--red),var(--blue));
  z-index:4;
}
.construction-card::after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  right:-150px;top:-150px;
  border-radius:50%;
  background:rgba(239,39,51,.045);
  box-shadow:0 0 0 52px rgba(20,84,164,.025);
  pointer-events:none;
}
.card-scan{
  position:absolute;
  z-index:1;
  top:-20%;left:-40%;
  width:24%;height:150%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),rgba(4,148,200,.08),transparent);
  animation:scanCard 5s ease-in-out infinite;
  pointer-events:none;
}
.construction-card>*:not(.card-scan){position:relative;z-index:2}

.reveal{opacity:0;transform:translateY(15px);animation:revealUp .65s cubic-bezier(.2,.75,.25,1) forwards}
.reveal-1{animation-delay:.05s}.reveal-2{animation-delay:.15s}.reveal-3{animation-delay:.24s}.reveal-4{animation-delay:.33s}.reveal-5{animation-delay:.42s}.reveal-6{animation-delay:.51s}.reveal-7{animation-delay:.60s}.reveal-8{animation-delay:.69s}

.brand-wrap{
  display:flex;
  justify-content:center;
  margin:0 auto 18px;
}
.brand-stage{
  position:relative;
  width:min(100%,310px);
  aspect-ratio:646/502;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.brand-logo{
  position:relative;
  z-index:5;
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 22px rgba(11,47,70,.12));
  animation:logoFloat 3.2s ease-in-out infinite;
}
.orbit{
  position:absolute;
  left:50%;top:43%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  z-index:1;
  pointer-events:none;
}
.orbit-1{
  width:54%;height:69%;
  border:1.5px dashed rgba(20,84,164,.19);
  animation:spinCentered 8s linear infinite;
}
.orbit-2{
  width:66%;height:84%;
  border:1px solid rgba(239,39,51,.16);
  animation:spinCenteredReverse 11s linear infinite;
}
.orbit-3{
  width:78%;height:99%;
  border:1px solid rgba(4,148,200,.09);
  animation:pulseOrbitCentered 3s ease-in-out infinite;
}
.orbit-1::before,.orbit-1::after{
  content:"";
  position:absolute;
  width:8px;height:8px;
  border-radius:50%;
}
.orbit-1::before{left:13%;top:12%;background:var(--red);box-shadow:0 0 14px rgba(239,39,51,.6)}
.orbit-1::after{right:4%;bottom:34%;background:var(--blue);box-shadow:0 0 14px rgba(20,84,164,.55)}
.radar-sweep{
  position:absolute;
  left:50%;top:43%;
  width:66%;height:84%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  z-index:0;
  background:conic-gradient(from 0deg,transparent 0 78%,rgba(4,148,200,.09) 92%,rgba(239,39,51,.12) 100%);
  -webkit-mask:radial-gradient(circle,transparent 0 46%,#000 48%);
  mask:radial-gradient(circle,transparent 0 46%,#000 48%);
  animation:spinCentered 4.8s linear infinite;
}

.status-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0 auto 12px;
  padding:9px 14px;
  border:1px solid rgba(239,39,51,.18);
  border-radius:999px;
  background:rgba(239,39,51,.055);
  color:var(--red-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.status-dot{
  width:8px;height:8px;
  border-radius:50%;
  background:var(--red);
  animation:dotPulse 1.25s infinite;
}
.eyebrow{
  margin:0 0 10px;
  color:var(--blue);
  font-size:12px;
  font-weight:900;
  letter-spacing:.22em;
}
h1{
  width:min(100%,760px);
  margin:0 auto;
  color:var(--blue-deep);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.animated-words{
  margin:18px auto 0;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}
.animated-words span{
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #e2e9ef;
  background:#f7f9fb;
  color:#28445a;
  font-size:11px;
  font-weight:800;
  animation:wordPulse 2.7s ease-in-out infinite;
}
.animated-words span:nth-child(2){animation-delay:.18s}
.animated-words span:nth-child(3){animation-delay:.36s}
.animated-words span:nth-child(4){animation-delay:.54s}
.lead{
  width:min(100%,710px);
  margin:18px auto 0;
  color:var(--muted);
  font-size:clamp(.98rem,1.6vw,1.08rem);
  line-height:1.68;
}
.lead strong{color:var(--ink)}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin-top:26px;
}
.contact-card{
  min-width:0;
  display:flex;
  align-items:center;
  gap:13px;
  padding:14px 16px;
  text-align:left;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.contact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(20,84,164,.28);
  box-shadow:0 13px 28px rgba(20,84,164,.11);
}
.contact-icon{
  flex:0 0 auto;
  width:41px;height:41px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
}
.contact-card:first-child .contact-icon{background:linear-gradient(135deg,var(--red),#ff5d67)}
.contact-icon svg{width:20px;height:20px;fill:currentColor}
.contact-card span:last-child{min-width:0}
.contact-card small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}
.contact-card strong{display:block;font-size:13px;overflow-wrap:anywhere}

.social-block{
  margin-top:24px;
  padding-top:21px;
  border-top:1px solid var(--line);
}
.social-block p{margin:0 0 13px;color:var(--muted);font-size:12px;font-weight:700}
.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}
.social-links a{
  width:41px;height:41px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--blue-deep);
  background:#fff;
  transition:transform .2s ease,color .2s ease,background .2s ease,border-color .2s ease;
}
.social-links a:hover{
  transform:translateY(-4px) scale(1.06);
  color:#fff;
  background:var(--blue);
  border-color:var(--blue);
}
.social-links a:first-child:hover{background:var(--red);border-color:var(--red)}
.social-links svg{width:18px;height:18px;fill:currentColor}

.broadcast-wave{
  position:absolute;
  left:50%;bottom:12px;
  transform:translateX(-50%);
  height:16px;
  display:flex;
  align-items:center;
  gap:4px;
  opacity:.50;
}
.broadcast-wave span{
  width:3px;height:4px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--red),var(--blue));
  animation:waveBars .9s ease-in-out infinite;
}
.broadcast-wave span:nth-child(2n){animation-delay:-.16s}
.broadcast-wave span:nth-child(3n){animation-delay:-.32s}
.broadcast-wave span:nth-child(4n){animation-delay:-.48s}

footer{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding:0 18px 22px;
  color:#7b8792;
  font-size:11px;
  text-align:center;
}
.reveal-footer{opacity:0;animation:footerIn .7s ease .82s forwards}
.separator{color:var(--red);font-weight:900}
a:focus-visible{outline:3px solid rgba(20,84,164,.25);outline-offset:3px}

@keyframes topSweep{0%{transform:translateX(0)}100%{transform:translateX(590%)}}
@keyframes tickerMove{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes tickerPulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@keyframes giantSlide{from{transform:translateX(-2vw)}to{transform:translateX(7vw)}}
@keyframes giantSlideReverse{from{transform:translateX(5vw)}to{transform:translateX(-7vw)}}
@keyframes beamFly{0%,100%{transform:translate(-8vw,0) rotate(-18deg);opacity:.08}50%{transform:translate(56vw,7vh) rotate(-18deg);opacity:.38}}
@keyframes beamFly2{0%,100%{transform:translate(10vw,0) rotate(17deg);opacity:.07}50%{transform:translate(-52vw,-7vh) rotate(17deg);opacity:.32}}
@keyframes orbFloat{from{transform:translate(-12px,-8px) scale(.95)}to{transform:translate(32px,20px) scale(1.09)}}
@keyframes orbFloat2{from{transform:translate(18px,14px) scale(.96)}to{transform:translate(-32px,-18px) scale(1.08)}}
@keyframes cardEnter{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:none}}
@keyframes scanCard{0%,18%{transform:translateX(-20%) rotate(18deg);opacity:0}36%{opacity:.75}70%,100%{transform:translateX(590%) rotate(18deg);opacity:0}}
@keyframes revealUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes footerIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes spinCentered{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes spinCenteredReverse{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes pulseOrbitCentered{0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.35}50%{transform:translate(-50%,-50%) scale(1.04);opacity:.75}}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dotPulse{0%{transform:scale(.85);box-shadow:0 0 0 0 rgba(239,39,51,.45)}70%{transform:scale(1.12);box-shadow:0 0 0 8px rgba(239,39,51,0)}100%{transform:scale(.85);box-shadow:0 0 0 0 rgba(239,39,51,0)}}
@keyframes wordPulse{0%,100%{transform:translateY(0);border-color:#e2e9ef}50%{transform:translateY(-3px);border-color:rgba(239,39,51,.28);box-shadow:0 6px 14px rgba(11,47,70,.06)}}
@keyframes waveBars{0%,100%{height:4px;opacity:.4}50%{height:15px;opacity:1}}

@media(max-width:720px){
  .news-ticker{min-height:38px}
  .ticker-label{height:38px;padding:0 12px;font-size:9px;letter-spacing:.08em}
  .ticker-track{font-size:9px;gap:15px;padding-left:16px;letter-spacing:.11em}
  .motion-bg{inset:44px 0 0}
  .site-shell{padding:22px 12px 18px}
  .construction-card{padding:25px 19px 43px;border-radius:24px}
  .brand-wrap{margin-bottom:14px}
  .brand-stage{width:min(76vw,248px)}
  .status-pill{margin-bottom:11px;font-size:10px;padding:8px 12px}
  .eyebrow{font-size:10px;letter-spacing:.18em;margin-bottom:8px}
  h1{font-size:clamp(1.72rem,7.7vw,2.35rem);line-height:1.07;letter-spacing:-.025em}
  .animated-words{margin-top:15px;gap:7px}
  .animated-words span{padding:6px 9px;font-size:10px}
  .lead{font-size:.96rem;line-height:1.58;margin-top:16px}
  .contact-grid{grid-template-columns:1fr;margin-top:22px}
  .contact-card{padding:13px 14px}
  .social-block{margin-top:22px;padding-top:19px}
  .giant-word{font-size:19vw}
}

@media(max-width:430px){
  .ticker-label{padding-inline:10px}
  .ticker-label{font-size:8.5px}
  .construction-card{padding:22px 14px 42px;border-radius:21px}
  .brand-stage{width:min(78vw,225px)}
  h1{font-size:clamp(1.68rem,8.6vw,2.05rem)}
  .contact-card strong{font-size:12.5px}
  footer{flex-direction:column;gap:3px}
  .separator{display:none}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
