body.home-v2-page{
  --v2-base:#A67C52;
  --v2-cta-light:#cfa47a;
  --v2-cta-mid:#b98d63;
  --v2-base-deep:#7d5a39;
  --v2-base-soft:#ebddce;
  --v2-cream:#f7f0e7;
  --v2-surface:#fffaf4;
  --v2-line:rgba(110,78,48,.22);
  --v2-text:#2f2216;
  --v2-muted:#6f5945;
  --v2-shadow:0 18px 36px rgba(58,35,16,.14);
  --bg:#e9dac9;
  --surface:rgba(255,249,242,.88);
  --surface-2:#f4e7d8;
  --text:var(--v2-text);
  --text-muted:var(--v2-muted);
  --line:var(--v2-line);
  --accent:var(--v2-base);
  --accent-soft:rgba(166,124,82,.2);
  --accent-strong:var(--v2-base-deep);
  --focus-ring:0 0 0 3px rgba(166,124,82,.32);
  background:
    radial-gradient(130% 65% at 18% -8%, rgba(255,255,255,.45) 0%, rgba(255,255,255,0) 65%),
    radial-gradient(80% 58% at 88% 10%, rgba(125,90,57,.22) 0%, rgba(125,90,57,0) 68%),
    linear-gradient(155deg, #ebdfd2 0%, #d5b899 48%, #c5a17b 100%);
}

body.home-v2-page .nav-shell{
  background:rgba(253,248,241,.8);
  border:0;
  border-bottom:1px solid rgba(0,0,0,.05);
  box-shadow:none;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

body.home-v2-page .site-header.is-scrolled .nav-shell{
  background:rgba(253,248,241,.8);
  border-bottom-color:rgba(0,0,0,.05);
  box-shadow:none;
}

body.home-v2-page .nav-links a:hover,
body.home-v2-page .home-member-menu__btn:hover{
  border-color:rgba(166,124,82,.45);
  background:rgba(255,250,246,.96);
}

body.home-v2-page .lang-toggle,
body.home-v2-page .nav-toggle{
  background:#fff8f0;
  border-color:rgba(125,90,57,.26);
  color:var(--v2-text);
}

body.home-v2-page .nav-drawer__panel{
  background:linear-gradient(180deg, rgba(255,250,245,.98), rgba(244,231,216,.95));
}

body.home-v2-page .section{
  padding:22px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,250,245,.9), rgba(247,239,229,.84));
  border:1px solid rgba(120,88,57,.16);
  box-shadow:0 14px 30px rgba(73,47,24,.08);
}

body.home-v2-page .section .entry-card,
body.home-v2-page .section .preview-card,
body.home-v2-page .section .cta-card{
  background:var(--v2-surface);
  border-color:rgba(125,90,57,.2);
}

body.home-v2-page .hero-cta__primary,
body.home-v2-page .home-shop-hero__cta--primary,
body.home-v2-page .fortunev2-teacher-cta{
  background:linear-gradient(135deg, var(--v2-cta-light), var(--v2-cta-mid));
  border:1px solid rgba(102,71,42,.34);
  box-shadow:0 10px 24px rgba(102,71,42,.26);
}

body.home-v2-page .hero-cta__primary:hover,
body.home-v2-page .home-shop-hero__cta--primary:hover,
body.home-v2-page .fortunev2-teacher-cta:hover{
  filter:brightness(1.06);
  box-shadow:0 14px 28px rgba(102,71,42,.33);
}

body.home-v2-page #homePhoneConsultPromo{
  display:none;
}

body.home-v2-page .hero-shell--v2{
  max-width:1200px;
  margin:18px auto 0;
  padding:20px 22px 8px;
}

body.home-v2-page .hero--v2{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);
  gap:56px;
  align-items:stretch;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}

body.home-v2-page .hero-content--v2{
  display:flex;
  flex-direction:column;
  gap:15px;
  min-width:0;
}

body.home-v2-page .kicker--v2{
  display:inline-grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  justify-content:start;
  width:max-content;
  max-width:100%;
  min-height:48px;
  color:#81562b;
  background:linear-gradient(180deg,rgba(255,253,248,.96),rgba(249,239,224,.90));
  border:1px solid rgba(174,126,65,.34);
  border-radius:18px;
  padding:9px 18px 9px 13px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 16px 34px rgba(126,86,44,.10);
  position:relative;
  gap:12px;
}

body.home-v2-page .kicker--v2::after{
  display:none;
}

body.home-v2-page .premium-kicker__rail{
  width:3px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(180deg,#e4c477,#9b642b);
  box-shadow:0 0 0 5px rgba(204,151,73,.10);
}

body.home-v2-page .premium-kicker__text{
  display:grid;
  gap:2px;
  min-width:0;
}

body.home-v2-page .premium-kicker__eyebrow{
  font-size:9px;
  line-height:1;
  letter-spacing:.18em;
  font-weight:800;
  color:#b1864b;
  text-transform:uppercase;
}

body.home-v2-page .premium-kicker__main{
  font-size:12px;
  line-height:1.2;
  letter-spacing:.045em;
  font-weight:900;
  color:#6e4825;
  white-space:nowrap;
}

body.home-v2-page .hero-content--v2 h1{
  display:grid;
  gap:7px;
  margin:3px 0 0;
  width:max-content;
  max-width:100%;
  font-family:"Noto Serif TC","Songti TC","STSong","PMingLiU",serif;
  font-size:clamp(35px,3.05vw,48px);
  line-height:1.1;
  letter-spacing:-.04em;
  font-weight:800;
}

@media (min-width:981px){
  html[lang="en"] body.home-v2-page .hero-content--v2 h1{
    white-space:normal;
    max-width:18ch;
    font-size:clamp(32px,2.55vw,42px);
    line-height:1.08;
    overflow-wrap:anywhere;
  }

  html[lang="en"] body.home-v2-page .premium-hero-title__line{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

body.home-v2-page .premium-hero-title__line{
  display:block;
  white-space:nowrap;
}

html[lang="en"] body.home-v2-page .premium-hero-title__line{
  white-space:normal;
  overflow-wrap:anywhere;
}

body.home-v2-page .premium-hero-title__line--ink{
  color:#2b2019;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}

body.home-v2-page .premium-hero-title__line--gold{
  background:linear-gradient(115deg,#75451d 0%,#b7782f 36%,#dfbd70 64%,#875426 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  filter:drop-shadow(0 10px 18px rgba(141,90,38,.10));
}

body.home-v2-page .hero-content--v2 h1 em{
  font-style:italic;
  color:#a14a0d;
}

body.home-v2-page .hero-content--v2 .lead{
  font-size:clamp(18px,1.45vw,21px);
  line-height:1.55;
  max-width:24ch;
  color:#3d3128;
  font-weight:700;
  letter-spacing:.01em;
  margin:2px 0 0;
}

body.home-v2-page .hero-content--v2 .lead-detail{
  font-size:clamp(15px,1.08vw,16.5px);
  line-height:1.75;
  max-width:38ch;
  color:#776554;
  margin:-4px 0 0;
}

body.home-v2-page .hero-info-link,
body.home-v2-page .hero-cta__note{
  display:none !important;
}

body.home-v2-page .hero-cta--v2{
  gap:10px;
  margin-top:8px;
}

body.home-v2-page .hero-cta--v2 .hero-cta__actions{
  gap:10px;
}

body.home-v2-page .hero-cta--v2 .hero-cta__primary,
body.home-v2-page .hero-cta--v2 .hero-cta__secondary,
body.home-v2-page .home-v2-btn{
  text-decoration:none;
}

body.home-v2-page .hero-cta--v2 .hero-cta__primary{
  box-shadow:0 12px 24px rgba(102,71,42,.28);
}

body.home-v2-page .hero-cta--v2 .hero-cta__primary:hover{
  transform:translateY(-1px);
}

body.home-v2-page .hero-cta--v2 .hero-cta__secondary{
  background:rgba(255,249,242,.92);
  color:#3a2c1f;
  border:1px solid rgba(120,88,57,.24);
}

body.home-v2-page .hero-cta--v2 .hero-cta__secondary:hover{
  background:#f2e5d6;
}

body.home-v2-page .home-hero-teachers{
  display:none;
  width:100%;
  max-width:100%;
  margin:12px 0 0;
  background:
    radial-gradient(circle at 16% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 36%),
    linear-gradient(135deg, rgba(255,253,248,.94), rgba(253,248,241,.82));
  border-color:rgba(125,90,57,.16);
  box-shadow:0 12px 26px rgba(72,49,26,.07), inset 0 1px 0 rgba(255,255,255,.72);
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teachers__label,
body.home-v2-page .home-hero-teachers .fortunev2-hero-teachers__view-all{
  font-weight:700;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teachers__label{
  color:#6b4d31;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teachers__view-all{
  color:#8c642d;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teachers__list{
  padding-top:10px;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__photo{
  background:#fffdfa;
  border:1px solid rgba(125,90,57,.22);
  box-shadow:0 9px 20px rgba(72,49,26,.09);
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__photo::before{
  display:none;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__photo::after{
  inset:-3px;
  border-color:rgba(166,124,82,.14);
  opacity:.58;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:first-child .fortunev2-hero-teacher__photo{
  border-color:rgba(184,135,56,.38);
  box-shadow:
    0 10px 22px rgba(72,49,26,.10),
    0 0 0 5px rgba(198,153,75,.07),
    0 0 18px rgba(198,153,75,.18);
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:first-child .fortunev2-hero-teacher__photo::before{
  display:block;
  inset:-4px;
  background:conic-gradient(from 150deg, rgba(166,113,38,.16), rgba(224,184,92,.62), rgba(255,251,236,.22), rgba(184,135,56,.48), rgba(166,113,38,.16));
  opacity:.72;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:first-child .fortunev2-hero-teacher__photo::after{
  inset:-6px;
  border-color:rgba(198,153,75,.24);
  opacity:.78;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__photo img,
body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__fallback{
  inset:2px;
  width:calc(100% - 4px);
  height:calc(100% - 4px);
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__name{
  color:#5c432b;
  font-weight:500;
  letter-spacing:.035em;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher__location{
  color:rgba(125,90,57,.58);
  font-size:10px;
  font-weight:500;
  letter-spacing:.055em;
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:hover .fortunev2-hero-teacher__photo,
body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:focus-visible .fortunev2-hero-teacher__photo{
  box-shadow:0 12px 24px rgba(72,49,26,.12);
}

body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:first-child:hover .fortunev2-hero-teacher__photo,
body.home-v2-page .home-hero-teachers .fortunev2-hero-teacher:first-child:focus-visible .fortunev2-hero-teacher__photo{
  box-shadow:
    0 12px 26px rgba(72,49,26,.12),
    0 0 0 5px rgba(198,153,75,.08),
    0 0 20px rgba(198,153,75,.20);
}

body.home-v2-page .hero-v2-visual{
  border-radius:0;
  overflow:hidden;
  min-height:100%;
  box-shadow:none;
  background:transparent;
  padding:0;
  display:block;
  align-self:start;
  min-width:0;
  width:100%;
  max-width:100%;
}

body.home-v2-page .hero-v2-visual__image-wrap{
  border-radius:18px;
  overflow:hidden;
  border:none;
  background:transparent;
  width:100%;
  max-width:100%;
  height:clamp(320px, 34vw, 440px);
  min-height:0;
  max-height:none;
  aspect-ratio:4 / 3;
}

@media (min-width:981px){
  body.home-v2-page .hero-v2-visual{
    max-width:540px;
    min-height:0;
    justify-self:start;
  }

  body.home-v2-page .hero-v2-visual__image-wrap{
    height:auto;
  }
}

body.home-v2-page .hero-v2-visual img,
body.home-v2-page .hero-v2-visual video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  padding:0;
  transition:opacity .35s ease;
}

body.home-v2-page .hero-v2-visual__video.is-hidden{
  display:none;
}

body.home-v2-page .hero-v2-visual img.is-fading{
  opacity:.2;
}

body.home-v2-page .v2-hero-stories{
  margin-top:2px;
}

body.home-v2-page .v2-hero-stories__card{
  background:rgba(255,250,244,.92);
  border:1px solid rgba(166,124,82,.26);
  border-radius:14px;
  padding:14px 16px 12px;
  position:relative;
  transition:opacity .35s ease;
  box-shadow:0 10px 22px rgba(66,41,19,.1);
}

body.home-v2-page .v2-hero-stories__card.is-fading{ opacity:0; }

body.home-v2-page .v2-hero-stories__open-quote{
  font-size:30px;
  line-height:1;
  color:var(--v2-base);
  opacity:.55;
  position:absolute;
  top:6px;
  left:10px;
  font-family:Georgia,serif;
  pointer-events:none;
}

body.home-v2-page .v2-hero-stories__quote{
  font-size:.95rem;
  line-height:1.62;
  color:#404040;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  padding-left:18px;
  margin:0 0 8px;
}

body.home-v2-page .v2-hero-stories__meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:.82rem;
  color:#8a8a8a;
}

body.home-v2-page .v2-hero-stories__name{ color:#4e4e4e; font-weight:700; }

body.home-v2-page .v2-hero-stories__tag{
  background:rgba(166,124,82,.16);
  color:var(--v2-base-deep);
  border-radius:999px;
  padding:1px 9px;
  font-size:.76rem;
}

body.home-v2-page .v2-hero-stories__dots{
  display:flex;
  gap:6px;
  margin-top:6px;
}

body.home-v2-page .v2-hero-stories__dot{
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(0,0,0,.15);
  border:none;
  padding:0;
  cursor:pointer;
}

body.home-v2-page .v2-hero-stories__dot.is-active{
  background:var(--v2-base);
  transform:scale(1.2);
}

body.home-v2-page .v2-hero-stories__read-more{
  font-size:.8rem;
  color:var(--v2-base-deep);
  text-underline-offset:2px;
}

body.home-v2-page #ai-summary p:empty,
body.home-v2-page .hero-cta__note:empty{
  display:none;
}

body.home-v2-page .hero-v2-feature-grid{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  position:relative;
  z-index:1;
}

body.home-v2-page .home-shop-hero__audience-badge{
  margin-top:0;
  display:inline-flex;
  width:auto;
  max-width:max-content;
  white-space:nowrap;
  padding:5px 12px;
  font-size:clamp(11px,0.9vw,13px);
  line-height:1.3;
  font-weight:500;
  margin-left:auto;
  flex:0 0 auto;
}

body.home-v2-page .home-shop-hero__actions .home-shop-hero__audience-badge{
  flex-basis:100%;
  justify-content:center;
  margin-top:8px;
  margin-left:auto;
}

body.home-v2-page .hero-v2-feature-card{
  background:#fffdfa;
  border:1px solid rgba(214,202,187,.62);
  border-radius:14px;
  padding:18px 16px;
  box-shadow:0 10px 24px rgba(71,48,26,.07);
}

body.home-v2-page .hero-v2-feature-icon{
  width:30px;
  height:30px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e0e3f2;
  margin-bottom:10px;
  font-size:14px;
  line-height:0;
  overflow:hidden;
}

body.home-v2-page .hero-v2-feature-icon-orbit{
  position:relative;
  width:30px;
  height:30px;
  display:inline-flex;
  margin-bottom:10px;
}

body.home-v2-page .hero-v2-feature-icon-orbit::before{
  content:"";
  position:absolute;
  inset:-3px;
  border-radius:50%;
  border:1.2px solid rgba(214,173,106,.48);
  border-top-color:rgba(255,238,198,.86);
  border-right-color:rgba(214,173,106,.24);
  transform:rotate(-18deg);
  z-index:0;
  pointer-events:none;
  animation:homeIconHaloSpin 7.8s linear infinite;
}

body.home-v2-page .hero-v2-feature-icon-orbit::after{
  content:"";
  position:absolute;
  width:12px;
  height:1.6px;
  background:linear-gradient(90deg, rgba(255,243,211,.95) 0%, rgba(255,243,211,0) 100%);
  border-radius:999px;
  top:3px;
  left:-6px;
  opacity:.72;
  transform:rotate(-24deg);
  filter:drop-shadow(0 0 4px rgba(245,204,132,.64));
  z-index:2;
  pointer-events:none;
  animation:homeIconMeteor 4.6s ease-in-out infinite;
}

body.home-v2-page .hero-v2-feature-icon-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 2px 3px rgba(141,99,57,.2));
  position:relative;
  z-index:1;
}

body.home-v2-page .hero-v2-feature-card:nth-child(2) .hero-v2-feature-icon{
  background:#ece4bd;
}

body.home-v2-page .hero-v2-feature-card:nth-child(3) .hero-v2-feature-icon{
  background:#efd3c3;
}

body.home-v2-page .hero-v2-feature-card:nth-child(2) .hero-v2-feature-icon-orbit::before{
  border-color:rgba(201,173,104,.5);
  border-top-color:rgba(253,239,196,.9);
}

body.home-v2-page .hero-v2-feature-card:nth-child(3) .hero-v2-feature-icon-orbit::before{
  border-color:rgba(205,157,98,.5);
  border-top-color:rgba(255,232,188,.86);
}

body.home-v2-page .hero-v2-feature-card h3{
  margin:0 0 8px;
  font-size:1.12rem;
  color:#1f1c17;
}

body.home-v2-page .hero-v2-feature-card p{
  margin:0;
  color:#5c544c;
  line-height:1.55;
  font-size:.92rem;
}

@keyframes homeIconHaloSpin{
  from{ transform:rotate(-18deg); }
  to{ transform:rotate(342deg); }
}

@keyframes homeIconMeteor{
  0%, 18%, 100%{
    opacity:0;
    transform:translate(-8px,-4px) rotate(-24deg);
  }
  34%{
    opacity:.8;
    transform:translate(5px,4px) rotate(-24deg);
  }
  50%{
    opacity:0;
    transform:translate(13px,9px) rotate(-24deg);
  }
}

body.home-v2-page .fortunev2-teachers{ margin-top:32px; }
body.home-v2-page .fortunev2-open-hours{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:0;
  padding:7px 12px;
  border-radius:12px;
  background:linear-gradient(135deg, rgba(255,244,220,0.95), rgba(255,236,203,0.92));
  border:1px solid rgba(230,176,98,0.62);
  color:var(--v2-base-deep);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
  white-space:nowrap;
}
body.home-v2-page .fortunev2-open-hours::before{
  content:"⏰";
  font-size:12px;
}
body.home-v2-page .fortunev2-filter-tabs{
  display:flex; gap:8px; flex-wrap:wrap; align-items:center; justify-content:flex-start;
  margin-bottom:20px;
}
body.home-v2-page .fortunev2-filter-tab{
  padding:6px 18px;
  border-radius:999px;
  border:1.5px solid rgba(0,0,0,0.08);
  background:#fff;
  font-size:13px; font-weight:500;
  cursor:pointer; color:var(--v2-muted);
  transition:color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease, transform 0.15s ease;
}
body.home-v2-page .fortunev2-filter-tab.is-active{
  background:var(--v2-base); border-color:var(--v2-base); color:#fff;
}
body.home-v2-page .fortunev2-teacher-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:18px;
}
body.home-v2-page .fortunev2-teacher-card{
  background:var(--v2-surface);
  border:1px solid rgba(110,78,48,.18);
  border-radius:18px;
  box-shadow:0 10px 20px rgba(66,41,19,.08);
  overflow:hidden;
  transition:transform 0.2s, box-shadow 0.2s;
  display:flex; flex-direction:column;
}

body.fortune-entry-v2-page .fortunev2-teachers .fortunev2-teacher-card{
  flex-basis:clamp(344px, 31vw, 420px);
}
body.home-v2-page .fortunev2-teacher-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(66,41,19,.14);
}
body.home-v2-page .fortunev2-teacher-card--soon{
  border-style:dashed;
  border-color:rgba(199,164,106,0.3);
  background:rgba(199,164,106,0.02);
}
body.home-v2-page .fortunev2-teacher-head{
  padding:20px 20px 0;
  display:flex; gap:14px; align-items:flex-start;
}
body.home-v2-page .fortunev2-teacher-avatar{
  width:64px; height:64px; border-radius:50%;
  flex-shrink:0; overflow:visible;
  border:2px solid rgba(199,164,106,0.25);
  background:linear-gradient(135deg, rgba(199,164,106,0.15), rgba(159,121,48,0.08));
  display:flex; align-items:center; justify-content:center;
  font-size:26px;
  position:relative;
  isolation:isolate;
}
body.home-v2-page .fortunev2-teacher-avatar::before{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1.3px solid rgba(214,173,106,.45);
  border-top-color:rgba(255,236,195,.86);
  border-right-color:rgba(214,173,106,.2);
  box-shadow:
    0 0 10px rgba(214,173,106,.22),
    0 8px 14px rgba(255,159,64,.2);
  background:
    radial-gradient(44% 30% at 50% 108%, rgba(255,152,58,.3) 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%);
  pointer-events:none;
  z-index:0;
  animation:
    homeTeacherAuraPulse 6.4s ease-in-out infinite,
    homeTeacherFlameFlicker 3.2s ease-in-out infinite;
}
body.home-v2-page .fortunev2-teacher-avatar::after{
  content:"";
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,252,236,.98) 0%, rgba(255,244,210,.9) 28%, rgba(255,236,188,.2) 62%, rgba(255,236,188,0) 100%),
    linear-gradient(90deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.9) 50%, rgba(255,244,206,0) 100%),
    linear-gradient(0deg, rgba(255,244,206,0) 0%, rgba(255,244,206,.9) 50%, rgba(255,244,206,0) 100%);
  top:50%;
  left:50%;
  box-shadow:
    0 0 10px rgba(255,228,164,.86),
    18px 9px 0 -2px rgba(255,238,198,.74),
    -10px 18px 0 -3px rgba(255,234,189,.62);
  pointer-events:none;
  z-index:2;
  transform-origin:center center;
  animation:homeTeacherOrbitSpark 8s linear infinite;
}
body.home-v2-page .fortunev2-teacher-avatar img{
  width:100%; height:100%; object-fit:cover;
}
body.home-v2-page .fortunev2-avatar-img{
  width:100%; height:100%; object-fit:cover;
  display:none; border-radius:50%;
  position:relative;
  z-index:1;
}
body.home-v2-page .fortunev2-avatar-img[src]:not([src=""]){ display:block; }
body.home-v2-page .fortunev2-teacher-avatar.is-avatar-loading .fortunev2-avatar-img{
  opacity:0;
}
body.home-v2-page .fortunev2-teacher-avatar.is-avatar-fallback .fortunev2-avatar-img{
  opacity:.72;
  object-fit:contain;
  padding:14px;
  background:#fffaf3;
}
body.home-v2-page .fortunev2-teacher-avatar:has(.fortunev2-avatar-img[src]:not([src=""])) .fortunev2-avatar-emoji{
  display:none;
}
body.home-v2-page .fortunev2-teacher-avatar.is-avatar-loading .fortunev2-avatar-emoji{
  display:block;
  color:rgba(126,97,59,.42);
}
body.home-v2-page .fortunev2-avatar-upload{
  padding:8px 10px;
  background:#fffbf5;
  border:1px dashed rgba(199,164,106,0.4);
  border-radius:8px;
  margin:10px 16px 0;
  font-size:11px;
}
body.home-v2-page .fortunev2-avatar-upload label{ font-weight:600; color:var(--v2-base-deep); display:block; margin-bottom:4px; }
body.home-v2-page .fortunev2-avatar-upload input[type="file"]{ width:100%; font-size:11px; }
body.home-v2-page .fortunev2-avatar-upload input[type="text"]{
  margin-top:4px; width:100%; padding:4px 8px;
  border:1px solid #ddd; border-radius:4px;
  font-size:11px; box-sizing:border-box;
}
body.home-v2-page:not(.is-page-admin-editing) .fortunev2-avatar-upload{ display:none !important; }
body.home-v2-page .fortunev2-teacher-meta{ flex:1; min-width:0; }
body.home-v2-page .fortunev2-teacher-status{
  display:inline-flex; align-items:center; gap:5px;
  padding:3px 10px; border-radius:999px;
  font-size:11px; font-weight:600;
  margin-bottom:6px;
}
body.home-v2-page .fortunev2-teacher-status--on{
  background:rgba(34,197,94,0.1); color:#16a34a;
  border:1px solid rgba(34,197,94,0.2);
}
body.home-v2-page .fortunev2-teacher-status--on::before{ content:"●"; font-size:7px; }
body.home-v2-page .fortunev2-teacher-status--soon{
  background:rgba(234,179,8,0.1); color:#a16207;
  border:1px solid rgba(234,179,8,0.2);
}

@keyframes homeTeacherAuraPulse{
  0%, 100%{
    opacity:.74;
    transform:none;
    box-shadow:0 0 10px rgba(214,173,106,.2);
  }
  50%{
    opacity:.94;
    transform:none;
    box-shadow:0 0 14px rgba(214,173,106,.28);
  }
}

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

@keyframes homeTeacherFlameFlicker{
  0%, 100%{
    background-size:100% 100%, 100% 100%, 100% 100%;
    background-position:center 0, center 0, center 0;
    box-shadow:
      0 0 10px rgba(214,173,106,.22),
      0 8px 14px rgba(255,159,64,.2);
  }
  45%{
    background-size:103% 102%, 98% 100%, 102% 100%;
    background-position:center 2px, -1px 1px, 1px 1px;
    box-shadow:
      0 0 12px rgba(214,173,106,.26),
      0 10px 18px 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 11px rgba(214,173,106,.24),
      0 9px 16px rgba(255,159,64,.24);
  }
}
body.home-v2-page .fortunev2-teacher-name{
  margin:0; font-size:18px; font-weight:700; line-height:1.2;
}
body.home-v2-page .fortunev2-teacher-subtitle{
  font-size:13px; color:var(--v2-muted); margin-top:3px;
}
body.home-v2-page .fortunev2-teacher-body{ padding:14px 20px; flex:1; }
body.home-v2-page .fortunev2-teacher-desc{
  font-size:14px; color:var(--v2-muted);
  line-height:1.75; margin:0 0 14px;
}
body.home-v2-page .fortunev2-teacher-rows{
  display:flex; flex-direction:column; gap:6px;
  margin-bottom:14px;
}
body.home-v2-page .fortunev2-teacher-row{
  display:flex; align-items:center; gap:8px;
  font-size:13px;
}
body.home-v2-page .fortunev2-teacher-row__icon{ font-size:14px; width:20px; flex-shrink:0; }
body.home-v2-page .fortunev2-teacher-row__label{ color:var(--v2-muted); }
body.home-v2-page .fortunev2-teacher-row__val{ font-weight:600; }
body.home-v2-page .fortunev2-teacher-tags{
  display:flex; flex-wrap:wrap; gap:6px;
}
body.home-v2-page .fortunev2-teacher-tag{
  background:#f5ece2;
  border:1px solid rgba(110,78,48,.16);
  border-radius:999px; padding:3px 10px;
  font-size:12px; color:var(--v2-muted);
}
body.home-v2-page .fortunev2-teacher-foot{
  padding:14px 20px;
  border-top:1px solid rgba(110,78,48,.14);
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
body.home-v2-page .fortunev2-teacher-price{ font-size:13px; color:var(--v2-muted); }
body.home-v2-page .fortunev2-teacher-price__label{ font-size:11px; margin-bottom:2px; }
body.home-v2-page .fortunev2-teacher-price__row{
  display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
}
body.home-v2-page .fortunev2-teacher-price__old{
  font-size:12px; color:#bbb; text-decoration:line-through;
}
body.home-v2-page .fortunev2-teacher-price__val{
  font-size:20px; font-weight:700; color:#1a1a1a;
}
body.home-v2-page .fortunev2-teacher-price__badge{
  display:inline-block;
  background:rgba(234,179,8,0.12);
  color:#a16207;
  border:1px solid rgba(234,179,8,0.24);
  border-radius:999px;
  padding:2px 8px;
  font-size:11px; font-weight:600;
  margin-top:3px;
}
body.home-v2-page .fortunev2-teacher-cta{
  display:inline-block;
  padding:10px 20px;
  color:#fff; font-weight:600; font-size:13px;
  border-radius:10px; border:none; cursor:pointer;
  white-space:nowrap; text-decoration:none;
  box-shadow:0 10px 24px rgba(102,71,42,.24);
  transition:transform 0.15s, box-shadow 0.15s;
}
body.home-v2-page .fortunev2-teacher-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(102,71,42,.32);
}
body.home-v2-page .fortunev2-teacher-cta--ghost{
  background:transparent;
  border:1.5px solid rgba(0,0,0,0.08);
  color:var(--v2-muted); box-shadow:none;
}
body.home-v2-page .fortunev2-teacher-cta--ghost:hover{
  border-color:var(--v2-base); color:var(--v2-base-deep); transform:none;
}
body.home-v2-page .fortunev2-teacher-foot__actions{
  display:flex; flex-direction:column; gap:7px; min-width:160px;
}

body.home-v2-page .v2-intro-dialog{
  border:none; border-radius:20px; padding:0; margin:auto;
  max-width:460px; width:calc(100% - 40px);
  max-height:90dvh; overflow-y:auto;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
  position:relative;
}
body.home-v2-page .v2-intro-dialog::backdrop{ background:rgba(0,0,0,.5); }
body.home-v2-page .v2-intro-dialog__close{
  position:absolute; top:12px; right:12px; margin:0;
  background:rgba(255,255,255,.9); border:none; border-radius:50%;
  width:34px; height:34px; font-size:16px; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 6px rgba(0,0,0,.15); z-index:2;
}
body.home-v2-page .v2-intro-dialog__img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  display:block; border-radius:20px 20px 0 0;
}
body.home-v2-page .v2-intro-dialog__body{ padding:20px 22px 28px; }
body.home-v2-page .v2-intro-dialog__status{
  font-size:.72rem; font-weight:700; color:#16a34a;
  text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px;
}
body.home-v2-page .v2-intro-dialog__name{
  font-size:1.2rem; font-weight:800; margin:0 0 3px;
}
body.home-v2-page .v2-intro-dialog__subtitle{
  font-size:.82rem; color:#888; margin-bottom:14px;
}
body.home-v2-page .v2-intro-dialog__desc{
  font-size:.88rem; line-height:1.75; color:#444; margin-bottom:16px;
  white-space:pre-line;
}
body.home-v2-page .v2-intro-dialog__tags{
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;
}
body.home-v2-page .v2-intro-dialog__tag{
  background:rgba(166,124,82,.16); color:var(--v2-base-deep); border-radius:999px;
  padding:3px 12px; font-size:.78rem;
}
body.home-v2-page .v2-intro-dialog__price{
  font-size:.82rem; color:#888; margin-bottom:14px;
}
body.home-v2-page .v2-intro-dialog__price strong{
  color:#1a1a1a; font-size:1.05rem; margin-left:4px;
}
body.home-v2-page .v2-intro-dialog__price s{ color:#aaa; margin-right:2px; }

@media (max-width:980px){
  body.home-v2-page .hero--v2{
    grid-template-columns:1fr;
  }

  body.home-v2-page .hero-content--v2 h1{
    max-width:none;
    font-size:clamp(34px,8vw,54px);
    white-space:normal;
  }

  body.home-v2-page .hero-v2-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.home-v2-page .hero-v2-visual{
    padding:0;
  }

  body.home-v2-page .hero-v2-visual__image-wrap{
    min-height:260px;
    max-height:340px;
    aspect-ratio:16 / 10;
  }

  body.home-v2-page .hero-v2-visual img{
    height:100%;
    object-fit:cover;
  }

  body.home-v2-page .home-shop-hero__audience-badge{
    white-space:normal;
    margin-left:0;
  }

  body.fortune-entry-v2-page .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:min(80vw, 406px);
  }
}

@media (max-width:640px){
  body.home-v2-page .hero-v2-visual img{
    object-fit:cover;
  }

  body.fortune-entry-v2-page .fortunev2-teachers .fortunev2-teacher-card{
    flex-basis:82vw;
  }
}

@media (max-width:640px){
  body.home-v2-page .hero-shell--v2{
    padding:10px 10px 0;
    overflow-x:clip;
  }

  body.home-v2-page .hero--v2{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:7px;
  }

  body.home-v2-page .hero-content--v2{
    display:contents;
  }

  body.home-v2-page .hero-cta--v2,
  body.home-v2-page .hero-cta--v2 .hero-cta__actions{
    display:contents;
  }

  body.home-v2-page .hero-content--v2 .kicker--v2{ order:1; align-self:flex-start; }
  body.home-v2-page .hero-content--v2 h1{ order:2; }
  body.home-v2-page .hero-content--v2 .lead{ order:3; }
  body.home-v2-page .hero-content--v2 .lead-detail{ order:4; }
  body.home-v2-page .hero-v2-visual{ order:5; margin-bottom:10px; }
  body.home-v2-page .hero-cta--v2 .hero-cta__primary{ order:6; }
  body.home-v2-page .v2-hero-stories{ order:7; }
  body.home-v2-page .home-hero-teachers{ order:8; }
  body.home-v2-page .hero-cta--v2 .hero-cta__secondary{ order:9; }
  body.home-v2-page .hero-content--v2 .lead-sub{ order:10; }

  body.home-v2-page .hero-content--v2,
  body.home-v2-page .hero-content--v2 .lead-detail,
  body.home-v2-page .hero-v2-visual,
  body.home-v2-page .hero-v2-visual__image-wrap,
  body.home-v2-page .v2-hero-stories,
  body.home-v2-page .home-hero-teachers,
  body.home-v2-page .v2-hero-stories__card{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  body.home-v2-page .home-hero-teachers{
    display:block;
  }

  body.home-v2-page .kicker--v2{
    min-height:44px;
    padding:8px 12px 8px 11px;
    border-radius:16px;
    gap:10px;
    margin-bottom:0;
  }

  body.home-v2-page .premium-kicker__rail{
    width:3px;
    height:25px;
    box-shadow:0 0 0 4px rgba(204,151,73,.10);
  }

  body.home-v2-page .premium-kicker__eyebrow{
    font-size:8px;
    letter-spacing:.14em;
  }

  body.home-v2-page .premium-kicker__main{
    font-size:10px;
    letter-spacing:.035em;
  }

  body.home-v2-page .hero-content--v2 h1{
    font-size:clamp(28px,8.25vw,34px);
    line-height:1.08;
    letter-spacing:-.055em;
    width:100%;
  }

  body.home-v2-page .premium-hero-title__line{
    white-space:nowrap;
  }

  html[lang="en"] body.home-v2-page .hero-content--v2 h1{
    max-width:100%;
    font-size:clamp(27px,7.8vw,32px);
    line-height:1.1;
    letter-spacing:-.035em;
    overflow-wrap:anywhere;
  }

  html[lang="en"] body.home-v2-page .premium-hero-title__line{
    white-space:normal;
    overflow-wrap:anywhere;
  }

  body.home-v2-page .hero-content--v2 .lead{
    font-size:15px;
    line-height:1.48;
    margin:0;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
    max-width:100%;
  }

  body.home-v2-page .hero-content--v2 .lead-detail{
    font-size:12.5px;
    line-height:1.52;
    margin:-5px 0 0;
    max-width:100%;
  }

  body.home-v2-page .hero-cta--v2{
    margin-top:0;
    gap:0;
  }

  body.home-v2-page .hero-cta--v2 .hero-cta__actions{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0;
  }

  body.home-v2-page .hero-cta--v2 .hero-cta__primary,
  body.home-v2-page .hero-cta--v2 .hero-cta__secondary{
    min-height:44px;
    font-size:.95rem;
    font-weight:700;
    letter-spacing:0;
    width:100% !important;
    max-width:100%;
    box-sizing:border-box;
    padding:0 14px;
    margin-top:8px;
  }

  body.home-v2-page .hero-cta--v2 .hero-cta__secondary{
    margin-top:16px;
  }

  body.home-v2-page .v2-hero-stories{
    margin-top:0;
  }

  body.home-v2-page .v2-hero-stories__card{
    padding:12px 13px 10px;
  }

  body.home-v2-page .v2-hero-stories__dots{
    margin-top:5px;
  }

  body.home-v2-page .v2-hero-stories__quote{
    padding-left:14px;
    word-break:break-word;
  }

  body.home-v2-page .v2-hero-stories__meta{
    row-gap:6px;
  }

  body.home-v2-page .hero-v2-feature-grid{
    grid-template-columns:1fr;
  }

  body.home-v2-page .hero-v2-feature-card{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    column-gap:10px;
    row-gap:8px;
    align-items:center;
    background:#fffdfa;
  }

  body.home-v2-page .hero-v2-feature-card .hero-v2-feature-icon-orbit{
    margin:0;
    grid-column:1;
    grid-row:1;
  }

  body.home-v2-page .hero-v2-feature-card h3{
    grid-column:2;
    grid-row:1;
    margin:0;
  }

  body.home-v2-page .hero-v2-feature-card p{
    grid-column:1 / -1;
    grid-row:2;
  }

  body.home-v2-page .hero-v2-visual{
    margin-top:8px;
  }

  body.home-v2-page .hero-v2-visual__image-wrap{
    height:220px;
    min-height:220px;
    max-height:220px;
    aspect-ratio:4 / 3;
  }

  body.home-v2-page .fortunev2-teacher-grid{ grid-template-columns:1fr; }
  body.home-v2-page .fortunev2-open-hours{
    display:flex;
    max-width:100%;
    margin-left:0;
    font-size:11.5px;
    padding:6px 10px;
    border-radius:10px;
    white-space:normal;
  }
  body.home-v2-page .fortunev2-teacher-card{ border-radius:14px; }
  body.home-v2-page .fortunev2-teacher-head{ padding:16px 16px 0; }
  body.home-v2-page .fortunev2-teacher-body{ padding:12px 16px; }
  body.home-v2-page .fortunev2-teacher-foot{ padding:12px 16px; flex-direction:column; align-items:stretch; gap:10px; }
  body.home-v2-page .fortunev2-teacher-cta{ text-align:center; display:block; }
}

@media (prefers-reduced-motion:reduce){
  body.home-v2-page .hero-v2-feature-icon-orbit::before,
  body.home-v2-page .hero-v2-feature-icon-orbit::after{
    animation:none !important;
  }
  body.home-v2-page .fortunev2-teacher-avatar::before,
  body.home-v2-page .fortunev2-teacher-avatar::after{
    animation:none !important;
  }
}
