.fortunev2-teachers .section-head{
  align-items:flex-end;
}

.fortunev2-teachers .section-head__lead{
  max-width:40rem;
}

.fortunev2-teacher-carousel{
  position:relative;
  margin-top:6px;
}

.fortunev2-teacher-carousel__rail{
  overflow-x:auto;
  overflow-y:visible;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  padding:4px 2px 22px;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.fortunev2-teacher-carousel__rail::-webkit-scrollbar{
  display:none;
}

.fortunev2-teachers .fortunev2-teacher-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:18px;
  align-items:stretch;
  width:max-content;
  min-width:100%;
}

.fortunev2-teachers .fortunev2-teacher-card{
  position:relative;
  flex:0 0 clamp(350px, 34vw, 462px);
  min-height:0;
  border-radius:28px;
  border:1px solid rgba(159,121,48,.16);
  background:
    radial-gradient(circle at 22% 0%, rgba(199,164,106,.14), transparent 40%),
    linear-gradient(180deg, #fff 0%, #fffaf0 100%);
  box-shadow:0 22px 52px rgba(57,42,18,.10);
  scroll-snap-align:start;
  scroll-margin-inline:2px;
  transform:translateZ(0);
}

.fortunev2-teachers .fortunev2-teacher-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 64px rgba(57,42,18,.14);
}

.fortunev2-teachers .fortunev2-teacher-card[hidden],
.fortunev2-teachers .fortunev2-teacher-card[style*="display:none"]{
  display:none !important;
}

.fortunev2-teachers .fortunev2-teacher-head{
  height:184px;
  padding:24px 24px 18px;
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:18px;
  align-items:center;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.92), transparent 36%),
    linear-gradient(135deg, rgba(199,164,106,.24), rgba(255,248,235,.42));
  border-bottom:1px solid rgba(159,121,48,.10);
}

.fortunev2-teachers .fortunev2-teacher-avatar{
  --fortunev2-avatar-orbit:62px;
  width:104px;
  height:104px;
  border-radius:50%;
  flex-shrink:0;
  overflow:visible;
  border:2px solid rgba(199,164,106,.25);
  background:none;
  box-shadow:0 18px 38px rgba(94,67,27,.14);
  font-size:36px;
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:center;
  justify-content:center;
}

.fortunev2-teachers .fortunev2-teacher-avatar::before{
  content:"";
  position:absolute;
  inset:-5px;
  border-radius:50%;
  border:1.5px solid rgba(214,173,106,.46);
  border-top-color:rgba(255,236,195,.88);
  border-right-color:rgba(214,173,106,.22);
  background:
    radial-gradient(44% 30% at 50% 108%, rgba(255,152,58,.30) 0%, rgba(255,152,58,0) 78%),
    radial-gradient(24% 25% at 31% 102%, rgba(255,204,129,.25) 0%, rgba(255,204,129,0) 75%),
    radial-gradient(24% 25% at 69% 102%, rgba(255,204,129,.24) 0%, rgba(255,204,129,0) 76%);
  box-shadow:
    0 0 12px rgba(214,173,106,.22),
    0 9px 16px rgba(255,159,64,.20);
  pointer-events:none;
  z-index:0;
  animation:
    fortuneV2TeacherAuraPulse 6.4s ease-in-out infinite,
    fortuneV2TeacherFlameFlicker 3.2s ease-in-out infinite;
}

.fortunev2-teachers .fortunev2-teacher-avatar::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,252,236,.98) 0%, rgba(255,244,210,.90) 28%, rgba(255,236,188,.20) 62%, rgba(255,236,188,0) 100%),
    linear-gradient(90deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.90) 50%, rgba(255,244,206,0) 100%),
    linear-gradient(0deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.90) 50%, rgba(255,244,206,0) 100%);
  top:50%;
  left:50%;
  box-shadow:
    0 0 11px rgba(255,228,164,.86),
    22px 11px 0 -3px rgba(255,238,198,.74),
    -12px 22px 0 -4px rgba(255,234,189,.62);
  pointer-events:none;
  z-index:3;
  transform-origin:center center;
  animation:fortuneV2TeacherOrbitSpark 8s linear infinite;
}

.fortunev2-teachers .fortunev2-teacher-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:50%;
  position:relative;
  z-index:2;
  box-shadow:0 0 0 3px rgba(255,255,255,.82);
}

.fortunev2-teachers .fortunev2-teacher-avatar:has(.fortunev2-avatar-img[src]:not([src=""])){
  background:none;
}

.fortunev2-teachers .fortunev2-avatar-emoji{
  position:relative;
  z-index:2;
}

.fortunev2-teachers .fortunev2-teacher-meta{
  min-width:0;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-status{
  margin-bottom:10px;
  padding:5px 11px;
  font-size:11px;
  font-weight:800;
}

.fortunev2-teachers .fortunev2-teacher-name{
  font-size:clamp(22px, 2.05vw, 28px);
  line-height:1.16;
  letter-spacing:-.035em;
  color:#111827;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-subtitle{
  margin-top:8px;
  font-size:14px;
  line-height:1.45;
  color:#806331;
  font-weight:800;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.fortunev2-teachers .fortunev2-teacher-body{
  padding:23px 26px 20px;
}

.fortunev2-teachers .fortunev2-teacher-desc{
  margin-bottom:20px;
  color:#4b5563;
  line-height:1.8;
  display:block;
  overflow:visible;
}

.fortunev2-teachers .fortunev2-teacher-rows{
  gap:10px;
  margin-bottom:20px;
}

.fortunev2-teachers .fortunev2-teacher-row{
  align-items:flex-start;
  gap:10px;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
}

.fortunev2-teachers .fortunev2-teacher-row__label{
  color:#6b7280;
  font-weight:700;
  white-space:nowrap;
}

.fortunev2-teachers .fortunev2-teacher-row__val{
  color:#111827;
  line-height:1.45;
}

.fortunev2-teachers .fortunev2-teacher-tags{
  gap:7px;
}

.fortunev2-teachers .fortunev2-teacher-tag{
  background:#fff;
  border-color:rgba(159,121,48,.14);
  color:#6f5424;
  font-weight:800;
  padding:5px 11px;
}

.fortunev2-teachers .fortunev2-teacher-foot{
  margin-top:auto;
  padding:18px 24px 22px;
  border-top:1px solid rgba(159,121,48,.10);
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(10px);
}

.fortunev2-teachers .fortunev2-teacher-price__label{
  color:#7b6a53;
  font-weight:800;
}

.fortunev2-teachers .fortunev2-teacher-price__val{
  font-size:24px;
  letter-spacing:-.02em;
}

.fortunev2-teachers .fortunev2-teacher-foot__actions{
  min-width:150px;
}

.fortunev2-teachers .fortunev2-teacher-cta{
  border-radius:999px;
  padding:11px 18px;
  font-weight:900;
}

.fortunev2-teachers .fortunev2-teacher-cta--ghost{
  background:#fff;
}

.fortunev2-teacher-carousel__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:min(100%, 560px);
  margin:22px auto 42px;
  padding:10px;
  border:1px solid rgba(159,121,48,.16);
  border-radius:999px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,234,.82));
  box-shadow:0 18px 42px rgba(57,42,18,.10);
}

.fortunev2-teacher-carousel__hint{
  flex:1;
  text-align:center;
  color:#7b6a53;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
}

.fortunev2-teacher-carousel__arrow{
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(159,121,48,.16);
  background:#fff;
  color:#4b3720;
  box-shadow:0 12px 28px rgba(57,42,18,.10);
  cursor:pointer;
  font-size:30px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .16s ease, box-shadow .16s ease, opacity .16s ease;
}

.fortunev2-teacher-carousel__arrow:hover{
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(57,42,18,.14);
}

.fortunev2-teacher-carousel__arrow:disabled{
  cursor:default;
  opacity:.36;
  transform:none;
  box-shadow:none;
}

.fortunev2-teachers .fortunev2-teacher-card--soon{
  background:
    radial-gradient(circle at 20% 0%, rgba(199,164,106,.10), transparent 40%),
    rgba(255,255,255,.72);
}

@keyframes fortuneV2TeacherAuraPulse{
  0%, 100%{
    opacity:.74;
    transform:none;
    box-shadow:0 0 10px rgba(214,173,106,.20);
  }
  50%{
    opacity:.94;
    transform:none;
    box-shadow:0 0 15px rgba(214,173,106,.30);
  }
}

@keyframes fortuneV2TeacherOrbitSpark{
  0%{
    transform:translate(-50%,-50%) rotate(0deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.88);
    opacity:.62;
    filter:drop-shadow(0 0 1px rgba(255,228,164,.18));
  }
  25%{
    transform:translate(-50%,-50%) rotate(90deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(1);
    opacity:.96;
    filter:drop-shadow(0 0 6px rgba(255,228,164,.66));
  }
  50%{
    transform:translate(-50%,-50%) rotate(180deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.9);
    opacity:.70;
    filter:drop-shadow(0 0 2px rgba(255,228,164,.28));
  }
  75%{
    transform:translate(-50%,-50%) rotate(270deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(1);
    opacity:.92;
    filter:drop-shadow(0 0 6px rgba(255,228,164,.62));
  }
  100%{
    transform:translate(-50%,-50%) rotate(360deg) translateX(var(--fortunev2-avatar-orbit, 62px)) scale(.88);
    opacity:.62;
    filter:drop-shadow(0 0 1px rgba(255,228,164,.18));
  }
}

@keyframes fortuneV2TeacherFlameFlicker{
  0%, 100%{
    background-size:100% 100%, 100% 100%, 100% 100%;
    background-position:center 0, center 0, center 0;
    box-shadow:
      0 0 12px rgba(214,173,106,.22),
      0 9px 16px rgba(255,159,64,.20);
  }
  45%{
    background-size:103% 102%, 98% 100%, 102% 100%;
    background-position:center 2px, -1px 1px, 1px 1px;
    box-shadow:
      0 0 14px rgba(214,173,106,.26),
      0 11px 20px rgba(255,159,64,.28);
  }
  75%{
    background-size:101% 101%, 101% 102%, 99% 101%;
    background-position:center 1px, 1px 0, -1px 0;
    box-shadow:
      0 0 13px rgba(214,173,106,.24),
      0 10px 18px rgba(255,159,64,.24);
  }
}

@media (max-width: 900px){
  .fortunev2-teacher-carousel__rail{
    margin-inline:calc(-1 * var(--sp-16, 16px));
    padding-inline:var(--sp-16, 16px);
    scroll-padding-inline:var(--sp-16, 16px);
  }

  .fortunev2-teachers .fortunev2-teacher-grid{
    min-width:max-content;
    gap:16px;
  }

  .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:min(86vw, 410px);
    min-height:0;
    border-radius:26px;
  }

  .fortunev2-teachers .fortunev2-teacher-head{
    height:164px;
    padding:21px 20px 16px;
    grid-template-columns:88px minmax(0,1fr);
    gap:15px;
  }

  .fortunev2-teachers .fortunev2-teacher-avatar{
    --fortunev2-avatar-orbit:52px;
    width:88px;
    height:88px;
    border-radius:50%;
  }

  .fortunev2-teachers .fortunev2-teacher-name{
    font-size:23px;
  }

  .fortunev2-teachers .fortunev2-teacher-body{
    padding:18px 20px 15px;
  }

  .fortunev2-teachers .fortunev2-teacher-desc{
    display:block;
    overflow:visible;
  }

  .fortunev2-teachers .fortunev2-teacher-foot{
    padding:16px 20px 20px;
    flex-direction:column;
    align-items:stretch;
  }

  .fortunev2-teachers .fortunev2-teacher-foot__actions{
    min-width:0;
    display:grid;
    grid-template-columns:1fr;
  }

  .fortunev2-teacher-carousel__controls{
    width:calc(100% - 48px);
    margin:20px auto 38px;
  }
}

@media (max-width: 520px){
  .fortunev2-filter-tabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:6px;
    scrollbar-width:none;
  }

  .fortunev2-filter-tabs::-webkit-scrollbar{
    display:none;
  }

  .fortunev2-open-hours{
    flex:0 0 auto;
  }

  .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:84vw;
    min-height:0;
  }

  .fortunev2-teachers .fortunev2-teacher-head{
    height:150px;
    grid-template-columns:76px minmax(0,1fr);
    align-items:center;
    padding:18px 18px 14px;
    gap:13px;
  }

  .fortunev2-teachers .fortunev2-teacher-avatar{
    --fortunev2-avatar-orbit:46px;
    width:76px;
    height:76px;
    border-radius:50%;
  }

  .fortunev2-teachers .fortunev2-teacher-status{
    margin-bottom:7px;
    font-size:10.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-name{
    font-size:20px;
  }

  .fortunev2-teachers .fortunev2-teacher-subtitle{
    margin-top:6px;
    font-size:12.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-body{
    padding:15px 18px 12px;
  }

  .fortunev2-teachers .fortunev2-teacher-desc{
    margin-bottom:13px;
    font-size:13px;
    line-height:1.65;
    display:block;
    overflow:visible;
  }

  .fortunev2-teachers .fortunev2-teacher-rows{
    gap:7px;
    margin-bottom:13px;
  }

  .fortunev2-teachers .fortunev2-teacher-row{
    display:grid;
    grid-template-columns:20px auto 1fr;
    padding:0;
    font-size:12px;
    background:transparent;
    border:0;
  }

  .fortunev2-teachers .fortunev2-teacher-tag{
    padding:4px 9px;
    font-size:11.5px;
  }

  .fortunev2-teachers .fortunev2-teacher-foot{
    padding:14px 18px 18px;
  }

  .fortunev2-teachers .fortunev2-teacher-price__val{
    font-size:22px;
  }

  .fortunev2-teachers .fortunev2-teacher-cta{
    padding:10px 16px;
  }

  .fortunev2-teacher-carousel__hint{
    font-size:12px;
  }

  .fortunev2-teacher-carousel__arrow{
    width:40px;
    height:40px;
    font-size:27px;
  }
}

.fortunev2-type-filter{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 18px;
  overflow-x:auto;
  padding:2px 2px 8px;
  scrollbar-width:none;
}

.fortunev2-type-filter::-webkit-scrollbar{
  display:none;
}

.fortunev2-type-filter[hidden]{
  display:none !important;
}

.fortunev2-type-filter__pill{
  flex:0 0 auto;
  border:1px solid rgba(159,121,48,.18);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#6f5424;
  box-shadow:0 10px 28px rgba(57,42,18,.08);
  cursor:pointer;
  font-weight:900;
  letter-spacing:.03em;
  padding:9px 16px;
  transition:background .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease, transform .16s ease;
}

.fortunev2-type-filter__pill:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(57,42,18,.12);
}

.fortunev2-type-filter__pill.is-active{
  border-color:rgba(159,121,48,.42);
  background:linear-gradient(135deg, #c69a3d, #a87924);
  color:#fff;
  box-shadow:0 16px 36px rgba(159,121,48,.22);
}

@media (max-width: 900px){
  .fortunev2-type-filter{
    margin-inline:calc(-1 * var(--sp-16, 16px));
    padding-inline:var(--sp-16, 16px);
  }
}

@media (max-width: 520px){
  .fortunev2-type-filter{
    margin-top:10px;
    margin-bottom:14px;
  }

  .fortunev2-type-filter__pill{
    padding:8px 14px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion: reduce){
  .fortunev2-teachers .fortunev2-teacher-avatar::before,
  .fortunev2-teachers .fortunev2-teacher-avatar::after{
    animation:none !important;
  }
}
.fortunev2-hero-teachers{
  box-sizing:border-box;
  width:min(100%, 560px);
  margin:16px 0 0;
  padding:12px 14px 14px;
  border:1px solid rgba(205,170,113,.34);
  border-radius:22px;
  overflow:visible;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.96), rgba(255,255,255,0) 38%),
    linear-gradient(135deg, rgba(255,252,245,.92), rgba(255,245,224,.72));
  box-shadow:0 16px 34px rgba(126,97,59,.12), inset 0 1px 0 rgba(255,255,255,.86);
}
.fortunev2-hero-teachers *,
.fortunev2-hero-teachers *::before,
.fortunev2-hero-teachers *::after{
  box-sizing:border-box;
}
.fortunev2-hero-teachers[hidden]{
  display:none !important;
}
.fortunev2-hero-teachers__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.fortunev2-hero-teachers__label{
  color:#7e613b;
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
}
.fortunev2-hero-teachers__view-all{
  appearance:none;
  border:0;
  background:transparent;
  color:#9b6f2f;
  cursor:pointer;
  font:inherit;
  font-size:12px;
  font-weight:800;
  padding:4px 0;
  text-decoration:none;
}
.fortunev2-hero-teachers__view-all:hover,
.fortunev2-hero-teachers__view-all:focus-visible{
  color:#6f4f24;
  text-decoration:none;
}
.fortunev2-hero-teachers__list{
  display:flex;
  gap:10px;
  width:100%;
  max-width:100%;
  contain:layout paint;
  overflow-x:auto;
  overflow-y:visible;
  padding:4px 2px 8px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.fortunev2-hero-teachers__list::-webkit-scrollbar{
  display:none;
}
.fortunev2-hero-teacher{
  appearance:none;
  border:0;
  background:transparent;
  color:#111827;
  cursor:pointer;
  flex:0 0 90px;
  min-height:122px;
  min-width:0;
  padding:27px 0 0;
  position:relative;
  scroll-snap-align:start;
  text-align:center;
}
.fortunev2-hero-teacher--recommended{
  flex-basis:96px;
}
.fortunev2-hero-teacher__badge{
  position:absolute;
  left:50%;
  top:0;
  z-index:4;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  height:23px;
  min-width:max-content;
  max-width:calc(100% - 8px);
  padding:0 10px;
  border:1px solid rgba(150,105,45,.22);
  border-radius:999px;
  background:linear-gradient(180deg, #f5e8c8 0%, #d8b36a 100%);
  color:#6b4a1f;
  font-size:11px;
  font-weight:700;
  line-height:1;
  letter-spacing:0;
  text-align:center;
  text-shadow:none;
  white-space:nowrap;
  transform:translateX(-50%);
  box-shadow:0 3px 8px rgba(126,97,59,.1), inset 0 1px 0 rgba(255,255,255,.5);
  pointer-events:none;
}
.fortunev2-hero-teacher__badge::before{
  content:none;
}
.fortunev2-hero-teacher__photo{
  display:block;
  position:relative;
  width:58px;
  height:58px;
  margin:0 auto 7px;
  border-radius:50%;
  background:linear-gradient(135deg, rgba(255,252,246,.96), rgba(240,222,185,.72));
  box-shadow:0 8px 18px rgba(126,97,59,.14);
}
.fortunev2-hero-teacher__photo::before{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:inherit;
  background:conic-gradient(from 150deg, rgba(189,139,43,.18), rgba(213,175,107,.95), rgba(255,250,238,.34), rgba(152,104,27,.76), rgba(189,139,43,.18));
  animation:fortuneV2HeroTeacherRing 5.6s linear infinite;
  z-index:0;
}
.fortunev2-hero-teacher__photo::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:inherit;
  border:1px solid rgba(205,170,113,.22);
  opacity:.72;
}
.fortunev2-hero-teacher__photo img,
.fortunev2-hero-teacher__fallback{
  position:absolute;
  inset:3px;
  z-index:1;
  width:calc(100% - 6px);
  height:calc(100% - 6px);
  border-radius:inherit;
  object-fit:cover;
  background:#fffaf1;
}
.fortunev2-hero-teacher__fallback{
  display:grid;
  place-items:center;
  color:#7e613b;
  font-size:23px;
  font-weight:900;
}
.fortunev2-hero-teacher__name{
  display:block;
  overflow:hidden;
  color:#1f2937;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fortunev2-hero-teacher__location{
  display:block;
  overflow:hidden;
  color:rgba(126,97,59,.68);
  font-size:10px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.25;
  margin:0 auto 2px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fortunev2-hero-teacher:hover .fortunev2-hero-teacher__photo,
.fortunev2-hero-teacher:focus-visible .fortunev2-hero-teacher__photo{
  transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(126,97,59,.2);
}
.fortunev2-hero-teacher--recommended:hover .fortunev2-hero-teacher__badge,
.fortunev2-hero-teacher--recommended:focus-visible .fortunev2-hero-teacher__badge{
  transform:translateX(-50%) translateY(-1px);
}
.fortunev2-hero-teacher:focus-visible{
  outline:3px solid rgba(197,155,68,.32);
  outline-offset:5px;
  border-radius:16px;
}
.fortunev2-teacher-card.is-hero-teacher-target{
  outline:2px solid rgba(197,155,68,.72);
  outline-offset:4px;
  box-shadow:0 26px 54px rgba(126,97,59,.22), 0 0 0 7px rgba(197,155,68,.16);
  animation:fortuneV2HeroTeacherTargetPulse 1.4s ease both;
}
.fortunev2-teacher-price__countdown{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:3px 8px;
  border:1px solid rgba(220,38,38,.16);
  border-radius:999px;
  background:#fff5f5;
  color:#991b1b;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}
.fortunev2-teacher-price__countdown[hidden]{
  display:none;
}
.fortunev2-teacher-price__countdown-label{
  color:#7f1d1d;
}
.fortunev2-teacher-price__countdown-value{
  color:#dc2626;
  font-variant-numeric:tabular-nums;
}

@keyframes fortuneV2HeroTeacherRing{
  to{ transform:rotate(360deg); }
}
@keyframes fortuneV2HeroTeacherTargetPulse{
  0%{ box-shadow:0 18px 36px rgba(126,97,59,.14), 0 0 0 0 rgba(197,155,68,.28); }
  45%{ box-shadow:0 30px 60px rgba(126,97,59,.24), 0 0 0 10px rgba(197,155,68,.18); }
  100%{ box-shadow:0 26px 54px rgba(126,97,59,.22), 0 0 0 7px rgba(197,155,68,.16); }
}

@media (max-width: 700px){
  html,
  body{
    overflow-x:hidden;
  }
  .fortunev2-hero-teachers{
    width:min(100%, calc(100vw - 32px));
    max-width:calc(100vw - 32px);
    margin-top:14px;
    padding:11px 12px 13px;
    border-radius:20px;
  }
  .fortunev2-hero-teachers__list{
    gap:8px;
    margin:0 -2px;
  }
  .fortunev2-hero-teacher{
    flex-basis:72px;
    min-height:110px;
    padding-top:26px;
  }
  .fortunev2-hero-teacher--recommended{
    flex-basis:82px;
  }
  .fortunev2-hero-teacher__badge{
    height:22px;
    padding:0 9px;
    font-size:10px;
  }
  .fortunev2-hero-teacher__photo{
    width:50px;
    height:50px;
    margin-bottom:6px;
  }
  .fortunev2-hero-teacher__name{
    font-size:11px;
  }
  .fortunev2-hero-teacher__location{
    font-size:10px;
  }
  .fortunev2-teacher-price__countdown{
    white-space:normal;
  }
}

@media (max-width: 380px){
  .fortunev2-hero-teachers__list{
    gap:6px;
  }
  .fortunev2-hero-teacher{
    flex-basis:68px;
    min-height:106px;
  }
  .fortunev2-hero-teacher--recommended{
    flex-basis:78px;
  }
  .fortunev2-hero-teacher__badge{
    height:22px;
    padding:0 8px;
    font-size:9.75px;
  }
  .fortunev2-hero-teacher__photo{
    width:46px;
    height:46px;
  }
}

@media (prefers-reduced-motion: reduce){
  .fortunev2-hero-teacher__photo::before,
  .fortunev2-teacher-card.is-hero-teacher-target{
    animation:none;
  }
}
[data-managed-hero-badges]:not([data-hero-badge-ready="1"]) .fortunev2-hero-teacher__badge{
  visibility:hidden;
}

[data-managed-hero-badges] .fortunev2-hero-teacher--has-badge{
  flex-basis:96px;
}

[data-managed-hero-badges] .fortunev2-hero-teacher__badge{
  overflow:hidden;
  text-overflow:ellipsis;
}

[data-managed-hero-badges] .fortunev2-hero-teacher__badge--coral{
  border-color:rgba(174,83,68,.22);
  background:linear-gradient(180deg, #ffe9e3 0%, #eba28f 100%);
  color:#78382e;
  box-shadow:0 3px 8px rgba(133,68,55,.12), inset 0 1px 0 rgba(255,255,255,.58);
}

[data-managed-hero-badges] .fortunev2-hero-teacher__badge--emerald{
  border-color:rgba(43,110,78,.22);
  background:linear-gradient(180deg, #e5f5e9 0%, #8dc7a5 100%);
  color:#24583d;
  box-shadow:0 3px 8px rgba(43,110,78,.12), inset 0 1px 0 rgba(255,255,255,.58);
}

[data-managed-hero-badges] .fortunev2-hero-teacher__badge--violet{
  border-color:rgba(105,76,145,.22);
  background:linear-gradient(180deg, #f0e8fb 0%, #b99add 100%);
  color:#51366f;
  box-shadow:0 3px 8px rgba(89,61,126,.12), inset 0 1px 0 rgba(255,255,255,.58);
}

[data-managed-hero-badges] .fortunev2-hero-teacher--has-badge:hover .fortunev2-hero-teacher__badge,
[data-managed-hero-badges] .fortunev2-hero-teacher--has-badge:focus-visible .fortunev2-hero-teacher__badge{
  transform:translateX(-50%) translateY(-1px);
}
/* ── fortune-v2 UI polish ───────────────────────────────────────
   Scope: only loaded by /fortune-v2/. Brand-consistent modals,
   next-available badges, teacher match quiz, sticky mobile CTA,
   scroll reveals. */

/* ═══ 1. Phone flow dialog → warm brand ═══ */
.phone-flow-dialog{
  background:linear-gradient(165deg, #fffdf8 0%, #fff5e4 100%);
  border:1px solid rgba(199,164,106,.42);
  box-shadow:0 30px 70px rgba(92,69,38,.32);
}
.phone-flow-dialog::backdrop{
  background:rgba(46,33,16,.5);
  backdrop-filter:blur(4px);
}
.phone-flow-head h3{ color:#3d2c14; }
.phone-flow-close{
  background:rgba(199,164,106,.18);
  color:#6b4d31;
  font-weight:700;
}
.phone-flow-close:hover{ background:rgba(199,164,106,.32); }
.phone-flow-body{ color:#5a4a33; }
.phone-flow-label{ color:#6b4d31; }
.phone-flow-body ul li::marker{ color:#b08136; }

/* Zoom install link → button (text swapped by fortune-v2-ui-polish.js) */
.phone-flow-body a[data-edit-key="fortune-flow-dialog-zoom-link"]{
  display:inline-flex;
  align-items:center;
  gap:8px;
  justify-self:start;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:linear-gradient(135deg, #4a3623 0%, #715230 100%);
  color:#fff4da;
  text-decoration:none;
  border:1px solid rgba(69,49,29,.62);
  border-radius:999px;
  padding:10px 18px;
  font-weight:700;
  font-size:14px;
  box-shadow:0 10px 22px rgba(89,62,36,.28);
}
.phone-flow-body a[data-edit-key="fortune-flow-dialog-zoom-link"]:hover{
  background:linear-gradient(135deg, #5b422b 0%, #84603a 100%);
  color:#fff4da;
}

/* ═══ 2. Slot booking dialog → warm brand ═══ */
.fortune-booking-dialog::backdrop{
  background:rgba(46,33,16,.5);
  backdrop-filter:blur(4px);
}
.fortune-booking-dialog__card{
  background:linear-gradient(165deg, #fffdf8 0%, #fff7e9 100%);
  border:1px solid rgba(199,164,106,.4);
  box-shadow:0 30px 70px rgba(92,69,38,.32);
}
.fortune-booking-dialog__head{
  border-bottom:1px solid rgba(199,164,106,.26);
  background:linear-gradient(135deg, rgba(255,250,240,.92), rgba(255,242,214,.55));
}
.fortune-booking-dialog__head h3{ color:#3d2c14; }
#v2SlotDialog .fortune-book-now__panel{
  background:transparent;
  border:none;
  box-shadow:none;
}
#v2SlotDialog .fortune-book-now__tz{ color:#8a7559; }
#v2SlotDialog .fortune-book-now__open-hours{
  color:#6f614d;
  font-size:12px;
  line-height:1.42;
  font-weight:760;
}
#v2SlotDialog .fortune-book-now__open-hours.is-alert{ color:#c56a12; }
#v2SlotDialog .fortune-book-now__day{
  background:rgba(255,255,255,.9);
  border-color:rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .18);
  color:#3d2c14;
  box-shadow:0 8px 18px rgba(82,57,22,.045), inset 0 1px 0 rgba(255,255,255,.7);
}
#v2SlotDialog .fortune-book-now__day.is-active{
  background:
    linear-gradient(135deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg, #8f5a16 0%, #c78a2c 44%, #f0c76a 100%);
  border-color:rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .16);
  color:#fffdf7;
  box-shadow:0 14px 24px rgba(120,74,18,.24), inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(90,53,10,.16);
}
#v2SlotDialog .fortune-book-now__slot{
  background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,252,247,.96) 100%);
  border-color:rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .24);
  box-shadow:0 10px 20px rgba(64,42,15,.055), inset 0 1px 0 rgba(255,255,255,.74);
}
#v2SlotDialog .fortune-book-now__slot:hover{
  border-color:rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .42);
  box-shadow:0 14px 26px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .11), inset 0 1px 0 rgba(255,255,255,.78);
}
#v2SlotDialog .fortune-book-now__slot.is-selected{
  border-color:rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .46);
  background:linear-gradient(180deg, #fffdf8 0%, var(--slot-brand-gold-soft, #fff4df) 100%);
  box-shadow:0 12px 24px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .09), inset 3px 0 0 rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .82), inset 0 1px 0 rgba(255,255,255,.78);
}
#v2SlotDialog .fortune-book-now__slot.is-disabled,
#v2SlotDialog .fortune-book-now__slot.is-booked,
#v2SlotDialog .fortune-book-now__slot.is-held-other{
  background:rgba(246,246,245,.94);
  border-color:rgba(119,111,101,.16);
  color:#9a9690;
}
#v2SlotDialog .phone-flow-close,
#v2SlotDialog #v2SlotClose{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .16);
  color:var(--slot-brand-gold-dark, #7d5b23);
  box-shadow:0 8px 18px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .08);
}
#v2SlotDialog #v2SlotRefresh{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .24);
  color:var(--slot-brand-gold-dark, #7d5b23);
  font-weight:700;
  box-shadow:0 8px 16px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .07);
}
#v2SlotDialog #v2SlotRefresh:hover{
  background:rgba(255,255,255,.94);
  border-color:rgba(var(--slot-brand-gold-rgb, 184, 137, 54), .38);
  box-shadow:0 12px 22px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .1);
}
#v2SlotDialog #v2SlotCta{
  background:
    linear-gradient(135deg, rgba(255,255,255,.24) 0%, rgba(255,255,255,0) 38%),
    linear-gradient(135deg, var(--slot-brand-gold-dark, #7d5b23) 0%, var(--slot-brand-gold, #b88936) 100%);
  color:#fffdf7;
  border:1px solid rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .16);
  box-shadow:0 16px 30px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .24), inset 0 1px 0 rgba(255,255,255,.3), inset 0 -2px 0 rgba(90,53,10,.16);
  font-weight:900;
}
#v2SlotDialog #v2SlotCta:hover{
  filter:saturate(1.03) brightness(1.02);
  border-color:rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .22);
  color:#fffdf7;
  box-shadow:0 20px 34px rgba(var(--slot-brand-gold-dark-rgb, 125, 91, 35), .28), inset 0 1px 0 rgba(255,255,255,.32), inset 0 -2px 0 rgba(90,53,10,.18);
}

/* ═══ 3. Next-available slot badge on teacher cards ═══ */
.fv2-next-slot{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  padding:4px 12px;
  border-radius:14px;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.4;
  color:#136036;
  background:linear-gradient(135deg, #ecfdf3 0%, #d8f6e4 100%);
  border:1px solid rgba(22,128,70,.3);
  box-shadow:0 6px 14px rgba(22,128,70,.1);
  max-width:100%;
  box-sizing:border-box;
  white-space:normal;
  overflow-wrap:anywhere;
}
.fv2-next-slot__main{
  min-width:0;
}
.fv2-next-slot::before{ content:"⚡"; font-size:11px; flex:0 0 auto; }
.fv2-next-slot__tz{
  font-size:11px;
  font-weight:700;
  color:#2f7d52;
  white-space:nowrap;
}
/* the badge lives inside a flex row next to the avatar — let it shrink */
.fortunev2-teacher-head .fortunev2-teacher-meta{ min-width:0; }

.fortunev2-teachers .fortunev2-teacher-head{
  min-height:184px;
  height:auto;
}

@media (max-width: 900px){
  .fortunev2-teachers .fortunev2-teacher-head{
    min-height:164px;
    height:auto;
  }
}

@media (max-width: 520px){
  .fortunev2-teachers .fortunev2-teacher-head{
    min-height:150px;
    height:auto;
  }

  .fv2-next-slot{
    display:grid;
    grid-template-columns:auto minmax(0, 1fr);
    column-gap:8px;
    row-gap:2px;
    align-items:center;
    width:100%;
    padding:6px 12px;
    overflow-wrap:normal;
  }
  .fv2-next-slot::before{
    grid-column:1;
    grid-row:1 / span 2;
    align-self:center;
    margin-top:1px;
  }
  .fv2-next-slot__main{
    grid-column:2;
    grid-row:1;
    white-space:normal;
    word-break:keep-all;
    overflow-wrap:break-word;
  }
  .fv2-next-slot__tz{
    grid-column:2;
    grid-row:2;
    white-space:normal;
    line-height:1.3;
  }
}

/* ═══ 4. Teacher match quiz ═══ */
.fv2-quiz-trigger{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:12px 0 4px;
  padding:12px 14px;
  border:1px solid rgba(159,121,48,.22);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,248,234,.82));
  box-shadow:0 8px 20px rgba(57,42,18,.07);
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:border-color .18s ease, box-shadow .18s ease;
  box-sizing:border-box;
}
.fv2-quiz-trigger:hover{
  border-color:rgba(176,129,54,.5);
  box-shadow:0 12px 26px rgba(57,42,18,.12);
}
.fv2-quiz-trigger__text{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.fv2-quiz-trigger__title{
  display:block;
  font-size:14.5px;
  font-weight:800;
  color:#3d2c14;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fv2-quiz-trigger__sub{
  display:block;
  font-size:12.5px;
  color:#8a7559;
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fv2-quiz-trigger__go{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:8px 14px;
  border-radius:999px;
  background:#fffdfa;
  border:1.5px solid rgba(194,151,84,.55);
  color:#8c642d;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.fv2-quiz-trigger:hover .fv2-quiz-trigger__go{
  background:#fff5e1;
  border-color:rgba(176,129,54,.8);
}

.fv2-quiz-dialog{
  border:1px solid rgba(199,164,106,.42);
  border-radius:22px;
  padding:0;
  width:min(480px, 94vw);
  background:linear-gradient(165deg, #fffdf8 0%, #fff5e4 100%);
  box-shadow:0 30px 70px rgba(92,69,38,.32);
}
.fv2-quiz-dialog::backdrop{
  background:rgba(46,33,16,.5);
  backdrop-filter:blur(4px);
}
.fv2-quiz{
  padding:20px;
  display:grid;
  gap:14px;
}
.fv2-quiz__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.fv2-quiz__title{
  margin:0;
  font-size:18px;
  font-weight:900;
  color:#3d2c14;
}
.fv2-quiz__progress{
  display:flex;
  gap:6px;
}
.fv2-quiz__dot{
  width:26px;
  height:5px;
  border-radius:999px;
  background:rgba(199,164,106,.25);
  transition:background .25s ease;
}
.fv2-quiz__dot.is-on{
  background:linear-gradient(135deg, #ffb347, #d97706);
}
.fv2-quiz__q{
  margin:0;
  font-size:15.5px;
  font-weight:800;
  color:#5a4a33;
}
.fv2-quiz__options{
  display:grid;
  gap:9px;
}
.fv2-quiz__opt{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 16px;
  border:1.5px solid rgba(159,121,48,.3);
  border-radius:15px;
  background:#fffdfa;
  color:#3d2c14;
  font-size:14.5px;
  font-weight:700;
  cursor:pointer;
  text-align:left;
  font-family:inherit;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
}
.fv2-quiz__opt:hover{
  border-color:rgba(166,96,20,.62);
  background:#fff5e1;
  transform:translateY(-1px);
}
.fv2-quiz__opt-emoji{ font-size:18px; flex:0 0 auto; }
.fv2-quiz__close{
  border:none;
  background:rgba(199,164,106,.18);
  color:#6b4d31;
  border-radius:999px;
  width:28px;
  height:28px;
  cursor:pointer;
  font-weight:700;
}
.fv2-quiz__close:hover{ background:rgba(199,164,106,.32); }
.fv2-quiz__back{
  justify-self:start;
  border:none;
  background:none;
  color:#8a7559;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  padding:4px 2px;
  font-family:inherit;
}
.fv2-quiz__back:hover{ color:#5a4a33; text-decoration:underline; }

/* result card */
.fv2-quiz__result{
  display:grid;
  gap:12px;
  justify-items:center;
  text-align:center;
  padding:6px 0 2px;
}
.fv2-quiz__result-label{
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.08em;
  color:#8c642d;
  text-transform:uppercase;
}
.fv2-quiz__result-avatar{
  width:84px;
  height:84px;
  border-radius:50%;
  object-fit:cover;
  border:2px solid rgba(199,164,106,.55);
  box-shadow:0 12px 26px rgba(92,69,38,.22);
  background:#fffdfa;
}
.fv2-quiz__result-avatar--emoji{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
}
.fv2-quiz__result-name{
  margin:0;
  font-size:20px;
  font-weight:900;
  color:#3d2c14;
}
.fv2-quiz__result-why{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:center;
}
.fv2-quiz__result-chip{
  padding:4px 12px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:800;
  color:#6e5222;
  background:rgba(246,238,223,.95);
  border:1px solid rgba(199,164,106,.45);
}
.fv2-quiz__result-note{
  margin:0;
  font-size:13px;
  line-height:1.65;
  color:#8a7559;
}
.fv2-quiz__result-actions{
  display:grid;
  gap:9px;
  width:100%;
  margin-top:4px;
}
.fv2-quiz__result-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 18px;
  border-radius:999px;
  border:1px solid rgba(166,96,20,.68);
  background:linear-gradient(135deg, #ffb347 0%, #f28c28 46%, #d97706 100%);
  color:#fff;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 14px 28px rgba(231,137,30,.38);
}
.fv2-quiz__result-cta:hover{ filter:brightness(1.05); }
.fv2-quiz__result-ghost{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 18px;
  border-radius:999px;
  border:1.5px solid rgba(194,151,84,.55);
  background:#fffdfa;
  color:#6b4d31;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  font-family:inherit;
}
.fv2-quiz__result-ghost:hover{ background:#fff5e1; }

/* ═══ 5. Sticky mobile CTA ═══ */
.fv2-sticky-cta{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:60;
  display:none;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px 10px 16px;
  border-radius:999px;
  border:1px solid rgba(69,49,29,.55);
  background:linear-gradient(135deg, rgba(58,42,24,.97) 0%, rgba(86,62,35,.97) 100%);
  box-shadow:0 18px 40px rgba(40,28,12,.45);
  opacity:0;
  transform:translateY(14px);
  transition:opacity .3s ease, transform .3s ease;
  pointer-events:none;
}
body.uc-mobile-nav-enabled .fv2-sticky-cta{
  bottom:calc(74px + env(safe-area-inset-bottom));
}
.fv2-sticky-cta.is-on{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.fv2-sticky-cta__text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#ffeec9;
  font-size:13.5px;
  font-weight:800;
}
.fv2-sticky-cta__btn{
  flex:0 0 auto;
  border:1px solid rgba(166,96,20,.68);
  border-radius:999px;
  padding:9px 16px;
  background:linear-gradient(135deg, #ffb347 0%, #f28c28 46%, #d97706 100%);
  color:#fff;
  font-size:13.5px;
  font-weight:900;
  cursor:pointer;
  font-family:inherit;
  box-shadow:0 10px 20px rgba(231,137,30,.4);
  white-space:nowrap;
}
@media (min-width:769px){
  .fv2-sticky-cta{ display:none !important; }
}
@media (max-width:768px){
  .fv2-sticky-cta{ display:flex; }
}

/* ═══ 6. Scroll reveals + CTA shimmer (motion-safe only) ═══ */
@media (prefers-reduced-motion: no-preference){
  .fv2-reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1);
    will-change:opacity, transform;
  }
  .fv2-reveal.is-in{
    opacity:1;
    transform:none;
  }

  .fortunev2-hero-cta-row > .hero-cta__primary{
    position:relative;
    overflow:hidden;
  }
  .fortunev2-hero-cta-row > .hero-cta__primary::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.34) 50%, transparent 68%);
    transform:translateX(-130%);
    animation:fv2Shimmer 4.2s ease-in-out infinite;
    pointer-events:none;
  }
  @keyframes fv2Shimmer{
    0%{ transform:translateX(-130%); }
    52%{ transform:translateX(130%); }
    100%{ transform:translateX(130%); }
  }
}
:root{
  --uc-motion-ease: cubic-bezier(.22,.61,.36,1);
  --uc-motion-ease-emphatic: cubic-bezier(.05,.7,.1,1);
  --uc-motion-ease-settle: cubic-bezier(.16,1,.3,1);
  --uc-motion-fast: 140ms;
  --uc-motion-standard: 320ms;
  --uc-motion-slow: 620ms;
}

@media (prefers-reduced-motion: no-preference){
  body.home-v2-page .premium-kicker,
  body.home-v2-page .premium-hero-title__line,
  body.home-v2-page .lead,
  body.home-v2-page .lead-detail,
  body.home-v2-page .hero-cta__actions,
  body.home-v2-page .v2-hero-stories,
  body.home-v2-page .home-hero-teachers,
  body.home-v2-page .hero-v2-feature-card,
  body.home-v2-page .hero-v2-visual,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-kicker,
  body[data-page-key="fortune-hub-v2"] .fortune-hero h1,
  body[data-page-key="fortune-hub-v2"] .fortune-hero .lead,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-cta-row,
  body[data-page-key="fortune-hub-v2"] .fortunev2-booking-flow,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-teachers,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-side,
  body.quiz-page .intro-card,
  body.quiz-page .flow-head,
  body.quiz-page .step-card,
  body.quiz-page .flow-actions,
  body.quiz-page .result-card,
  body.shop-preview-page .shop-seo-intro,
  body.shop-preview-page .effect-tabs-section,
  body.shop-preview-page #filterBar,
  body.shop-preview-page #hotSection,
  body.shop-preview-page #list,
  body.service-view .svc-promo-card,
  body.service-view #svcList{
    animation:ucMotionFadeLift var(--uc-motion-slow) var(--uc-motion-ease-emphatic) both;
  }

  body.home-v2-page .premium-hero-title__line--gold{ animation-delay:70ms; }
  body.home-v2-page .lead{ animation-delay:120ms; }
  body.home-v2-page .lead-detail{ animation-delay:170ms; }
  body.home-v2-page .hero-cta__actions{ animation-delay:230ms; }
  body.home-v2-page .v2-hero-stories{ animation-delay:300ms; }
  body.home-v2-page .home-hero-teachers{ animation-delay:340ms; }
  body.home-v2-page .hero-v2-visual{ animation-delay:160ms; }
  body.home-v2-page .hero-v2-feature-card:nth-child(1){ animation-delay:300ms; }
  body.home-v2-page .hero-v2-feature-card:nth-child(2){ animation-delay:360ms; }
  body.home-v2-page .hero-v2-feature-card:nth-child(3){ animation-delay:420ms; }

  body[data-page-key="fortune-hub-v2"] .fortune-hero h1{ animation-delay:70ms; }
  body[data-page-key="fortune-hub-v2"] .fortune-hero .lead{ animation-delay:130ms; }
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-cta-row{ animation-delay:190ms; }
  body[data-page-key="fortune-hub-v2"] .fortunev2-booking-flow{ animation-delay:250ms; }
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-teachers{ animation-delay:310ms; }
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-side{ animation-delay:120ms; }

  body.quiz-page .flow-head{ animation-delay:40ms; }
  body.quiz-page .step-card{ animation-delay:90ms; }
  body.quiz-page .flow-actions{ animation-delay:150ms; }
  body.shop-preview-page .effect-tabs-section{ animation-delay:90ms; }
  body.shop-preview-page #filterBar{ animation-delay:140ms; }
  body.shop-preview-page #hotSection{ animation-delay:180ms; }
  body.shop-preview-page #list{ animation-delay:210ms; }
  body.service-view .svc-promo-card{ animation-delay:80ms; }
  body.service-view #svcList{ animation-delay:150ms; }

  body.home-v2-page .v2-hero-stories__card,
  body[data-page-key="fortune-hub-v2"] .v2-hero-stories__card{
    transition:
      opacity var(--uc-motion-standard) var(--uc-motion-ease),
      transform var(--uc-motion-standard) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease);
  }

  body.home-v2-page .v2-hero-stories__card.is-fading,
  body[data-page-key="fortune-hub-v2"] .v2-hero-stories__card.is-fading{
    transform:translateY(6px) scale(.992);
  }

  body.home-v2-page .hero-cta__primary,
  body.home-v2-page .hero-cta__secondary,
  body[data-page-key="fortune-hub-v2"] .hero-cta__primary,
  body[data-page-key="fortune-hub-v2"] .hero-cta__secondary,
  body[data-page-key="fortune-hub-v2"] .fortunev2-teacher-cta,
  body.quiz-page .btn,
  body.shop-preview-page .btn,
  body.shop-preview-page #cartFab,
  body.shop-preview-page .effect-tab,
  body.shop-preview-page #sideDeities .side-cat-btn,
  body.service-view .btn,
  body.service-view #cartFab,
  body.service-view .svc-promo-cta,
  body.service-view .svc-slot-nav{
    transition:
      transform var(--uc-motion-fast) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease),
      border-color var(--uc-motion-fast) ease,
      background-color var(--uc-motion-fast) ease,
      color var(--uc-motion-fast) ease;
  }

  body.home-v2-page .hero-cta__primary,
  body[data-page-key="fortune-hub-v2"] .hero-cta__primary,
  body.quiz-page .btn-primary,
  body.shop-preview-page .btn.primary,
  body.service-view .btn.primary{
    position:relative;
    overflow:hidden;
  }

  body.home-v2-page .hero-cta__primary::after,
  body[data-page-key="fortune-hub-v2"] .hero-cta__primary::after,
  body.quiz-page .btn-primary::after,
  body.shop-preview-page .btn.primary::after,
  body.service-view .btn.primary::after{
    content:"";
    position:absolute;
    inset:-40% -60%;
    background:linear-gradient(110deg, transparent 35%, rgba(255,255,255,.26) 50%, transparent 65%);
    transform:translateX(-65%);
    opacity:0;
    pointer-events:none;
  }

  body.home-v2-page .hero-cta__primary:hover::after,
  body[data-page-key="fortune-hub-v2"] .hero-cta__primary:hover::after,
  body.quiz-page .btn-primary:hover::after,
  body.shop-preview-page .btn.primary:hover::after,
  body.service-view .btn.primary:hover::after{
    animation:ucMotionSheen 780ms var(--uc-motion-ease) both;
  }

  body.home-v2-page .hero-cta__primary:active,
  body.home-v2-page .hero-cta__secondary:active,
  body[data-page-key="fortune-hub-v2"] .hero-cta__primary:active,
  body[data-page-key="fortune-hub-v2"] .hero-cta__secondary:active,
  body[data-page-key="fortune-hub-v2"] .fortunev2-teacher-cta:active,
  body.quiz-page .btn:active,
  body.quiz-page .option-card:active,
  body.shop-preview-page .btn:active,
  body.shop-preview-page #cartFab:active,
  body.shop-preview-page .grid .card:active,
  body.service-view .btn:active,
  body.service-view #cartFab:active,
  body.service-view .service-grid .card:active{
    transform:translateY(1px) scale(.99);
  }

  body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-teachers .fortunev2-hero-teacher,
  body[data-page-key="fortune-hub-v2"] .fortunev2-teachers .fortunev2-teacher-card,
  body[data-page-key="fortune-hub-v2"] .fortunev2-guarantee-card,
  body.shop-preview-page .grid .card,
  body.shop-preview-page .shop-preview-service-card,
  body.shop-preview-page #sideDeities .tool-link,
  body.service-view .service-grid .card,
  body.service-view .svc-promo-card,
  body.service-view .svc-pack-pill{
    transition:
      transform var(--uc-motion-standard) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease),
      border-color var(--uc-motion-fast) ease,
      filter var(--uc-motion-fast) ease;
  }

  body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:hover,
  body[data-page-key="fortune-hub-v2"] .fortunev2-hero-teachers .fortunev2-hero-teacher:hover{
    transform:translateY(-2px);
  }

  body[data-page-key="fortune-hub-v2"] .fortunev2-teachers .fortunev2-teacher-card:hover,
  body[data-page-key="fortune-hub-v2"] .fortunev2-guarantee-card:hover,
  body.shop-preview-page .grid .card:hover,
  body.shop-preview-page .shop-preview-service-card:hover,
  body.service-view .service-grid .card:hover,
  body.service-view .svc-promo-card:hover{
    transform:translateY(-4px);
    filter:saturate(1.03);
  }

  body[data-page-key="fortune-hub-v2"] .fortune-booking-dialog[open] .fortune-booking-dialog__card,
  body[data-page-key="fortune-hub-v2"] .v2-intro-dialog[open],
  body.quiz-page dialog[open] .fortune-shell,
  body.shop-preview-page #dlg[open] .dlgBody,
  body.service-view #svcDetail[open] .dlgBody{
    animation:ucMotionDialogIn 360ms var(--uc-motion-ease-settle) both;
  }

  body[data-page-key="fortune-hub-v2"] .fortune-booking-dialog::backdrop,
  body[data-page-key="fortune-hub-v2"] .v2-intro-dialog::backdrop,
  body.quiz-page dialog::backdrop,
  body.shop-preview-page #dlg::backdrop,
  body.service-view #svcDetail::backdrop{
    animation:ucMotionBackdropIn var(--uc-motion-standard) ease both;
  }

  body.shop-preview-page .grid .card .pic img,
  body.shop-preview-page .shop-preview-service-card__media img,
  body.service-view .service-grid .card .pic img{
    transition:transform 520ms var(--uc-motion-ease);
  }

  body.shop-preview-page .grid .card:hover .pic img,
  body.shop-preview-page .shop-preview-service-card:hover .shop-preview-service-card__media img,
  body.service-view .service-grid .card:hover .pic img{
    transform:scale(1.045);
  }

  body.shop-preview-page .effect-tab[aria-selected="true"],
  body.shop-preview-page .effect-tab.is-active,
  body.service-view .svc-pack-pill.is-active,
  body.service-view .svc-pack-pill[aria-pressed="true"]{
    animation:ucMotionSelectPulse 520ms var(--uc-motion-ease-settle) both;
  }

  body.quiz-page .quiz-flow:not([hidden]) .step-card:not([style*="display: none"]),
  body.quiz-page .quiz-flow:not([hidden]) .step-card:not([style*="display:none"]){
    animation:ucMotionQuizStep 420ms var(--uc-motion-ease-emphatic) both;
  }

  body.quiz-page .option-card::after{
    content:"";
    position:absolute;
    left:20px;
    top:22px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#9f7930;
    opacity:0;
    transform:scale(.4);
    transition:
      opacity var(--uc-motion-fast) ease,
      transform var(--uc-motion-standard) var(--uc-motion-ease-settle);
  }

  body.quiz-page .option-card.is-selected::after,
  body.quiz-page .option-card[aria-checked="true"]::after{
    opacity:1;
    transform:scale(1);
  }

  body.quiz-page #progressFill{
    transition:width 420ms var(--uc-motion-ease);
  }

  body.quiz-page #resultBox[style*="display: block"],
  body.quiz-page #resultBox[style*="display:block"]{
    animation:ucMotionResultReveal 720ms var(--uc-motion-ease-emphatic) both;
  }

  body.shop-preview-page #dlgCart[open] .cartWrap,
  body.shop-preview-page #dlgOrderConfirm[open],
  body.shop-preview-page #dlgStore[open],
  body.shop-preview-page #dlgLookup[open],
  body.shop-preview-page #dlgOrderSuccess[open] .order-success-card,
  body.service-view #svcCartPanel[open],
  body.service-view #svcCart[open] .svc-form,
  body.service-view #svcSuccess[open] .dlgBody{
    animation:ucMotionCheckoutPanelIn 420ms var(--uc-motion-ease-settle) both;
  }

  body.shop-preview-page #dlgCart::backdrop,
  body.shop-preview-page #dlgOrderConfirm::backdrop,
  body.shop-preview-page #dlgStore::backdrop,
  body.shop-preview-page #dlgLookup::backdrop,
  body.shop-preview-page #dlgOrderSuccess::backdrop,
  body.service-view #svcCartPanel::backdrop,
  body.service-view #svcCart::backdrop,
  body.service-view #svcSuccess::backdrop{
    animation:ucMotionBackdropIn var(--uc-motion-standard) ease both;
  }

  body.shop-preview-page .cartItem,
  body.service-view #svcCartPanel .svc-cart-item{
    animation:ucMotionCartItemIn 360ms var(--uc-motion-ease-emphatic) both;
    transition:
      transform var(--uc-motion-standard) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease),
      border-color var(--uc-motion-fast) ease,
      background-color var(--uc-motion-fast) ease;
  }

  body.shop-preview-page .cartItem:nth-child(2),
  body.service-view #svcCartPanel .svc-cart-item:nth-child(2){
    animation-delay:45ms;
  }

  body.shop-preview-page .cartItem:nth-child(3),
  body.service-view #svcCartPanel .svc-cart-item:nth-child(3){
    animation-delay:90ms;
  }

  body.shop-preview-page .cartItem:hover,
  body.service-view #svcCartPanel .svc-cart-item:hover{
    transform:translateY(-2px);
  }

  body.shop-preview-page #orderItemsBox tbody tr{
    animation:ucMotionCartItemIn 320ms var(--uc-motion-ease) both;
  }

  body.shop-preview-page .cartActions .btn,
  body.shop-preview-page #orderNextBtn,
  body.shop-preview-page #storeNextBtn,
  body.shop-preview-page #storeOpenCvsBtn,
  body.service-view #svcCartPanel .svc-cart-actions .btn,
  body.service-view #svcCart .svc-pay-method,
  body.service-view #svcCart .svc-stepper span{
    transition:
      transform var(--uc-motion-fast) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease),
      border-color var(--uc-motion-fast) ease,
      background-color var(--uc-motion-fast) ease,
      color var(--uc-motion-fast) ease;
  }

  body.shop-preview-page .cartActions .btn:active,
  body.shop-preview-page #orderNextBtn:active,
  body.shop-preview-page #storeNextBtn:active,
  body.shop-preview-page #storeOpenCvsBtn:active,
  body.service-view #svcCartPanel .svc-cart-actions .btn:active,
  body.service-view #svcCart .svc-pay-method:active{
    transform:translateY(1px) scale(.99);
  }

  body.service-view #svcCart .svc-step-content.active{
    animation:ucMotionCheckoutStepIn 440ms var(--uc-motion-ease-emphatic) both;
  }

  body.service-view #svcCart .svc-stepper span.active,
  body.service-view #svcCart .svc-pay-method.is-selected,
  body.service-view #svcCart .svc-pay-method[aria-pressed="true"]{
    animation:ucMotionSelectPulse 520ms var(--uc-motion-ease-settle) both;
  }

  body.service-view #svcCart .svc-pay-method:hover,
  body.service-view #svcCart .svc-pay-method:focus-visible{
    transform:translateY(-2px);
  }

  body.service-view #svcCart .svc-payment-screen:not([hidden]),
  body.service-view #svcCart #svcPaymentChoiceScreen:not([hidden]),
  body.service-view #svcCart #svcPaymentAtmScreen:not([hidden]),
  body.service-view #svcCart #svcPaymentCreditScreen:not([hidden]){
    animation:ucMotionCheckoutStepIn 380ms var(--uc-motion-ease) both;
  }

  body.home-v2-page.nav-open .nav-drawer,
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer,
  body.shop-preview-nav-open .shop-preview-nav-drawer{
    animation:ucMotionBackdropIn var(--uc-motion-standard) ease both;
  }

  body.home-v2-page.nav-open .nav-drawer__panel,
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__panel,
  body.shop-preview-nav-open .shop-preview-nav-drawer__panel{
    animation:ucMotionDrawerPanelIn 380ms var(--uc-motion-ease-settle) both;
  }

  body.home-v2-page.nav-open .nav-drawer__header,
  body.home-v2-page.nav-open .nav-drawer__group,
  body.home-v2-page.nav-open .nav-drawer__cta,
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__header,
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__group,
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__cta,
  body.shop-preview-nav-open .shop-preview-nav-drawer__header,
  body.shop-preview-nav-open .shop-preview-nav-drawer__group,
  body.shop-preview-nav-open .shop-preview-nav-drawer .auth-widget,
  body.shop-preview-nav-open .shop-preview-nav-drawer .guardian-badge{
    animation:ucMotionNavItemIn 420ms var(--uc-motion-ease-emphatic) both;
  }

  body.home-v2-page.nav-open .nav-drawer__group:nth-of-type(2),
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__group:nth-of-type(2),
  body.shop-preview-nav-open .shop-preview-nav-drawer__group:nth-of-type(2){
    animation-delay:55ms;
  }

  body.home-v2-page.nav-open .nav-drawer__group:nth-of-type(3),
  body[data-page-key="fortune-hub-v2"].nav-open .nav-drawer__group:nth-of-type(3),
  body.shop-preview-nav-open .shop-preview-nav-drawer__group:nth-of-type(3){
    animation-delay:105ms;
  }

  body.shop-preview-page .member-menu button,
  body.service-view .member-menu button,
  body.quiz-page .member-menu button,
  body.home-v2-page .home-member-menu__btn,
  body.home-v2-page .home-drawer-member-menu__btn,
  body.home-v2-page .nav-drawer__close,
  body[data-page-key="fortune-hub-v2"] .nav-drawer__close,
  body.shop-preview-page .shop-preview-nav-drawer__close,
  body.service-view .shop-preview-nav-drawer__close,
  body.shop-preview-page .shop-preview-nav-drawer__group a,
  body.service-view .shop-preview-nav-drawer__group a,
  body.shop-preview-page .shop-preview-nav-drawer .member-menu-panel a,
  body.shop-preview-page .shop-preview-nav-drawer .member-menu-panel button,
  body.service-view .shop-preview-nav-drawer .member-menu-panel a,
  body.service-view .shop-preview-nav-drawer .member-menu-panel button{
    transition:
      transform var(--uc-motion-fast) var(--uc-motion-ease),
      box-shadow var(--uc-motion-standard) var(--uc-motion-ease),
      border-color var(--uc-motion-fast) ease,
      background-color var(--uc-motion-fast) ease,
      color var(--uc-motion-fast) ease;
  }

  body.home-v2-page .nav-drawer__close:active,
  body[data-page-key="fortune-hub-v2"] .nav-drawer__close:active,
  body.shop-preview-page .shop-preview-nav-drawer__close:active,
  body.service-view .shop-preview-nav-drawer__close:active,
  body.shop-preview-page .shop-preview-nav-drawer__group a:active,
  body.service-view .shop-preview-nav-drawer__group a:active,
  body.shop-preview-page .shop-preview-nav-drawer .member-menu-panel a:active,
  body.shop-preview-page .shop-preview-nav-drawer .member-menu-panel button:active,
  body.service-view .shop-preview-nav-drawer .member-menu-panel a:active,
  body.service-view .shop-preview-nav-drawer .member-menu-panel button:active{
    transform:translateY(1px) scale(.99);
  }

  body.shop-preview-page .member-menu-panel[style*="display: block"],
  body.shop-preview-page .member-menu-panel[style*="display:block"],
  body.service-view .member-menu-panel[style*="display: block"],
  body.service-view .member-menu-panel[style*="display:block"],
  body.quiz-page .member-menu-panel[style*="display: block"],
  body.quiz-page .member-menu-panel[style*="display:block"]{
    animation:ucMotionMenuPanelIn 260ms var(--uc-motion-ease-settle) both;
    transform-origin:top right;
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width:640px){
  body.service-view #svcCart[open]{
    animation:ucMotionMobileCenteredDialogIn 360ms var(--uc-motion-ease-settle) both;
  }
}

@keyframes ucMotionFadeLift{
  from{
    opacity:0;
    transform:translateY(14px) scale(.992);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes ucMotionDialogIn{
  from{
    opacity:0;
    transform:translateY(18px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes ucMotionBackdropIn{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes ucMotionQuizStep{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes ucMotionResultReveal{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.988);
  }
  60%{
    opacity:1;
    transform:translateY(-2px) scale(1.002);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes ucMotionSheen{
  0%{
    opacity:0;
    transform:translateX(-65%);
  }
  18%{ opacity:1; }
  100%{
    opacity:0;
    transform:translateX(65%);
  }
}

@keyframes ucMotionSelectPulse{
  0%{
    transform:scale(.985);
    box-shadow:0 0 0 0 rgba(217,164,65,.22);
  }
  70%{
    transform:scale(1.01);
    box-shadow:0 0 0 8px rgba(217,164,65,0);
  }
  100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(217,164,65,0);
  }
}

@keyframes ucMotionCheckoutPanelIn{
  from{
    opacity:0;
    transform:translateY(16px) scale(.988);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes ucMotionCartItemIn{
  from{
    opacity:0;
    transform:translateY(8px) scale(.992);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes ucMotionCheckoutStepIn{
  from{
    opacity:0;
    transform:translateY(10px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes ucMotionMobileCenteredDialogIn{
  from{
    opacity:0;
    transform:translate(-50%, calc(-50% + 12px)) scale(.988);
  }
  to{
    opacity:1;
    transform:translate(-50%, -50%) scale(1);
  }
}

@keyframes ucMotionDrawerPanelIn{
  from{
    opacity:.72;
    transform:translateX(18px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes ucMotionNavItemIn{
  from{
    opacity:0;
    transform:translateY(8px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes ucMotionMenuPanelIn{
  from{
    opacity:0;
    transform:translateY(8px) scale(.98);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce){
  body.home-v2-page *,
  body[data-page-key="fortune-hub-v2"] *,
  body.quiz-page *,
  body.shop-preview-page *,
  body.service-view *{
    animation-duration:1ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:1ms !important;
  }
}
