@media (min-width: 768px){
  .uc-support-fab{
    display:none !important;
  }
}

@media (max-width: 767px){
  .uc-support-fab{
    --uc-support-fab-bottom:calc(92px + env(safe-area-inset-bottom, 0px));
    --uc-support-ivory:rgba(255, 250, 242, .92);
    --uc-support-ivory-soft:rgba(249, 244, 236, .86);
    --uc-support-gold:rgba(211, 176, 112, .48);
    --uc-support-ink:#5a4936;
    position:fixed;
    right:16px;
    bottom:var(--uc-support-fab-bottom);
    z-index:65;
    display:grid;
    justify-items:end;
    gap:11px;
    font-family:Inter, "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    transition:bottom .22s ease, opacity .18s ease, transform .18s ease;
    pointer-events:none;
  }

  body.uc-support-sticky-active .uc-support-fab{
    --uc-support-fab-bottom:calc(150px + env(safe-area-inset-bottom, 0px));
  }

  body.uc-support-modal-active .uc-support-fab,
  body.uc-support-toast-active .uc-support-fab{
    opacity:0;
    transform:translateY(8px);
    pointer-events:none;
  }

  .uc-support-fab.is-open{
    z-index:66;
  }

  .uc-support-fab__bubble{
    position:absolute;
    right:2px;
    bottom:66px;
    width:min(188px, calc(100vw - 40px));
    padding:9px 14px 10px 15px;
    border:1px solid var(--uc-support-gold);
    border-radius:20px 20px 8px 20px;
    background:
      radial-gradient(circle at 17px 13px, rgba(255, 255, 255, .95) 0 2px, transparent 3px),
      linear-gradient(145deg, var(--uc-support-ivory), var(--uc-support-ivory-soft));
    color:var(--uc-support-ink);
    box-shadow:
      0 10px 28px rgba(78, 55, 27, .12),
      0 2px 8px rgba(211, 176, 112, .12),
      inset 0 1px 0 rgba(255, 255, 255, .92);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    font-size:14px;
    font-weight:760;
    line-height:1.35;
    letter-spacing:0;
    text-align:left;
    white-space:normal;
    pointer-events:none;
    opacity:0;
    transform:translate3d(0, 8px, 0) scale(.965);
    transform-origin:right bottom;
  }

  .uc-support-fab__bubble::before{
    content:"";
    position:absolute;
    right:18px;
    bottom:-6px;
    width:12px;
    height:12px;
    border-right:1px solid var(--uc-support-gold);
    border-bottom:1px solid var(--uc-support-gold);
    border-radius:0 0 4px 0;
    background:linear-gradient(135deg, rgba(249, 244, 236, .88), rgba(255, 250, 242, .94));
    transform:rotate(45deg);
    box-shadow:3px 4px 10px rgba(78, 55, 27, .06);
  }

  .uc-support-fab__bubble::after{
    content:"";
    position:absolute;
    top:9px;
    right:12px;
    width:7px;
    height:7px;
    border-radius:999px;
    background:rgba(207, 164, 83, .72);
    box-shadow:
      -9px 7px 0 -3px rgba(207, 164, 83, .42),
      5px 13px 0 -4px rgba(207, 164, 83, .34);
    opacity:.74;
  }

  .uc-support-fab.is-bubble-on:not(.is-open) .uc-support-fab__bubble{
    opacity:1;
    transform:translate3d(0, 0, 0) scale(1);
    animation:ucSupportBubbleIn .48s cubic-bezier(.19, 1, .22, 1) both,
      ucSupportBubbleFloat 3.2s ease-in-out .5s infinite;
  }

  .uc-support-fab.is-open .uc-support-fab__bubble{
    display:none;
  }

  .uc-support-fab__menu{
    width:min(180px, calc(100vw - 32px));
    display:grid;
    gap:5px;
    padding:6px;
    border:1px solid rgba(210, 180, 140, .4);
    border-radius:20px;
    background:rgba(255, 248, 240, .9);
    box-shadow:0 8px 24px rgba(45, 31, 16, .08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    opacity:0;
    transform:translateY(6px) scale(.985);
    transform-origin:bottom right;
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
  }

  .uc-support-fab.is-open .uc-support-fab__menu{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }

  .uc-support-fab__hint{
    display:none;
  }

  .uc-support-fab__link,
  .uc-support-fab__button{
    min-height:44px;
    border:0;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none;
    font:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .uc-support-fab__link{
    width:100%;
    min-height:44px;
    padding:0 10px;
    background:rgba(255, 253, 248, .7);
    color:#5a4a3a;
    border:1px solid rgba(210, 180, 140, .24);
    box-shadow:none;
    font-size:14px;
    font-weight:760;
    justify-content:flex-start;
  }

  .uc-support-fab__link:hover,
  .uc-support-fab__link:focus-visible{
    background:rgba(249, 246, 241, .96);
    color:#3f3021;
    border-color:rgba(210, 180, 140, .45);
    outline:none;
    box-shadow:0 0 0 3px rgba(210, 180, 140, .16);
  }

  .uc-support-fab__button{
    width:54px;
    min-width:54px;
    height:54px;
    padding:0;
    color:#6f4c1d;
    background:transparent;
    border:0;
    box-shadow:none;
    font-size:0;
    font-weight:1000;
    letter-spacing:0;
    pointer-events:auto;
  }

  .uc-support-fab__button:focus-visible{
    outline:2px solid rgba(210, 180, 140, .45);
    outline-offset:3px;
  }

  .uc-support-fab__button:active{
    transform:translateY(1px);
  }

  .uc-support-fab__button-icon,
  .uc-support-fab__link-icon{
    display:grid;
    place-items:center;
    flex:0 0 auto;
  }

  .uc-support-fab__button-icon{
    width:54px;
    height:54px;
    color:#6f4c1d;
  }

  .uc-support-fab__mascot{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center;
    transform-origin:center bottom;
  }

  .uc-support-fab.is-bubble-on:not(.is-open) .uc-support-fab__mascot{
    animation:ucSupportMascotBob 3s ease-in-out .42s infinite;
  }

  .uc-support-fab__button [data-uc-support-button]{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }

  .uc-support-fab__link-icon{
    width:18px;
    height:18px;
    border-radius:999px;
  }

  .uc-support-fab__link-icon--whatsapp{
    color:#14833b;
    background:rgba(22, 163, 74, .09);
  }

  .uc-support-fab__link-icon--messenger{
    color:#2563eb;
    background:rgba(37, 99, 235, .09);
  }

  .uc-support-fab__link-icon--line{
    background:rgba(6, 199, 85, .09);
  }

  .uc-support-fab svg{
    width:100%;
    height:100%;
    display:block;
  }

  .uc-support-fab__link-icon img{
    width:100%;
    height:100%;
    display:block;
    border-radius:999px;
  }

  @keyframes ucSupportBubbleIn{
    0%{
      opacity:0;
      transform:translate3d(0, 9px, 0) scale(.94);
      filter:blur(1px);
    }
    70%{
      opacity:1;
      transform:translate3d(0, -1px, 0) scale(1.01);
      filter:blur(0);
    }
    100%{
      opacity:1;
      transform:translate3d(0, 0, 0) scale(1);
      filter:blur(0);
    }
  }

  @keyframes ucSupportBubbleFloat{
    0%, 100%{
      transform:translate3d(0, 0, 0) scale(1);
    }
    50%{
      transform:translate3d(0, -2px, 0) scale(1);
    }
  }

  @keyframes ucSupportMascotBob{
    0%, 100%{
      transform:translate3d(0, 0, 0);
    }
    50%{
      transform:translate3d(0, -1.5px, 0);
    }
  }

  @media (prefers-reduced-motion: reduce){
    .uc-support-fab,
    .uc-support-fab__menu,
    .uc-support-fab__bubble,
    .uc-support-fab__mascot{
      animation:none !important;
      transition:none !important;
    }
  }
}

    /* ── fortunev2: Platform hub additions ─────────────────── */

    /* Hero overrides for platform framing */
    .fortunev2-hero-kicker{
      display:inline-flex; align-items:center; gap:6px;
      background:linear-gradient(135deg, rgba(255,250,240,0.96), rgba(255,242,214,0.98));
      color:#8b5e22;
      border:1px solid rgba(205,170,113,0.52);
      border-radius:999px;
      padding:6px 16px;
      font-size:12px; font-weight:600;
      letter-spacing:0.04em; text-transform:uppercase;
      margin-bottom:16px;
      box-shadow:0 8px 18px rgba(199,164,106,0.18), inset 0 1px 0 rgba(255,255,255,0.9);
    }
    .fortunev2-hero-kicker::before{ content:"●"; font-size:7px; }

    .fortunev2-hero-cta-row{
      display:flex; flex-wrap:wrap; gap:10px;
      margin-top:20px;
    }
    .fortunev2-hero-cta-row > .hero-cta__primary{
      background:linear-gradient(135deg, #ffb347 0%, #f28c28 46%, #d97706 100%) !important;
      color:#fff !important;
      border:1px solid rgba(166,96,20,.68) !important;
      box-shadow:0 14px 28px rgba(231,137,30,.38) !important;
      min-height:52px;
      padding:14px 24px;
      font-weight:800;
    }
    .fortunev2-hero-cta-row > .hero-cta__primary:hover{
      filter:brightness(1.05);
      transform:translateY(-2px);
      box-shadow:0 18px 32px rgba(231,137,30,.48) !important;
    }
    html[lang="en"] .fortunev2-hero-cta-row > .hero-cta__primary::after{
      display:none;
    }
    .fortunev2-flow-btn{
      background:linear-gradient(135deg, rgba(255,253,248,.92) 0%, rgba(255,246,232,.88) 100%) !important;
      color:#6a4a2b !important;
      border:1px solid rgba(143,104,55,.28) !important;
      box-shadow:0 9px 20px rgba(92,69,38,.10) !important;
    }
    .fortunev2-flow-btn:hover{
      background:linear-gradient(135deg, rgba(255,255,255,.96) 0%, rgba(255,241,218,.94) 100%) !important;
      box-shadow:0 12px 24px rgba(92,69,38,.14) !important;
      transform:translateY(-2px);
    }
    .fortunev2-hero-trust{
      display:grid;
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:8px;
      margin-top:12px;
      max-width:650px;
    }
    .fortunev2-hero-trust__item{
      min-width:0;
      border:1px solid rgba(143,104,55,.15);
      border-radius:12px;
      background:rgba(255,253,248,.55);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.68);
      padding:10px 12px;
      pointer-events:none;
      cursor:default;
    }
    .fortunev2-hero-trust__item::before{
      content:"";
      display:block;
      width:22px;
      height:2px;
      margin:0 0 6px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(189,145,74,.34), rgba(109,76,38,.34));
    }
    .fortunev2-hero-trust__main,
    .fortunev2-hero-trust__sub{
      display:block;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .fortunev2-hero-trust__main{
      color:#2c241a;
      font-size:13px;
      font-weight:800;
      letter-spacing:.02em;
    }
    .fortunev2-hero-trust__sub{
      margin-top:3px;
      color:#7b6240;
      font-size:11px;
      font-weight:600;
    }
    .fortunev2-hero-cta-row > .hero-cta__secondary:not(.fortunev2-flow-btn){
      background:linear-gradient(135deg, #fffdfa 0%, #fff7eb 100%) !important;
      color:#1f2434 !important;
      border:2px solid rgba(194,151,84,.6) !important;
      box-shadow:0 10px 22px rgba(132,104,54,.18) !important;
    }
    .fortunev2-hero-cta-row > .hero-cta__secondary:not(.fortunev2-flow-btn):hover{
      background:linear-gradient(135deg, #ffffff 0%, #fff2da 100%) !important;
      border-color:rgba(176,129,54,.8) !important;
      box-shadow:0 15px 28px rgba(132,104,54,.28) !important;
      transform:translateY(-2px);
    }
    .fortunev2-hero-side{
      display:grid;
      gap:16px;
      align-content:start;
      min-width:0;
    }
    .fortune-hero .hero{
      grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);
      align-items:start;
    }
    .fortune-hero h1{
      font-size:clamp(30px,3.25vw,42px);
      line-height:1.12;
    }
    .fortune-hero .hero-content h1{
      margin-bottom:8px;
    }
    .fortune-hero .lead{
      margin-top:0;
    }
    .fortunev2-hero-title-break{
      display:block;
    }
    .fortunev2-hero-visual{
      margin:0;
      padding:16px;
      border:1px solid rgba(167,119,46,.2);
      border-radius:28px;
      background:
        radial-gradient(circle at 18% 15%, rgba(255,195,96,.24), transparent 38%),
        linear-gradient(145deg, rgba(255,253,248,.98), rgba(255,245,228,.92));
      box-shadow:0 24px 58px rgba(92,69,38,.14);
      overflow:hidden;
    }
    .fortunev2-hero-visual img{
      display:block;
      width:100%;
      height:auto;
      aspect-ratio:1586 / 992;
      object-fit:contain;
      border-radius:22px;
      box-shadow:0 18px 46px rgba(92,69,38,.16);
    }
    @media (min-width: 721px){
      body[data-page-key="fortune-hub-v2"].fortune-hero-story-preview-enabled .fortune-hero-story-overlay{
        display:none !important;
      }
    }
    .fortunev2-hero-side .fortune-hero__meta{
      margin-top:0;
      max-width:none;
    }
    .fortunev2-hero-side .v2-hero-stories{
      margin-top:0;
    }
    .hero-content .fortunev2-hero-teachers{
      width:100%;
      max-width:none;
      margin:16px 0 0;
    }
    .hero-content .home-hero-teachers{
      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);
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teachers__label,
    .hero-content .home-hero-teachers .fortunev2-hero-teachers__view-all{
      font-weight:700;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teachers__label{
      color:#6b4d31;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teachers__view-all{
      color:#8c642d;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teachers__list{
      padding-top:10px;
    }
    .hero-content .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);
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__photo::before{
      display:none;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__photo::after{
      inset:-3px;
      border-color:rgba(166,124,82,.14);
      opacity:.58;
    }
    .hero-content .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);
    }
    .hero-content .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;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher:first-child .fortunev2-hero-teacher__photo::after{
      inset:-6px;
      border-color:rgba(198,153,75,.24);
      opacity:.78;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__photo img,
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__fallback{
      inset:2px;
      width:calc(100% - 4px);
      height:calc(100% - 4px);
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__name{
      color:#5c432b;
      font-weight:500;
      letter-spacing:.035em;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher__location{
      color:rgba(125,90,57,.58);
      font-size:10px;
      font-weight:500;
      letter-spacing:.055em;
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher:hover .fortunev2-hero-teacher__photo,
    .hero-content .home-hero-teachers .fortunev2-hero-teacher:focus-visible .fortunev2-hero-teacher__photo{
      box-shadow:0 12px 24px rgba(72,49,26,.12);
    }
    .hero-content .home-hero-teachers .fortunev2-hero-teacher:first-child:hover .fortunev2-hero-teacher__photo,
    .hero-content .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);
    }
    .hero-content .fortunev2-hero-teachers__list{
      justify-content:space-between;
      gap:8px;
    }
    .hero-content .fortunev2-hero-teacher{
      flex-basis:76px;
    }
    html[lang="en"] .hero-content .fortunev2-hero-teacher{
      flex-basis:104px;
      min-width:104px;
    }
    .fortunev2-booking-flow{
      margin-top:12px;
      padding:14px;
      border:1px solid rgba(167,119,46,.24);
      border-radius:14px;
      background:linear-gradient(135deg,#fffaf0,#fff);
    }
    .fortunev2-booking-flow__head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
    }
    .fortunev2-booking-flow__title{
      margin:0;
      font-size:.95rem;
      font-weight:900;
      color:#2b2f37;
    }
    .fortunev2-booking-flow__steps{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:8px;
      margin-top:10px;
    }
    .fortunev2-booking-step{
      border:1px solid rgba(15,23,42,.1);
      border-radius:10px;
      padding:10px 8px;
      background:#fff;
      color:#6b7280;
      font-size:.82rem;
      font-weight:700;
      line-height:1.25;
      text-align:center;
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:76px;
      white-space:pre-line;
    }
    .fortunev2-booking-step__stack{
      display:inline-grid;
      grid-template-columns:minmax(0,1fr);
      row-gap:3px;
      align-items:center;
      justify-items:center;
      justify-content:center;
      line-height:1.25;
      width:100%;
    }
    .fortunev2-booking-step__icon-frame{
      position:relative;
      display:grid;
      place-items:center;
      width:34px;
      height:34px;
    }
    .fortunev2-booking-step__icon{
      position:absolute;
      inset:0;
      display:block;
      width:100%;
      height:100%;
      object-fit:contain;
    }
    .fortunev2-booking-step__number{
      position:relative;
      z-index:1;
      display:block;
      color:#73501f;
      font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Segoe UI",sans-serif;
      font-size:14px;
      font-weight:750;
      font-variant-numeric:tabular-nums;
      line-height:1;
      letter-spacing:0;
      text-rendering:geometricPrecision;
    }
    .fortunev2-booking-step__main,
    .fortunev2-booking-step__sub{
      display:block;
      text-align:center;
      white-space:nowrap;
    }
    .fortunev2-booking-step__main{ font-weight:800; }
    .fortunev2-booking-step__sub{ font-weight:700; }
    .fortunev2-booking-step--btn{
      width:100%;
      text-align:center;
      cursor:pointer;
      font-family:inherit;
      appearance:none;
    }
    .fortunev2-booking-step.is-active{
      border-color:rgba(167,119,46,.45);
      background:#fff8ec;
      color:#7a4d19;
    }
    .fortunev2-process-summary{
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
      gap:14px;
      margin:0 0 18px;
      padding:18px;
      border:1px solid rgba(167,119,46,.22);
      border-radius:18px;
      background:linear-gradient(135deg, rgba(255,250,240,.96), rgba(255,255,255,.98));
      box-shadow:0 12px 28px rgba(132,104,54,.1);
    }
    .fortunev2-process-summary__copy{
      margin:0;
      color:#4b5563;
      font-size:.98rem;
      line-height:1.75;
    }
    .fortunev2-process-summary__copy strong{
      color:#2f2419;
      font-weight:900;
    }
    .fortunev2-process-summary__list{
      margin:0;
      padding:0;
      list-style:none;
      display:grid;
      gap:8px;
    }
    .fortunev2-process-summary__list li{
      display:flex;
      align-items:center;
      gap:8px;
      min-height:34px;
      padding:8px 10px;
      border:1px solid rgba(15,23,42,.08);
      border-radius:12px;
      background:#fff;
      color:#6b4b22;
      font-size:.86rem;
      font-weight:800;
      line-height:1.35;
    }
    .fortunev2-member-hub-btn{
      min-width:86px;
      height:36px;
      border-radius:999px;
      border:1px solid rgba(199,164,106,.35);
      background:#fff;
      color:#6e5222;
      font-size:12px;
      font-weight:700;
      letter-spacing:.03em;
      padding:0 12px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      text-decoration:none;
      white-space:nowrap;
      transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }
    .fortunev2-member-hub-btn:hover{
      border-color:#d6b37a;
      box-shadow:0 6px 14px rgba(17,24,39,.08);
      transform:translateY(-1px);
      text-decoration:none;
    }
    .fortune-pill__icon{
      width:20px;
      height:20px;
      display:inline-block;
      object-fit:contain;
      flex-shrink:0;
      filter:drop-shadow(0 1px 2px rgba(141,99,57,.18));
    }
    .fortune-pill--link{
      text-decoration:none;
      cursor:pointer;
      transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    }
    .fortune-pill--link:hover,
    .fortune-pill--link:focus-visible{
      border-color:rgba(199,164,106,.58);
      box-shadow:0 8px 18px rgba(17,24,39,.08);
      transform:translateY(-1px);
      text-decoration:none;
      outline:none;
    }
    .fortune-pill--link:focus-visible{
      outline:2px solid rgba(199,164,106,.55);
      outline-offset:3px;
    }
    .fortune-booking-card-title{
      display:flex;
      align-items:center;
      gap:10px;
    }
    .fortune-booking-card-title__logo{
      display:inline-block;
      width:26px;
      height:26px;
      object-fit:contain;
      flex:0 0 auto;
    }
    .fortune-booking-card-title__logo--zoom{
      width:54px;
      height:18px;
    }
    #fortuneZoomSetup{
      scroll-margin-top:96px;
    }

    /* Desktop: hero pills 2x2 */
    @media (min-width:769px){
      .fortune-hero__meta{
        display:grid;
        grid-template-columns:repeat(2, minmax(220px, 1fr));
        gap:10px 12px;
        max-width:560px;
      }
      .fortune-hero__meta .fortune-pill{
        width:100%;
        box-sizing:border-box;
      }
    }

    /* Hero story carousel */
    .v2-hero-stories{
      display:block;
      margin-top:22px;
      position:relative;
    }
    .v2-hero-stories__card{
      background:rgba(255,255,255,0.82);
      border:1px solid rgba(199,164,106,0.25);
      border-radius:14px;
      padding:13px 16px 12px;
      position:relative;
      transition:opacity .35s ease;
    }
    .v2-hero-stories__card.is-fading{ opacity:0; }
    .v2-hero-stories__open-quote{
      font-size:28px; line-height:1; color:#c7a46a; opacity:.55;
      position:absolute; top:6px; left:12px;
      font-family:Georgia,serif; pointer-events:none;
    }
    .v2-hero-stories__quote{
      font-size:.83rem; line-height:1.6; color:#3a3a3a;
      display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical;
      overflow:hidden; padding-left:18px; margin-bottom:8px;
      min-height:7.9em;
    }
    .v2-hero-stories__meta{
      display:flex; align-items:center; gap:7px; flex-wrap:wrap;
      font-size:.74rem; color:#999;
    }
    .v2-hero-stories__name{ color:#555; font-weight:600; }
    .v2-hero-stories__tag{
      background:#f4f0e8; color:#8a7451;
      border-radius:999px; padding:1px 9px; font-size:.7rem;
    }
    .v2-hero-stories__dots{
      display:flex; gap:5px; margin-top:9px; padding-left:2px;
    }
    .v2-hero-stories__dot{
      width:5px; height:5px; border-radius:50%;
      background:rgba(0,0,0,.12); cursor:pointer;
      transition:background .3s, transform .2s;
      border:none; padding:0;
    }
    .v2-hero-stories__dot.is-active{
      background:#c7a46a; transform:scale(1.3);
    }
    .v2-hero-stories__read-more{
      font-size:.72rem; color:#c7a46a; background:none; border:none;
      padding:0; cursor:pointer; text-decoration:underline;
      text-underline-offset:2px; white-space:nowrap;
    }
    .v2-hero-stories__read-more:hover{ color:#9f7930; }

    /* Price toggle card */
    .fortunev2-price-card{
      background:#f6f5f2;
      border:1px solid rgba(0,0,0,0.08);
      border-radius:12px;
      padding:18px;
    }
    .fortunev2-pack-pills{
      display:flex; gap:8px; margin-bottom:14px;
    }
    .fortunev2-pack-pill{
      flex:1; padding:8px 0;
      border-radius:8px;
      border:1.5px solid rgba(0,0,0,0.08);
      background:#fff;
      color:#5a5a5a; font-size:13px; font-weight:500;
      cursor:pointer; transition:all 0.15s;
    }
    .fortunev2-pack-pill.is-active{
      background:#c7a46a; border-color:#c7a46a;
      color:#fff; font-weight:600;
    }
    .fortunev2-price-row{
      display:flex; align-items:baseline; gap:8px; flex-wrap:wrap;
      margin-bottom:8px;
    }
    .fortunev2-price-old{
      font-size:13px; color:#bbb; text-decoration:line-through;
    }
    .fortunev2-price-new{
      font-size:26px; font-weight:700; color:#1a1a1a;
    }
    .fortunev2-promo-row{
      display:flex; align-items:center; gap:8px;
    }
    .fortunev2-promo-badge{
      background:rgba(234,179,8,0.14);
      color:#a16207;
      border:1px solid rgba(234,179,8,0.28);
      border-radius:999px; padding:2px 10px;
      font-size:11px; font-weight:600;
    }
    .fortunev2-promo-note{
      font-size:12px; color:#5a5a5a;
    }

    /* Avatar image + fallback emoji */
    .fortunev2-avatar-img{
      width:100%; height:100%; object-fit:cover;
      display:none; border-radius:50%;
    }
    .fortunev2-avatar-img[src]:not([src=""]){ display:block; }
    .fortunev2-teacher-avatar:has(.fortunev2-avatar-img[src]:not([src=""])) .fortunev2-avatar-emoji{
      display:none;
    }
    /* Admin-only upload block */
    .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;
    }
    .fortunev2-avatar-upload label{ font-weight:600; color:#9f7930; display:block; margin-bottom:4px; }
    .fortunev2-avatar-upload input[type="file"]{ width:100%; font-size:11px; }
    .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:not(.is-page-admin-editing) .fortunev2-avatar-upload{ display:none !important; }

    /* Teacher section */
    .fortunev2-teachers{ margin-top:48px; }
    .fortunev2-filter-tabs{
      display:flex; gap:8px; flex-wrap:wrap;
      align-items:center; justify-content:flex-start;
      margin-bottom:20px;
    }
    .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:#5a5a5a;
      transition:all 0.15s;
    }
    .fortunev2-filter-tab.is-active{
      background:#c7a46a; border-color:#c7a46a; color:#fff;
    }
    .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:#4b2f1a;
      font-size:13px;
      font-weight:700;
      line-height:1.35;
      white-space:nowrap;
    }
    .fortunev2-open-hours[hidden]{
      display:none !important;
    }
    .fortunev2-open-hours::before{
      content:"⏰";
      font-size:12px;
    }
    .fortunev2-teacher-grid{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
      gap:18px;
    }
    .fortunev2-teacher-card{
      background:#fff;
      border:1px solid rgba(0,0,0,0.08);
      border-radius:18px;
      box-shadow:0 2px 8px rgba(0,0,0,0.06);
      overflow:hidden;
      transition:transform 0.2s, box-shadow 0.2s;
      display:flex; flex-direction:column;
    }
    .fortunev2-teacher-card:hover{
      transform:translateY(-3px);
      box-shadow:0 8px 28px rgba(0,0,0,0.09);
    }
    .fortunev2-teacher-card--soon{
      border-style:dashed;
      border-color:rgba(199,164,106,0.3);
      background:rgba(199,164,106,0.02);
    }
    .fortunev2-teacher-head{
      padding:20px 20px 0;
      display:flex; gap:14px; align-items:flex-start;
    }
    .fortunev2-teacher-avatar{
      width:64px; height:64px; border-radius:50%;
      flex-shrink:0; overflow:hidden;
      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;
    }
    .fortunev2-teacher-avatar img{
      width:100%; height:100%; object-fit:cover;
    }
    .fortunev2-teacher-meta{ flex:1; min-width:0; }
    .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;
    }
    .fortunev2-teacher-status--on{
      background:rgba(34,197,94,0.1); color:#16a34a;
      border:1px solid rgba(34,197,94,0.2);
    }
    .fortunev2-teacher-status--on::before{ content:"●"; font-size:7px; }
    .fortunev2-teacher-status--soon{
      background:rgba(234,179,8,0.1); color:#a16207;
      border:1px solid rgba(234,179,8,0.2);
    }
    .fortunev2-teacher-name{
      margin:0; font-size:18px; font-weight:700; line-height:1.2;
    }
    .fortunev2-teacher-subtitle{
      font-size:13px; color:#5a5a5a; margin-top:3px;
    }
    .fortunev2-teacher-body{ padding:14px 20px; flex:1; }
    .fortunev2-teacher-desc{
      font-size:14px; color:#5a5a5a;
      line-height:1.75; margin:0 0 14px;
    }
    .fortunev2-teacher-rows{
      display:flex; flex-direction:column; gap:6px;
      margin-bottom:14px;
    }
    .fortunev2-teacher-row{
      display:flex; align-items:center; gap:8px;
      font-size:13px;
    }
    .fortunev2-teacher-row__icon{ font-size:14px; width:20px; flex-shrink:0; }
    .fortunev2-teacher-row__label{ color:#5a5a5a; }
    .fortunev2-teacher-row__val{ font-weight:600; }
    .fortunev2-teacher-tags{
      display:flex; flex-wrap:wrap; gap:6px;
    }
    .fortunev2-teacher-tag{
      background:#f6f5f2;
      border:1px solid rgba(0,0,0,0.08);
      border-radius:999px; padding:3px 10px;
      font-size:12px; color:#5a5a5a;
    }
    .fortunev2-teacher-foot{
      padding:14px 20px;
      border-top:1px solid #f6f5f2;
      display:flex; align-items:center; justify-content:space-between; gap:12px;
    }
    .fortunev2-teacher-price{ font-size:13px; color:#5a5a5a; }
    .fortunev2-teacher-price__label{ font-size:11px; margin-bottom:2px; }
    .fortunev2-teacher-price__row{
      display:flex; align-items:baseline; gap:6px; flex-wrap:wrap;
    }
    .fortunev2-teacher-price__old{
      font-size:12px; color:#bbb; text-decoration:line-through;
    }
    .fortunev2-teacher-price__val{
      font-size:20px; font-weight:700; color:#1a1a1a;
    }
    .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;
    }
    .fortunev2-teacher-cta{
      display:inline-block;
      padding:10px 20px;
      background:linear-gradient(135deg, #c7a46a, #9f7930);
      color:#fff; font-weight:600; font-size:13px;
      border-radius:10px; border:none; cursor:pointer;
      white-space:nowrap; text-decoration:none;
      box-shadow:0 3px 10px rgba(199,164,106,0.35);
      transition:transform 0.15s, box-shadow 0.15s;
    }
    .fortunev2-teacher-cta:hover{
      transform:translateY(-1px);
      box-shadow:0 5px 16px rgba(199,164,106,0.45);
    }
    .fortunev2-teacher-cta--ghost{
      background:transparent;
      border:1.5px solid rgba(0,0,0,0.08);
      color:#5a5a5a; box-shadow:none;
    }
    .fortunev2-teacher-cta--ghost:hover{
      border-color:#c7a46a; color:#9f7930; transform:none;
    }
    .fortunev2-teacher-foot__actions{
      display:flex; flex-direction:column; gap:7px; min-width:160px;
    }
    .fortune-cro-decision-card{
      display:grid;
      grid-template-columns:minmax(220px, .88fr) repeat(3, minmax(0, 1fr));
      gap:12px;
      align-items:stretch;
      margin:18px 0 16px;
      padding:14px;
      border:1px solid rgba(143,104,55,.16);
      border-radius:18px;
      background:
        linear-gradient(135deg, rgba(255,253,248,.98), rgba(255,247,232,.94));
      box-shadow:0 12px 28px rgba(92,69,38,.08);
    }
    .fortune-cro-decision-card__intro{
      padding:4px 6px;
    }
    .fortune-cro-decision-card__eyebrow{
      margin:0 0 4px;
      color:#9f7930;
      font-size:12px;
      font-weight:800;
      letter-spacing:.02em;
    }
    .fortune-cro-decision-card__intro h3{
      margin:0 0 5px;
      color:#1b1b1f;
      font-size:18px;
      line-height:1.25;
    }
    .fortune-cro-decision-card__intro p{
      margin:0;
      color:#6c6258;
      font-size:13px;
      line-height:1.55;
    }
    .fortune-cro-decision-card__path{
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      gap:7px;
      padding:11px;
      border:1px solid rgba(143,104,55,.12);
      border-radius:14px;
      background:rgba(255,255,255,.78);
      color:#2f2923;
      text-decoration:none;
      min-height:88px;
      transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
    }
    .fortune-cro-decision-card__path:hover,
    .fortune-cro-decision-card__path:focus-visible{
      transform:translateY(-1px);
      border-color:rgba(159,121,48,.38);
      box-shadow:0 10px 22px rgba(92,69,38,.10);
      outline:none;
    }
    .fortune-cro-decision-card__path strong{
      display:block;
      color:#1f1b16;
      font-size:14px;
      line-height:1.35;
    }
    .fortune-cro-decision-card__path span{
      color:#6c6258;
      font-size:12px;
      line-height:1.45;
    }
    .fortune-cro-decision-card__path small{
      color:#9f7930;
      font-size:12px;
      font-weight:800;
    }
    .fortune-cro-fit{
      display:flex;
      gap:8px;
      align-items:flex-start;
      margin:0 0 12px;
      padding:9px 10px;
      border:1px solid rgba(199,164,106,.26);
      border-radius:12px;
      background:linear-gradient(135deg, rgba(255,251,244,.94), rgba(255,246,232,.80));
      color:#4f4337;
      font-size:12.5px;
      line-height:1.5;
    }
    .fortune-cro-fit__label{
      flex:0 0 auto;
      color:#9f7930;
      font-weight:800;
      white-space:nowrap;
    }
    .fortune-cro-fit__text{
      min-width:0;
    }
    .fortune-cro-mini-faq{
      margin:18px 0 0;
      padding:16px;
      border:1px solid rgba(143,104,55,.13);
      border-radius:18px;
      background:#fffdf8;
      box-shadow:0 10px 24px rgba(92,69,38,.07);
    }
    .fortune-cro-mini-faq__head{
      display:flex;
      justify-content:space-between;
      gap:12px;
      align-items:flex-end;
      margin-bottom:12px;
    }
    .fortune-cro-mini-faq__head h3{
      margin:0;
      color:#1f1b16;
      font-size:18px;
      line-height:1.3;
    }
    .fortune-cro-mini-faq__head p{
      margin:0;
      color:#74685c;
      font-size:13px;
      line-height:1.45;
    }
    .fortune-cro-mini-faq__grid{
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:10px;
    }
    .fortune-cro-mini-faq__item{
      padding:12px;
      border:1px solid rgba(0,0,0,.07);
      border-radius:14px;
      background:#fff;
    }
    .fortune-cro-mini-faq__item strong{
      display:block;
      margin-bottom:5px;
      color:#2b241d;
      font-size:13px;
      line-height:1.35;
    }
    .fortune-cro-mini-faq__item span{
      display:block;
      color:#6f6256;
      font-size:12px;
      line-height:1.55;
    }
    .fortune-compact-flow{
      border:1px solid rgba(143,104,55,.13);
      border-radius:18px;
      background:#fffdf8;
      box-shadow:0 10px 24px rgba(92,69,38,.06);
      overflow:hidden;
    }
    .fortune-compact-flow__summary{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:18px 20px;
      cursor:pointer;
      list-style:none;
    }
    .fortune-compact-flow__summary::-webkit-details-marker{
      display:none;
    }
    .fortune-compact-flow__summary::after{
      content:"+";
      flex:0 0 auto;
      width:28px;
      height:28px;
      display:grid;
      place-items:center;
      border-radius:999px;
      background:rgba(199,164,106,.16);
      color:#8a642e;
      font-weight:900;
    }
    .fortune-compact-flow[open] .fortune-compact-flow__summary::after{
      content:"−";
    }
    .fortune-compact-flow__summary h2{
      margin:0;
      color:#1f1b16;
      font-size:clamp(19px, 2.2vw, 26px);
      line-height:1.25;
    }
    .fortune-compact-flow__summary p{
      margin:5px 0 0;
      color:#74685c;
      font-size:13px;
      line-height:1.55;
    }
    .fortune-compact-flow__body{
      padding:0 20px 20px;
    }
    .fortune-guides-compact .fortune-grid{
      grid-template-columns:repeat(3, minmax(0, 1fr));
      gap:10px;
    }
    .fortune-guides-compact .fortune-card{
      padding:16px;
      border-radius:14px;
    }
    .fortune-guides-compact .fortune-card h3{
      font-size:15px;
      line-height:1.35;
    }
    .fortune-guides-compact .fortune-card p{
      margin-bottom:10px;
      font-size:12.5px;
      line-height:1.55;
    }
    .fortune-guides-compact .fortune-inline-cta .hero-cta__secondary{
      min-height:0;
      padding:8px 11px;
      font-size:12px;
    }
    .fortune-cro-slot-hint{
      display:flex;
      gap:8px;
      align-items:flex-start;
      margin:10px 0 10px;
      padding:10px 12px;
      border:1px solid rgba(199,164,106,.28);
      border-radius:12px;
      background:linear-gradient(135deg, rgba(255,252,246,.96), rgba(255,244,221,.86));
      color:#5f4934;
      font-size:13px;
      line-height:1.45;
    }
    .fortune-cro-slot-hint strong{
      color:#9f7930;
      white-space:nowrap;
    }
    html[lang="en"] .fortunev2-teacher-name,
    html[lang="en"] .fortunev2-teacher-subtitle,
    html[lang="en"] .fortunev2-teacher-desc,
    html[lang="en"] .fortunev2-teacher-row,
    html[lang="en"] .fortunev2-teacher-row__label,
    html[lang="en"] .fortunev2-teacher-row__val,
    html[lang="en"] .fortunev2-teacher-tag,
    html[lang="en"] .fortunev2-teacher-cta,
    html[lang="en"] .hero-cta__primary,
    html[lang="en"] .hero-cta__secondary,
    html[lang="en"] .fortunev2-cta-banner__btn,
    html[lang="en"] .fortune-book-now__tz,
    html[lang="en"] .fortune-book-now__open-hours,
    html[lang="en"] .fortune-book-now__state{
      overflow-wrap:anywhere;
      word-break:normal;
      hyphens:auto;
    }
    html[lang="en"] .fortunev2-teacher-row{
      align-items:flex-start;
    }
    html[lang="en"] .fortunev2-teacher-row__label{
      flex:0 0 auto;
      white-space:normal;
    }
    html[lang="en"] .fortunev2-teacher-foot{
      align-items:flex-start;
    }
    html[lang="en"] .fortunev2-teacher-foot__actions{
      min-width:220px;
    }
    html[lang="en"] .fortunev2-teacher-cta{
      min-height:44px;
      line-height:1.25;
      white-space:normal;
    }
    html[lang="en"] .fortunev2-booking-flow__steps{
      grid-template-columns:repeat(3,minmax(0,1fr));
    }

    /* Teacher intro dialog */
    .v2-intro-dialog{
      position:fixed;
      box-sizing:border-box;
      border:none; border-radius:20px; padding:0; margin:0;
      width:min(460px, calc(100vw - 32px));
      max-width:calc(100vw - 32px);
      max-height:calc(100vh - 56px);
      max-height:calc(100dvh - max(28px, env(safe-area-inset-top)) - max(28px, env(safe-area-inset-bottom)));
      overflow-y:auto;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
      box-shadow:0 24px 64px rgba(0,0,0,.22);
    }
    .v2-intro-dialog[open]{
      inset:0;
      margin:auto;
    }
    .v2-intro-dialog::backdrop{ background:rgba(0,0,0,.5); }
    .v2-intro-dialog__close{
      position:absolute; top:10px; right:10px;
      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;
    }
    .v2-intro-dialog__img{
      width:100%; aspect-ratio:4/3; object-fit:cover;
      display:block; border-radius:20px 20px 0 0;
    }
    .v2-intro-dialog__body{ padding:20px 22px 28px; }
    .v2-intro-dialog__status{
      font-size:.72rem; font-weight:700; color:#16a34a;
      text-transform:uppercase; letter-spacing:.04em; margin-bottom:6px;
    }
    .v2-intro-dialog__name{
      font-size:1.2rem; font-weight:800; margin:0 0 3px;
    }
    .v2-intro-dialog__subtitle{
      font-size:.82rem; color:#888; margin-bottom:14px;
    }
    .v2-intro-dialog__desc{
      font-size:.88rem; line-height:1.75; color:#444; margin-bottom:16px;
      white-space:pre-line;
    }
    .v2-intro-dialog__tags{
      display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;
    }
    .v2-intro-dialog__tag{
      background:#f4f0e8; color:#8a7451; border-radius:999px;
      padding:3px 12px; font-size:.78rem;
    }
    .v2-intro-dialog__price{
      font-size:.82rem; color:#888; margin-bottom:14px;
    }
    .v2-intro-dialog__price strong{
      color:#1a1a1a; font-size:1.05rem; margin-left:4px;
    }
    .v2-intro-dialog__price s{ color:#aaa; margin-right:2px; }

    /* Mor A reel preview */
    .fortune-reel-preview{
      position:relative;
      overflow:hidden;
      background:linear-gradient(180deg,#fffaf2 0%,#f8efe0 100%);
      border-block:1px solid rgba(159,121,48,.16);
      border-radius:24px;
      padding:clamp(22px,4vw,34px);
    }
    .fortune-reel-preview::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        radial-gradient(circle at 12% 10%,rgba(199,164,106,.18),transparent 34%),
        radial-gradient(circle at 86% 18%,rgba(77,50,31,.12),transparent 32%);
      pointer-events:none;
    }
    .fortune-reel-preview__details{
      position:relative;
    }
    .fortune-reel-preview__summary{
      display:grid;
      gap:18px;
      cursor:pointer;
      list-style:none;
    }
    .fortune-reel-preview__summary::-webkit-details-marker{
      display:none;
    }
    .fortune-reel-preview__summary .section-head{
      margin:0;
    }
    .fortune-reel-preview__toggle{
      width:max-content;
      text-decoration:none !important;
    }
    .fortune-reel-preview__toggle-open{
      display:none;
    }
    .fortune-reel-preview__details[open] .fortune-reel-preview__toggle-closed{
      display:none;
    }
    .fortune-reel-preview__details[open] .fortune-reel-preview__toggle-open{
      display:inline;
    }
    .fortune-reel-preview__inner{
      position:relative;
      display:grid;
      grid-template-columns:minmax(280px,420px) minmax(0,1fr);
      gap:34px;
      align-items:center;
      max-width:100%;
      box-sizing:border-box;
      margin-top:24px;
    }
    .fortune-reel-preview__details:not([open]) .fortune-reel-preview__inner{
      display:none;
    }
    .fortune-reel-preview__media{
      max-width:390px;
      margin-inline:auto;
      border:1px solid rgba(74,50,31,.16);
      border-radius:30px;
      padding:12px;
      background:#2f2017;
      box-shadow:0 28px 62px rgba(74,50,31,.22);
    }
    .fortune-reel-preview__media video{
      display:block;
      width:100%;
      aspect-ratio:9/16;
      border-radius:22px;
      background:#150f0b;
      object-fit:cover;
    }
    .fortune-reel-preview__copy{
      display:grid;
      gap:18px;
    }
    .fortune-reel-preview__copy .section-head{
      margin:0;
    }
    .fortune-reel-preview__steps{
      display:grid;
      gap:10px;
      margin:0;
      padding:0;
      list-style:none;
    }
    .fortune-reel-preview__steps li{
      display:flex;
      gap:12px;
      align-items:flex-start;
      padding:14px 16px;
      border:1px solid rgba(199,164,106,.28);
      border-radius:16px;
      background:rgba(255,255,255,.78);
      box-shadow:0 12px 28px rgba(74,50,31,.08);
      color:#4a321f;
      font-weight:800;
      line-height:1.45;
    }
    .fortune-reel-preview__step-number{
      display:grid;
      place-items:center;
      flex:0 0 28px;
      width:28px;
      height:28px;
      border-radius:999px;
      background:#b98d3e;
      color:#fff;
      font-size:13px;
      font-weight:950;
    }
    .fortune-reel-preview__step-text{
      display:block;
      min-width:0;
    }
    .fortune-reel-preview__note{
      margin:0;
      color:#7a624a;
      font-size:13px;
      line-height:1.7;
    }
    .fortune-reel-preview__actions{
      display:flex;
      flex-wrap:wrap;
      gap:10px;
      margin-top:2px;
    }
    .fortune-reel-preview__actions a{
      text-decoration:none !important;
    }

    /* Platform guarantees */
    .fortunev2-guarantee-grid{
      display:grid;
      grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
      gap:14px;
    }
    .fortunev2-guarantee-card{
      background:#fff;
      border:1px solid rgba(0,0,0,0.08);
      border-radius:12px;
      padding:22px;
      box-shadow:0 2px 8px rgba(0,0,0,0.05);
    }
    .fortunev2-guarantee-icon{ margin-bottom:10px; line-height:0; }
    .fortunev2-guarantee-icon-img{ width:44px; height:44px; display:block; object-fit:contain; filter:drop-shadow(0 2px 4px rgba(141,99,57,.22)); }
    .fortunev2-guarantee-title{
      font-size:15px; font-weight:700; margin:0 0 6px;
    }
    .fortunev2-guarantee-desc{
      font-size:13px; color:#5a5a5a; line-height:1.65; margin:0;
    }

    /* CTA Banner */
    .fortunev2-cta-banner{
      margin-top:52px;
      background:
        radial-gradient(circle at 15% 50%, rgba(199,164,106,0.22), transparent 48%),
        linear-gradient(135deg, #2a1f0e, #1a1208);
      border-radius:24px;
      padding:clamp(32px, 5vw, 56px);
      display:flex; align-items:center; justify-content:space-between;
      gap:28px; flex-wrap:wrap;
    }
    .fortunev2-cta-banner__text{ color:#fff; }
    .fortunev2-cta-banner__kicker{
      font-size:11px; font-weight:700; letter-spacing:0.1em;
      text-transform:uppercase; color:#c7a46a; margin-bottom:10px;
    }
    .fortunev2-cta-banner__title{
      margin:0; font-size:clamp(20px, 2.8vw, 28px);
      font-weight:700; line-height:1.2;
    }
    .fortunev2-cta-banner__lead{
      margin:10px 0 0; font-size:14px;
      color:rgba(255,255,255,0.6); line-height:1.65; max-width:46ch;
    }
    .fortunev2-cta-banner__btn{
      padding:14px 30px;
      background:#c7a46a; color:#fff;
      font-weight:700; font-size:15px;
      border-radius:12px; border:none; cursor:pointer;
      white-space:nowrap; text-decoration:none; display:inline-block;
      box-shadow:0 4px 16px rgba(199,164,106,0.4);
      transition:background 0.15s;
    }
    .fortunev2-cta-banner__btn:hover{ background:#9f7930; }

    /* Mobile */
    @media (max-width:768px){
      .fortunev2-member-hub-btn{ display:none; }
      /* Hero 滿版：逃出 .page 的 16px padding，去掉 card 框感 */
      .fortune-hero{
        margin-left: calc(-1 * var(--sp-16));
        margin-right: calc(-1 * var(--sp-16));
        margin-top: 0 !important;
      }
      .fortune-hero .hero{
        grid-template-columns:1fr;
        display:grid;
        gap:10px;
        border-radius: 0;
        border: none;
        box-shadow: none;
        padding: 18px var(--sp-16) 30px;
        background:
          radial-gradient(circle at 10% 10%, rgba(199,164,106,0.18), transparent 42%),
          rgba(255,255,255,0.97);
      }
      .fortune-hero .hero-content,
      .fortunev2-hero-side{
        display:contents;
      }
      .fortunev2-hero-kicker{ order:1; }
      .fortune-hero h1{ order:2; }
      .fortune-hero .lead{ order:3; }
      .fortunev2-hero-cta-row{ order:4; }
      .fortunev2-hero-visual{ order:5; margin-top:0; }
      .fortunev2-hero-trust{ order:6; }
      .fortunev2-booking-flow{ order:7; }
      .hero-content .fortunev2-hero-teachers{ order:8; }
      .fortunev2-hero-side .fortune-hero__meta{ order:9; margin-top:0; }
      .fortunev2-hero-side .v2-hero-stories{ order:10; }
      .fortunev2-hero-side{
        gap:14px;
      }
      .fortune-hero .hero{
        grid-template-columns:1fr;
      }
      .fortunev2-hero-kicker,
      .fortune-hero h1,
      .fortune-hero .lead,
      .fortunev2-hero-visual,
      .fortunev2-hero-side .fortune-hero__meta,
      .fortunev2-hero-cta-row,
      .fortunev2-booking-flow,
      .hero-content .fortunev2-hero-teachers,
      .fortunev2-hero-side .v2-hero-stories{
        min-width:0;
        max-width:100%;
        box-sizing:border-box;
      }
      .fortunev2-hero-visual{
        padding:8px;
        border-radius:22px;
      }
      .fortunev2-hero-visual img{
        border-radius:16px;
      }
      .fortunev2-hero-title-break{
        display:block;
      }
      .fortunev2-hero-kicker{
        margin-bottom:8px;
      }
      .fortune-hero .hero-content h1,
      .fortune-hero h1{
        margin-bottom:0;
      }
      .fortune-hero .lead{
        margin-top:0;
      }
      .fortune-hero__panel{ display:none !important; }
      .fortunev2-teacher-grid{ grid-template-columns:1fr; }
      .fortunev2-open-hours{
        display:flex;
        max-width:100%;
        margin-left:0;
        font-size:11.5px;
        padding:6px 10px;
        border-radius:10px;
        white-space:normal;
      }
      .fortunev2-guarantee-grid{ grid-template-columns:1fr 1fr; }
      .fortunev2-process-summary{ grid-template-columns:1fr; padding:16px; border-radius:16px; }
      .fortunev2-cta-banner{ flex-direction:column; }
      .fortunev2-cta-banner__btn{ width:100%; text-align:center; }
      /* Mobile hero: keep the two primary actions on one row. */
      .fortunev2-hero-cta-row{
        flex-direction:row;
        flex-wrap:nowrap;
        gap:8px;
        margin-top:4px;
        width:100%;
        max-width:100%;
      }
      .fortunev2-hero-cta-row .hero-cta__primary,
      .fortunev2-hero-cta-row .hero-cta__secondary{
        box-sizing:border-box;
        max-width:100%;
      }
      .fortunev2-hero-cta-row .hero-cta__primary{
        flex:1.5 1 0;
        width:auto;
        min-width:0;
        text-align:center;
        justify-content:center;
        font-size:14px;
        padding:11px 10px;
        min-height:46px;
        white-space:nowrap;
      }
      .fortunev2-hero-cta-row .hero-cta__secondary{
        flex:.72 1 0; min-width:0; width:auto; text-align:center; justify-content:center;
        font-size:13px; padding:10px 8px; min-height:46px;
        white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
      }
      .fortunev2-hero-cta-row > .fortunev2-flow-btn{
        background:rgba(255,253,248,.72) !important;
        color:#5f4328 !important;
        border:1px solid rgba(143,104,55,.28) !important;
        box-shadow:0 8px 18px rgba(92,69,38,.08) !important;
      }
      .fortunev2-hero-trust{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:6px;
        margin-top:0;
      }
      .fortunev2-hero-trust__item{
        display:block;
        text-align:center;
        padding:7px 5px 8px;
        border:1px solid rgba(143,104,55,.13);
        border-radius:10px;
        background:rgba(255,253,248,.52);
        box-shadow:none;
        pointer-events:none;
        cursor:default;
      }
      .fortunev2-hero-trust__item::before{
        content:"";
        display:block;
        width:18px;
        height:2px;
        margin:0 auto 5px;
        border-radius:999px;
        background:linear-gradient(90deg, rgba(189,145,74,.32), rgba(109,76,38,.34));
      }
      .fortunev2-hero-trust__main{
        font-size:12px;
        line-height:1.25;
      }
      .fortunev2-hero-trust__sub{
        margin-top:2px;
        font-size:10px;
        line-height:1.25;
        white-space:normal;
      }
      html[lang="en"] .fortunev2-hero-cta-row .hero-cta__secondary{
        flex:0 0 100%;
        width:100%;
        white-space:normal;
        overflow:visible;
        text-overflow:clip;
        line-height:1.25;
        padding:11px 14px;
      }
      html[lang="en"] .fortunev2-hero-cta-row .hero-cta__primary{
        flex:0 0 100%;
        width:100%;
        white-space:normal;
        line-height:1.25;
        padding:11px 14px;
      }
      html[lang="en"] .fortunev2-hero-cta-row{
        flex-direction:column;
        flex-wrap:nowrap;
      }
      .fortunev2-teacher-card{ border-radius:14px; }
      .fortunev2-teacher-head{ padding:16px 16px 0; }
      .fortunev2-teacher-body{ padding:12px 16px; }
      .fortunev2-teacher-foot{ padding:12px 16px; flex-direction:column; align-items:stretch; gap:10px; }
      .fortunev2-teacher-cta{ text-align:center; display:block; }
      .fortune-cro-decision-card{
        grid-template-columns:1fr;
        gap:5px;
        margin:12px 0 14px;
        padding:10px;
        border-radius:15px;
      }
      .fortune-cro-decision-card__intro{
        padding:2px 2px 0;
      }
      .fortune-cro-decision-card__intro h3,
      .fortune-cro-mini-faq__head h3{
        font-size:16.5px;
      }
      .fortune-cro-decision-card__intro p,
      .fortune-cro-mini-faq__head p{
        font-size:12.5px;
      }
      .fortune-cro-decision-card__path{
        min-height:0;
        display:grid;
        grid-template-columns:minmax(0, 1fr) auto;
        align-items:center;
        gap:2px 10px;
        padding:7px 9px;
      }
      .fortune-cro-decision-card__path strong{
        font-size:13px;
        line-height:1.2;
      }
      .fortune-cro-decision-card__path span{
        font-size:11.5px;
        line-height:1.3;
      }
      .fortune-cro-decision-card__path small{
        grid-column:2;
        grid-row:1 / span 2;
        align-self:center;
        white-space:nowrap;
        font-size:11.5px;
      }
      .fortune-cro-fit{
        margin-bottom:10px;
        padding:8px 9px;
        font-size:12px;
      }
      .fortune-cro-mini-faq{
        margin-top:16px;
        padding:12px;
        border-radius:16px;
      }
      .fortune-cro-mini-faq__head{
        display:block;
        margin-bottom:10px;
      }
      .fortune-cro-mini-faq__head p{
        margin-top:4px;
      }
      .fortune-cro-mini-faq__grid{
        grid-template-columns:1fr 1fr;
        gap:7px;
      }
      .fortune-cro-mini-faq__item{
        padding:9px;
      }
      .fortune-cro-mini-faq__item strong{
        font-size:12.5px;
      }
      .fortune-cro-mini-faq__item span{
        font-size:11.5px;
        line-height:1.45;
      }
      .fortune-cro-slot-hint{
        margin:7px 0 9px;
        padding:8px 10px;
        font-size:12px;
      }
      html[lang="en"] .fortunev2-teacher-foot__actions{ min-width:0; }
      html[lang="en"] .fortunev2-booking-flow__steps{ grid-template-columns:1fr; }
      .fortune-reel-preview__inner{
        grid-template-columns:1fr;
        gap:20px;
      }
      .fortune-reel-preview{
        border-radius:20px;
        padding:20px 16px 22px;
      }
      .fortune-reel-preview__copy{
        order:-1;
      }
      .fortune-reel-preview__media{
        width:min(100%,330px);
        max-width:330px;
      }
      .fortune-reel-preview .section-head{
        margin-bottom:0;
      }
      .fortunev2-cta-banner{ padding:24px 20px; border-radius:16px; }
      .v2-intro-dialog{
        width:calc(100vw - 20px);
        max-width:calc(100vw - 20px);
        max-height:calc(100vh - 40px);
        max-height:calc(100dvh - max(20px, env(safe-area-inset-top)) - max(20px, env(safe-area-inset-bottom)));
      }
    }
    /* 修正 fortune.inline-1.css 把 h1 設 white-space:nowrap 導致長標題截斷 */
    @media (max-width:640px){
      .fortune-hero h1{
        white-space:normal !important;
        text-wrap:wrap !important;
        word-break:keep-all !important;
        overflow-wrap:normal !important;
        font-size:clamp(20px,5.5vw,26px) !important;
      }
      .fortunev2-member-hub-btn{
        min-width:78px;
        padding:0 10px;
        font-size:11px;
      }
    }
    @media (max-width:480px){
      .fortunev2-guarantee-grid{ grid-template-columns:1fr 1fr; }
    }
    @media (max-width:768px){
      .fortune-compact-flow__summary{
        padding:14px;
      }
      .fortune-compact-flow__body{
        padding:0 14px 14px;
      }
      .fortune-compact-flow .fortunev2-process-summary{
        display:none;
      }
      .fortune-compact-flow .fortune-timeline{
        margin-top:0;
      }
      .fortune-guides-compact .fortune-grid{
        grid-template-columns:1fr;
        gap:7px;
      }
      .fortune-guides-compact .fortune-card{
        padding:12px;
      }
      .fortune-guides-compact .fortune-card p{
        display:none;
      }
      .fortune-guides-compact .fortune-inline-cta{
        margin-top:8px;
      }
      #booking .fortune-grid{
        grid-template-columns:1fr;
        gap:8px;
      }
      #booking .fortune-card{
        padding:12px;
      }
      #booking .fortune-card p{
        margin-bottom:0;
        font-size:12.5px;
        line-height:1.55;
      }
      #booking .section-head__lead{
        font-size:13px;
        line-height:1.55;
      }
    }
  .fortune-paid-intent[hidden]{
  display:none !important;
}

.fortune-paid-intent{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:8px 12px;
  align-items:start;
  margin:12px 0 0;
  padding:11px 13px;
  border:1px solid rgba(159,121,48,.24);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(255,253,248,.96), rgba(255,244,221,.88));
  box-shadow:0 10px 24px rgba(92,69,38,.08);
  color:#4f4337;
}

.fortune-paid-intent__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(159,121,48,.10);
  color:#8b5e22;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
}

.fortune-paid-intent__eyebrow::before{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#c78c36;
  content:"";
}

.fortune-paid-intent__copy{
  min-width:0;
}

.fortune-paid-intent__title,
.fortune-paid-intent__body,
.fortune-paid-intent__note{
  display:block;
}

.fortune-paid-intent__title{
  color:#2b241d;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}

.fortune-paid-intent__body{
  margin-top:2px;
  color:#625448;
  font-size:12.5px;
  line-height:1.55;
}

.fortune-paid-intent__note{
  margin-top:3px;
  color:#846e59;
  font-size:11px;
  line-height:1.45;
}

@media (max-width:768px){
  .fortune-paid-intent{
    order:3;
    grid-template-columns:1fr;
    gap:6px;
    margin-top:4px;
    padding:9px 10px;
    border-radius:12px;
    box-shadow:none;
  }

  .fortune-paid-intent__eyebrow{
    justify-self:start;
    min-height:20px;
    padding:2px 7px;
    font-size:10.5px;
  }

  .fortune-paid-intent__title{
    font-size:13.5px;
  }

  .fortune-paid-intent__body{
    font-size:12px;
    line-height:1.45;
  }

  .fortune-paid-intent__note{
    font-size:10.5px;
  }
}

@media (prefers-reduced-motion:reduce){
  .fortune-paid-intent{
    scroll-behavior:auto;
  }
}
