/* Home CTA is the single conversion-panel design used on every route. */
.home-style-cta{
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  column-gap:clamp(36px,6vw,90px)!important;
  row-gap:15px!important;
  min-height:270px!important;
  margin-inline:auto!important;
  padding:clamp(42px,5vw,68px) clamp(36px,6vw,82px)!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:36px 36px 12px 36px!important;
  background:
    linear-gradient(120deg,rgba(87,28,96,.94),rgba(129,35,100,.88)),
    url("../image/elements-bg-designs/brand-city-bg.webp") center / cover no-repeat!important;
  color:#fffaf8!important;
  text-align:left!important;
  box-shadow:12px 13px 0 #b72888,0 28px 65px rgba(38,0,51,.2)!important;
}

.home-style-cta::before{
  content:"SNAPGO"!important;
  position:absolute!important;
  z-index:0!important;
  right:34%!important;
  bottom:-25px!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  inset:auto 34% -25px auto!important;
  display:block!important;
  border:0!important;
  background:none!important;
  color:rgba(255,255,255,.055)!important;
  font-family:"Baloo 2",var(--font-display),sans-serif!important;
  font-size:clamp(5rem,9vw,9rem)!important;
  font-weight:800!important;
  line-height:.78!important;
  letter-spacing:-.07em!important;
  white-space:nowrap!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  pointer-events:none!important;
}

.home-style-cta::after{
  display:none!important;
  content:none!important;
}

.home-style-cta > *,
.home-style-cta > div > *{
  position:relative;
  z-index:2;
}

.home-style-cta > div{
  grid-column:1!important;
  align-self:center!important;
  max-width:820px!important;
}

.home-style-cta h2{
  max-width:820px!important;
  margin:0 0 15px!important;
  color:#fffaf8!important;
  font-family:"Baloo 2",var(--font-display),sans-serif!important;
  font-size:clamp(2.5rem,4vw,4.25rem)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-align:left!important;
  text-shadow:none!important;
  text-wrap:balance;
}

.home-style-cta p,
.home-style-cta .lead{
  max-width:750px!important;
  margin:0!important;
  color:rgba(255,255,255,.78)!important;
  font-size:clamp(1rem,1.25vw,1.15rem)!important;
  line-height:1.6!important;
  text-align:left!important;
}

/* Home has direct heading/copy children; inner pages keep them inside a copy wrapper. */
#page-home .home-style-cta > h2{
  grid-column:1!important;
  grid-row:1!important;
}

#page-home .home-style-cta > .lead{
  grid-column:1!important;
  grid-row:2!important;
}

#page-home .home-style-cta > .btn,
.home-style-cta > .btn,
.home-style-cta > .menu-button{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:center!important;
  justify-self:end!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-width:220px!important;
  min-height:58px!important;
  margin:0!important;
  padding:16px 25px!important;
  border:2px solid #260033!important;
  border-radius:999px!important;
  background:#f23d72!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:5px 6px 0 #260033!important;
  white-space:nowrap!important;
}

/* Remove inner-page extras so the composition exactly matches Home. */
.home-style-cta :is(.why-eyebrow,.where-eyebrow,.menu-eyebrow,.contact-eyebrow),
.home-style-cta :is(ul,.menu-final-stamp,.contact-direct-facts,.contact-text-link){
  display:none!important;
}

/* Contact keeps its CTA nested; flatten only that wrapper into the shared grid. */
#page-contact .home-style-cta .contact-final-copy{
  display:contents!important;
}

#page-contact .home-style-cta .contact-final-copy > h2{
  grid-column:1!important;
  grid-row:1!important;
}

#page-contact .home-style-cta .contact-final-copy > p{
  grid-column:1!important;
  grid-row:2!important;
}

#page-contact .home-style-cta .contact-final-actions{
  grid-column:2!important;
  grid-row:1 / 3!important;
  align-self:center!important;
  justify-self:end!important;
  display:block!important;
  margin:0!important;
}

#page-contact .home-style-cta .contact-final-actions .btn{
  display:inline-flex!important;
  justify-content:center!important;
  min-width:260px!important;
  min-height:58px!important;
  margin:0!important;
  padding:16px 25px!important;
  border:2px solid #260033!important;
  border-radius:999px!important;
  background:#f23d72!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:5px 6px 0 #260033!important;
}

/* Menu's large dark runway now contains the same centered Home card. */
#page-menu .menu-final .home-style-cta{
  width:min(1240px,calc(100% - 48px))!important;
  border-top:0!important;
  border-bottom:0!important;
}

@media(max-width:820px){
  .home-style-cta{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
    gap:18px!important;
    text-align:center!important;
  }

  .home-style-cta > div,
  .home-style-cta > h2,
  .home-style-cta > .lead,
  .home-style-cta > .btn,
  .home-style-cta > .menu-button,
  #page-contact .home-style-cta .contact-final-copy > h2,
  #page-contact .home-style-cta .contact-final-copy > p,
  #page-contact .home-style-cta .contact-final-actions{
    grid-column:1!important;
    grid-row:auto!important;
    justify-self:center!important;
  }

  .home-style-cta h2,
  .home-style-cta p,
  .home-style-cta .lead{
    margin-inline:auto!important;
    text-align:center!important;
  }

  .home-style-cta > .btn,
  .home-style-cta > .menu-button,
  #page-contact .home-style-cta .contact-final-actions{
    margin-top:5px!important;
  }
}

@media(max-width:640px){
  .home-style-cta{
    min-height:0!important;
    padding:36px 22px!important;
    border-radius:27px 27px 10px 27px!important;
    box-shadow:7px 8px 0 #b72888,0 22px 45px rgba(38,0,51,.19)!important;
  }

  .home-style-cta::before{
    right:2%!important;
    bottom:-12px!important;
    font-size:4.8rem!important;
  }

  .home-style-cta h2{
    font-size:clamp(2.15rem,10vw,3rem)!important;
  }

  .home-style-cta > .btn,
  .home-style-cta > .menu-button,
  #page-contact .home-style-cta .contact-final-actions,
  #page-contact .home-style-cta .contact-final-actions .btn{
    width:100%!important;
    min-width:0!important;
  }

  #page-menu .menu-final .home-style-cta{
    width:calc(100% - 28px)!important;
  }
}

/* Page CSS uses ID-scoped !important rules; this final lock makes Home the authority. */
:is(
  #page-home .final-cta.home-style-cta,
  #page-why .why-final.home-style-cta,
  #page-where .where-final.home-style-cta,
  #page-contact .contact-final.home-style-cta,
  #page-menu .menu-final-inner.home-style-cta
){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  min-height:270px!important;
  padding:clamp(42px,5vw,68px) clamp(36px,6vw,82px)!important;
  border:0!important;
  border-radius:36px 36px 12px 36px!important;
  background:
    linear-gradient(120deg,rgba(87,28,96,.94),rgba(129,35,100,.88)),
    url("../image/elements-bg-designs/brand-city-bg.webp") center / cover no-repeat!important;
  color:#fffaf8!important;
  box-shadow:12px 13px 0 #b72888,0 28px 65px rgba(38,0,51,.2)!important;
}

:is(
  #page-home .final-cta.home-style-cta,
  #page-why .why-final.home-style-cta,
  #page-where .where-final.home-style-cta,
  #page-contact .contact-final.home-style-cta,
  #page-menu .menu-final-inner.home-style-cta
) h2{
  color:#fffaf8!important;
  font-family:"Baloo 2",var(--font-display),sans-serif!important;
  font-size:clamp(2.5rem,4vw,4.25rem)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  text-shadow:none!important;
}

:is(
  #page-home .final-cta.home-style-cta,
  #page-why .why-final.home-style-cta,
  #page-where .where-final.home-style-cta,
  #page-contact .contact-final.home-style-cta,
  #page-menu .menu-final-inner.home-style-cta
) :is(p,.lead){
  color:rgba(255,255,255,.78)!important;
}

#page-why .why-final.home-style-cta > .why-btn-primary,
#page-where .where-final.home-style-cta > .where-btn-primary,
#page-menu .menu-final-inner.home-style-cta > .menu-button,
#page-home .final-cta.home-style-cta > .btn,
#page-contact .contact-final.home-style-cta .contact-final-actions .contact-btn-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:220px!important;
  min-height:58px!important;
  margin:0!important;
  padding:16px 25px!important;
  border:2px solid #260033!important;
  border-radius:999px!important;
  background:#f23d72!important;
  background-image:none!important;
  color:#fff!important;
  box-shadow:5px 6px 0 #260033!important;
}

@media(max-width:820px){
  :is(
    #page-home .final-cta.home-style-cta,
    #page-why .why-final.home-style-cta,
    #page-where .where-final.home-style-cta,
    #page-contact .contact-final.home-style-cta,
    #page-menu .menu-final-inner.home-style-cta
  ){
    grid-template-columns:1fr!important;
    gap:18px!important;
    text-align:center!important;
  }
}

@media(max-width:640px){
  :is(
    #page-home .final-cta.home-style-cta,
    #page-why .why-final.home-style-cta,
    #page-where .where-final.home-style-cta,
    #page-contact .contact-final.home-style-cta,
    #page-menu .menu-final-inner.home-style-cta
  ){
    min-height:0!important;
    padding:36px 22px!important;
    border-radius:27px 27px 10px 27px!important;
    box-shadow:7px 8px 0 #b72888,0 22px 45px rgba(38,0,51,.19)!important;
  }

  :is(
    #page-home .final-cta.home-style-cta,
    #page-why .why-final.home-style-cta,
    #page-where .where-final.home-style-cta,
    #page-contact .contact-final.home-style-cta,
    #page-menu .menu-final-inner.home-style-cta
  ) h2{
    font-size:clamp(2.15rem,10vw,3rem)!important;
  }
}
