html,
body{
  max-width:100%;
  overflow-x:hidden;
}

body.dexcore-future-banner-active{
  padding-bottom:calc(var(--dexcore-future-banner-height,24px) + env(safe-area-inset-bottom,0px));
}

@supports (overflow-x:clip){
  html,
  body{
    overflow-x:clip;
  }
}

.dexcore-promo-banner{
  position:fixed !important;
  top:var(--dexcore-promo-top,0) !important;
  left:0 !important;
  right:0 !important;
  z-index:12001 !important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
  padding:10px 18px;
  border-block:1px solid rgba(201,134,255,.22);
  background:
    linear-gradient(90deg,rgba(7,5,12,.94),rgba(24,10,42,.92) 48%,rgba(7,5,12,.94)),
    radial-gradient(circle at 50% 0,rgba(201,134,255,.22),transparent 44rem);
  color:#f7efff;
  box-shadow:0 10px 34px rgba(0,0,0,.2),0 0 28px rgba(201,134,255,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html.dexcore-promo-active :where(
  .dexcore-nav:not(.language-toggle),
  body > header,
  body > .dexcore-nav,
  body > .nav:not(.language-toggle),
  body > .site-header,
  body > .navbar,
  body > nav:not(.language-toggle)
){
  z-index:12002 !important;
}

.dexcore-promo-banner-spacer{
  display:block;
  width:100%;
  height:0;
  pointer-events:none;
  visibility:hidden;
}

html.dexcore-promo-active{
  scroll-padding-top:calc(var(--dexcore-promo-top,0px) + var(--dexcore-promo-height,0px));
}

html.dexcore-promo-active .dexcore-promo-banner-spacer{
  height:0 !important;
}

html.dexcore-promo-active :where(.service-page,.restaurant-page){
  padding-top:0 !important;
}

html.dexcore-promo-active :where(
  body > .hero,
  main > .hero,
  .hero:first-of-type,
  .service-hero,
  .restaurant-hero,
  .trial-hero
){
  padding-top:clamp(12px,2vw,28px) !important;
  padding-bottom:clamp(24px,3vw,44px) !important;
}

html.dexcore-promo-active :where(.hero,.service-hero,.restaurant-hero){
  min-height:calc(100svh - var(--dexcore-promo-top,0px) - var(--dexcore-promo-height,0px));
  align-content:center;
  box-sizing:border-box;
}

html.dexcore-promo-active :where(.hero){
  gap:clamp(24px,4vw,56px) !important;
}

html.dexcore-promo-active :where(.hero h1){
  font-size:clamp(48px,5.8vw,84px) !important;
  margin-bottom:clamp(14px,1.8vw,24px) !important;
}

html.dexcore-promo-active :where(.hero p){
  font-size:clamp(17px,1.45vw,21px) !important;
  line-height:1.55 !important;
  margin-bottom:clamp(18px,2.4vw,30px) !important;
}

html.dexcore-promo-active :where(.hero-right,.service-right,.restaurant-right){
  min-height:clamp(360px,42vw,540px) !important;
}

html.dexcore-promo-active :where(.dexcore-orb){
  width:clamp(360px,38vw,500px) !important;
  height:clamp(360px,38vw,500px) !important;
}

html.dexcore-promo-active :where(.ai-orb,.avatar-shell){
  width:clamp(300px,34vw,430px) !important;
  height:clamp(300px,34vw,430px) !important;
}

html.dexcore-promo-active :where(.ring-1){
  width:clamp(320px,36vw,470px) !important;
  height:clamp(320px,36vw,470px) !important;
}

html.dexcore-promo-active :where(.ring-2){
  width:clamp(390px,44vw,590px) !important;
  height:clamp(390px,44vw,590px) !important;
}

html.dexcore-promo-active :where(.ring-3){
  width:clamp(460px,52vw,700px) !important;
  height:clamp(460px,52vw,700px) !important;
}

.dexcore-future-banner{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:12000;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:24px;
  padding:4px max(12px,env(safe-area-inset-left)) calc(4px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right));
  border-top:1px solid rgba(232,201,255,.28);
  background:
    linear-gradient(90deg,rgba(5,3,9,.94),rgba(28,11,48,.9) 48%,rgba(5,3,9,.94)),
    radial-gradient(circle at 50% 0,rgba(201,134,255,.28),transparent 34rem);
  color:#f9f0ff;
  box-shadow:0 -10px 28px rgba(0,0,0,.26),0 0 24px rgba(201,134,255,.16);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow:hidden;
  transform:translate3d(0,100%,0);
  opacity:0;
  transition:transform .72s cubic-bezier(.18,.86,.22,1),opacity .72s ease;
}

.dexcore-future-banner.is-visible{
  transform:translate3d(0,0,0);
  opacity:1;
}

.dexcore-future-banner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 0 38%,rgba(255,255,255,.18) 46%,transparent 54% 100%);
  transform:translate3d(-120%,0,0);
  animation:dexcoreFutureSheen 4.8s ease-in-out .55s infinite;
}

.dexcore-future-banner__text{
  position:relative;
  z-index:1;
  flex:0 1 auto;
  min-width:0;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.2em;
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  color:#fff;
  text-shadow:0 0 12px rgba(232,201,255,.42);
  animation:dexcoreFuturePulse 2.2s ease-in-out .75s infinite;
}

.dexcore-future-banner__line{
  position:relative;
  z-index:1;
  flex:1 1 48px;
  max-width:120px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(232,201,255,.72),transparent);
}

@keyframes dexcoreFutureSheen{
  0%,
  48%{
    transform:translate3d(-120%,0,0);
  }

  78%,
  100%{
    transform:translate3d(120%,0,0);
  }
}

@keyframes dexcoreFuturePulse{
  0%,
  100%{
    opacity:.84;
    text-shadow:0 0 9px rgba(232,201,255,.34);
  }

  50%{
    opacity:1;
    text-shadow:0 0 18px rgba(255,255,255,.58),0 0 26px rgba(201,134,255,.46);
  }
}

.dexcore-nav .logo .dexcore-logo-word{
  display:inline-block;
  opacity:1 !important;
  font:inherit;
  letter-spacing:inherit;
  word-spacing:0;
  white-space:nowrap;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

.dexcore-nav .logo .dexcore-logo-word .dexcore-logo-x{
  display:inline;
  opacity:1 !important;
  font-weight:inherit !important;
  background:linear-gradient(90deg,#E6C8FF 0%,#C986FF 48%,#A855FF 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
}

.dexcore-promo-banner__inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  max-width:none;
  min-width:0;
  min-height:34px;
  margin:0 auto;
  text-align:left;
  line-height:1.35;
}

.dexcore-promo-banner__icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color:#e8c9ff;
  filter:drop-shadow(0 0 10px rgba(201,134,255,.35));
}

.dexcore-promo-banner__icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.dexcore-promo-banner__brand,
.dexcore-promo-banner__timer{
  color:#e8c9ff;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  animation:dexcorePromoFlash 1s ease-in-out infinite;
  text-shadow:0 0 12px rgba(232,201,255,.42);
}

.dexcore-promo-banner__timer{
  animation-delay:.18s;
}

@keyframes dexcorePromoFlash{
  0%,
  100%{
    color:#e8c9ff;
    opacity:1;
    text-shadow:0 0 8px rgba(232,201,255,.35);
  }

  50%{
    color:#ffffff;
    opacity:.52;
    text-shadow:0 0 20px rgba(255,255,255,.9),0 0 30px rgba(201,134,255,.55);
  }
}

.dexcore-promo-banner__message{
  display:block;
  flex:1 1 auto;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  font-size:14px;
  font-weight:650;
  line-height:1.25;
  white-space:nowrap;
}

.dexcore-promo-banner__track{
  display:flex;
  width:max-content;
  min-width:200%;
  align-items:center;
  white-space:nowrap;
  will-change:transform;
  transform:translate3d(0,0,0);
  animation:dexcorePromoTicker 28s linear infinite;
}

.dexcore-promo-banner__item{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:.45em;
  min-width:50%;
  padding-right:3rem;
  white-space:nowrap;
}

.dexcore-promo-banner__separator{
  color:#dcb7ff;
  font-weight:800;
  text-shadow:0 0 10px rgba(201,134,255,.45);
}

[data-dexcore-promo-mobile]{
  display:none;
}

@keyframes dexcorePromoTicker{
  from{
    transform:translate3d(0,0,0);
  }

  to{
    transform:translate3d(-50%,0,0);
  }
}

.dexcore-promo-banner.is-expired .dexcore-promo-banner__timer{
  color:#cfc3dc;
  letter-spacing:0;
  text-transform:none;
  animation:none;
  text-shadow:none;
}

@media (prefers-reduced-motion:reduce){
  .dexcore-future-banner,
  .dexcore-future-banner::before,
  .dexcore-future-banner__text{
    animation:none;
    transition:none;
  }

  .dexcore-future-banner{
    transform:translate3d(0,0,0);
    opacity:1;
  }

  .dexcore-promo-banner__brand,
  .dexcore-promo-banner__timer{
    animation:none;
  }

  .dexcore-promo-banner__track{
    animation:none;
    transform:translate3d(0,0,0);
  }
}

@media (max-width:768px){
  .dexcore-future-banner{
    gap:7px;
    min-height:22px;
    padding-top:3px;
    padding-bottom:calc(3px + env(safe-area-inset-bottom));
  }

  .dexcore-future-banner__text{
    font-size:8.5px;
    letter-spacing:.12em;
  }

  .dexcore-future-banner__line{
    flex-basis:22px;
    max-width:54px;
  }

  .dexcore-promo-banner{
    padding:4px 8px;
  }

  .dexcore-promo-banner{
    box-shadow:0 12px 24px rgba(0,0,0,.24),0 0 18px rgba(201,134,255,.1);
  }

  .dexcore-promo-banner__inner{
    align-items:center;
    gap:6px;
    min-height:22px;
    max-width:100%;
  }

  .dexcore-promo-banner__message{
    width:100%;
    max-width:100%;
    overflow:hidden;
    text-overflow:clip;
    font-size:var(--dexcore-promo-mobile-font-size,10.5px);
    text-align:left;
    white-space:nowrap;
  }

  .dexcore-promo-banner__track{
    animation-duration:34s;
  }

  .dexcore-promo-banner__item{
    gap:.35em;
    padding-right:2rem;
  }

  [data-dexcore-promo-desktop]{
    display:none;
  }

  [data-dexcore-promo-mobile]{
    display:inline;
  }

  .dexcore-promo-banner__timer{
    font-size:1em;
    letter-spacing:0;
  }

  .dexcore-promo-banner__brand{
    letter-spacing:0;
  }

  .dexcore-promo-banner__icon{
    display:none;
  }

  html.dexcore-promo-active :where(
    body > .hero,
    main > .hero,
    .hero:first-of-type,
    .service-hero,
    .restaurant-hero,
    .trial-hero
  ){
    padding-top:clamp(8px,2.5vw,16px) !important;
    padding-bottom:clamp(18px,5vw,32px) !important;
  }

  html.dexcore-promo-active :where(.hero,.service-hero,.restaurant-hero){
    min-height:calc(100svh - var(--dexcore-promo-top,0px) - var(--dexcore-promo-height,0px));
    gap:clamp(10px,3vw,18px) !important;
    align-content:center;
  }

  html.dexcore-promo-active :where(.hero h1){
    font-size:clamp(34px,9.6vw,44px) !important;
    margin-bottom:10px !important;
  }

  html.dexcore-promo-active :where(.hero p){
    font-size:clamp(14px,3.75vw,16px) !important;
    line-height:1.38 !important;
    margin-bottom:14px !important;
  }

  html.dexcore-promo-active :where(.hero-buttons){
    gap:8px !important;
  }

  html.dexcore-promo-active :where(.hero-buttons .btn-primary,.hero-buttons .btn-secondary){
    min-height:42px !important;
    padding:11px 16px !important;
  }

  html.dexcore-promo-active :where(.hero-right,.service-right,.restaurant-right){
    min-height:clamp(220px,52vw,340px) !important;
  }

  html.dexcore-promo-active :where(.dexcore-orb){
    width:clamp(190px,52vw,240px) !important;
    height:clamp(190px,52vw,240px) !important;
  }

  html.dexcore-promo-active :where(.ai-orb,.avatar-shell){
    width:clamp(210px,60vw,290px) !important;
    height:clamp(210px,60vw,290px) !important;
  }

  html.dexcore-promo-active :where(.ring-1){
    width:clamp(230px,66vw,310px) !important;
    height:clamp(230px,66vw,310px) !important;
  }

  html.dexcore-promo-active :where(.ring-2){
    width:clamp(290px,82vw,390px) !important;
    height:clamp(290px,82vw,390px) !important;
  }

  html.dexcore-promo-active :where(.ring-3){
    width:clamp(340px,96vw,460px) !important;
    height:clamp(340px,96vw,460px) !important;
  }
}

@media (max-height:760px) and (min-width:769px){
  html.dexcore-promo-active :where(.hero,.service-hero,.restaurant-hero){
    gap:clamp(18px,3vw,42px) !important;
  }

  html.dexcore-promo-active :where(.hero h1,.service-left h1,.restaurant-left h1){
    font-size:clamp(42px,5vw,68px) !important;
    line-height:1.04 !important;
    margin-bottom:12px !important;
  }

  html.dexcore-promo-active :where(.hero-sub){
    font-size:clamp(18px,1.7vw,22px) !important;
    margin-bottom:12px !important;
  }

  html.dexcore-promo-active :where(.hero p,.hero-description){
    font-size:clamp(15px,1.25vw,18px) !important;
    line-height:1.45 !important;
    margin-bottom:18px !important;
  }

  html.dexcore-promo-active :where(.hero-pills){
    gap:8px !important;
    margin-bottom:18px !important;
  }

  html.dexcore-promo-active :where(.hero-pill){
    padding:8px 12px !important;
    font-size:12px !important;
  }

  html.dexcore-promo-active :where(.hero-right,.service-right,.restaurant-right){
    min-height:clamp(300px,36vw,430px) !important;
  }

  html.dexcore-promo-active :where(.dexcore-orb,.ai-orb,.avatar-shell){
    width:clamp(300px,32vw,400px) !important;
    height:clamp(300px,32vw,400px) !important;
  }
}
