/* The approved "After Cheers, We Play" headline is deliberately isolated from
   the shared site and Sesh Signal styles. Preserve the original 420 header. */
.hero-heading.hero-heading-cheers{
  font-size:clamp(85px,10.6vw,167px);
  line-height:.81;
}
.hero-heading-cheers > span:first-child{font-weight:500;letter-spacing:-.046em;color:#f1f5e6}
.hero-heading-cheers .headline-highlight{font-weight:700;letter-spacing:-.056em}
.hero-heading-cheers .headline-cheers{
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  margin:.065em 0 .005em;
  padding:0 0 .1em;
  isolation:isolate;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:.95em;
  font-weight:600;
  line-height:.85;
  letter-spacing:-.092em;
  color:#e4efdb;
  -webkit-text-stroke:.18px rgba(240,250,232,.22);
  text-shadow:
    0 0 14px rgba(218,250,200,.38),
    0 0 42px rgba(195,242,162,.22),
    0 3px 3px rgba(3,13,9,.8);
}
.hero-heading-cheers .cheers-word{
  position:relative;
  z-index:2;
  display:block;
  white-space:nowrap;
  background:linear-gradient(180deg,#eff9e7 7%,#d7eac7 31%,#9cbb88 61%,#f0f6e0 78%,#6c8960);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:url(#cheers-letter-waver);
}
.hero-heading-cheers .cheers-filter-defs{position:absolute;inline-size:0;block-size:0;overflow:hidden}
.hero-heading-cheers .headline-cheers::before{
  content:"CHEERS,";
  position:absolute;
  z-index:1;
  inset:0;
  white-space:nowrap;
  font:inherit;
  letter-spacing:inherit;
  color:rgba(205,239,191,.56);
  filter:blur(12px);
  pointer-events:none;
  animation:cheers-haze 6.5s ease-in-out infinite alternate;
}
.hero-heading-cheers .headline-cheers::after{
  content:"";
  position:absolute;
  z-index:5;
  left:0;
  right:-8%;
  top:-.13em;
  height:.95em;
  pointer-events:none;
  background:
    radial-gradient(ellipse 32% 55% at 28% 70%,rgba(227,249,209,.23),transparent 100%),
    radial-gradient(ellipse 28% 58% at 70% 53%,rgba(186,235,162,.17),transparent 100%);
  filter:blur(11px);
  mix-blend-mode:screen;
  animation:cheers-breathe 8s ease-in-out infinite alternate;
}
.hero-heading-cheers .cheers-roll{
  position:absolute;
  z-index:3;
  display:block;
  width:80%;
  left:9%;
  bottom:-.02em;
  height:.52em;
  pointer-events:none;
  transform:rotate(-1.2deg) scaleY(1.32);
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.68));
}
.hero-heading-cheers .cheers-roll img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.hero-heading-cheers .cheers-ember{
  position:absolute;
  right:9.5%;
  top:54%;
  width:.22em;
  height:.22em;
  transform:translate(50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,244,169,.95) 0%,rgba(255,175,66,.68) 30%,rgba(251,73,29,.38) 56%,rgba(251,73,29,0) 74%);
  filter:blur(1.5px);
  mix-blend-mode:screen;
  pointer-events:none;
  animation:cheers-ember 2.6s ease-in-out infinite alternate;
}
.hero-heading-cheers .cheers-vapor{
  position:absolute;
  z-index:4;
  left:-5%;
  top:-.55em;
  width:116%;
  height:1.9em;
  pointer-events:none;
  overflow:visible;
  opacity:.8;
  filter:blur(4.5px) drop-shadow(0 0 8px rgba(207,251,180,.28));
  animation:cheers-rise 9s ease-in-out infinite alternate;
}
.hero-heading-cheers .cheers-vapor path{
  stroke:rgba(221,245,211,.40);
  stroke-width:2.5;
  fill:none;
  stroke-linecap:round;
}
.hero-heading-cheers .cheers-vapor .thin-smoke{
  stroke:rgba(197,236,174,.24);
  stroke-width:5;
}
.hero-heading-cheers .headline-highlight{
  position:relative;
  z-index:6;
}
@keyframes cheers-haze{
  from{opacity:.36;transform:translate3d(-.015em,.02em,0) scale(1)}
  to{opacity:.65;transform:translate3d(.012em,-.07em,0) scale(1.015)}
}
@keyframes cheers-breathe{
  from{opacity:.55;transform:translateY(.04em)}
  to{opacity:.95;transform:translateY(-.08em)}
}
@keyframes cheers-rise{
  from{opacity:.56;transform:translate3d(0,.10em,0)}
  to{opacity:.9;transform:translate3d(.045em,-.13em,0)}
}
@keyframes cheers-ember{
  from{opacity:.7;transform:translate(50%,-50%) scale(.93)}
  to{opacity:1;transform:translate(50%,-50%) scale(1.09)}
}
@media(max-width:1130px){
  .hero-heading.hero-heading-cheers{font-size:clamp(78px,10.6vw,138px)}
}
@media(max-width:760px){
  .hero-heading.hero-heading-cheers{font-size:clamp(61px,13.5vw,102px)}
  .hero-heading-cheers .headline-cheers{font-size:1.02em;letter-spacing:-.087em;margin:.06em 0 .025em;padding-bottom:.14em}
  .hero-heading-cheers .cheers-roll{bottom:-.14em}
  .hero-heading-cheers .cheers-vapor{top:-.54em}
}
@media(max-width:420px){
  .hero-heading.hero-heading-cheers{font-size:clamp(57px,13.1vw,78px)}
  .hero-heading-cheers .headline-cheers{font-size:1.12em;letter-spacing:-.09em}
  .hero-heading-cheers .cheers-roll{width:91%;left:14%;bottom:-.155em}
}
@media(max-width:360px){
  .hero-heading.hero-heading-cheers{font-size:clamp(50px,13.4vw,59px)}
  .hero-heading-cheers .headline-cheers{font-size:1.11em}
}
@media(prefers-reduced-motion:reduce){
  .hero-heading-cheers .headline-cheers::before,
  .hero-heading-cheers .headline-cheers::after,
  .hero-heading-cheers .cheers-vapor,
  .hero-heading-cheers .cheers-ember{animation:none}
}
html.fx-off .hero-heading-cheers .headline-cheers::before,
html.fx-off .hero-heading-cheers .headline-cheers::after,
html.fx-off .hero-heading-cheers .cheers-vapor,
html.fx-off .hero-heading-cheers .cheers-ember{animation:none}
