/* ==========================================================================
   EVS FRONT PAGE / SECTION-BY-SECTION PARITY LAYER
   Generated from the approved evsNext V72 design cascade.
   Preserve source-region order unless visual regression tests pass.
   ========================================================================== */

/* ===== SOURCE REGION: evs-sections.css ===== */
/**
 * Empire Visual Studio — Section-Specific Composition Styles
 * evsNext | css/evs-sections.css
 *
 * Strictly organized sequentially from top to bottom (Home to Contact/Dock).
 * Contains overrides, layouts, and animations for each section.
 */

/* ==========================================================================
   GLOBAL CLICK ACTIVE tactile feedback & UNIVERSAL CLASSES
   ========================================================================== */
.evs-button:active, 
.evs-button-url:active, 
.work-card:active, 
.visual-panel:active, 
.service-tabs button:active, 
.team-thumbs button:active,
.lightbox-tab:active,
.playlist-item:active {
  transform: scale(0.95) !important;
  transition: transform 0.08s ease !important;
}

/* Universal designed separator line (fading on both left and right edges) */
.evs-separator {
  display: block !important;
  height: 1px !important;
  width: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(46, 133, 255, 0.45), transparent) !important;
  margin: 16px 0 !important;
  border: none !important;
}

/* Shared EVS circle blue glow style */
.evs-circle-glow {
  border-radius: 50% !important;
  border: 2px solid rgba(46, 133, 255, 0.4) !important;
  box-shadow: 0 0 12px rgba(46, 133, 255, 0.25) !important;
  transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.3s, box-shadow 0.3s !important;
}

.evs-circle-glow:hover,
*:hover > .evs-circle-glow,
.evs-contact-person:hover .evs-circle-glow,
.team-thumbs button:hover img.evs-circle-glow,
.team-thumbs button.active img.evs-circle-glow,
.MoAi-MessageBox__avatar:hover::before {
  transform: scale(1.08) !important;
  border-color: #2e85ff !important;
  box-shadow: 0 0 22px rgba(46, 133, 255, 0.8), 0 0 8px rgba(46, 133, 255, 0.3) !important;
}

/* Universal spinning border animation */
.evs-border-animation {
  position: relative;
  isolation: isolate;
}

.evs-border-animation::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--frame-angle,0deg), transparent 0 25%, #2e85ff 36%, #fff 42%, transparent 52% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
  z-index: 1;
}

.evs-border-animation:hover::before,
.evs-border-animation.active::before {
  opacity: 1 !important;
  animation: evsFrame 3s linear infinite !important;
}

/* Universal glass sweep light effect overlay on mouseover */
.evs-sweep-effect {
  position: relative !important;
  overflow: hidden !important;
}

.evs-sweep-effect::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.28) 50%, transparent 65%) !important;
  transform: translateX(-150%) skewX(-15deg) !important;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1) !important;
  pointer-events: none !important;
  z-index: 99 !important;
}

.evs-sweep-effect:hover::after {
  transform: translateX(150%) skewX(-15deg) !important;
}

/* ==========================================================================
   TOPBAR HEADER LOGO MOUSEOVER
   ========================================================================== */
.topbar__brand:hover span {
  letter-spacing: calc(0.17em + 1.2px) !important;
  color: #fff !important;
  text-shadow: 0 0 10px rgba(46,133,255,.4) !important;
}

/* ==========================================================================
   SECTION 1: HERO (#home)
   ========================================================================== */
.hero h1 strong {
  display: block;
  font-family: EVS, Orbitron, sans-serif;
  font-size: .34em;
  letter-spacing: .48em;
  margin-top: 0.04em !important;
  color: #aab3bd;
  text-shadow: 0 1px #fff, 0 -1px #303943, 0 0 24px rgba(46,133,255,.5);
}

/* Big Logo Emblem Animation (Centred bottom, scaled by height, above plexus, below content) */
.hero__emblem {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  top: auto !important;
}
.ai__layer {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  height: 100vh !important;
  aspect-ratio: 16 / 9 !important;
  pointer-events: none;
  overflow: hidden;
}

/* Blur fade in entrance animation for layers */
.ai__layer.reveal {
  opacity: 0;
}
.ai__layer.reveal.visible {
  animation: evsAiLayerEntrance 1.6s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}
.ai__layer.reveal.visible:nth-child(1) { animation-delay: 0.1s !important; }
.ai__layer.reveal.visible:nth-child(2) { animation-delay: 0.15s !important; }
.ai__layer.reveal.visible:nth-child(3) { animation-delay: 0.2s !important; }
.ai__layer.reveal.visible:nth-child(4) { animation-delay: 0.25s !important; }
.ai__layer.reveal.visible:nth-child(5) { animation-delay: 0.3s !important; }
.ai__layer.reveal.visible:nth-child(6) { animation-delay: 0.35s !important; }

@keyframes evsAiLayerEntrance {
  0% {
    opacity: 0;
    filter: blur(15px);
    scale: 1.1;
  }
  100% {
    opacity: 1;
    filter: blur(0);
    scale: 1;
  }
}

.hero__emblem {
  transform: translateX(-50%) !important;
  height: 78vh !important; /* Scaled down slightly to prevent top cropping */
  width: auto !important;
  aspect-ratio: 1 / 1 !important;
  z-index: 2 !important;
  pointer-events: none;
  display: flex !important;
  justify-content: center;
  align-items: flex-end;
  overflow: visible;
  margin: 0 !important;
}

.hero__emblem img {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  height: 100% !important;
  width: auto !important;
  object-fit: contain !important; /* Aligned center-bottom, no cropping */
  opacity: 0;
  filter: drop-shadow(0 0 24px rgba(46, 133, 255, 0.3));
  animation: logoCycle 16s infinite;
}

.hero__emblem img:nth-child(2) { animation-delay: 4s; }
.hero__emblem img:nth-child(3) { animation-delay: 8s; }
.hero__emblem img:nth-child(4) { animation-delay: 12s; }

/* Mathematically smooth cross-fade animation with no black gaps */
@keyframes logoCycle {
  0%, 100% { opacity: 0; }
  8.33%, 33.33% { opacity: 1; }
  41.66% { opacity: 0; }
}

/* Smooth full-width fading background for the hero content text */
.hero__content {
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, transparent 0%, rgba(1, 2, 4, 0.9) 20%, rgba(1, 2, 4, 0.9) 80%, transparent 100%) !important;
  /* Smooth mask-image fading to prevent sharp vertical line edge cuts */
  mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%) !important;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%) !important;
  padding: 35px var(--pad) !important;
}

/* Latest Work Thumbnails Layer Styles (Slightly scaled down) */
.latest-work__viewport {
  width: 100%;
  padding: 24px 0;
  overflow: visible;
}

.latest-work__track {
  justify-content: flex-start;
  gap: 14px;
  padding: 0 40px;
}

.work-card {
  flex: 0 0 clamp(140px, 14vw, 200px) !important; /* Slightly scaled down from 250px */
  width: clamp(140px, 14vw, 200px) !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 13px !important;
  overflow: hidden !important;
  border: 1px solid rgba(46, 133, 255, 0.28) !important;
  position: relative;
  background: #080c12;
  cursor: pointer !important;
  transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .4s, box-shadow .4s !important;
}

.work-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.7) brightness(.7);
  transition: transform 0.5s, filter 0.5s;
}

.work-card > span {
  position: absolute;
  inset: 0;
  padding: 12px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  background: linear-gradient(0deg, rgba(2,4,7,.86), transparent 65%);
  z-index: 2;
}

.work-card b {
  font: 7px/1 Orbitron, Arial, sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #fff;
}

.work-card i {
  display: none;
}

.work-card:hover {
  transform: translateY(-7px) !important;
  border-color: #2e85ff !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.6), 0 0 25px rgba(46,133,255,.3) !important;
}

.work-card:hover img {
  filter: saturate(1) brightness(.95);
  transform: scale(1.05);
}

.latest-work__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  width: 100%;
  padding: 0 40px;
  margin-bottom: 12px;
}

.latest-work__indicator {
  font-family: 'Orbitron', sans-serif;
  font-size: 7.5px !important;
  letter-spacing: 5px;
  color: #2E85FF;
  text-shadow: 0 0 10px rgba(46,133,255,.6);
  animation: evsPulse 3s ease-in-out infinite;
  white-space: nowrap;
}

.work-categories {
  margin: 0 !important;
  gap: 12px !important;
  display: flex;
  justify-content: flex-end;
}

/* ==========================================================================
   SECTION 2: SERVICES (#services)
   ========================================================================== */
.services-v5__header h2, .visualization-v5__header h2 {
  font-size: clamp(20px, 2.5vw, 32px) !important; /* Slightly reduced */
}

.services-v5__layout {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 20px !important;
  flex: 1 !important;
  min-height: 0 !important;
  height: calc(100% - 70px) !important;
  max-height: calc(100% - 70px) !important;
  overflow: hidden !important;
}

/* Ask MoAi Link Button styling */
.evs-ask-moai {
  font-family: Orbitron, sans-serif !important;
  font-size: 13px !important; /* Larger size */
  color: #85bdff !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  text-decoration: none !important;
  margin-top: 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  transition: color 0.3s !important;
}

.evs-ask-moai:hover {
  color: #fff !important;
  text-shadow: 0 0 8px rgba(46, 133, 255, 0.6) !important;
}

/* Services Detail capability image placeholder */
.service-detail__img-wrap {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-top: 12px !important;
  border: 1px solid rgba(46, 133, 255, 0.22) !important;
  background: #060a0f;
  box-shadow: 0 4px 15px rgba(0,0,0,.4);
}

.service-detail__img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(.85) brightness(.9);
  transition: transform 0.5s ease;
}

.service-detail__img-wrap:hover img {
  transform: scale(1.03);
}

/* Services Avatar explainer backdrop (Full-width, aligned bottom-right, z-index 1 under content) */
.avatar-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

.avatar-stage::before {
  content: "";
  position: absolute;
  inset: 8% 5% 0;
  border: 1px solid rgba(46, 133, 255, 0.22);
  border-radius: 50% 50% 12px 12px;
  background: radial-gradient(circle at 50% 45%, rgba(46, 133, 255, 0.13), transparent 65%);
}

.avatar-stage video {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 100% !important;
  width: auto !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  filter: drop-shadow(0 0 24px rgba(46,133,255,.24));
}

.avatar-stage > span {
  position: absolute;
  z-index: 4;
  top: 12px;
  right: var(--pad);
  color: #758296;
  text-transform: uppercase;
  font: 6px/1 Orbitron, Arial, sans-serif;
  letter-spacing: .18em;
}

/* MoAi-MessageBox chat window (Centered on Moai avatar horizontally, spaced from bottom, fixed sizing, left aligned) */
.MoAi-MessageBox {
  position: absolute !important;
  z-index: 5 !important;
  bottom: 76px !important; /* Spaced further up from bottom of section */
  right: 14% !important; /* Aligned centered under MoAi avatar character */
  width: 280px !important; /* Fixed width */
  height: 72px !important; /* Fixed height */
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important; /* Left alignment of icon and message */
  gap: 14px !important;
  padding: 0 16px !important;
  background: rgba(4, 7, 12, 0.8) !important;
  border: 1px solid rgba(46, 133, 255, 0.28) !important;
  border-radius: 16px !important;
  backdrop-filter: blur(12px) !important;
  box-shadow: 0 0 20px rgba(46, 133, 255, 0.25) !important;
  pointer-events: auto !important;
}

.MoAi-MessageBox__avatar {
  width: 40px !important;
  height: 40px !important;
  position: relative !important;
  flex-shrink: 0 !important;
  overflow: visible !important;
}

.MoAi-MessageBox__avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}

/* Animated circular border around MoAi avatar icon */
.MoAi-MessageBox__avatar::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50% !important;
  pointer-events: none;
  background: conic-gradient(from var(--frame-angle,0deg), transparent 0 25%, #2e85ff 36%, #fff 42%, transparent 52% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1.5px;
  animation: evsFrame 3s linear infinite !important;
}

.MoAi-MessageBox__chat p {
  margin: 0 !important;
  font-family: Orbitron, Arial, sans-serif !important;
  font-size: 11px !important;
  color: #fff !important;
  letter-spacing: 1px !important;
  text-align: left !important;
}

/* ==========================================================================
   SECTION 3: VISUALIZATION (#visualization)
   ========================================================================== */
.visual-panels {
  gap: clamp(10px, 1.5vw, 24px) !important;
}

.visual-panel {
  overflow: hidden;
  position: relative;
}

.visual-panel img {
  transform: scale(1);
  transition: transform 1.1s cubic-bezier(.22,1,.36,1);
}

.visual-panel:hover img {
  transform: scale(1.04);
}

/* ==========================================================================
   SECTION 4: AI PRODUCTION (#ai)
   ========================================================================== */
.ai {
  background: #04060A !important;
}

/* Aspect-ratio wrappers centered on screen height to prevent cropping */
.ai__layer {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  height: 100vh !important;
  aspect-ratio: 16 / 9 !important;
  pointer-events: none;
  overflow: hidden;
}

.ai__layer img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* Scale & Drift animation on Layer 6 character background */
.scale-zoom {
  animation: evsScaleDrift 16s ease-in-out infinite !important;
}

@keyframes evsScaleDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(0, -6px) scale(1.09); }
}

.ai__content, .creation__content {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  bottom: clamp(40px, 8vh, 80px) !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  text-align: center !important;
  max-width: min(700px, 70vw) !important;
  z-index: 10 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ai__content h2, .creation__content h2, .events__content h2 {
  font-family: EVS, Orbitron, sans-serif !important;
  font-size: clamp(20px, 2.8vw, 36px) !important; /* Slightly reduced word size */
  font-style: italic !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  line-height: 1.1 !important;
  margin-bottom: 12px !important;
  text-shadow: 0 0 18px rgba(46,133,255,.4) !important;
}

/* Em keywords inside content headings remain larger */
.ai__content h2 em, .creation__content h2 em, .events__content h2 em {
  font-size: clamp(28px, 4.2vw, 58px) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

.ai__content p:not(.screen__index), .creation__content p:not(.screen__index), .events__content p:not(.screen__index) {
  font-size: 12px !important;
  line-height: 1.8 !important;
  color: #a4aeba !important;
  margin-bottom: 24px !important;
  max-width: 500px !important;
}

/* Brighter unique sky blue rounded pill button (Visit Empire Visual AI) */
.evs-button-url {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 24px !important;
  border-radius: 30px !important; /* pill shape rounded corner */
  border: 1px solid #00c3ff !important;
  background: linear-gradient(135deg, #0077cc, #00c3ff) !important; /* sky blue gradient */
  color: #fff !important;
  font-family: Orbitron, Arial, sans-serif !important;
  font-size: 8.5px !important;
  letter-spacing: 1.5px !important;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1) !important;
  box-shadow: 0 0 15px rgba(0, 195, 255, 0.3) !important;
  position: relative;
  isolation: isolate;
}

.evs-button-url:hover {
  background: linear-gradient(135deg, #0088ff, #00e5ff) !important;
  box-shadow: 0 0 25px rgba(0, 195, 255, 0.7), 0 0 8px #fff !important;
  transform: translateY(-2px);
}

.evs-button-url span, .evs-button-url i {
  position: relative;
  z-index: 2;
}

.evs-button-url::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: conic-gradient(from var(--frame-angle,0deg), transparent 0 25%, #00c3ff 36%, #fff 42%, transparent 52% 100%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
  z-index: 1;
}

.evs-button-url:hover::before {
  opacity: 1;
  animation: evsFrame 4s linear infinite !important;
}

/* ==========================================================================
   SECTION 5: CREATION (#creation)
   ========================================================================== */
.creation__content h2 {
  /* creation title keyword em is not used here but styled for compatibility */
  font-size: clamp(26px, 3.6vw, 52px) !important; /* creation remains larger size */
}

/* ==========================================================================
   SECTION 6: EVENTS (#events)
   ========================================================================== */
.events__content {
  position: absolute !important;
  left: clamp(20px, 5vw, 90px) !important;
  right: auto !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  text-align: left !important;
  max-width: 760px !important;
  z-index: 10 !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.events__media:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(1,3,6,.92) 0%, rgba(1,3,6,.25) 40%, rgba(1,3,6,.55) 100%);
}

.events__foreground {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 3 !important;
  mix-blend-mode: screen;
  opacity: .75;
}

/* ==========================================================================
   SECTION 7: CONTACT & TEAM (#contact)
   ========================================================================== */
.contact__head h2 {
  font-size: clamp(20px, 2.6vw, 34px) !important; /* Slightly reduced size */
}

.contact-grid h3 {
  font-size: clamp(14px, 1.8vw, 20px) !important; /* Reduced card titles */
}

/* Standardized position and role texts to match exactly */
.evs-contact-person__role, .team-role {
  margin: 0 !important;
  font-size: 9px !important; /* Same size */
  color: #2e85ff !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important; /* Same spacing */
  font-family: Orbitron, Arial, sans-serif !important;
  font-weight: 600 !important;
}

.team-card {
  background: linear-gradient(135deg, rgba(10,18,30,.9), rgba(5,8,14,.72)) !important;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.team-feature {
  display: flex;
  gap: 24px;
  align-items: center;
}

.team-feature__photo {
  width: 170px !important;
  height: 170px !important;
  flex-shrink: 0;
}

.team-thumbs {
  display: flex;
  gap: 12px;
  margin: 0 !important;
  overflow: visible !important; /* prevent glow cropping */
  justify-content: flex-end !important; /* Align selectors to the right side */
}

.team-thumbs button {
  padding: 0 !important;
  border: none !important;
  background: none !important;
  width: 44px !important;
  height: 44px !important;
  overflow: visible !important; /* prevent selector glow cropping */
  cursor: pointer;
}

.team-thumbs button img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.team-categories button {
  border: 0 !important;
  background: none !important;
  color: #768292 !important;
  font-family: Orbitron, sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 1px !important;
  cursor: pointer !important;
  padding: 6px 12px !important;
  border-bottom: 2px solid transparent !important;
  transition: all .3s ease !important;
}

.team-categories button.active {
  color: #85bdff !important;
  border-bottom-color: #2e85ff !important;
}

.team-categories button:hover {
  color: #fff !important;
}

/* Contact Person custom styling */
.evs-contact-person {
  display: flex;
  align-items: center;
  gap: 14px;
}

.evs-contact-person__avatar {
  width: 64px;
  height: 64px;
  overflow: hidden;
  flex-shrink: 0;
}

.evs-contact-person__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.evs-contact-person__info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.evs-contact-person__name {
  font-family: EVS, Orbitron, sans-serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #eef3f8 !important;
  margin: 0;
}

.evs-contact-person__whatsapp {
  display: flex;
  align-items: center;
  margin-top: 4px;
}

.evs-contact-person__whatsapp a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  font-size: 12px !important; /* Slightly enlarged */
  transition: color 0.3s;
}

.evs-contact-person__whatsapp a:hover {
  color: #2e85ff;
}

.evs-contact-person__whatsapp .whatsapp-icon {
  color: #25D366;
  width: 14px !important; /* Slightly enlarged */
  height: 14px !important;
}

.evs-contact-person__email {
  color: #768292;
  text-decoration: none;
  font-size: 9px;
  margin-top: 1px;
  transition: color 0.3s;
}

.evs-contact-person__email:hover {
  color: #fff;
}

.evs-contact-person__web {
  color: #2e85ff;
  text-decoration: none;
  font-size: 9px;
  margin-top: 1px;
  font-family: Orbitron, sans-serif;
  letter-spacing: 1px;
  font-weight: 600;
  transition: color 0.3s;
  display: inline-flex;
  align-items: center;
}

.evs-contact-person__web:hover {
  color: #fff;
}

.evs-contact-person__web svg.web-icon {
  margin-right: 6px;
  vertical-align: middle;
  stroke: currentColor;
  width: 11px;
  height: 11px;
}

/* ==========================================================================
   SECTION 8: FOOTER & FLOATING DOCK
   ========================================================================== */
.footer-v5 {
  margin-top: 50px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.07);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  width: 100%;
}

.utility-dock {
  right: 18px !important;
  left: auto !important;
  bottom: 50px !important;
  align-items: flex-end !important;
}

.music-player {
  position: relative;
  height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 10px 5px 5px;
  border: 1px solid rgba(46,133,255,.24);
  border-radius: 25px;
  background: rgba(4,7,12,.78);
  backdrop-filter: blur(15px);
  cursor: pointer;
  transition: border-color .3s, box-shadow .3s, transform .3s;
}

.music-player:hover {
  border-color: #2e85ff;
  box-shadow: 0 0 20px rgba(46,133,255,.35);
  transform: translateY(-2px);
}

.music-player > [data-music-toggle] {
  display: none !important;
}

.music-player img.album-art {
  width: 36px;
  height: 36px;
  object-fit: cover;
}

/* ==========================================================================
   SECTION 9: YOUTUBE LIGHTBOX PLAYER & PLAYLISTS
   ========================================================================== */
.video-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(2, 3, 5, 0.92);
  backdrop-filter: blur(15px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s;
  visibility: hidden;
}

.video-lightbox.show {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

.lightbox-container {
  position: relative;
  width: 95vw; /* Wider based on screen width */
  max-width: 1200px !important;
  max-height: 95vh;
  display: flex;
  flex-direction: column;
  background: #060a0f !important;
  padding: 24px !important;
  border-radius: 20px !important;
  box-shadow: var(--evs-glow) !important;
  border: 1px solid rgba(46, 133, 255, 0.3) !important;
}

.lightbox-close {
  position: absolute;
  top: 15px;
  right: 15px;
  border: 0;
  background: none;
  color: #fff;
  font-size: 24px;
  cursor: pointer;
  padding: 8px;
  z-index: 10;
  transition: color 0.3s;
}

.lightbox-close:hover {
  color: #2e85ff;
}

.lightbox-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.lightbox-content p {
  margin: 0 auto 12px;
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #85bdff;
  text-align: center;
}

.lightbox-player-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.lightbox-footer {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lightbox-tabs {
  display: flex;
  gap: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 4px;
  overflow-x: auto;
}

.lightbox-tab {
  background: none;
  border: none;
  color: #677486;
  font-family: 'Orbitron', sans-serif;
  font-size: 9px;
  letter-spacing: 2px;
  padding: 8px 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  border-bottom: 2px solid transparent;
  text-transform: uppercase;
  white-space: nowrap;
}

.lightbox-tab:hover {
  color: #85bdff;
}

.lightbox-tab.active {
  color: #fff;
  border-bottom-color: #2e85ff;
  text-shadow: 0 0 10px rgba(46, 133, 255, 0.6);
}

.lightbox-playlist-scroll {
  overflow-x: auto;
  padding-bottom: 6px;
}

.lightbox-playlist-scroll::-webkit-scrollbar {
  height: 4px;
}

.lightbox-playlist-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.02);
  border-radius: 2px;
}

.lightbox-playlist-scroll::-webkit-scrollbar-thumb {
  background: rgba(46, 133, 255, 0.3);
  border-radius: 2px;
}

.lightbox-playlist {
  display: flex;
  gap: 8px;
  width: max-content;
}

.playlist-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(4, 7, 12, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #8794a5;
  font-family: 'Orbitron', sans-serif;
  font-size: 8px;
  letter-spacing: 1px;
}

.playlist-item:hover {
  border-color: rgba(46, 133, 255, 0.5);
  color: #fff;
}

.playlist-item img {
  width: 32px;
  height: 20px;
  object-fit: cover;
  border-radius: 3px;
}

.playlist-item.active {
  border-color: #2e85ff;
  color: #fff;
  background: rgba(46, 133, 255, 0.12);
  box-shadow: 0 0 8px rgba(46, 133, 255, 0.25);
}

/* ========================================================================== 
   FINAL LAYOUT REFINEMENTS - logo, MoAI, AI, events, team
   ========================================================================== */

/* Reusable text-only light sweep. Apply .evs-text-sweep to the text itself. */
.evs-text-sweep {
  display: inline-block !important;
  position: relative !important;
  overflow: visible !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: linear-gradient(108deg, #d2d9e0 0%, #ffffff 38%, #aeb8c3 50%, #ffffff 62%, #d2d9e0 100%) !important;
  background-size: 230% 100% !important;
  background-position: 100% 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  transition: letter-spacing .3s ease, text-shadow .3s ease !important;
}
.evs-text-sweep:hover,
.topbar__brand:hover .evs-text-sweep {
  animation: evsTextSweep 1s cubic-bezier(.22, 1, .36, 1) both !important;
  letter-spacing: calc(.17em + 1.2px) !important;
  text-shadow: 0 0 12px rgba(46, 133, 255, .45) !important;
}
@keyframes evsTextSweep { from { background-position: 100% 0; } to { background-position: -120% 0; } }

/* Keep the logo outer glow outside the brand box instead of clipping it. */
.topbar__brand,
.topbar__logo-wrap { overflow: visible !important; }
.topbar__logo-wrap { display: grid; place-items: center; padding: 10px; margin: -10px; border-radius: 50%; }
.topbar__brand:hover .topbar__logo-wrap img { filter: drop-shadow(0 0 7px rgba(125, 189, 255, .9)) drop-shadow(0 0 20px rgba(46, 133, 255, .65)) !important; }

/* Anchor the reply box to the actual avatar video; JavaScript supplies --moai-x/--moai-y. */
.MoAi-MessageBox { left: var(--moai-x, 77%) !important; top: var(--moai-y, 11%) !important; right: auto !important; bottom: auto !important; transform: translateX(-50%) !important; max-width: calc(100% - 32px) !important; z-index: 6 !important; }
.avatar-stage video { z-index: 2 !important; }
.avatar-stage::before { z-index: 1; }
.avatar-stage > span { z-index: 4; }

/* The event still is the fallback layer, with the playable video above it. */
.events__fallback { z-index: 1 !important; }
.events__video { z-index: 2 !important; }

/* Stable team-card geometry: the copy column can shrink and wrap without moving the card. */
.team-feature { display: grid !important; grid-template-columns: 170px minmax(0, 1fr) !important; width: 100% !important; min-width: 0 !important; }
.team-feature__content { min-width: 0 !important; width: 100% !important; }
.team-feature__content [data-team-bio] { max-width: none !important; overflow-wrap: anywhere; word-break: normal; }
.team-thumbs-row,
.team-thumbs,
.team-thumbs button { overflow: visible !important; }
.team-thumbs button { position: relative !important; display: grid !important; place-items: center !important; padding: 3px !important; border: 1px solid rgba(46, 133, 255, .35) !important; border-radius: 50% !important; background: rgba(3, 6, 11, .82) !important; isolation: isolate; }
.team-thumbs button img,
.team-thumbs button .evs-circle-glow { display: block !important; border-radius: 50% !important; clip-path: circle(50% at 50% 50%); box-shadow: none !important; }
.team-thumbs button:hover,
.team-thumbs button.active { border-color: #8dc5ff !important; box-shadow: 0 0 0 1px rgba(141, 197, 255, .4), 0 0 14px rgba(46, 133, 255, .72), 0 0 30px rgba(46, 133, 255, .32) !important; }
@media (max-width: 600px) { .team-feature { grid-template-columns: 1fr !important; } }
/* ========================================================================== 
   V6 TARGETED REFINEMENTS - visual scale, HUD, interaction frame, utilities
   ========================================================================== */
/* The topbar wordmark stays metallic and stable; the reusable masked shine is opt-in. */
.topbar__brand > span { color:#d8e0e9 !important; -webkit-text-fill-color:currentColor !important; background:none !important; text-shadow:0 1px #fff,0 -1px #303943,0 0 16px rgba(46,133,255,.22) !important; }
.evs-text-sweep { color:inherit !important; -webkit-text-fill-color:currentColor !important; background:none !important; overflow:hidden !important; }
.evs-text-sweep::after { content:""; position:absolute; inset:-20% auto -20% -50%; width:26%; transform:skewX(-22deg); background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent); mix-blend-mode:screen; opacity:0; pointer-events:none; }
.evs-text-sweep:hover::after { opacity:1; animation:evsTextShine .85s ease-out both; }
@keyframes evsTextShine { from { left:-50%; } to { left:125%; } }

/* Scale the centre hero emblem from viewport height, never its width. */
.hero__emblem { height:min(88vh, 980px) !important; }

/* Keep MoAI centred to the avatar video; the positioning module gives it a 100px lower offset. */
.MoAi-MessageBox { transition:top .35s ease, left .35s ease !important; }

/* Shared right-bottom section readout. The AI readout intentionally sits closer to the lower edge. */
.section-hud { position:absolute; right:var(--pad, clamp(20px,5vw,90px)); bottom:24px; display:flex; align-items:center; gap:14px; color:#5e6c7e; text-transform:uppercase; font:7px/1 Orbitron,Arial,sans-serif; letter-spacing:.18em; z-index:8; pointer-events:none; }
.section-hud i { width:74px; height:1px; background:linear-gradient(90deg,rgba(94,108,126,.16),#2e85ff,rgba(94,108,126,.16)); }
.section-hud b { color:#85bdff; font-weight:500; }
.section-hud--ai { bottom:18px; }

/* One consistent travelling edge light for links, buttons, selectors and visual cards. */
.evs-button,.evs-button-url,.service-tabs button,.work-categories button,.team-categories button,.team-thumbs button,.visual-panel { isolation:isolate; }
.evs-button::after,.evs-button-url::after,.service-tabs button::after,.work-categories button::after,.team-categories button::after,.team-thumbs button::after,.visual-panel::after { content:""; position:absolute; inset:0; padding:1px; border-radius:inherit; background:conic-gradient(from var(--frame-angle,0deg),transparent 0 21%,#2e85ff 32%,#dff4ff 39%,#2e85ff 46%,transparent 57% 100%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; pointer-events:none; z-index:4; }
.evs-button:hover::after,.evs-button-url:hover::after,.service-tabs button:hover::after,.work-categories button:hover::after,.team-categories button:hover::after,.team-thumbs button:hover::after,.visual-panel:hover::after { opacity:1; animation:evsFrame 2.3s linear infinite; }

/* Each utility gets its own side of the screen. */
.utility-dock { left:0 !important; right:0 !important; bottom:0 !important; width:100% !important; display:block !important; pointer-events:none !important; }
.utility-dock .music-player { position:fixed !important; right:18px !important; left:auto !important; bottom:50px !important; pointer-events:auto !important; }
.utility-dock .chat-button { position:fixed !important; left:18px !important; right:auto !important; bottom:50px !important; pointer-events:auto !important; }
@media (max-width:600px) { .section-hud { bottom:16px; right:18px; } .section-hud i { width:40px; } .utility-dock .music-player { right:12px !important; bottom:14px !important; } .utility-dock .chat-button { left:12px !important; bottom:14px !important; } }
/* ========================================================================== 
   EVS EFFECT SYSTEM - reusable named shine, borderlight and glasslight tools
   ========================================================================== */
/* Height, not width, defines the hero emblem scale. */
.hero__emblem { height:min(110vh, 1120px) !important; }

/* Header keeps its existing fine light sweep but no longer appears bold. */
.topbar__brand > span { font-weight:400 !important; }

/* evs-shine: a masked left-to-right metallic highlight for text. */
.evs-shine { position:relative; display:inline-block; overflow:hidden; isolation:isolate; }
.evs-shine::after { content:""; position:absolute; inset:-30% auto -30% -40%; width:24%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),rgba(160,211,255,.78),transparent); transform:skewX(-23deg); mix-blend-mode:screen; pointer-events:none; z-index:3; }
.evs-shine--slow::after { animation:evsShine 7.5s cubic-bezier(.22,1,.36,1) infinite; animation-delay:1.2s; }
@keyframes evsShine { 0%,15% { left:-42%; opacity:0; } 18% { opacity:.9; } 54%,100% { left:126%; opacity:0; } }

/* evs-borderlight: attach to any interactive frame for the standard travelling edge. */
.evs-borderlight { position:relative; isolation:isolate; }
.evs-borderlight::after { content:""; position:absolute; inset:0; padding:1px; border-radius:inherit; background:conic-gradient(from var(--frame-angle,0deg),transparent 0 20%,#2e85ff 30%,#eaf8ff 38%,#2e85ff 46%,transparent 58% 100%); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; pointer-events:none; z-index:7; }
.evs-borderlight:hover::after,.evs-borderlight:focus-visible::after,.evs-borderlight.active::after { opacity:1; animation:evsFrame 2.25s linear infinite; }

/* evs-glasslight: use on image frames for the separate glass reflection. */
.evs-glasslight::before { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:0; transform:translateX(-135%) skewX(-18deg); background:linear-gradient(110deg,transparent 34%,rgba(230,247,255,.04) 40%,rgba(255,255,255,.56) 48%,rgba(170,221,255,.15) 56%,transparent 64%); }
.evs-glasslight:hover::before { opacity:1; animation:evsGlassLight 1.05s cubic-bezier(.22,1,.36,1) both; }
@keyframes evsGlassLight { from { transform:translateX(-135%) skewX(-18deg); } to { transform:translateX(135%) skewX(-18deg); } }

/* Latest work remains centred when the category has fewer videos. */
.latest-work__track { justify-content:center !important; padding:0 !important; }

/* Compact MoAI action link with an icon-led label. */
.evs-ask-moai { font-size:10px !important; gap:8px; }
.evs-ask-moai i { font-style:normal; color:#85bdff; font-size:12px; line-height:1; text-shadow:0 0 10px rgba(46,133,255,.8); }

/* Keep AI chat adjacent to the left edge of the music player, at the right dock. */
.utility-dock { position:fixed !important; right:18px !important; left:auto !important; bottom:50px !important; width:auto !important; display:flex !important; flex-direction:row !important; align-items:center !important; gap:12px !important; pointer-events:auto !important; z-index:90 !important; }
.utility-dock .music-player,.utility-dock .chat-button { position:relative !important; left:auto !important; right:auto !important; bottom:auto !important; }
.utility-dock .music-player { order:2; }
.utility-dock .chat-button { order:1; }
.utility-dock .music-player,.utility-dock .chat-button,.evs-button,.evs-button-url,.service-tabs button,.work-categories button,.team-categories button,.team-thumbs button { }
@media (max-width:600px) { .utility-dock { right:12px !important; bottom:14px !important; gap:8px !important; } }

/* News is a future-ready panel: it opens from menu and can later receive a feed. */
.news-panel { position:fixed; inset:50% auto auto 50%; width:min(420px,calc(100vw - 36px)); padding:30px; transform:translate(-50%,-44%) scale(.96); opacity:0; visibility:hidden; z-index:1001; border:1px solid rgba(46,133,255,.4); border-radius:16px; background:rgba(4,7,12,.94); box-shadow:0 0 48px rgba(46,133,255,.2); backdrop-filter:blur(20px); transition:opacity .3s,transform .3s,visibility .3s; }
.news-panel.open { opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
.news-panel button { position:absolute; top:10px; right:13px; border:0; background:none; color:#b9c5d2; font-size:22px; cursor:pointer; }
.news-panel h2 { margin:10px 0; font:italic 400 clamp(22px,3vw,34px)/1.05 EVS,Orbitron,sans-serif; text-transform:uppercase; color:#eef5ff; }
.news-panel p:not(.micro-label) { color:#9aa8b7; line-height:1.6; }
/* ========================================================================== 
   FINAL FRONT-PAGE CORRECTIONS - requested interaction and layering rules
   ========================================================================== */
/* The header sweep is clipped by the actual wordmark glyphs, not a rectangular overlay. */
.topbar__brand > span { overflow:visible !important; }
.topbar__brand:hover > span { -webkit-background-clip:text !important; background-clip:text !important; -webkit-text-fill-color:transparent !important; }

/* Keep the rail visually centred before and during mouse navigation. */
.latest-work__viewport { display:flex !important; justify-content:center !important; }
.latest-work__track { width:max-content !important; max-width:none !important; margin-inline:auto !important; transform:translateX(var(--rail-x, 0px)); }

/* Active selections remain stable; travelling light is hover/focus only. */
.evs-borderlight.active::after { opacity:0 !important; animation:none !important; }
.team-thumbs button[style*="display:none"] { display:none !important; }
.team-thumbs button { border:0 !important; padding:3px !important; background:transparent !important; box-shadow:none !important; }
.team-thumbs button.active { box-shadow:0 0 0 1px rgba(141,197,255,.72),0 0 14px rgba(46,133,255,.65) !important; }
.team-thumbs button::after { display:none !important; }
#talk-to-moai-btn::after { display:none !important; }

/* Event composition: screen fallback -> video -> atmospheric event background -> shade/content. */
.events__fallback { z-index:1 !important; }
.events__video { z-index:2 !important; }
.events__atmosphere { z-index:3 !important; pointer-events:none !important; }
.events .events__shade { z-index:4 !important; }

/* Offset, monochrome menu cards; colour returns only on hover. */
.menu nav>a { transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .35s !important; }
.menu nav>a:nth-child(odd) { transform:translateX(-28px); }
.menu nav>a:nth-child(even) { transform:translateX(28px); }
.menu nav>a:nth-child(1),.menu nav>a:nth-child(2) { margin-top:10px; }
.menu nav>a:nth-child(3),.menu nav>a:nth-child(4) { margin-top:-2px; }
.menu nav>a:nth-child(5),.menu nav>a:nth-child(6) { margin-top:12px; }
.menu nav>a:nth-child(9),.menu nav>a:nth-child(10) { margin-top:-4px; }
.menu nav>a .menu__image { filter:grayscale(1) brightness(.52) contrast(1.15) !important; }
.menu nav>a:hover { transform:translateX(0) !important; }
.menu nav>a:hover .menu__image { filter:grayscale(0) brightness(1.1) contrast(1) !important; }
@media (max-width:760px) { .menu nav>a:nth-child(n) { transform:none !important; margin-top:0; } }

/* Lightbox is exactly 90% browser width while retaining safe vertical space. */
.lightbox-container { width:90vw !important; max-width:none !important; }
/* ========================================================================== 
   FINAL DOCK, HERO AND V-MENU COMPOSITION
   ========================================================================== */
/* The emblem occupies the hero field and ends precisely above latest work. */
.hero__emblem { height:calc(100vh - 178px) !important; bottom:160px !important; }
.lightbox-close { top:11px !important; right:11px !important; }

/* V-shaped desktop navigation: left group closes toward centre, right group mirrors it. */
.menu nav>a .menu__image { background-image:linear-gradient(0deg,rgba(2,4,7,.93),rgba(2,4,7,.08) 70%),var(--menu-img) !important; opacity:.9; }
.menu nav>a:nth-child(1) { transform:translateX(-200px) !important; }
.menu nav>a:nth-child(2) { transform:translateX(200px) !important; }
.menu nav>a:nth-child(3) { transform:translateX(-150px) !important; }
.menu nav>a:nth-child(4) { transform:translateX(100px) !important; }
.menu nav>a:nth-child(5) { transform:translateX(-100px) !important; }
.menu nav>a:nth-child(6) { transform:translateX(50px) !important; }
.menu nav>a:nth-child(7) { transform:translateX(-50px) !important; }

.menu nav>a:hover { transform:translateX(0) !important; }
@media(max-width:900px){.menu nav>a:nth-child(n){grid-column:auto!important;transform:none!important}}

/* Original glow buttons for the named section actions: no travelling border. */
.ai__buttons-row .evs-button,.ai__buttons-row .evs-button-url,.creation__content .evs-button,.events__content .evs-button,#talk-to-moai-btn { border-color:rgba(46,133,255,.34) !important; }
.ai__buttons-row .evs-button::after,.ai__buttons-row .evs-button-url::after,.creation__content .evs-button::after,.events__content .evs-button::after,#talk-to-moai-btn::after { display:none !important; }
.ai__buttons-row .evs-button:hover,.ai__buttons-row .evs-button-url:hover,.creation__content .evs-button:hover,.events__content .evs-button:hover,#talk-to-moai-btn:hover { border-color:#85bdff !important; box-shadow:0 0 12px rgba(46,133,255,.55),0 0 28px rgba(46,133,255,.22) !important; transform:translateY(-2px); }

/* EVS2026-inspired docked music player and expandable local playlist. */
.utility-dock { right:18px !important; bottom:50px !important; display:flex !important; align-items:center !important; gap:12px !important; }
.music-player { width:232px !important; height:50px !important; padding:5px 8px !important; display:flex !important; align-items:center !important; gap:8px !important; overflow:visible !important; border-radius:25px !important; }
.music-player .music-control { display:grid !important; place-items:center; width:22px; height:38px; padding:0; border:0; background:transparent; color:#85bdff; font:22px/1 Arial,sans-serif; cursor:pointer; opacity:0; transform:translateY(7px); transition:opacity .25s,transform .25s,color .25s; }
.music-player:hover .music-control { opacity:1; transform:none; }
.music-player .music-control:hover { color:#fff; text-shadow:0 0 12px #2e85ff; }
.music-toggle { width:36px !important; opacity:1 !important; transform:none !important; }
.music-wave { width:24px; height:30px; display:flex; align-items:flex-end; justify-content:space-between; gap:1px; }
.music-wave b { display:block; width:1.3px; height:65%; background:#dceeff; box-shadow:0 0 5px rgba(93,180,255,.95); transform-origin:bottom; animation:evsMusicWave .9s ease-in-out infinite alternate; }
.music-wave b:nth-child(2n){animation-delay:.12s}.music-wave b:nth-child(3n){animation-delay:.26s}.music-wave b:nth-child(5n){animation-delay:.4s}
.music-player.stopped .music-wave b { animation-play-state:paused; background:#ff4a52; box-shadow:0 0 5px rgba(255,52,66,.8); }
@keyframes evsMusicWave { from{transform:scaleY(.24)} to{transform:scaleY(1)} }
.music-player img.album-art { width:36px !important; height:36px !important; border-radius:50%; object-fit:cover; box-shadow:0 0 0 1px rgba(133,189,255,.3),0 0 13px rgba(46,133,255,.4); }
.music-meta { min-width:0; flex:1; display:grid; gap:3px; }
.music-meta b,.music-meta span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.music-meta b { font:8px/1 Orbitron,Arial,sans-serif; color:#f2f8ff; letter-spacing:.08em; }
.music-meta span { font:6px/1 Arial,sans-serif; color:#748396; text-transform:uppercase; letter-spacing:.12em; }
.music-playlist { position:absolute; right:0; bottom:calc(100% + 10px); width:260px; max-height:0; overflow:auto; opacity:0; pointer-events:none; padding:0; border-radius:12px; border:1px solid transparent; background:rgba(3,6,11,.94); backdrop-filter:blur(18px); transition:max-height .35s,padding .35s,opacity .25s,border-color .35s; }
.music-player:hover .music-playlist,.music-playlist:hover { max-height:220px; padding:8px; opacity:1; pointer-events:auto; border-color:rgba(46,133,255,.32); }
.music-playlist button { width:100%; display:flex; align-items:center; gap:9px; padding:7px; border:0; border-radius:8px; color:#aebdcd; background:transparent; text-align:left; cursor:pointer; font:8px/1 Orbitron,Arial,sans-serif; }
.music-playlist button:hover,.music-playlist button.active { color:#fff; background:rgba(46,133,255,.16); }
.music-playlist img { width:27px; height:27px; border-radius:50%; object-fit:cover; }

/* AI chat opens beside the music player and scrolls to the AI section. */
.chat-button { width:78px; height:50px; display:flex !important; align-items:center; gap:7px; padding:5px 10px 5px 5px; overflow:hidden; border:1px solid rgba(46,133,255,.26); border-radius:25px; background:rgba(4,7,12,.8); cursor:pointer; transition:width .4s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s; }
.chat-button.open { width:385px; border-color:#2e85ff; box-shadow:0 0 20px rgba(46,133,255,.32); }
.chat-button>img { width:36px; height:36px; border-radius:50%; flex:0 0 auto; }
.chat-label { font:7px/1 Orbitron,Arial,sans-serif; letter-spacing:.1em; white-space:nowrap; color:#dce9f6; }
.chat-inline { display:flex; min-width:0; flex:1; align-items:center; gap:6px; opacity:0; transform:translateX(16px); pointer-events:none; transition:opacity .2s .1s,transform .3s .1s; }
.chat-button.open .chat-inline { opacity:1; transform:none; pointer-events:auto; }
.chat-inline input { min-width:0; flex:1; height:30px; border:0; outline:0; color:#e8f3ff; background:transparent; font:10px Arial,sans-serif; }
.chat-inline input::placeholder { color:#78899b; }
.chat-mic { width:23px; height:23px; padding:0; border:1px solid rgba(133,189,255,.35); border-radius:50%; color:#85bdff; background:transparent; cursor:pointer; font-size:10px; }
.chat-mic.is-listening { color:#ff5360; border-color:#ff5360; box-shadow:0 0 10px rgba(255,83,96,.5); }
.chat-send { width:29px; height:29px; padding:0; border:0; border-radius:50%; color:#fff; background:#167aff; box-shadow:0 0 13px rgba(22,122,255,.62); cursor:pointer; }
@media(max-width:600px){.music-player{width:54px!important}.music-meta,.music-prev,.music-next{display:none!important}.chat-button.open{width:min(320px,calc(100vw - 24px))}.utility-dock{right:12px!important;bottom:14px!important}}
/* Final wordmark weight override. */
.topbar__brand > span { font-weight:300 !important; }

/* EVS requested final UI corrections. */
.hero__emblem{height:calc(100vh - 120px)!important;bottom:145px!important;max-height:none!important}.hero h1,.hero h1::after,.hero h1 strong::after{animation:none!important;background-image:none!important}.boot{background:radial-gradient(circle at 50% 42%,rgba(19,74,126,.27),rgba(3,6,12,.97) 48%,#020306 100%)!important}.boot::before,.boot::after{content:"";position:absolute;border:1px solid rgba(78,158,255,.22);border-radius:50%;animation:evsBootOrbit 3.2s linear infinite}.boot::before{width:192px;height:192px}.boot::after{width:290px;height:290px;border-style:dashed;animation-direction:reverse}.boot__ring{position:relative;z-index:1;box-shadow:0 0 36px rgba(44,134,255,.42),inset 0 0 26px rgba(44,134,255,.16)!important}.boot__orbit{position:absolute;width:215px;height:215px;animation:evsBootOrbit 2.8s linear infinite}.boot__orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:#bde6ff;box-shadow:0 0 12px #2e85ff}.boot__orbit i:nth-child(1){top:0;left:50%}.boot__orbit i:nth-child(2){bottom:16%;right:0}.boot__orbit i:nth-child(3){bottom:3%;left:12%}.boot small{position:absolute;bottom:calc(50% - 94px);font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.18em;color:#6f8da8;text-transform:uppercase}@keyframes evsBootOrbit{to{transform:rotate(360deg)}}.music-player{overflow:visible!important}.music-wave{order:5;margin-left:8px;display:flex!important;align-items:center;gap:2px;height:22px}.music-wave b{width:2px!important;background:#54a5ff!important;animation:evsWave .28s ease-in-out infinite alternate!important}.music-wave b:nth-child(2n){animation-delay:.09s}.music-wave b:nth-child(3n){animation-delay:.16s}.music-player.stopped .music-wave b{background:#ff4f60!important;animation:evsWaveZero .38s ease forwards!important}.music-player.stopped .music-wave b:nth-child(2n){animation-delay:.05s}.music-player.stopped .music-wave b:nth-child(3n){animation-delay:.1s}@keyframes evsWave{from{height:4px;transform:scaleY(.35)}to{height:19px;transform:scaleY(1)}}@keyframes evsWaveZero{to{height:0;transform:scaleY(0)}}.music-playlist{width:260px!important;padding:0!important;overscroll-behavior:contain}.music-player:hover .music-playlist,.music-player:focus-within .music-playlist,.music-playlist:hover{max-height:280px!important;padding:8px!important;pointer-events:auto!important}.music-playlist__header{padding:8px 7px 10px;color:#67b4ff;font:8px/1 Orbitron,Arial,sans-serif;letter-spacing:.17em;text-transform:uppercase;border-bottom:1px solid rgba(54,148,255,.22)}.music-playlist::-webkit-scrollbar{width:5px}.music-playlist::-webkit-scrollbar-thumb{background:#258bff;border-radius:5px}.music-playlist img{width:22px!important;height:22px!important}.music-meta{min-width:0!important;display:flex!important;align-items:center!important}.music-meta b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-button{width:95px!important}.chat-button.open{width:430px!important}.chat-label{min-width:32px!important}.menu nav>a{position:relative!important;isolation:isolate!important}.menu nav>a .menu__image{position:absolute!important;inset:0!important;display:block!important;z-index:-1!important;opacity:.88!important;background:linear-gradient(90deg,rgba(2,5,9,.82),rgba(2,5,9,.25)),var(--menu-img) center/cover!important;filter:grayscale(1) brightness(.54) contrast(1.15)!important;transition:filter .45s,transform .55s!important}.menu nav>a:hover .menu__image{filter:grayscale(0) brightness(1.08) contrast(1)!important;transform:scale(1.06)!important}.menu nav>a>*:not(.menu__image){position:relative!important;z-index:1!important}
.menu nav>a .menu__image{z-index:0!important}

/* REGRESSION FIX: restore original EVS controls; keep only explicit requested effects. */
.hero h1{background:linear-gradient(180deg,#fff 0%,#d8e0ea 58%,#8392a2 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;animation:none!important}.hero h1::after,.hero h1 strong::after{display:none!important;content:none!important}.hero__emblem{height:calc(100vh - 150px)!important;bottom:145px!important}.hero__emblem img{height:100%!important;transform:translateX(-50%) scale(1.18)!important;transform-origin:50% 100%!important}
/* Undo the unintended universal travelling-frame overlay on buttons. */
.evs-button::after,.evs-button-url::after,.service-tabs button::after,.work-categories button::after,.team-categories button::after,.team-thumbs button::after{display:none!important;content:none!important;animation:none!important}.evs-button,.evs-button-url,.service-tabs button,.work-categories button,.team-categories button,.team-thumbs button{--frame-angle:0deg!important}
/* Music returns to one clean EVS control: no extra border frame or duplicate overlay. */
.music-player::after,.music-player::before{display:none!important;content:none!important}.music-player{width:232px!important;height:50px!important;border-radius:25px!important;box-shadow:none!important}.music-player:hover{box-shadow:0 0 20px rgba(46,133,255,.35)!important}.music-player .music-control{font-family:Arial,sans-serif!important}.music-wave{flex:0 0 28px!important;margin-left:6px!important}.music-meta{display:grid!important;align-items:normal!important}.music-meta b{font-weight:400!important}

/* FINAL HERO, MUSIC AND TEAM STABILITY FIX. */
.hero h1{margin:0!important;font-family:EVS,Orbitron,sans-serif!important;font-size:min(clamp(34px,5.8vw,76px),10vh)!important;font-style:italic!important;font-weight:400!important;letter-spacing:.065em!important;text-transform:uppercase!important;background:linear-gradient(180deg,#fff,#dce5ee 35%,#7f8b99 54%,#d9e2eb 72%,#8794a2)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8)) drop-shadow(0 0 20px rgba(46,133,255,.32))!important}.hero__emblem{height:calc(100% - 145px)!important;bottom:145px!important}.hero__emblem img{height:100%!important;width:auto!important;transform:translateX(-50%) scale(1.28)!important;transform-origin:50% 100%!important}
.music-player{width:270px!important;gap:7px!important}.music-meta{display:grid!important;flex:1 1 auto!important;min-width:108px!important;max-width:none!important}.music-meta b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.music-wave{display:flex!important;flex:0 0 38px!important;width:38px!important;height:22px!important;align-items:center!important;gap:1.4px!important;margin:0 2px 0 4px!important;overflow:visible!important}.music-wave b{display:block!important;flex:0 0 1.5px!important;width:1.5px!important;height:18px!important;border-radius:2px!important;background:#59aaff!important;box-shadow:0 0 5px rgba(93,180,255,.9)!important;transform-origin:center!important;animation:evsMusicBars .34s ease-in-out infinite alternate!important}.music-wave b:nth-child(2n){animation-delay:.05s!important}.music-wave b:nth-child(3n){animation-delay:.11s!important}.music-wave b:nth-child(5n){animation-delay:.17s!important}.music-player.stopped .music-wave b{background:#ff4f60!important;animation:evsMusicBarsZero .32s ease forwards!important}@keyframes evsMusicBars{from{transform:scaleY(.2)}to{transform:scaleY(1)}}@keyframes evsMusicBarsZero{to{transform:scaleY(0)}}.team-thumbs button[hidden]{display:none!important}

/* MUSIC PLAYER: original control design retained; only wave position is moved after the title. */
.music-player{width:auto!important;height:50px!important;gap:8px!important}.music-meta{display:grid!important;min-width:95px!important;flex:0 1 auto!important}.music-meta b{font-weight:400!important;display:block!important}.music-player .music-control{display:grid!important;place-items:center;width:22px;height:38px;padding:0;border:0;background:transparent;color:#85bdff;font:22px/1 Arial,sans-serif;cursor:pointer;opacity:0;transform:translateY(7px);transition:opacity .25s,transform .25s,color .25s}.music-player:hover .music-control{opacity:1;transform:none}.music-player .music-toggle{width:30px!important;opacity:1!important;transform:none!important}.music-toggle .music-wave{display:flex!important;width:24px!important;height:30px!important;align-items:flex-end!important;justify-content:space-between!important;gap:1px!important;margin:0!important;overflow:visible!important}.music-toggle .music-wave b{display:block!important;flex:0 0 1px!important;width:1px!important;height:65%!important;border-radius:1px!important;background:#dceeff!important;box-shadow:0 0 5px rgba(93,180,255,.95)!important;transform-origin:bottom!important;animation:evsMusicWave .7s ease-in-out infinite alternate!important}.music-toggle .music-wave b:nth-child(2n){animation-delay:.12s!important}.music-toggle .music-wave b:nth-child(3n){animation-delay:.26s!important}.music-toggle .music-wave b:nth-child(5n){animation-delay:.4s!important}.music-player.stopped .music-toggle .music-wave b{background:#ff4a52!important;animation:evsWaveZero .38s ease forwards!important}.music-player > .music-wave{display:none!important}

/* PLAYER / MOAI SHARED CONTROL LANGUAGE. */
.music-player{width:198px!important;overflow:visible!important;transition:width .35s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s,transform .3s}.music-player:hover,.music-player:focus-within{width:258px!important}.music-player .music-prev,.music-player .music-next{width:0!important;min-width:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.music-player:hover .music-prev,.music-player:hover .music-next,.music-player:focus-within .music-prev,.music-player:focus-within .music-next{width:22px!important;opacity:1!important;pointer-events:auto!important}.music-toggle .music-wave b{animation:none!important;transition:height .075s ease!important}.music-player.stopped .music-toggle .music-wave b{height:2px!important;background:#ff4f60!important;animation:none!important}.music-playlist{bottom:100%!important;margin-bottom:0!important;width:100%!important;max-height:0!important;padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.music-player:hover .music-playlist,.music-player:focus-within .music-playlist,.music-playlist:hover{max-height:290px!important;padding:0!important;opacity:1!important;pointer-events:auto!important}.music-playlist__header{display:block!important;flex:0 0 auto!important;padding:12px 12px 10px!important;color:#67b4ff!important;background:rgba(3,6,11,.98)!important;border-bottom:1px solid rgba(54,148,255,.26)!important;font:8px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.17em!important;text-transform:uppercase!important}.music-playlist__songs{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:7px!important}.music-playlist__songs::-webkit-scrollbar{width:5px}.music-playlist__songs::-webkit-scrollbar-thumb{background:#258bff;border-radius:5px}.music-playlist__songs button{width:100%!important}.music-player::after{display:block!important;content:""!important;position:absolute!important;inset:0!important;padding:1px!important;border-radius:inherit!important;background:conic-gradient(from var(--frame-angle,0deg),transparent 0 21%,#2e85ff 32%,#dff4ff 39%,#2e85ff 46%,transparent 57% 100%)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;opacity:0!important;pointer-events:none!important;z-index:5!important}.music-player:hover::after,.music-player:focus-within::after{opacity:1!important;animation:evsFrame 2.3s linear infinite!important}.music-player img.album-art,.chat-button>img{width:36px!important;height:36px!important;border:2px solid rgba(46,133,255,.42)!important;border-radius:50%!important;box-shadow:0 0 12px rgba(46,133,255,.25)!important;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .3s,box-shadow .3s!important}.music-player:hover img.album-art,.chat-button:hover>img{transform:scale(1.08)!important;border-color:#2e85ff!important;box-shadow:0 0 22px rgba(46,133,255,.8),0 0 8px rgba(46,133,255,.3)!important}
/* Header wordmark uses the same thin metallic treatment at rest and hover. */
.topbar__brand>span,.topbar__brand:hover>span{font-family:Orbitron,Arial,sans-serif!important;font-weight:300!important;font-size:10px!important;letter-spacing:.12em!important;background:linear-gradient(105deg,#a8b6c4 0%,#f6fbff 42%,#a8b6c4 50%,#f6fbff 58%,#a8b6c4 100%)!important;background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}.topbar__brand:hover>span{animation:evsTextShimmer 1.5s ease-in-out 1!important}
/* Full-screen home emblem: cover the current home section while content stays above it. */
.hero__emblem{inset:0!important;left:0!important;bottom:auto!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;transform:none!important}.hero__emblem img{inset:0!important;left:0!important;bottom:auto!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center bottom!important;transform:none!important}

/* CORRECTION: retain the established wordmark and use height-driven emblem scaling. */
.topbar__brand>span,.topbar__brand:hover>span{font-weight:300!important;letter-spacing:.12em!important;transform:none!important}.topbar__brand:hover>span{letter-spacing:.12em!important}
/* The emblem is sized from the home section height only; it does not use cover/cropping. */
.hero__emblem{inset:auto!important;left:50%!important;top:auto!important;right:auto!important;bottom:145px!important;width:auto!important;height:calc(100vh - 150px)!important;aspect-ratio:1/1!important;transform:translateX(-50%)!important}.hero__emblem img{inset:auto!important;left:50%!important;bottom:0!important;width:auto!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;transform:translateX(-50%) scale(1.12)!important;transform-origin:50% 100%!important}
/* JS owns the waveform height; CSS no longer forces the bars full-height. */
.music-toggle .music-wave b,.music-player.stopped .music-toggle .music-wave b{height:var(--wave-height,2px)!important;animation:none!important;transition:height .14s cubic-bezier(.22,1,.36,1),background-color .24s ease!important}.music-player.stopped .music-toggle .music-wave b{background:#ff4f60!important}

/* EVS MUSIC SELECTOR - category-led, persistent header, scrollable library. */
.topbar__brand>span{letter-spacing:.12em!important}.topbar__brand:hover>span{letter-spacing:calc(.12em + 1px)!important}.hero__emblem img{transform:translateX(-50%) scale(1.46)!important}.music-player.playlist-open .music-playlist{max-height:332px!important;padding:0!important;opacity:1!important;pointer-events:auto!important}.music-player:hover .music-playlist,.music-player:focus-within .music-playlist{max-height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}.music-player.playlist-open:hover .music-playlist,.music-player.playlist-open:focus-within .music-playlist{max-height:332px!important;opacity:1!important;pointer-events:auto!important}.music-playlist{height:332px!important;max-height:0!important;border:1px solid rgba(46,133,255,.34)!important;border-radius:14px 14px 10px 10px!important;background:linear-gradient(145deg,rgba(7,15,27,.98),rgba(3,6,12,.98))!important;box-shadow:0 16px 38px rgba(0,0,0,.5),0 0 22px rgba(46,133,255,.12)!important}.music-playlist__header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:46px!important;padding:15px 12px 13px!important;background:linear-gradient(90deg,rgba(26,94,167,.2),rgba(4,8,15,.2))!important;letter-spacing:.22em!important}.music-volume{display:flex!important;align-items:center!important;gap:6px!important;letter-spacing:.08em!important}.music-volume i{font:6px/1 Orbitron,Arial,sans-serif!important;color:#71869d!important;font-style:normal!important}.music-volume input{width:52px!important;height:3px!important;accent-color:#258bff!important;cursor:pointer!important}.music-playlist__songs{padding:2px 12px 9px!important}.music-playlist__section{padding:8px 0 2px!important}.music-playlist__category{display:flex!important;justify-content:space-between!important;align-items:center!important;margin:0 0 3px!important;padding:5px 2px 7px!important;color:#68b4ff!important;border-bottom:1px solid rgba(54,148,255,.22)!important;font:7px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.16em!important;text-transform:uppercase!important}.music-playlist__category b{color:#53677e!important;font:6px/1 Orbitron,Arial,sans-serif!important}.music-playlist__songs button{min-height:39px!important;padding:7px 2px!important;gap:10px!important;border-bottom:1px solid rgba(125,154,184,.14)!important;border-radius:0!important;font:10px/1.2 Orbitron,Arial,sans-serif!important;letter-spacing:.045em!important}.music-playlist__songs button:last-child{border-bottom:0!important}.music-playlist__songs button:hover,.music-playlist__songs button.active{background:linear-gradient(90deg,rgba(32,128,236,.18),transparent)!important;color:#eaf6ff!important}.music-playlist__songs img{width:24px!important;height:24px!important;border:1px solid rgba(72,156,255,.35)!important;box-shadow:0 0 8px rgba(46,133,255,.18)!important}

/* PLAYLIST / MOAI INTERACTION REFINEMENT. */
.music-toggle .music-wave b,.music-player.stopped .music-toggle .music-wave b{transition:height .19s cubic-bezier(.22,1,.36,1),background-color .28s ease!important}.music-player.playlist-open .music-playlist{max-height:0!important;opacity:0!important;pointer-events:none!important}.music-player:hover .music-playlist,.music-player:focus-within .music-playlist,.music-playlist:hover{max-height:332px!important;padding:0!important;opacity:1!important;pointer-events:auto!important}.music-playlist__header{justify-content:flex-start!important;text-align:left!important}.music-volume{margin-left:auto!important}.music-volume input{width:88px!important;height:2px!important;appearance:none!important;-webkit-appearance:none!important;background:linear-gradient(90deg,#258bff,#65bdff)!important;border-radius:3px!important}.music-volume input::-webkit-slider-thumb{-webkit-appearance:none!important;width:7px!important;height:7px!important;border-radius:50%!important;background:#dff3ff!important;border:1px solid #258bff!important;box-shadow:0 0 6px rgba(46,133,255,.85)!important}.music-volume input::-moz-range-thumb{width:7px!important;height:7px!important;border-radius:50%!important;background:#dff3ff!important;border:1px solid #258bff!important}.chat-button:not(.open){width:50px!important;padding-right:5px!important}.chat-button:not(.open) .chat-label{width:0!important;min-width:0!important;opacity:0!important;overflow:hidden!important}.chat-button:not(.open):hover{width:145px!important;padding-right:12px!important}.chat-button:not(.open):hover .chat-label{width:auto!important;min-width:67px!important;opacity:1!important}.chat-button .chat-label{transition:opacity .22s ease,width .32s cubic-bezier(.22,1,.36,1),min-width .32s cubic-bezier(.22,1,.36,1)!important}

/* SMOOTH MUSIC WAVE + HOVER-ONLY PLAYLIST. */
.music-player.playlist-open .music-playlist{max-height:0!important;opacity:0!important;pointer-events:none!important}.music-toggle .music-wave b,.music-player.stopped .music-toggle .music-wave b{height:18px!important;transition:height .28s cubic-bezier(.22,1,.36,1),background-color .28s ease!important}.music-player.playing .music-toggle .music-wave b{animation:evsMusicWave .78s ease-in-out infinite alternate!important}.music-player.playing .music-toggle .music-wave b:nth-child(2n){animation-duration:.66s!important;animation-delay:-.18s!important}.music-player.playing .music-toggle .music-wave b:nth-child(3n){animation-duration:.91s!important;animation-delay:-.35s!important}.music-player.playing .music-toggle .music-wave b:nth-child(5n){animation-duration:.71s!important;animation-delay:-.48s!important}.music-player.stopped .music-toggle .music-wave b{height:2px!important;animation:none!important;background:#ff4f60!important}.music-playlist__header{min-height:32px!important;padding:8px 10px!important;justify-content:flex-end!important;gap:10px!important}.music-playlist__header>span{font-size:8px!important}.music-volume{margin-left:0!important}.music-volume input{width:88px!important}.music-playlist__category{justify-content:flex-start!important;background:linear-gradient(90deg,rgba(37,139,255,.35),rgba(37,139,255,.06))!important;border-bottom-color:rgba(94,180,255,.5)!important;padding:7px 8px!important;color:#a9dcff!important}.music-playlist__category b{margin-left:auto!important;color:#9ecdf3!important}.music-playlist__songs{padding:2px 10px 8px!important}.music-playlist__songs::-webkit-scrollbar{width:3px!important}.music-playlist__songs::-webkit-scrollbar-thumb{background:#1d385b!important;border-radius:4px!important}.music-playlist__songs button{font-size:11px!important;letter-spacing:.035em!important}

/* HOVER-CLOSED PLAYLIST, SMOOTH RANDOM WAVE, COMPLETE TEAM FILTER. */
.music-toggle .music-wave b,.music-player.playing .music-toggle .music-wave b{height:18px!important;animation:none!important;transform:scaleY(var(--wave-scale,.11))!important;transform-origin:bottom!important;transition:transform .30s cubic-bezier(.22,1,.36,1),background-color .28s ease!important}.music-player.stopped .music-toggle .music-wave b{transform:scaleY(.11)!important}.music-player:focus-within:not(:hover){width:198px!important}.music-player:focus-within:not(:hover) .music-playlist{max-height:0!important;opacity:0!important;pointer-events:none!important}.music-player:focus-within:not(:hover) .music-prev,.music-player:focus-within:not(:hover) .music-next{width:0!important;opacity:0!important;pointer-events:none!important}.music-playlist__header{justify-content:space-between!important;min-height:30px!important;padding:7px 10px!important}.music-playlist__header>span{color:#89c9ff!important}.music-volume{margin-left:auto!important}.music-playlist__category{justify-content:flex-start!important;color:#fff!important}.music-playlist__category span{color:#fff!important}.music-playlist__category b{margin-left:auto!important}.team-thumbs button:not([hidden]){display:grid!important}

/* Final hover contract: the library is visible only while its player (including the library) is hovered. */
.music-player:hover .music-playlist{max-height:332px!important;padding:0!important;opacity:1!important;pointer-events:auto!important}
.music-player:not(:hover){width:198px!important}
.music-player:not(:hover) .music-playlist{max-height:0!important;padding:0!important;opacity:0!important;pointer-events:none!important}

/* ==========================================================================
   V33 REQUESTED REFINEMENTS - authoritative closing rules
   ========================================================================== */
.topbar__brand>span,.topbar__brand:hover>span{font-weight:300!important;-webkit-text-stroke:0 transparent!important;text-shadow:none!important}
.hero h1{font-size:min(clamp(32px,5.35vw,70px),9.2vh)!important}
.hero__content{background:radial-gradient(ellipse 65% 55% at center,rgba(1,2,4,.72) 0%,rgba(1,2,4,.3) 58%,transparent 100%)!important;isolation:isolate}
.hero__content::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,rgba(90,165,255,.09) 3px 4px,rgba(0,0,0,.14) 4px 6px);opacity:.78;mix-blend-mode:screen}
.hero__content>*{position:relative;z-index:1}

.music-toggle .music-wave b,.music-player.playing .music-toggle .music-wave b{height:18px!important;animation:none!important;transform:scaleY(var(--wave-scale,.11))!important;transform-origin:50% 100%!important;transition:transform .42s cubic-bezier(.37,0,.23,1),background-color .26s ease,box-shadow .26s ease!important;background:#dceeff!important}
.music-player.stopped .music-toggle .music-wave b{transform:scaleY(.11)!important;background:#ff4f60!important;box-shadow:0 0 5px rgba(255,79,96,.72)!important}
.music-playlist__header{display:grid!important;grid-template-columns:max-content minmax(0,1fr)!important;align-items:center!important;justify-content:initial!important;gap:12px!important;min-height:30px!important;padding:7px 10px!important}
.music-playlist__header>span{justify-self:start!important;text-align:left!important}
.music-volume{justify-self:end!important;margin-left:0!important}
.music-playlist__category{justify-content:flex-start!important;text-align:left!important}
.music-playlist__category span{margin-right:auto!important;text-align:left!important}
.music-playlist__songs button{font-size:13px!important;line-height:1.25!important}
.music-playlist__end{margin:9px 0 5px;padding:8px 0 4px;color:#66788d;text-align:center;text-transform:uppercase;font:6px/1 Orbitron,Arial,sans-serif;letter-spacing:.18em}
.music-meta span{color:#55aaff!important}

.music-player .music-prev.is-pulsing,.music-player .music-next.is-pulsing{animation:evsMusicControlPulse .42s cubic-bezier(.22,1,.36,1)!important}
@keyframes evsMusicControlPulse{0%{transform:scale(.72);color:#fff;text-shadow:0 0 4px #fff}45%{transform:scale(1.32);color:#9fd1ff;text-shadow:0 0 18px #2e85ff}100%{transform:scale(1);color:#85bdff;text-shadow:none}}

.chat-button:not(.open){width:96px!important;padding-right:12px!important}
.chat-button:not(.open) .chat-label{display:block!important;width:auto!important;min-width:34px!important;opacity:1!important;overflow:visible!important;white-space:nowrap!important}
.chat-button:not(.open):hover{width:108px!important}

.team-feature.is-switching{animation:evsTeamContentIn .5s cubic-bezier(.22,1,.36,1) both}
.team-thumbs-row.is-switching{animation:evsTeamThumbsIn .48s cubic-bezier(.22,1,.36,1) both}
@keyframes evsTeamContentIn{0%{opacity:.15;transform:translateY(10px);filter:blur(5px)}100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes evsTeamThumbsIn{0%{opacity:.2;transform:translateX(12px)}100%{opacity:1;transform:none}}

/* ==========================================================================
   V34 MUSIC, MENU, PLEXUS, HUD AND PRELOADER REFINEMENTS
   ========================================================================== */
.music-toggle .music-wave b,.music-player.playing .music-toggle .music-wave b{transition:transform .58s cubic-bezier(.37,0,.23,1),background-color .28s ease,box-shadow .28s ease!important}
.music-playlist__header{min-height:42px!important;padding:11px 12px!important;gap:16px!important}
.music-playlist__header>span{font-size:7px!important;font-weight:300!important;letter-spacing:.18em!important}
.music-volume input{width:98px!important;height:2px!important;border:0!important;border-radius:0!important;background:linear-gradient(to right,#2e85ff 0 var(--volume-fill,82%),#515a66 var(--volume-fill,82%) 100%)!important;box-shadow:none!important}
.music-volume input::-webkit-slider-thumb{width:10px!important;height:12px!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:0!important}
.music-volume input::-moz-range-thumb{width:10px!important;height:12px!important;border:0!important;background:transparent!important;box-shadow:none!important;opacity:0!important}
.music-playlist__category{gap:8px!important}
.music-playlist__category-icon{flex:0 0 12px;color:#8dc9ff;font:normal 11px/1 Arial,sans-serif;text-align:center;text-shadow:0 0 9px rgba(46,133,255,.75)}
.music-playlist__category span{margin-right:auto!important}
.music-playlist__songs button{font-size:15px!important}

button[data-showreel]{position:relative!important;isolation:isolate!important}
button[data-showreel]::after{display:block!important;content:""!important;position:absolute!important;inset:0!important;padding:1px!important;border-radius:inherit!important;background:conic-gradient(from var(--frame-angle,0deg),transparent 0 21%,#2e85ff 32%,#eaf8ff 39%,#2e85ff 47%,transparent 58% 100%)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;opacity:0!important;pointer-events:none!important}
button[data-showreel]:hover::after{opacity:1!important;animation:evsFrame 2.3s linear infinite!important}

.section-hud--contact{pointer-events:auto!important}
.section-hud--contact a{min-width:92px;margin-left:7px;color:#85bdff;text-align:right;pointer-events:auto;transition:color .3s,text-shadow .3s,letter-spacing .3s}
.section-hud--contact a:hover{color:#fff;text-shadow:0 0 12px #2e85ff;letter-spacing:.22em}

#evs-plexus canvas{filter:drop-shadow(0 0 3px rgba(46,133,255,.2));transition:filter .3s}
#evs-plexus:hover canvas{filter:drop-shadow(0 0 6px rgba(75,158,255,.42))}

.menu nav>a{border-radius:10px!important;background:#05080d!important;box-shadow:0 16px 34px rgba(0,0,0,.26)!important}
.menu nav>a .menu__image{display:block!important;z-index:0!important;opacity:.78!important;background-position:center!important;background-size:cover!important;filter:grayscale(1) saturate(0) brightness(.48) contrast(1.16)!important;transition:filter .5s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),opacity .4s!important}
.menu nav>a:hover .menu__image{opacity:1!important;filter:grayscale(0) saturate(1) brightness(.92) contrast(1.04)!important;transform:scale(1.055)!important}
.menu nav>a strong,.menu nav>a small,.menu nav>a em{position:relative!important;z-index:2!important}



/* ==========================================================================
   V35 PRECISION CORRECTIONS
   ========================================================================== */
/* Continuous sine-based motion owns playing transforms; stop eases to a 2px red baseline. */
.music-toggle .music-wave b{transition:transform .3s ease,background-color .25s ease,box-shadow .25s ease!important}
.music-player.playing .music-toggle .music-wave b{transition:background-color .25s ease,box-shadow .25s ease!important}
.music-player.stopped .music-toggle .music-wave b{
  height:18px!important;
  transform:scaleY(.111)!important;
  transition:transform .3s ease,background-color .25s ease,box-shadow .25s ease!important;
  background:#ff4f60!important;
}

/* Icon and category name are one horizontal label. */
.music-playlist__category{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
}
.music-playlist__category-icon{display:inline-grid!important;place-items:center!important;margin:0!important}
.music-playlist__category span{display:inline-block!important;flex:0 1 auto!important;margin:0 auto 0 0!important}

/* Short fill-only volume meter with its live percentage on the right. */
.music-volume{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important}
.music-volume input{width:62px!important}
.music-volume output{
  min-width:25px;
  color:#8594a6;
  font:6px/1 Orbitron,Arial,sans-serif;
  letter-spacing:.04em;
  text-align:right;
}

/* Use one guaranteed image across all V-menu cards with faded horizontal edges. */
.menu nav>a .menu__image{
  background-image:
    linear-gradient(90deg,rgba(3,5,9,.98) 0%,rgba(3,5,9,.42) 18%,rgba(3,5,9,.18) 50%,rgba(3,5,9,.42) 82%,rgba(3,5,9,.98) 100%),
    var(--evs-asset-services-1,url('../assets/images/services1-bg.avif'))!important;
  background-position:center!important;
  background-size:cover!important;
  opacity:.9!important;
  filter:grayscale(1) saturate(0) brightness(.58) contrast(1.12)!important;
}
.menu nav>a:hover .menu__image{
  opacity:1!important;
  filter:grayscale(0) saturate(1) brightness(.95) contrast(1.03)!important;
}

/* Recover a little more contrast behind the central home copy. */
.hero__content{
  background:radial-gradient(ellipse 65% 55% at center,rgba(1,2,4,.8) 0%,rgba(1,2,4,.38) 58%,transparent 100%)!important;
}

/* ==========================================================================
   V37 PRODUCTION SYSTEMS - loader, persistent music, services, contact, team
   ========================================================================== */
/* EVS2026 layered-loader concept rebuilt as a blue 3D visual system. */
.boot{display:flex!important;flex-direction:column!important;place-content:initial!important;align-items:center!important;justify-content:center!important;gap:12px!important;background:radial-gradient(circle at 50% 45%,#0a1728 0%,#03070d 42%,#010204 76%)!important;perspective:900px;overflow:hidden}
.boot::before{width:62vw!important;height:62vw!important;max-width:760px!important;max-height:760px!important;border:1px solid rgba(65,148,255,.1)!important;box-shadow:inset 0 0 90px rgba(46,133,255,.05),0 0 90px rgba(46,133,255,.05)!important;animation:evsBootOrbit 18s linear infinite!important}
.boot::after{width:44vw!important;height:44vw!important;max-width:540px!important;max-height:540px!important;border:1px dashed rgba(127,194,255,.1)!important;animation:evsBootOrbit 13s linear reverse infinite!important}
.boot__system{position:relative;width:220px;height:220px;display:grid;place-items:center;transform:rotateX(62deg) rotateZ(-8deg);transform-style:preserve-3d;filter:drop-shadow(0 22px 24px rgba(0,0,0,.65))}
.boot__blade,.boot__circle,.boot__ring,.boot__orbit{position:absolute!important;inset:50% auto auto 50%!important;border-radius:50%;transform-style:preserve-3d}
.boot__blade{width:190px;height:190px;margin:-95px 0 0 -95px;border-left:3px solid #e7f7ff;border-right:1px dashed rgba(46,133,255,.55);box-shadow:0 0 24px rgba(46,133,255,.28),inset 0 0 18px rgba(46,133,255,.12);animation:evsBootBlade 2.4s linear infinite}
.boot__circle{width:150px;height:150px;margin:-75px 0 0 -75px;border:2px dotted rgba(132,196,255,.62);box-shadow:0 0 20px rgba(46,133,255,.16);animation:evsBootCircle 7s linear infinite}
.boot__ring{width:112px!important;height:112px!important;margin:-56px 0 0 -56px;border:1px solid rgba(94,175,255,.72)!important;background:radial-gradient(circle,rgba(21,75,132,.3),rgba(3,8,15,.9) 66%)!important;box-shadow:0 0 32px rgba(46,133,255,.42),inset 0 0 28px rgba(46,133,255,.22)!important;transform:translateZ(18px)!important}
.boot__ring::before{inset:-1px!important;width:auto!important;height:auto!important;border:1px solid transparent!important;border-top-color:#dff5ff!important;border-right-color:#2e85ff!important;animation:evsBootOrbit 1.7s linear infinite!important}
.boot__ring::after{display:none!important}
.boot__ring span{font:italic 400 24px/1 EVS,Orbitron,sans-serif;letter-spacing:.12em;margin-left:.12em;background:linear-gradient(90deg,#7bbaff,#fff,#4098ff);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:evsBootShimmer 2.4s linear infinite;text-shadow:none}
.boot__orbit{width:210px!important;height:210px!important;margin:-105px 0 0 -105px;animation:evsBootOrbit 4.2s linear infinite!important}
.boot__orbit i{width:4px!important;height:4px!important;background:#e7f7ff!important;box-shadow:0 0 7px #fff,0 0 18px #2e85ff!important}
.boot__brand{margin:5px 0 0!important;color:#dfefff!important;font:300 9px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.38em!important;text-transform:uppercase}
.boot__track{width:260px!important;height:1px!important;margin-top:7px;background:rgba(255,255,255,.07)!important;overflow:visible!important}
.boot__track i{background:linear-gradient(90deg,transparent,#2e85ff,#e8f7ff)!important;box-shadow:0 0 8px #2e85ff,0 0 18px rgba(46,133,255,.5)!important}
.boot__status{margin:2px 0 0!important;color:#71849a!important;font:6px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.22em!important;text-transform:uppercase}
.boot__status b{margin-left:8px;color:#85bdff!important;font-weight:400}
.boot small{position:static!important;color:#40536a!important;font:6px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.34em!important;text-transform:uppercase}
@keyframes evsBootBlade{to{transform:rotate(360deg)}}
@keyframes evsBootCircle{to{transform:rotate(-360deg)}}
@keyframes evsBootShimmer{to{background-position:-220% 0}}

/* Guaranteed click feedback layered over the real plexus particle push. */
.plexus-click-burst{position:absolute;z-index:7;width:8px;height:8px;margin:-4px 0 0 -4px;border:1px solid #bde8ff;border-radius:50%;pointer-events:none;box-shadow:0 0 12px #2e85ff,0 0 26px rgba(46,133,255,.55);animation:evsPlexusRing .8s cubic-bezier(.22,1,.36,1) forwards}
.plexus-click-burst i{position:absolute;left:3px;top:3px;width:2px;height:2px;border-radius:50%;background:#e8f8ff;box-shadow:0 0 9px #2e85ff;transform:rotate(var(--burst-angle)) translateX(0);animation:evsPlexusSpark .75s cubic-bezier(.22,1,.36,1) forwards}
@keyframes evsPlexusRing{to{transform:scale(6);opacity:0}}
@keyframes evsPlexusSpark{70%{opacity:1}100%{transform:rotate(var(--burst-angle)) translateX(var(--burst-distance));opacity:0}}

/* Faster smooth bars with a blue-to-white breathing light. */
.music-player.playing .music-toggle .music-wave b{background:linear-gradient(to top,#2389ff 0%,#8ac5ff 55%,#fff 100%)!important;box-shadow:0 0 4px rgba(75,158,255,.8),0 0 9px rgba(218,241,255,.48)!important;animation:evsWaveBreath 1.05s ease-in-out infinite alternate!important}
.music-player.playing .music-toggle .music-wave b:nth-child(2n){animation-delay:-.26s!important}.music-player.playing .music-toggle .music-wave b:nth-child(3n){animation-delay:-.52s!important}.music-player.playing .music-toggle .music-wave b:nth-child(5n){animation-delay:-.78s!important}
.music-player.stopped .music-toggle .music-wave b{animation:none!important;background:#ff4f60!important;box-shadow:0 0 5px rgba(255,79,96,.72)!important}
@keyframes evsWaveBreath{from{opacity:.62;filter:brightness(.84)}to{opacity:1;filter:brightness(1.3)}}

/* Six services remain readable within the fixed-height service stage. */
.service-tabs button{padding:clamp(9px,1.35vh,15px) 18px!important;font-size:9px!important}

/* Compact social row beneath the contact introduction. */
.contact-social{display:flex;align-items:center;gap:9px;margin:-3px 0 12px}
.contact-social a{width:29px;height:29px;display:grid;place-items:center;border:1px solid rgba(46,133,255,.2);border-radius:50%;background:rgba(5,10,17,.5);transition:transform .3s,border-color .3s,box-shadow .3s,background .3s}
.contact-social img{width:15px;height:15px;object-fit:contain;opacity:.62;filter:grayscale(1);transition:opacity .3s,filter .3s,transform .3s}
.contact-social a:hover{transform:translateY(-2px);border-color:#2e85ff;background:rgba(46,133,255,.12);box-shadow:0 0 16px rgba(46,133,255,.35)}
.contact-social a:hover img{opacity:1;filter:none;transform:scale(1.08)}

/* One precise active ring aligned to the circular member image. */
.team-thumbs button,.team-thumbs button:not([hidden]){width:54px!important;height:54px!important;padding:3px!important;box-sizing:border-box!important;border:1px solid transparent!important;border-radius:50%!important;background:rgba(3,6,11,.82)!important;box-shadow:none!important;transform:none!important}
.team-thumbs button img{width:46px!important;height:46px!important;aspect-ratio:1;border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important;object-fit:cover!important}
.team-thumbs button.active{border-color:#66adff!important;box-shadow:0 0 10px rgba(46,133,255,.72),0 0 22px rgba(46,133,255,.25)!important}
.team-thumbs button:hover{border-color:#8dc5ff!important;box-shadow:0 0 12px rgba(46,133,255,.6)!important}

/* Smaller home message, bottom-aligned immediately above Latest Work. */
.hero{align-items:flex-end!important}
.hero__content{position:absolute!important;left:50%!important;bottom:184px!important;width:min(720px,calc(100vw - 40px))!important;margin:0!important;padding:23px clamp(30px,5vw,70px)!important;transform:translateX(-50%)!important;border-radius:30px!important}
.hero h1{font-size:min(clamp(28px,4.4vw,58px),7.5vh)!important}
.hero__slogan{margin:16px 0 3px!important;font-size:clamp(10px,1.15vw,16px)!important}
.hero__statement{margin:8px auto 12px!important;font-size:clamp(9px,.9vw,11px)!important}
.hero__buttons{margin-top:20px!important}
.hero .overline{font-size:7px!important}.hero .light-rule{margin:11px auto!important}
@media(max-height:760px){.hero__content{bottom:160px!important;padding-top:16px!important;padding-bottom:16px!important}.hero__buttons{margin-top:12px!important}}

/* ========================================================================== 
   V38 TARGETED REFINEMENT - EVS2026 loader, staged reveals, requested polish
   ========================================================================== */
/* Exact EVS2026 front-facing loader language, enhanced only with blue depth. */
.boot{gap:10px!important;background:radial-gradient(circle at 50% 46%,rgba(13,42,76,.34) 0%,#03070d 34%,#010204 72%)!important;perspective:none!important;transition:opacity 1.5s ease-out,visibility 1.5s ease-out!important}
.boot::before,.boot::after{display:none!important}
.boot__system{position:relative!important;width:180px!important;height:180px!important;display:grid!important;place-items:center!important;transform:none!important;filter:drop-shadow(0 0 24px rgba(46,133,255,.28))!important}
.boot__blade,.boot__circle,.boot__ring{position:absolute!important;left:50%!important;top:50%!important;border-radius:50%!important;transform-origin:50% 50%!important}
.boot__blade{width:152px!important;height:152px!important;margin:-76px 0 0 -76px!important;border:0!important;border-left:3px solid #e9f7ff!important;border-right:1px dashed rgba(91,171,255,.7)!important;box-shadow:0 0 20px rgba(46,133,255,.35),inset 0 0 18px rgba(46,133,255,.1)!important;animation:evsV38Spin 4s linear infinite!important}
.boot__circle{width:122px!important;height:122px!important;margin:-61px 0 0 -61px!important;border:2px dotted rgba(150,209,255,.62)!important;box-shadow:0 0 16px rgba(46,133,255,.18)!important;animation:evsV38SpinReverse 5s linear infinite!important}
.boot__ring{width:96px!important;height:96px!important;margin:-48px 0 0 -48px!important;border:0!important;border-left:1px solid #fff!important;border-right:3px solid #68b6ff!important;background:radial-gradient(circle,rgba(36,113,190,.13),rgba(2,6,11,.4) 68%)!important;box-shadow:0 0 24px rgba(46,133,255,.42),inset 0 0 20px rgba(46,133,255,.14)!important;animation:evsV38Spin 1.25s linear infinite!important;transform:none!important}
.boot__ring::before,.boot__ring::after{display:none!important}
.boot__evs{position:relative!important;z-index:3!important;margin:0!important;padding-left:.55em!important;color:#eef7ff!important;font:italic 400 20px/1 EVS,Orbitron,sans-serif!important;letter-spacing:.55em!important;text-transform:uppercase!important;text-shadow:0 0 8px #fff,0 0 22px rgba(46,133,255,.9)!important;animation:evsV38Pulse 2s ease-in-out infinite!important;white-space:nowrap!important}
.boot__brand{margin:3px 0 2px!important;font:400 9px/1 EVS,Orbitron,sans-serif!important;letter-spacing:.15em!important;background:linear-gradient(90deg,#9aa7b7,#fff,#75b9ff,#fff,#9aa7b7)!important;background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:evsBootShimmer 3.2s linear infinite!important}
.boot__status{margin:2px 0 0!important;min-height:10px!important}
.boot__track{width:160px!important;height:3px!important;margin-top:4px!important;border-radius:3px!important;background:#18202a!important;box-shadow:0 8px 18px rgba(83,162,255,.32)!important;overflow:hidden!important}
.boot__track i{height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#246fc8,#76beff,#fff)!important;transition:width .1s ease-in-out!important}
.boot__footer{position:absolute;left:0;right:0;bottom:15px;display:flex;flex-direction:column;gap:3px;text-align:center;text-transform:uppercase}
.boot__footer b{font:400 9px/1 EVS,Orbitron,sans-serif;letter-spacing:.14em;color:#b9c9d8}.boot__footer span{font:6px/1 Orbitron,sans-serif;letter-spacing:.42em;color:#42566e}
@keyframes evsV38Spin{to{transform:rotate(360deg)}}@keyframes evsV38SpinReverse{to{transform:rotate(-360deg)}}@keyframes evsV38Pulse{50%{opacity:.62;filter:brightness(1.45)}}

/* The native plexus push is the only click feedback in V38. */
.plexus-click-burst{display:none!important}

/* Full-width central readability layer and a single-line Empire Visual Studio. */
.hero__content{width:100%!important;max-width:none!important;left:50%!important;bottom:184px!important;padding:25px max(30px,calc((100vw - 760px)/2)) 30px!important;border-radius:0!important;background:radial-gradient(ellipse 42% 64% at center,rgba(1,2,4,.82) 0%,rgba(1,2,4,.42) 58%,transparent 100%)!important}
.hero__content.reveal{transform:translate(-50%,28px)!important}.hero__content.reveal.visible{transform:translate(-50%,0)!important}
.hero h1{white-space:nowrap!important}.hero h1 strong{display:inline!important;white-space:nowrap!important}
.hero__buttons{margin-top:30px!important;margin-bottom:12px!important}
@media(max-width:720px){.hero h1{font-size:clamp(25px,7.4vw,42px)!important}.hero__content{padding-left:20px!important;padding-right:20px!important}}

/* Smooth wave state transition: eased down to red, eased up into faster motion. */
.music-toggle .music-wave b{transition:transform .5s cubic-bezier(.22,1,.36,1),background-color .42s ease,box-shadow .42s ease!important}
.music-player.playing .music-toggle .music-wave b{transition-duration:.2s,.42s,.42s!important;animation:evsWaveBreath .82s ease-in-out infinite alternate!important}
.music-player.stopped .music-toggle .music-wave b{transform:scaleY(.111)!important}

/* Empowered alone is 50% larger. */
.ai__empowered{display:inline-block;font-size:1.5em;line-height:.82}

/* Very restrained multi-depth pointer movement for the AI character layers. */
.ai__layer{transform:translateX(calc(-50% + var(--evs-parallax-x,0px))) translateY(var(--evs-parallax-y,0px))!important;transition:transform .22s ease-out!important;will-change:transform}

/* Stronger, thicker active team portrait ring. */
.team-thumbs button.active{border:3px solid #72b8ff!important;padding:2px!important;box-shadow:0 0 7px #b9e4ff,0 0 17px #2e85ff,0 0 31px rgba(46,133,255,.62)!important}
.team-thumbs button.active img{box-shadow:inset 0 0 0 1px rgba(255,255,255,.48)!important}

/* Social links live outside and below the message window, without a frame. */
.contact-message-column{display:flex;flex:1;min-width:min(320px,100%);flex-direction:column;gap:15px}
.contact-message-column .contact-card{width:100%;flex:none!important}
.contact-social-block{padding:0 6px;border:0;background:none;box-shadow:none}
.contact-social-block>p{margin:0 0 9px;color:#718198;text-transform:uppercase;font:7px/1 Orbitron,sans-serif;letter-spacing:.2em}
.contact-social{margin:0!important;gap:11px!important}

/* Entrances begin only after the loader's 1.5 second fade has finished. */
html:not(.evs-ready) .utility-dock{opacity:0!important;transform:translateX(90px)!important;pointer-events:none!important}
html.evs-ready .utility-dock{opacity:1;transform:translateX(0);transition:opacity .8s ease .28s,transform .9s cubic-bezier(.22,1,.36,1) .28s}
.reveal{opacity:0;transform:translateY(38px);filter:blur(12px);transition:opacity .9s ease,transform .95s cubic-bezier(.22,1,.36,1),filter .9s ease}
.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0)}
.visual-panel.reveal{transform:translateY(65px) scale(.985);filter:blur(15px)}.visual-panel.reveal.visible{transform:translateY(0) scale(1);filter:blur(0)}
.avatar-stage.reveal{opacity:0!important;transform:translateX(90px)!important;filter:blur(12px)!important}.avatar-stage.reveal.visible{opacity:1!important;transform:translateX(0)!important;filter:blur(0)!important;transition-duration:1.1s!important}
.ai__content.reveal,.creation__content.reveal,.events__content.reveal{transform:translateY(50px);filter:blur(14px)}
.ai__content.reveal.visible,.creation__content.reveal.visible,.events__content.reveal.visible{transform:translateY(0);filter:blur(0)}
.contact .glass-panel.reveal,.contact-social-block.reveal{transform:translateY(42px);filter:blur(12px)}.contact .glass-panel.reveal.visible,.contact-social-block.reveal.visible{transform:translateY(0);filter:blur(0)}
@media(prefers-reduced-motion:reduce){html:not(.evs-ready) .utility-dock{opacity:1!important;transform:none!important}.ai__layer{transform:translateX(-50%)!important}}

/* ========================================================================== 
   V39 TARGETED REFINEMENT
   ========================================================================== */
/* Faster staged Home reveal after the loader. */
html.evs-ready .utility-dock{transition-delay:.08s!important}
#home .reveal{transition-duration:.68s!important}

/* Studio returns beneath Empire Visual; emblem cycles more slowly and softly. */
.hero h1{white-space:nowrap!important;line-height:.88!important}
.hero h1 strong{display:block!important;white-space:nowrap!important;margin-top:.16em!important}
.hero__emblem img{animation:logoCycleV39 24s ease-in-out infinite!important}
.hero__emblem img:nth-child(2){animation-delay:6s!important}.hero__emblem img:nth-child(3){animation-delay:12s!important}.hero__emblem img:nth-child(4){animation-delay:18s!important}
@keyframes logoCycleV39{0%,100%{opacity:0}6%{opacity:1}27%{opacity:1}33%{opacity:0}}

/* Restrained split-particle click response plus the native plexus push. */
.plexus-split{position:absolute;z-index:7;width:4px;height:4px;margin:-2px 0 0 -2px;pointer-events:none}
.plexus-split::before{content:"";position:absolute;inset:-4px;border:1px solid rgba(89,174,255,.8);border-radius:50%;box-shadow:0 0 10px rgba(46,133,255,.7);animation:evsSplitCore .55s ease-out forwards}
.plexus-split i{position:absolute;left:1px;top:1px;width:3px;height:3px;border-radius:50%;background:#86c8ff;box-shadow:0 0 5px #fff,0 0 12px #2e85ff;transform:rotate(var(--split-angle)) translateX(0);animation:evsSplitParticle .58s cubic-bezier(.22,1,.36,1) forwards}
@keyframes evsSplitCore{to{transform:scale(2.5);opacity:0}}@keyframes evsSplitParticle{75%{opacity:1}100%{transform:rotate(var(--split-angle)) translateX(var(--split-distance));opacity:0}}

/* Visualization ease-scale and animated selected border. */
.visual-panel,.visual-panel img{transition-timing-function:cubic-bezier(.22,1,.36,1)!important}
.visual-panel{transition:transform .75s cubic-bezier(.22,1,.36,1),flex .75s cubic-bezier(.22,1,.36,1),border-color .4s,box-shadow .4s!important}
.visual-panel:hover{transform:translateY(-5px) scale(1.012)!important;box-shadow:0 15px 38px rgba(0,0,0,.46),0 0 25px rgba(46,133,255,.28)!important}
.visual-panel:hover img{transform:scale(1.075)!important;filter:saturate(1) brightness(.94)!important}
.visual-panel:hover::after,.visual-panel:focus-visible::after{display:block!important;content:""!important;opacity:1!important;animation:evsFrame 2.1s linear infinite!important}

/* AI layers ease slowly toward the pointer instead of following immediately. */
.ai__layer{transition:transform 1.15s cubic-bezier(.16,1,.3,1)!important}

/* Restore the earlier service selector height and animate the selected border. */
.service-tabs button{padding:clamp(12px,1.8vh,20px) 18px!important;font-size:10px!important;position:relative!important;overflow:hidden!important}
.service-tabs button.active::after{display:block!important;content:""!important;position:absolute!important;inset:0!important;padding:1px!important;border-radius:inherit!important;background:conic-gradient(from var(--frame-angle,0deg),transparent 0 21%,#2e85ff 32%,#dff4ff 39%,#2e85ff 46%,transparent 57% 100%)!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;opacity:1!important;pointer-events:none!important;animation:evsFrame 2.3s linear infinite!important}

/* Larger, unframed social presentation. */
.contact-social-block>p{font-size:11px!important;letter-spacing:.24em!important;margin-bottom:14px!important}
.contact-social{gap:15px!important;flex-wrap:wrap!important}
.contact-social a{width:70px!important;height:70px!important;border-color:rgba(46,133,255,.28)!important}
.contact-social img{width:50px!important;height:50px!important}

/* Clear blue active member ring with a restrained glow. */
.team-thumbs button.active{border:3px solid #278cff!important;box-shadow:0 0 8px rgba(39,140,255,.82),0 0 17px rgba(39,140,255,.36)!important}
.team-thumbs button.active img{box-shadow:none!important}

/* Menu: permanent horizontal blue rails; brighter animated rails on hover. */
.menu nav>a{border-top:1px solid rgba(46,133,255,.38)!important;border-bottom:1px solid rgba(46,133,255,.38)!important;border-left:0!important;border-right:0!important;overflow:hidden!important}
.menu nav>a::before,.menu nav>a::after{content:"";position:absolute!important;left:0;right:0;height:1px;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent,#2e85ff 20%,#cbeaff 50%,#2e85ff 80%,transparent);background-size:45% 100%;background-repeat:no-repeat;opacity:.42}
.menu nav>a::before{top:0;background-position:-55% 0}.menu nav>a::after{bottom:0;background-position:155% 0}
.menu nav>a:hover{border-top-color:#52a5ff!important;border-bottom-color:#52a5ff!important;box-shadow:0 0 24px rgba(46,133,255,.28)!important}
.menu nav>a:hover::before{opacity:1;animation:evsMenuRailTop 1.35s linear infinite}.menu nav>a:hover::after{opacity:1;animation:evsMenuRailBottom 1.35s linear infinite}
.menu nav>a:nth-child(1) .menu__image{background-position:20% center!important}.menu nav>a:nth-child(2) .menu__image{background-position:38% center!important}.menu nav>a:nth-child(3) .menu__image{background-position:55% center!important}.menu nav>a:nth-child(4) .menu__image{background-position:72% center!important}.menu nav>a:nth-child(5) .menu__image{background-position:88% center!important}.menu nav>a:nth-child(6) .menu__image{background-position:30% 30%!important}.menu nav>a:nth-child(7) .menu__image{background-position:62% 65%!important}.menu nav>a:nth-child(8) .menu__image{background-position:82% 40%!important; transform: scaleX(-1) scale(1.02) !important;}
@keyframes evsMenuRailTop{from{background-position:-55% 0}to{background-position:155% 0}}@keyframes evsMenuRailBottom{from{background-position:155% 0}to{background-position:-55% 0}}

/* More breathing room at the right edge of the compact music player. */
.music-player:not(:hover):not(:focus-within) .music-wave{margin-left:-5px!important;margin-right:9px!important}

/* Reusable EVS modal window. The backdrop intentionally does not close it. */
html.evs-window-open{overflow:hidden}
.evs-window-layer{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:24px;background:rgba(1,3,7,.78);backdrop-filter:blur(13px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.evs-window-layer.open{opacity:1;visibility:visible;pointer-events:auto}
.evs-window{position:relative;width:min(560px,calc(100vw - 36px));padding:34px;border:1px solid rgba(46,133,255,.48);border-radius:18px;background:linear-gradient(145deg,rgba(9,18,31,.98),rgba(3,7,13,.99));box-shadow:0 30px 90px rgba(0,0,0,.72),0 0 45px rgba(46,133,255,.16);transform:translateY(28px) scale(.975);filter:blur(9px);transition:transform .55s cubic-bezier(.22,1,.36,1),filter .45s,opacity .45s;opacity:0;overflow:hidden}
.evs-window::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#2e85ff,#e0f4ff,#2e85ff,transparent);animation:evsWindowLine 3.2s linear infinite;background-size:55% 100%;background-repeat:no-repeat}
.evs-window-layer.open .evs-window{transform:none;filter:blur(0);opacity:1}
.evs-window__close{position:absolute;right:15px;top:12px;width:32px;height:32px;border:0;background:transparent;color:#8090a3;font-size:24px;cursor:pointer;transition:color .25s,transform .25s}.evs-window__close:hover{color:#fff;transform:rotate(90deg)}
.evs-window__eyebrow{margin:0 0 12px;color:#5eaaff;text-transform:uppercase;font:7px/1 Orbitron,sans-serif;letter-spacing:.22em}.evs-window h2{margin:0;color:#f1f6fb;font:italic 400 clamp(28px,4vw,42px)/1 EVS,Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.06em}.evs-window__subtitle{margin:10px 0 18px;color:#8abfff;font:8px/1 Orbitron,sans-serif;letter-spacing:.17em;text-transform:uppercase}.evs-window__description{margin:0 0 25px;color:#a5b1bd;font-size:13px;line-height:1.75}.evs-window__form{display:flex;flex-direction:column;gap:9px}.evs-window__form label{color:#8290a1;text-transform:uppercase;font:7px/1 Orbitron,sans-serif;letter-spacing:.16em}.evs-window__form input{width:100%;height:48px;padding:0 14px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.035);color:#eef6ff;outline:none;transition:border-color .3s,box-shadow .3s,transform .25s}.evs-window__form input:focus{border-color:#2e85ff;box-shadow:0 0 20px rgba(46,133,255,.16)}.evs-window__form input.is-invalid{border-color:#ff4e5c;box-shadow:0 0 17px rgba(255,60,76,.24);animation:evsWindowShake .35s ease}.evs-window__form small{color:#596b80;font-size:10px}.evs-window__error{min-height:16px;margin:1px 0 5px;color:#ff5966;font:8px/1.4 Orbitron,sans-serif;letter-spacing:.08em;text-transform:uppercase}.evs-window__actions{display:flex;gap:11px;justify-content:flex-end}.evs-window__button{position:relative;min-height:44px;padding:0 18px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:12px;color:#eef6ff;text-transform:uppercase;font:8px/1 Orbitron,sans-serif;letter-spacing:.15em;cursor:pointer;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.evs-window__button i{font-style:normal}.evs-window__button:hover{transform:translateY(-2px)}.evs-window__button--ok{border:1px solid #2e85ff;background:linear-gradient(180deg,rgba(46,133,255,.32),rgba(17,68,132,.28));box-shadow:0 0 18px rgba(46,133,255,.14)}.evs-window__button--ok:hover{box-shadow:0 0 25px rgba(46,133,255,.38)}.evs-window__button--exit{border:1px solid rgba(255,70,84,.72);background:linear-gradient(180deg,rgba(255,67,82,.2),rgba(103,18,27,.22));color:#ffb2b8}.evs-window__button--exit:hover{border-color:#ff5360;box-shadow:0 0 23px rgba(255,67,82,.26)}
@keyframes evsWindowLine{from{background-position:-55% 0}to{background-position:155% 0}}@keyframes evsWindowShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}
@media(max-width:600px){.contact-social a{width:54px!important;height:54px!important}.contact-social img{width:36px!important;height:36px!important}.evs-window{padding:28px 20px}.evs-window__actions{flex-direction:column}.evs-window__button{width:100%}}

/* ========================================================================== 
   V40 TARGETED REFINEMENT - contact, service media, loader and scrolling
   ========================================================================== */

/* Social controls reduced to half of the V39 presentation. */
.contact-social{gap:10px!important}
.contact-social a{width:35px!important;height:35px!important}
.contact-social img{width:25px!important;height:25px!important}

/* Fullscreen contact background with a controlled readability grade. */
.contact{isolation:isolate;background:#03060a var(--evs-asset-contact,url('../assets/images/contact-bg.avif')) center center/cover no-repeat!important}
.contact::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgba(1,3,6,.9) 0%,rgba(1,3,6,.66) 44%,rgba(1,3,6,.38) 72%,rgba(1,3,6,.64) 100%),linear-gradient(0deg,rgba(1,3,6,.78),transparent 48%,rgba(1,3,6,.38))}
.contact__tower{display:none!important}
.contact>.section-hud,.contact>.contact__head,.contact>.contact-grid{position:relative;z-index:1}

/* Service videos are thumbnail-first; the YouTube iframe exists but has no source until click. */
.evs-services-image,.evs-services-video{position:relative;width:100%;overflow:hidden}
.evs-services-image[hidden],.evs-services-video[hidden]{display:none!important}
.evs-services-video{background:#02060b}
.evs-services-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;transform:none;object-fit:contain;filter:saturate(.92) contrast(1.02) brightness(.92);transition:opacity .32s ease}
.evs-services-video.is-playing iframe{z-index:3;opacity:1;pointer-events:auto}
.evs-services-video__poster{position:absolute;inset:0;z-index:2;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:0;background:#02060b;cursor:pointer;text-align:left}
.evs-services-video__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,12,.04),rgba(2,6,12,.32)),linear-gradient(90deg,rgba(2,6,12,.38),transparent 62%);transition:background .35s ease}
.evs-services-video__poster>img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) brightness(.76);transform:scale(1.01);transition:filter .42s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.evs-services-video__play{position:absolute;left:22px;bottom:18px;z-index:3;display:flex;align-items:center;gap:11px;color:#ddecf8;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.14em}
.evs-services-video__play i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #4ca6ff;border-radius:50%;background:rgba(3,12,23,.62);color:#fff;font:normal 11px/1 Arial,sans-serif;box-shadow:0 0 18px rgba(46,133,255,.36);transition:transform .3s,box-shadow .3s,background .3s}
.evs-services-video__play b{font-weight:400;text-shadow:0 1px 5px #000}
.evs-services-video__poster:hover>img{filter:saturate(1) brightness(.9);transform:scale(1.045)}
.evs-services-video__poster:hover .evs-services-video__play i{transform:scale(1.1);background:rgba(25,115,205,.38);box-shadow:0 0 28px rgba(46,133,255,.68)}
.evs-services-video.is-playing .evs-services-video__poster{opacity:0;visibility:hidden;pointer-events:none}

/* Native scrollbar dragging stays free from the section snap engine. */
.screens.scrollbar-dragging{scroll-behavior:auto!important;scroll-snap-type:none!important}

/* Original EVS2026 concentric-circle proportions, modernized without changing the silhouette. */
.boot{gap:9px!important;background:radial-gradient(circle at 50% 44%,rgba(17,48,82,.3) 0%,#05080d 32%,#010203 72%)!important}
.boot::before,.boot::after{display:none!important}
.boot__system{position:relative!important;width:100px!important;height:100px!important;display:grid!important;place-items:center!important;transform:none!important;filter:drop-shadow(0 0 15px rgba(46,133,255,.24))!important}
.boot__blade,.boot__circle,.boot__ring{position:absolute!important;left:50%!important;top:50%!important;border-radius:50%!important;background:transparent!important;transform-origin:50% 50%!important}
.boot__blade{width:60px!important;height:60px!important;margin:-30px 0 0 -30px!important;border:0!important;border-left:2px solid #d7efff!important;border-right:1px dashed #50677d!important;box-shadow:0 0 10px rgba(46,133,255,.28)!important;animation:evsV38Spin 4s linear infinite!important}
.boot__ring{width:50px!important;height:50px!important;margin:-25px 0 0 -25px!important;border:0!important;border-left:1px solid #a8d8ff!important;border-right:3px solid #2e85ff!important;box-shadow:0 0 12px rgba(46,133,255,.38),inset 0 0 10px rgba(46,133,255,.12)!important;animation:evsV38Spin 1.2s linear infinite!important;transform:none!important}
.boot__circle{width:40px!important;height:40px!important;margin:-20px 0 0 -20px!important;border:2px dotted rgba(141,190,233,.58)!important;box-shadow:none!important;animation:evsV38SpinReverse 5s linear infinite!important}
.boot__evs{position:relative!important;z-index:3!important;margin:0!important;padding-left:.38em!important;color:#eaf6ff!important;font:italic 400 12px/1 EVS,Orbitron,sans-serif!important;letter-spacing:.38em!important;text-shadow:0 0 7px rgba(205,235,255,.9),0 0 15px rgba(46,133,255,.6)!important;animation:evsV38Pulse 2.2s ease-in-out infinite!important}
.boot__brand{margin:0!important;color:#b8c7d6!important;background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important;font:400 8px/1 EVS,Orbitron,sans-serif!important;letter-spacing:.15em!important}
.boot__status{margin:4px 0 0!important;color:#64788e!important;font:6px/1 Orbitron,sans-serif!important;letter-spacing:.2em!important}
.boot__status b{color:#7bb8f7!important}
.boot__track{position:relative!important;width:200px!important;height:8px!important;margin-top:6px!important;padding:1px!important;border:1px solid rgba(119,145,171,.28)!important;border-radius:999px!important;background:linear-gradient(180deg,#27313c 0%,#111820 48%,#303a45 100%)!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.75),inset 0 -1px 1px rgba(118,139,159,.18),0 5px 18px rgba(0,0,0,.5)!important;overflow:hidden!important}
.boot__track i{display:block!important;height:100%!important;border-radius:999px!important;background:linear-gradient(180deg,#55a6f5 0%,#1772cf 47%,#0753a5 100%)!important;box-shadow:inset 0 1px 1px rgba(158,211,255,.38),inset 0 -1px 2px rgba(0,39,83,.5),0 0 8px rgba(46,133,255,.7),0 0 17px rgba(46,133,255,.25)!important;transition:width .32s cubic-bezier(.22,1,.36,1)!important}
.boot__footer{bottom:15px!important}

@media(max-width:600px){.contact-social a{width:35px!important;height:35px!important}.contact-social img{width:25px!important;height:25px!important}}
/* ========================================================================== 
   V41 TARGETED REFINEMENT - loader scale, EVS window, portfolio and social
   ========================================================================== */

/* Larger EVS2026 circular preloader while preserving its established shape. */
.boot__system{width:150px!important;height:150px!important;filter:drop-shadow(0 0 22px rgba(46,133,255,.3))!important}
.boot__blade{width:90px!important;height:90px!important;margin:-45px 0 0 -45px!important;border-left-width:3px!important}
.boot__ring{width:75px!important;height:75px!important;margin:-37.5px 0 0 -37.5px!important;border-right-width:4px!important}
.boot__circle{width:60px!important;height:60px!important;margin:-30px 0 0 -30px!important}
.boot__evs{padding-left:.55em!important;font-family:Orbitron,sans-serif!important;font-size:20px!important;font-style:normal!important;font-weight:300!important;letter-spacing:.55em!important;background:linear-gradient(180deg,#f4f7fa 0%,#b9c4cf 55%,#e3e9ef 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;animation:evsV41Wordmark 2.4s ease-in-out infinite!important}
@keyframes evsV41Wordmark{50%{filter:brightness(1.35) drop-shadow(0 0 7px rgba(94,174,255,.48))}}

/* Universal EVS window uses square geometry and the page's animated frame. */
.evs-window{border-radius:0!important;border-color:rgba(46,133,255,.48)!important}
.evs-window::before{content:""!important;position:absolute!important;inset:0!important;height:auto!important;padding:1px!important;border-radius:0!important;background:conic-gradient(from var(--frame-angle,0deg),transparent 0 21%,#2e85ff 32%,#dff4ff 39%,#2e85ff 46%,transparent 57% 100%)!important;background-size:auto!important;background-repeat:initial!important;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;-webkit-mask-composite:xor!important;mask-composite:exclude!important;opacity:1!important;pointer-events:none!important;animation:evsFrame 2.8s linear infinite!important}
.evs-window__actions{justify-content:center!important;align-items:center!important}
.evs-window__button{border-radius:0!important;min-width:150px!important}

/* Portfolio frames remain visible and gain a restrained blue hover glow. */
.visual-panel{border:1px solid rgba(88,164,247,.58)!important;box-shadow:inset 0 0 0 1px rgba(7,25,45,.72)!important}
.visual-panel::before,.visual-panel::after{display:none!important;content:none!important;animation:none!important;opacity:0!important}
.visual-panel:hover{border-color:#2e85ff!important;box-shadow:inset 0 0 0 1px rgba(117,192,255,.3),0 0 18px rgba(46,133,255,.42),0 0 34px rgba(46,133,255,.16)!important}

/* Slightly smaller social controls, aligned with their label on the right. */
.contact-social-block{display:flex!important;flex-direction:column!important;align-items:flex-end!important;text-align:right!important;width:100%!important;padding-right:2px!important}
.contact-social-block>p{text-align:right!important}
.contact-social{justify-content:flex-end!important;gap:9px!important;width:100%!important}
.contact-social a{width:30px!important;height:30px!important}
.contact-social img{width:20px!important;height:20px!important}
@media(max-width:600px){.contact-social a{width:30px!important;height:30px!important}.contact-social img{width:20px!important;height:20px!important}}
/* ========================================================================== 
   V42 TARGETED REFINEMENT - network plexus, news panel and scene timing
   ========================================================================== */
.plexus-click-network{position:absolute;inset:0;z-index:7;pointer-events:none}
.plexus-split{display:none!important}

.hero__emblem img{animation:logoCycleV42 40s ease-in-out infinite!important}
.hero__emblem img:nth-child(2){animation-delay:10s!important}.hero__emblem img:nth-child(3){animation-delay:20s!important}.hero__emblem img:nth-child(4){animation-delay:30s!important}
@keyframes logoCycleV42{0%,100%{opacity:0}8%{opacity:1}25%{opacity:1}33%{opacity:0}}

.latest-work,.latest-work.reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
.visualization-v5{background-image:linear-gradient(180deg,rgba(2,5,10,.34),rgba(2,5,10,.74)),var(--evs-asset-visualization,url('../assets/images/visualization-bg.avif')),var(--evs-asset-visual-1,url('../assets/images/visual1-bg.avif'))!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.boot__evs{font-size:24px!important;letter-spacing:clamp(24px,3.2vw,50px)!important;padding-left:clamp(24px,3.2vw,50px)!important;white-space:nowrap!important}
.lightbox-close{top:8px!important;right:8px!important;width:32px!important;height:32px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;line-height:1!important}
#events .events__shade{opacity:.7!important}
#events .events__filter{opacity:.62!important}

.evs-news{position:absolute;z-index:96;top:112px;right:0;width:min(360px,calc(100vw - 58px));min-height:248px;border:1px solid rgba(46,133,255,.44);border-right:0;background:linear-gradient(145deg,rgba(7,14,25,.96),rgba(2,5,10,.97));box-shadow:-18px 18px 48px rgba(0,0,0,.5),0 0 28px rgba(46,133,255,.12);backdrop-filter:blur(18px);transform:translateX(100%);transition:transform .75s cubic-bezier(.22,1,.36,1);pointer-events:auto}
.evs-news.open{transform:translateX(0)}
.evs-news__toggle{position:absolute;right:100%;top:-1px;width:38px;height:132px;border:1px solid rgba(46,133,255,.5);border-right:0;background:linear-gradient(180deg,rgba(19,75,137,.84),rgba(4,13,24,.96));color:#c8e8ff;cursor:pointer;display:grid;place-items:center;box-shadow:-8px 8px 22px rgba(0,0,0,.35);transition:border-color .3s,box-shadow .3s,filter .3s}
.evs-news__toggle span{writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;font:8px/1 Orbitron,sans-serif;letter-spacing:.34em}
.evs-news__toggle:hover{border-color:#78bdff;box-shadow:-8px 8px 25px rgba(46,133,255,.28);filter:brightness(1.2)}
.evs-news__content{padding:20px 22px 16px}
.evs-news__topline{display:flex;justify-content:space-between;gap:14px;padding-bottom:9px;border-bottom:1px solid rgba(46,133,255,.25);color:#63809e;text-transform:uppercase;font:6px/1 Orbitron,sans-serif;letter-spacing:.16em}.evs-news__topline time{color:#74baff}
.evs-news h2{margin:14px 0 12px;color:#eef6ff;font:italic 400 20px/1.05 EVS,Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.evs-news__story{display:grid;grid-template-columns:108px 1fr;gap:14px;align-items:start}.evs-news__story img{width:108px;height:78px;object-fit:cover;border:1px solid rgba(68,153,246,.38);filter:saturate(.78)}.evs-news__story p{margin:0;color:#9ba9b7;font-size:10px;line-height:1.55}
.evs-news__footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);color:#5d7187;font:6px/1 Orbitron,sans-serif;letter-spacing:.18em}.evs-news__footer div{display:flex;gap:7px}.evs-news__footer button{width:30px;height:27px;border:1px solid rgba(46,133,255,.35);border-radius:0;background:rgba(46,133,255,.08);color:#9bcfff;cursor:pointer;transition:border-color .3s,background .3s,color .3s,box-shadow .3s}.evs-news__footer button:hover{border-color:#2e85ff;background:rgba(46,133,255,.2);color:#fff;box-shadow:0 0 13px rgba(46,133,255,.28)}
@media(max-width:700px){.evs-news{top:90px;width:min(330px,calc(100vw - 46px))}.evs-news__toggle{width:34px}.evs-news__story{grid-template-columns:90px 1fr}.evs-news__story img{width:90px;height:70px}}
/* ========================================================================== 
   V43 - HOME NEWS, PRELOADER ALIGNMENT, CONTACT ART & EVENTS CONFETTI
   ========================================================================== */
#home > .evs-news{
  position:absolute!important;
  top:112px!important;
  right:calc(var(--scrollbar-width, 10px) + 22px)!important;
}
.evs-news__toggle{width:31px!important;height:104px!important}
.evs-news__toggle span{font-size:7px!important;letter-spacing:.28em!important}
.evs-news__topline{align-items:center!important;font-size:6px!important}
.evs-news__topline time{font-size:10px!important;letter-spacing:.12em!important}
.evs-news h2{font-size:17px!important;line-height:1.1!important;margin:13px 0 11px!important}

.contact{
  background-color:#03060a!important;
  background-image:var(--evs-asset-contact,url('../assets/images/contact-bg.avif'))!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.contact::before{
  background:linear-gradient(180deg,rgba(1,3,6,.1) 0%,rgba(1,3,6,.38) 48%,rgba(1,3,6,.74) 100%),linear-gradient(90deg,rgba(1,3,6,.52) 0%,rgba(1,3,6,.24) 62%,rgba(1,3,6,.36) 100%)!important;
}

.boot__evs{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(21px,2.8vw,42px)!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  font-size:24px!important;
  letter-spacing:0!important;
}
.boot__evs span{display:block;flex:0 0 auto}
.boot__brand{font-size:11px!important;letter-spacing:.18em!important}

.chat-button:not(.open):hover{width:136px!important}
.chat-button:not(.open):hover .chat-label::after{content:' Chat'}
.chat-button.open .chat-label::after{content:''}

.plexus-click-network{display:none!important}
.events-confetti{
  position:absolute;
  inset:0;
  z-index:4;
  width:100%;
  height:100%;
  pointer-events:none;
}

@media(max-width:700px){
  #home > .evs-news{top:90px!important;right:calc(var(--scrollbar-width, 8px) + 12px)!important}
  .evs-news__toggle{width:29px!important;height:96px!important}
  .boot__brand{font-size:9px!important}
}
/* ========================================================================== 
   V44 - CLOSED NEWS EDGE, COMPACT LOADER & SIMPLE VISUALIZATION REVEAL
   ========================================================================== */
#home > .evs-news{
  --evs-news-edge:calc(var(--scrollbar-width, 10px) + 22px);
  right:var(--evs-news-edge)!important;
  transform:translateX(calc(100% + var(--evs-news-edge)))!important;
}
#home > .evs-news.open{transform:translateX(0)!important}

.boot__system{width:126px!important;height:126px!important}
.boot__blade{width:74px!important;height:74px!important;margin:-37px 0 0 -37px!important;border-left-width:2px!important}
.boot__ring{width:62px!important;height:62px!important;margin:-31px 0 0 -31px!important;border-right-width:3px!important}
.boot__circle{width:50px!important;height:50px!important;margin:-25px 0 0 -25px!important}
.boot__evs{
  gap:clamp(15px,2vw,28px)!important;
  font-family:EVS,Orbitron,sans-serif!important;
  font-size:16px!important;
  font-style:italic!important;
  font-weight:400!important;
  background:linear-gradient(180deg,#fff 0%,#dce5ee 35%,#7f8b99 54%,#d9e2eb 72%,#8794a2 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.8)) drop-shadow(0 0 10px rgba(46,133,255,.3))!important;
  text-shadow:none!important;
}

.visual-panel.reveal{
  opacity:0!important;
  transform:none!important;
  filter:blur(14px)!important;
  transition:opacity .9s ease,filter .95s ease!important;
}
.visual-panel.reveal.visible{
  opacity:1!important;
  transform:none!important;
  filter:blur(0)!important;
}
.visual-panel.reveal.visible:hover{transform:translateY(-5px) scale(1.012)!important}

@media(max-width:700px){
  #home > .evs-news{
    --evs-news-edge:calc(var(--scrollbar-width, 8px) + 12px);
    right:var(--evs-news-edge)!important;
  }
}
/* ========================================================================== 
   V45 - PRELOADER WORDMARK, NEWS EDGE & INCLINED CINEMATIC MENU
   ========================================================================== */
/* Restore the V43 metallic E.V.S treatment, retained at a smaller scale. */
.boot__evs{
  gap:clamp(15px,2vw,28px)!important;
  padding:0!important;
  font-family:Orbitron,sans-serif!important;
  font-size:17px!important;
  font-style:normal!important;
  font-weight:300!important;
  letter-spacing:0!important;
  background:linear-gradient(180deg,#f4f7fa 0%,#b9c4cf 55%,#e3e9ef 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
  filter:none!important;
  text-shadow:none!important;
  animation:evsV41Wordmark 2.4s ease-in-out infinite!important;
}

/* When closed, the News tab reaches the viewport edge without a blank strip. */
#home > .evs-news:not(.open){
  transform:translateX(calc(100% + var(--evs-news-edge) + var(--scrollbar-width, 10px)))!important;
}

/* Blur/fade remains the entrance; hover movement is restored with easing. */
.visual-panel.reveal{
  transition:opacity .9s ease,filter .95s ease,transform .72s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,flex .72s cubic-bezier(.22,1,.36,1)!important;
}
.visual-panel.reveal.visible:hover{
  transform:translateY(-6px) scale(1.02)!important;
  box-shadow:inset 0 0 0 1px rgba(117,192,255,.3),0 16px 38px rgba(0,0,0,.46),0 0 26px rgba(46,133,255,.38)!important;
}
.visual-panel.reveal.visible:hover img{transform:scale(1.075)!important}

/* Footer sits below the utility controls instead of behind them. */
.menu__foot{transform:translateY(17px)!important;padding-bottom:2px!important}

/* Inclined silhouettes without skewing or warping the image itself. */
.menu nav>a{
  border-radius:0!important;
  overflow:hidden!important;
  background:transparent!important;
  box-shadow:none!important;
  clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)!important;
}
.menu nav>a:nth-child(even){clip-path:polygon(0 0,96% 0,100% 100%,4% 100%)!important}
.menu nav>a .menu__image{
  inset:0!important;
  border-radius:0!important;
  clip-path:none!important;
  transform:scale(1.015)!important;
  box-shadow:none!important;
  background-image:linear-gradient(90deg,rgba(3,5,9,1) 0%,rgba(3,5,9,.62) 12%,rgba(3,5,9,.14) 36%,rgba(3,5,9,.14) 64%,rgba(3,5,9,.62) 88%,rgba(3,5,9,1) 100%),var(--menu-img)!important;
  background-position:center!important;
  background-size:cover!important;
}
.menu nav>a:hover .menu__image{transform:scale(1.065)!important}

@media(max-width:900px){
  .menu__foot{transform:translateY(8px)!important}
  .menu nav>a:nth-child(n){clip-path:polygon(3% 0,100% 0,97% 100%,0 100%)!important}
}
/* ========================================================================== 
   V46 - SCROLLBAR-SAFE NEWS TAB & BRIGHTER OPPOSITE-CUT MENU
   ========================================================================== */
/* Closed tab finishes immediately before the page scrollbar. */
#home > .evs-news:not(.open){
  transform:translateX(calc(100% + var(--evs-news-edge)))!important;
}

/* Reverse the incline direction and soften it so the V arrangement leads
   toward the centre instead of producing large dark triangular cut-outs. */
.menu nav>a{
  clip-path:polygon(0 0,97% 0,100% 100%,3% 100%)!important;
  background:rgba(4,8,14,.3)!important;
}
.menu nav>a:nth-child(even){
  clip-path:polygon(3% 0,100% 0,97% 100%,0 100%)!important;
}
.menu nav>a .menu__image{
  opacity:.94!important;
  transform:scale(1.02)!important;
  background-image:linear-gradient(90deg,rgba(3,5,9,.88) 0%,rgba(3,5,9,.2) 15%,rgba(3,5,9,.04) 50%,rgba(3,5,9,.2) 85%,rgba(3,5,9,.88) 100%),var(--menu-img)!important;
  filter:grayscale(1) saturate(.18) brightness(.86) contrast(1.06)!important;
}
.menu nav>a:hover .menu__image{
  opacity:1!important;
  transform:scale(1.07)!important;
  filter:grayscale(0) saturate(1) brightness(1.08) contrast(1.02)!important;
}
.menu nav>a strong,.menu nav>a em,.menu nav>a small{
  text-shadow:0 2px 8px rgba(0,0,0,.95),0 0 12px rgba(0,0,0,.7)!important;
}

@media(max-width:900px){
  .menu nav>a:nth-child(n){clip-path:polygon(0 0,98% 0,100% 100%,2% 100%)!important}
}
/* ========================================================================== 
   V48 - MIRRORED V-MENU, SERVICE SWITCH MOTION & EVS SPACING
   ========================================================================== */
.boot__evs{gap:clamp(22.5px,3vw,42px)!important}

@keyframes evsServiceContentSwitch{
  0%{opacity:.12;filter:blur(12px);transform:translateY(9px)}
  48%{opacity:.72;filter:blur(4px)}
  100%{opacity:1;filter:blur(0);transform:translateY(0)}
}
.service-detail.is-switching > *{animation:evsServiceContentSwitch .68s cubic-bezier(.22,1,.36,1) both}
.service-detail.is-switching > *:nth-child(2){animation-delay:.035s}
.service-detail.is-switching > *:nth-child(3){animation-delay:.06s}
.service-detail.is-switching > *:nth-child(n+4){animation-delay:.085s}

/* The page remains visible through the menu; the centred emblem is a quiet
   atmospheric layer rather than another content panel. */
.menu{
  background:rgba(2,5,9,.8)!important;
  backdrop-filter:blur(22px) saturate(.8)!important;
  -webkit-backdrop-filter:blur(22px) saturate(.8)!important;
}
.menu::before{
  content:"";
  position:absolute;
  inset:82px 18% 42px;
  z-index:0;
  background:var(--evs-asset-main-logo,url('../assets/images/main-logo.avif')) center/contain no-repeat;
  opacity:.2;
  filter:blur(2px) saturate(.65);
  pointer-events:none;
}
.menu > *{position:relative;z-index:1}

/* Explicit grid placement keeps five items on the left and three on the right. */
.menu nav>a:nth-child(1){--menu-offset:-170px;--menu-hover:-190px}
.menu nav>a:nth-child(2){--menu-offset:200px;--menu-hover:220px}
.menu nav>a:nth-child(3){--menu-offset:-125px;--menu-hover:-145px}
.menu nav>a:nth-child(4){--menu-offset:150px;--menu-hover:170px}
.menu nav>a:nth-child(5){--menu-offset:-82px;--menu-hover:-102px}
.menu nav>a:nth-child(6){--menu-offset:100px;--menu-hover:120px}
.menu nav>a:nth-child(7){--menu-offset:-40px;--menu-hover:-60px}
.menu nav>a:nth-child(8){--menu-offset:50px;--menu-hover:70px}
.menu nav>a:nth-child(9){--menu-offset:0px;--menu-hover:-20px}
.menu nav>a:nth-child(10){--menu-offset:0px;--menu-hover:20px}

.menu nav>a:nth-child(n){
  min-height:88px!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-content:center!important;
  column-gap:16px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  clip-path:polygon(0 0,92% 0,100% 100%,8% 100%)!important;
  transform:translateX(var(--menu-offset))!important;
  background:linear-gradient(90deg,rgba(4,9,16,.64),rgba(4,9,16,.24))!important;
  box-shadow:none!important;
  overflow:hidden!important;
  transition:transform .58s cubic-bezier(.22,1,.36,1),filter .4s,box-shadow .4s!important;
}
.menu nav>a:nth-child(odd){
  grid-template-columns:44% 1fr!important;
  text-align:left!important;
}
.menu nav>a:nth-child(even){
  grid-template-columns:1fr 44%!important;
  text-align:right!important;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)!important;
}
.menu nav>a:nth-child(n):hover{transform:translateX(var(--menu-hover))!important}

/* Image occupies only the outer part of each item. Left images mirror the
   right-column treatment; text itself is never mirrored. */
.menu nav>a .menu__image{
  position:relative!important;
  inset:auto!important;
  grid-row:1 / 4!important;
  width:100%!important;
  height:100%!important;
  min-height:88px!important;
  opacity:.56!important;
  border-radius:0!important;
  background-image:linear-gradient(90deg,rgba(2,5,9,.4),rgba(2,5,9,.04),rgba(2,5,9,.46)),var(--menu-img)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  filter:grayscale(1) saturate(.15) brightness(.58) contrast(1.08)!important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 84%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 15%,#000 84%,transparent 100%)!important;
  transition:opacity .5s,filter .55s,transform .65s cubic-bezier(.22,1,.36,1)!important;
}
.menu nav>a:nth-child(odd) .menu__image{
  grid-column:1!important;
  transform:scaleX(-1) scale(1.02)!important;
}
.menu nav>a:nth-child(even) .menu__image{grid-column:2!important;transform:scale(1.02)!important}
.menu nav>a:hover .menu__image{opacity:.92!important;filter:grayscale(0) saturate(1) brightness(.94) contrast(1.03)!important}
.menu nav>a:nth-child(odd):hover .menu__image{transform:scaleX(-1) scale(1.08)!important}
.menu nav>a:nth-child(even):hover .menu__image{transform:scale(1.08)!important}
.menu nav>a:nth-child(8):hover .menu__image{transform:scaleX(-1) scale(1.08)!important}

.menu nav>a:nth-child(odd) small,.menu nav>a:nth-child(odd) strong,.menu nav>a:nth-child(odd) em{grid-column:2!important;margin-left:0!important;margin-right:14px!important}
.menu nav>a:nth-child(even) small,.menu nav>a:nth-child(even) strong,.menu nav>a:nth-child(even) em{grid-column:1!important;margin-left:14px!important;margin-right:0!important}
.menu nav>a small{grid-row:1!important;align-self:end!important;margin-top:0!important}
.menu nav>a strong{grid-row:2!important;margin-top:2px!important}
.menu nav>a em{grid-row:3!important;margin-top:-2px!important;margin-bottom:0!important;line-height:1.1!important}

/* Faded horizontal rails with a restrained animated glow on hover. */
.menu nav>a::before,.menu nav>a::after{
  left:0!important;
  right:0!important;
  height:1px!important;
  opacity:.55!important;
  background:linear-gradient(90deg,transparent 0%,rgba(46,133,255,.42) 16%,rgba(150,210,255,.82) 50%,rgba(46,133,255,.42) 84%,transparent 100%)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  animation:none!important;
}
.menu nav>a:hover::before,.menu nav>a:hover::after{animation:evsMenuRailGlow 1.35s ease-in-out infinite!important}
@keyframes evsMenuRailGlow{0%,100%{opacity:.48;filter:brightness(.85)}50%{opacity:1;filter:brightness(1.65) drop-shadow(0 0 5px #2e85ff)}}

@media(max-width:900px){
  .menu nav>a:nth-child(n){grid-column:auto!important;grid-row:auto!important;--menu-offset:0px;--menu-hover:0px;clip-path:polygon(0 0,96% 0,100% 100%,4% 100%)!important}
  .menu::before{inset:90px 5% 55px}
}
/* ========================================================================== 
   V50 - MENU TYPOGRAPHY/RAILS, LOADER DIVIDER, CONTACT & MODAL POLISH
   ========================================================================== */
/* Remove the inherited grid row gap so every description sits directly under
   its menu title. */
.menu nav>a:nth-child(n){row-gap:2px!important}
.menu nav>a strong{line-height:1!important;align-self:end!important}
.menu nav>a em{
  margin-top:1px!important;
  align-self:start!important;
  font-size:8px!important;
  line-height:1.05!important;
  text-transform:uppercase!important;
}

/* Directional edge rails: left rail for the five left items, right rail for
   the three right items. */
.menu nav>a:nth-child(odd){
  border-left:4px solid #2e85ff!important;
  border-right:0!important;
  box-shadow:inset 7px 0 15px -10px #7fc5ff!important;
}
.menu nav>a:nth-child(even){
  border-right:4px solid #2e85ff!important;
  border-left:0!important;
  box-shadow:inset -7px 0 15px -10px #7fc5ff!important;
}
.menu nav>a:hover{border-color:#84c6ff!important}

/* Faded base rails plus an unmistakable moving light on hover. */
.menu nav>a::before,.menu nav>a::after{
  display:block!important;
  content:""!important;
  opacity:.58!important;
  background-image:linear-gradient(90deg,transparent 0%,rgba(46,133,255,.25) 12%,#2e85ff 32%,#e3f5ff 50%,#2e85ff 68%,rgba(46,133,255,.25) 88%,transparent 100%)!important;
  background-size:200% 100%!important;
  background-repeat:no-repeat!important;
}
.menu nav>a:hover::before{animation:evsMenuBorderSweep 1.25s linear infinite!important}
.menu nav>a:hover::after{animation:evsMenuBorderSweep 1.25s linear infinite reverse!important}
@keyframes evsMenuBorderSweep{from{background-position:160% 0;filter:drop-shadow(0 0 2px #2e85ff)}to{background-position:-60% 0;filter:drop-shadow(0 0 6px #63b4ff)}}

/* Long luminous division between the animated EVS system and its wordmark. */
.boot__separator{
  width:min(80vw,980px);
  height:1px;
  flex:0 0 auto;
  margin:2px 0 1px;
  background:linear-gradient(90deg,transparent 0%,rgba(46,133,255,.28) 12%,#2e85ff 38%,#bce5ff 50%,#2e85ff 62%,rgba(46,133,255,.28) 88%,transparent 100%);
  box-shadow:0 0 8px rgba(46,133,255,.8),0 0 22px rgba(46,133,255,.32);
  animation:evsBootSeparator 2.4s ease-in-out infinite;
}
@keyframes evsBootSeparator{0%,100%{opacity:.48;filter:brightness(.8)}50%{opacity:1;filter:brightness(1.35)}}

/* Uniform 80% panel backgrounds across the three contact information cards. */
.contact .team-card,.contact .contact-experts-card,.contact .contact-card{
  background:rgba(4,7,12,.8)!important;
}

/* Equal horizontal actions in the Old Site window. */
.evs-window__actions{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:12px!important}
.evs-window__actions .evs-window__button{
  flex:0 0 172px!important;
  width:172px!important;
  min-width:172px!important;
  height:46px!important;
  padding:0 14px!important;
  margin:0!important;
}

/* The visible tab fills the scrollbar-side strip while preserving a full
   unobstructed 31px label area to its left. */
#home > .evs-news:not(.open) .evs-news__toggle{
  right:calc(100% - var(--scrollbar-width, 10px))!important;
  width:calc(31px + var(--scrollbar-width, 10px))!important;
  padding:0 var(--scrollbar-width, 10px) 0 0!important;
  box-sizing:border-box!important;
}

@media(max-width:600px){
  .evs-window__actions{flex-direction:column!important}
  .evs-window__actions .evs-window__button{flex:0 0 46px!important;width:100%!important;min-width:100%!important}
}
/* V51 - exact 80vw loader divider and inclined directional menu rails. */
.boot__separator{width:80vw!important;max-width:none!important}

.menu nav>a{border-left:0!important;border-right:0!important}
.menu nav>a .menu__edge{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  display:block!important;
  margin:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,#bce7ff 0%,#2e85ff 35%,#1268c8 100%)!important;
  filter:drop-shadow(0 0 4px rgba(46,133,255,.95))!important;
  opacity:.9!important;
  transition:filter .35s,opacity .35s!important;
}
.menu nav>a:nth-child(odd) .menu__edge{
  clip-path:polygon(0 0,5px 0,calc(8% + 5px) 100%,8% 100%)!important;
}
.menu nav>a:nth-child(even) .menu__edge{
  clip-path:polygon(100% 0,calc(100% - 5px) 0,calc(92% - 5px) 100%,92% 100%)!important;
}
.menu nav>a:hover .menu__edge{opacity:1!important;filter:brightness(1.35) drop-shadow(0 0 8px #2e85ff)!important}
/* V52 - viewport-safe V offsets keep every inclined side rail visible. */
.menu nav>a:nth-child(1){--menu-offset:-80px;--menu-hover:-100px}
.menu nav>a:nth-child(2){--menu-offset:80px;--menu-hover:100px}
.menu nav>a:nth-child(3){--menu-offset:-60px;--menu-hover:-80px}
.menu nav>a:nth-child(4){--menu-offset:55px;--menu-hover:75px}
.menu nav>a:nth-child(5){--menu-offset:-40px;--menu-hover:-60px}
.menu nav>a:nth-child(6){--menu-offset:30px;--menu-hover:50px}
.menu nav>a:nth-child(7){--menu-offset:-20px;--menu-hover:-40px}
.menu nav>a:nth-child(8){--menu-offset:0px;--menu-hover:-20px}
/* ========================================================================== 
   V53 - PRESERVATION FIXES: NEWS, MENU, VISUALIZATION & PAGE-END HUD
   ========================================================================== */
/* Extend only the opened News surface to the right. Content geometry stays
   unchanged while the extra 100px removes the exposed strip. */
#home > .evs-news.open::after{
  content:"";
  position:absolute;
  left:100%;
  top:-1px;
  bottom:-1px;
  width:100px;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(7,14,25,.96),rgba(2,5,10,.97));
  border-top:1px solid rgba(46,133,255,.44);
  border-bottom:1px solid rgba(46,133,255,.28);
}

/* Exact 20px rail progression makes both side borders form clean diagonals. */
.menu nav>a:nth-child(1){--menu-offset:-80px;--menu-hover:-100px}
.menu nav>a:nth-child(2){--menu-offset:80px;--menu-hover:100px}
.menu nav>a:nth-child(3){--menu-offset:-60px;--menu-hover:-80px}
.menu nav>a:nth-child(4){--menu-offset:60px;--menu-hover:80px}
.menu nav>a:nth-child(5){--menu-offset:-40px;--menu-hover:-60px}
.menu nav>a:nth-child(6){--menu-offset:40px;--menu-hover:60px}
.menu nav>a:nth-child(7){--menu-offset:-20px;--menu-hover:-40px}
.menu nav>a:nth-child(8){--menu-offset:0px;--menu-hover:-20px}

/* Plain blue directional rails, without gradient shading. */
.menu nav>a .menu__edge{
  background:#2e85ff!important;
  filter:drop-shadow(0 0 4px rgba(46,133,255,.88))!important;
}

/* Keep the faded horizontal separators but remove their failed animation. */
.menu nav>a::before,.menu nav>a::after,
.menu nav>a:hover::before,.menu nav>a:hover::after{
  animation:none!important;
  background-position:center!important;
  background-size:100% 100%!important;
  filter:none!important;
}

/* Preserve the reveal animation, but hover no longer scales or reshapes the
   clipped panel. Only the image receives a restrained cinematic zoom. */
.visual-panel.reveal.visible:hover{
  transform:none!important;
  box-shadow:inset 0 0 0 1px rgba(117,192,255,.3),0 13px 32px rgba(0,0,0,.42),0 0 22px rgba(46,133,255,.3)!important;
}
.visual-panel.reveal.visible:hover img{transform:scale(1.045)!important}

/* Restore and protect the original end-of-page readout and Back to Top link.
   A previous contact-child rule had changed this HUD to relative positioning. */
.contact > .section-hud--contact{
  position:absolute!important;
  left:auto!important;
  right:var(--pad,clamp(20px,5vw,90px))!important;
  top:auto!important;
  bottom:22px!important;
  z-index:12!important;
  display:flex!important;
  width:auto!important;
  opacity:1!important;
  visibility:visible!important;
}
/* V54 - keep the preserved Contact HUD inside the visible end viewport even
   when the final snap section is taller than 100vh. */
.contact > .section-hud--contact{
  bottom:max(22px,calc(100% - 100vh + 22px))!important;
}

/* ===== SOURCE REGION: evs-responsive.css ===== */
/* RESPONSIVE ADAPTATION */
@media(max-width:900px){.topbar__status{display:none}.menu nav{grid-template-columns:1fr!important;gap:8px!important}.menu nav:before{display:none}.menu nav>a{grid-template-columns:34% 1fr!important;min-height:64px!important}.menu nav>a:nth-child(even){grid-template-columns:34% 1fr!important;text-align:left!important}.menu nav>a:nth-child(even) .menu__image{grid-column:1}.menu nav>a:nth-child(even) small,.menu nav>a:nth-child(even) strong,.menu nav>a:nth-child(even) em{grid-column:2}.latest-work__viewport{max-width:92vw}.work-card{flex-basis:138px!important}.work-categories{overflow:auto;justify-content:flex-start;padding-inline:18px}.ai__content,.creation__content{bottom:80px!important}.utility-dock{right:10px!important}}
@media(max-width:560px){.topbar__brand span{display:none}.topbar__actions>a{display:none}.hero h1 strong{letter-spacing:.3em}.latest-work__head small{display:none}.visual-panel{clip-path:polygon(4% 0,100% 0,96% 100%,0 100%)}.work-card{flex-basis:122px!important}}


/* ===== SOURCE REGION: evs-responsive-v55.css ===== */
/* EVS NEXT V55: final responsive cascade */
.services-mobile-toggle{display:none}
@media(min-width:901px){
.menu nav{width:min(960px,calc(100vw - 80px))!important;max-width:960px!important;column-gap:40px!important}
.menu nav>a:nth-child(1){--menu-offset:-200px;--menu-hover:-220px}.menu nav>a:nth-child(3){--menu-offset:-150px;--menu-hover:-170px}.menu nav>a:nth-child(5){--menu-offset:-100px;--menu-hover:-120px}.menu nav>a:nth-child(7){--menu-offset:-50px;--menu-hover:-70px}.menu nav>a:nth-child(8){--menu-offset:0;--menu-hover:-20px}
.menu nav>a:nth-child(2){--menu-offset:200px;--menu-hover:220px}.menu nav>a:nth-child(4){--menu-offset:50px;--menu-hover:70px}.menu nav>a:nth-child(6){--menu-offset:0;--menu-hover:20px}
.menu nav>a:nth-child(n){row-gap:0!important}.menu nav>a small{line-height:1!important;transform:translateY(-2px)}.menu nav>a strong{margin-top:5px!important}.menu nav>a em{margin-top:2px!important}
#events .events__content{margin-left:clamp(330px,31vw,410px)!important;padding-left:0!important;padding-right:var(--pad)!important;width:calc(100% - clamp(330px,31vw,410px))!important;max-width:820px!important}
}
@media(min-width:768px) and (max-width:1100px){.utility-dock .music-player{display:flex!important;width:198px!important}.utility-dock .music-player:hover,.utility-dock .music-player:focus-within{width:286px!important}.music-player .music-playlist{display:flex!important;width:286px!important;left:0!important;right:auto!important}}
@media(max-width:767px){
:root{--mobile-gutter:14px}.topbar{height:64px!important;padding:0 12px!important}.topbar__brand{gap:8px!important;max-width:calc(100vw - 120px)}.topbar__brand img{width:31px!important;height:31px!important;flex:0 0 31px}.topbar__brand span,.topbar__brand-name{display:block!important;white-space:nowrap!important;font-size:clamp(6px,1.75vw,8px)!important;font-weight:300!important;letter-spacing:.1em!important}
.latest-work{left:0!important;right:0!important;bottom:8px!important}.latest-work__head{padding:0 14px!important}.latest-work__viewport{max-width:100vw!important;padding:0 12px!important}.latest-work__track{gap:8px!important;justify-content:flex-start!important}.work-card{width:112px!important;flex:0 0 112px!important}.work-card__thumb{height:62px!important}.work-card b{font-size:7px!important}.work-card small{font-size:6px!important}.work-categories{justify-content:center!important;padding-inline:10px!important;gap:4px!important}.work-categories button{font-size:6px!important;padding:7px!important}
.utility-dock{left:10px!important;right:10px!important;bottom:10px!important;width:auto!important}.utility-dock .music-player{display:none!important}.utility-dock .chat-button.open{width:calc(100vw - 20px)!important;max-width:none!important}.utility-dock .chat-button.open .chat-inline{display:flex!important;flex:1 1 auto!important;min-width:0!important}
.services-v5{height:100svh!important;min-height:100svh!important;padding:72px 0 0!important;overflow:hidden!important}.services-v5__header{margin:0 14px!important;width:calc(100% - 28px)!important}.services-v5__header h2{font-size:clamp(22px,7vw,31px)!important}.services-v5__header>p:last-child{max-width:72%;font-size:10px!important}
.avatar-stage{display:flex!important;inset:0!important;width:100%!important;height:100%!important;opacity:.82!important;justify-content:center!important}.avatar-stage:before{inset:15% 9% 7%!important}.avatar-stage video{left:50%!important;right:auto!important;width:auto!important;height:82%!important;max-width:108vw!important;object-fit:contain!important;object-position:center bottom!important;transform:translateX(-50%)!important}.avatar-stage>span{right:12px!important;top:72px!important}#MoAi-MessageBox{transform:translate(-50%,-50%) scale(.78)!important}
.services-mobile-toggle{position:absolute;z-index:14;top:46%;right:0;display:flex;align-items:center;gap:7px;min-height:94px;padding:10px 8px;border:1px solid rgba(46,133,255,.55);border-right:0;border-radius:10px 0 0 10px;color:#dcecff;background:rgba(4,9,16,.9);writing-mode:vertical-rl;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.17em;transition:right .55s cubic-bezier(.22,1,.36,1)}.services-mobile-toggle i{font:normal 15px/1 Arial,sans-serif;transition:transform .4s}#services.mobile-panel-open .services-mobile-toggle{right:min(88vw,390px)}#services.mobile-panel-open .services-mobile-toggle i{transform:rotate(45deg)}
.services-v5__layout{position:absolute!important;z-index:13!important;top:98px!important;right:0!important;bottom:70px!important;display:flex!important;flex-direction:column!important;gap:0!important;width:min(88vw,390px)!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:rgba(3,8,15,.92)!important;border:1px solid rgba(46,133,255,.45)!important;border-right:0!important;border-radius:14px 0 0 14px!important;box-shadow:-18px 0 42px rgba(0,0,0,.48)!important;backdrop-filter:blur(18px)!important;transform:translateX(calc(100% + 2px))!important;opacity:.4;pointer-events:none;transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .35s!important}#services.mobile-panel-open .services-v5__layout{transform:translateX(0)!important;opacity:1;pointer-events:auto}
.service-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;width:100%!important;padding:7px!important;flex:0 0 auto!important;background:rgba(4,10,19,.96);border-bottom:1px solid rgba(46,133,255,.28)}.service-tabs button{min-width:0!important;padding:8px 5px!important;font-size:6px!important;line-height:1.25!important;gap:4px!important}.service-tabs button span{font-size:5px!important}.service-detail{width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;max-height:none!important;flex:1!important;padding:14px 15px 16px!important;overflow-y:auto!important;border:0!important;border-radius:0!important}.service-detail h3{font-size:15px!important}.service-detail>p:not(.micro-label){font-size:10px!important;line-height:1.5!important;margin-bottom:9px!important}.service-detail__img-wrap{height:clamp(88px,17vh,128px)!important;min-height:88px!important}
.visualization-v5{height:100svh!important;min-height:100svh!important;padding:72px 14px 24px!important;overflow:hidden!important}.visualization-v5__header{margin-bottom:10px!important}.visualization-v5__header h2{font-size:26px!important}.visualization-v5__header>p:last-child{font-size:9px!important}.visual-panels{display:flex!important;flex-direction:column!important;gap:7px!important;min-height:0!important;flex:1!important}.visual-panel,.visual-panel:hover{flex:1 1 0!important;min-height:0!important;height:auto!important}.visual-panel>span{padding:12px 15px!important}.visual-panel b{font-size:13px!important}.visual-panel em{display:none!important}
#events .events__content{justify-content:flex-end!important;align-items:center!important;text-align:center!important;width:100%!important;max-width:800px!important;margin:0 auto!important;padding:0 18px clamp(32px,5vh,54px)!important}#events .events__content h2{font-size:clamp(28px,9vw,43px)!important}#events .events__content>p:not(.screen__index){font-size:10px!important;line-height:1.5!important}#events .events__content>div{justify-content:center!important;gap:9px!important;margin-top:10px!important}#events .events__shade{background:linear-gradient(to top,rgba(3,5,9,.72),rgba(3,5,9,.24) 45%,transparent 74%)!important}
.contact{height:auto!important;min-height:100svh!important;padding:76px 14px 74px!important;overflow-y:auto!important}.contact .team-card{display:none!important}.contact-grid{display:flex!important;flex-direction:column!important;gap:12px!important;margin-top:12px!important}.contact-grid>div{width:100%!important;min-width:0!important;gap:12px!important}.contact .contact-experts-card,.contact .contact-card{display:block!important;width:100%!important;padding:17px!important}.contact__head h2{font-size:24px!important}.contact__head>p:last-child{font-size:10px!important}
}
@media(max-width:420px){.services-v5__layout{width:91vw!important}#services.mobile-panel-open .services-mobile-toggle{right:91vw}.work-card{width:106px!important;flex-basis:106px!important}.service-tabs button{font-size:5.5px!important}.contact-experts{grid-template-columns:1fr!important}}



/* ===== SOURCE REGION: evs-interface-v56.css ===== */
/* EVS NEXT V56 - final interface and mobile foundation */
.fullscreen-toggle{position:relative;width:34px;height:34px;padding:0;border:0;border-top:2px solid #2e85ff;border-right:2px solid #2e85ff;background:transparent;color:#2e85ff;cursor:pointer;box-shadow:4px -4px 12px rgba(46,133,255,.08);transition:filter .3s,box-shadow .3s,transform .3s}
.fullscreen-toggle i{position:absolute;right:7px;top:7px;width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.fullscreen-toggle:hover{color:#72baff;filter:brightness(1.35);box-shadow:6px -6px 18px rgba(46,133,255,.32);transform:translate(-1px,1px)}
.fullscreen-toggle[aria-pressed="true"] i{right:9px;top:9px;width:9px;height:9px}

@media(min-width:901px){#events .events__content{margin-left:clamp(20px,4vw,52px)!important;width:calc(100% - clamp(20px,4vw,52px))!important;max-width:760px!important;padding-left:0!important}}

.evs-window{width:min(700px,calc(100vw - 48px))!important;padding:52px!important;background-image:linear-gradient(90deg,rgba(3,7,13,.97) 0%,rgba(3,7,13,.86) 58%,rgba(3,7,13,.7) 100%),var(--evs-asset-main-logo,url('../assets/images/main-logo.avif'))!important;background-position:center!important;background-size:cover!important}
.evs-window::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(46,133,255,.09),transparent 44%,rgba(0,0,0,.28))}
.evs-window__description{max-width:580px}.evs-window__actions{margin-top:8px!important}
.evs-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 14px}
.evs-auth-button{height:48px;display:flex;align-items:center;justify-content:center;gap:11px;border:1px solid rgba(255,255,255,.2);border-radius:0;color:#fff;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.12em;cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s}
.evs-auth-button i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font:700 13px/1 Arial,sans-serif;font-style:normal}
.evs-auth-button--google{background:rgba(255,255,255,.1)}.evs-auth-button--google i{background:#fff;color:#4285f4}
.evs-auth-button--facebook{background:rgba(24,87,181,.38);border-color:rgba(73,139,238,.6)}.evs-auth-button--facebook i{background:#1877f2;color:#fff}
.evs-auth-button:hover{transform:translateY(-2px);border-color:#79bdff;box-shadow:0 0 22px rgba(46,133,255,.24)}
.evs-auth-note{margin:0 0 20px;color:#74869a;font-size:10px;line-height:1.5}
.evs-invite{position:relative;margin:10px 0 14px;padding:15px 16px 14px;border:1px solid rgba(71,154,232,.34);background:linear-gradient(145deg,rgba(7,19,33,.78),rgba(2,7,13,.72));box-shadow:inset 0 0 24px rgba(46,133,255,.05)}
.evs-invite::before,.evs-invite::after{content:"";position:absolute;width:20px;height:20px;pointer-events:none}.evs-invite::before{left:-1px;top:-1px;border-left:2px solid #2e85ff;border-top:2px solid #2e85ff}.evs-invite::after{right:-1px;bottom:-1px;border-right:2px solid #2e85ff;border-bottom:2px solid #2e85ff}
.evs-invite__heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.17em}.evs-invite__heading span{color:#a7d6ff}.evs-invite__heading small{color:#51677d;font:6px/1 Orbitron,Arial,sans-serif;letter-spacing:.12em}
.evs-invite__digits{display:flex;align-items:center;justify-content:center;gap:7px}.evs-invite__digits input{width:38px;height:46px;padding:0;border:1px solid rgba(101,158,211,.26);border-bottom-color:#2e85ff;border-radius:0;background:rgba(2,7,13,.88);color:#e8f6ff;text-align:center;text-transform:uppercase;font:500 17px/1 Orbitron,Arial,sans-serif;outline:none;caret-color:#65b8ff;transition:border-color .25s,box-shadow .25s,background .25s}.evs-invite__digits input:focus{border-color:#67b9ff;background:rgba(13,42,70,.62);box-shadow:0 0 15px rgba(46,133,255,.3)}.evs-invite__digits i{width:11px;height:1px;background:linear-gradient(90deg,rgba(75,137,194,.18),#4e91ce,rgba(75,137,194,.18))}
.evs-invite__submit{display:flex!important;margin:12px 0 0 auto;min-height:38px!important;padding-inline:14px!important}.evs-invite.is-checking{pointer-events:none;opacity:.72}.evs-invite.is-error{animation:evsInviteShake .32s ease}.evs-invite.is-error .evs-invite__digits input{border-color:#ff5360;box-shadow:0 0 12px rgba(255,67,82,.2)}
.evs-auth-button:disabled,.evs-auth-button[aria-disabled="true"]{color:#68727e!important;border-color:rgba(126,138,151,.18)!important;background:rgba(102,111,122,.07)!important;box-shadow:none!important;filter:grayscale(1)!important;cursor:not-allowed!important;pointer-events:none!important;opacity:.48}.evs-window-layer.is-authorized .evs-auth-button{opacity:1}.evs-window-layer.is-authorized .evs-invite{border-color:rgba(57,166,255,.6);box-shadow:inset 0 0 26px rgba(46,133,255,.1),0 0 18px rgba(46,133,255,.08)}
@keyframes evsInviteShake{25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media(max-width:560px){.evs-invite{padding-inline:10px}.evs-invite__digits{gap:4px}.evs-invite__digits input{width:31px;height:41px;font-size:14px}.evs-invite__digits i{width:7px}}

@media(max-width:767px){
.avatar-stage video{height:100%!important;width:auto!important;max-width:none!important;object-fit:contain!important;object-position:center bottom!important}
#events .events__content h2{font-size:clamp(20px,2.8vw,36px)!important;line-height:1.1!important}
#events .events__content h2 em{font-size:clamp(28px,4.2vw,58px)!important}
#events .events__content>p:not(.screen__index){font-size:12px!important;line-height:1.8!important;margin-bottom:24px!important}

.menu{padding:68px 16px 16px!important;overflow:hidden!important}
.menu__head{padding-bottom:8px!important}.menu nav{display:flex!important;flex-direction:column!important;gap:3px!important;width:100%!important;max-width:none!important;margin:8px 0!important;overflow:visible!important}

.menu nav>a:nth-child(n){display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:1fr 1fr!important;min-height:52px!important;height:52px!important;padding:0 10px!important;transform:none!important;clip-path:none!important;border-left:2px solid #2e85ff!important;border-right:0!important;background:linear-gradient(90deg,rgba(15,35,59,.62),rgba(3,7,13,.35))!important;text-align:left!important}
.menu nav>a .menu__image,.menu nav>a .menu__edge{display:none!important}.menu nav>a small{grid-column:1!important;grid-row:1/3!important;align-self:center!important;margin:0!important;transform:none!important}.menu nav>a strong{grid-column:2!important;grid-row:1!important;align-self:end!important;margin:0 0 2px!important;font-size:12px!important}.menu nav>a em{display:block!important;grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0!important;font-size:6px!important}
.menu nav>a:hover{transform:translateX(5px)!important}.menu__foot{margin-top:auto!important;transform:none!important;font-size:6px!important}

.contact-grid{display:flex!important;flex-direction:column!important}.contact-message-column{order:1!important}.contact-grid>div:first-child{order:2!important}
.contact .contact-card{padding:14px!important;transform:scale(0.9);transform-origin:top;margin-bottom:-10%!important}.contact-card h3{margin-top:0!important}.contact-card form{gap:8px!important}.contact-card textarea{min-height:64px!important}.contact-links{margin-top:8px!important}
.contact .contact-experts-card{display:grid!important;grid-template-columns:1fr 1px 1fr!important;gap:8px!important;padding:13px!important}.contact-experts-card h3,.contact-experts-card>i{grid-column:1/4!important}.contact-experts-card>i{margin-bottom:5px!important}.evs-contact-person{padding:0!important;gap:7px!important}.evs-contact-person__avatar{width:44px!important;height:44px!important;min-width:44px!important}.evs-contact-person__name{font-size:8px!important}.evs-contact-person__role,.evs-contact-person__email,.evs-contact-person__web,.whatsapp-number{font-size:6px!important}.contact-experts-card>div[style*="width:1px"]{height:68px!important}
.contact-social-block{display:block!important;order:2!important;margin-top:8px!important}.contact-social-block>p{display:none!important}.contact-social{display:flex!important;justify-content:flex-end!important}

.evs-window{width:calc(100vw - 24px)!important;padding:34px 22px!important}.evs-auth-actions{grid-template-columns:1fr}.evs-window__description{font-size:11px}.evs-window__actions{flex-direction:row!important}.evs-window__actions .evs-window__button{width:auto!important;min-width:140px!important}
.fullscreen-toggle{width:28px;height:28px}.fullscreen-toggle i{right:5px;top:5px;width:10px;height:10px}
}
@media(max-height:700px) and (max-width:767px){.menu nav>a:nth-child(n){height:45px!important;min-height:45px!important}.menu{padding-top:62px!important}.menu__foot{display:none!important}}

/* V56.1 visual verification corrections */
@media(min-width:901px){#events .events__content{margin-left:calc(clamp(20px,4vw,52px) - var(--pad))!important;width:calc(100% - clamp(20px,4vw,52px))!important}}
@media(max-width:767px){
.menu nav>a:nth-child(n) small{grid-column:1!important;grid-row:1/3!important;align-self:center!important;justify-self:center!important;margin:0!important;transform:none!important}
.menu nav>a:nth-child(n) strong{grid-column:2!important;grid-row:1!important;align-self:end!important;margin:0 0 2px!important}
.menu nav>a:nth-child(n) em{grid-column:2!important;grid-row:2!important;align-self:start!important;margin:0!important}
body:has(.menu.open) .utility-dock{opacity:0!important;pointer-events:none!important}
}
@media(max-width:767px){#events .events__content h2{font-size:26px!important}}
@media(max-width:767px){.menu.open~.utility-dock{opacity:0!important;visibility:hidden!important;pointer-events:none!important}}


/* ===== SOURCE REGION: evs-interface-v59.css ===== */
/* EVS NEXT V59 - focused interface corrections */
.fullscreen-toggle{position:fixed!important;z-index:160!important;top:0!important;right:0!important;width:24px!important;height:24px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;color:#2e85ff!important}
.fullscreen-toggle i{position:absolute!important;top:0!important;right:0!important;width:0!important;height:0!important;border:0!important;border-style:solid!important;border-width:0 14px 14px 0!important;border-color:transparent #2e85ff transparent transparent!important;filter:drop-shadow(0 0 4px rgba(46,133,255,.5));transition:border-right-color .25s,filter .25s,transform .25s!important}
.fullscreen-toggle:hover{background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important}
.fullscreen-toggle:hover i{border-right-color:#62b4ff!important;filter:drop-shadow(0 0 7px #2e85ff);transform:scale(1.08)!important}
.fullscreen-toggle[aria-pressed="true"] i{top:0!important;right:0!important;width:0!important;height:0!important;transform:scale(.78)!important}
.topbar__actions{padding-right:8px}

.visual-panel,.visual-panel.reveal,.visual-panel.reveal.visible,.visual-panel.reveal.visible:hover{clip-path:none!important;border-radius:0!important}

#evs-old-site-window .evs-window{height:90vh!important;max-height:90vh!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#evs-old-site-window .evs-window__form{width:100%!important}
#evs-old-site-window .evs-window__actions{margin-top:18px!important;padding-top:20px!important;border-top:1px solid transparent!important;border-image:linear-gradient(90deg,transparent,#2e85ff 20%,#8dcbff 50%,#2e85ff 80%,transparent) 1!important}

.lightbox-container,.lightbox-player-wrapper{border-radius:0!important}

@media(max-width:767px){
.fullscreen-toggle{width:18px!important;height:18px!important}.fullscreen-toggle i{border-width:0 11px 11px 0!important}.topbar__actions{padding-right:6px!important}
.utility-dock{left:auto!important;right:10px!important;bottom:50px!important;justify-content:flex-end!important}.utility-dock .chat-button{margin-left:auto!important}
.contact-message-column{display:contents!important}.contact-message-column .contact-card{order:1!important}.contact-grid>div:first-child{order:2!important}.contact-social-block{order:3!important;width:100%!important;margin-top:4px!important}.contact-social{justify-content:flex-end!important}
#services.mobile-panel-open .services-v5__layout:hover{transform:translateX(-4px)!important;border-color:#67b5ff!important;box-shadow:-20px 0 48px rgba(0,0,0,.52),0 0 28px rgba(46,133,255,.28)!important}
.services-v5__layout{transition:transform .58s cubic-bezier(.22,1,.36,1),opacity .35s,border-color .3s,box-shadow .35s!important}
.video-lightbox{padding:12px!important}
.video-lightbox .lightbox-container{width:calc(100vw - 20px)!important;height:auto!important;max-height:88svh!important;padding:12px!important}
.video-lightbox .lightbox-content{flex:0 0 auto!important;min-height:0!important}
.video-lightbox .lightbox-player-wrapper{width:100%!important;height:auto!important;aspect-ratio:16/9!important;flex:0 0 auto!important}
.video-lightbox .lightbox-footer{margin-top:9px!important;gap:7px!important}
.video-lightbox .lightbox-tabs{padding-bottom:2px!important}.video-lightbox .lightbox-tab{font-size:6px!important;padding:6px 9px!important}
.video-lightbox .playlist-item{padding:3px 6px!important}.video-lightbox .lightbox-close{top:5px!important;right:5px!important}
#evs-old-site-window .evs-window{height:90svh!important;max-height:90svh!important;padding:28px 20px!important}
}

@media(max-width:767px){.utility-dock .chat-button{position:fixed!important;left:auto!important;right:10px!important;bottom:10px!important}}
@media(max-width:767px){.utility-dock .chat-button{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-left:auto!important}}

/* V64 - project window parity with the Old Site window. */
#evs-project-window .evs-window{height:90vh!important;max-height:90vh!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
#evs-project-window .evs-window__actions{margin-top:18px!important;padding-top:20px!important;border-top:1px solid transparent!important;border-image:linear-gradient(90deg,transparent,#2e85ff 20%,#8dcbff 50%,#2e85ff 80%,transparent) 1!important}
@media(max-width:767px){#evs-project-window .evs-window{height:90svh!important;max-height:90svh!important;padding:28px 20px!important}}


/* ===== SOURCE REGION: evs-panel-v62.css ===== */
/* EVS NEXT V62 - shared mobile slide-panel system */
.fullscreen-toggle i{border-right-color:rgba(46,133,255,.55)!important;filter:drop-shadow(0 0 3px rgba(46,133,255,.32))!important}
.fullscreen-toggle:hover i{border-right-color:rgba(98,180,255,.92)!important;filter:drop-shadow(0 0 6px rgba(46,133,255,.72))!important}

@media(max-width:767px){
.evs-panel{border:1px solid rgba(46,133,255,.44)!important;border-right:0!important;border-radius:0!important;background:linear-gradient(145deg,rgba(7,14,25,.96),rgba(2,5,10,.97))!important;box-shadow:-18px 18px 48px rgba(0,0,0,.5),0 0 28px rgba(46,133,255,.12)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important}
.evs-panel__toggle{width:29px!important;height:96px!important;min-height:96px!important;padding:0!important;border:1px solid rgba(46,133,255,.5)!important;border-right:0!important;border-radius:0!important;background:linear-gradient(180deg,rgba(19,75,137,.84),rgba(4,13,24,.96))!important;color:#c8e8ff!important;display:grid!important;place-items:center!important;box-shadow:-8px 8px 22px rgba(0,0,0,.35)!important;transition:border-color .3s,box-shadow .3s,filter .3s,right .55s cubic-bezier(.22,1,.36,1)!important}
.evs-panel__toggle span{writing-mode:vertical-rl!important;text-orientation:mixed!important;text-transform:uppercase!important;font:7px/1 Orbitron,Arial,sans-serif!important;letter-spacing:.28em!important}
.evs-panel__toggle:hover{border-color:#78bdff!important;box-shadow:-8px 8px 25px rgba(46,133,255,.28)!important;filter:brightness(1.2)!important}
.services-mobile-toggle{top:46%!important;right:0!important;gap:0!important}
.services-mobile-toggle i{display:none!important}
#services.mobile-panel-open .services-mobile-toggle{right:min(88vw,390px)!important}
.services-v5__layout.evs-panel--services{border-radius:0!important;background:linear-gradient(145deg,rgba(7,14,25,.96),rgba(2,5,10,.97))!important}
#services.mobile-panel-open .services-v5__layout.evs-panel--services:hover{border-color:#78bdff!important;box-shadow:-18px 18px 48px rgba(0,0,0,.55),0 0 28px rgba(46,133,255,.24)!important}
}
@media(max-width:420px){#services.mobile-panel-open .services-mobile-toggle{right:91vw!important}}



/* ===== SOURCE REGION: evs-news-v65.css ===== */
/* EVS NEXT V65 - News editorial layout */
.evs-news__story{grid-template-columns:124px minmax(0,1fr)!important;gap:10px 14px!important;align-items:start!important}
.evs-news__story img{grid-column:1!important;grid-row:1/3!important;width:124px!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important}
.evs-news__story p{grid-column:2!important;grid-row:1!important;text-align:left!important;text-align-last:auto!important;hyphens:none}
.evs-news__link{grid-column:2!important;grid-row:2!important;display:inline-flex;width:max-content;max-width:100%;color:#79bdff;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.12em;text-decoration:none;transition:color .3s,text-shadow .3s,transform .3s}
.evs-news__link[hidden]{display:none!important}.evs-news__link:hover{color:#fff;text-shadow:0 0 11px rgba(46,133,255,.8);transform:translateX(3px)}
@media(max-width:700px){.evs-news__story{grid-template-columns:110px minmax(0,1fr)!important;gap:8px 11px!important}.evs-news__story img{width:110px!important}}



/* ===== SOURCE REGION: evs-cookie-v66.css ===== */
/* EVS NEXT V66 - Cookie consent and natural menu artwork orientation */
.evs-cookie{
  position:fixed;
  left:50%;
  bottom:24px;
  z-index:940;
  width:min(760px,calc(100vw - 48px));
  padding:0;
  border:1px solid rgba(46,133,255,.48);
  border-radius:0;
  background:linear-gradient(145deg,rgba(7,14,25,.97),rgba(2,5,10,.98));
  box-shadow:0 20px 58px rgba(0,0,0,.58),0 0 30px rgba(46,133,255,.14);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  filter:blur(8px);
  transform:translate(-50%,calc(100% + 42px));
  transition:opacity .42s ease,filter .46s ease,transform .62s cubic-bezier(.22,1,.36,1);
  overflow:hidden;
  pointer-events:none;
}
.evs-cookie[hidden]{display:none!important}
.evs-cookie.is-visible{opacity:1;filter:blur(0);transform:translate(-50%,0);pointer-events:auto}
.evs-cookie::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#2e85ff 24%,#d9f0ff 50%,#2e85ff 76%,transparent);background-size:55% 100%;background-repeat:no-repeat;animation:evsCookieRail 3.4s linear infinite;pointer-events:none}
.evs-cookie__topline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px 10px;border-bottom:1px solid rgba(46,133,255,.25);color:#63809e;text-transform:uppercase;font:6px/1 Orbitron,Arial,sans-serif;letter-spacing:.18em}
.evs-cookie__topline span:last-child{color:#74baff}
.evs-cookie__body{display:flex;align-items:center;gap:28px;padding:18px}
.evs-cookie__copy{min-width:0;flex:1}
.evs-cookie h2{margin:0 0 8px;color:#eef6ff;font:italic 400 20px/1.05 EVS,Orbitron,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.evs-cookie p{max-width:520px;margin:0;color:#9ba9b7;font-size:10px;line-height:1.65}
.evs-cookie__actions{display:flex;flex:0 0 auto;gap:8px}
.evs-cookie__button{position:relative;min-width:118px;min-height:42px;padding:0 16px;border-radius:0;color:#eef6ff;text-transform:uppercase;font:7px/1 Orbitron,Arial,sans-serif;letter-spacing:.14em;cursor:pointer;overflow:hidden;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s,color .3s}
.evs-cookie__button::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 24%,rgba(255,255,255,.22),transparent 68%);transform:translateX(-115%);transition:transform .65s ease}
.evs-cookie__button:hover{transform:translateY(-2px)}
.evs-cookie__button:hover::before{transform:translateX(115%)}
.evs-cookie__button--accept{border:1px solid #2e85ff;background:linear-gradient(180deg,rgba(46,133,255,.3),rgba(17,68,132,.24));box-shadow:0 0 17px rgba(46,133,255,.13)}
.evs-cookie__button--accept:hover{border-color:#77bcff;box-shadow:0 0 24px rgba(46,133,255,.36)}
.evs-cookie__button--decline{border:1px solid rgba(148,166,187,.38);background:rgba(255,255,255,.025);color:#a7b3c0}
.evs-cookie__button--decline:hover{border-color:rgba(196,215,234,.68);color:#eef6ff;box-shadow:0 0 18px rgba(150,185,218,.12)}
@keyframes evsCookieRail{from{background-position:-55% 0}to{background-position:155% 0}}

/* Preserve the original direction of every menu image. */
.menu nav>a:nth-child(n) .menu__image{transform:scale(1.02)!important}
.menu nav>a:nth-child(n):hover .menu__image{transform:scale(1.08)!important}

@media(max-width:700px){
  .evs-cookie{bottom:10px;width:calc(100vw - 20px)}
  .evs-cookie__topline{padding:10px 13px 9px}
  .evs-cookie__body{align-items:stretch;flex-direction:column;gap:14px;padding:15px 13px 13px}
  .evs-cookie h2{font-size:17px}
  .evs-cookie p{font-size:9px}
  .evs-cookie__actions{width:100%}
  .evs-cookie__button{flex:1;min-width:0}
}

/* ===== SOURCE REGION: evs-layout-v67.css ===== */
/* EVS NEXT V67 - Menu media alignment and unified glass panels */

/* Use the artwork as the background of the complete menu selection. Keeping it
   out of the grid also prevents it from stretching the number/title rows. */
@media(min-width:901px){
  .menu nav>a:nth-child(n){
    position:relative!important;
    isolation:isolate;
    grid-template-rows:min-content min-content min-content!important;
    row-gap:1px!important;
    align-content:center!important;
  }
  .menu nav>a .menu__image{
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    opacity:.62!important;
    background-image:linear-gradient(90deg,rgba(2,5,9,.7) 0%,rgba(2,5,9,.2) 20%,rgba(2,5,9,.12) 50%,rgba(2,5,9,.2) 80%,rgba(2,5,9,.7) 100%),var(--evs-asset-menu-select,url('../assets/images/menu-select01.avif'))!important;
    background-position:center!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    filter:grayscale(1) saturate(.12) brightness(.58) contrast(1.08)!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)!important;
    transform:scale(1.02)!important;
    transform-origin:center!important;
  }
  .menu nav>a:nth-child(n) .menu__image{grid-column:auto!important;grid-row:auto!important;background-position:center!important}
  .menu nav>a:nth-child(n):hover .menu__image{
    opacity:.9!important;
    filter:grayscale(0) saturate(1) brightness(.9) contrast(1.04)!important;
    transform:scale(1.06)!important;
  }
  .menu nav>a small,.menu nav>a strong,.menu nav>a em{position:relative!important;z-index:2!important}
  .menu nav>a small{margin-top:0!important;transform:translateY(0)!important}
  .menu nav>a strong{margin-top:0!important}
  .menu nav>a em{margin-top:1px!important}
}

/* Consistent translucent glass for the Services content and every framed
   Contact panel. */
.service-detail.glass-panel,
.contact .team-card,
.contact .contact-experts-card,
.contact .contact-card{
  background:rgba(4,7,12,.70)!important;
  backdrop-filter:blur(20px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.08)!important;
}

/* ===== SOURCE REGION: evs-layout-v68.css ===== */
/* EVS NEXT V68 - precise menu alignment, scrollbar-safe header, clearer Services glass */

/* Leave the page scrollbar exposed while keeping the header anchored left. */
.topbar{
  left:0!important;
  right:var(--scrollbar-width, 0px)!important;
  width:auto!important;
  max-width:none!important;
}

/* The fullscreen control intentionally remains above the top of the scrollbar. */
.fullscreen-toggle{
  position:absolute!important;
  top:0!important;
  right:calc(-1 * var(--scrollbar-width, 0px))!important;
  z-index:10060!important;
}

/* Successful project verification replaces the code controls with one clear state. */
.evs-invite__granted{display:none;margin:0;min-height:62px;align-items:center;justify-content:center;gap:10px;color:#bfe4ff;text-transform:uppercase;font:500 11px/1 Orbitron,Arial,sans-serif;letter-spacing:.2em;text-shadow:0 0 14px rgba(46,133,255,.58)}
.evs-invite__granted span{color:#fff;text-shadow:0 0 12px #2e85ff}
.evs-window-layer.is-authorized .evs-invite__heading,.evs-window-layer.is-authorized .evs-invite__digits,.evs-window-layer.is-authorized .evs-invite__submit{display:none!important}
.evs-window-layer.is-authorized .evs-invite__granted{display:flex}

@media (min-width:901px){
  /* Preserve the original five-left / three-right staggered menu arrangement. */
  .menu nav>a:nth-child(1){--menu-offset:-80px!important}
  .menu nav>a:nth-child(2){--menu-offset:50px!important}
  .menu nav>a:nth-child(3){--menu-offset:-60px!important}
  .menu nav>a:nth-child(4){--menu-offset:50px!important}
  .menu nav>a:nth-child(5){--menu-offset:-40px!important}
  .menu nav>a:nth-child(6){--menu-offset:50px!important}
  .menu nav>a:nth-child(7){--menu-offset:-20px!important}
  .menu nav>a:nth-child(8){--menu-offset:50px!important}
  .menu nav>a:nth-child(9){--menu-offset:0px!important}
  .menu nav>a:nth-child(10){--menu-offset:50px!important}

  /* Preserve the original directional thick-blue borders. */
  .menu nav>a:nth-child(odd){
    border-left:4px solid #2e85ff!important;
    border-right:0!important;
  }
  .menu nav>a:nth-child(even){
    border-right:4px solid #2e85ff!important;
    border-left:0!important;
  }

  /* Text groups sit exactly 80px from the outside edge of their blue border.
     The 76px inset plus the 4px border equals an 80px measured distance. */
  .menu nav>a .menu__copy{
    position:absolute!important;
    top:50%!important;
    z-index:3!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:1px!important;
    width:max-content!important;
    max-width:calc(100% - 160px)!important;
    transform:translateY(-50%)!important;
    pointer-events:none!important;
  }
  .menu nav>a:nth-child(odd) .menu__copy{
    left:76px!important;
    right:auto!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .menu nav>a:nth-child(even) .menu__copy{
    right:76px!important;
    left:auto!important;
    align-items:flex-end!important;
    text-align:right!important;
  }
  .menu nav>a .menu__copy small,
  .menu nav>a .menu__copy strong,
  .menu nav>a .menu__copy em{
    position:static!important;
    inset:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    text-align:inherit!important;
  }
  .menu nav>a .menu__copy strong,
  .menu nav>a .menu__copy em{white-space:nowrap!important}
}

/* Let the existing compact menu layout continue to control small screens. */
@media (max-width:900px){
  .menu nav>a .menu__copy{display:contents!important}
}

/* Reduce the dark veil and make the active service artwork visible through glass. */
.services-v5__shade{
  background:
    linear-gradient(90deg,rgba(3,5,9,.62) 0%,rgba(3,5,9,.36) 48%,rgba(3,5,9,.16) 100%),
    linear-gradient(0deg,rgba(2,4,8,.28),rgba(2,4,8,.10))!important;
}
.service-detail.glass-panel{
  background:linear-gradient(135deg,rgba(5,10,18,.42),rgba(4,8,14,.22))!important;
  backdrop-filter:blur(7px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.22)!important;
  border-color:rgba(125,184,255,.30)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* ===== SOURCE REGION: evs-layout-v69.css ===== */
/* EVS NEXT V69 - final layout refinements requested by client */

/* News title: smaller and explicitly left-aligned. */
.evs-news h2{
  width:100%!important;
  margin:12px 0 10px!important;
  font-size:14px!important;
  line-height:1.15!important;
  text-align:left!important;
}

/* Join the service selector directly to its content frame. */
@media (min-width:901px){
  .services-v5__layout{
    gap:0!important;
  }
  .service-tabs,
  .service-detail.glass-panel{
    margin:0!important;
  }
}

/* Match every Contact content frame to the approved Services glass. */
.contact .team-card,
.contact .contact-experts-card,
.contact .contact-card{
  background:linear-gradient(135deg,rgba(5,10,18,.42),rgba(4,8,14,.22))!important;
  backdrop-filter:blur(7px) saturate(1.22)!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.22)!important;
  border-color:rgba(125,184,255,.30)!important;
  box-shadow:0 22px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08)!important;
}

/* Darker Visualization backdrop for stronger text contrast. */
.visualization-v5{
  background-image:
    linear-gradient(180deg,rgba(2,5,10,.64),rgba(2,5,10,.90)),
    var(--evs-asset-visualization,url('../assets/images/visualization-bg.avif')),
    var(--evs-asset-visual-1,url('../assets/images/visual1-bg.avif'))!important;
}

/* ===== SOURCE REGION: evs-layout-v70.css ===== */
/* EVS NEXT V70 - restore open-menu card positions from D:/EVS/BACKUP/evsNext */
@media (min-width:901px){
  .menu nav>a:nth-child(1){--menu-offset:-200px!important;--menu-hover:-220px!important}
  .menu nav>a:nth-child(2){--menu-offset:200px!important;--menu-hover:220px!important}
  .menu nav>a:nth-child(3){--menu-offset:-150px!important;--menu-hover:-170px!important}
  .menu nav>a:nth-child(4){--menu-offset:150px!important;--menu-hover:170px!important}
  .menu nav>a:nth-child(5){--menu-offset:-100px!important;--menu-hover:-120px!important}
  .menu nav>a:nth-child(6){--menu-offset:100px!important;--menu-hover:120px!important}
  .menu nav>a:nth-child(7){--menu-offset:-50px!important;--menu-hover:-70px!important}
  .menu nav>a:nth-child(8){--menu-offset:50px!important;--menu-hover:70px!important}
  .menu nav>a:nth-child(9){--menu-offset:0px!important;--menu-hover:-20px!important}
  .menu nav>a:nth-child(10){--menu-offset:0px!important;--menu-hover:20px!important}
}

/* ===== SOURCE REGION: evs-layout-v71.css ===== */
/* EVS NEXT V71 - avatar-sized Services arc and stronger glass opacity */

/* Match the arc to the square avatar video instead of the full-width stage. */
@media (min-width:768px){
  .avatar-stage::before{
    inset:auto 0 0 auto!important;
    height:100%!important;
    width:auto!important;
    aspect-ratio:1 / 1!important;
    border-radius:50% 50% 12px 12px!important;
  }
}

/* Return Services and its matched Contact frames to 80% black glass. */
.service-detail.glass-panel,
.contact .team-card,
.contact .contact-experts-card,
.contact .contact-card{
  background:rgba(4,7,12,.80)!important;
  backdrop-filter:blur(7px) saturate(1.18)!important;
  -webkit-backdrop-filter:blur(7px) saturate(1.18)!important;
}

/* ===== SOURCE REGION: evs-layout-v72.css ===== */
/* EVS NEXT V72 - 60% matched glass opacity */
.service-detail.glass-panel,
.contact .team-card,
.contact .contact-experts-card,
.contact .contact-card{
  background:rgba(4,7,12,.60)!important;
}


/* FINAL DESIGN PARITY: approved EVS typography and uploaded backgrounds */
.hero h1,.hero h1 strong,.services-v5__header h2,.visualization-v5__header h2,.contact__head h2,.visual-panel b,.service-detail h3,.team-feature h3,.contact-card h3{font-family:EVS,Orbitron,sans-serif!important;font-weight:400!important;-webkit-font-smoothing:antialiased}
.menu nav>a .menu__image{background-image:linear-gradient(90deg,rgba(2,5,9,.78),rgba(2,5,9,.2)),var(--menu-img)!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.visualization-v5{background:linear-gradient(180deg,rgba(1,4,9,.48),rgba(1,4,9,.78)),var(--evs-asset-visualization,url('../assets/images/visualization-bg.avif')) center/cover no-repeat!important}
.contact{background:linear-gradient(180deg,rgba(2,5,9,.1) 0%,rgba(2,5,9,.34) 54%,rgba(2,5,9,.62) 100%),var(--evs-asset-contact,url('../assets/images/contact-bg.avif')) center/cover no-repeat!important}

/* ==========================================================================
   EVS HOME V1.3 - FINAL MEDIA AND NEWS CORRECTIONS
   ========================================================================== */
.evs-services-video iframe{inset:0!important;width:100%!important;height:100%!important;transform:none!important;object-fit:contain!important;filter:saturate(.86) contrast(1.04) brightness(.86)!important}
.evs-services-video{border-radius:0!important}
.video-lightbox .lightbox-container{width:min(1120px,calc(100vw - 80px),calc(167vh - 198px))!important;max-width:1120px!important;height:auto!important;max-height:94vh!important}
.video-lightbox .lightbox-content{min-height:0!important;flex:0 0 auto!important}
.video-lightbox .lightbox-player-wrapper{width:100%!important;height:auto!important;aspect-ratio:16/9!important;flex:0 0 auto!important}
.video-lightbox #lightbox-yt-player,
.video-lightbox #lightbox-yt-player iframe{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}

.evs-news__content{height:318px!important;min-height:318px!important;display:flex!important;flex-direction:column!important}
.evs-news__story{min-height:78px}
.evs-news__footer{margin-top:auto!important}
.evs-news__footer button:disabled,
.evs-news__footer button[aria-disabled="true"]{border-color:rgba(115,128,143,.2)!important;background:rgba(90,101,113,.05)!important;color:#48525d!important;box-shadow:none!important;filter:none!important;cursor:default!important;pointer-events:none!important;opacity:.58}

@media(max-width:767px){
  .video-lightbox .lightbox-container{width:calc(100vw - 40px)!important;max-width:none!important;max-height:60vh!important;margin:20px!important}
  .evs-news__content{height:300px!important;min-height:300px!important}
  .latest-work{display:none!important}
}
/* ==========================================================================
   EVS HOME V1.4 - COMPACT VIDEO LIGHTBOX WITH DIRECT PREVIOUS/NEXT CONTROLS
   ========================================================================== */
.video-lightbox{padding:12px!important}
.video-lightbox .lightbox-container{width:min(1280px,calc(100vw - 40px),calc(176vh - 118px))!important;max-width:1280px!important;max-height:96vh!important;padding:12px!important}
.video-lightbox .lightbox-content>p{margin-bottom:6px!important}
.video-lightbox .lightbox-player-row{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%}
.video-lightbox .lightbox-player-wrapper{width:100%!important;aspect-ratio:16/9!important}
.video-lightbox .lightbox-nav{width:34px;height:72px;border:1px solid rgba(70,155,235,.24);background:rgba(6,16,27,.58);color:#718aa2;font:300 31px/1 Arial,sans-serif;cursor:pointer;transition:color .3s,border-color .3s,background .3s,transform .3s}
.video-lightbox .lightbox-nav:hover{color:#b8e0ff;border-color:#4da8fa;background:rgba(19,65,105,.48);transform:scale(1.05)}
.video-lightbox .lightbox-footer{margin-top:8px!important;gap:7px!important}
.video-lightbox .lightbox-tabs{padding-bottom:2px!important}.video-lightbox .lightbox-tab{padding-top:6px!important;padding-bottom:6px!important}
.video-lightbox .lightbox-close{top:4px!important;right:4px!important}
@media(max-width:767px){
  .video-lightbox .lightbox-container{width:calc(100vw - 12px)!important;padding:8px!important;max-height:94svh!important}
  .video-lightbox .lightbox-player-row{grid-template-columns:24px minmax(0,1fr) 24px;gap:3px}
  .video-lightbox .lightbox-nav{width:24px;height:48px;font-size:24px}
}

/* ==========================================================================
   EVS HOME V1.5 - NEWS ABOVE SECTION NAVIGATION WITH CONTENT CROSSFADE
   ========================================================================== */
.evs-news.evs-news--floating{position:fixed!important;z-index:86!important;top:112px!important;right:calc(var(--scrollbar-width,10px) + 22px)!important}
.evs-news.evs-news--floating .evs-news__content{transition:opacity .22s ease,transform .25s ease}
.evs-news.evs-news--floating .evs-news__content.is-switching{opacity:0;transform:translateY(7px)}
.evs-news [data-news-prev]:disabled,.evs-news [data-news-next]:disabled{opacity:.22!important;filter:grayscale(1);cursor:default!important;pointer-events:none}
@media(max-width:700px){.evs-news.evs-news--floating{top:84px!important}}

/* EVS HOME V1.6 - scrollbar-adjacent News panel and right-aligned MoAI. */
.evs-news.evs-news--floating{right:var(--scrollbar-width,10px)!important}
#home>.evs-news.evs-news--floating:not(.open){transform:translateX(100%)!important}
#home>.evs-news.evs-news--floating:not(.open) .evs-news__toggle{right:100%!important;width:31px!important;padding:0!important}
.avatar-stage[data-moai-service]>.evs-moai-video{object-position:right bottom!important}
/* EVS HOME V1.7 - section-owned News and approved italic display typography. */
#home>.evs-news{position:absolute!important;z-index:86!important;top:112px!important;right:0!important}
#home>.evs-news:not(.open){transform:translateX(100%)!important}
#home>.evs-news:not(.open) .evs-news__toggle{right:100%!important;width:31px!important;padding:0!important}
/* Display-title italics are owned by .evs-display-title in evs-core.css. */
/* EVS HOME V1.9 - closable Services detail without affecting its selection rail. */
.service-detail[hidden]{display:none!important}
.service-detail__close{position:absolute!important;z-index:8!important;top:8px!important;right:8px!important}
.evs-services-video iframe{background:#02060b!important}
/* ========================================================================== 
   EVS HOME V2.0 - RESTORED FUNCTIONALITY CONTRACT
   ========================================================================== */
/* News is owned by Home, so its crossfade must not depend on the retired floating class. */
#home > .evs-news .evs-news__content{
  transition:opacity .24s ease,transform .28s cubic-bezier(.22,1,.36,1)!important;
}
#home > .evs-news .evs-news__content.is-switching{
  opacity:0!important;
  transform:translateY(7px)!important;
}

/* EVS MOBILE HIDING (Contact Menu, Social, Music Player) */
@media (max-width: 767px) {
  .menu nav a[aria-label="Contact"],
  .menu nav a[href*="#contact"],
  .menu__foot {
    display: none !important;
  }
  .contact-social-block, 
  .contact-social {
    display: none !important;
  }
  .music-player {
    display: none !important;
  }
  
  /* Events: content text on top */
  #events .events__content {
    justify-content: flex-start !important;
    padding-top: 140px !important;
  }
  
  /* Services: always open, adjusted height */
  .services-v5__layout {
    transform: translateX(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    top: 180px !important;
    bottom: 20px !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 24px 24px 0 0 !important;
    border: 1px solid rgba(46,133,255,0.45) !important;
    border-bottom: 0 !important;
  }
  .services-mobile-toggle {
    display: none !important;
  }
  .contact-experts-card {
    display: none !important;
  }
}


/* Services detail leaves and returns from the left without moving its selection rail. */
.service-detail{will-change:opacity,transform}
.service-detail.is-closing{
  pointer-events:none!important;
  animation:evsServicePanelOutLeft .42s cubic-bezier(.55,.02,.78,.3) both!important;
}
.service-detail.is-opening{
  animation:evsServicePanelInLeft .52s cubic-bezier(.22,1,.36,1) both!important;
}
@keyframes evsServicePanelOutLeft{
  from{opacity:1;transform:translateX(0)}
  to{opacity:0;transform:translateX(-48px)}
}
@keyframes evsServicePanelInLeft{
  from{opacity:0;transform:translateX(-48px)}
  to{opacity:1;transform:translateX(0)}
}
/* ========================================================================== 
   EVS HOME V2.1 - LATEST WORK USES THE SHARED POINTER-RAIL CONTRACT
   ========================================================================== */
.latest-work__viewport.evs-pointer-rail{
  display:block!important;
  justify-content:initial!important;
  max-width:100vw!important;
  padding-left:0!important;
  padding-right:0!important;
}
.latest-work__track{
  display:flex!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
  justify-content:center!important;
  margin:0!important;
  padding-left:calc(var(--evs-rail-fade) + 14px)!important;
  padding-right:calc(var(--evs-rail-fade) + 14px)!important;
  transform:none!important;
  transition:opacity .25s ease!important;
}

/* EVS MOBILE OPEN MENU REDESIGN - MATCH PC VERSION */
@media (max-width: 767px) {
  .menu nav {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding-bottom: 24px !important;
  }
  .menu nav>a:nth-child(n) {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 75px !important;
    height: auto !important;
    padding: 12px !important;
    background: transparent !important;
    border: none !important;
    clip-path: none !important;
    text-align: center !important;
    transform: none !important;
    --menu-offset: 0px !important;
    opacity: 1 !important;
  }
  .menu:not(.open) nav>a:nth-child(n) {
    transform: translateY(20px) !important;
    opacity: 0 !important;
  }
  .menu nav>a:nth-child(n) {
    border-left: 4px solid #2e85ff !important;
    border-right: 0 !important;
  }
  .menu nav>a .menu__image {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0.62 !important;
    background-image: linear-gradient(90deg,rgba(2,5,9,.8) 0%,rgba(2,5,9,.4) 50%,rgba(2,5,9,.8) 100%), var(--menu-img) !important;
    background-position: center !important;
    background-size: cover !important;
    -webkit-mask-image: linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%) !important;
    mask-image: linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%) !important;
    transform: scale(1.02) !important;
    border-radius: 4px !important;
  }
  .menu nav>a .menu__copy, 
  .menu nav>a small, 
  .menu nav>a strong, 
  .menu nav>a em {
    display: block !important;
    position: relative !important;
    z-index: 2 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0 !important;
    text-align: center !important;
  }
  .menu nav>a small { font-size: 14px !important; margin-bottom: 2px !important; }
  .menu nav>a strong { font-size: 18px !important; margin-bottom: 2px !important; letter-spacing: 0.1em !important; }
  .menu nav>a em { font-size: 7px !important; letter-spacing: 0.15em !important; }
}











