/* HOODEL corporate dark-purple footer */
footer.hoodel-footer{
  position:relative;
  overflow:hidden;
  margin:0;
  padding:58px 0 0;
  border:0;
  color:#f7f4ff;
  background:
    radial-gradient(
      circle at 12% 10%,
      rgba(16,184,255,.15),
      transparent 27%
    ),
    radial-gradient(
      circle at 88% 18%,
      rgba(221,48,190,.18),
      transparent 28%
    ),
    linear-gradient(135deg,#160b2b 0%,#24103f 48%,#321251 100%);
  font-size:10px;
}

footer.hoodel-footer:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,#000,transparent 78%);
}

.footer-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.25fr .8fr 1fr 1.3fr;
  gap:52px;
  align-items:start;
  padding-bottom:48px;
}

.footer-en{
  direction:ltr;
}

.footer-fa{
  direction:rtl;
  font-family:"Vazirmatn",Tahoma,sans-serif;
}

.footer-logo{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#fff;
  font-family:"Space Grotesk","Manrope",Arial,sans-serif;
  font-size:23px;
  font-weight:720;
  letter-spacing:.09em;
}

.footer-logo img{
  width:43px;
  height:43px;
  object-fit:contain;
}

.footer-logo > span > span{
  color:#34b8ff;
}

.footer-brand p{
  max-width:300px;
  margin:18px 0 21px;
  color:#c8bfd6;
  font-size:10px;
  line-height:1.85;
}

.footer-column h3,
.footer-location h3{
  position:relative;
  margin:0 0 21px;
  padding-bottom:11px;
  color:#fff;
  font-size:11px;
  line-height:1.5;
  font-weight:700;
}

.footer-column h3:after,
.footer-location h3:after{
  content:"";
  position:absolute;
  bottom:0;
  width:30px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#35c8ff,#d83ac7);
}

.footer-en .footer-column h3:after,
.footer-en .footer-location h3:after{
  left:0;
}

.footer-fa .footer-column h3:after,
.footer-fa .footer-location h3:after{
  right:0;
}

.footer-column{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.footer-fa .footer-column{
  align-items:flex-start;
}

.footer-column a{
  position:relative;
  display:inline-block;
  margin:0 0 10px;
  color:#c6bdd5;
  font-size:9.5px;
  transition:color .18s ease,transform .18s ease;
}

.footer-column a:hover{
  color:#fff;
  transform:translateX(3px);
}

.footer-fa .footer-column a:hover{
  transform:translateX(-3px);
}

.footer-email{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-family:"Manrope","Vazirmatn",sans-serif;
  font-size:10px;
}

.footer-email svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#4dc9ff;
  stroke-width:1.5;
}

.footer-address{
  margin:0 0 17px;
  color:#d7d0e1;
  font-size:9.5px;
  line-height:1.85;
}

.map-card{
  display:block;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.17);
  border-radius:5px;
  background:rgba(255,255,255,.07);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}

.map-card:hover{
  transform:translateY(-3px);
  border-color:rgba(86,201,255,.6);
  background:rgba(255,255,255,.1);
}

.map-art{
  height:106px;
  overflow:hidden;
  background:
    radial-gradient(circle at 65% 35%,rgba(201,54,199,.18),transparent 32%),
    rgba(255,255,255,.035);
}

.map-art svg{
  display:block;
  width:100%;
  height:100%;
}

.map-lines{
  fill:none;
  stroke:rgba(255,255,255,.14);
  stroke-width:2;
}

.map-route{
  fill:none;
  stroke:#4ccaff;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-dasharray:5 5;
}

.map-node{
  fill:#4ccaff;
}

.map-pin{
  fill:#c931bd;
  stroke:#f1b8ed;
  stroke-width:1.2;
}

.map-pin-center{
  fill:#fff;
}

.map-card > span{
  display:block;
  padding:10px 12px;
  color:#fff;
  font-size:9px;
  font-weight:650;
}

.footer-bottom{
  position:relative;
  z-index:2;
  min-height:57px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.13);
  color:#958aa9;
  font-size:8.5px;
}

.footer-languages{
  direction:ltr;
  display:flex;
  align-items:center;
  gap:7px;
}

.footer-languages a,
.footer-languages strong{
  color:#fff;
}

.footer-languages i{
  color:#6e6280;
  font-style:normal;
}

.back-to-top{
  justify-self:end;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:50%;
  color:#fff;
  font-size:17px;
  transition:.18s ease;
}

.footer-fa .back-to-top{
  justify-self:start;
}

.back-to-top:hover{
  border-color:#4ccaff;
  background:rgba(76,202,255,.12);
  transform:translateY(-3px);
}

@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:38px 44px;
  }
}

@media(max-width:560px){
  footer.hoodel-footer{
    padding-top:42px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:33px;
    padding-bottom:36px;
  }

  .footer-brand p{
    max-width:none;
  }

  .footer-bottom{
    grid-template-columns:1fr auto;
    padding:16px 0;
    row-gap:13px;
  }

  .footer-languages{
    justify-self:end;
  }

  .back-to-top{
    grid-column:1 / -1;
    justify-self:start;
  }

  .footer-fa .back-to-top{
    justify-self:end;
  }
}


/* HOODEL premium Russian edition */
@font-face{
  font-family:"Onest";
  src:url("/assets/fonts/onest-cyrillic.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

@font-face{
  font-family:"Unbounded";
  src:url("/assets/fonts/unbounded-cyrillic.woff2") format("woff2");
  font-style:normal;
  font-weight:100 900;
  font-display:swap;
}

.ru-page{
  font-family:"Onest","Segoe UI",Arial,sans-serif;
  font-weight:400;
  letter-spacing:-.012em;
}

/* Russian navigation is longer than English */
.ru-page .navlinks{
  gap:13px;
  font-size:8.5px;
}

.ru-page .navtrigger{
  font-family:"Onest","Segoe UI",Arial,sans-serif;
  font-size:8.5px;
}

.ru-page .btn{
  font-family:"Onest","Segoe UI",Arial,sans-serif;
}

/* Technology-oriented display typography */
.ru-page h1,
.ru-page .finalbox h2{
  font-family:"Unbounded","Onest","Segoe UI",sans-serif;
  letter-spacing:-.035em;
  font-weight:620;
}

.ru-page .hero h1{
  max-width:530px;
  font-size:clamp(31px,3.15vw,45px);
  line-height:1.28;
}

.ru-page .lead{
  max-width:470px;
  font-size:10.5px;
  line-height:1.8;
}

.ru-page .mega-intro h3{
  font-family:"Unbounded","Onest",sans-serif;
  font-size:16px;
  line-height:1.45;
  letter-spacing:-.025em;
  font-weight:580;
}

.ru-page .section-title,
.ru-page .domain b,
.ru-page .phase b,
.ru-page .project-copy b,
.ru-page .mega-title,
.ru-page .mega-kicker{
  font-family:"Onest","Segoe UI",sans-serif;
}

.ru-page .section-title{
  font-size:8.5px;
  letter-spacing:.07em;
  font-weight:700;
}

.ru-page .domain b{
  font-size:8px;
  letter-spacing:.035em;
}

.ru-page .domain p{
  font-size:7.5px;
  line-height:1.55;
}

.ru-page .phase b{
  max-width:100px;
  margin-left:auto;
  margin-right:auto;
  line-height:1.35;
}

.ru-page .industry{
  font-size:7.2px;
}

.ru-page .project-copy b{
  font-size:7.7px;
  line-height:1.45;
}

.ru-page .finalbox h2{
  max-width:570px;
  font-size:clamp(24px,2.45vw,33px);
  line-height:1.38;
}

.ru-page .footer-grid,
.ru-page .footer-column,
.ru-page .footer-location{
  font-family:"Onest","Segoe UI",Arial,sans-serif;
}

.ru-page .footer-logo,
.ru-page .footer-email,
.ru-page .footer-languages{
  font-family:"Manrope","Segoe UI",Arial,sans-serif;
}

.footer-ru{
  direction:ltr;
  font-family:"Onest","Segoe UI",Arial,sans-serif;
}

@media(max-width:900px){
  .ru-page .navlinks{
    gap:9px;
    font-size:8px;
  }

  .ru-page .navtrigger{
    font-size:8px;
  }
}

@media(max-width:720px){
  .ru-page .hero h1{
    font-size:33px;
    line-height:1.3;
  }

  .ru-page .finalbox h2{
    font-size:27px;
  }
}


/* Fixed Russian three-line hero */
.ru-page .hero .fixed-three-line-title{
  min-height:3.9em;
  font-size:clamp(30px,2.9vw,41px);
  line-height:1.3;
}

.ru-page .fixed-three-line-title span{
  display:block;
  white-space:nowrap;
}

@media(max-width:560px){
  .ru-page .hero .fixed-three-line-title{
    min-height:3.9em;
    font-size:28px;
  }
}


.geoip-credit{
  display:block;
  text-align:center;
  margin-top:7px;
  font-size:7px;
  line-height:1.4;
  color:inherit;
  opacity:.45;
}
