/* Focused refinements to the restored second version. */
.cooperation-three.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cooperation-three .approach-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:34px}
.cooperation-three .approach-card h3{font-size:27px;line-height:1.2;margin:24px 0 18px}
.cooperation-three .approach-card p{
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450;
  color:#5c5670;
  flex:1;
  margin-bottom:28px;
}
.cooperation-three .text-button{font-size:14px;gap:12px}
.cooperation-three .text-button svg{width:20px;height:20px;flex:0 0 20px}
#faq .v2-faq{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:56px;
  align-items:start;
}
#faq .v2-faq details{
  border-bottom:1px solid #dfd4eb;
  break-inside:avoid;
}
#faq .v2-faq summary{
  /* match .offer-card h4 */
  font-size:15px!important;
  font-weight:620!important;
  line-height:1.25!important;
  letter-spacing:-.25px;
  padding:22px 0;
}
#faq .v2-faq details p{
  /* match .v2-heading > p (cases) */
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450!important;
  color:#5c5670!important;
  padding-right:12px;
}
#faq .v2-heading h2{
  white-space:nowrap;
}
@media(max-width:900px){
  #faq .v2-faq{
    grid-template-columns:1fr;
    column-gap:0;
  }
}
@media(max-width:640px){
  #faq .v2-heading h2{white-space:normal}
}
@media(max-width:900px){.cooperation-three.approach-grid{grid-template-columns:1fr}.cooperation-three .approach-card{padding:28px}.cooperation-three .approach-card h3{font-size:25px}}
/* hero outline secondary */
.hero-actions>.button.secondary{
  background:transparent;
  color:#fff;
  border:1px solid #ffffff5c;
  box-shadow:none;
  min-height:46px;
  padding:6px 8px 6px 20px;
}
.hero-actions>.button.secondary:hover{
  background:#ffffff14;
  border-color:#ffffffa0;
  color:#fff;
  transform:translateY(-2px);
}
.hero-actions>.button .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  aspect-ratio:1;
  border-radius:50%;
  box-sizing:border-box;
  background:#ffffff22;
}
.hero-actions>.button.primary .button-icon svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
.hero-actions>.button.secondary .button-icon{
  background:#ffffff1c;
  color:#fff;
}
.hero-actions>.button.secondary svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
.hero-actions{gap:14px;align-items:center;margin-top:20px}
.hero-actions>.button{
  font-size:12px;
  font-weight:400;
}
.hero-actions>.button.primary{
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
}
.hero-actions>.button.primary:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  color:#fff!important;
  filter:none;
}
/* pricing CTAs = hero-actions button style */
#pricing .price-card > .button{
  display:inline-flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  max-width:100%;
  min-height:46px;
  margin-top:auto;
  padding:6px 8px 6px 20px!important;
  border-radius:100px;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1.4;
  box-sizing:border-box;
}
#pricing .price-card > .button .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  aspect-ratio:1;
  border-radius:50%;
  box-sizing:border-box;
}
#pricing .price-card > .button .button-icon svg,
#pricing .price-card > .button svg{
  width:16px!important;
  height:16px!important;
  stroke:currentColor;
  fill:none;
}
#pricing .price-card > .button.primary{
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none;
}
#pricing .price-card > .button.primary:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  color:#fff!important;
  filter:none;
  transform:translateY(-2px);
}
#pricing .price-card > .button.primary .button-icon{
  background:#ffffff22;
  color:#fff;
}
#pricing .price-card > .button.secondary{
  background:transparent!important;
  color:#241a38!important;
  border:1px solid #c9bfd9!important;
  box-shadow:none;
}
#pricing .price-card > .button.secondary:hover{
  background:#241a3808!important;
  border-color:#8b7aad!important;
  color:#241a38!important;
  transform:translateY(-2px);
}
#pricing .price-card > .button.secondary .button-icon{
  background:#241a3812;
  color:#241a38;
}

/* pricing feature checks — green */
#pricing .price-card ul{
  list-style:none;
  padding:0;
}
#pricing .price-card li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  position:relative;
}
#pricing .price-card li:before{
  content:"";
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:1px;
  border-radius:50%;
  background:#e7f7ee;
  box-shadow:inset 0 0 0 1px #b7e4c7;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.2 10.4l3 3.1 6.6-6.8' stroke='%231a9f55' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px 14px;
  color:transparent;
  font-size:0;
  line-height:0;
}


/* assistant chip = same CTA gradient */
.assistant-widget{
  position:fixed!important;
  right:22px!important;
  bottom:22px!important;
  left:auto!important;
  z-index:120!important;
  display:block!important;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  border:0!important;
  outline:0;
  box-shadow:0 10px 28px #e51a8330;
  overflow:visible!important;
  background-clip:padding-box;
  border-radius:16px;
}
.assistant-widget[hidden]{display:none!important}
.assistant-widget>button[data-open]{
  color:#fff!important;
  width:100%;
  border:0;
  outline:0;
  box-shadow:none;
  background:transparent!important;
}
.assistant-widget>button[data-open] small{
  color:#ffffffcc!important;
}
.assistant-widget>button[data-open]>.chef-avatar,
.assistant-widget .chef-avatar{
  border-color:#ffffffaa;
  object-fit:contain;
  object-position:center 40%;
  background:transparent;
}
/* dismiss cross — visible on gradient chip */
.assistant-widget .widget-dismiss{
  position:absolute;
  right:-6px;
  top:-8px;
  z-index:3;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  border-radius:50%;
  background:#211330!important;
  color:#fff!important;
  font-size:18px;
  line-height:1;
  box-shadow:0 2px 8px #0004;
  cursor:pointer;
}
.hero .hero-description,
.hero-description,
.clients-heading > p,
.section-heading > p,
.v2-heading > p,
.work-agreement > div > p,
.roadmap-section .wrap > div > p{
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450;
}
/* hero eyebrow = section-topline eyebrow type */
#start .hero-copy > .eyebrow,
.hero .hero-copy > .eyebrow{
  display:block;
  font-size:11px!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  line-height:1.4!important;
  color:#d5c8ed!important;
  margin:0;
}
/* hero accent = same purple as section h2 spans */
#hero-title span,
.hero h1 span{
  color:#575de8!important;
}
/* hero title = clients-title size +3pt */
#hero-title,
.hero h1{
  font-size:41px!important;
  font-weight:700!important;
  letter-spacing:-1.8px!important;
  line-height:.98!important;
  margin-bottom:20px!important;
}
@media(max-width:640px){
  #hero-title,
  .hero h1{
    font-size:34px!important;
    letter-spacing:-1.4px!important;
  }
}
/* section lead aligned to bottom of h2 */
.section-heading,
#approach .section-heading{
  align-items:flex-end;
}
.section-heading > p,
#approach .section-heading > p{
  margin-bottom:0;
  align-self:flex-end;
}
/* slider controls: dots centered; arrows on hero sides */
.hero-grid{
  position:relative;
}
.hero-slider-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:12px 0 0;
  flex:none;
  min-height:24px;
  width:100%;
}
@media(min-width:641px){
  .hero-grid{
    align-items:stretch;
  }
  .hero-copy{
    display:flex;
    flex-direction:column;
    justify-content:center;
    grid-column:1;
    grid-row:1;
    align-self:stretch;
    min-height:100%;
    padding-bottom:0;
  }
  .hero-visual{
    grid-column:2;
    grid-row:1;
    align-self:center;
  }
  .hero-slider-controls{
    grid-column:1 / -1;
    grid-row:2;
    margin-top:16px;
    padding-top:0;
    justify-content:center;
    justify-self:center;
    width:100%;
  }
  /* arrows float on left/right of hero-grid */
  .hero .slide-arrow{
    position:absolute;
    top:46%;
    z-index:6;
    margin:0;
    transform:translateY(-50%);
  }
  .hero .slide-arrow[data-slide-step="-1"]{left:8px}
  .hero .slide-arrow[data-slide-step="1"]{right:8px}
}
.hero .hero-description,
.hero-description{
  min-height:0!important;
}
#slide-count{display:none!important}
.hero .slide-dots{
  display:flex;
  align-items:center;
  gap:4px!important;
  flex:none;
}
.hero .slide-dots button{
  height:20px!important;
  width:16px!important;
  padding:0;
  background:transparent;
  border:0;
  position:relative;
}
.hero .slide-dots button:before{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  top:7.5px;
  left:5.5px;
  border-radius:50%;
  background:#ffffff55;
  transition:.2s;
}
.hero .slide-dots button[aria-current=true]:before{
  background:linear-gradient(110deg,#f3414c,#f0734a 55%,#eca648);
  width:14px;
  height:5px;
  left:1px;
  border-radius:10px;
}
.slide-arrow{
  flex:none;
}
/* desktop: arrows only on hover/focus of hero block */
@media(hover:hover) and (min-width:641px){
  .hero .slide-arrow{
    opacity:0;
    pointer-events:none;
    transition:opacity .2s ease,background .2s,border-color .2s;
  }
  .hero-grid:hover .slide-arrow,
  .hero-grid:focus-within .slide-arrow{
    opacity:1;
    pointer-events:auto;
  }
}
@media(max-width:760px){
  .hero .slide-dots{gap:2px!important}
}
/* hero slide enter: each piece fades/moves in */
@keyframes heroPieceIn{
  from{opacity:0;translate:0 18px}
  to{opacity:1;translate:0 0}
}
@keyframes heroCopyIn{
  from{opacity:0;translate:0 10px}
  to{opacity:1;translate:0 0}
}
.hero-visual.is-entering .orbit-one,
.hero-visual.is-entering .orbit-two,
.hero-visual.is-entering .orbit-dot,
.hero-visual.is-entering .browser-window,
.hero-visual.is-entering .phone,
.hero-visual.is-entering .top-card,
.hero-visual.is-entering .return-card,
.hero-visual.is-entering .return-journey:not([hidden]){
  animation:heroPieceIn .58s cubic-bezier(.22,.7,.25,1) both;
}
.hero-visual.is-entering .orbit-one{animation-delay:.02s}
.hero-visual.is-entering .orbit-two{animation-delay:.08s}
.hero-visual.is-entering .orbit-dot{animation-delay:.12s}
.hero-visual.is-entering .browser-window{animation-delay:.1s}
.hero-visual.is-entering .phone{animation-delay:.18s}
.hero-visual.is-entering .top-card{animation-delay:.26s}
.hero-visual.is-entering .return-card{animation-delay:.34s}
.hero-visual.is-entering .return-journey:not([hidden]){animation-delay:.16s}
.hero-copy.is-entering #hero-title,
.hero-copy.is-entering .hero-description{
  animation:heroCopyIn .45s cubic-bezier(.22,.7,.25,1) both;
}
.hero-copy.is-entering #hero-title{animation-delay:.02s}
.hero-copy.is-entering .hero-description{animation-delay:.1s}
@media(prefers-reduced-motion:reduce){
  .hero-visual.is-entering .orbit-one,
  .hero-visual.is-entering .orbit-two,
  .hero-visual.is-entering .orbit-dot,
  .hero-visual.is-entering .browser-window,
  .hero-visual.is-entering .phone,
  .hero-visual.is-entering .top-card,
  .hero-visual.is-entering .return-card,
  .hero-visual.is-entering .return-journey:not([hidden]),
  .hero-copy.is-entering #hero-title,
  .hero-copy.is-entering .hero-description{animation:none}
}
@media(max-width:640px){
  .hero-slider-controls{
    grid-column:auto;
    justify-content:center;
    margin-top:20px;
    order:3;
  }
  .hero .slide-arrow{
    opacity:1!important;
    pointer-events:auto!important;
  }
}
/* slide arrow icons */.slide-arrow svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;flex:none;display:block}.slide-arrow[data-slide-step="-1"] svg{transform:rotate(180deg)}.slide-arrow:hover{background:#ffffff22;border-color:#ffffff70}
/* header phone left of CTA */.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.header-actions .header-phone{margin-right:0}
/* burger: 3 lines, different lengths — no round chip */
.header .menu-button,
.header>.menu-button{
  gap:5px;
  align-items:flex-start;
  justify-content:center;
  padding:0;
  width:auto;
  height:auto;
  min-width:28px;
  min-height:28px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.header .menu-button span{
  display:block;
  height:1.5px;
  background:#fff;
  border-radius:1px;
}
.header .menu-button span:nth-child(1){width:16px}
.header .menu-button span:nth-child(2){width:12px}
.header .menu-button span:nth-child(3){width:9px}/* phone = same round icon shell as MAX / Telegram */
.header-actions a.header-social.header-phone{
  font-size:0;
  font-weight:400;
  letter-spacing:0;
  white-space:normal;
  text-decoration:none;
  color:#fff;
  display:grid;
}
.header-actions a.header-social.header-phone img{
  width:24px;
  height:24px;
}
.header-actions a.header-social.header-phone:hover{color:#fff}
@media(max-width:1180px){
  .header-actions a.header-social.header-phone{display:grid;font-size:0}
}
@media(max-width:920px){
  .header-actions a.header-social.header-phone{display:none}
}
.header>.brand .brand-caption{
  max-width:102px;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:0!important;
  line-height:1.3!important;
  color:#d8d0ea!important;
}
.header>.brand .brand-caption small{
  display:contents;
  font:inherit!important;
  color:inherit!important;
  letter-spacing:inherit!important;
  margin:0!important;
}
/* nav right after brand caption, with vertical rule */
.header>.brand{
  margin-right:0!important;
}
.header>.desktop-nav{
  margin-left:22px;
  margin-right:auto;
  padding-left:22px;
  border-left:1px solid #ffffff40;
  gap:18px;
  align-self:center;
  flex-wrap:nowrap;
}
/* nav arrows — no background circle; labels one line */
.header .nav-toggle,
.header .desktop-nav > .nav-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  line-height:1;
  white-space:nowrap;
  background:transparent;
  border:0;
  padding:0;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.header .nav-toggle svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  box-sizing:border-box;
  padding:0;
  border-radius:0;
  background:transparent!important;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
  display:block;
  transition:transform .18s;
}
.header .nav-toggle:hover svg{
  background:transparent!important;
}
.header .nav-toggle[aria-expanded=true] svg{
  transform:rotate(180deg);
}
.header .contact-button{
  white-space:nowrap;
}
/* header logo −4% */
.header>.brand img{
  width:66px!important;
  height:42px!important;
}
/* round MAX / Telegram — same shell as contact-button */
.header-socials{display:flex;align-items:center;gap:8px}
.header-social{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:transparent;
  border:1px solid #bfb2e85c;
  color:#fff;
  box-sizing:border-box;
  transition:background .2s,border-color .2s;
}
.header-social:hover{
  background:#ffffff15;
  border-color:#ffffff90;
}
.header-social img{
  width:18px;
  height:18px;
  display:block;
  filter:brightness(0) invert(1);
}
@media(max-width:920px){
  .header-socials{display:none}
}
/* dialog pickable layer */
.dialog-backdrop{
  position:fixed;inset:0;z-index:90;
  background:#21133066;backdrop-filter:blur(10px);
  pointer-events:auto;
}
.dialog-backdrop[hidden]{display:none!important}
html.dialog-open,html.dialog-open body{overflow:hidden}
#dialog[open]{
  position:fixed;
  z-index:100;
  inset:0;
  margin:auto;
  transform:none;
  overflow:auto;
  pointer-events:auto;
  max-height:calc(100dvh - 32px);
}
/* assistant = right slide-out drawer */
@keyframes assistantDrawerIn{
  from{transform:translateX(104%)}
  to{transform:translateX(0)}
}
#dialog[data-panel=assistant][open]{
  inset:0 0 0 auto;
  top:0;
  right:0;
  bottom:0;
  left:auto;
  margin:0;
  width:min(420px,100vw);
  height:100dvh;
  max-height:100dvh;
  max-width:100vw;
  border:0;
  border-radius:24px 0 0 24px;
  padding:0;
  overflow:hidden;
  transform:none;
  animation:assistantDrawerIn .34s cubic-bezier(.22,.7,.25,1) both;
  box-shadow:-18px 0 48px #1a123840;
}
#dialog[data-panel=assistant][open] .dialog-shell{
  height:100%;
  min-height:100%;
  max-height:100dvh;
  padding:0;
  border-radius:inherit;
  overflow:hidden;
}
#dialog[data-panel=assistant][open] #dialog-content{
  height:100%;
  max-height:100dvh;
}
html.dialog-open:has(#dialog[data-panel=assistant][open]) .assistant-widget{
  opacity:0;
  pointer-events:none;
  transition:opacity .2s;
}
@media(max-width:640px){
  #dialog[data-panel=assistant][open]{
    width:100vw;
    border-radius:0;
  }
}
@media(prefers-reduced-motion:reduce){
  #dialog[data-panel=assistant][open]{animation:none}
}
/* menu = left drawer, hero dark */
@keyframes menuDrawerIn{
  from{transform:translateX(-104%)}
  to{transform:translateX(0)}
}
#dialog[data-panel=menu][open]{
  inset:0 auto 0 0;
  top:0;
  left:0;
  right:auto;
  bottom:0;
  margin:0!important;
  width:min(460px,100vw);
  height:100dvh;
  max-height:100dvh;
  max-width:100vw;
  border:0;
  border-radius:0!important;
  padding:0;
  overflow:hidden;
  transform:none;
  background:
    radial-gradient(ellipse at 74% 40%,#5d47c56b,transparent 57%),
    linear-gradient(115deg,#19143f,#251b66 68%,#19143f)!important;
  color:#fff;
  animation:menuDrawerIn .34s cubic-bezier(.22,.7,.25,1) both;
  box-shadow:18px 0 48px #1a123840;
}
#dialog[data-panel=menu][open] .dialog-shell,
#dialog[data-panel=menu][open] #dialog-content{
  border-radius:0!important;
}
#dialog[data-panel=menu][open] .dialog-shell{
  min-height:100dvh;
  height:100%;
  padding:64px 28px 28px;
  background:transparent;
  color:#fff;
}
#dialog[data-panel=menu][open] .eyebrow{
  color:#d3c6f3!important;
}
#dialog[data-panel=menu][open] #dialog-title,
#dialog[data-panel=menu][open] h2,
#dialog[data-panel=menu][open] h3{
  color:#fff!important;
}
#dialog[data-panel=menu][open] p,
#dialog[data-panel=menu][open] .dialog-note{
  color:#c6bfd7!important;
}
#dialog[data-panel=menu][open] .mobile-task-menu :is(a,button),
#dialog[data-panel=menu][open] .desktop-megamenu :is(a,button),
#dialog[data-panel=menu][open] .v2-mobile-links a{
  color:#eee8ff!important;
  border-color:#ffffff28!important;
}
#dialog[data-panel=menu][open] .mobile-task-menu :is(a,button):hover,
#dialog[data-panel=menu][open] .desktop-megamenu :is(a,button):hover{
  background:#ffffff14!important;
  color:#fff!important;
}
#dialog[data-panel=menu][open] .burger-catalog summary{
  color:#fff!important;
}
#dialog[data-panel=menu][open] .close-button{
  background:#ffffff1c!important;
  border:1px solid #ffffff55!important;
  color:#fff!important;
}
#dialog[data-panel=menu][open] .mobile-task-menu :is(a,button) svg,
#dialog[data-panel=menu][open] .desktop-megamenu :is(a,button) svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  stroke:currentColor;
  transform:none;
}
#dialog[data-panel=menu][open] .menu-bottom .button.primary,
#dialog[data-panel=menu][open] .button.primary{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none;
  font-size:12px;
  font-weight:400;
  min-height:46px;
  padding:0 18px 0 22px;
  border-radius:999px;
}
#dialog[data-panel=menu][open] .menu-bottom .button.primary:hover,
#dialog[data-panel=menu][open] .button.primary:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  color:#fff!important;
  filter:none;
}
#dialog[data-panel=menu][open] .menu-bottom .button.primary .button-icon{
  width:auto;
  height:auto;
  flex:0 0 auto;
  aspect-ratio:auto;
  border-radius:0;
  background:transparent!important;
  box-shadow:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
#dialog[data-panel=menu][open] .menu-bottom .button.primary .button-icon svg,
#dialog[data-panel=menu][open] .menu-bottom .button.primary svg{
  width:18px;
  height:18px;
  stroke:currentColor;
}
#dialog[data-panel=menu][open] .menu-bottom a{
  color:#eee8ff!important;
}
@media(max-width:640px){
  #dialog[data-panel=menu][open]{
    width:100vw;
    border-radius:0!important;
  }
}
@media(prefers-reduced-motion:reduce){
  #dialog[data-panel=menu][open]{animation:none}
}
#dialog .dialog-shell,
#dialog #dialog-content,
#dialog #lead-form,
#dialog .lead-field{
  position:relative;
  z-index:1;
  pointer-events:auto;
}
#dialog .lead-field{display:grid;gap:8px}
#dialog .close-button{z-index:2;pointer-events:auto}
#dialog::backdrop{display:none}
/* lead submit = backdrop tone, full width */
#lead-form > .button.primary[type=submit]{
  width:100%;
  max-width:none;
  justify-content:center;
  min-height:57px;
  padding:16px 24px;
  background:#211330!important;
  color:#fff!important;
  box-shadow:none;
  border:0;
}
#lead-form > .button.primary[type=submit]:hover{
  background:#2c1a42!important;
  color:#fff!important;
  transform:none;
  filter:none;
}
/* clients text = section h2 color */
.client-strip > p,
.clients-heading > p,
#clients .clients-heading > p{
  color:var(--ink,#251e31);
}
/* section titles = clients-title / approach style */
#clients-title,
.clients-heading h2,
.section-heading h2,
.v2-heading h2,
.audit-card h2,
.roadmap-section h2,
.assistant-section h2,
.contact-final h2,
#neuro-waiter h2,
.live-demo-section h2,
.live-demo-layout h2{
  font-size:37px!important;
  font-weight:700!important;
  letter-spacing:-1.8px!important;
  line-height:.98!important;
}
/* accent spans = approach purple everywhere */
#clients-title span,
.clients-heading h2 span,
.section-heading h2 span,
.v2-heading h2 span,
.audit-card h2 span,
.roadmap-section h2 span,
.assistant-section h2 span,
.contact-final h2 span,
#neuro-waiter h2 span,
.live-demo-section h2 span,
.live-demo-layout h2 span,
.page-section h2 span,
.v2-section h2 span,
.modules-section .section-heading h2 span,
.implementations-section .section-heading h2 span,
.rich-themes h2 span,
.assistant-section h2 span{
  color:#575de8!important;
}
@media(max-width:640px){
  #clients-title,
  .clients-heading h2,
  .section-heading h2,
  .v2-heading h2,
  .audit-card h2,
  .roadmap-section h2,
  .assistant-section h2,
  .contact-final h2,
  #neuro-waiter h2,
  .live-demo-section h2,
  .live-demo-layout h2{
    font-size:30px!important;
    letter-spacing:-1.4px!important;
  }
}
/* modules: 4 tiles per row, smaller titles */
#modules .module-group .module-grid,
.modules-section .module-group .module-grid,
#modules .module-group:first-of-type .module-grid,
.modules-section .module-group:first-of-type .module-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px;
}
#modules .module-card h4,
.modules-section .module-card h4{
  font-size:17px!important; /* −1pt more */
  line-height:1.3;
}
#modules .module-group-heading h3,
.modules-section .module-group-heading h3{
  font-size:17px!important;
  line-height:1.3!important;
  letter-spacing:-.4px;
}
#modules .module-card p,
.modules-section .module-card p{
  font-size:13px!important; /* was 14px, −1pt */
  line-height:21.5px!important; /* was ~24.5px, −3px */
}
#modules .module-more,
.modules-section .module-more{
  display:none!important;
}
#modules .module-group .module-card,
.modules-section .module-group .module-card{
  min-height:240px;
  padding:22px 18px;
}
@media(max-width:1180px){
  #modules .module-group .module-grid,
  .modules-section .module-group .module-grid,
  #modules .module-group:first-of-type .module-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  #modules .module-group .module-grid,
  .modules-section .module-group .module-grid,
  #modules .module-group:first-of-type .module-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  #modules .module-group .module-grid,
  .modules-section .module-group .module-grid,
  #modules .module-group:first-of-type .module-grid{
    grid-template-columns:1fr!important;
  }
  #modules .module-card h4,
  .modules-section .module-card h4{
    font-size:17px!important;
  }
}
/* concept-desktop -10% */
.concept-stage .concept-desktop,
.concept-stage[data-theme=signature] .concept-desktop{
  flex:0 1 90%;
  width:90%;
  max-width:90%;
  margin-inline:auto;
}
@media(max-width:640px){
  .concept-stage[data-theme=signature] .concept-desktop{
    width:90%;
    max-width:90%;
    flex:0 0 90%;
  }
}
/* concept stage: no plate background */
.concept-stage.theme-stage,
.concept-stage[data-theme=signature],
.concept-stage[data-theme=sea],
.concept-stage[data-theme=dark]{
  background:transparent!important;
}
.concept-tag{display:none!important}
/* menu-phone match desktop height */
.concept-stage.theme-stage[data-theme=signature]{
  align-items:stretch;
}
.concept-stage[data-theme=signature] .concept-desktop{
  align-self:stretch;
}
.concept-stage[data-theme=signature] .menu-phone{
  width:auto;
  max-width:none;
  height:auto;
  align-self:stretch;
  aspect-ratio:390 / 844;
  flex:0 0 auto;
  align-self:stretch;
}
.concept-stage[data-theme=signature] .menu-phone img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:640px){
  .concept-stage[data-theme=signature] .menu-phone{
    width:57%;
    aspect-ratio:390 / 844;
    height:auto;
    align-self:center;
  }
  .concept-stage[data-theme=signature] .menu-phone img{
    height:auto;
    object-fit:contain;
  }
}
/* yandex map pin: header logo + hero purple */
.review-map-pin{
  background:
    radial-gradient(ellipse at 70% 30%,#5d47c5aa,transparent 58%),
    linear-gradient(145deg,#19143f 0%,#251b66 55%,#3a2a8a 100%)!important;
  border-color:#fff;
}
.review-map-pin img{
  width:38px;
  height:auto;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none;
}
/* yandex CTA: smaller + straight arrow */
.rating-source{
  font-size:11px!important;
  font-weight:600;
  padding:8px 12px!important;
  margin-top:14px!important;
  border-radius:999px;
  gap:8px!important;
  justify-content:center;
  width:fit-content;
  max-width:100%;
}
.rating-source svg{
  width:14px!important;
  height:14px!important;
  flex:0 0 14px;
  display:block;
  transform:none;
}
/* benefits: no top rule, 4 items */
.hero .benefits,
.benefits{
  border-top:0;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:25px;
}
.benefits>div+div{
  padding-left:18px;
}
.benefits strong{font-size:12px}
.benefits p span{font-size:10px}
@media(max-width:1050px){
  .hero .benefits,
  .benefits{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px 18px;
  }
  .benefits>div:nth-child(odd){
    border-left:0;
    padding-left:0;
  }
}
@media(max-width:640px){
  .hero .benefits,
  .benefits{
    grid-template-columns:1fr;
  }
  .benefits>div+div{
    border:0;
    padding-left:0;
  }
}
/* hide hero path caption */
.visual-caption,
#scenario-panel{
  display:none!important;
}
.visual-kicker{
  display:none!important;
}
/* client logos: always scrolling, B/W → color on hover */
.logo-track,
.logo-showcase:hover .logo-track,
.logo-showcase.is-paused .logo-track{
  animation-duration:70s!important;
  animation-play-state:running!important;
}
.logo-rail:nth-child(2) .logo-track{
  animation-duration:85s!important;
}
.logo-motion{display:none!important}
/* client logo plates -20%, no borders */
.logo-showcase .client-logo{
  width:157px;
  height:120px;
  padding:14px;
  border:0!important;
  box-shadow:none!important;
  outline:0;
}
.logo-showcase .client-logo img{
  width:90px;
  height:90px;
  max-height:90px;
}
@media(max-width:640px){
  .logo-showcase .client-logo{
    width:114px;
    height:96px;
    padding:11px;
  }
  .logo-showcase .client-logo img{
    width:74px;
    height:74px;
    max-height:74px;
  }
}
#clients .logo-showcase .client-logo img,
.logo-showcase .client-logo img{
  filter:grayscale(100%)!important;
  -webkit-filter:grayscale(100%)!important;
  transition:filter .3s ease,-webkit-filter .3s ease;
}
#clients .logo-showcase .client-logo:hover img,
.logo-showcase .client-logo:hover img{
  filter:none!important;
  -webkit-filter:none!important;
}
/* hero-visual: no plate/glow — PNGs + orbits on banner */
.hero .hero-visual,
.hero-visual{
  background:none!important;
  box-shadow:none!important;
}
/* true circles behind mockups */
.hero-visual .orbit{
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  inset:auto;
  width:min(520px,86%);
  height:min(520px,86%);
  aspect-ratio:1 / 1;
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.hero-visual .orbit-two{
  width:min(340px,58%);
  height:min(340px,58%);
}
@media(max-width:640px){
  .hero-visual .orbit-one{
    width:min(360px,92%);
    height:min(360px,92%);
  }
  .hero-visual .orbit-two{
    width:min(240px,62%);
    height:min(240px,62%);
  }
}
.hero-visual[data-state=service] .phone img{
  background:transparent!important;
}
/* header: in-flow on hero, pins after ~half first screen */
#header-pin-spacer{
  display:block;
  width:100%;
  height:0;
  margin:0;
  padding:0;
  pointer-events:none;
}
.header-shell{
  position:relative;
  top:auto;
  background:transparent;
  transition:background .2s,box-shadow .2s;
  overflow:visible!important;
  isolation:auto!important;
  z-index:80!important;
}
.header-shell.is-scrolled,
.header-shell.is-pinned{
  background:#19143f;
  box-shadow:0 12px 36px #09061666,0 2px 0 #ffffff0d;
}
.header-shell.is-pinned{
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  width:100%;
  overflow-x:clip;
  animation:headerPinIn .28s ease;
}
@keyframes headerPinIn{
  from{transform:translateY(-110%)}
  to{transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .header-shell.is-pinned{animation:none}
}
.header-shell .header:before{
  display:none!important;
}
.header-shell .header,
.header-shell .desktop-nav,
.header-shell .nav-group{
  overflow:visible!important;
}
/* kill horizontal page scroll from full-bleed / 100vw / old mega-menu offsets */
html,body{
  overflow-x:hidden;
  max-width:100%;
}
/* mega menu: full-bleed panel, content width like .wrap */
.header-shell{
  overflow-x:clip;
}
.header .nav-group:has(.catalog-dropdown),
.header .nav-group:has(.services-dropdown){
  position:static;
}
.header .nav-dropdown{
  z-index:90!important;
}
.header .catalog-dropdown,
.header .catalog-dropdown.services-dropdown{
  left:0!important;
  right:0!important;
  top:100%;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  max-height:min(78vh,calc(100dvh - 94px));
  overflow:auto;
  padding:28px 0 22px!important;
  z-index:90!important;
  box-sizing:border-box;
  transform:none!important;
}
/* neutralize legacy rich.css right:-260px pull-out */
.header .catalog-dropdown[hidden]{
  display:none!important;
}
.header .catalog-dropdown > .services-menu,
.header .catalog-dropdown > .catalog-shortcuts{
  width:min(1340px,100%);
  margin-inline:auto;
  padding-inline:48px;
  box-sizing:border-box;
}
.header .catalog-dropdown .services-menu{
  min-height:420px;
  gap:28px;
  grid-template-columns:280px minmax(0,1fr);
}
.header .catalog-dropdown .services-panel-links{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px 14px;
}
.header .catalog-dropdown .catalog-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  border-top:1px solid #e5deed;
  margin-top:18px;
  padding-top:14px;
}
.header .catalog-dropdown .catalog-shortcuts a{
  width:auto;
  font-size:12px;
  font-weight:600;
  color:#575de8;
  padding:8px 0;
}
@media(max-width:900px){
  .header .catalog-dropdown{
    padding:20px 0 16px!important;
  }
  .header .catalog-dropdown > .services-menu,
  .header .catalog-dropdown > .catalog-shortcuts{
    padding-inline:22px;
  }
  .header .catalog-dropdown .services-panel-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .header .catalog-dropdown .services-panel-links{
    grid-template-columns:1fr;
  }
}
/* hero band covers raccoon inside #start — do NOT spill past hero into catalog */
.hero:before{
  inset:-110px calc((1340px - 100vw)/2) 0;
}
@media(max-width:920px){
  .hero:before{inset:-110px 0 0}
}
@media(max-width:640px){
  .hero:before{inset:-94px 0 0}
}
#offer-assistant.raccoon-section,
#offer-assistant-legacy.raccoon-section--legacy,
#start #offer-assistant-legacy{
  background:none!important;
  background-image:none!important;
}
/* directions sit on light band, above any hero paint */
#offer-catalog.direction-section{
  position:relative;
  z-index:2;
  background:#f8f6fc!important;
  color:#201a38;
  isolation:isolate;
  padding-top:88px!important;
}
/* video-menu: readable dark type on light card */
#video-menu .video-menu-feature,
.video-menu-parked .video-menu-feature{
  background:#f4f0fa!important;
  border:1px solid #e0d8ee;
  color:#1b1430;
}
#video-menu .video-menu-feature .eyebrow,
.video-menu-parked .video-menu-feature .eyebrow{
  color:#6b4bc3!important;
}
#video-menu .video-menu-feature h3,
.video-menu-parked .video-menu-feature h3{
  color:#1b1430!important;
}
#video-menu .video-menu-feature > div > p,
.video-menu-parked .video-menu-feature > div > p{
  color:#5c5670!important;
}
#video-menu .video-menu-feature .text-button,
.video-menu-parked .video-menu-feature .text-button{
  color:#6b4bc3!important;
}
#video-menu .video-stage-label,
.video-menu-parked .video-stage-label,
#video-menu .video-dish-options,
.video-menu-parked .video-dish-options{
  display:none!important;
}
/* hero video slide: still mockup — only on video slide */
.real-scenes > .real-scene.scene-video{
  display:none!important;
}
.unified-art[data-state=video] .real-scenes > .real-scene.scene-video,
.unified-art[data-state=video] .scene-video.scene-video--still{
  display:flex!important;
  align-items:center;
  justify-content:center;
  inset:0;
  padding:0;
  box-sizing:border-box;
  background:transparent;
  overflow:hidden;
}
.unified-art[data-state=video] .scene-video.scene-video--still .hero-video-still,
#start .unified-art[data-state=video] .hero-video-still{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
@media(max-width:760px){
  .unified-art[data-state=video] .scene-video.scene-video--still .hero-video-still{
    object-fit:cover;
    object-position:center top;
  }
}

/* two phones side by side */
#video-menu .video-phone-stage--duo,
.video-phone-stage--duo{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:18px;
  flex-wrap:nowrap;
}
#video-menu .video-phone-stage--duo .video-iphone,
.video-phone-stage--duo .video-iphone{
  width:210px;
  flex:0 0 auto;
  transform:none!important;
  margin-bottom:0!important;
}
#video-menu .video-phone-stage--duo .video-iphone video,
.video-phone-stage--duo .video-iphone video{
  height:418px!important;
}
#video-menu .video-phone-stage--duo .video-iphone:nth-child(2),
.video-phone-stage--duo .video-iphone:nth-child(2){
  transform:none!important;
  margin-bottom:0!important;
}
@media(max-width:800px){
  #video-menu .video-phone-stage--duo .video-iphone,
  .video-phone-stage--duo .video-iphone{width:180px}
  #video-menu .video-phone-stage--duo .video-iphone video,
  .video-phone-stage--duo .video-iphone video{height:358px!important}
}
@media(max-width:640px){
  #video-menu .video-phone-stage--duo,
  .video-phone-stage--duo{gap:12px}
  #video-menu .video-phone-stage--duo .video-iphone,
  .video-phone-stage--duo .video-iphone{width:148px}
  #video-menu .video-phone-stage--duo .video-iphone video,
  .video-phone-stage--duo .video-iphone video{height:294px!important}
}


/* offer catalog: solution-like cards, 4 per row */
.offer-catalog-section{
  background:radial-gradient(ellipse at 74% 40%,#6650ef6b,transparent 57%),linear-gradient(115deg,#19143f,#251b66 68%,#19143f);
  color:#fff;
}
.offer-group{
  margin-top:12px;
  padding-top:0;
  border-top:0;
}
.offer-group + .offer-group{
  margin-top:42px;
  padding-top:28px;
  border-top:1px solid #cbb7e630;
}
.offer-group-heading{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0 0 20px;
}
.offer-group-heading{
  align-items:center;
}
.offer-group-heading .eyebrow{
  color:#d5c8ed;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.4px;
  line-height:1;
}
.offer-group-heading h3{
  margin:0;
  font-size:22px;
  font-weight:650;
  letter-spacing:-.6px;
  line-height:1.2;
  color:#fff;
}
.offer-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.offer-card{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  text-align:left;
  min-height:210px;
  padding:16px 14px 42px;
  background:linear-gradient(145deg,#fff,#f4f1fd);
  border:1px solid #e3dff0;
  border-radius:18px;
  box-shadow:0 8px 24px #08041424;
  transition:transform .2s,box-shadow .2s,border-color .2s;
  cursor:pointer;
  font:inherit;
  color:#29223e;
  appearance:none;
  -webkit-appearance:none;
}
.offer-card:nth-child(3n+2){
  background:linear-gradient(145deg,#fff,#fff2e8);
  border-color:#f0e3d9;
}
.offer-card:nth-child(3n){
  background:linear-gradient(145deg,#fff,#edf6f4);
  border-color:#dcece6;
}
.offer-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 32px #08041445;
  border-color:#c3a6ff;
}
.offer-card:focus-visible{
  outline:3px solid #ffbc8a;
  outline-offset:4px;
}

.offer-badge{display:none!important}
.offer-pictogram{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0 0 12px;
  border-radius:14px;
  box-shadow:inset 0 1px 0 #ffffffab,0 6px 16px #49417e10;
  flex:none;
}
.offer-pictogram svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
}
.offer-card h4{
  margin:0 0 8px;
  font-size:15px;
  font-weight:620;
  line-height:1.25;
  letter-spacing:-.25px;
  color:#29223e;
}
.offer-card p{
  margin:0;
  padding-right:28px;
  font-size:12px;
  line-height:1.55;
  color:#5c5670;
  flex:1;
}
.offer-arrow{
  position:absolute;
  right:16px;
  bottom:16px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#9a8db0;
  transition:color .2s,transform .2s;
  pointer-events:none;
}
.offer-arrow svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
.offer-card:hover .offer-arrow{
  color:#575de8;
  transform:translate(2px,-2px);
}
@media(max-width:1200px){
  .offer-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1100px){
  .offer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:800px){
  .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .offer-grid{grid-template-columns:1fr;gap:12px}
  .offer-card{min-height:0;padding:20px 18px}
  .offer-group-heading h3{font-size:20px}
}

/* offer assistant: blue section with inline chat */
.offer-assistant-section{
  background:#3438b0;
  color:#fff;
}
.offer-assistant-section .eyebrow{color:#c9ccff}
.offer-assistant-section h2{
  color:#fff;
  margin:12px 0 16px;
}
.offer-assistant-section h2 span{color:#ffd7a8}
.offer-assistant-section .offer-assistant-copy>p{
  color:#d7daf8;
  max-width:420px;
  font-size:16px;
  line-height:1.65;
}
.offer-assistant-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:48px;
  align-items:center;
}
.offer-assistant-chat{
  background:#fbfaff;
  color:#262038;
  border-radius:28px;
  overflow:hidden;
  min-height:560px;
  max-height:680px;
  height:min(680px,72vh);
  box-shadow:0 24px 50px #1a1c6a40;
}
.offer-assistant-chat .guide-chat-header h3{
  font-size:27px;
  line-height:1.1;
  letter-spacing:-.8px;
  margin:8px 0;
  color:#262038;
}
.offer-assistant-chat .guide-chat-header p{color:#63596d}
@media(max-width:900px){
  .offer-assistant-layout{grid-template-columns:1fr;gap:28px}
  .offer-assistant-chat{min-height:520px;height:min(640px,78vh)}
}
@media(max-width:640px){
  .offer-assistant-section h2{font-size:32px}
  .offer-assistant-chat{border-radius:22px;min-height:480px}
  .offer-assistant-chat .guide-chat-header h3{font-size:23px}
}

.offer-assistant-chat .guide-chat-header{padding-right:28px}
@media(max-width:640px){
  .assistant-widget{
    right:14px!important;
    bottom:77px!important;
  }
}

/* offer-catalog directions: light section — heading always visible */
#offer-catalog .section-topline{
  display:block!important;
  margin:0 0 10px;
}
#offer-catalog .section-heading,
#offer-catalog .direction-heading{
  display:flex!important;
  justify-content:space-between;
  align-items:flex-end;
  gap:32px;
  margin:0 0 36px;
  opacity:1!important;
  visibility:visible!important;
}
#offer-catalog .section-heading h2,
#offer-catalog .direction-heading h2{
  display:block!important;
  margin:0;
  color:#1b1430!important;
  flex:1 1 auto;
  min-width:0;
  opacity:1!important;
  visibility:visible!important;
}
#offer-catalog .section-heading h2 span,
#offer-catalog .direction-heading h2 span{
  color:#575de8!important;
}
#offer-catalog .section-topline .eyebrow{
  color:#7444ce!important;
  font-size:11px!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  line-height:1.35!important;
}
#offer-catalog .section-heading > p,
#offer-catalog .direction-heading > p{
  flex:0 1 360px;
  max-width:360px;
  margin:0;
  color:#5c5670!important;
  font-size:15px!important;
  line-height:1.65!important;
  font-weight:450;
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:800px){
  #offer-catalog .section-heading,
  #offer-catalog .direction-heading{
    display:block!important;
    margin-bottom:28px;
  }
  #offer-catalog .section-heading > p,
  #offer-catalog .direction-heading > p{
    max-width:100%;
    flex:none;
    margin-top:14px;
  }
}

/* mega menus: one full-bleed panel style for catalog / services / company */
.header .nav-group:has(.services-dropdown),
.header .nav-group:has(.nav-dropdown--simple){
  position:static;
}
.header .services-dropdown,
.header .nav-dropdown--simple{
  left:0!important;
  right:0!important;
  top:100%;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  max-height:min(78vh,calc(100dvh - 94px));
  overflow:auto;
  padding:28px 0 22px!important;
  z-index:90!important;
  box-sizing:border-box;
  transform:none!important;
}
.header .services-dropdown > .services-menu,
.header .nav-dropdown--simple > .nav-simple-menu{
  width:min(1340px,100%);
  margin-inline:auto;
  padding-inline:48px;
  box-sizing:border-box;
}
.services-menu{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:28px;
  align-items:start;
  min-height:420px;
}
.services-menu-levels{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-right:14px;
  border-right:1px solid #e5deed;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  isolation:isolate;
}
.header .services-dropdown .services-level,
.header .catalog-dropdown .services-level{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  background:transparent;
  border:0;
  border-radius:12px;
  padding:12px 12px!important;
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box;
  font-size:13px;
  line-height:1.35;
  font-weight:560;
  color:#38304b;
  cursor:pointer;
  position:relative;
  z-index:1;
}
.header .services-dropdown .services-level>span,
.header .catalog-dropdown .services-level>span{
  flex:1 1 auto;
  min-width:0;
  text-align:left;
}
.header .services-dropdown .services-level .services-level-arrow,
.header .catalog-dropdown .services-level .services-level-arrow{
  flex:0 0 16px;
  width:16px;
  height:16px;
  stroke:currentColor;
  color:#9a8db0;
  transition:color .15s,transform .15s;
}
.header .services-dropdown .services-level:hover,
.header .services-dropdown .services-level[aria-pressed=true],
.header .catalog-dropdown .services-level:hover,
.header .catalog-dropdown .services-level[aria-pressed=true]{
  background:#eff0fd!important;
  color:#3438b0!important;
}
.header .services-dropdown .services-level:hover .services-level-arrow,
.header .services-dropdown .services-level[aria-pressed=true] .services-level-arrow,
.header .catalog-dropdown .services-level:hover .services-level-arrow,
.header .catalog-dropdown .services-level[aria-pressed=true] .services-level-arrow{
  color:#575de8;
  transform:translateX(2px);
}
.header .services-dropdown .services-menu-panels,
.header .catalog-dropdown .services-menu-panels{
  min-width:0;
  position:relative;
  z-index:2;
  background:#fff;
}
.header .catalog-dropdown .services-panel-links a,
.header .services-dropdown .services-panel-links a,
.header .nav-dropdown--simple .services-panel-links a{
  width:auto!important;
  max-width:100%;
  box-sizing:border-box;
  position:relative;
  z-index:1;
  display:block;
  padding:9px 10px;
  border-radius:10px;
  font-size:12px;
  line-height:1.4;
  color:#38304b;
}
.header .catalog-dropdown .services-panel-links a:hover,
.header .services-dropdown .services-panel-links a:hover,
.header .nav-dropdown--simple .services-panel-links a:hover{
  background:#eff0fd!important;
  color:#3438b0!important;
}
.services-level-num{display:none}
.services-menu-panels{min-width:0}
.services-menu-panel{display:flex;flex-direction:column;gap:8px;min-height:100%}
.services-menu-panel[hidden]{display:none!important}
/* level name already in left column — hide duplicate panel title */
.services-panel-head{display:none!important}
.services-panel-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px 14px;
  align-content:start;
}
.header .nav-dropdown--simple .nav-simple-links{
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:920px;
}
.header .services-dropdown .services-panel-more,
.header .catalog-dropdown .services-panel-more,
.header .services-dropdown .services-menu-all,
.header .catalog-dropdown .services-menu-all{
  width:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding:10px 4px;
  font-size:12px;
  font-weight:600;
  color:#575de8;
}
.header .services-dropdown .services-menu-all,
.header .catalog-dropdown .services-menu-all{
  border-top:1px solid #e5deed;
  margin-top:12px;
  padding-top:12px;
  width:100%;
}
.offer-card[id],
.offer-group[id]{
  scroll-margin-top:110px;
}
@media(max-width:900px){
  .header .services-dropdown,
  .header .nav-dropdown--simple{
    padding:20px 0 16px!important;
  }
  .header .services-dropdown > .services-menu,
  .header .nav-dropdown--simple > .nav-simple-menu{
    padding-inline:22px;
  }
  .services-menu{grid-template-columns:1fr;min-height:0}
  .services-menu-levels{
    flex-direction:row;
    flex-wrap:wrap;
    border-right:0;
    border-bottom:1px solid #e5deed;
    padding:0 0 12px;
  }
  .header .services-dropdown .services-level,
  .header .catalog-dropdown .services-level{
    width:auto!important;
    flex:1 1 46%;
    font-size:12px;
  }
  .services-panel-links,
  .header .nav-dropdown--simple .nav-simple-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:640px){
  .services-panel-links,
  .header .nav-dropdown--simple .nav-simple-links{
    grid-template-columns:1fr;
  }
}

/* mega menu: close + page blur under header */
.nav-backdrop{
  position:fixed;
  inset:0;
  z-index:70;
  border:0;
  padding:0;
  margin:0;
  background:#120c2880;
  -webkit-backdrop-filter:blur(12px) saturate(1.05);
  backdrop-filter:blur(12px) saturate(1.05);
  cursor:pointer;
}
.nav-backdrop[hidden]{display:none!important}
html.nav-mega-open .header-shell{
  z-index:95!important;
}
html.nav-mega-open .header .nav-dropdown{
  z-index:96!important;
}
.header .nav-dropdown-close{
  position:absolute;
  top:18px;
  right:max(22px,calc((100vw - 1340px)/2 + 22px));
  z-index:2;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid #e0def1;
  border-radius:50%;
  background:#fff;
  color:#38304b;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 18px #20164d14;
}
.header .nav-dropdown-close:hover{
  background:#eff0fd;
  color:#3438b0;
  border-color:#c9c4e8;
}
.header .nav-dropdown{
  /* close button anchors to this absolute panel */
}
@media(max-width:900px){
  .header .nav-dropdown-close{
    right:16px;
    top:14px;
    width:36px;
    height:36px;
    font-size:24px;
  }
}

/* offer catalog section tabs above divider */
.offer-catalog-tabs{
  display:flex;
  flex-wrap:nowrap;
  gap:0;
  margin:0 0 8px;
  border-bottom:1px solid #ffffff28;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.offer-catalog-tabs::-webkit-scrollbar{display:none}
.offer-catalog-tab{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  max-width:none;
  padding:12px 12px 14px;
  margin:0 0 -1px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#c9bfd9;
  font:inherit;
  font-size:13px;
  font-weight:600;
  letter-spacing:-.2px;
  line-height:1.25;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:color .15s,border-color .15s;
}
.offer-catalog-tab:hover{
  color:#fff;
}
.offer-catalog-tab[aria-selected="true"],
.offer-catalog-tab[aria-current="true"]{
  color:#fff;
  border-bottom-color:#c3a6ff;
}
.offer-catalog-tab:focus-visible{
  outline:3px solid #8055bd;
  outline-offset:4px;
  border-radius:6px;
}
/* tab panels: only one group visible */
.offer-catalog-section .offer-group[role="tabpanel"]{
  margin-top:28px;
  padding-top:0;
  border-top:0;
}
.offer-catalog-section .offer-group[role="tabpanel"][hidden]{
  display:none!important;
}
.offer-catalog-section .offer-group[role="tabpanel"] + .offer-group[role="tabpanel"]{
  margin-top:28px;
  padding-top:0;
  border-top:0;
}
.offer-catalog-section .offer-group:first-child,
.offer-catalog-section .offer-catalog-tabs + .offer-group{
  margin-top:28px;
  padding-top:0;
  border-top:0;
}
@media(max-width:800px){
  .offer-catalog-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .offer-catalog-tabs::-webkit-scrollbar{display:none}
  .offer-catalog-tab{
    flex:0 0 auto;
    max-width:220px;
    padding:12px 12px 14px;
    font-size:12px;
    white-space:normal;
  }
}

/* standalone directions block (3 tiles) before offer catalog */
.offer-directions-section{
  background:#fff;
}
.offer-directions-section .section-heading{
  margin-bottom:36px;
}
.offer-directions-section .solution-grid{
  margin:0;
}

/* case meta chips: type + city with map pin */
.v2-case-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 2px;
}
.v2-case-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#efe8ff;
  color:#5b3db5;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.01em;
}
.v2-case-chip--city{
  background:#eef3ff;
  color:#3d4eb3;
}
.v2-case-chip--city svg{
  width:12px;
  height:12px;
  stroke:currentColor;
  stroke-width:1.7;
  flex:none;
}
.v2-case > .v2-case-meta + h3{
  margin-top:14px;
}

/* case brand: venue photo + logo badge */
.v2-case-brand{
  position:relative;
  height:168px;
  overflow:hidden;
  border-radius:16px;
  margin-bottom:18px;
  background:#1b1430;
}
.v2-case-brand .v2-case-photo{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
}
.v2-case-logo{
  position:absolute;
  left:12px;
  bottom:12px;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px #120c2830;
}
.v2-case-logo img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
}

/* cases carousel */
.cases-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:8px 0 0;
}
.cases-toolbar p{
  margin:0;
  font-size:12px;
  color:#8a7b97;
}
.cases-toolbar > div{
  display:flex;
  align-items:center;
  gap:14px;
}
.cases-toolbar button{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid #dccfe8;
  background:#fff;
  color:#3d2f55;
  cursor:pointer;
  padding:0;
}
.cases-toolbar button svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
.cases-toolbar button[data-cases-step="-1"] svg{transform:rotate(180deg)}
.cases-toolbar button:hover:not(:disabled){
  border-color:#b79ad8;
  background:#f7f2fc;
}
.cases-toolbar button:disabled{opacity:.35;cursor:default}
#cases-count{
  min-width:4.5ch;
  text-align:center;
  font-size:13px;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  color:#3d2f55;
}
#cases .v2-cases.cases-rail,
.v2-cases.cases-rail{
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 2.35);
  grid-template-columns:none!important;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:0;
  margin:0 0 18px;
  scrollbar-width:thin;
  scrollbar-color:#d8c6ea transparent;
}
.cases-rail .v2-case{
  scroll-snap-align:start;
  min-width:0;
  height:100%;
}
@media(max-width:1100px){
  #cases .v2-cases.cases-rail,
  .v2-cases.cases-rail{
    grid-auto-columns:calc((100% - 24px) / 1.6);
    gap:16px;
  }
}
@media(max-width:780px){
  #cases .v2-cases.cases-rail,
  .v2-cases.cases-rail{
    grid-auto-columns:85%;
    gap:14px;
  }
  .cases-toolbar{margin-top:0}
}
@media(prefers-reduced-motion:reduce){
  .v2-cases.cases-rail{scroll-behavior:auto}
}

/* rollout captions over photo, no white panel */
.implementations-section .rollout-card,
.rollout-card{
  position:relative;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden;
  border-radius:20px;
}
.implementations-section .rollout-photo,
.rollout-photo{
  display:block;
  border-radius:20px;
  overflow:hidden;
}
.implementations-section .rollout-caption,
.rollout-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  display:block;
  padding:56px 18px 18px!important;
  background:linear-gradient(180deg,transparent 0%,#120c28cc 78%)!important;
  color:#fff;
  box-sizing:border-box;
  pointer-events:none;
}
.implementations-section .rollout-caption strong,
.rollout-caption strong{
  color:#fff!important;
  text-shadow:0 1px 8px #0006;
}
.implementations-section .rollout-caption>span,
.rollout-caption>span{
  color:#efe8ff!important;
  text-shadow:0 1px 6px #0005;
}
.rollout-photo .photo-expand{
  z-index:3;
}

/* reviews CTA = hero button size/style */
#reviews .rating-band > .button.primary{
  min-height:46px;
  padding:6px 8px 6px 20px;
  font-size:12px;
  font-weight:400;
  gap:14px;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  border:0;
}
#reviews .rating-band > .button.primary:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  filter:none;
  transform:translateY(-2px);
}
#reviews .rating-band > .button.primary .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:50%;
  background:#ffffff22;
  box-sizing:border-box;
}
#reviews .rating-band > .button.primary .button-icon svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}

/* integration footer CTA = hero button size/style */
#integrations .v2-integration-footer > .button.primary{
  min-height:46px;
  padding:6px 8px 6px 20px;
  font-size:12px;
  font-weight:400;
  gap:14px;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  border:0;
  width:fit-content;
  max-width:100%;
}
#integrations .v2-integration-footer > .button.primary:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  filter:none;
  transform:translateY(-2px);
}
#integrations .v2-integration-footer > .button.primary .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:50%;
  background:#ffffff22;
  box-sizing:border-box;
}
#integrations .v2-integration-footer > .button.primary .button-icon svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}

/* offer-assistant: left CTA · raccoon · ask (per mock) */
#offer-assistant.raccoon-section{
  padding:28px 0 0!important;
  overflow:visible!important;
}
#offer-assistant .raccoon-strip{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) minmax(200px,.85fr) minmax(320px,1.25fr);
  align-items:end;
  gap:20px 24px;
  min-height:340px;
}
#offer-assistant .raccoon-invite{
  align-self:center;
  padding-bottom:48px;
  max-width:460px;
}
#offer-assistant .raccoon-invite:before{display:none!important}
#offer-assistant .raccoon-invite h2{
  margin:0 0 14px;
  color:#fff!important;
  font-size:clamp(30px,3.1vw,42px)!important;
  font-weight:700!important;
  letter-spacing:-1.6px!important;
  line-height:1.05!important;
}
#offer-assistant .raccoon-invite h2 span{
  display:inline-block;
  white-space:nowrap;
  color:transparent!important;
  background:linear-gradient(100deg,#f3414c,#f0734a 55%,#eca648);
  -webkit-background-clip:text;
  background-clip:text;
}
#offer-assistant .raccoon-invite p{
  margin:0 0 26px;
  max-width:340px;
  color:#d4cce6!important;
  font-size:16px!important;
  line-height:1.45!important;
}
#offer-assistant .raccoon-cta{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  padding:6px 8px 6px 22px;
  border:0;
  border-radius:100px;
  background:linear-gradient(100deg,#f3414c,#f0734a 55%,#eca648)!important;
  color:#fff!important;
  font-size:14px;
  font-weight:600;
}
#offer-assistant .raccoon-cta .button-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  background:#ffffff24;
}
#offer-assistant .raccoon-cta .button-icon svg{
  width:16px;
  height:16px;
  stroke:currentColor;
}
#offer-assistant .raccoon-portrait{
  position:relative;
  align-self:end;
  justify-self:center;
  width:100%;
  max-width:320px;
  display:block!important;
  margin-bottom:-6px;
  z-index:1;
}
#offer-assistant .raccoon-portrait img{
  display:block;
  width:100%;
  height:auto;
  max-height:360px;
  object-fit:contain;
  object-position:bottom center;
  filter:drop-shadow(0 18px 28px #110a2c55);
}
#offer-assistant .raccoon-ask{
  align-self:center;
  justify-self:stretch;
  width:100%;
  max-width:none;
  padding-bottom:56px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
}
#offer-assistant .raccoon-quote{
  position:relative;
  right:auto;
  top:auto;
  z-index:2;
  max-width:220px;
  margin:0;
  padding:14px 18px;
  border-radius:18px;
  background:#2a1f4d;
  color:#fff;
  font-size:15px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.2px;
  border:1.5px solid #ffffff55;
  box-shadow:none;
}
#offer-assistant .raccoon-quote:after{
  content:"";
  position:absolute;
  left:28px;
  bottom:-7px;
  width:14px;
  height:14px;
  background:#2a1f4d;
  border-right:1.5px solid #ffffff55;
  border-bottom:1.5px solid #ffffff55;
  transform:rotate(45deg);
  border-radius:2px;
  box-shadow:none;
}
#offer-assistant .raccoon-quote-marks{
  position:absolute;
  left:18px;
  top:-16px;
  width:22px;
  height:14px;
  background:
    linear-gradient(110deg,transparent 40%,#b79cff 40% 52%,transparent 52%) 0 0/7px 12px no-repeat,
    linear-gradient(110deg,transparent 40%,#b79cff 40% 52%,transparent 52%) 8px 1px/7px 11px no-repeat,
    linear-gradient(110deg,transparent 40%,#b79cff 40% 52%,transparent 52%) 15px 2px/7px 10px no-repeat;
}
#offer-assistant .raccoon-entry{
  display:flex!important;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:52px;
  height:52px;
  margin:0;
  padding:6px 6px 6px 20px!important;
  border-radius:100px!important;
  background:#fff!important;
  box-sizing:border-box;
  box-shadow:0 10px 28px #120a2c28;
}
#offer-assistant .raccoon-entry input,
#offer-assistant #raccoon-question{
  height:100%;
  padding:0 8px 0 0!important;
  font-size:15px!important;
  line-height:1.2;
  color:#2a2040!important;
}
#offer-assistant .raccoon-entry input::placeholder{
  color:#9a92ab;
}
#offer-assistant .raccoon-entry-submit,
#offer-assistant .raccoon-entry button[type="submit"]{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:auto!important;
  height:40px!important;
  min-width:0;
  padding:4px 6px 4px 16px!important;
  border:0;
  border-radius:100px!important;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  white-space:nowrap;
  box-shadow:none;
}
#offer-assistant .raccoon-entry-submit:hover,
#offer-assistant .raccoon-entry button[type="submit"]:hover{
  background:linear-gradient(110deg,#d01575 0%,#e85530 48%,#f0a038 100%)!important;
  transform:translateY(-1px);
}
#offer-assistant .raccoon-entry-submit .button-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  background:#ffffff22;
  border-radius:50%;
}
#offer-assistant .raccoon-entry-submit .button-icon svg,
#offer-assistant .raccoon-entry-submit svg{
  width:14px!important;
  height:14px!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
#offer-assistant .raccoon-chips{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  width:100%;
}
#offer-assistant .raccoon-chips button{
  border:1px solid #b7a0df50;
  background:#ffffff0c;
  color:#e9defa;
  border-radius:24px;
  padding:10px 14px;
  font:inherit;
  font-size:13px;
  cursor:pointer;
  min-height:40px;
}
#offer-assistant .raccoon-chips button:hover{
  background:#ffffff20;
}
@media(max-width:980px){
  #offer-assistant .raccoon-strip{
    grid-template-columns:1fr 1fr;
    gap:18px 20px;
    min-height:0;
  }
  #offer-assistant .raccoon-invite{
    grid-column:1;
    padding-bottom:12px;
  }
  #offer-assistant .raccoon-ask{
    grid-column:2;
    justify-self:stretch;
    max-width:none;
    padding-bottom:12px;
    align-items:flex-end;
  }
  #offer-assistant .raccoon-portrait{
    grid-column:1/-1;
    order:3;
    max-width:260px;
    margin:0 auto -4px;
  }
}
@media(max-width:760px){
  #offer-assistant.raccoon-section{padding:24px 0 0!important}
  #offer-assistant .raccoon-strip{
    grid-template-columns:1fr!important;
    gap:18px;
  }
  #offer-assistant .raccoon-invite,
  #offer-assistant .raccoon-ask,
  #offer-assistant .raccoon-portrait{
    grid-column:auto;
    justify-self:stretch;
    max-width:none;
    padding-bottom:0;
    align-items:flex-start;
  }
  #offer-assistant .raccoon-portrait{
    display:block!important;
    order:0;
    max-width:200px;
    margin:0;
  }
  #offer-assistant .raccoon-invite{order:1}
  #offer-assistant .raccoon-ask{order:2;align-items:stretch}
  #offer-assistant .raccoon-quote{display:block!important;max-width:none}
  #offer-assistant .raccoon-invite h2{font-size:30px!important}
}

/* direction block heading = tasks/section-heading fonts */
.direction-section .section-topline{
  margin:0 0 10px;
}
.direction-section .section-topline .eyebrow,
.direction-section > .wrap > .eyebrow{
  font-size:11px!important;
  letter-spacing:1.25px;
  font-weight:650;
  color:var(--purple,#7444ce);
}
.direction-section .direction-heading.section-heading,
.direction-section .direction-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin:0 0 40px;
}
.direction-section .direction-heading h2{
  font-size:37px!important;
  font-weight:700!important;
  letter-spacing:-1.8px!important;
  line-height:.98!important;
  margin:0;
  color:#1b1430;
}
.direction-section .direction-heading h2 span{
  color:#575de8!important;
}
.direction-section .direction-heading > p{
  flex:0 1 360px;
  max-width:360px;
  margin:0;
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450;
  color:#5c5670!important;
}
@media(max-width:800px){
  .direction-section .direction-heading.section-heading,
  .direction-section .direction-heading{
    display:block;
    margin-bottom:28px;
  }
  .direction-section .direction-heading > p{
    max-width:100%;
    margin-top:14px;
  }
  .direction-section .direction-heading h2{
    font-size:30px!important;
    letter-spacing:-1.4px!important;
  }
}


/* implementations: bento / mosaic gallery (varied tile sizes) */
.implementations-section .rollout-note{
  margin:4px 0 22px;
  font-size:13px;
  line-height:1.5;
  color:#e0d8ee;
  max-width:52ch;
}
.implementations-section .rollout-rail.rollout-mosaic,
.rollout-rail.rollout-mosaic{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:96px;
  gap:12px;
  overflow:visible!important;
  scroll-snap-type:none!important;
  padding:0!important;
  margin:0;
  width:100%;
  max-width:none;
  scrollbar-width:none;
}
.rollout-mosaic .rollout-card{
  width:100%;
  height:100%;
  min-width:0!important;
  scroll-snap-align:none;
  padding:0;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:20px;
  overflow:hidden;
  cursor:pointer;
  transition:transform .2s ease;
}
.rollout-mosaic .rollout-card:hover{
  transform:translateY(-2px);
}
.rollout-mosaic .rollout-card[data-tile="square"]{grid-column:span 1;grid-row:span 2}
.rollout-mosaic .rollout-card[data-tile="tall"]{grid-column:span 1;grid-row:span 3}
.rollout-mosaic .rollout-card[data-tile="wide"]{grid-column:span 2;grid-row:span 2}
.rollout-mosaic .rollout-card[data-tile="hero"]{grid-column:span 2;grid-row:span 3}
.rollout-mosaic .rollout-photo{
  height:100%;
  border-radius:18px;
  aspect-ratio:auto!important;
}
.rollout-mosaic .rollout-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.rollout-mosaic .rollout-caption{
  padding:40px 14px 14px!important;
}
@media(max-width:1000px){
  .rollout-rail.rollout-mosaic{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:100px;
  }
  .rollout-mosaic .rollout-card[data-tile="wide"]{grid-column:span 2}
}
@media(max-width:700px){
  .rollout-rail.rollout-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:95px;
    gap:10px;
  }
  .rollout-mosaic .rollout-card[data-tile="wide"]{grid-column:span 2;grid-row:span 2}
  .rollout-mosaic .rollout-card[data-tile="tall"]{grid-row:span 3}
}

/* platform + services catalog under directions */
#offer-platform.offer-catalog-section,
#offer-services.offer-catalog-section{
  margin-top:0;
}
#offer-services.offer-catalog-section{
  border-top:1px solid #cbb7e628;
}
#offer-platform .section-heading h2,
#offer-services .section-heading h2{
  color:#fff;
}
#offer-platform .section-heading h2 span,
#offer-services .section-heading h2 span{
  color:#c3a6ff!important;
}
#offer-platform .section-topline .eyebrow,
#offer-services .section-topline .eyebrow{
  color:#d5c8ed!important;
  font-size:11px!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  line-height:1.35!important;
}
#offer-platform .section-heading > p,
#offer-services .section-heading > p{
  color:#d1c8e3!important;
}

/* case metrics under description */
.v2-case-metrics{
  list-style:none;
  margin:16px 0 20px;
  padding:14px 0 0;
  border-top:1px solid #e8dff3;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 14px;
}
.v2-case-metrics li{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.v2-case-metric-value{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.6px;
  line-height:1.1;
  color:#1b1430;
}
.v2-case-metric-arrow{
  display:inline-grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#22a45a;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  transform:rotate(45deg);
  transform-origin:center;
}
.v2-case-metric-label{
  font-size:12px;
  line-height:1.35;
  color:#7a6f8c;
}
/* cases rail: bleed right, not clipped by section */
#cases.v2-section{
  overflow:visible;
}
#cases .wrap{
  overflow:visible;
}
#cases .v2-cases.cases-rail,
.v2-cases.cases-rail{
  width:calc(100% + (100vw - min(1340px, 100vw)) / 2 + 48px);
  max-width:none;
  padding-right:48px;
  box-sizing:border-box;
  scrollbar-width:none;
}
#cases .v2-cases.cases-rail::-webkit-scrollbar{display:none}

/* sales fullscreen overlay — keep z-index below editor inspect layers */
#sales-consultant.sales-consultant{
  position:fixed;
  inset:0;
  z-index:120;
  display:flex;
  flex-direction:column;
  width:100vw;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  overflow:auto;
  isolation:isolate;
  pointer-events:auto;
}
#sales-consultant.sales-consultant[hidden]{
  display:none!important;
}
/* site header becomes the sales chrome */
html.sales-open .header-shell{
  z-index:140!important;
  pointer-events:auto!important;
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  width:100%;
}
html.sales-open .header-shell.is-pinned,
html.sales-open .header-shell.is-scrolled,
html.sales-open .header-shell{
  background:#fff;
  box-shadow:0 10px 28px #120a2c1a;
}
html.sales-open .nav-backdrop{
  z-index:139!important;
  pointer-events:auto!important;
}
html.sales-open .assistant-widget{
  z-index:0!important;
  pointer-events:none!important;
}
html.sales-open .header-sales-close{
  display:grid!important;
  place-items:center;
  width:44px;
  height:44px;
  margin-left:4px;
  border-radius:50%;
  border:1px solid #d8d0e8;
  background:#f6f2fc;
  color:#3a2f55;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
html.sales-open #sales-consultant.sales-consultant{
  padding-top:76px;
}
#sales-consultant .sales-layout,
html.sales-open #sales-consultant .sales-layout{
  height:auto!important;
  min-height:calc(100dvh - 76px);
}
#sales-consultant .sales-header{display:none!important}
#sales-consultant .sales-character-role{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  order:-1;
  margin:0 0 10px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid #ffffff2e;
  background:#ffffff12;
  color:#efe7ff;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  line-height:1.2;
}
#sales-consultant .sales-character{
  display:flex;
  flex-direction:column;
  align-items:center;
}
#sales-consultant .sales-composer.raccoon-entry{
  display:flex!important;
  align-items:center;
  gap:8px;
  width:100%;
  min-height:52px;
  height:52px;
  margin-top:14px;
  padding:6px 6px 6px 20px!important;
  border-radius:100px!important;
  background:#fff!important;
  box-sizing:border-box;
  box-shadow:0 10px 28px #120a2c28;
}
#sales-consultant .sales-composer.raccoon-entry input{
  flex:1 1 auto;
  min-width:0;
  height:100%;
  border:0;
  outline:none;
  background:transparent;
  padding:0 8px 0 0!important;
  font:inherit;
  font-size:15px!important;
  line-height:1.2;
  color:#2a2040!important;
}
#sales-consultant .sales-composer.raccoon-entry input::placeholder{
  color:#9a92ab;
}
#sales-consultant .sales-composer.raccoon-entry .sales-send,
#sales-consultant .sales-composer.raccoon-entry .raccoon-entry-submit{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:auto!important;
  height:40px!important;
  min-width:0;
  padding:4px 6px 4px 16px!important;
  border:0;
  border-radius:100px!important;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  white-space:nowrap;
  box-shadow:none;
  opacity:1;
}
#sales-consultant .sales-composer.raccoon-entry .sales-send:disabled{
  opacity:.45;
  cursor:default;
  transform:none;
}
#sales-consultant .sales-composer.raccoon-entry .sales-send .button-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  background:#ffffff22;
  border-radius:50%;
}
#sales-consultant .sales-composer.raccoon-entry .sales-send .button-icon svg{
  width:14px!important;
  height:14px!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}
@media(max-width:760px){
  html.sales-open #sales-consultant.sales-consultant{
    padding-top:64px;
  }
  html.sales-open #sales-consultant .sales-layout{
    min-height:calc(100dvh - 64px);
  }
}
#sales-consultant .sales-header,
#sales-consultant .sales-layout,
#sales-consultant .sales-body,
#sales-consultant .sales-log,
#sales-consultant .sales-bubble,
#sales-consultant .sales-bubble-text,
#sales-consultant .sales-composer,
#sales-consultant .sales-character,
#sales-consultant textarea,
#sales-question{
  pointer-events:auto;
  -webkit-user-select:text;
  user-select:text;
}
#sales-consultant button,
#sales-consultant .raccoon-chips button,
#sales-consultant .sales-close,
#sales-consultant .sales-send,
#sales-consultant .sales-reset{
  -webkit-user-select:none;
  user-select:none;
  pointer-events:auto;
  position:relative;
  z-index:2;
}
#sales-consultant textarea,
#sales-question{
  cursor:text;
  touch-action:manipulation;
}
#sales-consultant .sales-log,
#sales-consultant .sales-bubble,
#sales-consultant .sales-bubble-text{
  cursor:text;
  position:relative;
  z-index:1;
}
#sales-consultant .sales-bubble-text{
  white-space:pre-line;
}
#sales-consultant .sales-bubble ::selection,
#sales-consultant .sales-bubble-text::selection,
#sales-consultant textarea::selection{
  background:#c4b0f0;
  color:#1b1430;
}


/* hide hero scene badges */
#start .real-badge,.hero .real-badge{display:none!important}

/* ===== legacy raccoon (comparison below new mock) ===== */
#offer-assistant-legacy.raccoon-section--legacy{
  background:none!important;
  background-image:none!important;
  color:#fff;
  padding:28px 0 0!important;
  overflow:visible;
  position:relative;
}
#offer-assistant-legacy .raccoon-legacy-label{
  margin-bottom:18px;
}
#offer-assistant-legacy .raccoon-legacy-label .eyebrow{
  color:#d5c2ee!important;
}
#offer-assistant-legacy .raccoon-strip{
  display:grid!important;
  grid-template-columns:minmax(300px,380px) 1fr!important;
  align-items:end;
  gap:36px!important;
  min-height:360px;
}
#offer-assistant-legacy .raccoon-portrait{
  display:block!important;
  align-self:end;
  position:relative;
  width:100%;
  max-width:340px;
  height:360px;
  margin:0!important;
  order:0!important;
  overflow:visible;
  -webkit-mask-image:none;
  mask-image:none;
}
#offer-assistant-legacy .raccoon-portrait img{
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  margin:0 auto;
  object-fit:contain;
  object-position:center bottom;
  transform:none;
  transform-origin:center bottom;
  filter:drop-shadow(0 18px 28px #110a2c66);
}
#offer-assistant-legacy .raccoon-invite{
  align-self:center;
  padding-bottom:48px!important;
  max-width:none!important;
}
#offer-assistant-legacy .raccoon-invite:before{display:none!important;content:none!important}
#offer-assistant-legacy .raccoon-invite .eyebrow{color:#d5c2ee!important}
#offer-assistant-legacy .raccoon-invite h2{
  color:#fff!important;
  font-size:clamp(30px,3.1vw,42px)!important;
  font-weight:700!important;
  line-height:1.05!important;
  letter-spacing:-1.6px!important;
  margin:16px 0!important;
}
#offer-assistant-legacy .raccoon-invite h2 span{
  display:inline-block!important;
  white-space:nowrap!important;
  color:transparent!important;
  background:linear-gradient(100deg,#f3414c,#f0734a 55%,#eca648)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
}
#offer-assistant-legacy .raccoon-invite p{
  color:#e0d5ef!important;
  font-size:17px!important;
  line-height:1.5!important;
  max-width:660px;
  margin:0 0 0!important;
}
#offer-assistant-legacy .raccoon-quote{
  position:absolute!important;
  right:12px!important;
  top:18px!important;
  left:auto!important;
  z-index:2;
  max-width:190px;
  margin:0;
  padding:14px 16px;
  border-radius:18px 18px 18px 6px;
  background:#fff!important;
  color:#2a2040!important;
  font-size:13px!important;
  font-weight:600;
  line-height:1.4;
  border:0!important;
  box-shadow:0 14px 32px #120a2c40;
  display:block!important;
}
#offer-assistant-legacy .raccoon-quote:after{
  content:"";
  position:absolute;
  left:18px;
  bottom:-8px;
  width:16px;
  height:16px;
  background:#fff;
  transform:rotate(45deg);
  border-radius:3px;
  border:0!important;
  box-shadow:4px 4px 10px #120a2c18;
}
#offer-assistant-legacy .raccoon-quote-marks{display:none}

/* raccoon input: no focus ring around field */
.raccoon-entry:focus-within,
#offer-assistant-legacy .raccoon-entry:focus-within,
#offer-assistant .raccoon-entry:focus-within{
  outline:none!important;
  box-shadow:none!important;
}
.raccoon-entry input:focus,
.raccoon-entry input:focus-visible,
#offer-assistant-legacy .raccoon-entry input:focus,
#offer-assistant-legacy .raccoon-entry input:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
#offer-assistant-legacy .raccoon-entry{
  display:flex!important;
  align-items:center;
  gap:8px;
  width:100%;
  max-width:none;
  min-height:52px;
  height:52px;
  margin-top:24px!important;
  padding:2px 2px 2px 18px!important;
  border-radius:100px!important;
  background:#fff!important;
  box-shadow:0 10px 28px #120a2c28;
  box-sizing:border-box;
}
#offer-assistant-legacy .raccoon-entry-submit,
#offer-assistant-legacy .raccoon-entry button.raccoon-entry-submit{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:auto!important;
  height:48px!important;
  min-height:48px!important;
  padding:4px 8px 4px 18px!important;
  border:0!important;
  border-radius:100px!important;
  background:linear-gradient(110deg,#e51a83 0%,#f1613d 48%,#f59a2e 100%)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  box-shadow:none!important;
}
#offer-assistant-legacy .raccoon-entry-submit .button-icon{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  background:#ffffff22;
  border-radius:50%;
}
#offer-assistant-legacy .raccoon-entry-submit .button-icon svg{
  width:14px!important;
  height:14px!important;
  stroke:currentColor;
}
#offer-assistant-legacy .raccoon-chips{
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
  width:100%;
}
#offer-assistant-legacy .raccoon-chips button{
  border:1px solid #b7a0df50;
  background:#ffffff0c;
  color:#e9defa;
  border-radius:24px;
  padding:10px 14px;
  font:inherit;
  font-size:13px;
  min-height:40px;
  cursor:pointer;
}
#offer-assistant-legacy .raccoon-chips button:hover{background:#ffffff20}
@media(max-width:760px){
  #offer-assistant-legacy .raccoon-strip{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #offer-assistant-legacy .raccoon-strip{
    grid-template-columns:1fr!important;
    min-height:0;
  }
  #offer-assistant-legacy .raccoon-portrait{
    max-width:240px;
    height:280px;
    margin:0 auto -8px!important;
  }
  #offer-assistant-legacy .raccoon-portrait img{
    width:100%;
    margin:0 auto;
    transform:none;
  }
  #offer-assistant-legacy .raccoon-invite{
    padding-bottom:28px!important;
  }
  #offer-assistant-legacy .raccoon-invite h2{font-size:30px!important}
}

/* ===== compact footer (from footer-concept) ===== */
.site-footer.site-footer--compact{
  background:radial-gradient(ellipse at 90% 0,#382471 0,transparent 55%),#1b1435!important;
  color:#fff!important;
  padding:44px 0 22px!important;
  margin:0;
}
.site-footer.site-footer--compact a{
  color:inherit;
  text-decoration:none;
}
.site-footer.site-footer--compact a:hover{
  color:#ffc084;
}
.site-footer--compact .footer-grid{
  display:grid;
  grid-template-columns:1.05fr 1.3fr 1fr 1fr;
  gap:36px;
  align-items:start;
}
.site-footer--compact .footer-logo{
  display:inline-block;
  margin-bottom:20px;
}
.site-footer--compact .footer-logo img{
  display:block;
  width:87px;
  height:auto;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
}
.site-footer--compact .footer-caption{
  margin:0;
  font-size:13px;
  line-height:1.7;
  color:#c8bfdc;
  max-width:195px;
}
.site-footer--compact .footer-col h2{
  margin:0 0 20px;
  font-size:13px;
  font-weight:600;
  color:#fff!important;
  letter-spacing:0;
}
.site-footer--compact .footer-col ul{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:13px;
}
.site-footer--compact .footer-col li{
  font-size:13px;
  line-height:1.5;
  color:#ddd4ed;
}
.site-footer--compact .footer-phone{
  display:block;
  font-size:19px;
  font-weight:600;
  white-space:nowrap;
  margin-bottom:10px;
  color:#fff;
}
.site-footer--compact .footer-mail{
  display:block;
  font-size:14px;
  font-weight:500;
  color:#c8bfdc;
  margin-bottom:16px;
  word-break:break-word;
}
.site-footer--compact .footer-mail:hover{
  color:#ffc084;
}
.site-footer--compact .footer-social{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.site-footer--compact .footer-social-link{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:50%;
  background:transparent;
  border:1px solid #bfb2e85c;
  color:#fff;
  box-sizing:border-box;
  padding:0;
  transition:background .2s,border-color .2s;
}
.site-footer--compact .footer-social-link:hover{
  background:#ffffff15;
  border-color:#ffffff90;
  color:#fff;
}
.site-footer--compact .footer-social-link img{
  width:18px;
  height:18px;
  display:block;
  filter:brightness(0) invert(1);
}
.site-footer--compact .footer-legal{
  border-top:1px solid #49385f;
  margin-top:34px;
  padding-top:20px;
  display:flex;
  gap:30px;
  align-items:flex-start;
  justify-content:space-between;
  font-size:11px;
  color:#b9adc9;
  line-height:1.8;
}
.site-footer--compact .footer-legal p{
  margin:0;
  color:#b9adc9;
}
.site-footer--compact .footer-docs{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:center;
}
.site-footer--compact .footer-docs a,
.site-footer--compact .footer-docs .form-data-link{
  font-size:11px;
  color:#b9adc9;
  background:none;
  border:0;
  padding:0;
  cursor:pointer;
  font:inherit;
}
.site-footer--compact .footer-docs a:hover,
.site-footer--compact .footer-docs .form-data-link:hover{
  color:#ffc084;
}
/* kill old footer layout remnants */
.site-footer--compact .footer-top,
.site-footer--compact .footer-bottom{
  display:contents;
}
@media(max-width:980px){
  .site-footer--compact .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px;
  }
}
@media(max-width:640px){
  .site-footer.site-footer--compact{padding:36px 0 20px!important}
  .site-footer--compact .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
  }
  .site-footer--compact .footer-phone{font-size:16px}
  .site-footer--compact .footer-legal,
  .site-footer--compact .footer-docs{
    flex-direction:column;
    gap:12px;
    align-items:flex-start;
  }
}
@media(max-width:420px){
  .site-footer--compact .footer-grid{grid-template-columns:1fr}
}

/* billing: model + year period switches */
#pricing .billing-controls{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  margin:30px 0;
}
#pricing .billing-controls-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:14px 20px;
}
#pricing .billing-controls > #billing-note{
  max-width:none;
  margin:0;
}
#pricing .billing-period .billing-save{
  display:inline-flex;
  align-items:center;
  margin-left:6px;
  padding:2px 7px;
  border-radius:999px;
  background:#e7f7ee;
  color:#1a9f55;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
}
#pricing .billing-period button[aria-pressed="true"] .billing-save{
  background:#ffffff30;
  color:#fff;
}
#pricing .price-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:8px 10px;
}
#pricing .price-was{
  font-size:.55em;
  font-weight:600;
  color:#9a91ab;
  text-decoration:line-through;
  letter-spacing:0;
}
/* yearly: keep base ink; highlight only recommended with primary CTA color */
#pricing.is-yearly [data-plan-price]{
  color:inherit;
}
#pricing .price-card.recommended [data-plan-price]{
  background:linear-gradient(110deg,#f3414c,#f0734a 55%,#eca648);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
@media(max-width:800px){
  #pricing .billing-controls-row{
    flex-direction:column;
    align-items:stretch;
  }
  #pricing .billing-switch{
    width:100%;
  }
  #pricing .billing-switch button{
    flex:1;
  }
}

/* pack cutout art in direction cards */
#offer-catalog .direction-image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(ellipse 70% 60% at 50% 45%, #5a3a9a55, transparent 70%),
    linear-gradient(165deg, #2d1a55 0%, #211747 55%, #1a1238 100%);
}
#offer-catalog .direction-pack-art{
  display:block;
  width:auto;
  max-width:86%;
  height:auto;
  max-height:92%;
  object-fit:contain;
  filter:drop-shadow(0 18px 28px #0b061e66);
  transform:translateY(-2%);
  pointer-events:none;
  user-select:none;
}
#offer-catalog .direction-image .real-badge{
  position:absolute;
  bottom:4%;
  left:5%;
  z-index:2;
}
@media(max-width:760px){
  #offer-catalog .direction-pack-art{
    max-width:92%;
    max-height:88%;
  }
}

/* direction titles = case card h3 −6pt */
#offer-catalog .direction-copy h3{
  font-size:21px!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
  line-height:1.2!important;
}
/* direction body = section-heading p (offer-services) */
#offer-catalog .direction-copy > p{
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450!important;
  margin-bottom:18px!important;
}
#offer-catalog .direction-price{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:auto 0 0;
  width:100%;
  padding-top:16px;
  border-top:1px solid #ffffff18;
}
#offer-catalog .direction-price-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  width:100%;
}
#offer-catalog .direction-price-list{
  display:flex;
  align-items:stretch;
  gap:22px;
  min-width:0;
  flex:1 1 auto;
}
#offer-catalog .direction-price-item{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
#offer-catalog .direction-price-item + .direction-price-item{
  padding-left:22px;
  border-left:1px solid #ffffff22;
}
#offer-catalog .direction-price-label{
  font-size:11px;
  font-weight:550;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#b9a9d4;
  line-height:1.2;
}
#offer-catalog .direction-price-value{
  font-size:20px;
  font-weight:700;
  letter-spacing:-.4px;
  line-height:1.15;
  color:#fff;
  white-space:nowrap;
}
#offer-catalog .direction-price-value span{
  font-size:13px;
  font-weight:500;
  letter-spacing:0;
  color:#cdb6ef;
  margin-left:2px;
}
#offer-catalog .direction-price-note{
  display:block;
  width:100%;
  font-size:11px;
  line-height:1.35;
  font-weight:450;
  color:#a894c4;
}
@media(max-width:760px){
  #offer-catalog .direction-copy h3{
    font-size:18px!important;
  }
  #offer-catalog .direction-price-row{
    flex-wrap:wrap;
    align-items:stretch;
    gap:14px;
  }
  #offer-catalog .direction-price-list{
    width:100%;
    gap:14px;
  }
  #offer-catalog .direction-price-item + .direction-price-item{
    padding-left:14px;
  }
  #offer-catalog .direction-price-value{
    font-size:17px;
  }
  #offer-catalog .direction-link.button.secondary{
    margin-left:auto;
  }
}

/* reviews toggle always under video grids */
#reviews .more-reviews{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  margin-top:8px;
}
#reviews .more-reviews > #extra-reviews{
  width:100%;
  margin-top:0;
}
#reviews .more-reviews > #extra-reviews:not([hidden]){
  margin-bottom:8px;
}
#reviews .reviews-toggle{
  order:2;
  margin-top:28px;
  margin-bottom:8px;
}

/* direction CTA = hero secondary */
#offer-catalog .direction-link.button.secondary{
  display:inline-flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:fit-content;
  max-width:100%;
  min-height:46px;
  margin-top:0;
  flex:0 0 auto;
  padding:6px 8px 6px 20px!important;
  border-radius:100px;
  border:1px solid #ffffff5c!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.4;
}
#offer-catalog .direction-tile:hover .direction-link.button.secondary{
  background:#ffffff14!important;
  border-color:#ffffffa0!important;
}
#offer-catalog .direction-link.button.secondary .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:50%;
  background:#ffffff1c;
  color:#fff;
}
#offer-catalog .direction-link.button.secondary .button-icon svg{
  width:16px!important;
  height:16px!important;
  stroke:currentColor;
  fill:none;
}

/* pricing heading = cases v2-heading spacing/style */
#pricing .v2-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:42px;
  margin:0 0 48px;
}
#pricing .v2-heading > div{
  flex:1;
  min-width:0;
}
#pricing .v2-heading .eyebrow{
  display:block;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  color:#7444ce!important;
  margin:0;
}
#pricing .v2-heading h2{
  margin:20px 0 0!important;
  font-size:37px!important;
  font-weight:700!important;
  letter-spacing:-1.8px!important;
  line-height:.98!important;
  color:#1b1430;
}
#pricing .v2-heading h2 span{
  color:#575de8!important;
}
#pricing .v2-heading > p{
  flex:0 1 390px;
  max-width:390px;
  margin:0 0 8px!important;
  font-size:15px!important;
  line-height:23.75px!important;
  font-weight:450;
  color:#5c5670!important;
}
@media(max-width:780px){
  #pricing .v2-heading{
    display:block;
    margin-bottom:32px;
  }
  #pricing .v2-heading > p{
    max-width:100%;
    margin-top:22px!important;
  }
  #pricing .v2-heading h2{
    font-size:30px!important;
  }
}

/* cases: full-bleed venue photo + overlay content */
#cases .v2-case.v2-case--cover{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:520px;
  padding:0;
  overflow:hidden;
  border:0;
  background:#1b1430;
  color:#fff;
  isolation:isolate;
}
#cases .v2-case--cover > .v2-case-photo{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center;
}
#cases .v2-case--cover:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,#120c1e00 8%,#120c1e55 42%,#120c1ee8 78%,#120c1ef5 100%);
  pointer-events:none;
}
#cases .v2-case--cover .v2-case-overlay{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:0;
  padding:88px 24px 22px;
  min-height:100%;
  width:100%;
  box-sizing:border-box;
}
#cases .v2-case--cover .v2-case-logo{
  position:absolute;
  left:24px;
  top:24px;
  margin:0;
  width:64px;
  height:64px;
  padding:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 10px 24px #0006;
  z-index:3;
  box-sizing:border-box;
  overflow:hidden;
}
#cases .v2-case--cover .v2-case-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
}
#cases .v2-case--cover .v2-case-meta{
  margin:0 0 10px;
}
#cases .v2-case--cover .v2-case-chip{
  background:#ffffff22;
  color:#fff;
  border:1px solid #ffffff35;
  backdrop-filter:blur(8px);
}
#cases .v2-case--cover .v2-case-chip--city{
  background:#ffffff18;
  color:#fff;
}
#cases .v2-case--cover h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:27px!important;
  font-weight:700!important;
  letter-spacing:-.03em;
  line-height:1.15;
}
#cases .v2-case--cover > .v2-case-overlay > p,
#cases .v2-case--cover .v2-case-overlay > p{
  margin:0 0 14px;
  max-width:34ch;
  color:#ebe4f8!important;
  font-size:14px!important;
  line-height:1.45;
}
#cases .v2-case--cover .v2-case-metrics{
  width:100%;
  margin:0 0 18px;
  padding:14px 0 0;
  border-top:1px solid #ffffff28;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px 12px;
}
#cases .v2-case--cover .v2-case-metric-value{
  color:#fff;
  font-size:20px;
  gap:5px;
}
#cases .v2-case--cover .v2-case-metric-arrow{
  background:#22a45a;
  color:#fff;
}
#cases .v2-case--cover .v2-case-metric-label{
  color:#d7cceb;
  font-size:11px;
}
#cases .v2-case--cover .button.secondary{
  display:inline-flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:fit-content;
  max-width:100%;
  min-height:46px;
  margin-top:4px;
  padding:6px 8px 6px 20px!important;
  border-radius:100px;
  border:1px solid #ffffff5c!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:400!important;
  line-height:1.4;
  text-decoration:none;
}
#cases .v2-case--cover .button.secondary:hover{
  background:#ffffff14!important;
  border-color:#ffffffa0!important;
  color:#fff!important;
  transform:translateY(-2px);
}
#cases .v2-case--cover .button.secondary .button-icon{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:0 0 31px;
  border-radius:50%;
  background:#ffffff1c;
  color:#fff;
}
#cases .v2-case--cover .button.secondary .button-icon svg{
  width:16px!important;
  height:16px!important;
  stroke:currentColor;
  fill:none;
}
@media(max-width:780px){
  #cases .v2-case.v2-case--cover{
    min-height:460px;
  }
  #cases .v2-case--cover .v2-case-overlay{
    padding:80px 18px 18px;
  }
  #cases .v2-case--cover .v2-case-logo{
    left:18px;
    top:18px;
  }
  #cases .v2-case--cover h3{
    font-size:24px!important;
  }
}

/* video review play: centered triangle, translucent circle */
.video-review-card .play-circle{
  width:74px;
  height:74px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ffffff7a!important;
  border:1px solid #ffffff8c;
  box-shadow:0 10px 28px #00000033;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:#2f2a6e;
}
.video-review-card .play-circle svg{
  display:block;
  width:28px;
  height:28px;
  margin:0!important;
  /* path sits slightly right in 24 viewBox — nudge back to optical center */
  transform:translateX(-1.5px);
  fill:currentColor;
  stroke:none;
}
.video-review-card:hover .play-circle,
.video-review-card:focus-visible .play-circle{
  background:#ffffffb3!important;
  color:#3438b0;
  transform:translate(-50%,-50%) scale(1.06);
}

/* video reviews: horizontal rail like cases */
#reviews.reviews-section{
  overflow:visible;
}
#reviews .wrap{
  overflow:visible;
}
#reviews .video-reviews-grid.reviews-rail{
  display:grid!important;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px) / 2.35);
  grid-template-columns:none!important;
  gap:24px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  width:calc(100% + (100vw - min(1340px, 100vw)) / 2 + 48px);
  max-width:none;
  margin:0;
  padding:0 48px 8px 0;
  box-sizing:border-box;
  scrollbar-width:none;
}
#reviews .video-reviews-grid.reviews-rail::-webkit-scrollbar{display:none}
#reviews .reviews-rail .video-review-card{
  scroll-snap-align:start;
  min-width:0;
  height:100%;
}
@media(max-width:1100px){
  #reviews .video-reviews-grid.reviews-rail{
    grid-auto-columns:calc((100% - 24px) / 1.6);
    gap:16px;
  }
}
@media(max-width:780px){
  #reviews .video-reviews-grid.reviews-rail{
    grid-auto-columns:85%;
    gap:14px;
  }
}
@media(prefers-reduced-motion:reduce){
  #reviews .video-reviews-grid.reviews-rail{scroll-behavior:auto}
}


/* direction-04 custom pack + builder dialog */
#offer-catalog .direction-tile-custom{
  border-color:#8b6fd8;
  box-shadow:inset 0 0 0 1px #ffffff14;
}
#offer-catalog .direction-tile-custom .direction-price-custom .direction-price-value{
  font-size:22px;
  letter-spacing:-.45px;
}
#offer-catalog .direction-tile-custom .direction-link.button.secondary{
  background:#ffffff14!important;
  border-color:#ffffffa0!important;
}
.pack-builder-lead{
  margin:0 0 18px;
  color:#5f5474;
  font-size:15px;
  line-height:1.5;
}
.pack-builder-groups{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:0 0 18px;
}
.pack-builder-group{
  margin:0;
  padding:14px 16px 16px;
  border:1px solid #e5deed;
  border-radius:18px;
  background:#faf7ff;
  min-width:0;
}
.pack-builder-group legend{
  padding:0 6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#575de8;
}
.pack-builder-group label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 0;
  font-size:14px;
  line-height:1.35;
  color:#2b2340;
  cursor:pointer;
}
.pack-builder-group input{
  margin-top:3px;
  flex:0 0 auto;
  accent-color:#575de8;
}
.pack-builder-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.pack-builder-count{
  margin:0;
  font-size:13px;
  font-weight:600;
  color:#635b76;
}
#dialog[data-panel="pack-builder"] .dialog-shell{
  max-width:720px;
}
@media(max-width:760px){
  .pack-builder-groups{
    grid-template-columns:1fr;
  }
}


/* ===== unified section eyebrows (match #reviews) ===== */
#offer-catalog .section-topline .eyebrow,
#clients .clients-heading .eyebrow,
#clients .eyebrow,
#cases .v2-heading .eyebrow,
#reviews .section-topline .eyebrow,
#pricing .v2-heading .eyebrow,
#faq .v2-heading .eyebrow{
  display:block!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  color:#7444ce!important;
}
#offer-platform .section-topline .eyebrow,
#offer-services .section-topline .eyebrow,
#implementations .section-topline .eyebrow,
#implementations .eyebrow{
  display:block!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:1.25px!important;
  font-weight:650!important;
  text-transform:uppercase!important;
  color:#d5c8ed!important;
}


/* ===== implementations mosaic (as v3 / :8791) ===== */
#implementations.implementations-section{
  background:radial-gradient(ellipse at 15% 20%,#5a3a96aa,transparent 50%),linear-gradient(125deg,#1d143d,#2c1f5c 60%,#1a1338);
  color:#fff;
  overflow:visible;
}
#implementations .section-heading{
  display:flex!important;
  justify-content:space-between;
  align-items:flex-end;
  gap:48px;
  margin:0 0 40px;
}
#implementations .section-heading h2{
  margin:0;
  color:#fff!important;
}
#implementations .section-heading h2 span{
  color:#c3a6ff!important;
}
#implementations .section-heading > p{
  flex:0 1 360px;
  max-width:360px;
  margin:0;
  color:#d1c8e3!important;
  font-size:15px!important;
  line-height:1.65!important;
}
#implementations .impl-mosaic{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-template-rows:230px 210px 190px;
  gap:18px;
}
#implementations .impl-mosaic-item{
  padding:0;
  border:0;
  border-radius:20px;
  overflow:hidden;
  position:relative;
  background:#3e335d;
  color:#fff;
  cursor:pointer;
  font:inherit;
  text-align:left;
}
#implementations .impl-mosaic-item img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s;
}
#implementations .impl-mosaic-item:hover img{
  transform:scale(1.04);
}
#implementations .impl-mosaic-item::after{
  content:"";
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#170d33a6);
  pointer-events:none;
}
#implementations .impl-mosaic-item > span{
  position:absolute;
  bottom:23px;
  left:24px;
  right:24px;
  font-size:14px;
  font-weight:550;
  line-height:1.4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  z-index:2;
}
#implementations .impl-mosaic-icon{
  width:18px!important;
  height:18px!important;
  flex:0 0 18px;
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
}
#implementations .impl-mosaic-item.m-0{grid-column:1;grid-row:1/3}
#implementations .impl-mosaic-item.m-1{grid-column:2;grid-row:1}
#implementations .impl-mosaic-item.m-2{grid-column:3;grid-row:1/3}
#implementations .impl-mosaic-item.m-3{grid-column:2;grid-row:2/4}
#implementations .impl-mosaic-item.m-4{grid-column:1;grid-row:3}
#implementations .impl-mosaic-item.m-5{grid-column:3;grid-row:3}
@media(max-width:900px){
  #implementations .impl-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    grid-auto-rows:200px;
  }
  #implementations .impl-mosaic-item.m-0,
  #implementations .impl-mosaic-item.m-1,
  #implementations .impl-mosaic-item.m-2,
  #implementations .impl-mosaic-item.m-3,
  #implementations .impl-mosaic-item.m-4,
  #implementations .impl-mosaic-item.m-5{
    grid-column:auto;
    grid-row:auto;
  }
  #implementations .impl-mosaic-item.m-0{grid-row:span 2}
  #implementations .impl-mosaic-item.m-2{grid-row:span 2}
  #implementations .impl-mosaic-item.m-3{grid-row:span 2}
}
@media(max-width:640px){
  #implementations .section-heading{
    display:block!important;
  }
  #implementations .section-heading > p{
    max-width:none;
    margin-top:16px;
  }
  #implementations .impl-mosaic{
    grid-template-columns:1fr;
    grid-auto-rows:220px;
  }
  #implementations .impl-mosaic-item.m-0,
  #implementations .impl-mosaic-item.m-2,
  #implementations .impl-mosaic-item.m-3{
    grid-row:auto;
  }
  #implementations .impl-mosaic-item > span{
    bottom:16px;
    left:16px;
    right:16px;
    font-size:13px;
  }
}
