/* Vujosevic home art direction: deep ink, electric blue, quiet glass surfaces. */
.template-home {
  --panel-bg: #050914;
  --panel-surface: rgba(11, 19, 39, .8);
  --panel-surface-soft: #0d1730;
  --panel-surface-strong: #102247;
  --panel-border: rgba(119, 160, 255, .16);
  --panel-border-strong: rgba(89, 143, 255, .34);
  --panel-text: #f3f7ff;
  --panel-muted: #a9b6d0;
  --panel-accent: #1759df;
  --panel-accent-strong: #378aff;
  --panel-warm: #79b6ff;
  --panel-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  --panel-shadow-soft: 0 14px 40px rgba(0, 0, 0, .18);
  --panel-radius: 18px;
  --panel-radius-sm: 14px;
  --site-light-surface: rgba(22, 40, 80, .65);
  --site-nav-link: #cad6f1;
  --site-dropdown-bg: #0b1429;
  --site-footer-panel-bg: #0c1830;
  --site-control-bg: #172b53;
  --site-control-bg-hover: #213c70;
  --site-control-text: #dce7ff;
  --site-control-shadow: none;
  --site-button-shadow: 0 12px 40px rgba(22, 87, 255, .24);
  background: #050914;
  color: var(--panel-text);
}

.template-home ::selection {
  background: #245ad1;
  color: #fff;
  -webkit-text-fill-color: #fff;
}

.template-home ::-moz-selection {
  background: #245ad1;
  color: #fff;
}

.template-home .navbar {
  border-bottom-color: rgba(124, 169, 255, .13);
  background: rgba(4, 9, 21, .78);
  box-shadow: none;
}

.template-home .navbar .nav-link,
.template-home .navbar .dropdown-toggle {
  color: #cad6f1;
}

.template-home .navbar .nav-link:hover,
.template-home .navbar .nav-link:focus,
.template-home .navbar .active > .nav-link {
  color: #fff;
}

.template-home .navbar .dropdown-menu {
  background: #0b1429;
  border: 1px solid var(--panel-border);
}

.template-home .navbar .dropdown-item { color: #dbe5ff; }
.template-home .navbar .dropdown-item:hover,
.template-home .navbar .dropdown-item:focus { background: #142348; color: white; }
.template-home .navbar .subnav-left .nav-service-icon { color: #82b8ff; }
.template-home .navbar .subnav-left .dropdown-item:hover .nav-service-icon,
.template-home .navbar .subnav-left .dropdown-item:focus-visible .nav-service-icon { color: #c2deff; }
.template-home .navbar .navbar-collapse,
.template-home .navbar .navbar-collapse.show { background: transparent; }
.template-home .site-logo-light { display: none; }
.template-home .site-logo-dark { display: block; }
.template-home .site-nav-languages { background: transparent; border: 0; box-shadow: none; }
.template-home .navbar .site-nav-languages_link,
.template-home .navbar .site-nav-languages_link:hover,
.template-home .navbar .site-nav-languages_link:focus { background: transparent; color: #e7efff; }
.template-home .navbar-toggler { background: #142447; border-color: var(--panel-border); }
.template-home .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(235,243,255,0.96)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.template-home .growth-home {
  padding-bottom: 0;
  background:
    radial-gradient(ellipse 46% 17% at 50% 0, rgba(21, 67, 187, .34), transparent 90%),
    radial-gradient(ellipse 35% 15% at 105% 62%, rgba(24, 76, 211, .16), transparent 90%),
    #050914;
}

.template-home .growth-home::before,
.template-home .growth-home::after { display: none; }

.template-home .growth-section {
  padding-top: 112px;
  padding-bottom: 112px;
}

.template-home .growth-section > .container {
  position: relative;
  z-index: 1;
  max-width: 1200px;
}

.template-home .growth-section-hero {
  display: flex;
  align-items: center;
  min-height: min(900px, 100svh);
  padding-top: 150px;
  padding-bottom: 118px;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse 36% 29% at 52% 35%, rgba(30, 91, 229, .28), transparent 95%),
    linear-gradient(180deg, #071026 0%, #070d1b 78%, #050914 100%);
}

.template-home .growth-section-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .52;
  background: linear-gradient(90deg, transparent 0 49.94%, rgba(96, 143, 241, .14) 50%, transparent 50.06%);
  background-size: 180px 100%;
  mask-image: linear-gradient(180deg, transparent, black 19%, black 65%, transparent);
}

.vu-orbit-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 1;
  z-index: -1;
}

.template-home .growth-hero {
  grid-template-columns: minmax(0, 1fr) minmax(280px, .58fr);
  gap: clamp(28px, 5vw, 90px);
  min-height: 590px;
}

.template-home .growth-hero_content { gap: 0; max-width: 700px; }
.template-home .growth-hero h1 {
  max-width: 19ch;
  color: #f7f9ff;
  text-shadow: 0 8px 42px rgba(3, 10, 27, .38);
}

.template-home .growth-hero .growth-lead {
  margin-top: 30px;
  max-width: 52ch;
  color: #c2cde2;
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
  line-height: 1.7;
}

.template-home .growth-hero .growth-actions { margin-top: 32px; }
.template-home .growth-hero .growth-credibility {
  margin-top: 24px;
  color: #88a4d5;
  font-size: .87rem;
  font-weight: 600;
}

.template-home .growth-button {
  min-height: 48px;
  border-radius: 7px;
  font-size: .9rem;
  letter-spacing: .01em;
}

.template-home .growth-button-primary {
  background: linear-gradient(110deg, #1755d9, #3478ff);
  color: #fff;
}

.template-home .growth-button-ghost {
  border-color: rgba(144, 177, 249, .31);
  background: rgba(12, 25, 55, .68);
  color: #e7edff;
  box-shadow: none;
}

.template-home .growth-button-ghost:hover,
.template-home .growth-button-ghost:focus-visible {
  background: rgba(25, 54, 110, .87);
  color: white;
}

.template-home .growth-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: transform 260ms cubic-bezier(.2, .8, .2, 1), box-shadow 260ms ease, border-color 260ms ease, background 260ms ease;
}

.template-home .growth-button::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(105deg, transparent 24%, rgba(255, 255, 255, .22) 48%, transparent 72%);
  transform: translateX(-150%);
  transition: transform 600ms cubic-bezier(.2, .8, .2, 1);
  pointer-events: none;
}

.template-home .growth-button:hover,
.template-home .growth-button:focus-visible {
  transform: translateY(-3px);
}

.template-home .growth-button:hover::after,
.template-home .growth-button:focus-visible::after { transform: translateX(150%); }

.template-home .growth-button-primary:hover,
.template-home .growth-button-primary:focus-visible {
  background: linear-gradient(110deg, #2469ee, #53a0ff);
  box-shadow: 0 15px 38px rgba(34, 103, 255, .35), 0 0 0 1px rgba(130, 190, 255, .28);
}

.template-home .growth-button-ghost:hover,
.template-home .growth-button-ghost:focus-visible {
  border-color: rgba(132, 183, 255, .72);
  background: linear-gradient(120deg, rgba(24, 53, 108, .94), rgba(20, 74, 147, .86));
  box-shadow: 0 12px 30px rgba(9, 33, 92, .27), inset 0 1px rgba(181, 216, 255, .16);
}

.template-home .growth-button:focus-visible {
  outline: 2px solid #a9d6ff;
  outline-offset: 3px;
}

.template-home .growth-button:active { transform: translateY(-1px); }

.template-home .growth-hero_visual {
  justify-items: center;
  align-items: center;
}
.template-home .vu-hero-symbol {
  display: block;
  width: min(90%, 480px);
  height: auto;
  filter: drop-shadow(0 20px 45px rgba(104, 34, 214, .24));
}

.template-home .growth-section-heading { margin-bottom: 34px; gap: 14px; }
.template-home .growth-card h2,
.template-home .growth-card h3 {
  font-family: "Mulish", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
}
.template-home .growth-section-heading h2 { max-width: 24ch; }
.template-home .growth-section-heading-center h2 { max-width: 24ch; }
.template-home .growth-section-heading p { max-width: 64ch; color: #a9b6d0; }
.template-home .growth-eyebrow,
.template-home .growth-card_eyebrow { color: #5b93ff; }

.template-home .growth-card {
  border-color: rgba(109, 153, 241, .17);
  border-radius: 16px;
  background: linear-gradient(143deg, rgba(17, 33, 69, .81), rgba(6, 13, 29, .9));
  box-shadow: inset 0 1px rgba(144, 180, 255, .06), 0 20px 55px rgba(0, 0, 0, .12);
}
.template-home .growth-card p,
.template-home .growth-card_copy,
.template-home .growth-card_copy p { color: #aab9d5; }
.template-home .growth-card h2,
.template-home .growth-card h3,
.template-home .growth-card h3 a { color: #f3f7ff; }
.template-home .growth-card-primary {
  background: radial-gradient(circle at 100% 0, rgba(38, 104, 240, .23), transparent 55%), linear-gradient(145deg, #122759, #071227);
}
.template-home .growth-card-primary::before,
.template-home .growth-card-warm::before,
.template-home .growth-card-accent::before { width: 2px; background: #357bff; }

.template-home #home-testimonials { padding-top: 70px; }
.template-home .growth-testimonial-slide { min-height: 230px; }
.template-home .growth-testimonial-arrow { color: #dce8ff; border-color: var(--panel-border-strong); background: #0d1b39; }
.template-home .growth-testimonial-arrow:hover,
.template-home .growth-testimonial-arrow:focus-visible {
  border-color: rgba(137, 194, 255, .68);
  background: linear-gradient(135deg, #1759df, #378aff);
  box-shadow: 0 8px 25px rgba(40, 107, 255, .3);
  transform: translateY(-2px);
}
.template-home .growth-testimonial-arrow:focus-visible { outline: 2px solid #a9d6ff; outline-offset: 3px; }
.template-home #home-authority,
.template-home #home-selected-work,
.template-home #home-process,
.template-home #home-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(ellipse 40% 42% at 22% 48%, rgba(23, 77, 190, .17), transparent 95%);
}
.template-home #home-authority .growth-split-grid { gap: 30px; }
.template-home #home-authority .growth-card { min-height: 300px; padding: clamp(28px, 4vw, 58px); }
.template-home #home-services .growth-card-grid,
.template-home #home-selected-work .growth-card-grid { gap: 18px; }
.template-home #home-selected-work .growth-card-grid > .growth-card {
  display: flex;
  flex-direction: column;
}
.template-home #home-selected-work .growth-card-grid > .growth-card h3 {
  margin: 0;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(117, 157, 242, .16);
}
.template-home #home-selected-work .growth-card-grid > .growth-card > p {
  margin: 0;
  padding-top: 14px;
}
@media (min-width: 768px) and (max-width: 991px) {
  @supports (grid-template-rows: subgrid) {
    .template-home #home-selected-work .growth-card-grid:has(> .growth-card:nth-child(3):last-child) {
      grid-template-rows: repeat(5, auto) 18px repeat(5, auto);
      row-gap: 0;
    }
    .template-home #home-selected-work .growth-card-grid:has(> .growth-card:nth-child(3):last-child) > .growth-card {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      row-gap: 0;
    }
    .template-home #home-selected-work .growth-card-grid:has(> .growth-card:nth-child(3):last-child) > .growth-card:nth-child(3) {
      grid-row: 7 / span 5;
    }
  }
}
@media (min-width: 992px) {
  @supports (grid-template-rows: subgrid) {
    .template-home #home-selected-work .growth-card-grid:has(> .growth-card:nth-child(3):last-child) {
      grid-template-rows: repeat(5, auto);
      row-gap: 0;
    }
    .template-home #home-selected-work .growth-card-grid:has(> .growth-card:nth-child(3):last-child) > .growth-card {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 5;
      row-gap: 0;
    }
  }
}
@media (min-width: 992px) {
  .template-home #home-services .growth-card-grid-center-last-two {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .template-home #home-services .growth-card-grid-center-last-two > .growth-service-card {
    grid-column: span 2;
  }
  .template-home #home-services .growth-card-grid-center-last-two > .growth-service-card:nth-last-child(2) {
    grid-column: 2 / span 2;
  }
  .template-home #home-services .growth-card-grid-center-last-two > .growth-service-card:last-child {
    grid-column: 4 / span 2;
  }
}
.template-home .growth-service-card { position: relative; min-height: 260px; padding: 29px; }
.template-home .growth-service-card_title { display: flex; align-items: center; min-height: 82px; padding-right: 88px; font-size: 1.18rem; text-transform: none; letter-spacing: -.02em; }
.template-home .vu-service-icon {
  position: absolute;
  top: 13px;
  right: 13px;
  width: 84px;
  height: 84px;
  background: url("../img/vu-service-icons.png?v=2") no-repeat;
  background-size: 300% 200%;
  clip-path: inset(0 7px);
  pointer-events: none;
}
.template-home .growth-service-card:nth-child(1) .vu-service-icon { background-position: 50% 0; }
.template-home .growth-service-card:nth-child(2) .vu-service-icon { background-position: 100% 0; }
.template-home .growth-service-card:nth-child(3) .vu-service-icon { background-position: 0 0; }
.template-home .growth-service-card:nth-child(4) .vu-service-icon { background-position: 0 100%; }
.template-home .growth-service-card:nth-child(5) .vu-service-icon { background-position: 50% 100%; }
.template-home .growth-inline-link { color: #82aeff; }
.template-home #home-model,
.template-home #home-faq { background: radial-gradient(ellipse 48% 54% at 84% 65%, rgba(22, 67, 173, .16), transparent 95%); }
.template-home #home-process .growth-step-card { min-height: 265px; }
.template-home #home-process .growth-step-card_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 72px;
}
.template-home #home-process .growth-step-card_label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}
.template-home #home-process .growth-step-card_label h3 {
  font-size: clamp(1.22rem, 1.7vw, 1.4rem);
  line-height: 1.2;
}
.template-home #home-process .vu-process-icon {
  display: block;
  flex: none;
  width: 60px;
  height: 60px;
  object-fit: contain;
  pointer-events: none;
}
.template-home #home-process .growth-step-card_number {
  flex: none;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #71a7ff;
  font-size: .95rem;
}
.template-home .growth-faq-item { background: rgba(9, 17, 35, .65); }
.template-home .growth-faq-item[open] { border-color: rgba(92, 143, 247, .45); }
.template-home .footer,
.template-home .footer a,
.template-home .footer .ftitle,
.template-home .footer li { color: #c3d0e9; }
.template-home .footer .social .footer-social-link {
  border-color: rgba(105, 156, 255, .27);
  background: rgba(18, 40, 83, .75);
  color: #a9ccff;
}
.template-home .footer .social .footer-social-link:hover,
.template-home .footer .social .footer-social-link:focus-visible {
  border-color: rgba(139, 197, 255, .7);
  background: linear-gradient(135deg, #1c58d7, #3b8dff);
  color: #fff;
  box-shadow: 0 10px 28px rgba(29, 89, 217, .3);
}
.template-home .vu-wrapper .vu {
  border: 1px solid rgba(115, 159, 245, .24);
  background: #0c1830;
  color: #dce7ff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .45);
}
.template-home .vu-wrapper .vu-header,
.template-home .vu-wrapper .vu-text { color: #dce7ff; }
.template-home .vu-wrapper .allow-necessary { color: #dce7ff; background: #172b53; }
.template-home #vu-wrapper .vu button { transition: transform 260ms cubic-bezier(.2, .8, .2, 1), background 260ms ease, box-shadow 260ms ease, border-color 260ms ease; }
.template-home #vu-wrapper .vu button:hover,
.template-home #vu-wrapper .vu button:focus-visible { transform: translateY(-2px); border-color: rgba(137, 194, 255, .55); box-shadow: 0 8px 24px rgba(30, 91, 226, .23); }
.template-home #vu-wrapper .vu button:focus-visible { outline: 2px solid #a9d6ff; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
  .template-home .growth-button,
  .template-home .growth-button::after,
  .template-home .growth-testimonial-arrow,
  .template-home #vu-wrapper .vu button { transition-duration: 0.01ms; }
  .template-home .growth-button::after { display: none; }
  .template-home .growth-button:hover,
  .template-home .growth-button:focus-visible,
  .template-home .growth-testimonial-arrow:hover,
  .template-home .growth-testimonial-arrow:focus-visible,
  .template-home #vu-wrapper .vu button:hover,
  .template-home #vu-wrapper .vu button:focus-visible { transform: none; }
}

@media (min-width: 992px) {
  .template-home .navbar .navbar-collapse { background: transparent !important; }
}

@media (max-width: 991px) {
  .template-home .growth-section-hero { min-height: auto; padding-top: 165px; }
  .template-home .growth-hero { grid-template-columns: 1fr; max-width: 760px; margin: auto; text-align: center; }
  .template-home .growth-hero_content { justify-items: center; margin: auto; }
  .template-home .growth-hero h1 { max-width: 19ch; }
  .template-home .growth-hero .growth-actions { justify-content: center; }
  .template-home .growth-hero_visual { max-width: 360px; margin: 30px auto 0; transform: none; }
  .template-home .navbar .navbar-collapse,
  .template-home .navbar .navbar-collapse.show { background: #071226; }
}

@media (max-width: 767px) {
  .template-home .growth-section:not(.global-cta-wrap) { padding-top: 80px; padding-bottom: 80px; }
  .template-home .growth-section-hero { padding-top: 135px; padding-bottom: 75px; }
  .template-home .growth-hero { gap: 10px; }
  .template-home .growth-hero .growth-lead { margin-top: 22px; }
  .template-home .growth-hero .growth-actions { width: 100%; }
  .template-home .growth-hero_visual { width: min(72vw, 320px); }
  .vu-orbit-canvas { opacity: .9; }
  .template-home #home-authority .growth-card { min-height: 0; padding: 28px; }
  .template-home .growth-service-card { min-height: 0; }
}
