@charset "UTF-8";
/* -------------------------------------------

Name: 		Ruizarch
Version:    1.0
Developer:	Nazar Miller (millerDigitalDesign)
Portfolio:  https://themeforest.net/user/millerdigitaldesign/portfolio?ref=MillerDigitalDesign

p.s. I am available for Freelance hire (UI design, web development). email: miller.themes@gmail.com

------------------------------------------- */
/*--------------------------------------------

1. common
    - main
    - typography
    - link
    - button
    - form
    - breadcrumbs
    - backgrounds
    - spaces
2. components
    - preloader
    - cursor
    - hidden elements
    - scrollbar
    - frame
    - menu button
    - menu 
    - banner
    - circle text
    - lines
    - dodecahedron
    - about
    - partners
    - services
    - team
    - social icons
    - revievs
    - blog
    - footer
    - portfolio
    - map
    - accordion
    - price
    - 404
    - images
    - page transitions


--------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap");
@import url(https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css);
/* -------------------------------------------

main

------------------------------------------- */
*,
*:before,
*:after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: "Outfit", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
  background-color: rgb(18, 18, 18);
  line-height: 150%;
  overscroll-behavior: none;
}
@media screen and (max-width: 768px) {
  html,
  body {
    font-size: 15px;
  }
}

*::selection {
  color: inherit;
  background-color: transparent;
}

.mil-wrapper {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

.container {
  pointer-events: all;
}

.mil-relative {
  position: relative;
}

.mil-o-hidden {
  overflow: hidden;
}

.mil-flex {
  display: flex;
}

.mil-vert-between {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

@media screen and (max-width: 992px) {
  .mil-mobile-hidden {
    display: none;
  }
}

section {
  position: relative;
  overflow: hidden;
}

/* -------------------------------------------

typography

------------------------------------------- */
h1,
.mil-h1,
h2,
.mil-h12,
h3,
.mil-h3,
h4,
.mil-h4,
h5,
.mil-h5,
h6,
.mil-h6 {
  font-family: "Outfit", sans-serif;
  color: rgb(255, 255, 255);
  font-weight: 500;
  line-height: 120%;
}
@media screen and (max-width: 768px) {
  h1 br,
  .mil-h1 br,
  h2 br,
  .mil-h12 br,
  h3 br,
  .mil-h3 br,
  h4 br,
  .mil-h4 br,
  h5 br,
  .mil-h5 br,
  h6 br,
  .mil-h6 br {
    display: none;
  }
}

h1,
.mil-h1 {
  font-size: 86px;
}
@media screen and (max-width: 1400px) {
  h1,
  .mil-h1 {
    font-size: 74px;
  }
}
@media screen and (max-width: 1200px) {
  h1,
  .mil-h1 {
    font-size: 72px;
  }
}
@media screen and (max-width: 992px) {
  h1,
  .mil-h1 {
    font-size: 58px;
  }
}
@media screen and (max-width: 768px) {
  h1,
  .mil-h1 {
    font-size: 34px;
  }
}

h2,
.mil-h2 {
  font-size: 68px;
  line-height: 120%;
}
@media screen and (max-width: 1200px) {
  h2,
  .mil-h2 {
    font-size: 56px;
  }
}
@media screen and (max-width: 992px) {
  h2,
  .mil-h2 {
    font-size: 44px;
  }
}
@media screen and (max-width: 768px) {
  h2,
  .mil-h2 {
    font-size: 36px;
  }
}

h3,
.mil-h3 {
  font-size: 42px;
}
@media screen and (max-width: 1200px) {
  h3,
  .mil-h3 {
    font-size: 39px;
  }
}
@media screen and (max-width: 992px) {
  h3,
  .mil-h3 {
    font-size: 36px;
  }
}
@media screen and (max-width: 768px) {
  h3,
  .mil-h3 {
    font-size: 30px;
  }
}

h4,
.mil-h4 {
  font-size: 28px;
}
@media screen and (max-width: 1200px) {
  h4,
  .mil-h4 {
    font-size: 26px;
  }
}
@media screen and (max-width: 992px) {
  h4,
  .mil-h4 {
    font-size: 24px;
  }
}
@media screen and (max-width: 768px) {
  h4,
  .mil-h4 {
    font-size: 22px;
  }
}

h5,
.mil-h5 {
  font-size: 20px;
  line-height: 150%;
}
@media screen and (max-width: 768px) {
  h5,
  .mil-h5 {
    font-size: 18px;
  }
}

h6,
.mil-h6 {
  font-size: 18px;
  line-height: 150%;
}
@media screen and (max-width: 1200px) {
  h6,
  .mil-h6 {
    font-size: 17px;
  }
}
@media screen and (max-width: 992px) {
  h6,
  .mil-h6 {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  h6,
  .mil-h6 {
    font-size: 21px;
  }
}

.mil-no-wrap {
  white-space: nowrap;
}

blockquote {
  padding: 60px;
  background-color: rgba(0, 0, 0, 0.05);
  font-size: 18px;
  color: rgb(0, 0, 0);
  font-style: italic;
  border-left: solid 4px rgb(135, 216, 50);
}
@media screen and (max-width: 768px) {
  blockquote {
    padding: 30px;
    font-size: 16px;
  }
}

.mil-text-sm {
  font-size: 15px;
}

.mil-text-lg {
  font-size: 18px;
  line-height: 170%;
}

.mil-text-xl {
  font-size: 22px;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .mil-text-xl {
    font-size: 20px;
  }
}

.mil-upper {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
}

.mil-bold {
  font-weight: 500;
}

.mil-thin {
  font-weight: 100;
}

a {
  color: inherit;
  text-decoration: none;
}

.mil-complex-title {
  line-height: normal;
}

.mil-accent {
  color: rgb(135, 216, 50);
}

.mil-light {
  color: rgb(255, 255, 255) !important;
}
.mil-light a {
  color: rgb(255, 255, 255) !important;
}

.mil-muted {
  color: rgba(255, 255, 255, 0.9);
}

.mil-dark {
  color: rgb(0, 0, 0);
}

.mil-light-soft {
  color: rgba(255, 255, 255, 0.4);
}

.mil-dark-soft {
  color: rgba(0, 0, 0, 0.5);
}

.mil-marker {
  background-color: rgb(135, 216, 50);
  padding: 0 5px;
}

.mil-center {
  text-align: center;
}

.mil-left {
  text-align: left;
}

.mil-right {
  text-align: right;
}

@media screen and (max-width: 576px) {
  .mil-sm-center {
    text-align: center;
  }
}

.mil-suptitle {
  position: relative;
  display: block;
  margin-bottom: 60px;
}
.mil-suptitle:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 600px;
  height: 1px;
  background-color: rgb(255, 255, 255);
  opacity: 0.2;
}
.mil-suptitle.mil-suptitle-right {
  text-align: right;
}
.mil-suptitle.mil-suptitle-right:before {
  left: calc(100% + 30px);
}
@media screen and (max-width: 768px) {
  .mil-suptitle.mil-suptitle-right {
    text-align: center;
  }
  .mil-suptitle.mil-suptitle-right:before {
    display: none;
  }
}
.mil-suptitle.mil-suptitle-dark:before {
  background-color: rgb(0, 0, 0);
  opacity: 0.1;
}
@media screen and (max-width: 768px) {
  .mil-suptitle {
    margin-bottom: 60px;
  }
}

.mil-divider {
  width: 100%;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.1);
}

.mil-img-frame {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-bottom: 140%;
}
.mil-img-frame img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* -------------------------------------------

link

------------------------------------------- */
.mil-link {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
}
.mil-link svg {
  margin-left: 15px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-link svg path {
  fill: rgb(255, 255, 255);
}
.mil-link.mil-accent svg {
  background-color: rgba(255, 255, 255, 0.1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-link.mil-accent svg path {
  fill: rgb(135, 216, 50);
}
.mil-link.mil-dark svg {
  background-color: rgba(0, 0, 0, 0.1);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-link.mil-dark svg path {
  fill: rgb(0, 0, 0);
}
.mil-link:hover svg {
  transform: scale(1.15);
}
.mil-link.mil-down-arrow svg {
  transform: rotate(90deg);
}
.mil-link.mil-down-arrow:hover svg {
  transform: scale(1.15) rotate(90deg);
}
.mil-link.mil-icon-left {
  display: flex;
  flex-direction: row-reverse;
}
.mil-link.mil-icon-left svg {
  margin-left: 0;
  margin-right: 15px;
  transform: rotate(180deg);
}
.mil-link.mil-icon-left:hover svg {
  transform: scale(1.15) rotate(180deg);
}

/* -------------------------------------------

button

------------------------------------------- */
.mil-button {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  letter-spacing: 2px;
  font-size: 12px;
  background-color: rgb(135, 216, 50);
  color: rgb(0, 0, 0);
  border-radius: 70px;
  padding: 0 50px 0 50px;
  height: 70px;
  text-transform: uppercase;
  font-weight: 500;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-button span {
  white-space: nowrap;
}
.mil-button svg {
  margin-left: 30px;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-button svg path {
  fill: rgb(135, 216, 50);
}
.mil-button.mil-icon-button {
  padding: 15px;
}
.mil-button.mil-icon-button svg {
  margin-left: 0;
}
.mil-button.mil-icon-button-sm {
  padding: 0;
  height: 40px;
}
.mil-button.mil-icon-button-sm svg {
  margin-left: 0;
  background-color: rgb(135, 216, 50);
}
.mil-button.mil-icon-button-sm svg path {
  fill: rgb(0, 0, 0);
}
.mil-button:hover {
  transform: scale(1.015);
  filter: brightness(110%);
}
.mil-button:hover svg {
  transform: scale(1.15);
}
.mil-button.mil-arrow-down svg {
  transform: rotate(90deg);
}
.mil-button.mil-arrow-down:hover {
  transform: scale(1.015);
  filter: brightness(110%);
}
.mil-button.mil-arrow-down:hover svg {
  transform: scale(1.15) rotate(90deg);
}
@media screen and (max-width: 992px) {
  .mil-button {
    height: 60px;
    padding: 0 10px 0 40px;
  }
  .mil-button svg {
    margin-left: 25px;
  }
}

/* -------------------------------------------

form

------------------------------------------- */
input,
textarea {
  position: relative;
  height: 70px;
  padding: 0 30px;
  width: 100%;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-family: "Outfit", sans-serif;
  color: rgb(0, 0, 0);
  border: none;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}
input:focus,
textarea:focus {
  outline: inherit;
}
input::placeholder,
textarea::placeholder {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.5);
}

textarea {
  padding: 15px 30px;
  height: 300px;
}

/* -------------------------------------------

breadcrumbs

------------------------------------------- */
.mil-breadcrumbs {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.mil-breadcrumbs:before {
  content: "";
  position: absolute;
  right: calc(100% + 30px);
  top: 10px;
  width: 100vw;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}
.mil-breadcrumbs li {
  list-style-type: none;
}
.mil-breadcrumbs li:after {
  content: "/";
  margin: 0 15px;
  color: rgb(0, 0, 0);
}
.mil-breadcrumbs li a {
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-breadcrumbs li a:hover {
  color: rgb(135, 216, 50);
}
.mil-breadcrumbs li:last-child {
  margin-right: 0;
  cursor: not-allowed;
}
.mil-breadcrumbs li:last-child a {
  opacity: 0.4;
  pointer-events: none;
}
.mil-breadcrumbs li:last-child:after {
  display: none;
}
.mil-breadcrumbs.mil-light:before {
  background-color: rgba(255, 255, 255, 0.1);
}
.mil-breadcrumbs.mil-light li:after {
  color: rgba(255, 255, 255, 0.9);
}
.mil-breadcrumbs.mil-light li a:hover {
  color: rgb(135, 216, 50) !important;
}
.mil-breadcrumbs.mil-center {
  justify-content: center;
}

/* -------------------------------------------

backgrounds

------------------------------------------- */
.mil-dark-bg {
  background-color: rgb(10, 10, 10);
}

.mil-darker-bg {
  background-color: rgb(15, 15, 15);
}

.mil-soft-bg {
  background-color: rgb(24, 24, 24);
}

.mil-light-bg {
  background-color: rgb(30, 30, 30);
}

.mil-card-bg {
  background-color: rgb(36, 36, 36);
}

.mi-invert-fix {
  height: 100%;
  position: relative;
  z-index: 3;
}
.mi-invert-fix .container {
  pointer-events: all;
}

/* -------------------------------------------

spaces

------------------------------------------- */
.mil-mr-30 {
  margin-right: 30px;
}

.mil-mb-5 {
  margin-bottom: 5px;
}

.mil-mb-10 {
  margin-bottom: 10px;
}

.mil-mb-15 {
  margin-bottom: 15px;
}

.mil-mb-20 {
  margin-bottom: 15px;
}

.mil-mb-30 {
  margin-bottom: 30px;
}

.mil-mb-60 {
  margin-bottom: 60px;
}

.mil-mb-90 {
  margin-bottom: 90px;
}

.mil-mb-120 {
  margin-bottom: 120px;
}
@media screen and (max-width: 992px) {
  .mil-mb-120 {
    margin-bottom: 90px;
  }
}

.mil-mt-suptitle-offset {
  margin-top: 70px;
}
@media screen and (max-width: 992px) {
  .mil-mt-suptitle-offset {
    margin-top: 30px;
  }
}

.mil-p-120-120 {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media screen and (max-width: 992px) {
  .mil-p-120-120 {
    padding-top: 90px;
    padding-bottom: 90px;
  }
}

.mil-p-120-90 {
  padding-top: 120px;
  padding-bottom: 90px;
}
@media screen and (max-width: 992px) {
  .mil-p-120-90 {
    padding-top: 90px;
    padding-bottom: 60px;
  }
}

.mil-p-0-120 {
  padding-bottom: 120px;
}
@media screen and (max-width: 992px) {
  .mil-p-0-120 {
    padding-bottom: 90px;
  }
}

.mil-p-120-0 {
  padding-top: 120px;
}
@media screen and (max-width: 992px) {
  .mil-p-120-0 {
    padding-top: 90px;
  }
}

.mil-p-120-60 {
  padding-top: 120px;
  padding-bottom: 60px;
}
@media screen and (max-width: 992px) {
  .mil-p-120-60 {
    padding-top: 90px;
    padding-bottom: 30px;
  }
}

.mil-p-90-90 {
  padding-top: 90px;
  padding-bottom: 90px;
}
@media screen and (max-width: 992px) {
  .mil-p-90-90 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.mil-p-90-120 {
  padding-top: 90px;
  padding-bottom: 120px;
}
@media screen and (max-width: 992px) {
  .mil-p-90-120 {
    padding-top: 60px;
    padding-bottom: 90px;
  }
}

.mil-p-0-90 {
  padding-bottom: 90px;
}
@media screen and (max-width: 992px) {
  .mil-p-0-90 {
    padding-bottom: 60px;
  }
}

.mil-p-0-30 {
  padding-bottom: 30px;
}
@media screen and (max-width: 992px) {
  .mil-p-0-30 {
    padding-bottom: 0;
  }
}

.mil-p-120-30 {
  padding-top: 120px;
  padding-bottom: 30px;
}
@media screen and (max-width: 992px) {
  .mil-p-120-30 {
    padding-top: 90px;
    padding-bottom: 0;
  }
}

.mil-adaptive-right {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 992px) {
  .mil-adaptive-right {
    justify-content: flex-start;
  }
}

.mil-btn-space {
  margin-right: 30px;
}
@media screen and (max-width: 500px) {
  .mil-btn-space {
    margin-right: 50px;
    margin-bottom: 30px;
  }
}

/* -------------------------------------------

preloader

------------------------------------------- */
.mil-preloader {
  position: fixed;
  z-index: 9;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgb(0, 0, 0);
}
.mil-preloader .mil-preloader-animation {
  opacity: 0;
  position: relative;
  height: 100vh;
  color: rgb(255, 255, 255);
}
.mil-preloader .mil-preloader-animation .mil-pos-abs {
  position: absolute;
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.mil-preloader .mil-preloader-animation .mil-pos-abs p {
  opacity: 0;
  margin-right: 15px;
}
@media screen and (max-width: 992px) {
  .mil-preloader .mil-preloader-animation .mil-pos-abs {
    flex-direction: column;
  }
  .mil-preloader .mil-preloader-animation .mil-pos-abs p {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.mil-preloader .mil-preloader-animation .mil-pos-abs .mil-reveal-frame {
  position: relative;
  padding: 0 30px;
}
.mil-preloader .mil-preloader-animation .mil-pos-abs .mil-reveal-frame .mil-reveal-box {
  z-index: 4;
  position: absolute;
  opacity: 0;
  height: 100%;
  background-color: rgb(135, 216, 50);
}
.mil-preloader.mil-hidden {
  pointer-events: none;
}

/* -------------------------------------------

cursor

------------------------------------------- */
.mil-ball {
  width: 20px;
  height: 20px;
  position: fixed;
  z-index: 10;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  pointer-events: none;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.1;
}
.mil-ball .mil-icon-1 {
  position: absolute;
  width: 40px;
  height: 40px;
  transform: scale(0);
}
.mil-ball .mil-icon-1 svg {
  fill: rgba(255, 255, 255, 0.9);
}
.mil-ball .mil-more-text, .mil-ball .mil-choose-text {
  position: absolute;
  width: 100%;
  text-align: center;
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  transform: scale(0);
}
.mil-ball.mil-accent .mil-icon-1 svg {
  fill: rgb(0, 0, 0);
}
.mil-ball.mil-accent .mil-more-text, .mil-ball.mil-accent .mil-choose-text {
  color: rgb(0, 0, 0);
}
@media screen and (max-width: 1200px) {
  .mil-ball {
    display: none;
  }
}

/* -------------------------------------------

hidden elements

------------------------------------------- */
.mil-hidden-elements {
  display: none;
  visibility: hidden;
  position: absolute;
  left: -9999px;
}
.mil-hidden-elements .mil-shape, .mil-hidden-elements .mil-dodecahedron, .mil-hidden-elements .mil-lines, .mil-hidden-elements .mil-arrow {
  display: none;
}

/* -------------------------------------------

scrollbar

------------------------------------------- */
::-webkit-scrollbar {
  display: none;
}

.mil-progress-track {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background-color: rgb(0, 0, 0);
}
.mil-progress-track .mil-progress {
  width: 4px;
  height: 0;
  background-color: rgb(135, 216, 50);
}
@media screen and (max-width: 992px) {
  .mil-progress-track {
    display: none;
  }
}

/* -------------------------------------------

frame

------------------------------------------- */
.mil-logo {
  font-size: 42px;
  font-weight: 500;
  line-height: 100%;
}
@media screen and (max-width: 992px) {
  .mil-logo {
    font-size: 36px;
  }
}

.mil-frame {
  padding: 50px 60px 60px 60px;
  position: fixed;
  z-index: 999;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 30px;
  }
}
@media screen and (max-width: 1200px) {
  .mil-frame {
    padding: 0;
    z-index: 999;
    height: 90px;
  }
}
@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-top {
    height: 90px;
    background-color: rgba(0, 0, 0, 0.95);
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
    padding: 0 30px;
    backdrop-filter: blur(8px);
  }
  .mil-frame .mil-frame-top .mil-logo {
    color: rgb(255, 255, 255);
  }
  .mil-frame .mil-frame-top .mil-menu-btn span, .mil-frame .mil-frame-top .mil-menu-btn span:after, .mil-frame .mil-frame-top .mil-menu-btn span:before {
    background: rgb(255, 255, 255);
  }
}
.mil-frame .mil-frame-bottom {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 1200px) {
  .mil-frame .mil-frame-bottom {
    display: none;
  }
}
.mil-frame .mil-frame-bottom .mil-current-page {
  pointer-events: none;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 12px;
  width: 300px;
  color: rgb(0, 0, 0);
  transform: rotate(-90deg) translateX(138px) translateY(-138px);
}
.mil-frame .mil-frame-bottom .mil-back-to-top {
  width: 300px;
  transform: rotate(-90deg) translateX(130px) translateY(130px);
  pointer-events: all;
}

.mil-frame-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mil-frame-top .mil-logo {
  pointer-events: all;
  color: rgb(0, 0, 0);
}
.mil-frame-top .mil-language-switcher {
  pointer-events: all;
}

/* -------------------------------------------

menu button

------------------------------------------- */
.mil-menu-btn {
  pointer-events: all;
  height: 28px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 992px) {
  .mil-menu-btn {
    transform: scale(0.85);
  }
}
.mil-menu-btn span, .mil-menu-btn span:after, .mil-menu-btn span:before {
  content: "";
  display: block;
  width: 28px;
  height: 2.5px;
  background: rgb(178, 178, 178);
  backface-visibility: hidden;
  transition: inherit;
}
.mil-menu-btn span {
  position: relative;
}
.mil-menu-btn span:after, .mil-menu-btn span:before {
  position: absolute;
}
.mil-menu-btn span:before {
  top: -9px;
}
.mil-menu-btn span:after {
  width: 18px;
  top: 9px;
}
.mil-menu-btn.mil-active span {
  transform: rotate(45deg);
}
.mil-menu-btn.mil-active span:before {
  transform: translate(0px, 9px) rotate(-90deg);
}
.mil-menu-btn.mil-active span:after {
  opacity: 0;
  width: 24px;
  transform: translate(0px, -9px) rotate(-90deg);
}

/* -------------------------------------------

menu

------------------------------------------- */
.mil-menu-frame {
  position: fixed;
  z-index: 9;
  width: 100%;
  height: 100vh;
  background-color: rgb(0, 0, 0);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-menu-frame .container {
  pointer-events: none;
}
.mil-menu-frame .mil-frame-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 50px 60px;
}
@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-frame-top {
    display: none;
  }
}
.mil-menu-frame .mil-frame-top .mil-logo {
  color: rgb(255, 255, 255);
}
.mil-menu-frame .mil-frame-top .mil-menu-btn span, .mil-menu-frame .mil-frame-top .mil-menu-btn span:after, .mil-menu-frame .mil-frame-top .mil-menu-btn span:before {
  background-color: rgb(255, 255, 255);
}
.mil-menu-frame .mil-main-menu {
  transform: translateX(-30px);
  opacity: 0;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-main-menu {
    transform: translateY(30px);
  }
}
.mil-menu-frame .mil-menu-right-frame {
  padding-left: 60px;
  position: relative;
  height: 100vh;
  display: flex;
  align-items: flex-end;
  border-left: solid 1px rgba(255, 255, 255, 0.1);
  opacity: 0;
  transform: translateY(30px);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-menu-frame .mil-menu-right-frame .mil-menu-right {
  padding-bottom: 60px;
}
.mil-menu-frame .mil-menu-right-frame .mil-animation-in {
  position: absolute;
  top: -320px;
  right: 0;
  opacity: 0;
  transform: translateY(-60px);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 1200px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}
@media screen and (max-height: 800px) {
  .mil-menu-frame .mil-menu-right-frame {
    display: none;
  }
}
.mil-menu-frame.mil-active {
  opacity: 1;
  pointer-events: all;
}
.mil-menu-frame.mil-active .container {
  pointer-events: all;
}
.mil-menu-frame.mil-active .mil-main-menu {
  transform: translateX(0);
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.4s;
}
.mil-menu-frame.mil-active .mil-menu-right-frame {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.6s;
}
.mil-menu-frame.mil-active .mil-menu-right-frame .mil-animation-in {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.8s;
}

.mil-menu-list li {
  list-style-type: none;
  margin-bottom: 15px;
}
.mil-menu-list li:last-child {
  margin-bottom: 0;
}
.mil-menu-list li a {
  display: block;
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-menu-list li a:hover {
  transform: translateX(5px);
  color: rgb(255, 255, 255);
}
.mil-menu-list.mil-hori-list {
  display: flex;
}
.mil-menu-list.mil-hori-list li {
  margin-bottom: 0;
  margin-right: 30px;
}
.mil-menu-list.mil-dark li a {
  color: rgb(0, 0, 0);
}

.mil-main-menu {
  height: 100vh;
  display: flex;
  align-items: center;
}
.mil-main-menu ul {
  padding: 0;
  margin: 0;
}
.mil-main-menu ul li {
  margin-bottom: 40px;
}
.mil-main-menu ul li:last-child {
  margin-bottom: 0;
}
.mil-main-menu ul li a {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.8);
  font-size: 34px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
@media screen and (max-width: 992px) {
  .mil-main-menu ul li a {
    font-size: 26px;
  }
}
.mil-main-menu ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.4);
  transform: scale(0);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-main-menu ul li a:hover {
  color: rgb(255, 255, 255);
}
.mil-main-menu ul li a.mil-active {
  padding-left: 25px;
}
.mil-main-menu ul li a.mil-active:before {
  transform: scale(1);
  background-color: rgb(135, 216, 50);
}
.mil-main-menu ul li.mil-active > a {
  color: rgb(135, 216, 50);
}
.mil-main-menu ul li.mil-active > a:hover {
  color: rgb(135, 216, 50) !important;
  filter: brightness(110%);
}
.mil-main-menu ul li.mil-has-children > a:hover {
  color: rgb(255, 255, 255);
  padding-left: 25px;
}
.mil-main-menu ul li.mil-has-children > a:hover:before {
  transform: scale(1);
}
.mil-main-menu ul li.mil-has-children ul {
  padding-left: 25px;
  overflow: hidden;
  max-height: 0;
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-main-menu ul li.mil-has-children ul li {
  margin-bottom: 5px;
}
.mil-main-menu ul li.mil-has-children ul li:first-child {
  margin-top: 40px;
}
.mil-main-menu ul li.mil-has-children ul li a {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.4);
  letter-spacing: 2px;
  font-weight: 500;
  text-transform: uppercase;
}
.mil-main-menu ul li.mil-has-children ul li a:before {
  display: none;
}
.mil-main-menu ul li.mil-has-children ul li a:hover {
  color: rgba(255, 255, 255, 0.8);
  transform: translateX(5px);
}
.mil-main-menu ul li.mil-has-children ul.mil-active {
  max-height: 200px;
}
@media screen and (max-width: 1200px) {
  .mil-main-menu {
    justify-content: center;
  }
  .mil-main-menu ul {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .mil-main-menu ul li {
    margin-bottom: 30px;
  }
  .mil-main-menu ul li a {
    justify-content: center;
  }
  .mil-main-menu ul li a:before {
    display: none;
  }
  .mil-main-menu ul li a.mil-active {
    padding-left: 0 !important;
  }
  .mil-main-menu ul li.mil-has-children ul {
    padding-left: 0;
  }
  .mil-main-menu ul li.mil-has-children ul li:first-child {
    margin-top: 30px;
  }
}

/* -------------------------------------------

banner

------------------------------------------- */
.mil-banner {
  height: 100vh;
}
.mil-banner .container {
  height: 100%;
  display: flex;
  align-items: flex-end;
}
.mil-banner .mil-banner-content {
  width: 100%;
  padding-bottom: 120px;
  position: relative;
}
@media screen and (max-width: 992px) {
  .mil-banner .mil-banner-content {
    padding-bottom: 90px;
  }
}
.mil-banner .mil-lines-place {
  position: absolute;
  left: 0;
  bottom: calc(100% + 120px);
}

.mil-inner-banner .mil-banner-content {
  padding: 150px 0 0 0;
}
@media screen and (max-width: 1200px) {
  .mil-inner-banner .mil-banner-content {
    padding: 180px 0 0 0;
  }
}

.mil-banner-personal {
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.1);
}
.mil-banner-personal .mil-banner-content {
  position: relative;
  padding-top: 90px;
}
@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content {
    padding-top: 180px;
  }
}
.mil-banner-personal .mil-banner-content .mil-personal-text {
  margin-bottom: 300px;
}
@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-personal-text {
    margin-bottom: 80px;
    text-align: center;
  }
}
.mil-banner-personal .mil-banner-content .mil-banner-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 60px 0 90px;
  background-color: rgb(255, 255, 255);
  height: 180px;
  position: absolute;
  top: calc(100vh - 180px);
  left: 0;
  width: 100%;
}
@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    flex-direction: column;
    height: auto;
    padding: 60px 30px;
  }
  .mil-banner-personal .mil-banner-content .mil-banner-panel h5 {
    margin-bottom: 60px;
    text-align: center;
    width: 80%;
  }
}
.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
  display: flex;
}
.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 30px;
  padding: 0 50px;
  background-color: rgba(0, 0, 0, 0.1);
  height: 70px;
  border-radius: 70px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame:hover {
  transform: scale(1.015);
}
@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right {
    flex-direction: column;
  }
  .mil-banner-personal .mil-banner-content .mil-banner-panel .mil-right .mil-social-frame {
    margin-right: 0;
    margin-bottom: 30px;
    height: 60px;
  }
}
.mil-banner-personal .mil-banner-content .mil-banner-panel .mil-button {
  margin: 0 !important;
}
@media screen and (max-width: 992px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    bottom: 0;
    top: auto;
  }
}
@media screen and (max-width: 768px) {
  .mil-banner-personal .mil-banner-content .mil-banner-panel {
    position: static;
    margin-bottom: 90px;
  }
}
@media screen and (max-width: 992px) {
  .mil-banner-personal {
    height: auto;
  }
}

.mil-portrait-frame {
  position: relative;
}
.mil-portrait-frame img {
  position: relative;
  bottom: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.mil-portrait-frame .mil-nimbus {
  background: radial-gradient(50% 50% at 50% 50%, rgb(135, 216, 50) 0%, rgba(250, 168, 69, 0) 100%);
  width: 100%;
  padding-bottom: 100%;
  position: absolute;
  opacity: 0.6;
}
@media screen and (max-width: 768px) {
  .mil-portrait-frame {
    height: 400px;
  }
  .mil-portrait-frame img {
    object-fit: cover;
    object-position: top;
  }
}

/* -------------------------------------------

circle text

------------------------------------------- */
.mil-circle-text {
  position: absolute;
  right: 0;
  bottom: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 140px;
  height: 140px;
}
.mil-circle-text .mil-ct-svg {
  transform: scale(2);
  width: 140px;
  height: 140px;
}
.mil-circle-text .mil-ct-svg text {
  fill: rgba(255, 255, 255, 0.4);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-circle-text .mil-button {
  position: absolute;
}
.mil-circle-text:hover svg text {
  fill: rgb(255, 255, 255);
}
@media screen and (max-width: 992px) {
  .mil-circle-text {
    display: none;
  }
}

/* -------------------------------------------

lines

------------------------------------------- */
@keyframes move {
  from {
    transform: translateY(-75px);
  }
  50% {
    transform: translateY(75px);
  }
  to {
    transform: translateY(-75px);
  }
}
.mil-lines-place .mil-lines {
  opacity: 0.05;
  pointer-events: none;
}
@media screen and (max-width: 992px) {
  .mil-lines-place .mil-lines {
    display: none;
  }
}
.mil-lines-place .mil-lines path, .mil-lines-place .mil-lines rect, .mil-lines-place .mil-lines line {
  stroke: rgb(0, 0, 0);
}
.mil-lines-place .mil-lines .mil-move {
  animation: move 10s linear infinite;
}
.mil-lines-place.mil-light .mil-lines {
  opacity: 0.2;
}
.mil-lines-place.mil-light .mil-lines path, .mil-lines-place.mil-light .mil-lines rect, .mil-lines-place.mil-light .mil-lines line {
  stroke: rgb(255, 255, 255);
}

/* -------------------------------------------

Psychedelic Geometric Shapes Framework 2.0
Next-Level Interactive 3D Animation System

------------------------------------------- */
.mil-animation-frame {
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  animation: jump 10s linear infinite;
  pointer-events: none;
  perspective: 1200px;
}

.mil-animation {
  position: absolute;
  display: inline-block;
  width: 300px;
  height: 300px;
  opacity: 0.2;
  pointer-events: none;
  filter: drop-shadow(0 0 20px rgba(135, 216, 50, 0.3));
  transition: filter 0.6s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-animation:hover {
  filter: drop-shadow(0 0 40px rgba(135, 216, 50, 0.6));
}
.mil-animation[data-intensity=calm] {
  animation-duration: 120s;
  opacity: 0.15;
}
.mil-animation[data-intensity=normal] {
  animation-duration: 80s;
  opacity: 0.2;
}
.mil-animation[data-intensity=intense] {
  animation-duration: 40s;
  opacity: 0.3;
  filter: drop-shadow(0 0 30px rgba(135, 216, 50, 0.5));
}
.mil-animation[data-intensity=psychedelic] {
  animation-duration: 20s;
  opacity: 0.4;
  filter: drop-shadow(0 0 50px rgba(135, 216, 50, 0.8)) drop-shadow(0 0 100px rgba(255, 100, 255, 0.4));
}

.mil-position-1 {
  top: 100px;
  right: 100px;
}
.mil-position-1 .mil-shape-face {
  border-color: rgb(255, 255, 255);
  border-width: 0.1px;
}

.mil-position-2 {
  top: -60px;
  left: 15%;
}
.mil-position-2 .mil-shape-face {
  border-color: rgb(255, 255, 255);
  border-width: 1px;
}
.mil-position-2 .mil-shape {
  animation-delay: 0.5s;
}
@media screen and (max-width: 1400px) {
  .mil-position-2 {
    display: none;
  }
}

.mil-position-3 {
  bottom: -100px;
  right: 35%;
}
.mil-position-3 .mil-shape-face {
  border-color: rgb(255, 255, 255);
  border-width: 1px;
}
.mil-position-3 .mil-shape {
  animation-delay: 1s;
}
@media screen and (max-width: 1400px) {
  .mil-position-3 {
    display: none;
  }
}

.mil-position-4 {
  top: -60px;
  right: 20%;
}
.mil-position-4 .mil-shape-face {
  border-color: rgb(255, 255, 255);
  border-width: 0.1px;
}
.mil-position-4 .mil-shape {
  animation-delay: 0.5s;
}
@media screen and (max-width: 1400px) {
  .mil-position-4 {
    display: none;
  }
}
.mil-position-4.mil-dark .mil-shape-face {
  border-color: rgb(0, 0, 0);
}

/* Base Shape Container */
.mil-shape {
  position: relative;
  left: 100px;
  top: 40px;
  transform-style: preserve-3d;
  animation: rotate 100s infinite linear;
}
.mil-shape[data-color=accent] .mil-shape-face {
  border-color: rgb(135, 216, 50);
}
.mil-shape[data-color=light] .mil-shape-face {
  border-color: rgb(255, 255, 255);
}
.mil-shape[data-color=gradient] .mil-shape-face {
  border-color: rgb(135, 216, 50);
  background: linear-gradient(135deg, rgba(135, 216, 50, 0.05), rgba(255, 100, 255, 0.05));
}
.mil-shape[data-color=rainbow] .mil-shape-face {
  animation: rainbowBorder 8s infinite linear;
}

/* Shared face styling */
.mil-shape-face {
  position: absolute;
  border-style: solid;
  border-color: rgb(255, 255, 255);
  background: transparent;
  transition: all 0.4s cubic-bezier(0, 0, 0.3642, 1);
}

/* Advanced Rotation Animations */
@keyframes rotate {
  from {
    transform: rotateX(0deg) rotateY(360deg) rotateZ(360deg);
  }
  to {
    transform: rotateX(360deg) rotateY(0deg) rotateZ(-360deg);
  }
}
@keyframes rotatePsychedelic {
  0% {
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  25% {
    transform: rotateX(180deg) rotateY(90deg) rotateZ(45deg);
  }
  50% {
    transform: rotateX(360deg) rotateY(180deg) rotateZ(180deg);
  }
  75% {
    transform: rotateX(540deg) rotateY(270deg) rotateZ(315deg);
  }
  100% {
    transform: rotateX(720deg) rotateY(360deg) rotateZ(360deg);
  }
}
@keyframes rotateChaos {
  0% {
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
  }
  20% {
    transform: rotateX(144deg) rotateY(72deg) rotateZ(216deg) scale(1.1);
  }
  40% {
    transform: rotateX(288deg) rotateY(144deg) rotateZ(72deg) scale(0.9);
  }
  60% {
    transform: rotateX(72deg) rotateY(288deg) rotateZ(288deg) scale(1.15);
  }
  80% {
    transform: rotateX(216deg) rotateY(216deg) rotateZ(144deg) scale(0.95);
  }
  100% {
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg) scale(1);
  }
}
@keyframes rotateOrbital {
  0% {
    transform: rotateY(0deg) rotateX(20deg) translateZ(50px) rotateZ(0deg);
  }
  100% {
    transform: rotateY(360deg) rotateX(20deg) translateZ(50px) rotateZ(-360deg);
  }
}
@keyframes rainbowBorder {
  0% {
    border-color: rgba(255, 0, 0, 0.8);
  }
  16% {
    border-color: rgba(255, 127, 0, 0.8);
  }
  33% {
    border-color: rgba(255, 255, 0, 0.8);
  }
  50% {
    border-color: rgba(0, 255, 0, 0.8);
  }
  66% {
    border-color: rgba(0, 0, 255, 0.8);
  }
  83% {
    border-color: rgba(139, 0, 255, 0.8);
  }
  100% {
    border-color: rgba(255, 0, 0, 0.8);
  }
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.2;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.3;
  }
}
/* ============================================
   DIAMOND SHAPE (4-sided pyramid)
============================================ */
.mil-diamond {
  width: 150px;
  height: 150px;
  animation: rotatePsychedelic 80s infinite linear;
}
.mil-diamond .mil-shape-face {
  width: 0;
  height: 0;
  border-style: solid;
  background: transparent;
}
.mil-diamond .mil-shape-face:nth-child(1) {
  border-left: 75px solid transparent;
  border-right: 75px solid transparent;
  border-bottom: 130px solid transparent;
  border-bottom-color: inherit;
  transform: translateZ(37.5px) rotateX(0deg);
}
.mil-diamond .mil-shape-face:nth-child(2) {
  border-left: 75px solid transparent;
  border-right: 75px solid transparent;
  border-bottom: 130px solid transparent;
  border-bottom-color: inherit;
  transform: translateZ(37.5px) rotateY(90deg);
}
.mil-diamond .mil-shape-face:nth-child(3) {
  border-left: 75px solid transparent;
  border-right: 75px solid transparent;
  border-bottom: 130px solid transparent;
  border-bottom-color: inherit;
  transform: translateZ(37.5px) rotateY(180deg);
}
.mil-diamond .mil-shape-face:nth-child(4) {
  border-left: 75px solid transparent;
  border-right: 75px solid transparent;
  border-bottom: 130px solid transparent;
  border-bottom-color: inherit;
  transform: translateZ(37.5px) rotateY(270deg);
}
.mil-diamond .mil-shape-face:nth-child(5) {
  width: 150px;
  height: 150px;
  border-width: 1px;
  transform: translateY(65px) rotateX(90deg);
}

/* ============================================
   CUBE SHAPE
============================================ */
.mil-cube {
  width: 120px;
  height: 120px;
  animation: rotate 90s infinite linear;
}
.mil-cube .mil-shape-face {
  width: 120px;
  height: 120px;
  border-width: 1px;
}
.mil-cube .mil-shape-face:nth-child(1) {
  transform: translateZ(60px);
}
.mil-cube .mil-shape-face:nth-child(2) {
  transform: translateZ(-60px) rotateY(180deg);
}
.mil-cube .mil-shape-face:nth-child(3) {
  transform: rotateY(90deg) translateZ(60px);
}
.mil-cube .mil-shape-face:nth-child(4) {
  transform: rotateY(-90deg) translateZ(60px);
}
.mil-cube .mil-shape-face:nth-child(5) {
  transform: rotateX(90deg) translateZ(60px);
}
.mil-cube .mil-shape-face:nth-child(6) {
  transform: rotateX(-90deg) translateZ(60px);
}

/* ============================================
   OCTAHEDRON SHAPE (8-sided)
============================================ */
.mil-octahedron {
  width: 140px;
  height: 140px;
  animation: rotatePsychedelic 75s infinite linear;
}
.mil-octahedron .mil-shape-face {
  width: 0;
  height: 0;
  border-left: 70px solid transparent;
  border-right: 70px solid transparent;
  border-bottom: 70px solid transparent;
  border-bottom-color: inherit;
}
.mil-octahedron .mil-shape-face:nth-child(1) {
  transform: rotateY(0deg) translateZ(49px) rotateX(-45deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(2) {
  transform: rotateY(90deg) translateZ(49px) rotateX(-45deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(3) {
  transform: rotateY(180deg) translateZ(49px) rotateX(-45deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(4) {
  transform: rotateY(270deg) translateZ(49px) rotateX(-45deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(5) {
  transform: rotateY(0deg) translateZ(49px) rotateX(135deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(6) {
  transform: rotateY(90deg) translateZ(49px) rotateX(135deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(7) {
  transform: rotateY(180deg) translateZ(49px) rotateX(135deg) translateY(-35px);
}
.mil-octahedron .mil-shape-face:nth-child(8) {
  transform: rotateY(270deg) translateZ(49px) rotateX(135deg) translateY(-35px);
}

/* ============================================
   SPHERE (Geodesic approximation)
============================================ */
.mil-sphere {
  width: 120px;
  height: 120px;
  animation: rotate 70s infinite linear;
}
.mil-sphere .mil-shape-face {
  width: 40px;
  height: 40px;
  border-width: 0.5px;
  border-radius: 50%;
}
.mil-sphere .mil-shape-face:nth-child(1) {
  transform: rotateY(0deg) translateZ(60px) rotateX(15deg);
}
.mil-sphere .mil-shape-face:nth-child(2) {
  transform: rotateY(30deg) translateZ(57.9555495773px) rotateX(30deg);
}
.mil-sphere .mil-shape-face:nth-child(3) {
  transform: rotateY(60deg) translateZ(51.9615242271px) rotateX(45deg);
}
.mil-sphere .mil-shape-face:nth-child(4) {
  transform: rotateY(90deg) translateZ(42.4264068712px) rotateX(60deg);
}
.mil-sphere .mil-shape-face:nth-child(5) {
  transform: rotateY(120deg) translateZ(30px) rotateX(75deg);
}
.mil-sphere .mil-shape-face:nth-child(6) {
  transform: rotateY(150deg) translateZ(15.5291427062px) rotateX(90deg);
}
.mil-sphere .mil-shape-face:nth-child(7) {
  transform: rotateY(180deg) translateZ(0px) rotateX(105deg);
}
.mil-sphere .mil-shape-face:nth-child(8) {
  transform: rotateY(210deg) translateZ(-15.5291427062px) rotateX(120deg);
}
.mil-sphere .mil-shape-face:nth-child(9) {
  transform: rotateY(240deg) translateZ(-30px) rotateX(135deg);
}
.mil-sphere .mil-shape-face:nth-child(10) {
  transform: rotateY(270deg) translateZ(-42.4264068712px) rotateX(150deg);
}
.mil-sphere .mil-shape-face:nth-child(11) {
  transform: rotateY(300deg) translateZ(-51.9615242271px) rotateX(165deg);
}
.mil-sphere .mil-shape-face:nth-child(12) {
  transform: rotateY(330deg) translateZ(-57.9555495773px) rotateX(180deg);
}

/* ============================================
   PRISM SHAPE (Triangular prism)
============================================ */
.mil-prism {
  width: 130px;
  height: 150px;
  animation: rotatePsychedelic 85s infinite linear;
}
.mil-prism .mil-shape-face {
  border-width: 1px;
}
.mil-prism .mil-shape-face:nth-child(1),
.mil-prism .mil-shape-face:nth-child(2) {
  width: 0;
  height: 0;
  border-left: 65px solid transparent;
  border-right: 65px solid transparent;
  border-bottom: 112px solid transparent;
  border-bottom-color: inherit;
}
.mil-prism .mil-shape-face:nth-child(1) {
  transform: translateZ(75px);
}
.mil-prism .mil-shape-face:nth-child(2) {
  transform: translateZ(-75px) rotateY(180deg);
}
.mil-prism .mil-shape-face:nth-child(3) {
  width: 150px;
  height: 130px;
  transform: rotateY(60deg) translateZ(65px);
}
.mil-prism .mil-shape-face:nth-child(4) {
  width: 150px;
  height: 130px;
  transform: rotateY(180deg) translateZ(65px);
}
.mil-prism .mil-shape-face:nth-child(5) {
  width: 150px;
  height: 130px;
  transform: rotateY(300deg) translateZ(65px);
}

/* ============================================
   TORUS SHAPE (Donut - ring shape)
   Enhanced with pulsing segments
============================================ */
.mil-torus {
  width: 160px;
  height: 160px;
  animation: rotatePsychedelic 65s infinite linear;
}
.mil-torus .mil-shape-face {
  width: 20px;
  height: 60px;
  border-width: 0.8px;
  border-radius: 10px;
  animation: pulse 4s infinite ease-in-out;
}
.mil-torus .mil-shape-face:nth-child(1) {
  animation-delay: 0s;
  transform: rotateY(0deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(2) {
  animation-delay: 0.1s;
  transform: rotateY(15deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(3) {
  animation-delay: 0.2s;
  transform: rotateY(30deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(4) {
  animation-delay: 0.3s;
  transform: rotateY(45deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(5) {
  animation-delay: 0.4s;
  transform: rotateY(60deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(6) {
  animation-delay: 0.5s;
  transform: rotateY(75deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(7) {
  animation-delay: 0.6s;
  transform: rotateY(90deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(8) {
  animation-delay: 0.7s;
  transform: rotateY(105deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(9) {
  animation-delay: 0.8s;
  transform: rotateY(120deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(10) {
  animation-delay: 0.9s;
  transform: rotateY(135deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(11) {
  animation-delay: 1s;
  transform: rotateY(150deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(12) {
  animation-delay: 1.1s;
  transform: rotateY(165deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(13) {
  animation-delay: 1.2s;
  transform: rotateY(180deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(14) {
  animation-delay: 1.3s;
  transform: rotateY(195deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(15) {
  animation-delay: 1.4s;
  transform: rotateY(210deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(16) {
  animation-delay: 1.5s;
  transform: rotateY(225deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(17) {
  animation-delay: 1.6s;
  transform: rotateY(240deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(18) {
  animation-delay: 1.7s;
  transform: rotateY(255deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(19) {
  animation-delay: 1.8s;
  transform: rotateY(270deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(20) {
  animation-delay: 1.9s;
  transform: rotateY(285deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(21) {
  animation-delay: 2s;
  transform: rotateY(300deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(22) {
  animation-delay: 2.1s;
  transform: rotateY(315deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(23) {
  animation-delay: 2.2s;
  transform: rotateY(330deg) translateZ(70px) rotateX(90deg);
}
.mil-torus .mil-shape-face:nth-child(24) {
  animation-delay: 2.3s;
  transform: rotateY(345deg) translateZ(70px) rotateX(90deg);
}
.mil-torus[data-variant=orbital] {
  animation: rotateOrbital 50s infinite linear;
}
.mil-torus[data-variant=chaos] {
  animation: rotateChaos 45s infinite ease-in-out;
}

/* ============================================
   ICOSAHEDRON SHAPE (20-sided)
============================================ */
.mil-icosahedron {
  width: 140px;
  height: 140px;
  animation: rotatePsychedelic 70s infinite linear;
}
.mil-icosahedron .mil-shape-face {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 86.6px solid transparent;
  border-bottom-color: inherit;
  border-width: 0.8px;
}
.mil-icosahedron .mil-shape-face:nth-child(1) {
  transform: rotateY(0deg) translateZ(58px) rotateX(-26.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(2) {
  transform: rotateY(72deg) translateZ(58px) rotateX(-26.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(3) {
  transform: rotateY(144deg) translateZ(58px) rotateX(-26.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(4) {
  transform: rotateY(216deg) translateZ(58px) rotateX(-26.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(5) {
  transform: rotateY(288deg) translateZ(58px) rotateX(-26.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(6) {
  transform: rotateY(36deg) translateZ(58px) rotateX(26.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(7) {
  transform: rotateY(108deg) translateZ(58px) rotateX(26.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(8) {
  transform: rotateY(180deg) translateZ(58px) rotateX(26.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(9) {
  transform: rotateY(252deg) translateZ(58px) rotateX(26.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(10) {
  transform: rotateY(324deg) translateZ(58px) rotateX(26.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(11) {
  transform: rotateY(0deg) translateZ(58px) rotateX(153.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(12) {
  transform: rotateY(72deg) translateZ(58px) rotateX(153.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(13) {
  transform: rotateY(144deg) translateZ(58px) rotateX(153.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(14) {
  transform: rotateY(216deg) translateZ(58px) rotateX(153.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(15) {
  transform: rotateY(288deg) translateZ(58px) rotateX(153.5deg) translateY(-10px);
}
.mil-icosahedron .mil-shape-face:nth-child(16) {
  transform: rotateY(36deg) translateZ(58px) rotateX(-153.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(17) {
  transform: rotateY(108deg) translateZ(58px) rotateX(-153.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(18) {
  transform: rotateY(180deg) translateZ(58px) rotateX(-153.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(19) {
  transform: rotateY(252deg) translateZ(58px) rotateX(-153.5deg) translateY(-25px);
}
.mil-icosahedron .mil-shape-face:nth-child(20) {
  transform: rotateY(324deg) translateZ(58px) rotateX(-153.5deg) translateY(-25px);
}

/* ============================================
   STAR SHAPE (Stellated)
============================================ */
.mil-star {
  width: 150px;
  height: 150px;
  animation: rotatePsychedelic 60s infinite linear;
}
.mil-star .mil-shape-face {
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-bottom: 100px solid transparent;
  border-bottom-color: inherit;
  border-width: 1px;
}
.mil-star .mil-shape-face:nth-child(1) {
  transform: rotateY(0deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(2) {
  transform: rotateY(30deg) translateZ(40px) rotateX(45deg);
}
.mil-star .mil-shape-face:nth-child(3) {
  transform: rotateY(60deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(4) {
  transform: rotateY(90deg) translateZ(40px) rotateX(45deg);
}
.mil-star .mil-shape-face:nth-child(5) {
  transform: rotateY(120deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(6) {
  transform: rotateY(150deg) translateZ(40px) rotateX(45deg);
}
.mil-star .mil-shape-face:nth-child(7) {
  transform: rotateY(180deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(8) {
  transform: rotateY(210deg) translateZ(40px) rotateX(45deg);
}
.mil-star .mil-shape-face:nth-child(9) {
  transform: rotateY(240deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(10) {
  transform: rotateY(270deg) translateZ(40px) rotateX(45deg);
}
.mil-star .mil-shape-face:nth-child(11) {
  transform: rotateY(300deg) translateZ(40px) rotateX(-45deg);
}
.mil-star .mil-shape-face:nth-child(12) {
  transform: rotateY(330deg) translateZ(40px) rotateX(45deg);
}

/* ============================================
   HELIX SHAPE (Spiral wireframe)
============================================ */
.mil-helix {
  width: 100px;
  height: 200px;
  animation: rotatePsychedelic 90s infinite linear;
}
.mil-helix .mil-shape-face {
  width: 80px;
  height: 2px;
  border-width: 1px;
  background: transparent;
}
.mil-helix .mil-shape-face:nth-child(1) {
  transform: translateY(0px) rotateY(0deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(2) {
  transform: translateY(12px) rotateY(22.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(3) {
  transform: translateY(24px) rotateY(45deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(4) {
  transform: translateY(36px) rotateY(67.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(5) {
  transform: translateY(48px) rotateY(90deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(6) {
  transform: translateY(60px) rotateY(112.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(7) {
  transform: translateY(72px) rotateY(135deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(8) {
  transform: translateY(84px) rotateY(157.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(9) {
  transform: translateY(96px) rotateY(180deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(10) {
  transform: translateY(108px) rotateY(202.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(11) {
  transform: translateY(120px) rotateY(225deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(12) {
  transform: translateY(132px) rotateY(247.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(13) {
  transform: translateY(144px) rotateY(270deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(14) {
  transform: translateY(156px) rotateY(292.5deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(15) {
  transform: translateY(168px) rotateY(315deg) translateZ(40px);
}
.mil-helix .mil-shape-face:nth-child(16) {
  transform: translateY(180px) rotateY(337.5deg) translateZ(40px);
}

/* ============================================
   TESSERACT SHAPE (4D Hypercube Projection)
   Mind-bending 4-dimensional geometry
============================================ */
.mil-tesseract {
  width: 180px;
  height: 180px;
  animation: rotateChaos 80s infinite ease-in-out;
}
.mil-tesseract .mil-shape-face {
  width: 80px;
  height: 80px;
  border-width: 1.5px;
  opacity: 0.6;
}
.mil-tesseract .mil-shape-face:nth-child(1) {
  transform: translateZ(40px);
}
.mil-tesseract .mil-shape-face:nth-child(2) {
  transform: translateZ(-40px) rotateY(180deg);
}
.mil-tesseract .mil-shape-face:nth-child(3) {
  transform: rotateY(90deg) translateZ(40px);
}
.mil-tesseract .mil-shape-face:nth-child(4) {
  transform: rotateY(-90deg) translateZ(40px);
}
.mil-tesseract .mil-shape-face:nth-child(5) {
  transform: rotateX(90deg) translateZ(40px);
}
.mil-tesseract .mil-shape-face:nth-child(6) {
  transform: rotateX(-90deg) translateZ(40px);
}
.mil-tesseract .mil-shape-face:nth-child(7) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: translateZ(60px) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(8) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: translateZ(-60px) rotateY(180deg) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(9) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: rotateY(90deg) translateZ(60px) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(10) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: rotateY(-90deg) translateZ(60px) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(11) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: rotateX(90deg) translateZ(60px) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(12) {
  width: 120px;
  height: 120px;
  opacity: 0.3;
  transform: rotateX(-90deg) translateZ(60px) scale(1.5);
}
.mil-tesseract .mil-shape-face:nth-child(13) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(0deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0s;
}
.mil-tesseract .mil-shape-face:nth-child(14) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(45deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.2s;
}
.mil-tesseract .mil-shape-face:nth-child(15) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(90deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.4s;
}
.mil-tesseract .mil-shape-face:nth-child(16) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(135deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.6s;
}
.mil-tesseract .mil-shape-face:nth-child(17) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(180deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.8s;
}
.mil-tesseract .mil-shape-face:nth-child(18) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(225deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1s;
}
.mil-tesseract .mil-shape-face:nth-child(19) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(270deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.2s;
}
.mil-tesseract .mil-shape-face:nth-child(20) {
  width: 2px;
  height: 60px;
  border-width: 1px;
  transform: rotateZ(315deg) translateY(-50px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.4s;
}

/* ============================================
   KLEIN BOTTLE (Non-orientable surface)
   Impossible topology made visible
============================================ */
.mil-klein-bottle {
  width: 140px;
  height: 180px;
  animation: rotatePsychedelic 75s infinite linear;
}
.mil-klein-bottle .mil-shape-face {
  border-width: 1px;
  border-radius: 50%;
}
.mil-klein-bottle .mil-shape-face:nth-child(1) {
  width: 42px;
  height: 42px;
  transform: translateY(0px) rotateX(90deg) scale(1);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.15s;
}
.mil-klein-bottle .mil-shape-face:nth-child(2) {
  width: 44px;
  height: 44px;
  transform: translateY(10px) rotateX(90deg) scale(1.1148050297);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.3s;
}
.mil-klein-bottle .mil-shape-face:nth-child(3) {
  width: 46px;
  height: 46px;
  transform: translateY(20px) rotateX(90deg) scale(1.2121320344);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.45s;
}
.mil-klein-bottle .mil-shape-face:nth-child(4) {
  width: 48px;
  height: 48px;
  transform: translateY(30px) rotateX(90deg) scale(1.2771638598);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.6s;
}
.mil-klein-bottle .mil-shape-face:nth-child(5) {
  width: 50px;
  height: 50px;
  transform: translateY(40px) rotateX(90deg) scale(1.3);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.75s;
}
.mil-klein-bottle .mil-shape-face:nth-child(6) {
  width: 52px;
  height: 52px;
  transform: translateY(50px) rotateX(90deg) scale(1.2771638598);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 0.9s;
}
.mil-klein-bottle .mil-shape-face:nth-child(7) {
  width: 54px;
  height: 54px;
  transform: translateY(60px) rotateX(90deg) scale(1.2121320344);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.05s;
}
.mil-klein-bottle .mil-shape-face:nth-child(8) {
  width: 56px;
  height: 56px;
  transform: translateY(70px) rotateX(90deg) scale(1.1148050297);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.2s;
}
.mil-klein-bottle .mil-shape-face:nth-child(9) {
  width: 58px;
  height: 58px;
  transform: translateY(80px) rotateX(90deg) scale(1);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.35s;
}
.mil-klein-bottle .mil-shape-face:nth-child(10) {
  width: 60px;
  height: 60px;
  transform: translateY(90px) rotateX(90deg) scale(0.8851949703);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.5s;
}
.mil-klein-bottle .mil-shape-face:nth-child(11) {
  width: 62px;
  height: 62px;
  transform: translateY(100px) rotateX(90deg) scale(0.7878679656);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.65s;
}
.mil-klein-bottle .mil-shape-face:nth-child(12) {
  width: 64px;
  height: 64px;
  transform: translateY(110px) rotateX(90deg) scale(0.7228361402);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.8s;
}
.mil-klein-bottle .mil-shape-face:nth-child(13) {
  width: 66px;
  height: 66px;
  transform: translateY(120px) rotateX(90deg) scale(0.7);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 1.95s;
}
.mil-klein-bottle .mil-shape-face:nth-child(14) {
  width: 68px;
  height: 68px;
  transform: translateY(130px) rotateX(90deg) scale(0.7228361402);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 2.1s;
}
.mil-klein-bottle .mil-shape-face:nth-child(15) {
  width: 70px;
  height: 70px;
  transform: translateY(140px) rotateX(90deg) scale(0.7878679656);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 2.25s;
}
.mil-klein-bottle .mil-shape-face:nth-child(16) {
  width: 72px;
  height: 72px;
  transform: translateY(150px) rotateX(90deg) scale(0.8851949703);
  animation: pulse 5s infinite ease-in-out;
  animation-delay: 2.4s;
}
.mil-klein-bottle .mil-shape-face:nth-child(17) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(0deg) translateZ(30px) rotateX(0deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(18) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(45deg) translateZ(30px) rotateX(22.5deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(19) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(90deg) translateZ(30px) rotateX(45deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(20) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(135deg) translateZ(30px) rotateX(67.5deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(21) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(180deg) translateZ(30px) rotateX(90deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(22) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(225deg) translateZ(30px) rotateX(112.5deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(23) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(270deg) translateZ(30px) rotateX(135deg);
}
.mil-klein-bottle .mil-shape-face:nth-child(24) {
  width: 30px;
  height: 30px;
  transform: translateY(160px) rotateY(315deg) translateZ(30px) rotateX(157.5deg);
}

/* ============================================
   MÖBIUS STRIP (Single-sided surface)
   Twisted infinity
============================================ */
.mil-mobius {
  width: 160px;
  height: 80px;
  animation: rotateOrbital 60s infinite linear;
}
.mil-mobius .mil-shape-face {
  width: 100px;
  height: 20px;
  border-width: 1px;
  border-radius: 2px;
}
.mil-mobius .mil-shape-face:nth-child(1) {
  transform: rotateY(0deg) translateZ(60px) rotateZ(0deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0s;
  opacity: 0.3125;
}
.mil-mobius .mil-shape-face:nth-child(2) {
  transform: rotateY(11.25deg) translateZ(60px) rotateZ(5.625deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.05s;
  opacity: 0.325;
}
.mil-mobius .mil-shape-face:nth-child(3) {
  transform: rotateY(22.5deg) translateZ(60px) rotateZ(11.25deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.1s;
  opacity: 0.3375;
}
.mil-mobius .mil-shape-face:nth-child(4) {
  transform: rotateY(33.75deg) translateZ(60px) rotateZ(16.875deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.15s;
  opacity: 0.35;
}
.mil-mobius .mil-shape-face:nth-child(5) {
  transform: rotateY(45deg) translateZ(60px) rotateZ(22.5deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.2s;
  opacity: 0.3625;
}
.mil-mobius .mil-shape-face:nth-child(6) {
  transform: rotateY(56.25deg) translateZ(60px) rotateZ(28.125deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.25s;
  opacity: 0.375;
}
.mil-mobius .mil-shape-face:nth-child(7) {
  transform: rotateY(67.5deg) translateZ(60px) rotateZ(33.75deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.3s;
  opacity: 0.3875;
}
.mil-mobius .mil-shape-face:nth-child(8) {
  transform: rotateY(78.75deg) translateZ(60px) rotateZ(39.375deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.35s;
  opacity: 0.4;
}
.mil-mobius .mil-shape-face:nth-child(9) {
  transform: rotateY(90deg) translateZ(60px) rotateZ(45deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.4s;
  opacity: 0.4125;
}
.mil-mobius .mil-shape-face:nth-child(10) {
  transform: rotateY(101.25deg) translateZ(60px) rotateZ(50.625deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.45s;
  opacity: 0.425;
}
.mil-mobius .mil-shape-face:nth-child(11) {
  transform: rotateY(112.5deg) translateZ(60px) rotateZ(56.25deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.5s;
  opacity: 0.4375;
}
.mil-mobius .mil-shape-face:nth-child(12) {
  transform: rotateY(123.75deg) translateZ(60px) rotateZ(61.875deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.55s;
  opacity: 0.45;
}
.mil-mobius .mil-shape-face:nth-child(13) {
  transform: rotateY(135deg) translateZ(60px) rotateZ(67.5deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.6s;
  opacity: 0.4625;
}
.mil-mobius .mil-shape-face:nth-child(14) {
  transform: rotateY(146.25deg) translateZ(60px) rotateZ(73.125deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.65s;
  opacity: 0.475;
}
.mil-mobius .mil-shape-face:nth-child(15) {
  transform: rotateY(157.5deg) translateZ(60px) rotateZ(78.75deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.7s;
  opacity: 0.4875;
}
.mil-mobius .mil-shape-face:nth-child(16) {
  transform: rotateY(168.75deg) translateZ(60px) rotateZ(84.375deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.75s;
  opacity: 0.5;
}
.mil-mobius .mil-shape-face:nth-child(17) {
  transform: rotateY(180deg) translateZ(60px) rotateZ(90deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.8s;
  opacity: 0.5125;
}
.mil-mobius .mil-shape-face:nth-child(18) {
  transform: rotateY(191.25deg) translateZ(60px) rotateZ(95.625deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.85s;
  opacity: 0.525;
}
.mil-mobius .mil-shape-face:nth-child(19) {
  transform: rotateY(202.5deg) translateZ(60px) rotateZ(101.25deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.9s;
  opacity: 0.5375;
}
.mil-mobius .mil-shape-face:nth-child(20) {
  transform: rotateY(213.75deg) translateZ(60px) rotateZ(106.875deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 0.95s;
  opacity: 0.55;
}
.mil-mobius .mil-shape-face:nth-child(21) {
  transform: rotateY(225deg) translateZ(60px) rotateZ(112.5deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1s;
  opacity: 0.5625;
}
.mil-mobius .mil-shape-face:nth-child(22) {
  transform: rotateY(236.25deg) translateZ(60px) rotateZ(118.125deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.05s;
  opacity: 0.575;
}
.mil-mobius .mil-shape-face:nth-child(23) {
  transform: rotateY(247.5deg) translateZ(60px) rotateZ(123.75deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.1s;
  opacity: 0.5875;
}
.mil-mobius .mil-shape-face:nth-child(24) {
  transform: rotateY(258.75deg) translateZ(60px) rotateZ(129.375deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.15s;
  opacity: 0.6;
}
.mil-mobius .mil-shape-face:nth-child(25) {
  transform: rotateY(270deg) translateZ(60px) rotateZ(135deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.2s;
  opacity: 0.6125;
}
.mil-mobius .mil-shape-face:nth-child(26) {
  transform: rotateY(281.25deg) translateZ(60px) rotateZ(140.625deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.25s;
  opacity: 0.625;
}
.mil-mobius .mil-shape-face:nth-child(27) {
  transform: rotateY(292.5deg) translateZ(60px) rotateZ(146.25deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.3s;
  opacity: 0.6375;
}
.mil-mobius .mil-shape-face:nth-child(28) {
  transform: rotateY(303.75deg) translateZ(60px) rotateZ(151.875deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.35s;
  opacity: 0.65;
}
.mil-mobius .mil-shape-face:nth-child(29) {
  transform: rotateY(315deg) translateZ(60px) rotateZ(157.5deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.4s;
  opacity: 0.6625;
}
.mil-mobius .mil-shape-face:nth-child(30) {
  transform: rotateY(326.25deg) translateZ(60px) rotateZ(163.125deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.45s;
  opacity: 0.675;
}
.mil-mobius .mil-shape-face:nth-child(31) {
  transform: rotateY(337.5deg) translateZ(60px) rotateZ(168.75deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.5s;
  opacity: 0.6875;
}
.mil-mobius .mil-shape-face:nth-child(32) {
  transform: rotateY(348.75deg) translateZ(60px) rotateZ(174.375deg);
  animation: pulse 6s infinite ease-in-out;
  animation-delay: 1.55s;
  opacity: 0.7;
}

/* ============================================
   FRACTAL TETRAHEDRON (Sierpinski-inspired)
   Recursive geometric beauty
============================================ */
.mil-fractal-tetra {
  width: 150px;
  height: 150px;
  animation: rotateChaos 70s infinite ease-in-out;
}
.mil-fractal-tetra .mil-shape-face {
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-bottom: 69px solid transparent;
  border-bottom-color: inherit;
  border-width: 1px;
}
.mil-fractal-tetra .mil-shape-face:nth-child(1) {
  transform: translateZ(40px) rotateX(0deg);
}
.mil-fractal-tetra .mil-shape-face:nth-child(2) {
  transform: rotateY(120deg) translateZ(40px) rotateX(70deg);
}
.mil-fractal-tetra .mil-shape-face:nth-child(3) {
  transform: rotateY(240deg) translateZ(40px) rotateX(70deg);
}
.mil-fractal-tetra .mil-shape-face:nth-child(4) {
  transform: rotateX(180deg) translateZ(-20px);
}
.mil-fractal-tetra .mil-shape-face:nth-child(5) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(0deg) translateZ(30px) translateY(0px) rotateX(0deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 0.5s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(6) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(0deg) translateZ(30px) translateY(10px) rotateX(30deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 0.6s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(7) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(0deg) translateZ(30px) translateY(20px) rotateX(60deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 0.7s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(8) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(0deg) translateZ(30px) translateY(30px) rotateX(90deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 0.8s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(9) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(120deg) translateZ(30px) translateY(0px) rotateX(0deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 0.9s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(10) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(120deg) translateZ(30px) translateY(10px) rotateX(30deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(11) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(120deg) translateZ(30px) translateY(20px) rotateX(60deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.1s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(12) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(120deg) translateZ(30px) translateY(30px) rotateX(90deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.2s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(13) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(240deg) translateZ(30px) translateY(0px) rotateX(0deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.3s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(14) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(240deg) translateZ(30px) translateY(10px) rotateX(30deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.4s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(15) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(240deg) translateZ(30px) translateY(20px) rotateX(60deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.5s;
}
.mil-fractal-tetra .mil-shape-face:nth-child(16) {
  border-left-width: 20px;
  border-right-width: 20px;
  border-bottom-width: 34.5px;
  transform: rotateY(240deg) translateZ(30px) translateY(30px) rotateX(90deg);
  opacity: 0.5;
  animation: pulse 4s infinite ease-in-out;
  animation-delay: 1.6s;
}

/* ============================================
   DNA HELIX (Double helix)
   Biological inspiration
============================================ */
.mil-dna-helix {
  width: 120px;
  height: 220px;
  animation: rotate 100s infinite linear;
}
.mil-dna-helix .mil-shape-face {
  border-width: 1.5px;
  border-radius: 50%;
}
.mil-dna-helix .mil-shape-face:nth-child(1) {
  width: 15px;
  height: 15px;
  transform: translateY(0px) rotateY(0deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.1s;
}
.mil-dna-helix .mil-shape-face:nth-child(2) {
  width: 15px;
  height: 15px;
  transform: translateY(10px) rotateY(18deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.2s;
}
.mil-dna-helix .mil-shape-face:nth-child(3) {
  width: 15px;
  height: 15px;
  transform: translateY(20px) rotateY(36deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.3s;
}
.mil-dna-helix .mil-shape-face:nth-child(4) {
  width: 15px;
  height: 15px;
  transform: translateY(30px) rotateY(54deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.4s;
}
.mil-dna-helix .mil-shape-face:nth-child(5) {
  width: 15px;
  height: 15px;
  transform: translateY(40px) rotateY(72deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.5s;
}
.mil-dna-helix .mil-shape-face:nth-child(6) {
  width: 15px;
  height: 15px;
  transform: translateY(50px) rotateY(90deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.6s;
}
.mil-dna-helix .mil-shape-face:nth-child(7) {
  width: 15px;
  height: 15px;
  transform: translateY(60px) rotateY(108deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.7s;
}
.mil-dna-helix .mil-shape-face:nth-child(8) {
  width: 15px;
  height: 15px;
  transform: translateY(70px) rotateY(126deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.8s;
}
.mil-dna-helix .mil-shape-face:nth-child(9) {
  width: 15px;
  height: 15px;
  transform: translateY(80px) rotateY(144deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 0.9s;
}
.mil-dna-helix .mil-shape-face:nth-child(10) {
  width: 15px;
  height: 15px;
  transform: translateY(90px) rotateY(162deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1s;
}
.mil-dna-helix .mil-shape-face:nth-child(11) {
  width: 15px;
  height: 15px;
  transform: translateY(100px) rotateY(180deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.1s;
}
.mil-dna-helix .mil-shape-face:nth-child(12) {
  width: 15px;
  height: 15px;
  transform: translateY(110px) rotateY(198deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.2s;
}
.mil-dna-helix .mil-shape-face:nth-child(13) {
  width: 15px;
  height: 15px;
  transform: translateY(120px) rotateY(216deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.3s;
}
.mil-dna-helix .mil-shape-face:nth-child(14) {
  width: 15px;
  height: 15px;
  transform: translateY(130px) rotateY(234deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.4s;
}
.mil-dna-helix .mil-shape-face:nth-child(15) {
  width: 15px;
  height: 15px;
  transform: translateY(140px) rotateY(252deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.5s;
}
.mil-dna-helix .mil-shape-face:nth-child(16) {
  width: 15px;
  height: 15px;
  transform: translateY(150px) rotateY(270deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.6s;
}
.mil-dna-helix .mil-shape-face:nth-child(17) {
  width: 15px;
  height: 15px;
  transform: translateY(160px) rotateY(288deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.7s;
}
.mil-dna-helix .mil-shape-face:nth-child(18) {
  width: 15px;
  height: 15px;
  transform: translateY(170px) rotateY(306deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.8s;
}
.mil-dna-helix .mil-shape-face:nth-child(19) {
  width: 15px;
  height: 15px;
  transform: translateY(180px) rotateY(324deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.9s;
}
.mil-dna-helix .mil-shape-face:nth-child(20) {
  width: 15px;
  height: 15px;
  transform: translateY(190px) rotateY(342deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2s;
}
.mil-dna-helix .mil-shape-face:nth-child(21) {
  width: 15px;
  height: 15px;
  transform: translateY(0px) rotateY(180deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.6s;
}
.mil-dna-helix .mil-shape-face:nth-child(22) {
  width: 15px;
  height: 15px;
  transform: translateY(10px) rotateY(198deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.7s;
}
.mil-dna-helix .mil-shape-face:nth-child(23) {
  width: 15px;
  height: 15px;
  transform: translateY(20px) rotateY(216deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.8s;
}
.mil-dna-helix .mil-shape-face:nth-child(24) {
  width: 15px;
  height: 15px;
  transform: translateY(30px) rotateY(234deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 1.9s;
}
.mil-dna-helix .mil-shape-face:nth-child(25) {
  width: 15px;
  height: 15px;
  transform: translateY(40px) rotateY(252deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2s;
}
.mil-dna-helix .mil-shape-face:nth-child(26) {
  width: 15px;
  height: 15px;
  transform: translateY(50px) rotateY(270deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.1s;
}
.mil-dna-helix .mil-shape-face:nth-child(27) {
  width: 15px;
  height: 15px;
  transform: translateY(60px) rotateY(288deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.2s;
}
.mil-dna-helix .mil-shape-face:nth-child(28) {
  width: 15px;
  height: 15px;
  transform: translateY(70px) rotateY(306deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.3s;
}
.mil-dna-helix .mil-shape-face:nth-child(29) {
  width: 15px;
  height: 15px;
  transform: translateY(80px) rotateY(324deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.4s;
}
.mil-dna-helix .mil-shape-face:nth-child(30) {
  width: 15px;
  height: 15px;
  transform: translateY(90px) rotateY(342deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.5s;
}
.mil-dna-helix .mil-shape-face:nth-child(31) {
  width: 15px;
  height: 15px;
  transform: translateY(100px) rotateY(360deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.6s;
}
.mil-dna-helix .mil-shape-face:nth-child(32) {
  width: 15px;
  height: 15px;
  transform: translateY(110px) rotateY(378deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.7s;
}
.mil-dna-helix .mil-shape-face:nth-child(33) {
  width: 15px;
  height: 15px;
  transform: translateY(120px) rotateY(396deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.8s;
}
.mil-dna-helix .mil-shape-face:nth-child(34) {
  width: 15px;
  height: 15px;
  transform: translateY(130px) rotateY(414deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 2.9s;
}
.mil-dna-helix .mil-shape-face:nth-child(35) {
  width: 15px;
  height: 15px;
  transform: translateY(140px) rotateY(432deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3s;
}
.mil-dna-helix .mil-shape-face:nth-child(36) {
  width: 15px;
  height: 15px;
  transform: translateY(150px) rotateY(450deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3.1s;
}
.mil-dna-helix .mil-shape-face:nth-child(37) {
  width: 15px;
  height: 15px;
  transform: translateY(160px) rotateY(468deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3.2s;
}
.mil-dna-helix .mil-shape-face:nth-child(38) {
  width: 15px;
  height: 15px;
  transform: translateY(170px) rotateY(486deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3.3s;
}
.mil-dna-helix .mil-shape-face:nth-child(39) {
  width: 15px;
  height: 15px;
  transform: translateY(180px) rotateY(504deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3.4s;
}
.mil-dna-helix .mil-shape-face:nth-child(40) {
  width: 15px;
  height: 15px;
  transform: translateY(190px) rotateY(522deg) translateZ(40px);
  animation: pulse 3s infinite ease-in-out;
  animation-delay: 3.5s;
}
.mil-dna-helix .mil-shape-face:nth-child(41) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(0px) rotateY(0deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(42) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(10px) rotateY(18deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(43) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(20px) rotateY(36deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(44) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(30px) rotateY(54deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(45) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(40px) rotateY(72deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(46) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(50px) rotateY(90deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(47) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(60px) rotateY(108deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(48) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(70px) rotateY(126deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(49) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(80px) rotateY(144deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(50) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(90px) rotateY(162deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(51) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(100px) rotateY(180deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(52) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(110px) rotateY(198deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(53) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(120px) rotateY(216deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(54) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(130px) rotateY(234deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(55) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(140px) rotateY(252deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(56) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(150px) rotateY(270deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(57) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(160px) rotateY(288deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(58) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(170px) rotateY(306deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(59) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(180px) rotateY(324deg) translateZ(0px);
  opacity: 0.3;
}
.mil-dna-helix .mil-shape-face:nth-child(60) {
  width: 80px;
  height: 2px;
  border-radius: 0;
  transform: translateY(190px) rotateY(342deg) translateZ(0px);
  opacity: 0.3;
}

/* ============================================
   ORIGINAL DODECAHEDRON (preserved)
============================================ */
.mil-dodecahedron {
  width: 100px;
  height: 223px;
}
.mil-dodecahedron .mil-pentagon {
  position: absolute;
  width: 100px;
}
.mil-dodecahedron .mil-pentagon:nth-child(1) {
  transform: rotateY(0.2turn) translateZ(69px) rotateX(26.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(6) {
  bottom: 0;
  transform: rotateY(0.2turn) translateZ(-69px) rotateX(206.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(2) {
  transform: rotateY(0.4turn) translateZ(69px) rotateX(26.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(7) {
  bottom: 0;
  transform: rotateY(0.4turn) translateZ(-69px) rotateX(206.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(3) {
  transform: rotateY(0.6turn) translateZ(69px) rotateX(26.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(8) {
  bottom: 0;
  transform: rotateY(0.6turn) translateZ(-69px) rotateX(206.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(4) {
  transform: rotateY(0.8turn) translateZ(69px) rotateX(26.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(9) {
  bottom: 0;
  transform: rotateY(0.8turn) translateZ(-69px) rotateX(206.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(5) {
  transform: rotateY(1turn) translateZ(69px) rotateX(26.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(10) {
  bottom: 0;
  transform: rotateY(1turn) translateZ(-69px) rotateX(206.5deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(11) {
  transform: translateZ(69px) rotateX(-90deg);
}
.mil-dodecahedron .mil-pentagon:nth-child(12) {
  bottom: 0;
  transform: translateZ(-69px) rotateX(90deg);
}
.mil-dodecahedron .mil-pentagon div {
  position: absolute;
  width: 100px;
  height: 69px;
  transform-origin: bottom;
  border-top-style: solid;
  border-top-color: rgb(255, 255, 255);
}
.mil-dodecahedron .mil-pentagon div:nth-child(1) {
  transform: rotate(0.2turn);
}
.mil-dodecahedron .mil-pentagon div:nth-child(2) {
  transform: rotate(0.4turn);
}
.mil-dodecahedron .mil-pentagon div:nth-child(3) {
  transform: rotate(0.6turn);
}
.mil-dodecahedron .mil-pentagon div:nth-child(4) {
  transform: rotate(0.8turn);
}
.mil-dodecahedron .mil-pentagon div:nth-child(5) {
  transform: rotate(1turn);
}

/* Frame floating animation */
@keyframes jump {
  0% {
    transform: translateY(-30px);
  }
  50% {
    transform: translateY(30px);
  }
  100% {
    transform: translateY(-30px);
  }
}
/* -------------------------------------------

about

------------------------------------------- */
.mil-about-quote {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mil-about-quote .mil-avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  position: relative;
}
.mil-about-quote .mil-avatar:after {
  content: ' " ';
  color: #fff !important;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #000 !important;
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  padding-top: 12px;
  justify-content: center;
  font-size: 36px;
}
.mil-about-quote .mil-avatar img {
  border-radius: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}
.mil-about-quote .mil-quote {
  padding-left: 30px;
  width: calc(100% - 90px);
}
@media screen and (max-width: 992px) {
  .mil-about-quote .mil-avatar {
    width: 70px;
    height: 70px;
  }
  .mil-about-quote .mil-avatar:after {
    padding-top: 7px;
    width: 25px;
    height: 25px;
    font-size: 24px;
  }
  .mil-about-quote .mil-quote {
    font-size: 16px;
    padding-left: 30px;
    width: calc(100% - 70px);
  }
}

.mil-about-photo {
  position: relative;
}
.mil-about-photo .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -27%;
}

/* -------------------------------------------

partners

------------------------------------------- */
.mil-infinite-show .swiper-wrapper {
  transition-timing-function: linear;
}

.mil-partner-frame {
  display: block;
}
.mil-partner-frame img {
  width: 100%;
}

/* -------------------------------------------

services

------------------------------------------- */
.mil-complex-text {
  display: flex;
  align-items: center;
}
.mil-complex-text .mil-button {
  margin-left: 30px;
}
@media screen and (max-width: 768px) {
  .mil-complex-text {
    flex-direction: column;
  }
  .mil-complex-text .mil-button {
    margin-left: 0;
    margin-top: 60px;
  }
}

.mil-text-image {
  height: 80px;
  width: 250px;
  display: inline-block;
  overflow: hidden;
  border-radius: 70px;
  margin-right: 30px;
}
.mil-text-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-text-image:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .mil-text-image {
    display: none;
  }
}

.mil-service-card-sm {
  position: relative;
  display: block;
  padding: 60px 30px;
}
.mil-service-card-sm p {
  opacity: 0;
  transform: translateY(10px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-service-card-sm .mil-button {
  transform: scale(0.3);
  filter: grayscale(100%);
  opacity: 0.4;
}
.mil-service-card-sm:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: rgb(135, 216, 50);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-service-card-sm:hover p {
  opacity: 1;
  transform: translateY(0);
}
.mil-service-card-sm:hover .mil-button {
  transform: scale(1);
  filter: grayscale(0);
  opacity: 1;
}
.mil-service-card-sm:hover:before {
  width: 100%;
}
@media screen and (max-width: 992px) {
  .mil-service-card-sm p {
    opacity: 1;
    transform: translateY(0);
  }
  .mil-service-card-sm .mil-button {
    transform: scale(1);
    filter: grayscale(0);
    opacity: 1;
  }
}

.mil-services-grid {
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}
.mil-services-grid .mil-services-grid-item {
  border-right: solid 1px rgba(255, 255, 255, 0.1);
}
.mil-services-grid .mil-services-grid-item:first-child {
  border-left: solid 1px rgba(255, 255, 255, 0.1);
}
@media screen and (max-width: 992px) {
  .mil-services-grid {
    padding-bottom: 90px;
  }
  .mil-services-grid .mil-services-grid-item {
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  }
  .mil-services-grid .mil-services-grid-item:nth-child(3) {
    border-left: solid 1px rgba(255, 255, 255, 0.1);
  }
}
@media screen and (max-width: 768px) {
  .mil-services-grid {
    padding-bottom: 90px;
  }
  .mil-services-grid .mil-services-grid-item {
    border-left: solid 1px rgba(255, 255, 255, 0.1);
    border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  }
}

.mil-service-card-lg {
  display: block;
}
.mil-service-card-lg .mil-descr {
  padding-right: 30px;
}
.mil-service-card-lg.mil-offset {
  margin-top: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 992px) {
  .mil-service-card-lg.mil-offset {
    margin-top: 0;
  }
}
@media screen and (max-width: 992px) {
  .mil-service-card-lg {
    margin-bottom: 60px;
  }
}
.mil-service-card-lg.mil-other-card {
  overflow: hidden;
  position: relative;
  border: solid 1px rgb(26, 26, 26);
  padding: 60px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-service-card-lg.mil-other-card .mil-descr {
  padding-right: 0;
}
.mil-service-card-lg.mil-other-card:hover {
  background-color: rgb(135, 216, 50);
}
.mil-service-card-lg.mil-other-card:hover .mil-link svg {
  background-color: rgb(0, 0, 0);
}
.mil-service-card-lg.mil-other-card:hover .mil-link svg path {
  fill: rgb(135, 216, 50);
}
@media screen and (max-width: 1200px) {
  .mil-service-card-lg.mil-other-card {
    padding: 30px;
  }
}

.mil-service-list li {
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  list-style-type: none;
  padding: 15px 0;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  font-size: 12px;
}
.mil-service-list li:first-child {
  border-top: solid 1px rgba(255, 255, 255, 0.1);
}
.mil-service-list.mil-light li {
  color: rgba(255, 255, 255, 0.6);
}
.mil-service-list.mil-dark li {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
}
.mil-service-list.mil-dark li:first-child {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
}

/* -------------------------------------------

team

------------------------------------------- */
.mil-team-card {
  position: relative;
  overflow: hidden;
  padding-bottom: 130%;
}
.mil-team-card:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 4px;
  width: 0;
  background-color: rgb(135, 216, 50);
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-team-card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transform: scale(1.05);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-team-card.mil-offset-card {
  transform: translateY(60px);
}
@media screen and (max-width: 992px) {
  .mil-team-card.mil-offset-card {
    transform: none;
  }
}
.mil-team-card .mil-description {
  opacity: 0;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.8);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 60px 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  pointer-events: none;
  transition: 0.6s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-team-card .mil-description .mil-secrc-text {
  opacity: 0;
  transform: translateY(15px);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
  transition-delay: 0s;
}
.mil-team-card .mil-description .mil-secrc-text a {
  color: rgb(255, 255, 255);
  transition: 0.2s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-team-card .mil-description .mil-secrc-text a:hover {
  color: rgb(135, 216, 50);
}
.mil-team-card:hover img {
  transform: scale(1);
}
.mil-team-card:hover:after {
  width: 100%;
}
.mil-team-card:hover .mil-description {
  opacity: 1;
  pointer-events: all;
}
.mil-team-card:hover .mil-description .mil-secrc-text {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}

.mil-team-list {
  position: relative;
}
.mil-team-list .mil-lines-place {
  position: absolute;
  top: -120px;
  left: -22.5%;
}

/* -------------------------------------------

social icons

------------------------------------------- */
.mil-social-icons {
  padding: 0;
  margin: 0;
  display: flex;
}
.mil-social-icons.mil-center {
  justify-content: center;
}
.mil-social-icons li {
  list-style-type: none;
  margin-right: 20px;
}
.mil-social-icons li:last-child {
  margin-right: 0;
}
.mil-social-icons li a {
  color: rgb(255, 255, 255);
  font-size: 24px;
  padding: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 48px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-social-icons li a:hover {
  color: rgb(135, 216, 50);
  transform: translateY(-2px);
}
.mil-social-icons.mil-dark li a {
  color: rgb(0, 0, 0);
}
.mil-social-icons.mil-dark li a:hover {
  color: rgb(135, 216, 50);
}

/* -------------------------------------------

revievs

------------------------------------------- */
.mil-revi-pagination {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 992px) {
  .mil-revi-pagination {
    flex-wrap: wrap;
  }
}
.mil-revi-pagination .swiper-pagination-bullet {
  padding: 0;
  width: 110px;
  height: 110px;
  padding: 10px;
  opacity: 1;
  border: none;
  background-color: transparent;
  margin: 0 !important;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}
@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet {
    width: 90px;
    height: 90px;
  }
}
.mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
  margin-top: 30px !important;
}
@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet:nth-child(2n) {
    margin-top: 0 !important;
  }
}
.mil-revi-pagination .swiper-pagination-bullet:hover {
  box-shadow: inset 0 0 0 4px rgb(255, 255, 255);
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
  background-color: red;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-size: cover;
  background-position: top;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1) !important;
}
@media screen and (max-width: 992px) {
  .mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot {
    width: 70px;
    height: 70px;
  }
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-1 {
  background-image: url(../img/faces/customers/bega.jpg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-2 {
  background-image: url(../img/faces/customers/tixu.jpg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-3 {
  background-image: url(../img/faces/customers/zeroone.jpg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-4 {
  background-image: url(../img/faces/customers/moca.jpg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-5 {
  background-image: url(../img/faces/customers/5.jpg);
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-6 {
  background-image: url(../img/faces/customers/6.jpg);
}
.mil-revi-pagination .swiper-pagination-bullet .mil-custom-dot.mil-slide-7 {
  background-image: url(../img/faces/customers/7.jpg);
}
.mil-revi-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  box-shadow: inset 0 0 0 4px rgb(135, 216, 50);
}

.mil-quote-icon {
  display: block;
  margin: 0 auto;
  width: 40px;
  height: 40px;
  margin-bottom: 15px;
}
.mil-quote-icon path {
  fill: rgb(135, 216, 50);
}

.mil-slider-nav {
  display: flex;
}
.mil-slider-nav .mil-slider-arrow {
  width: 40px;
  height: 40px;
  padding: 10px;
  background-color: rgb(0, 0, 0);
  border-radius: 50%;
  cursor: pointer;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-slider-nav .mil-slider-arrow svg path {
  fill: rgb(135, 216, 50);
}
.mil-slider-nav .mil-slider-arrow.mil-prev {
  margin-right: 10px;
  transform: rotate(180deg);
}
.mil-slider-nav .mil-slider-arrow.swiper-button-disabled {
  opacity: 0.1;
  cursor: not-allowed;
}
.mil-slider-nav .mil-slider-arrow:hover {
  transform: scale(1.15);
}
.mil-slider-nav .mil-slider-arrow:hover.mil-prev {
  transform: rotate(180deg) scale(1.15);
}
.mil-slider-nav.mil-reviews-nav {
  position: absolute;
  top: 160px;
  left: 0;
  width: 100%;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .mil-slider-nav.mil-reviews-nav {
    top: 0;
  }
}
.mil-slider-nav.mil-soft .mil-slider-arrow {
  background-color: rgb(26, 26, 26);
}
.mil-slider-nav.mil-soft .mil-slider-arrow svg path {
  fill: rgb(0, 0, 0);
}

/* -------------------------------------------

blog

------------------------------------------- */
.mil-blog-card {
  display: block;
}
.mil-blog-card .mil-cover-frame {
  position: relative;
  overflow: hidden;
  padding-bottom: 65%;
  margin-bottom: 30px;
}
.mil-blog-card .mil-cover-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-blog-card .mil-post-descr {
  padding: 30px 30px 0 0;
}
.mil-blog-card .mil-post-descr .mil-post-text {
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.mil-blog-card:hover .mil-cover-frame img {
  transform: scale(1.05);
}
.mil-blog-card.mil-blog-card-hori {
  padding-top: 60px;
  border-top: solid 1px rgb(26, 26, 26);
  display: flex;
  align-items: center;
}
.mil-blog-card.mil-blog-card-hori .mil-cover-frame {
  margin-bottom: 0;
  width: 450px;
  padding-bottom: 27%;
}
.mil-blog-card.mil-blog-card-hori .mil-post-descr {
  width: calc(100% - 450px);
  padding: 0;
  padding-left: 60px;
}
@media screen and (max-width: 992px) {
  .mil-blog-card.mil-blog-card-hori {
    display: block;
    padding-top: 0;
    border: none;
  }
  .mil-blog-card.mil-blog-card-hori .mil-cover-frame {
    width: 100%;
    padding-bottom: 65%;
    margin-bottom: 30px;
  }
  .mil-blog-card.mil-blog-card-hori .mil-post-descr {
    width: 100%;
    padding: 30px 30px 0 0;
  }
}

.mil-labels {
  display: flex;
  align-items: center;
  padding: 0;
}
.mil-labels .mil-label {
  margin-right: 15px;
}
.mil-labels .mil-label:last-child {
  margin-right: 0;
}

.mil-pagination {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.mil-pagination-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 50%;
  background-color: rgba(0, 0, 0, 0.1);
  color: rgb(0, 0, 0);
  text-align: center;
  line-height: 40px;
  text-decoration: none;
  margin-right: 10px;
}

.mil-pagination-btn.mil-active {
  background-color: rgb(135, 216, 50);
}

.mil-category-list {
  display: flex;
}
.mil-category-list li {
  list-style-type: none;
  margin-right: 10px;
}
.mil-category-list li:last-child {
  margin-right: 0;
}
.mil-category-list li a {
  height: 40px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  padding: 0 20px;
  border-radius: 40px;
  color: rgb(0, 0, 0);
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-category-list li a:hover {
  background-color: rgb(26, 26, 26);
}
.mil-category-list li a.mil-active {
  background-color: rgb(135, 216, 50);
}
@media screen and (max-width: 768px) {
  .mil-category-list {
    flex-direction: column;
  }
  .mil-category-list li {
    margin-right: 0;
    margin-bottom: 10px;
    align-items: flex-start;
  }
  .mil-category-list li:last-child {
    margin-bottom: 0;
  }
  .mil-category-list li a {
    justify-content: flex-start;
  }
}

/* -------------------------------------------

footer

------------------------------------------- */
.mil-footer-menu {
  margin-bottom: 120px;
}
.mil-footer-menu ul li {
  list-style-type: none;
  margin-bottom: 30px;
}
.mil-footer-menu ul li a {
  display: block;
  font-weight: 500;
  font-size: 28px;
  color: rgba(255, 255, 255, 0.9);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-footer-menu ul li a:hover {
  transform: translateX(10px);
  color: rgb(135, 216, 50);
}
@media screen and (max-width: 768px) {
  .mil-footer-menu ul li a {
    font-size: 22px;
  }
}
.mil-footer-menu ul li.mil-active a {
  color: rgb(135, 216, 50);
}
.mil-footer-menu ul li.mil-active a:hover {
  transform: none;
}
@media screen and (max-width: 768px) {
  .mil-footer-menu {
    margin-bottom: 60px;
  }
}

.mil-subscribe-form {
  position: relative;
  height: 70px;
  width: 100%;
}
.mil-subscribe-form input {
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  color: rgb(0, 0, 0);
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: none;
  border-radius: 70px;
  padding: 0 0 0 50px;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-subscribe-form input::placeholder {
  color: rgb(128, 128, 128);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.mil-subscribe-form input:focus {
  background-color: rgb(255, 255, 255);
  outline: inherit;
}
.mil-subscribe-form input:hover {
  background-color: rgb(255, 255, 255);
}
.mil-subscribe-form .mil-button {
  position: absolute;
  top: 15px;
  right: 15px;
}
.mil-subscribe-form.mil-subscribe-form-2 input {
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
}

/* -------------------------------------------

portfolio

------------------------------------------- */
.mil-portfolio-item {
  display: block;
}
.mil-portfolio-item .mil-cover-frame {
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
.mil-portfolio-item .mil-cover-frame .mil-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mil-portfolio-item .mil-cover-frame .mil-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-portfolio-item .mil-cover-frame.mil-vert {
  padding-bottom: 130%;
}
.mil-portfolio-item .mil-cover-frame.mil-hori {
  padding-bottom: 65%;
}
.mil-portfolio-item:hover .mil-cover-frame .mil-cover img {
  transform: scale(1.05);
}
.mil-portfolio-item.mil-slider-item .mil-cover-frame {
  margin-bottom: 30px;
  height: calc(100vh - 360px);
}
@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-cover-frame {
    height: auto;
    padding-bottom: 100%;
  }
}
.mil-portfolio-item.mil-slider-item .mil-descr {
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 180px;
  background-color: rgb(13, 13, 13);
  padding: 0 60px;
}
@media screen and (max-width: 992px) {
  .mil-portfolio-item.mil-slider-item .mil-descr {
    padding: 30px;
    flex-direction: column;
    align-items: flex-start;
    height: auto;
  }
  .mil-portfolio-item.mil-slider-item .mil-descr .mil-descr-text {
    margin-bottom: 30px;
  }
}
.mil-portfolio-item.mil-slider-item:hover .mil-cover-frame .mil-cover img {
  transform: none;
}

.swiper-slide .mil-portfolio-item .mil-descr {
  pointer-events: none;
}
.swiper-slide.swiper-slide-active .mil-portfolio-item .mil-descr {
  pointer-events: all;
}

.mil-portfolio {
  position: relative;
}
.mil-portfolio .mil-lines-place {
  position: absolute;
  left: 40.7%;
}
.mil-portfolio .mil-lines-place.mil-lines-long {
  top: 1289px;
}

.mil-portfolio-slider-frame {
  z-index: 0;
  padding-top: 150px;
}
@media screen and (max-width: 992px) {
  .mil-portfolio-slider-frame {
    padding-top: 180px;
  }
}

.mil-portfolio-nav {
  background-color: rgb(13, 13, 13);
  width: 100%;
  padding: 0 60px;
  height: 180px;
  position: absolute;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mil-portfolio-nav .mil-portfolio-btns-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  height: 70px;
  border-radius: 70px;
  background-color: rgb(255, 255, 255);
}
@media screen and (max-width: 992px) {
  .mil-portfolio-nav {
    position: static;
    height: auto;
    padding: 30px 0 90px;
    justify-content: flex-start;
    background-color: rgb(255, 255, 255);
  }
  .mil-portfolio-nav .mil-portfolio-btns-frame {
    width: 100%;
    height: auto;
    padding: 0;
  }
}

.swiper-portfolio-pagination {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 0 15px;
}

.mil-info {
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 120px;
  align-items: center;
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .mil-info {
    flex-direction: column;
    height: auto;
    padding: 30px;
  }
}

.mil-works-nav {
  padding-top: 60px;
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mil-works-nav .mil-disabled {
  opacity: 0.2;
  cursor: not-allowed;
}
@media screen and (max-width: 768px) {
  .mil-works-nav {
    padding-top: 0;
    border-top: none;
    justify-content: center;
  }
  .mil-works-nav .mil-link {
    display: none;
  }
  .mil-works-nav .mil-link:last-child {
    display: flex;
  }
}

/***************************

map

***************************/
.mil-map-frame {
  background-color: rgb(26, 26, 26);
  pointer-events: all;
  height: 600px;
  position: relative;
  overflow: hidden;
}
.mil-map-frame .mil-map {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-map-frame .mil-map iframe {
  width: 100%;
  height: 100%;
}
/* -------------------------------------------

accordion

------------------------------------------- */
.mil-accordion-group {
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}
.mil-accordion-group .mil-accordion-menu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  margin-bottom: 30px;
}
.mil-accordion-group .mil-accordion-menu .mil-symbol {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  color: rgb(0, 0, 0);
  background-color: rgb(26, 26, 26);
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-plus, .mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  position: absolute;
}
.mil-accordion-group .mil-accordion-menu .mil-symbol .mil-minus {
  transform: translateY(-2px);
}
.mil-accordion-group .mil-accordion-menu .mil-accordion-head {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 500;
  color: rgb(0, 0, 0);
}

.mil-accordion-content {
  height: 0;
  overflow: hidden;
}

/***************************

price

***************************/
.mil-price-card {
  display: block;
  width: 100%;
  border-top: solid 1px rgba(255, 255, 255, 0.1);
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  padding: 60px 0 30px;
}
.mil-price-card .mil-price-number {
  padding-top: 10px;
  line-height: 70%;
  font-size: 54px;
  font-weight: 500;
}
.mil-price-card .mil-price-number .mil-thin {
  font-weight: 200;
  font-size: 18px;
}

/***************************

404

***************************/
.mil-404-banner .mil-animation-frame {
  z-index: 2;
}

.mil-404-frame {
  padding-top: 100px;
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.mil-404-text {
  display: block;
  text-align: center;
  color: rgb(255, 255, 255);
}

.mil-scale-frame {
  transform: scale(2.3);
  text-align: center;
  margin-bottom: 90px;
}
@media screen and (max-width: 530px) {
  .mil-scale-frame {
    transform: scale(1.3);
    margin-bottom: 50px;
  }
}

.mil-404 {
  position: relative;
  color: rgb(255, 255, 255);
  font-size: 6em;
  font-weight: 500;
  animation: glitch-skew 1s infinite linear alternate-reverse;
}
.mil-404::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: 2px;
  text-shadow: -2px 0 rgb(135, 216, 50);
  clip: rect(44px, 450px, 56px, 0);
  animation: glitch-anim 5s infinite linear alternate-reverse;
}
.mil-404::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  left: -2px;
  text-shadow: -2px 0 rgb(102, 102, 102), 2px 2px rgb(26, 26, 26);
  animation: glitch-anim2 1s infinite linear alternate-reverse;
}

@keyframes glitch-anim {
  0% {
    clip: rect(6px, 9999px, 96px, 0);
    transform: skew(0.42deg);
  }
  5% {
    clip: rect(56px, 9999px, 70px, 0);
    transform: skew(0.64deg);
  }
  10% {
    clip: rect(55px, 9999px, 55px, 0);
    transform: skew(0.65deg);
  }
  15% {
    clip: rect(65px, 9999px, 16px, 0);
    transform: skew(0.17deg);
  }
  20% {
    clip: rect(3px, 9999px, 68px, 0);
    transform: skew(0.47deg);
  }
  25% {
    clip: rect(85px, 9999px, 89px, 0);
    transform: skew(0.06deg);
  }
  30% {
    clip: rect(17px, 9999px, 85px, 0);
    transform: skew(0.82deg);
  }
  35% {
    clip: rect(88px, 9999px, 17px, 0);
    transform: skew(0.6deg);
  }
  40% {
    clip: rect(27px, 9999px, 20px, 0);
    transform: skew(0.06deg);
  }
  45% {
    clip: rect(89px, 9999px, 39px, 0);
    transform: skew(0.98deg);
  }
  50% {
    clip: rect(81px, 9999px, 57px, 0);
    transform: skew(0.55deg);
  }
  55% {
    clip: rect(4px, 9999px, 97px, 0);
    transform: skew(0.53deg);
  }
  60% {
    clip: rect(71px, 9999px, 90px, 0);
    transform: skew(0.94deg);
  }
  65% {
    clip: rect(93px, 9999px, 23px, 0);
    transform: skew(0.88deg);
  }
  70% {
    clip: rect(99px, 9999px, 93px, 0);
    transform: skew(0.38deg);
  }
  75% {
    clip: rect(38px, 9999px, 100px, 0);
    transform: skew(0.89deg);
  }
  80% {
    clip: rect(93px, 9999px, 56px, 0);
    transform: skew(0.08deg);
  }
  85% {
    clip: rect(87px, 9999px, 17px, 0);
    transform: skew(0.5deg);
  }
  90% {
    clip: rect(32px, 9999px, 63px, 0);
    transform: skew(0.18deg);
  }
  95% {
    clip: rect(37px, 9999px, 98px, 0);
    transform: skew(0.8deg);
  }
  100% {
    clip: rect(65px, 9999px, 89px, 0);
    transform: skew(0.08deg);
  }
}
@keyframes glitch-anim2 {
  0% {
    clip: rect(70px, 9999px, 36px, 0);
    transform: skew(0.08deg);
  }
  5% {
    clip: rect(42px, 9999px, 61px, 0);
    transform: skew(0.26deg);
  }
  10% {
    clip: rect(97px, 9999px, 22px, 0);
    transform: skew(0.06deg);
  }
  15% {
    clip: rect(92px, 9999px, 43px, 0);
    transform: skew(0.6deg);
  }
  20% {
    clip: rect(62px, 9999px, 85px, 0);
    transform: skew(0.37deg);
  }
  25% {
    clip: rect(56px, 9999px, 93px, 0);
    transform: skew(0.94deg);
  }
  30% {
    clip: rect(72px, 9999px, 54px, 0);
    transform: skew(0.55deg);
  }
  35% {
    clip: rect(16px, 9999px, 27px, 0);
    transform: skew(0.45deg);
  }
  40% {
    clip: rect(15px, 9999px, 7px, 0);
    transform: skew(0.86deg);
  }
  45% {
    clip: rect(63px, 9999px, 94px, 0);
    transform: skew(0.47deg);
  }
  50% {
    clip: rect(79px, 9999px, 11px, 0);
    transform: skew(0.43deg);
  }
  55% {
    clip: rect(24px, 9999px, 37px, 0);
    transform: skew(0.22deg);
  }
  60% {
    clip: rect(74px, 9999px, 40px, 0);
    transform: skew(0.69deg);
  }
  65% {
    clip: rect(57px, 9999px, 92px, 0);
    transform: skew(0.52deg);
  }
  70% {
    clip: rect(42px, 9999px, 4px, 0);
    transform: skew(0.84deg);
  }
  75% {
    clip: rect(12px, 9999px, 19px, 0);
    transform: skew(0.07deg);
  }
  80% {
    clip: rect(29px, 9999px, 73px, 0);
    transform: skew(0.82deg);
  }
  85% {
    clip: rect(44px, 9999px, 86px, 0);
    transform: skew(0.59deg);
  }
  90% {
    clip: rect(16px, 9999px, 6px, 0);
    transform: skew(0.72deg);
  }
  95% {
    clip: rect(85px, 9999px, 12px, 0);
    transform: skew(0.91deg);
  }
  100% {
    clip: rect(52px, 9999px, 22px, 0);
    transform: skew(0.36deg);
  }
}
@keyframes glitch-skew {
  0% {
    transform: skew(-3deg);
  }
  10% {
    transform: skew(-3deg);
  }
  20% {
    transform: skew(2deg);
  }
  30% {
    transform: skew(0deg);
  }
  40% {
    transform: skew(-4deg);
  }
  50% {
    transform: skew(5deg);
  }
  60% {
    transform: skew(1deg);
  }
  70% {
    transform: skew(4deg);
  }
  80% {
    transform: skew(-1deg);
  }
  90% {
    transform: skew(1deg);
  }
  100% {
    transform: skew(5deg);
  }
}
/***************************

images

***************************/
.mil-image-frame {
  position: relative;
  overflow: hidden;
}
.mil-image-frame > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.mil-image-frame.mil-horizontal {
  padding-bottom: 65%;
}
.mil-image-frame.mil-vertical {
  padding-bottom: 140%;
}
.mil-image-frame.mil-square {
  padding-bottom: 100%;
}
.mil-image-frame.mil-fw {
  padding-bottom: 50%;
}
.mil-image-frame .mil-zoom-btn {
  opacity: 0;
  transform: translateY(15px);
  position: absolute;
  top: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.8);
  transition: 0.4s cubic-bezier(0, 0, 0.3642, 1);
}
.mil-image-frame .mil-zoom-btn:hover {
  background-color: rgb(255, 255, 255);
}
.mil-image-frame .mil-zoom-btn img {
  height: 17px;
  width: 17px;
}
.mil-image-frame:hover .mil-zoom-btn {
  opacity: 1;
  transform: translateY(0);
  z-index: 2;
}

/***************************

page transitions

***************************/
.mil-frame {
  opacity: 1;
  transform: scale(1);
  transition: 0.6s;
}

.mil-curtain {
  position: fixed;
  pointer-events: none;
  z-index: 4;
  background-color: rgb(0, 0, 0);
  opacity: 0;
  width: 100%;
  height: 100vh;
  transition: 0.6s;
  visibility: hidden;
}

.mil-main-transition {
  transition: 0.6s;
  margin-top: 0;
  transition-delay: 0.3s;
}
.mil-main-transition .mil-animation-frame {
  opacity: 1;
  margin-top: 0;
  transition: 0.6s;
  transition-delay: 0.3s;
}
.mil-main-transition .mil-lines-place {
  opacity: 1;
  margin-top: 0;
  transition: 0.6s;
  transition-delay: 0.3s;
}

html.is-animating .mil-frame {
  opacity: 0;
  transition-delay: 0.5s;
  transform: scale(0.9);
}
@media screen and (max-width: 1200px) {
  html.is-animating .mil-frame {
    transform: scale(1);
    opacity: 1;
  }
}
html.is-animating .mil-curtain {
  opacity: 1;
  pointer-events: all;
  visibility: visible;
}
html.is-animating .mil-main-transition {
  margin-top: 0.1px;
}
html.is-animating .mil-main-transition .mil-animation-frame {
  opacity: 0;
  margin-top: -90px;
  transition-delay: 0s;
}
html.is-animating .mil-main-transition .mil-lines-place {
  opacity: 0;
  margin-top: 90px;
  transition-delay: 0s;
}

html.is-animating .mil-menu-frame {
  opacity: 0;
  transition-delay: 0.3s;
}

/*# sourceMappingURL=style.css.map */
