:root{
  --blue-dark:#004b8f;
  --blue:#0077bd;
  --blue-light:#20b7ee;
  --grey-light:#eef1f4;
  --grey:#a8b0b7;
  --grey-dark:#626b72;
  --white:#ffffff;
  --text:#12304a;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html,
body{
  width:100%;
  height:100%;
  overflow:hidden;
  font-family:Arial, Helvetica, sans-serif;
  color:var(--text);
  background:#cfd4d8;
}

.version{
  position:relative;
  width:100%;
  height:100svh;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 24%, rgba(255,255,255,.94) 0 22%, rgba(200,207,214,.7) 43%, rgba(10,35,66,.88) 100%),
    linear-gradient(135deg,#d6d9dc,#708090);
}

.logo{
  width:min(540px,42vw);
  max-height:25vh;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(0,31,70,.28));
  border-radius:4px;
  margin-bottom:clamp(10px,1.8vh,20px);
}

.kicker{
  color:var(--blue-light);
  text-transform:uppercase;
  font-size:clamp(.78rem,1.25vw,1rem);
  letter-spacing:.16em;
  font-weight:900;
  text-shadow:0 2px 4px rgba(0,31,70,.22);
}

h1{
  color:white;
  font-size:clamp(2.1rem,5vw,5.1rem);
  line-height:.95;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:0 5px 24px rgba(0,31,70,.38);
}

h1 span{
  color:var(--blue-light);
}

p{
  font-size:clamp(.96rem,1.45vw,1.25rem);
  line-height:1.55;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:52px;
  padding:0 24px;
  border-radius:999px;
  color:white;
  background:linear-gradient(135deg,var(--blue-light),var(--blue-dark));
  text-decoration:none;
  font-weight:900;
  box-shadow:0 16px 32px rgba(0,75,143,.3);
  transition:transform .25s ease, box-shadow .25s ease;
}

.button:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 42px rgba(0,75,143,.4);
}

.contact-card{
  background:rgba(5,30,58,.62);
  color:white;
  border:1px solid rgba(32,183,238,.45);
  box-shadow:0 26px 60px rgba(0,31,70,.32), inset 0 0 40px rgba(32,183,238,.08);
  backdrop-filter:blur(14px);
  border-radius:26px;
  padding:clamp(18px,2.4vw,30px);
}

.contact-card a{
  color:white;
  text-decoration:none;
}

.contact-row{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-weight:800;
}

.contact-row:last-child{
  border-bottom:0;
}

.icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-light),var(--blue-dark));
  box-shadow:0 0 24px rgba(32,183,238,.45);
  animation:pulse 3.2s ease-in-out infinite;
}

.orb,
.wave,
.glass-door,
.big-mark{
  position:absolute;
  pointer-events:none;
}

.orb{
  width:9px;
  height:9px;
  border-radius:50%;
  background:white;
  box-shadow:0 0 22px rgba(32,183,238,.9);
  opacity:.85;
  animation:floatUp 8s linear infinite;
}

.wave{
  width:70vw;
  height:170px;
  border-radius:50%;
  transform:rotate(-12deg);
  background:linear-gradient(90deg,transparent,rgba(32,183,238,.65),rgba(0,75,143,.9),transparent);
  animation:wave 8s ease-in-out infinite;
  right:-140px;
  bottom:60px;
}

.wave.two{
  bottom:-15px;
  opacity:.42;
  animation-delay:-2.8s;
}

.glass-door{
  width:230px;
  height:390px;
  border:2px solid rgba(255,255,255,.75);
  transform:perspective(700px) rotateY(-25deg);
  box-shadow:inset 0 0 25px rgba(255,255,255,.14),0 24px 50px rgba(0,31,70,.2);
  animation:door 7s ease-in-out infinite;
  right:110px;
  top:130px;
  opacity:.38;
}

.glass-door::before,
.glass-door::after{
  content:"";
  position:absolute;
  inset:28px;
  border:2px solid rgba(255,255,255,.45);
}

.glass-door::after{
  inset:56px;
}

.big-mark{
  width:420px;
  height:420px;
  opacity:.12;
  filter:drop-shadow(0 20px 30px rgba(0,31,70,.35));
  left:-70px;
  bottom:-90px;
  animation:slowFloat 8s ease-in-out infinite;
}

.big-mark div{
  position:absolute;
  background:linear-gradient(145deg,var(--blue-light),var(--blue-dark));
}

.big-mark .m1{
  left:55px;
  top:50px;
  width:135px;
  height:145px;
  transform:skewY(9deg);
}

.big-mark .m2{
  left:215px;
  top:74px;
  width:145px;
  height:132px;
  transform:skewY(9deg);
}

.big-mark .m3{
  left:55px;
  top:235px;
  width:135px;
  height:150px;
  transform:skewY(-9deg);
}

.big-mark .m4{
  left:215px;
  top:225px;
  width:145px;
  height:165px;
  transform:skewY(-9deg);
}

.big-mark .ms{
  left:0;
  top:212px;
  width:410px;
  height:70px;
  border-radius:50%;
  border-top:17px solid rgba(255,255,255,.88);
  background:transparent;
}

.layout-center{
  height:100%;
  display:grid;
  grid-template-rows:auto 1fr auto;
  align-items:center;
  justify-items:center;
  padding:clamp(22px,5vw,58px) clamp(18px,5vw,80px) 48px;
  text-align:center;
  position:relative;
  z-index:3;
}

.layout-center .copy{
  max-width:820px;
  display:grid;
  gap:20px;
  justify-items:center;
}

.layout-center p{
  color:white;
  text-shadow:0 2px 10px rgba(0,31,70,.38);
  max-width:780px;
}

.layout-center .contact-card{
  width:min(620px,100%);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 22px;
  text-align:left;
}

.orb.o1{left:10%;bottom:-30px;animation-delay:0s}
.orb.o2{left:22%;bottom:-30px;animation-delay:1.5s}
.orb.o3{left:41%;bottom:-30px;animation-delay:3s}
.orb.o4{left:62%;bottom:-30px;animation-delay:.8s}
.orb.o5{left:78%;bottom:-30px;animation-delay:2.4s}
.orb.o6{left:91%;bottom:-30px;animation-delay:4s}

@keyframes pulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.09)}
}

@keyframes floatUp{
  0%{opacity:0;transform:translateY(0)}
  15%{opacity:1}
  100%{opacity:0;transform:translateY(-110vh) translateX(70px)}
}

@keyframes wave{
  0%,100%{transform:rotate(-12deg) translateX(0)}
  50%{transform:rotate(-9deg) translateX(-50px)}
}

@keyframes door{
  0%,100%{transform:perspective(700px) rotateY(-25deg) translateY(0)}
  50%{transform:perspective(700px) rotateY(-18deg) translateY(16px)}
}

@keyframes slowFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-18px) scale(1.03)}
}

@media (max-width:900px){
  .logo{
    width:min(440px,72vw);
  }

  .layout-center .contact-card{
    grid-template-columns:1fr;
    width:min(620px,100%);
  }
}

@media (max-height:720px){
  .logo{
    max-height:22vh;
  }

  h1{
    font-size:clamp(1.9rem,4.5vw,4.2rem);
  }

  p{
    font-size:clamp(.86rem,1.15vw,1.04rem);
    line-height:1.4;
  }

  .contact-row{
    padding:8px 0;
  }

  .layout-center{
    padding-top:18px;
    padding-bottom:32px;
  }
}

@media (max-width:580px){
  .contact-card{
    display:none;
  }

  .kicker{
    font-size:.7rem;
  }
}
