@keyframes LogoSpin{
  from{
    transform: rotate(0deg);
  }
  to{
    transform: rotate(360deg);
  }
}
@keyframes pulse{
  0%,100%{
    transform: scale(.95);
    opacity: .7;
  }
  50%{
    transform: scale(1.05);
    opacity: 1;
  }
}
@keyframes logoScroll{
  from{
    transform: translateX(0);
  }
  to{
    transform: translateX(-50%);
  }
}
@keyframes fadeLogoBreath{
  0%,100%{
    transform: scale(.98);
    opacity: .88;
  }
  50%{
    transform: scale(1.02);
    opacity: .96;
  }
}
@keyframes geFlowPremium{
  0%{
    transform: translateX(0);
  }
  15%{
    transform: translateX(-10%);
  }
  50%{
    transform: translateX(-28%);
  }
  85%{
    transform: translateX(-45%);
  }
  100%{
    transform: translateX(-50%);
  }
}
@keyframes psASpinePulse{
  0%{
    top: 0%;
    opacity: .4;
  }
  20%{
    opacity: .9;
  }
  50%{
    opacity: .55;
  }
  100%{
    top: calc(100% - 72px);
    opacity: .25;
  }
}
@keyframes hkxPulse{
  0%{
    box-shadow: 0 0 0 0 rgba(255,188,0,.45);
  }
  70%{
    box-shadow: 0 0 0 10px rgba(255,188,0,0);
  }
  100%{
    box-shadow: 0 0 0 0 rgba(255,188,0,0);
  }
}
@keyframes gmFlowPulse{
  0%{ top: 0%; opacity: .3; }
  50%{ opacity: 1; }
  100%{ top: 100%; opacity: .2; }
}

:root{
  --jr-black: #000000;
  --jr-blacksemi: #0b0c10;
  --jr-darkgray: #323232;
  --jr-softgray: #808080;
  --jr-white: #ffffff;
  --jr-yellow: rgba(255, 188, 0, 1);
  --jr-housekeeping: rgb(231 50 136);
  --jr-maintenance: rgb(236 103 43);
  --jr-soft: #11131a;
  --jr-soft2: #0e1016;

  --status-ok: rgba(126, 255, 180, .95);
  --status-err: rgba(255,122,24,.95);
  --status-err2: #ff5a5a;

  --shadow: 0 18px 55px rgba(0,0,0,.35);
  --shadow-soft: 0 12px 30px rgba(0,0,0,.22);
  --radius: 18px;
  --radius-lg: 26px;
  --container: 1180px;

  --navH: 78px;
  --anchorOffset: 78px;

  --focus: 0 0 0 3px rgba(255,204,0,.4);
  --ink: #eaf0ff;
  --muted: #95a3c6;
  --line: rgba(231,240,255,.12);
  --r: 22px;
  --b4: #ff9f1a;

  --fs-h1: clamp(40px, 5vw, 64px);
  --fs-h2: clamp(32px, 3.5vw, 48px);
  --fs-h3: clamp(22px, 2.0vw, 28px);
  --fs-h4: clamp(16px, 1.3vw, 20px);
}
*{
  box-sizing: border-box;
}
html{
  height: 100%;
  scroll-behavior: smooth;
}
body{
  height: 100%;
  margin: 0;
  font-family: "Poppins", sans-serif;
  color: var(--jr-white);
  background: var(--jr-black);
  overflow-x: clip;
}
a{
  color: inherit;
  text-decoration: none;
}
a:hover{
  text-decoration: none;
}
.noScroll{
  overflow: hidden;
}
.container{
  padding: 0 20px;
  width: min(1140px, 92vw);
  margin: 0 auto;
}
.mt0{
  margin-top: 0;
}
.m0{
  margin: 0;
}
h1{
  font-size: var(--fs-h1) !important;
  line-height: 1.02;
}
h2{
  font-size: var(--fs-h2) !important;
  line-height: 1.1;
}
h3{
  font-size: var(--fs-h3) !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
}
h4{
  font-size: var(--fs-h4) !important;
  line-height: 1.1;
}

.textMutedDark{
  color: rgba(11,12,16,.72);
}
.textMutedLight{
  color: rgba(255,255,255,.78);
}
.noteAfterForm{
  margin: 14px 0 0;
  color: rgba(11,12,16,.70);
  line-height: 1.6;
}
.hNoMargin{
  margin: 0 0 10px;
}
.svg-sprite{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
label{
  font-size: 13px;
  font-weight: 700;
}

input{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  outline: none;
}
textarea{
  width: 100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  outline: none;
  min-height: 120px;
  resize: vertical;
}
input:focus-visible{
  box-shadow: var(--focus);
}
textarea:focus-visible{
  box-shadow: var(--focus);
}

.fullBleed{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.grid2{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
[data-i18n]{
  white-space: pre-line;
}
.is-invalid{
  border-color: rgba(250, 0, 0, 0.65) !important;
}
.hpField{
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.srOnly{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.heroTrust{
  font-size: 13px;
  opacity: 0.7;
}

.lineGradient{
  display: block;
  background: linear-gradient( 180deg, #ffffff 0%, #f5f5f5 45%, #cfcfcf 100% );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}
.sectionHead{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 14px;
}

.lead{
  margin: 0;
  color: var(--muted);
  font-weight: 400;
  line-height: 1.6;
  max-width: 72ch;
}

/* Layout global */
.band{
  position: relative;
  padding: 30px 0;
  z-index: 1;
}
.band--hero{
  padding: 0;
  min-height: 100svh;
  display: flex;
  align-items: stretch;
  overflow-x: clip;
}
.band--white{
  background: var(--jr-white);
  color: var(--jr-black);
}
.band--black{
  background: var(--jr-black);
}
.band--yellow{
  background: var(--jr-yellow);
  color: var(--jr-black);
}
.band--gray{
  background: var(--jr-darkgray);
  color: var(--jr-black);
}
.band--soft{
  background: linear-gradient(180deg, rgba(17,19,26,.85), rgba(11,12,16,1));
}
.bandInner{
  position: relative;
  z-index: 2;
}
.band--white .lead{
  color: rgba(11,12,16,.75);
}
.band--soft .card{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
}
.band--yellow .card p{
  color: rgba(11,12,16,.76);
}
.band--white input{
  background: rgba(11,12,16,.04);
  border-color: rgba(11,12,16,.14);
  color: var(--jr-black);
}
.band--white textarea{
  background: rgba(11,12,16,.04);
  border-color: rgba(11,12,16,.14);
  color: var(--jr-black);
}
.band--clients {
  background: rgb(255 255 255);
  padding: 0px;
}
.band--vision{
  background: var(--jr-white);
  color: var(--jr-black);
  padding-top: 0;
  padding-bottom: 0;
}
.band--decision{
  background: var(--jr-yellow);
  color: var(--jr-black);
  padding-top: 0;
  padding-bottom: 0;
}
.band--white .xcap{
  border-top-color: rgba(11,12,16,.10);
}
.band--white .xcapTitle{
  color: var(--jr-black);
}
.band--white .xcapCard{
  background: rgba(11,12,16,.04);
  border-color: rgba(11,12,16,.08);
}
.band--white .xcapIcon svg{
  stroke: var(--jr-black);
}
.band--white .xcapH{
  color: var(--jr-black);
}
.band--white .xcapP{
  color: rgba(11,12,16,.72);
}
.band--bold{
  color: var(--ink);
  background: radial-gradient(900px 520px at 15% 25%, rgba(30,107,255,.22), transparent 60%), radial-gradient(900px 520px at 85% 75%, rgba(138,61,255,.18), transparent 55%), linear-gradient(135deg, rgba(10,14,24,.92), rgba(5,7,12,.98));
  border-top: 1px solid rgba(231,240,255,.08);
  border-bottom: 1px solid rgba(231,240,255,.08);
}
.band--alt.vision{
  background: linear-gradient(to bottom, #fafafa, #f3f4f6);
}
.band--integrations{
  background: #000;
  color: var(--jr-white);;
  padding: 42px 0 50px;
}

#contactForm input{
  width: 100%;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--ink);
  font: inherit;
  outline: none;
}
#contactForm textarea{
  width: 100%;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.06);
  color: var(--ink);
  font: inherit;
  outline: none;
  min-height: 120px;
  resize: vertical;
}
#contactForm input:focus{
  box-shadow: var(--focus);
}
#contactForm textarea:focus{
  box-shadow: var(--focus);
}
#contacto .grid2 > article.card{
  position: relative;
}
#contacto aside.card{
  background: var(--jr-yellow);
  border-color: rgba(0,0,0,.15);
  color: var(--jr-black);;
  padding: 0;
}
#contacto aside.card .pillTitle{
  color: var(--jr-black);;
}
#contacto aside.card p{
  color: var(--jr-black);;
}
#contacto article.card{
  background: rgba(10,14,24,.85);
  border: 1px solid rgba(255,255,255,.08);
}
#contacto article.card .pillTitle{
  color: var(--jr-white);;
}
#contacto article.card p{
  color: rgba(255,255,255,.75);
}
#contacto article.card input{
  color: var(--jr-white);;
}
#contacto article.card textarea{
  color: var(--jr-white);;
}
#contacto article.card input::placeholder{
  color: rgba(255,255,255,.55);
}
#contacto article.card textarea::placeholder{
  color: rgba(255,255,255,.55);
}
#contacto .btn-primary{
  background: var(--jr-yellow);
  border-color: var(--jr-yellow);
  color: var(--jr-black);;
}
#contacto .btn-primary:hover{
  background: var(--jr-yellow);
  border-color: var(--jr-yellow);
}
#contacto .lead{
  color: var(--jr-black);
}
#contacto .cfmTitle{
  color: var(--jr-white);;
}
#contacto .cfmText{
  color: rgba(255,255,255,.85);
}
#contacto aside.card .iconBig svg{
  width: 48px;
  height: 48px;
  display: block;
  fill: none;
}
#contacto article.card .iconBig svg{
  width: 48px;
  height: 48px;
  display: block;
  fill: none;
}
#contacto aside.card .iconBig svg *{
  stroke: #000 !important;
  fill: none !important;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#contacto article.card .iconBig svg *{
  stroke: var(--jr-yellow) !important;
  fill: none !important;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#contacto .sectionHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
#contacto .sectionHead p{
  max-width: 700px;
}

#solutions,
#beyond-pms,
#product-suite,
#platform-architecture,
#proof,
#faq,
#integrations,
#guest-experience,
#guest-manager,
#housekeeping,
#maintenance,
#restaurant,
#valet,
#decision,
#overview,
#pain,
#contacto{
  scroll-margin-top: var(--anchorOffset);
}

/* Header y navegación */
.top{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--navH);
  z-index: 50;
  display: flex;
  align-items: center;
  backdrop-filter: blur(10px);
  background: rgba(11,12,16,.55);
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow-x: clip;
}
.logoMark{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: radial-gradient(circle at 30% 30%, rgba(255, 188, 0, 0.95), rgba(255, 188, 0, 0.35) 45%, rgba(255,255,255,.08) 70%), linear-gradient(135deg, rgba(255,255,255,.18), rgba(0,0,0,.0));
  box-shadow: 0 10px 28px rgba(0,0,0,.35);
}

.brand{
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
}
.brandText{
  display: flex;
  flex-direction: column;
  line-height: 1.05;
}
.brandText strong{
  font-size: 14px;
}
.brandText span{
  font-size: 12px;
  color: rgba(255,255,255,.7);
}
.brandLogo{
  height: 42px;
  width: auto;
  display: block;
}
.brandLine{
  padding: 0 20px 20px 20px;
}
.brandLine__inner{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.brandLine__text{
  font-size: 32px;
  font-weight: 600;
  color: var(--jr-white);;
}
.brandLine__logo{
  height: 64px;
  width: auto;
}

.nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.navRight{
  display: flex;
  align-items: center;
  gap: 10px;
}
.navDropdown{
  position: relative;
  display: flex;
  align-items: center;
}
.navLink{
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 12px;
  color: rgba(255,255,255,.9);
  font-size: 13.5px;
}
.navLink:hover{
  background: rgba(255,255,255,.2);
}
.navLink:focus-visible{
  outline: none;
  box-shadow: var(--focus);
}

.chev{
  opacity: .75;
}

.dropdown{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 290px;
  border-radius: 18px;
  padding: 10px;
  background: rgba(16,18,24,.92);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
}
.dropdown a{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 12px;
  border-radius: 14px;
  color: rgba(255,255,255,.92);
}
.dropdown a:hover{
  background: rgba(255,255,255,.2);
}

.ddIcon{
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
}
.ddText strong{
  display: block;
  font-size: 15px;
  font-weight: 600;
}
.ddText span{
  display: block;
  color: rgba(255,255,255,.72);
  line-height: 1.25;
  font-size: 13px;
  margin-top: 4px;
}

.langWrap{
  position: relative;
}
.langMenu{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  padding: 8px;
  border-radius: 16px;
  background: rgba(16,18,24,.92);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  min-width: 160px;
  opacity: 0;
  transform: translateY(6px);
  transition: .18s ease;
}
.langMenu:not([hidden]){
  opacity: 1;
  transform: translateY(0);
}
.langItem{
  width: 100%;
  background: transparent;
  border: 0;
  color: rgba(255,255,255,.92);
  text-align: left;
  padding: 10px 10px;
  border-radius: 12px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
}
.langItem:hover{
  background: rgba(255,255,255,.06);
}
.langItem.active{
  font-weight: 700;
  color: var(--jr-yellow);
}

.ddIconImg{
  width: 36px;
  height: 36px;
  border-radius: 7px;
  display: block;
  object-fit: contain;
}

#langBtn{
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  font-weight: 700;
  color: var(--jr-yellow);
  cursor: pointer;
}

.navUserIcon{
  width: 18px;
  height: 18px;
  object-fit: contain;
  display: block;
}

/* Botones e interfaz */
.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 10px 24px rgba(0,0,0,.20);
  user-select: none;
  border: 1px solid rgba(231,240,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--ink);
  padding: 9px 11px;
  border-radius: 50px;
  font-weight: 650;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{
  background: rgba(255,255,255,.2);
  transform: translateY(-1px);
  box-shadow: 0 14px 40px rgba(0,0,0,.35);
}
.btn:focus-visible{
  outline: none;
  box-shadow: var(--focus);
}
.btnPrimary{
  border-color: rgb(255, 188, 0);
  border-width: 2px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  background: var(--jr-yellow);
  color: var(--jr-black);
  box-shadow: 0 6px 20px rgba(255,188,0,.25);
  transition: all .2s ease;
  font-size: clamp(13px, 3.5vw, 15px);
  line-height: 1.2;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.btnPrimary:hover{
  background: #000;
  color: var(--jr-white);;
  transform: translateY(-1px);
}
.btnIcon{
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 40px;
  position: relative;
}

.nav .navCTA{
  background: var(--jr-yellow) !important;
  color: var(--jr-black); !important;
}
.navPanel .btnPrimary{
  background: var(--jr-yellow) !important;
  color: var(--jr-black) !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(255,188,0,.25);
}
.top .btnPrimary:hover{
  background: var(--jr-yellow) !important;
  color: var(--jr-black) !important;
  transform: translateY(-1px);
}
.navPanel .btnPrimary:hover{
  background: var(--jr-yellow) !important;
  color: var(--jr-black) !important;
  transform: translateY(-1px);
}

.icon{
  width: 18px;
  height: 18px;
  fill: currentColor;
  opacity: .95;
}
.iconFlip{
  transform: rotate(180deg);
}
.iconGlow{
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
  width: 54px;
  height: 54px;
}
.iconGlow--yellow{
  color: var(--jr-black);
  border-color: rgba(0,0,0,.10);
  background: transparent;
  border: none;
  border-radius: 9px;
}
.iconGlow--yellow::after{
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 22px;
  background: radial-gradient(circle, rgba(255, 188, 0, 0.42), rgba(255,204,0,0) 70%);
  filter: blur(2px);
  animation: pulse 2.4s ease-in-out infinite;
}
.iconGlow--white{
  color: var(--jr-black);
  background: rgba(255,255,255,.96);
  border-color: rgba(0,0,0,.08);
}
.iconGlow--white::after{
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 22px;
  background: radial-gradient(circle, rgba(255,255,255,.35), rgba(255,255,255,0) 70%);
  filter: blur(2px);
  animation: pulse 2.6s ease-in-out infinite;
}

.btn-primary{
  /*border-color: rgba(0, 19, 48, 0.8);*/
  /*background: linear-gradient(135deg, rgba(0, 19, 48, 0.8), rgba(138,61,255,.55));*/
}

.iconBig{
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
}
.iconBig svg{
  width: 48px;
  height: 48px;
  stroke: rgba(199,212,255,.92);
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.btn-send{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.btn-logo-spinner{
  width: 18px;
  height: 18px;
  background: url("images/Logo_spinner.png") center / contain no-repeat;
  animation: LogoSpin 2.8s linear infinite;
  display: none;
}
.btn-send.is-loading{
  pointer-events: none;
  opacity: .9;
}
.btn-send.is-loading .btn-logo-spinner{
  display: inline-block;
}

.btnIcon::after{
  content: attr(data-tip);
  position: absolute;
  bottom: -32px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.85);
  color: var(--jr-white);;
  font-size: 12px;
  padding: 5px 8px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease;
}
.btnIcon:hover::after{
  opacity: 1;
}

.btnSecondary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  background: rgba(255,255,255,.08);
  color: var(--jr-white);
  border: 1px solid rgba(255,255,255,.18);
  transition: all .2s ease;
}
.btnSecondary:hover{
  background: rgba(255,255,255,.14);
  color: var(--jr-white);
  transform: translateY(-1px);
}

/* Hero */
.heroVideo{
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
}
.heroVideo video{
  transform: scale(1.02);
  filter: saturate(1.0) contrast(1.0) brightness(.65);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.0s ease;
}
.heroOverlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.42);
  z-index: 1;
}
.heroWrap{
  padding-top: calc(var(--navH) + 120px);
  padding-bottom: 84px;
  padding-inline: clamp(20px, 6vw, 100px);
  width: 100%;
}
.heroGrid{
  align-items: start;
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  gap: 28px;
}
.heroLead{
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(255,255,255,.82);
  max-width: 52ch;
}
.heroBtns{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 22px;
}
.heroInner{
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  justify-items: center;
  text-align: center;
}
.heroClaims{
  width: min(640px, 100%);
}
.heroLeft{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.heroCtas{
  justify-content: center;
}
.hero{
  display: flex;
  align-items: center;
  justify-content: center;
  overflow-x: clip;
}
.heroTextCarousel{
  overflow-x: clip;
  width: 100%;
  overflow: hidden;
}
.heroGrid > section{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.videoFade{
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 70%, rgba(0,0,0,0.95) 100%);
  opacity: 0;
  transition: opacity 0.8s ease;
  pointer-events: none;
  z-index: 2;
}
.heroVideo video.is-active{
  opacity: 1;
}
.heroTextTrack{
  display: flex;
  transform: translateX(0);
  transition: transform 700ms cubic-bezier(.2,.9,.2,1);
  will-change: transform;
}
.heroTextSlide{
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.heroTextSlide .heroLead{
  max-width: 60ch;
  margin-left: auto;
  margin-right: auto;
}

.heroBg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .9s ease;
  filter: saturate(1.05) contrast(1.05) brightness(.78);
}
.heroBg.is-active{
  opacity: 1;
}
.heroTitle{
  margin: 14px 0 12px;
  max-width: min(32ch, 90vw);
  font-size:var(--fs-h1);
  line-height: 1.02;
}
.heroCTA{
  margin-top: 26px;
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}
.heroCTA .btnPrimary{
  background: var(--jr-yellow) !important;
  color: var(--jr-black) !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(255,188,0,.25);
}
.heroCTA .btnPrimary:hover{
  background: var(--jr-yellow) !important;
  color: var(--jr-black) !important;
  transform: translateY(-1px);
}
.heroCTA a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 26px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}
.heroCTA .btnSecondary{
  background: rgba(255,255,255,.08);
  color: var(--jr-white);
  border: 1px solid rgba(255,255,255,.18);
}
.heroCTA a:hover{
  transform: translateY(-1px);
}

.heroTrusted{
  margin-top: 28px;
  text-align: center;
}
.heroTrustedText{
  font-size: 11px;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
  margin-bottom: 14px;
}
.heroTrustedLogos{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
  opacity: .85;
}
.heroTrustedLogos img{
  height: 54px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .8;
  transition: opacity .2s ease;
}
.heroTrustedLogos img:hover{
  opacity: 1;
}
.heroMicrocopy{
  margin: 14px 0 0;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,.62);
  text-align: center;
}
.heroBullets{
  list-style: none;
  padding: 0;
  margin: 22px auto 22px auto;
  display: grid;
  gap: 6px;
  max-width: 520px;
  justify-items: start;
}
.heroBullets li{
  position: relative;
  padding-left: 22px;
  font-size: 16px;
  line-height: 1.35;
  color: rgba(255,255,255,.82);
  text-align: left;
  margin: 0;
}
.heroBullets li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}

/* Carruseles compartidos */
.claims{
  border-radius: var(--radius-lg);
  background: rgba(16,18,24,.55);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow);
  overflow: hidden;
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  padding: 18px 18px 18px;
  max-width: 100%;
}
.claimsTop{
  padding: 18px 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.claimsLabel{
  font-weight: 700;
  font-size: 13px;
  color: rgba(255,255,255,.86);
}
.claimsDots{
  display: flex;
  gap: 8px;
}
.claimsDots label{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  cursor: pointer;
}

.clRadio{
  opacity: 0;
  pointer-events: none;
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.clViewport{
  overflow: hidden;
  padding-inline: 14px;
  width: 100%;
  overflow-x: clip;
  overflow-y: visible;
}
.clTrack{
  margin-inline: -14px;
  display: flex;
  width: 100%;
  max-width: 100%;
  will-change: transform;
  transform: translateX(0);
  transition: transform 500ms ease;
}
.clCard{
  padding: 14px 16px;
  box-sizing: border-box;
  flex: 0 0 100%;
  max-width: 100%;
}
.clCard h3{
  margin: 0 0 8px;
  font-size: 18px;
}
.clCard p{
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.6;
  font-size: 14px;
}

#cl-1:checked ~ .clViewport .clTrack{
  transform: translateX(0%);
}
#cl-2:checked ~ .clViewport .clTrack{
  transform: translateX(-100%);
}
#cl-3:checked ~ .clViewport .clTrack{
  transform: translateX(-200%);
}
#cl-4:checked ~ .clViewport .clTrack{
  transform: translateX(-300%);
}
#cl-5:checked ~ .clViewport .clTrack{
  transform: translateX(-400%);
}
#cl-1:checked ~ .claimsTop .claimsDots label[for="cl-1"]{
  background: var(--jr-yellow);
}
#cl-2:checked ~ .claimsTop .claimsDots label[for="cl-2"]{
  background: var(--jr-yellow);
}
#cl-3:checked ~ .claimsTop .claimsDots label[for="cl-3"]{
  background: var(--jr-yellow);
}
#cl-4:checked ~ .claimsTop .claimsDots label[for="cl-4"]{
  background: var(--jr-yellow);
}
#cl-5:checked ~ .claimsTop .claimsDots label[for="cl-5"]{
  background: var(--jr-yellow);
}

.clCard > *:first-child{
  margin-top: 0;
}
.clCard > *:last-child{
  margin-bottom: 0;
}

.clientsHeader{
  text-align: center;
  margin-bottom: 10px;
}
.clientsTitle{
  margin: 0 0 10px;
  font-size: 28px;
  font-weight: 600;
  color: var(--jr-white);;
}
.clientsSubtitle{
  margin: 0;
  font-size: 16px;
  color: var( --jr-yellow);
}

/* Pain */
.painHead{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin-bottom: 22px;
}
.painHead h2{
  margin: 0;
  text-align: center;
  color: var(--jr-softgray);
}
.painClaims{
  margin-top: 0;
}
.painCard{
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 90px;
  padding: 14px 32px;
}
.painCard h4{
  max-width: 900px;
}

.painCard h4 .hl{
  color: var(--jr-yellow);
  font-weight: 800;
}
.painDotsWrap{
  padding: 0 18px 18px;
  justify-content: center;
}

.painLeadAfter{
  margin: 26px auto 0;
  max-width: 760px;
  text-align: center;
  color: rgba(255,255,255,.76);
  line-height: 1.65;
  font-size: 16px;
}

.painCTA{
  margin-top: 26px;
  text-align: center;
}
.painCTA .btnPrimary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#p-1:checked ~ .clViewport .clTrack{
  transform: translateX(0%);
}
#p-2:checked ~ .clViewport .clTrack{
  transform: translateX(-100%);
}
#p-3:checked ~ .clViewport .clTrack{
  transform: translateX(-200%);
}
#p-4:checked ~ .clViewport .clTrack{
  transform: translateX(-300%);
}
#p-5:checked ~ .clViewport .clTrack{
  transform: translateX(-400%);
}
#p-6:checked ~ .clViewport .clTrack{
  transform: translateX(-500%);
}
#p-7:checked ~ .clViewport .clTrack{
  transform: translateX(-600%);
}
#p-8:checked ~ .clViewport .clTrack{
  transform: translateX(-700%);
}
#p-9:checked ~ .clViewport .clTrack{
  transform: translateX(-800%);
}
#p-1:checked ~ .painDotsWrap .clDots label[for="p-1"]{
  background: var(--jr-yellow);
}
#p-2:checked ~ .painDotsWrap .clDots label[for="p-2"]{
  background: var(--jr-yellow);
}
#p-3:checked ~ .painDotsWrap .clDots label[for="p-3"]{
  background: var(--jr-yellow);
}
#p-4:checked ~ .painDotsWrap .clDots label[for="p-4"]{
  background: var(--jr-yellow);
}
#p-5:checked ~ .painDotsWrap .clDots label[for="p-5"]{
  background: var(--jr-yellow);
}
#p-6:checked ~ .painDotsWrap .clDots label[for="p-6"]{
  background: var(--jr-yellow);
}
#p-7:checked ~ .painDotsWrap .clDots label[for="p-7"]{
  background: var(--jr-yellow);
}
#p-8:checked ~ .painDotsWrap .clDots label[for="p-8"]{
  background: var(--jr-yellow);
}
#p-9:checked ~ .painDotsWrap .clDots label[for="p-9"]{
  background: var(--jr-yellow);
}

/* Overview */
.overviewList{
  display: grid;
  gap: 24px;
}
.overviewCard{
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(89,94,115,.12);
  box-shadow: var(--shadow-soft);
}
.overviewCard--reverse{
  grid-template-columns: 1.08fr 1fr;
}
.overviewCard--reverse .overviewMedia{
  order: 2;
}
.overviewCard--reverse .overviewContent{
  order: 1;
}
.overviewMedia{
  position: relative;
  overflow: hidden;
  height: 100%;
}
.overviewMedia > img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.overviewContent{
  padding: 36px 34px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.14), transparent 34%), linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,250,240,1) 100%);
}
.overviewContent h3{
  margin: 0 0 12px;
  font-size: 28px;
  line-height: 1.15;
  color: var(--jr-black);
}
.overviewContent p{
  margin: 0;
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(89,94,115,.88);
}
.overviewCard--dark{
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.overviewCard--dark .overviewContent h3{
  color: var(--jr-white);;
}
.overviewCard--dark .overviewContent p{
  color: rgba(255, 255, 255, 0.75);
}
.overviewCard--narrowMedia{
  grid-template-columns: 0.65fr 1.35fr;
  align-items: start;
}
.overviewCard--narrowMedia .overviewContent{
  padding: 30px;
}
.overviewCard--narrowMedia .overviewMedia{
  position: relative;
  align-self: start;
  height: auto;
  padding: 18px;
  background: transparent;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.overviewCard--narrowMedia .overviewMedia > img{
  position: relative;
  inset: auto;
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 16px;
}
.overviewCard--narrowMedia .overviewMedia::after{
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 16px;
  pointer-events: none;
}

/* Clientes */
.logoMarquee{
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  border-radius: 0;
  background: transparent;
  overflow: hidden;
  user-select: none;
}
.logoViewport{
  overflow: hidden;
  padding: 16px 10px;
}
.logoTrack{
  display: flex;
  align-items: center;
  gap: 0;
  width: max-content;
  animation: logoScroll 28s linear infinite;
  will-change: transform;
}
.logoItem{
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  height: 90px;
  min-width: 180px;
}
.logoItem img{
  max-height: 80px;
  width: auto;
  object-fit: contain;
  display: block;
  height: 65px;
}
.logoFade{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 180px;
  pointer-events: none;
  z-index: 2;
}
.logoFade--left{
  left: 0;
  background: linear-gradient( 90deg,rgb(255,255,255) 0%, rgba(255,255,255,.92) 40%, rgba(255,255,255,0) 100% );
}
.logoFade--right{
  right: 0;
  background: linear-gradient( 270deg, rgb(255,255,255) 0%, rgba(255,255,255,.92) 40%, rgba(255,255,255,0) 100% );
}
.logoMarquee *{
  user-select: none;
}

/* Solutions */
.scWrap{
  overflow-x: clip;
  position: relative;
}
.scTrack{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(280px, 1fr);
  gap: 18px;
  overflow: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  scrollbar-width: none;
}
.scTrack::-webkit-scrollbar{
  display: none;
}
.scCard{
  scroll-snap-align: start;
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
  padding: 18px;
  min-height: 240px;
  position: relative;
  overflow: hidden;
}
.scCard::before{
  content: "";
  position: absolute;
  inset: -60px -80px auto auto;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, rgba(255, 188, 0, 0.35), rgba(255,204,0,0) 70%);
  transform: rotate(15deg);
}
.scTop{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}
.scTitle{
  margin: 0;
  font-size: 22px !important;
  /*letter-spacing: -.2px;*/
}
.scTag{
  margin: 10px 0 0;
  font-size: 13px;
  color: rgba(255,255,255,.78);
}
.scList{
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.scList li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.scList strong{
  display: block;
  font-size: 13px;
}
.scList span{
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,.75);
  margin-top: 2px;
  line-height: 1.45;
}
.scArrows{
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 20px;
}
.scIcon{
  width: 42px;
  height: 42px;
  object-fit: contain;
  display: block;
}
.scArrows .btnIcon{
  width: 70px;
  height: 26px;
  border-radius: 12px;
}
.scIconBtn{
  display: inline-block;
  transition: transform .2s ease, box-shadow .2s ease;
  background-color: black;
  border-radius: 9px;
}
.scIconBtn:hover{
  transform: translateY(-2px);
}
.scIconBtn:hover .iconGlow{
  box-shadow: 0 10px 25px rgba(0,0,0,.35);
}

/* Vision */
.visionGrid{
  gap: 34px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: stretch;
  min-height: 520px;
  margin-top: 30px;
}
.visionTitle{
  margin: 0 0 12px;
  font-size: 42px;
  line-height: 1.05;
}
.visionLead{
  margin: 0 0 22px;
  color: rgba(11,12,16,.72);
  line-height: 1.6;
  max-width: 60ch;
}
.visionCards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.vCard{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 16px;
  border-radius: 18px;
  background: rgba(11,12,16,.04);
  border: 1px solid rgba(11,12,16,.08);
}
.vIcon{
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.vIcon svg{
  width: 60px;
  height: 60px;
  fill: none;
  stroke: var(--jr-yellow);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.vText h3{
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 600;
}
.vText p{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(11,12,16,.78);
}

.visionRight{
  position: relative;
}
.visionImageCut{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  clip-path: none;
  box-shadow: none;
  border: none;
}
.visionImageCut img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visionLeft{
  padding: 60px 0 60px 60px;
}
.visionPill{
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 12px;
  /*letter-spacing: .5px;*/
  text-transform: uppercase;
  color: rgba(0,0,0,.86);
  display: inline-block;
  padding: 6px 12px;
  background: rgba(11,12,16,.06);
  border: 1px solid rgba(11,12,16,.10);
  margin-bottom: 14px;
}
.visionHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 60px;
}
.visionCard{
  text-align: center;
  transition: all 0.3s ease;
}
.visionCard:hover{
  transform: translateY(-4px);
}
.visionIcon{
  width: 56px;
  height: 56px;
  margin: 0 auto 16px;
}
.visionIcon svg{
  width: 100%;
  height: 100%;
  stroke: #111;
  stroke-width: 2.2;
  fill: none;
}
.visionHighlight{
  margin: 10px auto;
  padding: 6px 25px;
  text-align: center;
  background: linear-gradient(135deg, #6b5a00 0%, #1a1a1a 40%, #000000 50%, #1a1a1a 60%, #6b5a00 100%);
  color: var(--jr-white);;
  border-radius: 16px;
  max-width: 900px;
}
.visionHighlightText{
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.visionCTA{
  text-align: center;
  margin-top: 30px;
}

/* Integrations */
.integrationsHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 30px;
}
.integrationsTitle{
  margin: 0;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  color: var(--jr-white);;
  max-width: 22ch;
}
.integrationsLead{
  margin: 0;
  max-width: 860px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,.72);
}
.integrationsGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 30px;
}
.integrationCard{
  position: relative;
  border-radius: 22px;
  padding: 26px 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 35%), rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
  text-align: center;
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.integrationCard:hover{
  transform: translateY(-3px);
  border-color: rgba(255,188,0,.28);
  background: radial-gradient(circle at top right, rgba(255,188,0,.14), transparent 35%), rgba(255,255,255,.07);
}
.integrationCardIcon{
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  color: var(--jr-yellow);
}
.integrationCardIcon svg{
  width: 64px;
  height: 64px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.integrationCard h3{
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.18;
  color: var(--jr-white);;
}
.integrationCard p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}
.integrationsMicro{
  margin: 24px auto 0;
  max-width: 860px;
  text-align: center;
}
.integrationsMicro p{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255,255,255,.58);
}
.integrationLogoMarquee{
  position: relative;
  margin-top: 34px;
  width: 100%;
  overflow: hidden;
}
.integrationLogoViewport{
  overflow: hidden;
  padding: 18px 0 8px;
}
.integrationLogoTrack{
  display: flex;
  align-items: center;
  gap: 10px;
  width: max-content;
  will-change: transform;
}
.integrationLogoItem{
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: 72px;
  padding: 0 10px;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  transition: transform .2s ease, opacity .2s ease;
}
.integrationLogoItem img{
  max-width: 140px;
  max-height: 46px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  opacity: .88;
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
}
.integrationLogoItem:hover img{
  filter: none;
  opacity: 1;
  transform: translateY(-1px);
}
.integrationLogoFade{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 130px;
  z-index: 2;
  pointer-events: none;
}
.integrationLogoFade--left{
  left: 0;
  background: linear-gradient( 90deg, #000 0%, rgba(0,0,0,.92) 35%, rgba(0,0,0,0) 100% );
}
.integrationLogoFade--right{
  right: 0;
  background: linear-gradient( 270deg, #000 0%, rgba(0,0,0,.92) 35%, rgba(0,0,0,0) 100% );
}

/* Data-driven decisions */
.decisionGrid{
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: stretch;
  min-height: 520px;
}
.decisionLeft{
  padding: 60px 0 60px 60px;
}
.decisionTitle{
  margin: 0 0 12px;
  font-size: 42px;
  line-height: 1.05;
}
.decisionLead{
  margin: 0 0 22px;
  color: rgba(11,12,16,.78);
  line-height: 1.6;
  max-width: 60ch;
}
.decisionCards{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.dCard{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 18px;
  border-radius: 18px;
}
.dCard--full{
  grid-column: 1 / -1;
}
.dIcon{
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.dIcon svg{
  width: 60px;
  height: 60px;
  fill: none;
  stroke: var(--jr-black);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.dText h3{
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 600;
}
.dText p{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(11,12,16,.78);
}

.decisionRight{
  position: relative;
}
.decisionImageFull{
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.decisionImageFull img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.decisionImageFull video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.decisionImageFull--angled{
  clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%, 20% 100%);
}
.decisionMedia{
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.decisionMedia--angled{
  clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%, 20% 100%);
}
.decisionMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.decisionMedia video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.decisionVideoFade{
  position: absolute;
  inset: 0;
  opacity: 1;
  z-index: 2;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 1100ms cubic-bezier(.2,.9,.2,1);
  background: transparent;
}
.decisionFadeLogo{
  width: auto;
  max-width: 50%;
  height: auto;
  max-height: 50%;
  position: relative;
  z-index: 1;
  opacity: .9;
  filter: drop-shadow(0 14px 40px rgba(0,0,0,.45));
  animation: fadeLogoBreath 2.6s ease-in-out infinite;
  object-fit: contain;
  display: block;
}

/* Product suite */
.ps{
  padding-top: 0;
  background: #000;
}
.psTop{
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
}
.psMedia{
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.psMedia--angled{
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 70%);
}
.psMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.05) brightness(.85);
}
.psMedia video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.05) brightness(.85);
}
.psTop::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.65));
  pointer-events: none;
}
.psInner{
  padding: 30px 60px 30px 60px;
  max-width: 1100px;
}
.psPill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: .85;
  border-radius: 5px;
  padding: 6px 12px;
  color: rgba(255,255,255,.55);
  background: rgba(255, 255, 255, .2);
}
.psTitle{
  margin: 0 0 12px;
  font-size: 42px;
  line-height: 1.05;
  color: rgba(255,255,255,.86);
}
.psDot{
  color: var(--jr-yellow);
}
.psLead{
  color: rgba(255,255,255,.7);
  line-height: 1.6;
  margin: 0 0 22px;
  max-width: 60ch;
}
.psCards{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.psCard{
  border-radius: 22px;
  padding: 18px 18px;
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}
.psCard--white{
  background: rgba(255,255,255,.95);
  border-color: rgba(0,0,0,.10);
  color: var(--jr-black);
}
.psCard--semitrans{
  background: rgba(44, 44, 44, 0.52);
  border-color: rgba(0,0,0,.10);
  color: rgba(255,255,255,.7);
}

.psP{
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,.7);
}
.psIcon svg{
  width: 60px;
  height: 60px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.psIcon{
  color: var(--jr-yellow);
}

.xcap{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.xcapHead{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.xcapTitle{
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: rgba(255,255,255,.92);
}
.xcapGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.xcapCard{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.xcapIcon{
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.xcapIcon svg{
  width: 46px;
  height: 46px;
  fill: none;
  stroke: var(--jr-yellow);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.xcapText{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.xcapH{
  font-size: 14px;
  font-weight: 700;
  color: rgba(255,255,255,.96);
}
.xcapP{
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.78);
}

/* Product architecture */
.psA{
  background: radial-gradient(circle at 15% 20%, rgba(255,188,0,.08), transparent 30%), radial-gradient(circle at 85% 80%, rgba(255,188,0,.06), transparent 28%), #000;
  padding: 54px 0 56px;
}
.psAHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 34px;
}
.psATitle{
  margin: 0 0 14px;
  font-size: clamp(34px, 3.6vw, 46px);
  line-height: 1.05;
  color: var(--jr-white);;
  max-width: 24ch;
  margin-left: auto;
  margin-right: auto;
}
.psALead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.78);
}
.psAStack{
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  gap: 16px;
}
.psASpine{
  position: absolute;
  left: 34px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  pointer-events: none;
}
.psASpineLine{
  position: absolute;
  inset: 0;
  width: 2px;
  background: linear-gradient( 180deg, rgba(255,188,0,.15) 0%, rgba(255,188,0,.65) 40%, rgba(255,188,0,.15) 100% );
  border-radius: 999px;
}
.psASpineGlow{
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 10px;
  height: 72px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,188,0,.9) 0%, rgba(255,188,0,0) 72%);
  filter: blur(5px);
  animation: psASpinePulse 3.6s linear infinite;
}
.psALayer{
  position: relative;
  margin-left: 58px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  overflow: hidden;
  transition: border-color .25s ease, transform .22s ease, background .22s ease;
  padding-bottom: 8px;
}
.psALayer::before{
  content: "";
  position: absolute;
  left: -38px;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 2px;
  background: linear-gradient(90deg, rgba(255,188,0,.65), rgba(255,188,0,.14));
  border-radius: 999px;
}
.psALayer:hover{
  transform: translateY(-2px);
  border-color: rgba(255,188,0,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
}
.psALayer.is-open{
  border-color: rgba(255,188,0,.30);
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 30%), linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.035));
}
.psALayerBtn{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 24px 24px 26px;
  border: none;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.psALayerBtn:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(255,188,0,.25);
}
.psALayerMain{
  display: flex;
  align-items: flex-start;
  gap: 18px;
  min-width: 0;
}
.psALayerIcon{
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}
.psALayerIcon svg{
  width: 44px;
  height: 44px;
  fill: none;
  stroke: var(--jr-yellow);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.psALayerCopy{
  min-width: 0;
}
.psALayerEyebrow{
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.82);
}
.psALayerTitle{
  margin: 0 0 8px;
  font-size: clamp(24px, 2.4vw, 30px);
  line-height: 1.08;
  color: var(--jr-white);;
}
.psALayerDesc{
  margin: 0;
  max-width: 760px;
  font-size: 15.5px;
  line-height: 1.72;
  color: rgba(255,255,255,.76);
}
.psALayerToggle{
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  display: none;
}
.psALayerToggle span{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  background: var(--jr-yellow);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform .22s ease, opacity .22s ease;
}
.psALayerToggle span:last-child{
  transform: translate(-50%, -50%) rotate(90deg);
}
.psALayer.is-open .psALayerToggle span:last-child{
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}
.psALayerPanel{
  display: block;
}
.psAPanelInner{
  overflow: hidden;
  padding: 0 24px 24px 108px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.psATag{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 13px;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.psAFoot{
  margin-top: 26px;
  text-align: center;
}
.psAFootText{
  margin: 0 auto;
  max-width: 820px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Guest experience */
.ge{
  padding-top: 0;
}
.geTop{
  height: 400px;
}
.geTop.psTop::after{
  background: linear-gradient(180deg, rgba(0,0,0,.00), rgba(0,0,0,.18));
}
.geInner{
  padding: 34px 40px 36px;
  max-width: 1120px;
}
.geTitle{
  overflow: visible;
  padding-bottom: 20px;
  margin: 8px 0 12px;
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.08;
  color: var(--jr-blacksemi);;
}
.geTitle span{
  line-height: 1.25;
  padding-bottom: 0.08em;
  display: inline-block;
}
.geTitle span span{
  display: inline-block;
  will-change: transform;
}
.geHeroIntro{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}

.geHeroIcon{
  width: 88px;
  height: 88px;
  display: block;
  object-fit: contain;
  opacity: .85;
  border-radius: 15px;
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.22));
}

.geMarquee--premium{
  background: transparent;
  position: relative;
  overflow: hidden;
  padding: 0 0 0 0;
  margin-bottom: -110px;
  z-index: 5;
}
.geMarqueeMask{
  position: relative;
  overflow: hidden;
}
.geMarqueeMask::before{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 170px;
  z-index: 2;
  pointer-events: none;
}
.geMarqueeMask::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 170px;
  z-index: 2;
  pointer-events: none;
}
.geMarqueeTrack--premium{
  display: flex;
  gap: 120px;
  width: max-content;
  min-height: 2.15em;
  animation: geFlowPremium 90s cubic-bezier(.33,0,.12,1) infinite;
  will-change: transform;
  height: 110px;
}
.geMarqueeTrack--premium span{
  font-size: clamp(60px, 8vw, 120px);
  font-weight: 900;
  line-height: .98;
  white-space: nowrap;
  user-select: none;
  color: var(--jr-black);;
  opacity: 0.2;
  transform: translateZ(0);
}
.geMarqueeTrack--premium .geAccent{
  color: var(--jr-yellow);
  opacity: .20;
}
.geLead{
  margin: 0 0 22px;
  max-width: 780px;
  color: rgba(11,12,16,.72);
  font-size: 16px;
  line-height: 1.72;
}
.geJourney{
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  grid-template-rows: auto 46px auto;
  column-gap: 14px;
  row-gap: 18px;
  position: relative;
}
.geTrack{
  grid-column: 1 / -1;
  grid-row: 2;
  align-self: center;
  border-radius: 2px;
  height: 2px;
  background: linear-gradient( 90deg, rgba(0,0,0,.15), rgba(0,0,0,.5), rgba(0,0,0,.15) );
  opacity: 1;
}
.geNode{
  grid-row: 2;
  align-self: center;
  justify-self: center;
  border-radius: 999px;
  position: relative;
  z-index: 2;
  width: 12px;
  height: 12px;
  background: var(--jr-yellow);
  box-shadow: 0 0 0 4px rgba(255,188,0,.15);
}
.geNode::before{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  background: rgba(17,17,17,.22);
}
.geNode--toTop::before{
  bottom: 12px;
  height: 32px;
}
.geNode--toBottom::before{
  top: 12px;
  height: 32px;
}
.geCard{
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(11,12,16,.08);
  border-radius: 18px;
  padding: 20px 18px;
  box-shadow: 0 10px 28px rgba(11,12,16,.08);
  margin: 0 -60px 0 -60px;
  transition: transform .25s ease, box-shadow .25s ease;
}
.geCard:hover{
  border-color: rgba(255,188,0,.22);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.12);
}
.geCard--top{
  grid-row: 1;
  align-self: end;
  transform: translateY(-8px);
}
.geCard--bottom{
  grid-row: 3;
  align-self: start;
  transform: translateY(8px);
}
.geCardTitle{
  margin: 0 0 8px;
  line-height: 1.12;
  color: var(--jr-yellow);
  font-size: 19px;
  font-weight: 800;
}
.geCardDesc{
  margin: 0;
  color: rgba(11,12,16,.66);
  font-size: 14.5px;
  line-height: 1.5;
}
.geCol1{
  grid-column: 1;
}
.geCol2{
  grid-column: 2;
}
.geCol3{
  grid-column: 3;
}
.geCol4{
  grid-column: 4;
}
.geCol5{
  grid-column: 5;
}
.geImpact{
  margin-top: 28px;
  align-items: center;
  max-width: 1000px;
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.geImpactItem{
  line-height: 1.4;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
}
.geImpactDot{
  width: 6px;
  height: 6px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: var(--jr-yellow);
}
.geCTA{
  margin-top: 26px;
  display: flex;
  justify-content: center;
}
.geCard--highlight{
  transform: translateY(8px) scale(1.06);
  box-shadow: 0 24px 70px rgba(0,0,0,.20), 0 0 0 1px rgba(255,188,0,.25), 0 0 30px rgba(255,188,0,.25);
  z-index: 3;
  border: 1px solid rgba(255,188,0,.35);
}
.geCard--highlight .geCardTitle{
  color: var(--jr-yellow);
}
.geNode::after{
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #000;
  opacity: .6;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Bridge */
.bridge{
  text-align: center;
}
.bridgeHead{
  max-width: 800px;
  margin: 0 auto 40px;
}
.bridgeLead{
  color: rgba(255,255,255,.7);
  line-height: 1.6;
}
.bridgeFlow{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1px;
  flex-wrap: wrap;
}
.bridgeHighlight{
  color: var(--jr-yellow);
}
.bridgeItem{
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(255, 188, 0, 0.06);
  border: 1px solid rgba(255, 188, 0, 0.18);
  font-size: 15px;
  line-height: 1.45;
  color: var(--jr-white);;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  opacity: 0;
  transform: translateY(12px);
  transition: all .5s ease;
}
.bridgeArrow{
  color: var(--jr-yellow);
  font-size: 18px;
  line-height: 1;
  opacity: 0;
  transform: translateY(6px);
  transition: all .5s ease;
}
.bridgeItem.is-visible{
  opacity: 1;
  transform: translateY(0);
}
.bridgeArrow.is-visible{
  opacity: .85;
  transform: translateY(0);
}

/* Maintenance */
.mtSection{
  padding: 60px 0 68px;
  position: relative;
}
.mtHero{
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}
.mtHeroIntro{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}
.mtHeroIcon{
  width: 128px;
  height: 128px;
  display: block;
  object-fit: contain;
  opacity: .96;
  border-radius: 15px;
  transform: rotate(-5deg);
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.28));
  transition: transform .25s ease, filter .25s ease;
}
.mtHero:hover .mtHeroIcon{
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 10px 28px rgba(255,188,0,.36));
}
.mtHeroTitle{
  margin: 0 0 14px;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  color: var(--jr-white);;
  margin-left: auto;
  margin-right: auto;
  max-width: 26ch;
}
.mtHeroLead{
  margin: 0 auto;
  max-width: 760px;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.78;
}
.mtHero::after{
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 20px auto 0;
  border-radius: 999px;
  background: linear-gradient( 90deg, transparent, rgba(255,188,0,.72), transparent );
}
.mtStats{
  margin: 36px auto 0;
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.mtStat{
  position: relative;
  padding: 26px 18px 22px;
  border-radius: 22px;
  text-align: center;
  background: radial-gradient(circle at top right, rgba(255,188,0,.12), transparent 35%), rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
}
.mtStatValue{
  font-size: clamp(34px, 3.2vw, 46px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-yellow);
  margin-bottom: 10px;
}
.mtStatLabel{
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.80);
  max-width: 18ch;
  margin: 0 auto;
}
.mtStage{
  position: relative;
  margin-top: 42px;
}
.mtScreenBlock{
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 1120px;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
  text-align: center;
}
.mtScreenHead{
  padding: 0 0 18px;
  text-align: center;
}
.mtScreenHead h3{
  margin: 0 0 8px;
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.08;
  color: var(--jr-white);;
}
.mtScreenHead p{
  margin: 0 auto;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.74);
}
.mtScreenFrame{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-radius: 22px;
  overflow: hidden;
  max-height: 400px;
  width: auto;
  height: auto;
}
.mtScreenFrame img{
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
}
.mtPeople{
  position: absolute;
  right: 119px;
  bottom: -26px;
  z-index: 3;
  width: 100%;
  max-width: 533px;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .34);
  backdrop-filter: blur(10px);
  transform: rotate(-5deg);
  transition: transform .25s ease, box-shadow .25s ease;
}
.mtStage:hover .mtPeople{
  transform: rotate(-1deg) translateY(-2px);
  box-shadow: 0 24px 52px rgba(0,0,0,.38);
}
.mtPeople img{
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  filter: saturate(.94) contrast(1.04) brightness(.96);
}
.mtPeopleCaption{
  padding: 10px 12px 12px;
  font-size: 12px;
  text-align: center;
  color: rgba(255,255,255,.64);
}
.mtInfoGrid{
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.mtBlock{
  padding: 24px 22px;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 32%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
}
.mtBlock h4{
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.2;
  color: var(--jr-white);;
}
.mtList{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.mtList li{
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.76);
}
.mtList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.mtOutcomeStrip{
  margin: 26px auto 0;
  max-width: 1040px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.mtOutcomeItem{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(255,255,255,.84);
  text-align: center;
}
.mtOutcomeDivider{
  width: 28px;
  height: 1px;
  background: linear-gradient( 90deg, transparent, rgba(255,188,0,.55), transparent );
  flex: 0 0 auto;
}
.mtCTA{
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

/* Restaurant */
.rsSection{
  padding: 60px 0 68px;
  position: relative;
}
.rsHero{
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}
.rsHeroIntro{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}
.rsHeroIcon{
  width: 128px;
  height: 128px;
  display: block;
  object-fit: contain;
  opacity: .96;
  border-radius: 15px;
  transform: rotate(-5deg);
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.28));
  transition: transform .25s ease, filter .25s ease;
}
.rsHero:hover .rsHeroIcon{
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 10px 28px rgba(255,188,0,.36));
}
.rsHeroTitle{
  margin: 0 0 14px;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  color: var(--jr-white);;
  margin-left: auto;
  margin-right: auto;
  max-width: 26ch;
}
.rsHeroLead{
  margin: 0 auto;
  max-width: 760px;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.78;
}
.rsHero::after{
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 20px auto 0;
  border-radius: 999px;
  background: linear-gradient( 90deg, transparent, rgba(255,188,0,.72), transparent );
}
.rsStats{
  margin: 36px auto 0;
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.rsStat{
  position: relative;
  padding: 26px 18px 22px;
  border-radius: 22px;
  text-align: center;
  background: radial-gradient(circle at top right, rgba(255,188,0,.12), transparent 35%), rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
}
.rsStatValue{
  font-size: clamp(34px, 4vw, 44px);
  line-height: 1;
  font-weight: 700;
  color: var(--jr-yellow);
}
.rsStatLabel{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.76);
}
.rsStage{
  position: relative;
  margin-top: 34px;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.rsScreenBlock{
  position: relative;
  padding: 22px 22px 20px;
  overflow: hidden;
}
.rsScreenHead{
  text-align: center;
  max-width: 760px;
  margin: 0 auto 18px;
}
.rsScreenHead h3{
  margin: 0 0 10px;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.1;
  color: var(--jr-white);;
}
.rsScreenHead p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}
.rsScreenFrame{
  position: relative;
  z-index: 1;
  display: flex;
  overflow: hidden;
  max-height: 480px;
  width: auto;
  height: auto;
  align-items: flex-start;
  justify-content: flex-start;
}
.rsScreenFrame img{
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
}
.rsPeople{
  position: absolute;
  right: 90px;
  bottom: -20px;
  z-index: 3;
  width: 100%;
  max-width: 420px;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 20px 44px rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
  transform: rotate(-4deg);
  transition: transform .25s ease, box-shadow .25s ease;
}
.rsStage:hover .rsPeople{
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 0 20px 48px rgba(0,0,0,.28);
}
.rsPeople img{
  display: block;
  width: 100%;
  height: auto;
}
.rsPeopleCaption{
  margin-top: 12px;
  text-align: center;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
}
.rsInfoGrid{
  max-width: 1120px;
  margin: 46px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.rsBlock{
  padding: 24px 22px;
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 30%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-soft);
}
.rsBlock h4{
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--jr-white);;
}
.rsList{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.rsList li{
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.78);
}
.rsList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.rsOutcomeStrip{
  margin: 26px auto 0;
  max-width: 1040px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.rsOutcomeItem{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(255,255,255,.84);
  text-align: center;
}
.rsOutcomeDivider{
  width: 28px;
  height: 1px;
  background: linear-gradient( 90deg, transparent, rgba(255,188,0,.55), transparent );
  flex: 0 0 auto;
}
.rsCTA{
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

/* Valet */
.vlSection{
  padding: 60px 0 68px;
  position: relative;
}
.vlHero{
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}
.vlHeroIntro{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}
.vlHeroIcon{
  width: 128px;
  height: 128px;
  display: block;
  object-fit: contain;
  opacity: .96;
  border-radius: 15px;
  transform: rotate(-5deg);
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.28));
  transition: transform .25s ease, filter .25s ease;
}
.vlHero:hover .vlHeroIcon{
  transform: translateY(-2px) scale(1.02);
  filter: drop-shadow(0 10px 28px rgba(255,188,0,.36));
}
.vlHeroTitle{
  margin: 0 0 14px;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  color: var(--jr-white);;
  margin-left: auto;
  margin-right: auto;
  max-width: 26ch;
}
.vlHeroLead{
  margin: 0 auto;
  max-width: 760px;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.78;
}
.vlHero::after{
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 20px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.72), transparent);
}
.vlStats{
  margin: 36px auto 0;
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}
.vlStat{
  position: relative;
  padding: 26px 18px 22px;
  border-radius: 22px;
  text-align: center;
  background: radial-gradient(circle at top right, rgba(255,188,0,.12), transparent 35%), rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
}
.vlStatValue{
  font-size: clamp(34px, 4vw, 44px);
  line-height: 1;
  font-weight: 700;
  color: var(--jr-yellow);
}
.vlStatLabel{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.76);
}
.vlStage{
  position: relative;
  margin-top: 34px;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}
.vlScreenBlock{
  position: relative;
  padding: 22px 22px 20px;
  overflow: hidden;
}
.vlScreenHead{
  text-align: center;
  max-width: 760px;
  margin: 0 auto 18px;
}
.vlScreenHead h3{
  margin: 0 0 10px;
  font-size: clamp(26px, 2.8vw, 34px);
  line-height: 1.1;
  color: var(--jr-white);;
}
.vlScreenHead p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}
.vlScreenFrame{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  overflow: hidden;
  max-height: 400px;
  width: auto;
  height: auto;
}
.vlScreenFrame img{
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
}
.vlPeople{
  position: absolute;
  right: 77px;
  bottom: 41px;
  z-index: 3;
  width: 100%;
  max-width: 284px;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, .07);
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .34);
  backdrop-filter: blur(10px);
  transform: rotate(-5deg);
  transition: transform .25s ease, box-shadow .25s ease;
}
.vlStage:hover .vlPeople{
  transform: rotate(0deg) translateY(-2px);
  box-shadow: 0 20px 48px rgba(0,0,0,.28);
}
.vlPeople img{
  display: block;
  width: 100%;
  height: auto;
}
.vlPeopleCaption{
  margin-top: 12px;
  text-align: center;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.72);
}
.vlInfoGrid{
  max-width: 1120px;
  margin: 46px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}
.vlBlock{
  padding: 24px 22px;
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 30%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-soft);
}
.vlBlock h4{
  margin: 0 0 14px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--jr-white);;
}
.vlList{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}
.vlList li{
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.78);
}
.vlList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.vlOutcomeStrip{
  margin: 26px auto 0;
  max-width: 1040px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
}
.vlOutcomeItem{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(255,255,255,.84);
  text-align: center;
}
.vlOutcomeDivider{
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.55), transparent);
  flex: 0 0 auto;
}
.vlCTA{
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

/* Security */
.securityBand{
  padding: 36px 0 44px;
}
.securityHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 22px;
}
.securityHead .lead{
  max-width: 860px;
}
.securityGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 22px;
}
.securityCard{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 30px 24px;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 35%), rgba(89,94,115,.06);
  border: 1px solid rgba(89,94,115,.14);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(6px);
}
.securityLogoWrap{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  margin-bottom: 14px;
}
.securityLogo{
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.securityCard h3{
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.15;
  color: var(--jr-black);;
}
.securityCard p{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(11,12,16,.74);
  max-width: 42ch;
}
.securityIntro{
  max-width: 920px;
  margin: 0 auto 28px;
  text-align: center;
}
.securityIntro p{
  margin: 0;
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(11,12,16,.74);
}
.securityAssurance{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
  padding: 28px;
  border-radius: 24px;
  border: 1px solid rgba(255,188,0,.18);
  background: rgba(255,188,0,.3);
}
.securityTrustNote{
  margin: 24px auto 0;
  max-width: 920px;
  text-align: center;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.25);
}
.securityTrustNote p{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(11,12,16,.82);
}
.securityCTA{
  margin-top: 28px;
  display: flex;
  justify-content: center;
}
.securityAssuranceItem{
  background: #f4f4f4;
  text-align: center;
  padding: 30px 24px;
  border-radius: 22px;
  border: 1px solid rgba(89,94,115,.14);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(6px);
}
.securityAssuranceItem h3{
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--jr-black);;
  text-align: center;
  width: 100%;
  max-width: 22ch;
  margin-left: auto;
  margin-right: auto;
}

/* FAQ */
.faq{
  display: grid;
  gap: 12px;
}
.faq details{
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  padding: 14px 16px;
}
.faq summary{
  cursor: pointer;
}
.faq p{
  margin: 10px 0 0;
  color: rgba(255,255,255,.70);
  line-height: 1.65;
}
.faqBand{
  padding: 42px 0 52px;
}
.faqHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 30px;
}
.faqHead h2{
  margin: 0;
}
.faqIntro{
  margin: 0;
  max-width: 780px;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255,255,255,.72);
}
.faqPremium{
  display: grid;
  gap: 14px;
  max-width: 980px;
  margin: 0 auto;
}
.faqItem{
  position: relative;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 34%), rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: border-color .25s ease, background .25s ease, transform .2s ease, box-shadow .25s ease;
}
.faqItem:hover{
  border-color: rgba(255,188,0,.22);
  transform: translateY(-1px);
}
.faqItem.is-open{
  border-color: rgba(255,188,0,.35);
  background: radial-gradient(circle at top right, rgba(255,188,0,.12), transparent 34%), rgba(255,255,255,.07);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.faqQuestion{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  background: transparent;
  border: none;
  color: var(--jr-white);;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.faqQuestion:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgba(255,188,0,.35);
  border-radius: 22px;
}
.faqQuestionText{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 600;
  color: var(--jr-white);;
}
.faqIcon{
  position: relative;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
}
.faqIcon::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  background: var(--jr-yellow);
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform .25s ease, opacity .25s ease;
}
.faqIcon::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 16px;
  height: 2px;
  background: var(--jr-yellow);
  border-radius: 999px;
  transition: transform .25s ease, opacity .25s ease;
  transform: translate(-50%, -50%) rotate(90deg);
}
.faqItem.is-open .faqIcon::after{
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}
.faqAnswerWrap{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .32s ease;
}
.faqItem.is-open .faqAnswerWrap{
  grid-template-rows: 1fr;
}
.faqAnswer{
  overflow: hidden;
}
.faqAnswerInner{
  padding: 0 24px 22px 24px;
}
.faqAnswerInner p{
  margin: 0;
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
  max-width: 78ch;
}
.faqCTA{
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.faqItem--highlight{
  border-color: rgba(255,188,0,.26);
  background: radial-gradient(circle at top right, rgba(255,188,0,.14), transparent 34%), rgba(255,255,255,.06);
}
.faqItem--highlight .faqQuestionText{
  color: var(--jr-white);;
}
.faqLabel{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--jr-yellow);
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.22);
  padding: 4px 8px;
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
}

/* Contacto, formularios y modales */
.form{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}
.field{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field--full{
  grid-column: 1 / -1;
}
.fieldError{
  min-height: 14px;
  display: none;
  color: var(--status-err2);
  font: inherit;
  font-size: 13px;
  padding-left: 10px;
}
.checkRow{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin-top: 10px;
}
.checkRow input{
  width: auto;
  margin-top: 2px;
}

.formActions{
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  flex-wrap: wrap;
}
.formStatus{
  font-size: 13px;
  display: none;
  padding-left: 10px;
  font: inherit;
  color: var(--ink);
}
.formStatus--ok{
  color: rgba(126, 255, 180, .95);
}
.formStatus--err{
  color: rgba(255,122,24,.98);
}

.cookieBar{
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 60;
}
.cookieInner{
  width: min(var(--container), 100%);
  margin: 0 auto;
  background: rgba(16,18,24,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 22px;
  box-shadow: var(--shadow);
  padding: 16px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.cookieText{
  color: rgba(255,255,255,.78);
  font-size: 13px;
  line-height: 1.45;
  max-width: 74ch;
}
.cookieTitle{
  font-weight: 800;
}
.cookieActions{
  display: flex;
  gap: 10px;
}

.modalOverlay{
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(14px);
}
.modal{
  border-radius: 24px;
  background: radial-gradient(900px 520px at 15% 25%, rgba(250, 200, 31, 0.14), transparent 60%), radial-gradient(900px 520px at 85% 75%, rgba(220, 165, 21, 0.12), transparent 55%), rgba(10,14,24,.94);
  border: 1px solid rgba(231,240,255,.14);
  box-shadow: 0 24px 80px rgba(0,0,0,.55);
  color: var(--ink);
  width: min(920px, 100%);
  height: min(84vh, 900px);
  max-height: min(84vh, 900px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.modalHead{
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  background: rgba(10,14,24,.88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(231,240,255,.10);
}
.modalTitle{
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--jr-white);;
}
.modalClose{
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(231,240,255,.12);
  background: rgba(255,255,255,.06);
  color: var(--jr-white);;
  cursor: pointer;
  box-shadow: none;
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  font-size: 25px;
  border-radius: 40px;
}
.modalClose:hover{
  background: rgba(255,255,255,.5);
  color: var(--jr-blacksemi);;

}
.modalClose:focus-visible{
  outline: none;
  box-shadow: var(--focus);
}
.modalBody{
  color: rgba(255,255,255,.84);
  color: rgba(255,255,255,.84);
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 56px 22px 24px;
}
.modalBody h3{
  margin: 0 0 12px;
  font-size: 22px;
  line-height: 1.15;
  color: var(--jr-white);;
}
.modalBody p{
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.78);
}
.modalBody a{
  color: var(--jr-yellow);
}
.modalBody a:hover{
  color: var(--jr-white);;
}
.modalBody p + p{
  margin-top: 12px;
}
.modalBody::-webkit-scrollbar{
  width: 10px;
}
.modalBody::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.16);
  border-radius: 999px;
}
.modalOverlay[hidden]{
  display: none !important;
}
.modal--light{
  background: #f0f0f0;
  color: var(--jr-black);;
  width: min(640px, 92%);
  height: auto;
  max-height: 64vh;
}
.modal--light .modalTitle{
  color: var(--jr-black);;
}
.modal--light .modalBody{
  color: var(--jr-black);;
  padding: 48px 28px 22px;
}
.modal--light h3{
  color: var(--jr-black);;
}
.modal--light h4{
  color: var(--jr-black);;
}
.modal--light p{
  color: var(--jr-black);;
}
.modal--light li{
  color: var(--jr-black);;
}
.modal--light a{
  color: var(--jr-black);;
}
.modal--light .modalClose{
  color: var(--jr-black);;
  border: 1px solid rgba(0,0,0,0.35);
}
.modal--light .modalClose:hover{
  background: rgba(0,0,0,.5);
  color: var(--jr-white);
}

.formCheck{
  display: flex;
  align-items: center;
  gap: 10px;
  font: inherit;
  color: var(--ink);
  line-height: 1.2;
  padding-left: 10px;
}
.formCheck input[type="checkbox"]{
  width: 16px !important;
  height: 16px;
  min-width: 16px;
  min-height: 16px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--jr-yellow);
}
.formCheck span{
  font: inherit;
  white-space: nowrap;
}
.formStatus.is-show{
  display: block;
}
.formStatus.is-success{
  background: rgba(60, 190, 120, .10);
}
.formStatus.is-error{
  background: rgba(255, 80, 80, .10);
}

.cfm{
  position: absolute;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0,0,0,.55);
}
.cfmBox{
  width: min(520px, 100%);
  border-radius: 18px;
  padding: 18px 18px 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  background: rgba(10, 14, 24, 0.92);
  border: 1px solid rgba(231,240,255,.14);
  box-shadow: 0 18px 70px rgba(0,0,0,.55);
}
.cfmIcon{
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  position: relative;
  background: none;
  border: none;
}
.cfmIcon svg{
  width: 34px;
  height: 34px;
  display: block;
}
.cfmTitle{
  font-size: 16px;
  font-weight: 750;
  color: rgba(255,255,255,.95);
  margin-bottom: 6px;
}
.cfmText{
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255,255,255,.85);
  margin-bottom: 12px;
}
.cfmBtn{
  width: fit-content;
}
.cfm[hidden]{
  display: none !important;
}

.cfm.is-success .cfmIcon{
  color: var(--status-ok);
}
.cfm.is-success .cfmIcon svg{
  filter: drop-shadow(0 0 6px rgba(50,220,130,.9)) drop-shadow(0 0 14px rgba(50,220,130,.7));
}
.cfm.is-error .cfmIcon{
  color: var(--status-err);
}
.cfm.is-error .cfmIcon svg{
  filter: drop-shadow(0 0 6px rgba(255,159,26,.95)) drop-shadow(0 0 14px rgba(255,159,26,.75));
}

footer{
  padding: 6px 0 0 0;
  background: rgba(0,0,0,1);
  border-top: 1px solid rgba(255,255,255,.10);
}
.foot{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.footLinks{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.footLinks a{
  color: rgba(255,255,255,.78);
}
.footLinks a:hover{
  color: rgba(255,255,255,.95);
}
.footSpacer{
  flex: 1;
}
.footBrand{
  display: flex;
  gap: 12px;
  align-items: center;
}
.footBrandText{
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.footBrandSub{
  color: rgba(255,255,255,.65);
  font-size: 12px;
}

.footerCopy{
  color: rgba(255,255,255,.62);
  font-size: 10px;
}
.footerColumns{
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 40px;
  margin-top: 28px;
}
.footerTitle{
  font-weight: 600;
  font-size: 13px;
  color: var(--jr-yellow);
  margin-bottom: 12px;
}
.footerCol a{
  display: block;
  font-size: 13px;
  color: var(--jr-white);;
  text-decoration: none;
  margin-bottom: 6px;
  transition: opacity .2s ease;
}
.footerCol a:hover{
  opacity: .7;
}
.footerCol{
  display: flex;
  flex-direction: column;
}

.certsBand{
  padding: 10px 0 30px 0;
  background: rgba(0,0,0,1);
}
.certsWrap{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}
.certsGrid{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
  margin-top: 10px;
}
.certItem{
  width: 105px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.certItem img{
  max-height: 60px;
  width: auto;
  object-fit: contain;
  opacity: .85;
  filter: grayscale(1) brightness(1.2);
  transition: all .25s ease;
}
.certItem:hover img{
  opacity: 1;
  filter: none;
}

.social{
  display: flex;
  gap: 10px;
  align-items: center;
}

.allInOne{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 26px;
  align-items: stretch;
}

.card{
  padding: 22px;
  border: 1px solid rgba(231,240,255,.12);
  border-radius: var(--r);
  background: rgba(10, 14, 24, 0.62);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.card h3{
  margin: 0 0 8px;
  font-size: 18px;
}
.card p{
  margin: 10px 0 0;
  color: var(--muted);
  font-weight: 400;
  line-height: 1.6;
}

.objectives{
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.obj{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.22);
  border: 1px solid rgba(0,0,0,.10);
}
.obj .n{
  width: 28px;
  height: 28px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: rgba(11,12,16,.12);
}

.cardSkin--white{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,155,5,1);
}
.cardSkin--light{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.cardSkin--dark{
  background: rgba(11,12,16,.8);
  border: 1px solid rgba(11,12,16,.08);
}
.cardSkin--glassBlack{
  background: rgba(0,0,0,.78);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(4px);
  box-shadow: 0 18px 50px rgba(0,0,0,.28);
}
.cardOnDark{
  color: var(--jr-white);
}
.cardOnDark h3{
  color: var(--jr-white);
  color: rgba(0,0,0,.85);
}
.cardOnDark .dIcon svg{
  stroke: var(--jr-yellow);
}
.cardInner{
  padding: 18px;
}

.imgPh{
  height: 300px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.imgPh.small{
  margin-top: 0;
  height: 170px;
  background-color: rgba(176,210,236,1);
}
.imgPh.small.filled{
  margin-top: 0;
  background-size: cover;
}
.imgPh.filled{
  filter: sepia(80%) brightness(0.9);
  opacity: 0.3;
}

.pillTitle{
  display: flex;
  align-items: center;
  font-weight: 750;
  font-size: 1.05rem;
  color: var(--ink);
}

/* Misc */
#carousel.band{
  padding: 48px 0;
}
#langBtn:hover{
  background: none;
}
#langBtn:focus-visible{
  outline: none;
  box-shadow: none;
}

.fullBleed img{
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
}

#guest-experience .psTop.geTop{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
#guest-experience .psTop.geTop .psMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#modalOverlay[hidden]{
  display: none !important;
}
#overview .sectionHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}
#overview .sectionHead p{
  max-width: 700px;
}
#overview .overviewCTA{
  margin-top: 40px;
  display: flex;
  justify-content: center;
}

.caseStudies{
  padding: 10px 0 30px 0;
}

.proof{
  padding: 30px 0 0 0;
}
.proofTop{
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: 44px;
  align-items: center;
}
.proofMapCol,
.proofIntroCol{
  min-width: 0;
}
.proofMapImg{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.proofTitle{
  margin: 0 0 16px;
  max-width: 14ch;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.02;
  color: var(--jr-blacksemi);;
}
.proofTitle span{
  display: block;
}
.proofTitleAccent{
  color: var(--jr-yellow);
}
.proofLead{
  margin: 0;
  max-width: 58ch;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(11,12,16,.72);
}
.proofStats{
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 520px;
}
.proofStat{
  padding: 18px 16px;
  border-radius: 20px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 35%),
          rgba(11,12,16,.03);
  border: 1px solid rgba(11,12,16,.08);
  box-shadow: 0 10px 24px rgba(11,12,16,.05);
  text-align: center;
}
.proofStatValue{
  margin-bottom: 8px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-blacksemi);;
}
.proofStatLabel{
  max-width: 12ch;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(11,12,16,.64);
}
.proofStatskpi{
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.proofStatkpi{
  padding: 16px 14px;
  border-radius: 18px;
  text-align: center;
  background:
          radial-gradient(circle at top left, rgba(255,188,0,.12), transparent 42%),
          #0b0c10;
  border: 1px solid rgba(11,12,16,.06);
  box-shadow: 0 12px 28px rgba(11,12,16,.12);
}
.proofStatValuekpi{
  margin-bottom: 7px;
  font-size: clamp(26px, 2.6vw, 34px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-yellow);
}
.proofStatLabelkpi{
  font-size: 12.5px;
  line-height: 1.35;
  color: rgba(255,255,255,.82);
}
.proofCasesHead{
  margin-top: 58px;
  margin-bottom: 22px;
  text-align: center;
}
.proofCasesTitle{
  margin: 0 0 10px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.06;
  color: var(--jr-blacksemi);;
}
.proofCasesLead{
  margin: 0 auto;
  max-width: 640px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(11,12,16,.66);
}
.proofCasesGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.proofCasesGrid--two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.proofCaseCard{
  width: 100%;
  padding: 26px;
  border-radius: 28px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 34%),
          #fff;
  border: 1px solid rgba(11,12,16,.08);
  box-shadow: 0 16px 38px rgba(11,12,16,.07);
  text-align: left;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.proofCaseCard:hover{
  transform: translateY(-4px);
  border-color: rgba(255,188,0,.24);
  box-shadow: 0 24px 52px rgba(11,12,16,.12);
}
.proofCaseBody{
  display: block;
}
.proofCaseMeta{
  display: block;
  max-width: 52ch;
  margin: 0;
  font-size: 14px;
  line-height: 1.62;
  color: rgba(11,12,16,.68);
}
.proofCTA{
  display: flex;
  justify-content: center;
  margin-top: 34px;
}

.band--break{
  padding: 40px 0;
  text-align: center;
  background: transparent;
}
.band--break{
  padding: 34px 0;
  position: relative;
  z-index: 1;
}
.band--break-dark{
  background: #000;
}
.band--break-soft{
  background: linear-gradient(180deg, rgba(10,11,15,1), rgba(14,16,22,1));
}
.band--break-light{
  background: #fff;
}

.breakText{
  font-size: 18px;
  opacity: .6;
}
.breakText{
  margin: 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
}
.breakText::before,
.breakText::after{
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 52px;
  height: 1px;
  margin: 0 14px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.5), transparent);
}
.breakText--dark{
  color: rgba(11,12,16,.42);
}
.breakText--dark::before,
.breakText--dark::after{
  background: linear-gradient(90deg, transparent, rgba(11,12,16,.18), transparent);
}

.bridge{
  padding: 64px 0 72px;
  text-align: center;
}
.bridgeHead{
  max-width: 860px;
  margin: 0 auto 34px;
}
.bridgeTitle{
  margin: 0 0 14px;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.08;
  color: var(--jr-white);;
}
.bridgeHighlight{
  color: var(--jr-yellow);
}
.bridgeLead{
  max-width: 760px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.72;
  color: rgba(255,255,255,.74);
}
.bridgeFlow--horizontal{
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 4px;
  margin-top: 36px;
  flex-wrap: nowrap;
}
.bridgeFlow--horizontal .bridgeItem{
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  padding: 18px 18px;
  border-radius: 18px;
  text-align: center;
  font-size: 15px;
  line-height: 1.45;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 14px 32px rgba(0,0,0,.20);
  opacity: 0;
  transform: translateY(12px);
  transition: transform .5s ease, opacity .5s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.bridgeFlow--horizontal .bridgeItem:hover{
  border-color: rgba(255,188,0,.24);
  background: rgba(255,188,0,.06);
  box-shadow: 0 18px 40px rgba(0,0,0,.24);
}
.bridgeFlow--horizontal .bridgeItem--result{
  background: linear-gradient(180deg, rgba(255,188,0,.14), rgba(255,188,0,.08));
  border-color: rgba(255,188,0,.34);
  color: var(--jr-white);;
  box-shadow: 0 18px 44px rgba(0,0,0,.26), 0 0 0 1px rgba(255,188,0,.12);
}
.bridgeFlow--horizontal .bridgeArrow{
  flex: 0 0 auto;
  align-self: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--jr-yellow);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .5s ease, transform .5s ease;
}
.bridgeItem.is-visible{
  opacity: 1;
  transform: translateY(0);
}
.bridgeArrow.is-visible{
  opacity: .95;
  transform: translateY(0);
}
.bridgeSummary{
  max-width: 760px;
  margin: 24px auto 0;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 600;
  color: rgba(255,255,255,.88);
}
.bridgeCTA{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.proof{
  padding: 34px 0 40px;
}
.proofBlock + .proofBlock{
  margin-top: 56px;
}
.proofHead{
  margin-bottom: 24px;
}
.proofHead--center{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.proofSectionTitle{
  margin: 0 0 12px;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.02;
  color: var(--jr-blacksemi);;
}
.proofSectionTitle--narrow{
  max-width: 14ch;
  margin-left: auto;
  margin-right: auto;
}
.proofSectionTitle span{
  display: block;
}
.proofTitleAccent{
  color: var(--jr-yellow);
}
.proofSectionLead{
  margin: 0 auto;
  max-width: 60ch;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(11,12,16,.72);
}
.proofPresenceGrid{
  display: grid;
  grid-template-columns: minmax(0, .6fr) minmax(280px, .4fr);
  gap: 28px;
  align-items: center;
}
.proofMapCard{
  overflow: hidden;
}
.proofMapImg{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.proofPresenceSide{
  display: grid;
  gap: 18px;
}
.proofStats{
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: none;
}
.proofStat{
  padding: 18px 16px;
  border-radius: 20px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 35%),
          rgba(11,12,16,.03);
  border: 1px solid rgba(11,12,16,.08);
  box-shadow: 0 10px 24px rgba(11,12,16,.05);
  text-align: center;
}
.proofStatValue{
  margin-bottom: 8px;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-blacksemi);;
}
.proofStatLabel{
  max-width: 12ch;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(11,12,16,.64);
}
.proofRegions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.proofRegion{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(11,12,16,.04);
  border: 1px solid rgba(11,12,16,.08);
  color: rgba(11,12,16,.72);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}
.proofStatskpi{
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0 40px;
}
.proofStatkpi{
  padding: 18px 14px;
  border-radius: 20px;
  text-align: center;
  background:
          radial-gradient(circle at top left, rgba(255,188,0,.14), transparent 42%),
          rgba(255,188,0,.08);
  border: 1px solid rgba(255,188,0,.22);
  box-shadow: 0 12px 26px rgba(11,12,16,.06);
}
.proofStatValuekpi{
  margin-bottom: 8px;
  font-size: clamp(28px, 2.8vw, 36px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-black);
}
.proofStatLabelkpi{
  font-size: 13px;
  line-height: 1.4;
  color: rgba(11,12,16,.74);
}
.proofCasesHead{
  margin-bottom: 22px;
  text-align: center;
}
.proofCasesTitle{
  margin: 0 0 10px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.06;
  color: var(--jr-blacksemi);;
}
.proofCasesLead{
  margin: 0 auto;
  max-width: 640px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(11,12,16,.66);
}
.proofCasesGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.proofCasesGrid--two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.proofCaseCard{
  width: 100%;
  padding: 26px;
  border-radius: 28px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 34%),
          #fff;
  border: 1px solid rgba(11,12,16,.08);
  box-shadow: 0 16px 38px rgba(11,12,16,.07);
  text-align: left;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.proofCaseCard:hover{
  transform: translateY(-4px);
  border-color: rgba(255,188,0,.24);
  box-shadow: 0 24px 52px rgba(11,12,16,.12);
}
.proofCaseLogo{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 54px;
  margin-bottom: 18px;
}
.proofCaseLogo img{
  display: block;
  width: auto;
  height: auto;
  max-width: 180px;
  max-height: 64px;
  object-fit: contain;
}
.proofCaseTitle{
  display: block;
  margin: 0 0 14px;
}
.proofCaseMetrics{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 14px;
  align-items: stretch;
}
.proofCaseMetrics--two{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.proofMetric{
  display: flex;
  min-height: 94px;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 12px;
  border-radius: 18px;
  background: rgba(11,12,16,.03);
  border: 1px solid rgba(11,12,16,.07);
}
.proofMetric strong{
  font-size: 24px;
  line-height: 1;
  color: var(--jr-yellow);
  font-weight: 800;
}
.proofMetric em{
  font-style: normal;
  font-size: 12.5px;
  line-height: 1.4;
  color: rgba(11,12,16,.68);
}
.proofCaseMeta{
  margin: 0;
  font-size: 15px;
  line-height: 1.68;
  color: rgba(11,12,16,.72);
}
.proofCTA{
  margin-top: 34px;
  display: flex;
  justify-content: center;
}
.proofBlock--results .proofSectionTitle{
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.15;
}
.proofBlock--results .proofSectionLead{
  font-size: 15px;
}

/* Contact intro block */
.contactIntro{
  margin: 0 auto 28px;
}
.contactIntroInner{
  position: relative;
  overflow: hidden;
  padding: 34px 28px 30px;
  border-radius: 26px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.18), transparent 30%),
          radial-gradient(circle at bottom left, rgba(255,188,0,.08), transparent 28%),
          linear-gradient(135deg, rgba(10,14,24,.94), rgba(5,7,12,.98));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  text-align: center;
}
.contactIntroKicker{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.24);
  color: var(--jr-yellow);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 14px;
}
.contactIntroTitle{
  margin: 0 auto 14px;
  max-width: 18ch;
  font-size: clamp(34px, 4vw, 50px);
  line-height: 1.02;
}
.contactIntroLead{
  margin: 0 auto;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.contactIntroPoints{
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
  max-width: 820px;
}
.contactIntroPoint{
  position: relative;
  padding: 14px 16px 14px 38px;
  border-radius: 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  text-align: left;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  color: rgba(255,255,255,.90);
}
.contactIntroPoint::before{
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
  box-shadow: 0 0 0 6px rgba(255,188,0,.12);
}
.contactIntroStats{
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
  max-width: 920px;
}
.contactIntroStat{
  padding: 20px 16px 18px;
  border-radius: 20px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}
.contactIntroStatValue{
  margin-bottom: 8px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-yellow);
}
.contactIntroStatLabel{
  margin: 0 auto;
  max-width: 18ch;
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.76);
}

/* Contact premium hero */
.contactHero{
  margin: 0 auto 30px;
}
.contactHeroGrid{
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr);
  gap: 18px;
  padding: 30px;
  border-radius: 28px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.16), transparent 26%),
          radial-gradient(circle at bottom left, rgba(255,188,0,.10), transparent 24%),
          linear-gradient(135deg, rgba(10,14,24,.96), rgba(5,7,12,.98));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 28px 80px rgba(0,0,0,.36);
}
.contactHeroGrid::before{
  content: "";
  position: absolute;
  inset: auto auto 0 0;
  width: 260px;
  height: 260px;
  background: radial-gradient(circle, rgba(255,188,0,.10), transparent 70%);
  pointer-events: none;
}
.contactHeroMain{
  position: relative;
  z-index: 1;
  padding: 6px 4px 6px 4px;
}
.contactHeroKicker{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.22);
  color: var(--jr-yellow);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 14px;
}
.contactHeroTitle{
  margin: 0 0 14px;
  max-width: 16ch;
  font-size: clamp(36px, 4.2vw, 54px);
  line-height: 1.02;
  color: var(--jr-white);;
}
.contactHeroLead{
  margin: 0;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(255,255,255,.76);
}
.contactHeroPoints{
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,.4fr));
  max-width: 760px;
}
.contactHeroPoint{
  position: relative;
  padding: 14px 16px 14px 38px;
  border-radius: 18px;
  color: rgba(255,255,255,.90);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-align: left;
}
.contactHeroPoint::before{
  content: "";
  position: absolute;
  left: 16px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
  box-shadow: 0 0 0 6px rgba(255,188,0,.12);
}
.contactHeroSide{
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
}
.contactHeroCard{
  width: 100%;
  padding: 22px 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.contactHeroCardKicker{
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,255,255,.56);
  margin-bottom: 14px;
}
.contactHeroStats{
  display: grid;
  gap: 12px;
}
.contactHeroStat{
  padding: 16px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
}
.contactHeroStatValue{
  margin-bottom: 6px;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-yellow);
}
.contactHeroStatLabel{
  font-size: 13.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.76);
}
.contactHeroNote{
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,.58);
}
.contactSectionHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 26px;
}
.contactSectionHead h2{
  margin: 0 0 10px;
}
.contactSectionClaim{
  margin: 0 auto;
  max-width: 700px;
  color: rgba(0,0,0,.75);
}

/*______________________________________________*/
.Kicker_Hero{
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: .85;
  border-radius: 5px;
  padding: 6px 12px;
  color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}
.Kicker_White{
  display: inline-block;
  border: 1px solid rgba(255,188,0,.34);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: .85;
  border-radius: 5px;
  padding: 6px 12px;
  color: rgba(0,0,0,.55);
  background: rgba(0, 0, 0, .05);
}
.Kicker_Black{
  display: inline-block;
  border: 1px solid rgba(255,188,0,.34);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: .85;
  border-radius: 5px;
  padding: 6px 12px;
  background: rgba(0, 0, 0, .05);
  color: rgba(255,255,255,.55);
}
.Kicker_Yellow{
  display: inline-block;
  border: 1px solid rgba(255,188,0,.34);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 10px;
  opacity: .85;
  border-radius: 5px;
  padding: 6px 12px;
  background: rgba(0, 0, 0, .05);
  color: var(--jr-yellow);
}
/*______________________________________________*/

#contacto .contactClosureGrid{
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 20px;
  align-items: stretch;
}
#contacto .contactTrustCard{
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
#contacto .contactTrustImage{
  min-height: 150px;
  flex: 0 0 30%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#contacto .contactTrustInner{
  padding: 24px 24px 26px;
}
#contacto .contactTrustCard .pillTitle{
  margin-bottom: 12px;
}
#contacto .contactTrustCard p{
  margin: 0;
  line-height: 1.7;
  color: rgba(11,12,16,.76);
}
#contacto .contactTrustMicro{
  margin-top: 10px !important;
  font-size: 14px;
  color: rgba(11,12,16,.66);
}
#contacto .contactTrustLegalLine{
  margin-top: 14px !important;
  padding-top: 14px;
  border-top: 1px solid rgba(11,12,16,.10);
  font-size: 13px;
  line-height: 1.6;
  color: rgba(11,12,16,.58);
}

/* BEYOND PMS */
#beyond-pms{
  scroll-margin-top: var(--anchorOffset);
}

.beyondPms{
  padding: 34px 0 40px;
}
.beyondPmsHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 28px;
}
.beyondPmsTitle{
  max-width: 30ch;
  margin: 0;
  line-height: 1.08;
}
.beyondPmsLead{
  text-align: center;
  max-width: 860px;

}
.beyondPmsList{
  gap: 26px;
}
.beyondPmsCard{
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(89,94,115,.12);
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
  background: #fff;
}
.beyondPmsMedia{
  min-height: 320px;
  background: #f4f1e8;
}
.beyondPmsMedia img{
  transition: transform .45s ease, filter .35s ease;
  filter: saturate(1.02) contrast(1.02) brightness(.98);
}
.beyondPmsCard:hover .beyondPmsMedia img{
  transform: scale(1.03);
}
.beyondPmsContent{
  padding: 38px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.12), transparent 34%),
          linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,250,240,1) 100%);
}
.beyondPmsContent h3{
  margin: 0 0 12px;
  font-size: clamp(26px, 2.2vw, 32px) !important;
  line-height: 1.12 !important;
  color: var(--jr-black);
  max-width: 18ch;
}
.beyondPmsContent p{
  margin: 0;
  max-width: 58ch;
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(89,94,115,.88);
}
.beyondPmsCTA{
  margin-top: 26px;
  display: flex;
  justify-content: center;
}
.beyondPmsContent .Kicker_White{
  display: inline-block;
  width: auto;
  max-width: max-content;
}
.beyondPmsHead{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 30px;
}
.beyondPmsContrast{
  margin: 6px 0 0;
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(11,12,16,.05);
  border: 1px solid rgba(11,12,16,.10);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(11,12,16,.72);
}
.beyondPmsFoot{
  margin-top: 26px;
  text-align: center;
}
.beyondPmsClosing{
  margin: 0 auto;
  max-width: 40ch;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.25;
  font-weight: 600;
  color: var(--jr-black);
}

/* Platform architecture */
.pa{
  background:
          radial-gradient(circle at 12% 18%, rgba(255,188,0,.10), transparent 30%),
          radial-gradient(circle at 85% 82%, rgba(255,188,0,.08), transparent 28%),
          #000;
  padding: 58px 0 64px;
}
.paHead{
  text-align: center;
  max-width: 920px;
  margin: 0 auto 34px;
}
.paTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 22ch;
  margin-left: auto;
  margin-right: auto;
}
.paLead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.paSystem{
  max-width: 1140px;
  margin: 0 auto;
}
.paLevel{
  position: relative;
}
.paLevelLabel{
  margin-bottom: 14px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.78);
  text-align: center;
}
.paLevelGrid{
  display: grid;
  gap: 18px;
}
.paLevelGrid--top{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.paCoreCard{
  position: relative;
  border-radius: 24px;
  padding: 26px 22px 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  text-align: center;
  min-height: 250px;
}
.paCoreCard--center{
  border-color: rgba(255,188,0,.24);
  background:
          radial-gradient(circle at top center, rgba(255,188,0,.10), transparent 38%),
          linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
}
.paCoreIcon{
  width: 68px;
  height: 68px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paCoreIcon img{
  width: 68px;
  height: 68px;
  object-fit: contain;
  display: block;
  border-radius: 10px;
}
.paCoreIcon svg{
  width: 40px;
  height: 40px;
  stroke: var(--jr-yellow);
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.paCoreEyebrow{
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.82);
}
.paCoreTitle{
  margin: 0 0 10px;
  color: var(--jr-white);;
  font-size: clamp(24px, 2vw, 28px) !important;
  line-height: 1.08 !important;
}
.paCoreText{
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.74);
}
.paConnector{
  position: relative;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.paConnectorLine{
  width: 2px;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,188,0,.15), rgba(255,188,0,.7), rgba(255,188,0,.15));
}
.paConnectorDot{
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--jr-yellow);
  box-shadow: 0 0 0 6px rgba(255,188,0,.12);
}
.paProducts{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.paProductCard{
  border-radius: 22px;
  padding: 20px 18px 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
}
.paProductCard--featured{
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 32%),
          rgba(255,255,255,.055);
  border-color: rgba(255,188,0,.18);
}
.paProductTop{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.paProductIcon{
  width: 46px;
  height: 46px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  flex: 0 0 auto;
}
.paProductGroup{
  font-size: 11px;
  font-weight: 700;
  /*letter-spacing: .08em;*/
  text-transform: uppercase;
  color: rgba(255,188,0,.78);
  margin-bottom: 4px;
}
.paProductTitle{
  margin: 0;
  color: var(--jr-white);;
  font-size: 20px !important;
  line-height: 1.1 !important;
}
.paProductText{
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  line-height: 1.65;
}
.paFoot{
  margin-top: 24px;
  text-align: center;
}
.paFootText{
  margin: 0 auto;
  max-width: 860px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Platform architecture */
.pa{
  background:
          radial-gradient(circle at 12% 18%, rgba(255,188,0,.10), transparent 30%),
          radial-gradient(circle at 88% 78%, rgba(255,188,0,.08), transparent 28%),
          #000;
  padding: 58px 0 64px;
}
.paHead{
  text-align: center;
  max-width: 920px;
  margin: 0 auto 34px;
}
.paTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 22ch;
  margin-left: auto;
  margin-right: auto;
}
.paLead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.paLogic{
  max-width: 1120px;
  margin: 0 auto 34px;
  padding: 26px 24px 24px;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
}
.paLogicLabel,
.paAppsLabel{
  margin-bottom: 14px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.80);
  text-align: center;
}
.paLogicRail{
  position: relative;
  height: 18px;
  margin-bottom: 12px;
}
.paLogicLine{
  position: absolute;
  left: 10%;
  right: 10%;
  top: 50%;
  height: 2px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, rgba(255,188,0,.12), rgba(255,188,0,.65), rgba(255,188,0,.12));
  border-radius: 999px;
}
.paLogicGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.paLogicItem{
  position: relative;
  text-align: center;
  padding: 6px 10px 0;
}
.paLogicItem--active{
  transform: translateY(-2px);
}
.paLogicDot{
  width: 12px;
  height: 12px;
  margin: 0 auto 14px;
  border-radius: 999px;
  background: var(--jr-yellow);
  box-shadow: 0 0 0 6px rgba(255,188,0,.12);
}
.paLogicTitle{
  margin: 0 0 8px;
  color: var(--jr-white);;
  font-size: clamp(22px, 1.9vw, 26px) !important;
  line-height: 1.08 !important;
}
.paLogicText{
  margin: 0 auto;
  max-width: 30ch;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.72);
}
.paApps{
  max-width: 1120px;
  margin: 0 auto;
}
.paAppsGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.paAppCard{
  border-radius: 22px;
  padding: 20px 18px 18px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.paAppCard:hover{
  transform: translateY(-2px);
  border-color: rgba(255,188,0,.22);
  background: rgba(255,255,255,.06);
}
.paAppCard--primary{
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 32%),
          rgba(255,255,255,.055);
  border-color: rgba(255,188,0,.18);
}
.paAppTop{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.paAppIcon{
  width: 46px;
  height: 46px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  flex: 0 0 auto;
}
.paAppMeta{
  min-width: 0;
}
.paAppGroup{
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,255,255,.4);
  margin-bottom: 4px;
}
.paAppTitle{
  margin: 0;
  color: var(--jr-white);;
  font-size: 20px !important;
  line-height: 1.1 !important;
}
.paAppText{
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  line-height: 1.65;
}
.paFoot{
  margin-top: 24px;
  text-align: center;
}
.paFootText{
  margin: 0 auto;
  max-width: 860px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Product suite intro */
.psSuite{
  background:
          radial-gradient(circle at 14% 20%, rgba(255,188,0,.08), transparent 28%),
          radial-gradient(circle at 86% 82%, rgba(255,188,0,.06), transparent 24%),
          #000;
  padding: 54px 0 58px;
}
.psSuiteHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 28px;
}
.psSuiteTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 20ch;
  margin-left: auto;
  margin-right: auto;
}
.psSuiteLead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.psSuiteIntroGrid{
  max-width: 1120px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 18px;
  align-items: stretch;
}
.psSuiteStatement{
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  overflow: hidden;
}
.psSuiteStatementInner{
  padding: 26px 24px;
}
.psSuiteMiniKicker{
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.80);
}
.psSuiteStatementText{
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,.86);
  max-width: 44ch;
}
.psSuiteHighlights{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.psSuiteHighlight{
  border-radius: 22px;
  padding: 20px 18px;
  text-align: center;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
}
.psSuiteHighlightValue{
  margin-bottom: 8px;
  font-size: clamp(34px, 3vw, 42px);
  line-height: 1;
  font-weight: 800;
  color: var(--jr-yellow);
}
.psSuiteHighlightLabel{
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255,255,255,.78);
}
.psSuiteModules{
  max-width: 1120px;
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.psSuiteModule{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.psSuiteModule:hover{
  transform: translateY(-2px);
  border-color: rgba(255,188,0,.22);
  background: rgba(255,255,255,.06);
}
.psSuiteModule--primary{
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 32%),
          rgba(255,255,255,.055);
  border-color: rgba(255,188,0,.18);
}
.psSuiteModuleIcon{
  width: 52px;
  height: 52px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  flex: 0 0 auto;
}
.psSuiteModuleCopy{
  min-width: 0;
}
.psSuiteModuleGroup{
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.78);
}
.psSuiteModuleTitle{
  margin: 0 0 6px;
  color: var(--jr-white);;
  font-size: 19px !important;
  line-height: 1.1 !important;
}
.psSuiteModuleText{
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
}
.psSuiteFoot{
  margin-top: 22px;
  text-align: center;
}
.psSuiteFootText{
  margin: 0 auto;
  max-width: 820px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Product suite intro */
.psSuiteIntro{
  background:
          radial-gradient(circle at 14% 18%, rgba(255,188,0,.08), transparent 28%),
          radial-gradient(circle at 86% 80%, rgba(255,188,0,.06), transparent 24%),
          #000;
  padding: 54px 0 56px;
}
.psSuiteIntroHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 28px;
}
.psSuiteIntroTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 18ch;
  margin-left: auto;
  margin-right: auto;
}
.psSuiteIntroLead{
  margin: 0 auto;
  max-width: 800px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.psSuiteIntroPanel{
  max-width: 1120px;
  margin: 0 auto;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.028));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  overflow: hidden;
}
.psSuiteIntroStatement{
  padding: 28px 26px 22px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.psSuiteIntroMiniKicker{
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.80);
}
.psSuiteIntroStatementText{
  margin: 0 auto;
  max-width: 48ch;
  font-size: 20px;
  line-height: 1.65;
  color: rgba(255,255,255,.88);
}
.psSuiteIntroFlow{
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 24px 22px 24px;
}
.psSuiteIntroPoint{
  text-align: center;
  padding: 14px 12px;
}
.psSuiteIntroPointTitle{
  margin-bottom: 8px;
  color: var(--jr-white);;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.1;
}
.psSuiteIntroPointText{
  margin: 0 auto;
  max-width: 24ch;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.72);
}
.psSuiteIntroArrow{
  color: var(--jr-yellow);
  font-size: 22px;
  line-height: 1;
  opacity: .85;
}
.psSuiteIntroFoot{
  margin-top: 20px;
  text-align: center;
}
.psSuiteIntroFootText{
  margin: 0 auto;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Product suite lite */
.psSuiteLite{
  background:
          radial-gradient(circle at 14% 18%, rgba(255,188,0,.08), transparent 28%),
          radial-gradient(circle at 86% 80%, rgba(255,188,0,.06), transparent 24%),
          #000;
  padding: 48px 0 50px;
}
.psSuiteLiteHead{
  text-align: center;
  max-width: 860px;
  margin: 0 auto 24px;
}
.psSuiteLiteTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 18ch;
  margin-left: auto;
  margin-right: auto;
}
.psSuiteLiteLead{
  margin: 0 auto;
  max-width: 760px;
  font-size: 17px;
  line-height: 1.72;
  color: rgba(255,255,255,.76);
}
.psSuiteLitePanel{
  max-width: 1020px;
  margin: 0 auto;
  padding: 24px 24px 22px;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.028));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  text-align: center;
}
.psSuiteLiteStatement{
  margin: 0 auto 18px;
  max-width: 46ch;
  font-size: 19px;
  line-height: 1.65;
  color: rgba(255,255,255,.88);
}
.psSuiteLitePrinciples{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
.psSuiteLitePrinciple{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(255,255,255,.84);
  text-align: center;
}
.psSuiteLiteDivider{
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.55), transparent);
  flex: 0 0 auto;
}
.psSuiteLiteFoot{
  margin-top: 18px;
  text-align: center;
}
.psSuiteLiteFootText{
  margin: 0 auto;
  max-width: 760px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}

/* Mobile toggle */
.navToggle{
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  border-radius: 40px;
  cursor: pointer;
  position: relative;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 24px rgba(0,0,0,.20);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.navToggle:hover{
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
}
.navToggle:focus-visible{
  outline: none;
  box-shadow: var(--focus);
}
.navToggle span{
  position: absolute;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition: transform .2s ease, opacity .2s ease, top .2s ease;
}
.navToggle span:nth-child(1){
  top: 13px;
}
.navToggle span:nth-child(2){
  top: 20px;
}
.navToggle span:nth-child(3){
  top: 27px;
}
.navToggle.is-open span:nth-child(1){
  top: 20px;
  transform: rotate(45deg);
}
.navToggle.is-open span:nth-child(2){
  opacity: 0;
}
.navToggle.is-open span:nth-child(3){
  top: 20px;
  transform: rotate(-45deg);
}

/* Mobile nav panel */
.navPanel{
  position: fixed;
  top: calc(var(--navH) + 12px);
  right: 16px;
  left: auto;
  z-index: 49;
  width: min(340px, calc(100vw - 32px));
}
.navPanel[hidden]{
  display: none !important;
}
.navPanelCard{
  border-radius: 22px;
  padding: 16px;
  background: rgba(16,18,24,.96);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 55px rgba(0,0,0,.38);
  backdrop-filter: blur(14px);
}
.navPanelLinks{
  display: grid;
  gap: 6px;
}
.navPanelLink{
  display: block;
  padding: 12px 12px;
  border-radius: 12px;
  color: rgba(255,255,255,.92);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.navPanelLink:hover{
  background: rgba(255,255,255,.06);
  color: var(--jr-white);;
}
.navPanelLink:focus-visible{
  outline: none;
  box-shadow: var(--focus);
}
.navPanelDivider{
  height: 1px;
  margin: 14px 0;
  background: rgba(255,255,255,.08);
}
.navPanelActions{
  display: grid;
  gap: 12px;
}
.navPanelCTA{
  width: 100%;
  justify-content: center;
  min-height: 44px;
}
.navPanelSupport{
  display: block;
  padding: 2px 2px 0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255,255,255,.72);
  text-decoration: none;
  transition: color .18s ease;
}
.navPanelSupport:hover{
  color: var(--jr-white);;
}
.navPanelLang{
  display: flex;
  gap: 10px;
  justify-content: center;
}
.navPanelLangItem{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  max-width: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.navPanelLangItem:hover{
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
}
.navPanelLangItem.active,
.navPanelLangItem[aria-pressed="true"]{
  color: var(--jr-yellow);
  border-color: rgba(255,188,0,.30);
  background: rgba(255,188,0,.10);
  box-shadow: 0 6px 18px rgba(255,188,0,.12);
}

/* Hide old mobile remnants */
.navPanelInner,
.langRow{
  display: none;
}

/* Product suite */
.psSuite{
  background:
          radial-gradient(circle at 14% 20%, rgba(255,188,0,.08), transparent 28%),
          radial-gradient(circle at 86% 82%, rgba(255,188,0,.06), transparent 24%),
          #000;
  padding: 54px 0 58px;
}
.psSuiteHead{
  text-align: center;
  max-width: 900px;
  margin: 0 auto 28px;
}
.psSuiteTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 20ch;
  margin-left: auto;
  margin-right: auto;
  /*text-wrap: balance;*/
}
.psSuiteLead{
  margin: 0 auto;
  max-width: 820px;
  font-size: 17px;
  line-height: 1.75;
  color: rgba(255,255,255,.76);
}
.psSuiteIntroGrid{
  max-width: 1120px;
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 18px;
  align-items: stretch;
}
.psSuiteStatement{
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  overflow: hidden;
}
.psSuiteStatementInner{
  padding: 26px 24px;
}
.psSuiteMiniKicker{
  margin-bottom: 10px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.80);
}
.psSuiteStatementText{
  margin: 0;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(255,255,255,.86);
  max-width: 44ch;
}
.psSuiteHighlights{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.psSuiteHighlight{
  border-radius: 22px;
  padding: 20px 18px;
  text-align: center;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
}
.psSuiteHighlightValue{
  margin-bottom: 8px;
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 1.1;
  font-weight: 700;
  color: var(--jr-yellow);
}
.psSuiteHighlightLabel{
  font-size: 14px;
  line-height: 1.5;
  color: rgba(255,255,255,.78);
}
.psSuiteModules{
  max-width: 1120px;
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.psSuiteModule{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: var(--shadow-soft);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}
.psSuiteModule:hover{
  transform: translateY(-2px);
  border-color: rgba(255,188,0,.22);
  background: rgba(255,255,255,.06);
}
.psSuiteModule--primary{
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 32%),
          rgba(255,255,255,.055);
  border-color: rgba(255,188,0,.18);
}
.psSuiteModuleIcon{
  width: 52px;
  height: 52px;
  object-fit: contain;
  display: block;
  border-radius: 8px;
  flex: 0 0 auto;
}
.psSuiteModuleCopy{
  min-width: 0;
}
.psSuiteModuleGroup{
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: rgba(255,188,0,.78);
}
.psSuiteModuleTitle{
  margin: 0 0 6px;
  color: var(--jr-white);;
  font-size: 19px !important;
  line-height: 1.1 !important;
}
.psSuiteModuleText{
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
  line-height: 1.55;
}
.psSuiteFoot{
  margin-top: 22px;
  text-align: center;
}
.psSuiteFootText{
  margin: 0 auto;
  max-width: 820px;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255,255,255,.60);
}
.psSuiteLite{
  padding: 46px 0 48px;
  background:
          radial-gradient(circle at 14% 20%, rgba(255,188,0,.08), transparent 28%),
          radial-gradient(circle at 86% 82%, rgba(255,188,0,.06), transparent 24%),
          #000;
}
.psSuiteLiteHead{
  text-align: center;
  max-width: 880px;
  margin: 0 auto 24px;
}
.psSuiteLiteTitle{
  margin: 0 0 14px;
  color: var(--jr-white);;
  max-width: 20ch;
  margin-left: auto;
  margin-right: auto;
}
.psSuiteLiteLead{
  margin: 0 auto;
  max-width: 760px;
  font-size: 16px;
  line-height: 1.72;
  color: rgba(255,255,255,.74);
}
.psSuiteLitePanel{
  max-width: 980px;
  margin: 0 auto;
  padding: 24px 22px 22px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  text-align: center;
}
.psSuiteLiteStatement{
  margin: 0 auto;
  max-width: 760px;
  font-size: 17px;
  line-height: 1.68;
  color: rgba(255,255,255,.86);
}
.psSuiteLitePrinciples{
  margin-top: 18px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
.psSuiteLitePrinciple{
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: rgba(255,255,255,.82);
}
.psSuiteLiteDivider{
  width: 22px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.55), transparent);
  flex: 0 0 auto;
}
.psSuiteLiteFoot{
  margin-top: 18px;
  text-align: center;
}
.psSuiteLiteFootText{
  margin: 0 auto;
  max-width: 760px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255,255,255,.58);
}

/* Housekeeping */
.hkSection{
  position: relative;
  padding: 64px 0 72px;
  background:
          radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 24%),
          radial-gradient(circle at bottom left, rgba(255,188,0,.05), transparent 22%),
          #000;
}
.hkHero{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.hkHeroIntro{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 16px;
}
.hkHeroIcon{
  width: 88px;
  height: 88px;
  display: block;
  object-fit: contain;
  opacity: .85;
  border-radius: 15px;
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.22));
}
.hkHero:hover .hkHeroIcon{
  transform: none;
  filter: drop-shadow(0 8px 22px rgba(255,188,0,.22));
}
.hkHeroTitle{
  margin: 0 auto 14px;
  max-width: 31ch;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  color: var(--jr-white);;
}
.hkHeroTitle span{
  display: block;
}
.hkHeroLead{
  max-width: 760px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.78;
  color: rgba(255,255,255,.76);
}
.hkHero::after{
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 22px auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.72), transparent);
}
.hkOverview{
  margin: 44px auto 0;
  max-width: 1120px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 22px;
  align-items: stretch;
}
.hkOverviewCopy{
  padding: 28px 28px 30px;
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 36%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
}
.hkMiniKicker{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--jr-yellow);
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.18);
}
.hkOverviewTitle{
  margin: 0 0 12px;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.1;
  color: var(--jr-white);;
}
.hkOverviewLead{
  margin: 0;
  font-size: 15px;
  line-height: 1.72;
  color: rgba(255,255,255,.74);
}
.hkOverviewMedia{
  display: flex;
  align-items: stretch;
  justify-content: center;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
  min-height: 100%;
}
.hkOverviewMedia img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hkBlocks{
  max-width: 1120px;
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.hkFeatureCard{
  padding: 24px 22px;
  border-radius: 24px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.09), transparent 34%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow-soft);
}
.hkFeatureTop{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}
.hkFeatureStep{
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,188,0,.12);
  border: 1px solid rgba(255,188,0,.24);
  color: var(--jr-yellow);
  font-size: 12px;
  font-weight: 700;
}
.hkFeatureTitle{
  margin: 0;
  font-size: 22px;
  line-height: 1.14;
  color: var(--jr-white);;
}
.hkFeatureLead{
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.72);
}
.hkFeatureList{
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.hkFeatureList li{
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,.80);
}
.hkFeatureList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .62em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.hkOutcomeStrip{
  max-width: 1040px;
  margin: 30px auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-top: 4px;
  background: transparent;
  border: none;
}
.hkOutcomeItem{
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  color: rgba(255,255,255,.82);
}
.hkOutcomeDivider{
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.55), transparent);
}
.hkCTA{
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.hkMainImage{
  margin: 36px auto 0;
  max-width: 1000px;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.04);
}
.hkMainImage img{
  width: 100%;
  height: 100%;
  max-height: 500px;
  object-fit: contain;
  display: block;
}

.mtSection{
  padding: 64px 0 72px;
  position: relative;
  background: #fff;
  color: var(--jr-black);;
}
.mtShell{
  max-width: 1120px;
  margin: 0 auto;
}
.mtHero{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.mtHeroIntro{
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.mtHeroIcon{
  width: 88px;
  height: 88px;
  display: block;
  object-fit: contain;
  opacity: .9;
  animation: none !important;
  transform: none !important;
}
.mtHeroTitle{
  margin: 0 auto 14px;
  max-width: 31ch;
  color: var(--jr-blacksemi);;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
}
.mtHeroTitle span{
  display: block;
}
.mtHeroLead{
  max-width: 800px;
  margin: 0 auto;
  color: rgba(11,12,16,.72);
  font-size: 16px;
  line-height: 1.78;
}
.mtKeyAreas{
  margin: 30px auto 0;
  max-width: 980px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.mtKeyArea{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.18);
  color: rgba(11,12,16,.82);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.mtMainImage{
  margin-top: 34px;
}
.mtMainImage img{
  display: block;
  width: 100%;
  height: auto;
}
.mtBlocks{
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.mtFeatureCard{
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.10), transparent 34%), #f7f7f7;
  border: 1px solid rgba(89,94,115,.12);
  box-shadow: var(--shadow-soft);
}
.mtFeatureTop{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.mtFeatureStep{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--jr-yellow);
  color: var(--jr-black);;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
}
.mtFeatureTitle{
  margin: 0;
  color: var(--jr-blacksemi);;
  font-size: 22px;
  line-height: 1.14;
  font-weight: 600;
}
.mtFeatureList{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.mtFeatureList li{
  position: relative;
  padding-left: 16px;
  color: rgba(11,12,16,.74);
  font-size: 14px;
  line-height: 1.6;
}
.mtFeatureList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.mtBottom{
  margin-top: 28px;
}
.mtOutcomeStrip{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 20px;
  border-radius: 20px;
  background: rgba(11,12,16,.03);
  border: 1px solid rgba(89,94,115,.10);
}
.mtOutcomeItem{
  color: rgba(11,12,16,.82);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
}
.mtOutcomeDivider{
  width: 28px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.65), transparent);
  flex: 0 0 auto;
}
.mtCTA{
  margin-top: 28px;
  display: flex;
  justify-content: center;
}
.mtMainImage{
  height: 420px;
}
.mtMainImage img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top;
}
.mtFeatureCard{
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.mtKeyArea{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,188,0,.18);
  border: 1px solid rgba(255,188,0,.35);
  color: var(--jr-blacksemi);;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
}
.mtFeatureStep{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--jr-yellow);
  color: var(--jr-black);;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(255,188,0,.35);
}

/* =========================================================
   RESTAURANT — BLACK
========================================================= */
.rsSection{
  padding: 64px 0 72px;
  position: relative;
  background: #000;
  color: var(--jr-white);;
}
.rsShell{
  max-width: 1120px;
  margin: 0 auto;
}
.rsHero{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.rsHeroIntro{
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.rsHeroIcon{
  width: 88px;
  height: 88px;
  display: block;
  object-fit: contain;
  opacity: .85;
  animation: none !important;
  transform: none !important;
  transition: none !important;
  filter: none !important;
}
.rsHeroIcon:hover{
  transform: none !important;
}
.rsHeroTitle{
  margin: 0 auto 14px;
  max-width: 31ch;
  color: var(--jr-white);;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  font-weight: 650;
}
.rsHeroTitle span{
  display: block;
}
.rsHeroLead{
  max-width: 800px;
  margin: 0 auto;
  color: rgba(255,255,255,.76);
  font-size: 16px;
  line-height: 1.78;
}
.rsKeyAreas{
  margin: 30px auto 0;
  max-width: 980px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.rsKeyArea{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,188,0,.10);
  border: 1px solid rgba(255,188,0,.18);
  color: rgba(255,255,255,.88);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.rsMainImage{
  margin: 36px;
}
.rsMainImage img{
  width: 100%;
  height: 100%;
  max-height: 600px;
  object-fit: contain;
  display: block;
}
.rsBlocks{
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.rsFeatureCard{
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: radial-gradient(circle at top right, rgba(255,188,0,.08), transparent 34%), rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: var(--shadow-soft);
}
.rsFeatureTop{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.rsFeatureStep{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--jr-yellow);
  color: var(--jr-black);;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
}
.rsFeatureTitle{
  margin: 0;
  color: var(--jr-white);;
  font-size: 22px;
  line-height: 1.14;
  font-weight: 600;
}
.rsFeatureList{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.rsFeatureList li{
  position: relative;
  padding-left: 16px;
  color: rgba(255,255,255,.78);
  font-size: 14px;
  line-height: 1.6;
}
.rsFeatureList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
}
.rsBottom{
  margin-top: 28px;
}
.rsOutcomeStrip{
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-top: 4px;
  background: transparent;
  border: none;
}
.rsOutcomeItem{
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  color: rgba(255,255,255,.82);
}
.rsOutcomeDivider{
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.55), transparent);
}
.rsCTA{
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

/* =========================================================
   VALET — WHITE
========================================================= */
.vlSection{
  padding: 64px 0 72px;
  position: relative;
  background: #fff;
  color: var(--jr-black);;
}
.vlShell{
  max-width: 1120px;
  margin: 0 auto;
}
.vlHero{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
}
.vlHeroIntro{
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}
.vlHeroIcon{
  width: 88px;
  height: 88px;
  display: block;
  object-fit: contain;
  opacity: .85;
  animation: none !important;
  transform: none !important;
  transition: none !important;

}
.vlHeroIcon:hover{
  transform: none !important;
}
.vlHeroTitle{
  margin: 0 auto 14px;
  max-width: 31ch;
  color: var(--jr-blacksemi);;
  font-size: clamp(38px, 4.2vw, 54px);
  line-height: 1.02;
  font-weight: 650;
}
.vlHeroTitle span{
  display: block;
}
.vlHeroLead{
  max-width: 800px;
  margin: 0 auto;
  color: rgba(11,12,16,.72);
  font-size: 16px;
  line-height: 1.78;
}
.vlKeyAreas{
  margin: 30px auto 0;
  max-width: 980px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.vlKeyArea{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,188,0,.18);
  border: 1px solid rgba(255,188,0,.35);
  color: var(--jr-blacksemi);;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.vlMainImage{
  margin-top: 36px;
}
.vlMainImage img{
  width: 100%;
  height: 100%;
  max-height: 500px;
  object-fit: contain;
}
.vlBlocks{
  margin-top: 26px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.vlFeatureCard{
  padding: 24px 22px 22px;
  border-radius: 22px;
  background: #f3f4f6;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.vlFeatureTop{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.vlFeatureStep{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--jr-yellow);
  color: var(--jr-black);;
  font-size: 12px;
  font-weight: 700;
  flex: 0 0 auto;
  box-shadow: 0 6px 16px rgba(255,188,0,.35);
}
.vlFeatureTitle{
  margin: 0;
  color: var(--jr-blacksemi);;
  font-size: 22px;
  line-height: 1.12;
  font-weight: 650;
}
.vlFeatureList{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.vlFeatureList li{
  position: relative;
  padding-left: 16px;
  color: rgba(11,12,16,.82);
  font-size: 14px;
  line-height: 1.6;
}
.vlFeatureList li::before{
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateY(-50%);
  box-shadow: 0 0 0 3px rgba(255,188,0,.15);
}
.vlBottom{
  margin-top: 28px;
}
.vlOutcomeStrip{
  max-width: 1040px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-top: 4px;
  background: transparent;
  border: none;
}
.vlOutcomeItem{
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  text-align: center;
  color: rgba(11,12,16,.82);
}
.vlOutcomeDivider{
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: linear-gradient(90deg, transparent, rgba(255,188,0,.65), transparent);
}
.vlCTA{
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.paAppArrow{
  position: absolute;
  right: 18px;
  bottom: 18px;

  font-size: 18px;
  opacity: 0;
  transform: translateX(-6px);
  color: var(--jr-yellow);
  transition: all .25s ease;
}

.paAppCard--link{
  position: relative;
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.paAppCard--link:hover{
  transform: translateY(-4px);
}
.paAppCard--link .paAppTop,
.paAppCard--link .paAppMeta,
.paAppCard--link .paAppText{
  transition: transform .25s ease, opacity .25s ease;
  pointer-events: none;
}
.paAppCard--link:hover .paAppTop,
.paAppCard--link:hover .paAppText{
  transform: translateX(4px);
}
.paAppCard--link:hover .paAppArrow{
  opacity: 1;
  transform: translateX(0);
  color: var(--jr-yellow);
  text-shadow: 0 0 8px rgba(255,159,10,.4);
}
.paAppCard--link:active{
  transform: translateY(-1px) scale(.995);
}
.paAppCard--link:focus-visible{
  outline: none;
  box-shadow:
          0 0 0 3px rgba(255,188,0,.28),
          0 18px 42px rgba(0,0,0,.28);
}

.moduleKpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.moduleKpiCard{
  border-radius:22px;
  padding:18px 18px 16px;
  min-height:120px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:flex-start;
  text-align:left;
}
.moduleKpiValue{
  display:block;
  margin:0 0 8px;
  font-size:clamp(26px,3.1vw,36px);
  line-height:1;
  font-weight:700;
  letter-spacing:-0.03em;
}
.moduleKpiLabel{
  display:block;
  font-size:14px;
  line-height:1.45;
  max-width:20ch;
}
.moduleKpis--dark .moduleKpiCard{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.moduleKpis--dark .moduleKpiValue{
  color:var(--jr-yellow);
}
.moduleKpis--dark .moduleKpiLabel{
  color:rgba(255,255,255,.82);
}
.moduleKpis--light .moduleKpiCard{
  background:rgba(11,12,16,.04);
  border:1px solid rgba(11,12,16,.10);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}
.moduleKpis--light .moduleKpiValue{
  color:var(--jr-black);
}
.moduleKpis--light .moduleKpiLabel{
  color:rgba(11,12,16,.72);
}
.moduleKpiContext{
  margin: 40px 0 0;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-align: center;
}

.kpiLink{
  text-decoration: none;
  font-weight: 500;
}

.kpiLink--hk{
  color: var(--jr-housekeeping);
}

.kpiLink--mt{
  color: var(--jr-maintenance);
}

.kpiLink--ge{
  color: var(--jr-yellow);
}

.kpiLink:hover{
  color: var(--jr-yellow);
}
.kpiLink--ge:hover{
  color: var(--jr-black);
}
.proofKpiContext{
  margin: 10px auto 0;
  max-width: 760px;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(11,12,16,.52);
  text-align: center;
}

/* SEO */
.heroSEO {
  background: linear-gradient(90deg, rgba(255,255,255,0.9), rgba(255,255,255,0.6));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  font-size: 15px;
  line-height: 1.6;
  opacity: 0.75;
  max-width: 680px;
  margin: 16px auto 0;
  text-align: center;
}

/* GUEST MANAGER FLOW */
#guest-manager-flow{
  scroll-margin-top: var(--anchorOffset);
}
.gmFlow{
  padding: 38px 0 44px;
  background: var(--jr-white);
  color: var(--jr-black);
}
.gmFlowGrid{
  display: grid;
  grid-template-columns: .9fr 1.2fr;
  gap: 22px;
  align-items: stretch;
}
.gmFlowContent{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.gmFlowTitle{
  margin: 0;
  max-width: 20ch;
  line-height: 1.08;
}
.gmFlowLead{
  margin: 14px 0 0;
  max-width: 66ch;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(11,12,16,.76);
}

.gmFlowMedia{
  display: flex;
  align-items: stretch;
}

.gmFlowVideoCard{
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(89,94,115,.12);
  box-shadow: 0 18px 42px rgba(0,0,0,.08);
  background: #fff;
  display: flex;
  flex-direction: column;
}
.gmFlowVideoTop{
  padding: 16px 18px 0;
}
.gmFlowVideoLabel{
  display: inline-block;
  border: 1px solid rgba(255,188,0,.34);
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  border-radius: 5px;
  padding: 6px 12px;
  background: rgba(0,0,0,.05);
  color: rgba(0,0,0,.55);
}
.gmFlowVideoWrap{
  padding: 16px 18px 14px;
}
.gmFlowVideo{
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
  object-fit: cover;
  border-radius: 18px;
  background: #f4f1e8;
}

.gmFlowSteps{
  padding: 0 18px 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.gmFlowSteps span{
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
  color: rgba(11,12,16,.72);
  background: rgba(11,12,16,.05);
  border: 1px solid rgba(11,12,16,.08);
}
.gmFlowStepsVertical{
  position: relative;
  margin-top: 18px;
  padding-left: 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.gmFlowStepsVertical::before{
  content: "";
  position: absolute;
  left: 8px;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: linear-gradient(
          180deg,
          rgba(255,188,0,.6),
          rgba(255,188,0,.15)
  );
  border-radius: 999px;
}
.gmFlowStepsVertical::after{
  content: "";
  position: absolute;
  left: 7px;
  top: 0;
  width: 4px;
  height: 40px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,188,0,.9), rgba(255,188,0,0));
  filter: blur(2px);
  animation: gmFlowPulse 2.6s linear infinite;
}
.gmFlowStepsLeft{
  position: relative;
  margin-top: 18px;
  margin-bottom: 18px;
  padding-left: 37px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  overflow: visible;
}
.gmFlowStepsLeft::before{
  content: "";
  position: absolute;
  left: 24px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: linear-gradient(
          180deg,
          rgba(255,188,0,.6),
          rgba(255,188,0,.15)
  );
  border-radius: 999px;
}

.gmFlowActiveDot{
  position: absolute;
  left: 19px;
  top: 0;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #000;
  transform: translateX(50%) translateY(2px);
  box-shadow: 0 0 0 2px rgba(0,0,0,.08);
  z-index: 3;
  transition: top 0.8s cubic-bezier(.2,.8,.2,1);
}
.gmFlowContent .Kicker_White{
  display: inline-flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  align-self: flex-start;
}

.gmStep{
  position: relative;
  min-height: 20px;
}
.gmStep::before{
  content: "";
  position: absolute;
  left: -22px;
  top: 5px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--jr-yellow);
  transform: translateX(50%);
  z-index: 1;
}
.gmStep p{
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: rgba(11,12,16,.72);
}

.proofCaseMetrics--three {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.proofMetric {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.proofMetric strong {
  font-size: clamp(1.6rem, 2vw, 2.2rem);
  line-height: 1;
}
.proofMetric em {
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
}
.proofMetric small {
  display: block;
  font-size: 0.78rem;
  line-height: 1.35;
  opacity: 0.72;
}

/* ===== ABOUT MODAL ===== */
.modal--about{
  background: #f5f1e8;
  color: var(--jr-blacksemi);;
  width: min(980px, 96%);
  height: min(88vh, 980px);
  max-height: min(88vh, 980px);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 28px 90px rgba(0,0,0,.28);
}
.modal--about .modalClose{
  color: var(--jr-white);
  border: 1px solid rgba(0,0,0,.18);
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(8px);
}
.modal--about .modalClose:hover{
  background: rgba(255,255,255,.5);
  color: var(--jr-blacksemi);;
}
.modal--about .modalBody{
  padding: 0;
  color: var(--jr-blacksemi);;
  overflow-y: auto;
}

.aboutModalHero{
  height: 200px;
  position: relative;
  background:
          linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.35)),
          url("images/Office.png") center / cover no-repeat;
}
.aboutModalHero::after{
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(245,241,232,0) 0%, #f5f1e8 100%);
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, #f5f1e8 100%);
}
.aboutModalHeroInner{
  position: relative;
  z-index: 1;
  padding: 34px 34px 42px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 216px;
  height: 100%;
  align-items: flex-start;
  padding: 52px;
}
.aboutModalKicker{
  display: inline-block;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--jr-blacksemi);;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.aboutModalHeroTitle{
  margin: 16px 0 0;
  max-width: 12ch;
  font-size: clamp(32px, 5vw, 54px);
  line-height: 1.02;
  font-weight: 700;
  color: var(--jr-white);;
  margin: 0;
  font-size: clamp(28px, 4vw, 44px);
}
.aboutModalWrap{
  padding: 0 34px 34px;
}
.aboutModalIntro{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: start;
  margin-top: 8px;
}
.aboutModalLead h3{
  margin: 0 0 14px;
  font-size: 28px;
  line-height: 1.1;
  color: var(--jr-blacksemi);;
}
.aboutModalLead p,
.aboutModalStory p,
.aboutModalClosing p{
  margin: 0 0 14px;
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(17,17,17,.82);
}
.aboutModalAside{
  border-radius: 22px;
  padding: 22px 20px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 30px rgba(0,0,0,.05);
}
.aboutModalAsideTitle{
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--jr-blacksemi);;
}
.aboutModalAside p{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(17,17,17,.76);
}
.aboutModalSection{
  margin-top: 28px;
}
.aboutModalSectionTitle{
  margin: 0 0 16px;
  font-size: 24px;
  line-height: 1.1;
  color: var(--jr-blacksemi);;
}

.aboutObjectives{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.aboutObjective{
  border-radius: 22px;
  padding: 20px 20px 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 12px 30px rgba(0,0,0,.05);
}
.aboutObjectiveNum{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #111;
  color: var(--jr-white);;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 12px;
}
.aboutObjective p{
  margin: 0;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(17,17,17,.82);
}

.aboutModalClosing{
  margin-top: 28px;
  padding: 24px 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #111 0%, #262626 100%);
  color: var(--jr-white);;
}
.aboutModalClosing h4{
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.1;
  color: var(--jr-white);;
}
.aboutModalClosing p{
  color: rgba(255,255,255,.82);
}
.aboutModalFooter{
  margin-top: 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.aboutModalTagline{
  font-size: 15px;
  font-weight: 600;
  color: var(--jr-blacksemi);;
}
.aboutModalFooter .btnPrimary{
  height: 44px;
  padding: 0 22px;
}

.modalBody{
  color: rgba(255,255,255,.84);
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 56px 22px 24px;
}

.modal--about .modalBody{
  padding: 0;
  color: var(--jr-blacksemi);;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.modal--about .modalBody::-webkit-scrollbar{
  width: 0;
  height: 0;
  display: none;
}

.visuallyHidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ===== BOT ===== */
/* Boton de ChatBot */
.jrTryWidget{
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 9999;
}
.jrTryBtn{
  width: 60px;
  height: 60px;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  background: var(--jr-yellow);
  color: var(--jr-black);;
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease;
}
.jrTryBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 55px rgba(0,0,0,.42);
}
.jrTryBtn img{
  width: 30px;
  height: 30px;
  object-fit: contain;
  display: block;
}
.jrTryBtn span{
  font-size: 10px;
  line-height: 1;
  text-transform: lowercase;
}
.jrTryPanel{
  position: absolute;
  right: 0;
  bottom: calc(100% + 14px);
  width: 480px;
  height: 600px;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
  overflow: hidden;
}
.jrTryClose{
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: none;
  background: rgba(0,0,0,.25);
  color: var(--jr-white);;
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  backdrop-filter: blur(4px);
  transition: background .15s ease, transform .15s ease;
  z-index: 1000;
}
.jrTryClose:hover{
  background: rgba(0,0,0,.45);
  transform: scale(1.05);
}


                    .btn-send{
                      display: inline-flex;
                      align-items: center;
                      justify-content: center;
                      gap: 10px;
                    }
                    .btn-logo-spinner{
                      width: 18px;
                      height: 18px;

                      background: url("images/logo-Synapticore-alone.png") center / contain no-repeat;

                      animation: synaLogoSpin 2.8s linear infinite;

                      display: none;
                    }
                    .btn-send.is-loading{
                      pointer-events: none;
                      opacity: .9;
                    }
                    .btn-send.is-loading .btn-logo-spinner{
                      display: inline-block;
                    }

.synap_message-avatar.bot.llm-used{
  background: url(images/Logo_spinner.png) center / contain no-repeat !important;
  font-size: 0 !important;
  background-color: var(--jr-yellow) !important;
  box-shadow: none;
  background-size: 20px !important;
}

.synap_message-avatar.user {
  background: url(images/fw_user_trans_white.png) center / contain no-repeat !important;
  font-size: 0 !important;
  background-color: var(--jr-black) !important;
  box-shadow: none;
  background-size: 20px !important;
}
.synap_message-bubble.bot {
  border: none !important;
  background: var(--jr-yellow) !important;
}
.synap_message-bubble.user {
  background: var(--jr-black) !important;
}

.synap_chat-welcome h4 {
  color: var(--jr-black) !important;
}





                    .synap_message-avatar {
                      background: #3472e6 !important;
                      box-shadow: none;
                      background: url(images/logo-Synapticore-alone.png) center / contain no-repeat;
                      font-size: 0 !important;
                      width: 32px;
                      height: 32px;
                      background-size: 20px !important;
                    }
                    .synap_message-avatar.bot{
                      background: #b63de6 !important;
                      box-shadow: none;
                      background: url(images/Logo_spinner.png) center / contain no-repeat !important;
                      font-size: 0 !important;
                      width: 32px;
                      height: 32px;
                      background-size: 20px !important;
                    }

                    .synap_message-avatar.bot.llm-backup{
                      background: #adfa39 !important;
                      box-shadow: none;
                      background: url(images/Logo_spinner.png) center / contain no-repeat !important;
                      font-size: 0 !important;
                      width: 32px;
                      height: 32px;
                      background-size: 20px !important;
                    }




.synap_chat-input {
  flex: 1;
  padding: 0.75rem 1rem;
  border: 2px solid var(--jr-yellow) !important;
}
                    .synap_chat-input {
                      border-radius: 1.5rem;
                      font-size: 0.95rem;
                      outline: none;
                      transition: var(--synap-transition);
                      background-color:transparent !important;
                    }
                    .synap_chat-input-section {
                      border-top: 1px solid var(--synap-light);
                      background: var(--synap-footer-bg);
                      background-color: transparent !important;
                      padding: 1rem;
                    }


#synap_container {
  width: 100% !important;
  height: 100% !important;
}
#synap_container input {
  color: var(--jr-black);;
}

                    .synap_typing-indicator{
                      color:orange;
                    }

.synap_chat-send-btn{
  width: 32px !important;
  height: 32px !important;
  background: url(images/fw_avion_trans.png) center / contain no-repeat !important;
  background-color: var(--jr-yellow) !important;
  background-size: 20px !important;
  font-size: 0 !important;
}

                    .synap_chat-modal {
                      border-radius: 1rem;
                      box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
                      width: 100%;
                      height: 100%;
                      display: flex;
                      flex-direction: column;
                      overflow: hidden;
                      position: relative;
                      background-color:yellow;
                    }
                    .synap_chat-modal-header {
                      display: flex;
                      justify-content: space-between;
                      align-items: center;
                      padding: 1rem 1.5rem;
                      background-color:orange;
                      display: none;
                    }

.synap_chat-messages {
  padding: 0.3rem !important;;
  background-color:transparent !important;
  margin-top:36px;
}

                    .synap_welcome-icon {
                      font-size: 3rem;
                      margin-bottom: 1rem;

                      background: url(images/brand_black.png) center / contain no-repeat;
                      font-size: 0 !important;
                      width: 100%;
                      height: 48px;
                      border-radius: 12px;

                    }
#synap_container input {
  color: var(--jr-black);;
}




















/*________________________________________________________________________________________________________________*/
@media (max-width: 1024px){
  .rsPeople{
    position: relative;
    right: auto;
    bottom: auto;
    margin: 18px auto 0;
    max-width: 360px;
    transform: none;
  }
  .rsStage:hover .rsPeople{
    transform: translateY(-2px);
  }
  .rsInfoGrid{
    margin-top: 34px;
  }
  .rsStats{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .rsBlocks{
    grid-template-columns: 1fr;
  }

  .vlPeople{
    position: relative;
    right: auto;
    bottom: auto;
    margin: 18px auto 0;
    max-width: 360px;
    transform: none;
  }
  .vlStage:hover .vlPeople{
    transform: translateY(-2px);
  }
  .vlInfoGrid{
    margin-top: 34px;
  }
  .vlStats{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .vlBlocks{
    grid-template-columns: 1fr;
  }

  .mtPeople{
    position: relative;
    right: auto;
    bottom: auto;
    margin: 18px auto 0;
    max-width: 360px;
    transform: none;
  }
  .mtStage:hover .mtPeople{
    transform: translateY(-2px);
  }
  .mtInfoGrid{
    margin-top: 34px;
  }
  .mtStats{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  .mtBlocks{
    grid-template-columns: 1fr;
  }

  .hkPeople{
    right: 18px;
    bottom: -24px;
    transform: rotate(-2deg);
    position: relative;
    right: auto;
    bottom: auto;
    margin: 18px auto 0;
    max-width: 360px;
  }
  .hkInfoGrid{
    margin-top: 34px;
  }
  .hkxShell{
    grid-template-columns: 1fr;
  }
  .hkxSide{
    grid-template-columns: repeat(4, minmax(0,1fr));
  }
  .hkxNote{
    grid-column: 1 / -1;
  }
  .hkxBoard{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .hkStats{
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .hkTop{
    height: 300px;
  }
  .hkInner{
    padding: 28px 20px 32px;
  }
  .hkGrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .hkImpactDot{
    display: none;
  }
  .hkOverview{
    grid-template-columns: 1fr;
  }
  .hkBlocks{
    grid-template-columns: 1fr;
  }
  .hkOverviewMedia{
    min-height: 380px;
  }

  .psSuiteIntroFlow{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .psSuiteIntroArrow{
    transform: rotate(90deg);
    justify-self: center;
  }
  .psSuiteIntroGrid{
    grid-template-columns: 1fr;
  }
  .psSuiteHighlights{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
  .psSuiteModules{
    grid-template-columns: 1fr 1fr;
  }

  .paAppsGrid{
    grid-template-columns: 1fr 1fr;
  }
  .paLevelGrid--top{
    grid-template-columns: 1fr;
  }
  .paProducts{
    grid-template-columns: 1fr 1fr;
  }
  .paCoreCard{
    min-height: auto;
  }

  .beyondPmsCard,
  .beyondPmsMedia{
    min-height: 260px;
  }
  .beyondPmsContent{
    padding: 28px 24px;
  }
  .beyondPmsContent h3{
    max-width: none;
  }

  .contactIntroInner{
    padding: 28px 20px 24px;
  }
  .contactIntroPoints{
    grid-template-columns: 1fr;
  }
  .contactIntroStats{
    grid-template-columns: 1fr;
  }

  .proofPresenceGrid{
    grid-template-columns: 1fr;
  }
  .proofTop{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .proofMapCol{
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
  }
  .proofIntroCol{
    text-align: center;
  }
  .proofTitle,
  .proofLead{
    margin-left: auto;
    margin-right: auto;
  }
  .proofTitle{
    max-width: 16ch;
  }
  .proofStats{
    margin-left: auto;
    margin-right: auto;
  }
  .proofStatskpi{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .proofCasesGrid,
  .proofCasesGrid--two{
    grid-template-columns: 1fr;
  }
  .proofRegions{
    justify-content: center;
  }

  .psA{
    padding: 44px 0 48px;
  }
  .psASpine{
    left: 24px;
  }
  .psALayer{
    margin-left: 44px;
  }
  .psALayer::before{
    left: -28px;
    width: 28px;
  }
  .psALayerBtn{
    padding: 22px 18px 22px 18px;
  }
  .psALayerMain{
    gap: 14px;
  }
  .psALayerIcon{
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }
  .psALayerIcon svg{
    width: 36px;
    height: 36px;
  }
  .psAPanelInner{
    padding: 0 18px 20px 88px;
  }

  .geTop{
    height: 320px;
  }
  .geInner{
    padding: 32px 22px 54px;
  }
  .geImpact{
    gap: 10px;
  }
  .geImpactDot{
    display: none;
  }
  .geMarquee--premium{
    padding: 120px 0 18px 0;
  }
  .geMarqueeMask::before,
  .geMarqueeMask::after{
    width: 90px;
  }
  .geMarqueeTrack--premium{
    gap: 70px;
  }

  .integrationsGrid{
    grid-template-columns: 1fr;
  }
  .integrationsTitle{
    max-width: 20ch;
  }

  .grid2{
    grid-template-columns: 1fr;
  }

  .cardInner{
    padding: 15px;
  }

  .certsGrid{
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }

  .xcapGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .visionGrid{
    grid-template-columns: 1fr;
  }
  .visionRight{
    justify-content: center;
  }
  .visionTitle{
    font-size: 36px;
  }

  .heroGrid{
    grid-template-columns: 100%;
  }
  .heroWrap {
    padding-top: calc(var(--navH) + 80px);
  }

  .allInOne{
    grid-template-columns: 1fr;
  }

  .claims{
    max-width: 680px;
    margin: 0 auto;
  }

  .footerColumns{
    grid-template-columns: repeat(2,1fr);
    gap: 28px;
  }

  .psTop{
    height: 300px;
  }
  .psCards{
    grid-template-columns: 1fr;
  }

  .psSuite{
    padding: 48px 0 50px;
  }
  .psSuiteIntroGrid{
    grid-template-columns: 1fr;
  }
  .psSuiteModules{
    grid-template-columns: 1fr 1fr;
  }
  .psSuiteStatementText{
    max-width: none;
  }

  .decisionGrid{
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
    gap: 20px;
    min-height: 420px;
  }
  .decisionLeft{
    padding: 32px 0 32px 22px;
  }
  .decisionCards{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .decisionRight{
    position: relative;
    min-height: 100%;
  }
  .decisionImageFull,
  .decisionMedia{
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: 22px;
  }
  .decisionImageFull--angled,
  .decisionMedia--angled{
    clip-path: none;
    border-radius: 22px;
  }
  .decisionImageFull img,
  .decisionImageFull video,
  .decisionMedia img,
  .decisionMedia video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
  }
  .decisionVideoFade{
    border-radius: 22px;
    overflow: hidden;
  }

  #contacto .contactClosureGrid{
    grid-template-columns: 1fr;
  }
  #contacto .contactTrustImage{
    min-height: 260px;
    flex-basis: auto;
  }
  #contacto .contactTrustImage{
    min-height: 40px;
    max-height: 100px;
    height: 96px;
    flex: 0 0 96px;
  }

  
}
@media (max-width: 900px) {
  .navRight {
    gap: 2px;
  }
  .navLink {
    gap: 8px;
    padding: 10px 5px;
  }
  .btnPrimary{
    padding: 0px 5px;
    min-width: 120px;
    font-size: clamp(11px, 3.5vw, 13px);
  }
  .proofCaseMetrics--three {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px){
  .contactHeroGrid{
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .contactHeroTitle{
    max-width: 18ch;
  }
  .contactHeroPoints{
    grid-template-columns: 1fr;
    max-width: 100%;
  }

  .navRight > .navDropdown,
  .navRight > .navLink,
  .navRight > .langWrap,
  .navRight > .btnPrimary,
  .navRight > .btnIcon{
    display: none;
  }

  .navToggle{
    display: inline-flex;
  }

  .aboutModalIntro{
    grid-template-columns: 1fr;
  }
  .aboutObjectives{
    grid-template-columns: 1fr;
  }
  .aboutModalWrap{
    padding: 0 20px 24px;
  }
  .aboutModalHeroInner{
    padding: 24px 20px 34px;
    min-height: 220px;
  }
  .aboutModalHero{
    min-height: 220px;
  }
  .aboutModalHeroTitle{
    max-width: 14ch;
  }

  .bridge{
    padding: 54px 0 60px;
  }
  .bridgeHead{
    margin-bottom: 28px;
  }
  .bridgeFlow--horizontal{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
  }
  .bridgeFlow--horizontal .bridgeItem{
    flex: 0 1 auto;
    width: min(320px, calc(100% - 40px));
    max-width: 320px;
    min-height: 50px;
    font-size: 14px;
  }
  .bridgeFlow--horizontal .bridgeArrow{
    width: auto;
    font-size: 20px;
    line-height: 1;
  }
  .bridgeFlow--horizontal .bridgeArrow::before{
    content: "↓";
  }
  .bridgeFlow--horizontal .bridgeArrow{
    color: var(--jr-yellow);
  }
  .bridgeFlow--horizontal .bridgeArrow{
    font-size: 0;
  }
  .bridgeFlow--horizontal .bridgeArrow::before{
    font-size: 20px;
  }
  .bridgeSummary{
    font-size: 16px;
  }

  .hkSection{
    padding: 44px 0 50px;
  }
  .hkInfoGrid{
    grid-template-columns: 1fr;
  }
  .hkScreenFrame img{
    width: 100%;
  }
  .hkStats{
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .hkScreenBlock{
    padding: 20px 16px 18px;
    border-radius: 24px;
  }
  .hkScreenHead{
    padding: 22px 18px 16px;
  }
  .hkScreenFrame{
    padding: 0 14px 14px;
  }

  .vlSection{
    padding: 48px 0 54px;
  }
  .vlStats{
    gap: 12px;
  }
  .vlInfoGrid{
    grid-template-columns: 1fr;
  }
  .vlScreenFrame img{
    width: 100%;
  }

  .rsSection{
    padding: 48px 0 54px;
  }
  .rsStats{
    gap: 12px;
  }
  .rsInfoGrid{
    grid-template-columns: 1fr;
  }
  .rsScreenFrame img{
    width: 100%;
  }

  .mtSection{
    padding: 48px 0 54px;
  }
  .mtStats{
    gap: 12px;
  }
  .mtInfoGrid{
    grid-template-columns: 1fr;
  }
  .mtScreenFrame img{
    width: 100%;
  }

  .navRight{
    display: none;
  }

  .dropdown{
    position: static;
    box-shadow: none;
    border-radius: 18px;
    margin-top: 8px;
  }

  .visionHighlightText{
    font-size: 1.3rem;
  }

  .geTop{
    height: 320px;
  }
  .geInner{
    padding: 32px 22px 54px;
  }
  .geJourney{
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 14px;
    row-gap: 14px;
    margin-top: 24px;
  }
  .geTrack,
  .geNode{
    display: none;
  }
  .geCard,
  .geCard--top,
  .geCard--bottom,
  .geCol1,
  .geCol2,
  .geCol3,
  .geCol4,
  .geCol5{
    grid-column: auto;
    grid-row: auto;
    margin: 0;
    transform: none;
  }
  .geCard--highlight{
    margin: 0;
    transform: none;
  }

  .decisionGrid{
    grid-template-columns: 1fr;
    gap: 24px;
    min-height: auto;
  }
  .decisionLeft{
    padding: 30px 20px;
  }
  .decisionCards{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .decisionRight{
    position: relative;
    width: 100%;
    order: -1;
    height: 260px;
  }
  .decisionImageFull,
  .decisionMedia{
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 22px;
    height: 100%;
  }
  .decisionImageFull--angled,
  .decisionMedia--angled{
    clip-path: none;
    border-radius: 22px;
  }
  .decisionImageFull img,
  .decisionImageFull video,
  .decisionMedia img,
  .decisionMedia video{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 22px;
  }
  .decisionVideoFade{
    border-radius: 22px;
    overflow: hidden;
  }
  .decisionFadeLogo{
    max-width: 42%;
    max-height: 42%;
  }

  .overviewCard,
  .overviewCard--reverse{
    grid-template-columns: 1fr;
  }
  .overviewCard--reverse .overviewMedia,
  .overviewCard--reverse .overviewContent{
    order: initial;
  }
  .overviewMedia{
    min-height: 240px;
    height: 240px;
  }
  .overviewMedia img{
    position: static;
    width: 100%;
    height: 100%;
  }
  .overviewContent{
    padding: 26px 22px;
  }
  .overviewContent h3{
    font-size: 24px;
  }

  .hkSection{
    padding: 46px 0 54px;
  }
  .hkOverview{
    margin-top: 34px;
    gap: 18px;
  }
  .hkOverviewCopy{
    padding: 22px 20px 24px;
  }
  .hkOverviewMedia{
    min-height: 300px;
  }
  .hkFeatureCard{
    padding: 22px 18px;
  }
  .hkFeatureTitle{
    font-size: 20px;
  }

  .mtSection{
    padding: 48px 0 56px;
  }
  .mtMainImage{
    margin-top: 28px;
    height: 280px;
    min-height: 280px;

  }
  .mtFeatureCard{
    padding: 22px 18px 20px;
  }
  .mtFeatureTitle{
    font-size: 20px;
  }

  .rsSection,

  .vlSection{
    padding: 46px 0 54px;
  }

  .rsFeatureCard,
  .vlFeatureCard{
    padding: 22px 18px;
  }

  .rsFeatureTitle,
  .vlFeatureTitle{
    font-size: 20px;
  }

  .cardInner {
    padding: 0px;
  }

  .formCheck {
    font-size: 12px;
  }

  .gmFlowGrid{
    grid-template-columns: 1fr;
  }
  .gmFlowTitle{
    max-width: 24ch;
  }
}
@media (max-width: 640px){
  .pa{
    padding: 48px 0 56px;
  }
  .paLead{
    font-size: 15px;
    line-height: 1.7;
  }
  .paLogic{
    padding: 20px 16px 18px;
  }
  .paAppsGrid{
    grid-template-columns: 1fr;
  }
  .paAppCard{
    padding: 18px 16px 16px;
  }
  .paLogicTitle{
    font-size: 22px !important;
  }
  .paProducts{
    grid-template-columns: 1fr;
  }
  .paCoreCard,
  .paProductCard{
    padding: 20px 16px 18px;
  }
  .paConnector{
    height: 38px;
  }

  .beyondPms{
    padding: 24px 0 30px;
  }
  .beyondPmsHead{
    margin-bottom: 22px;
  }
  .beyondPmsList{
    gap: 20px;
  }
  .beyondPmsMedia{
    min-height: 220px;
  }
  .beyondPmsContent{
    padding: 24px 20px;
  }
  .beyondPmsContent p{
    font-size: 15px;
    line-height: 1.68;
  }

  .contactHeroGrid{
    padding: 20px;
    border-radius: 24px;
  }
  .contactHeroTitle{
    font-size: clamp(30px, 9vw, 40px);
  }
  .contactHeroLead{
    font-size: 15px;
    line-height: 1.68;
  }
  .contactHeroPoint{
    padding: 13px 14px 13px 36px;
    font-size: 13.5px;
  }
  .contactHeroCard{
    padding: 18px 16px;
    border-radius: 20px;
  }
  .contactHeroStat{
    padding: 14px 12px;
  }
  .contactIntroTitle{
    font-size: clamp(30px, 9vw, 40px);
  }
  .contactIntroLead{
    font-size: 15px;
    line-height: 1.65;
  }
  .contactIntroPoint{
    padding: 13px 14px 13px 36px;
    font-size: 13.5px;
  }
  .contactIntroStat{
    padding: 18px 14px 16px;
  }

  .proof{
    padding: 58px 0 66px;
  }
  .proofBlock + .proofBlock{
    margin-top: 42px;
  }
  .proofStatskpi{
    grid-template-columns: 1fr;
  }
  .proofCaseMetrics,
  .proofCaseMetrics--two{
    grid-template-columns: 1fr;
  }
  .proofMetric{
    min-height: auto;
    min-width: 0;
    max-width: none;
    flex: 1 1 calc(50% - 10px);
  }
  .proofMetric em{
    min-height: auto;
  }
  .proofMapCard{
    padding: 18px;
    border-radius: 24px;
  }
  .proofCaseCard{
    padding: 22px;
  }
  .proofCaseTitle{
    font-size: 20px;
  }
  .proofCasesGrid,
  .proofCasesGrid--two{
    grid-template-columns: 1fr;
  }
  .proofLightbox{
    padding: 12px;
  }
  .proofLightboxDialog{
    width: 100%;
    max-height: 92vh;
    border-radius: 22px;
  }
  .proofLightboxHead{
    padding: 16px 60px 12px 16px;
  }
  .proofLightboxBody{
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 12px;
  }
  .proofLightboxNav{
    width: 48px;
    height: 48px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: rgba(255,255,255,.88);
  }
  .proofLightboxNav--prev{
    left: 14px;
  }
  .proofLightboxNav--next{
    right: 14px;
  }

  .hkxTitle{
    font-size: 32px;
  }
  .hkxBoard{
    grid-template-columns: 1fr;
  }
  .hkxSide{
    grid-template-columns: 1fr;
  }
  .hkxImpact{
    gap: 10px;
  }
  .hkxImpactDot{
    display: none;
  }

  .psATitle{
    font-size: clamp(30px, 8vw, 40px);
  }
  .psALead{
    font-size: 14.5px;
    line-height: 1.7;
  }
  .psASpine{
    display: none;
  }
  .psALayer{
    margin-left: 0;
  }
  .psALayer::before{
    display: none;
  }
  .psALayerBtn{
    padding: 18px 16px;
    gap: 12px;
  }
  .psALayerMain{
    gap: 12px;
  }
  .psALayerTitle{
    font-size: 22px;
  }
  .psALayerDesc{
    font-size: 14.5px;
    line-height: 1.65;
  }
  .psAPanelInner{
    padding: 0 16px 18px 16px;
  }
  .psATag{
    font-size: 12.5px;
  }

  .band--integrations{
    padding: 34px 0 40px;
  }

  .integrationsLead{
    font-size: 14.5px;
    line-height: 1.7;
  }
  .integrationCard{
    padding: 22px 18px;
  }
  .integrationCard h3{
    font-size: 20px;
  }
  .integrationCard p{
    font-size: 14.5px;
  }
  .integrationLogoItem{
    width: 145px;
    height: 84px;
    padding: 14px 16px;
  }
  .integrationLogoItem img{
    max-height: 44px;
  }
  .integrationLogoFade{
    width: 80px;
  }

  .faqBand{
    padding: 32px 0 40px;
  }
  .faqQuestion{
    padding: 18px 18px;
    gap: 14px;
  }
  .faqQuestionText{
    font-size: 17px;
    line-height: 1.4;
  }
  .faqAnswerInner{
    padding: 0 18px 18px 18px;
  }
  .faqAnswerInner p{
    font-size: 14.5px;
    line-height: 1.7;
  }
  .faqIntro{
    font-size: 14.5px;
    line-height: 1.7;
  }

  .overviewList{
    gap: 18px;
  }
  .overviewMedia{
    min-height: 210px;
    height: 210px;
  }
  .overviewContent h3{
    font-size: 21px;
  }
  .overviewContent p{
    font-size: 14.5px;
    line-height: 1.7;
  }

  .certsGrid{
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 16px;
  }
  .certItem{
    min-height: 64px;
  }
  .certItem img{
    max-height: 38px;
  }

  .decisionCards{
    grid-template-columns: 1fr;
  }
  .dCard--full{
    grid-column: auto;
  }
  .band{
    padding: 24px 0;
  }
  #guest-experience.band{
    padding: 0;
  }

  .heroWrap{
    padding-bottom: 64px;
  }
  .form{
    grid-template-columns: 1fr;
  }
  .cookieInner{
    padding: 14px;
  }

  .vlStats,
  .rsStats,
  .mtStats,
  .hkStats{
    grid-template-columns: 1fr;
  }

  .vlOutcomeDivider,
  .rsOutcomeDivider,
  .mtOutcomeDivider,
  .hkOutcomeDivider,
  .hkOutcomeDot{
    display: none;
  }

  .hkHeroTop{
    flex-direction: column;
    gap: 10px;
  }

  .psSuiteLite{
    padding: 42px 0 46px;
  }
  .psSuiteLiteLead{
    font-size: 15px;
    line-height: 1.68;
  }
  .psSuiteLitePanel{
    padding: 20px 16px 18px;
  }
  .psSuiteLiteStatement{
    font-size: 17px;
    line-height: 1.58;
  }
  .psSuiteLitePrinciples{
    gap: 10px;
  }
  .psSuiteLiteDivider{
    width: 18px;
  }
  .psSuiteIntro{
    padding: 46px 0 50px;
  }
  .psSuiteIntroLead{
    font-size: 15px;
    line-height: 1.7;
  }
  .psSuiteIntroStatement{
    padding: 22px 16px 18px;
  }
  .psSuiteIntroStatementText{
    font-size: 17px;
    line-height: 1.6;
  }
  .psSuiteIntroFlow{
    padding: 18px 14px 18px;
  }
  .psSuiteIntroPoint{
    padding: 8px 4px;
  }
  .psSuiteIntroPointTitle{
    font-size: 20px;
  }
  .psSuiteHighlights{
    grid-template-columns: 1fr;
  }
  .psSuite{
    padding: 42px 0 46px;
  }
  .psSuiteLead{
    font-size: 15px;
    line-height: 1.68;
  }
  .psSuiteStatementInner{
    padding: 20px 16px 18px;
  }
  .psSuiteStatementText{
    font-size: 17px;
    line-height: 1.58;
  }
  .psSuiteModules{
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .psSuiteModule{
    align-items: flex-start;
    padding: 16px 14px;
  }
  .psSuiteHighlight{
    padding: 18px 16px;
  }
  .psSuiteLite{
    padding: 42px 0 46px;
  }
  .psSuiteLiteLead{
    font-size: 15px;
    line-height: 1.68;
  }
  .psSuiteLitePanel{
    padding: 20px 16px 18px;
  }
  .psSuiteLiteStatement{
    font-size: 17px;
    line-height: 1.58;
  }
  .psSuiteLitePrinciples{
    gap: 10px;
  }
  .psSuiteLiteDivider{
    display: none;
  }

  .paLogicGrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .paAppsGrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .securityGrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .securityAssurance {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }
  .assuranceItems{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .moduleKpis{
    grid-template-columns:1fr;
    margin-top:22px;
  }
  .moduleKpiCard{
    min-height:auto;
  }
  .moduleKpiLabel{
    max-width:none;
  }

  .gmFlow{
    padding: 32px 0 38px;
  }
  .gmFlowLead{
    font-size: 15px;
    line-height: 1.7;
  }
  .gmFlowPoint{
    padding: 16px 16px;
  }
  .gmFlowVideoWrap{
    padding: 14px 14px 12px;
  }
  .gmFlowSteps{
    padding: 0 14px 14px;
    gap: 8px;
  }
  .gmFlowSteps span{
    font-size: 12px;
    min-height: 32px;
  }

  .jrTryBtn{
    width: 50px;
    height: 50px;
  } s
  .jrTryBtn img{
    width: 28px;
    height: 28px;
  }
  .jrTryBtn span{
    font-size: 8px;
  }
  .jrTryPanel{
    width: min(480px, calc(100vw - 60px));
    height: 580px;
  }
}
@media (max-width: 480px){
  .heroTrustedLogos {
    gap: 1px;
  }

  .container {
    padding: 10px 6px;
    /*background-color: violet;*/
  }

  .footerColumns{
    grid-template-columns: 1fr;
  }

  .xcapGrid{
    grid-template-columns: 1fr;
  }

  .visionLeft{
    padding: 60px 0 60px 0;
  }

  .clViewport{
    padding-inline: 18px;
  }
  .clTrack{
    margin-inline: -18px;
  }
  .clCard{
    padding: 16px 16px;
  }

  .certItem{
    width: 80px;
  }

  .certsWrap{
    gap: 0;
  }
  .certsGrid{
    gap: 0;
  }

  .brandLine{
    padding: 0 5px 10px 5px;
  }
  .brandLine__text{
    font-size: 20px;
  }
  .brandLine__logo{
    height: 32px;
    width: auto;
  }
  .brandLogo{
    height: 34px;
  }

  .cfmBox{
    grid-template-columns: 1fr;
    text-align: center;
  }
  .cfmIcon{
    margin: 0 auto;
  }
  .cfmBtn{
    width: 100%;
  }

  .decisionLeft {
    padding: 10px;
  }
  .decisionRight {
    padding: 10px;
  }
  .decisionGrid {
    gap: 10px;
  }

  .breakText {
    font-size: 11px;
  }

  .heroWrap {
    padding-top: calc(var(--navH) + 10px);

  }
  .proofCaseLogo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #guest-experience.band,
  #clients.band {
    padding: 0;
  }
  .logoViewport {
    padding: 0px
  }
  .band {
    padding: 20px 0;
  }
  .bridgeFlow--horizontal {
    gap: 0;
  }
  #contacto .contactTrustImage {
    min-height: 40px;
  }
  #contacto .contactTrustImage {
    /* min-height: 241px; */

  }
  .imgPh {
    height: 80px;
  }

  .clViewport{
    padding-inline: 0;
    overflow: hidden;
  }

  .clTrack{
    margin-inline: 0;
  }

  .painCard{
    padding: 14px 18px;
  }
  .claims {
    width: min(980px, calc(100% - 4px));
    padding: 2px;
  }
  .hkHeroIcon{
    width: 108px;
    height: 108px;
  }
  .hkHeroLead{
    font-size: 15px;
    line-height: 1.72;
  }
  .hkOverviewMedia{
    min-height: 240px;
  }
  .hkOutcomeStrip{
    gap: 10px;
  }
  .hkOutcomeDivider{
    display: none;
  }

  .mtHeroIcon{
    width: 76px;
    height: 76px;
  }
  .mtHeroLead{
    font-size: 15px;
    line-height: 1.72;
  }
  .mtOutcomeDivider{
    display: none;
  }

  .rsHeroIcon,
  .vlHeroIcon{
    width: 88px;
    height: 88px;
  }

  .rsHeroLead,
  .vlHeroLead{
    font-size: 15px;
    line-height: 1.72;
  }

  .rsOutcomeDivider,
  .vlOutcomeDivider{
    display: none;
  }

  .gmFlowStepsLeft {
    padding-right: 6px;
    gap: 10px;
  }
}
@media (prefers-reduced-motion: reduce){
  .logoTrack{
    animation: none;
  }
}