
:root{
  --hv-bg:#07090b;
  --hv-bg2:#0b0e11;
  --hv-card:#0d1115;
  --hv-line:#252a2f;
  --hv-text:#f5f5f2;
  --hv-muted:#a8adb2;
  --hv-accent:#eeb20b;
  --hv-max:1440px;
}

/* Preview Elementor Library: remove Hello theme's page wrapper/title */
body.single-elementor_library main#content,
body.elementor_library-template-default main#content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.single-elementor_library .page-header,
body.elementor_library-template-default .page-header,
body.single-elementor_library h1.entry-title,
body.elementor_library-template-default h1.entry-title{
  display:none!important;
}

body .elementor .hv-page{
  background:var(--hv-bg)!important;
  color:var(--hv-text)!important;
  overflow:hidden!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
body .elementor .hv-page *{box-sizing:border-box}
body .elementor .hv-page a{text-decoration:none}

/* Force Elementor containers to obey the intended layout */
body .elementor .hv-nav{
  width:min(var(--hv-max),100%)!important;
  margin:0 auto!important;
  padding:24px 28px!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important;
}
body .elementor .hv-nav > .elementor-element{min-width:0!important}
body .elementor .hv-menu,
body .elementor .hv-nav > .elementor-element:nth-child(2){
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:28px!important;
  flex:1 1 auto!important;
  width:auto!important;
}
body .elementor .hv-menu > .elementor-element,
body .elementor .hv-nav > .elementor-element:nth-child(2) > .elementor-element{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
}
body .elementor .hv-menu .elementor-button,
body .elementor .hv-nav > .elementor-element:nth-child(2) .elementor-button{
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  padding:10px 4px!important;
  font-size:12px!important;
}
body .elementor .hv-menu .elementor-button:hover,
body .elementor .hv-nav > .elementor-element:nth-child(2) .elementor-button:hover{
  color:var(--hv-accent)!important;
}

body .elementor .hv-brand .elementor-heading-title{
  font-size:27px!important;
  line-height:.92!important;
  letter-spacing:.15em!important;
  font-weight:800!important;
  color:#fff!important;
}
body .elementor .hv-brand-sub{
  font-size:10px!important;
  letter-spacing:.28em!important;
  color:var(--hv-muted)!important;
  margin-top:5px!important;
}

body .elementor .hv-nav-cta .elementor-button,
body .elementor .hv-btn-primary .elementor-button{
  background:var(--hv-accent)!important;
  background-color:var(--hv-accent)!important;
  color:#080909!important;
  border:1px solid var(--hv-accent)!important;
  border-radius:2px!important;
  font-weight:700!important;
  padding:15px 22px!important;
}
body .elementor .hv-btn-secondary .elementor-button{
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
  border:1px solid #565b60!important;
  border-radius:2px!important;
  padding:15px 22px!important;
}

/* Hero */
body .elementor .hv-hero{
  min-height:680px!important;
  padding:58px 28px 76px!important;
  position:relative!important;
  background:
    radial-gradient(circle at 70% 42%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(115deg,#080a0c 0%,#07090b 52%,#0d1217 100%)!important;
}
body .elementor .hv-hero-grid{
  width:min(var(--hv-max),100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 180px!important;
  gap:52px!important;
  align-items:center!important;
}
body .elementor .hv-hero-grid > .elementor-element{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
}
body .elementor .hv-kicker{
  color:var(--hv-accent)!important;
  font-size:12px!important;
  letter-spacing:.19em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}
body .elementor .hv-title .elementor-heading-title{
  font-size:clamp(52px,5vw,88px)!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
  font-weight:900!important;
  color:#fff!important;
  max-width:800px!important;
}
body .elementor .hv-copy{
  color:#d2d5d7!important;
  font-size:18px!important;
  line-height:1.55!important;
  max-width:620px!important;
}
body .elementor .hv-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:14px!important;
  margin-top:24px!important;
}
body .elementor .hv-actions > .elementor-element{
  width:auto!important;
  max-width:none!important;
  flex:0 0 auto!important;
}

body .elementor .hv-showreel{
  min-height:450px!important;
  border:1px solid #2a3035!important;
  border-radius:8px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(145deg,#11161a,#060708 72%)!important;
  position:relative!important;
  overflow:hidden!important;
}
body .elementor .hv-showreel:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(circle at 50% 45%,rgba(238,178,11,.12),transparent 32%)!important;
}
body .elementor .hv-play{
  width:88px!important;
  height:88px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  font-size:28px!important;
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
}
body .elementor .hv-show-label{
  position:absolute!important;
  bottom:24px!important;
  left:24px!important;
  right:24px!important;
  text-align:center!important;
  color:#c8cbd0!important;
  font-size:12px!important;
  letter-spacing:.13em!important;
}

body .elementor .hv-stats{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  border-left:1px solid var(--hv-line)!important;
}
body .elementor .hv-stat{
  padding:27px 0 27px 24px!important;
  border-bottom:1px solid var(--hv-line)!important;
}
body .elementor .hv-stat strong{font-size:29px!important;display:block!important;color:#fff!important}
body .elementor .hv-stat span{font-size:11px!important;color:#d1d3d4!important;text-transform:uppercase!important;letter-spacing:.08em!important}

body .elementor .hv-trust{
  width:min(var(--hv-max),100%)!important;
  margin:26px auto 0!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:34px!important;
  flex-wrap:wrap!important;
}
body .elementor .hv-trust-label{
  font-size:10px!important;
  color:#8c9297!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  width:100%!important;
}
body .elementor .hv-logo{
  font-size:15px!important;
  color:#9ea3a6!important;
  font-weight:700!important;
  letter-spacing:.05em!important;
}

/* General sections */
body .elementor .hv-section{
  width:100%!important;
  padding:76px 28px!important;
}
body .elementor .hv-inner{
  width:min(var(--hv-max),100%)!important;
  margin:0 auto!important;
}
body .elementor .hv-heading-row{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:24px!important;
  margin-bottom:28px!important;
}
body .elementor .hv-section-title .elementor-heading-title{
  font-size:38px!important;
  line-height:1.06!important;
  color:#fff!important;
  font-weight:850!important;
}
body .elementor .hv-eyebrow{
  color:var(--hv-accent)!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-weight:700!important;
}

/* Instagram */
body .elementor .hv-instagram-wrap{
  background:#090c0f!important;
  border-top:1px solid #20252a!important;
  border-bottom:1px solid #20252a!important;
}
body .elementor .hv-instagram-note{
  color:#aeb2b6!important;
  max-width:350px!important;
  line-height:1.55!important;
}

/* Projects */
body .elementor .hv-project-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
body .elementor .hv-project-grid > .elementor-element{
  width:auto!important;max-width:none!important;min-width:0!important;
}
body .elementor .hv-project{
  min-height:250px!important;
  border:1px solid var(--hv-line)!important;
  border-radius:4px!important;
  padding:22px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  background:linear-gradient(180deg,#161b20 0%,#0b0d10 75%)!important;
  position:relative!important;
}
body .elementor .hv-project h3{font-size:25px!important;margin:0 0 4px!important;color:#fff!important}
body .elementor .hv-project p{margin:0!important;color:#c0c3c6!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.08em!important}

/* Services */
body .elementor .hv-service-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
body .elementor .hv-service-grid > .elementor-element{
  width:auto!important;max-width:none!important;min-width:0!important;
}
body .elementor .hv-service{
  border:1px solid var(--hv-line)!important;
  padding:28px 20px!important;
  min-height:195px!important;
  background:linear-gradient(180deg,#0d1013,#090b0d)!important;
}
body .elementor .hv-service .elementor-heading-title{
  font-size:16px!important;
  color:#fff!important;
  margin-top:14px!important;
}
body .elementor .hv-service-copy{
  font-size:13px!important;
  color:#b5babd!important;
  line-height:1.55!important;
}
body .elementor .hv-service-icon{font-size:31px!important;color:var(--hv-accent)!important}

/* Testimonials */
body .elementor .hv-testimonials{
  display:grid!important;
  grid-template-columns:260px repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
}
body .elementor .hv-testimonials > .elementor-element{
  width:auto!important;max-width:none!important;min-width:0!important;
}
body .elementor .hv-testimonial{
  border:1px solid var(--hv-line)!important;
  padding:26px!important;
  background:#0b0e11!important;
  min-height:200px!important;
}
body .elementor .hv-stars{color:var(--hv-accent)!important;letter-spacing:.12em!important;font-size:15px!important}
body .elementor .hv-quote{color:#d4d6d7!important;line-height:1.65!important;font-size:14px!important}

/* CTA */
body .elementor .hv-cta{
  width:min(var(--hv-max),calc(100% - 56px))!important;
  margin:0 auto 40px!important;
  border:1px solid #2d3338!important;
  min-height:150px!important;
  padding:32px 38px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:30px!important;
  background:linear-gradient(90deg,#11161a,#15130d,#0d1013)!important;
}
body .elementor .hv-cta-title .elementor-heading-title{
  font-size:39px!important;
  line-height:1.05!important;
  color:#fff!important;
}
body .elementor .hv-cta-title .elementor-heading-title strong{color:var(--hv-accent)!important}

/* Footer */
body .elementor .hv-footer{
  border-top:1px solid #24292e!important;
  padding:55px 28px 30px!important;
  background:#07090b!important;
}
body .elementor .hv-footer-grid{
  width:min(var(--hv-max),100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:1.2fr .7fr .8fr 1fr 1.1fr!important;
  gap:32px!important;
}
body .elementor .hv-footer-grid > .elementor-element{
  width:auto!important;max-width:none!important;min-width:0!important;
}
body .elementor .hv-footer-title{
  font-size:12px!important;text-transform:uppercase!important;color:#fff!important;font-weight:700!important;letter-spacing:.08em!important
}
body .elementor .hv-footer-copy,
body .elementor .hv-footer-copy a{
  font-size:12px!important;color:#aeb3b6!important;line-height:1.8!important
}
body .elementor .hv-copyright{
  width:min(var(--hv-max),100%)!important;
  margin:35px auto 0!important;
  color:#777e83!important;
  font-size:11px!important;
}

/* Tablet */
@media(max-width:1024px){
  body .elementor .hv-menu,
  body .elementor .hv-nav > .elementor-element:nth-child(2){display:none!important}
  body .elementor .hv-nav{padding:20px 22px!important}
  body .elementor .hv-hero{min-height:auto!important;padding:42px 22px 60px!important}
  body .elementor .hv-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:28px!important;
  }
  body .elementor .hv-stats{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    border-left:0!important;
    border-top:1px solid var(--hv-line)!important;
  }
  body .elementor .hv-stat{
    padding:20px!important;
    border-bottom:0!important;
    border-right:1px solid var(--hv-line)!important;
  }
  body .elementor .hv-section{padding:60px 22px!important}
  body .elementor .hv-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .elementor .hv-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body .elementor .hv-service-grid > .elementor-element:last-child{grid-column:1/-1!important}
  body .elementor .hv-testimonials{grid-template-columns:1fr 1fr!important}
  body .elementor .hv-testimonials > .elementor-element:first-child{grid-column:1/-1!important}
  body .elementor .hv-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

/* Mobile */
@media(max-width:767px){
  body .elementor .hv-nav{padding:16px!important;gap:14px!important}
  body .elementor .hv-brand .elementor-heading-title{font-size:21px!important}
  body .elementor .hv-nav-cta .elementor-button{font-size:10px!important;padding:11px 12px!important}

  body .elementor .hv-hero{padding:32px 16px 46px!important}
  body .elementor .hv-hero-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:28px!important;
    align-items:stretch!important;
  }
  body .elementor .hv-title .elementor-heading-title{font-size:46px!important;line-height:.96!important}
  body .elementor .hv-copy{font-size:16px!important}
  body .elementor .hv-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  body .elementor .hv-actions > .elementor-element{width:100%!important}
  body .elementor .hv-actions .elementor-button{width:100%!important}

  body .elementor .hv-showreel{min-height:330px!important;order:2!important}
  body .elementor .hv-stats{
    order:3!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body .elementor .hv-stat{padding:16px 10px!important;text-align:center!important}
  body .elementor .hv-stat strong{font-size:22px!important}
  body .elementor .hv-stat span{font-size:9px!important}

  body .elementor .hv-trust{gap:19px!important}
  body .elementor .hv-section{padding:48px 16px!important}
  body .elementor .hv-heading-row{
    align-items:flex-start!important;
    flex-direction:column!important;
    margin-bottom:22px!important;
  }
  body .elementor .hv-section-title .elementor-heading-title{font-size:30px!important}

  body .elementor .hv-project-grid{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:10px!important;
    gap:12px!important;
  }
  body .elementor .hv-project-grid > .elementor-element{
    min-width:82vw!important;
    flex:0 0 82vw!important;
    scroll-snap-align:start!important;
  }

  body .elementor .hv-service-grid{grid-template-columns:1fr!important}
  body .elementor .hv-service-grid > .elementor-element:last-child{grid-column:auto!important}

  body .elementor .hv-testimonials{
    display:flex!important;
    flex-direction:row!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
  }
  body .elementor .hv-testimonials > .elementor-element{
    min-width:82vw!important;
    flex:0 0 82vw!important;
    scroll-snap-align:start!important;
  }

  body .elementor .hv-cta{
    margin:0 16px 32px!important;
    width:auto!important;
    padding:28px 22px!important;
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body .elementor .hv-cta-title .elementor-heading-title{font-size:32px!important}

  body .elementor .hv-footer{padding:42px 16px 24px!important}
  body .elementor .hv-footer-grid{grid-template-columns:1fr 1fr!important}
  body .elementor .hv-footer-grid > .elementor-element:first-child{grid-column:1/-1!important}
}

@media(max-width:390px){
  body .elementor .hv-title .elementor-heading-title{font-size:40px!important}
  body .elementor .hv-stats{grid-template-columns:1fr!important}
  body .elementor .hv-stat{border-right:0!important;border-bottom:1px solid var(--hv-line)!important}
  body .elementor .hv-footer-grid{grid-template-columns:1fr!important}
  body .elementor .hv-project-grid > .elementor-element{min-width:88vw!important;flex-basis:88vw!important}
}
