 /* ═══════════════════════════════════════
       CSS VARIABLES — botry- 前綴命名空間
    ═══════════════════════════════════════ */
    :root {
      --wb-bg:         #f7f5fb;
      --wb-bg2:        #edeaf6;
      --wb-cream:      #faf8f2;
      --wb-purple:     #6c5fc7;
      --wb-purple-dk:  #4b3fa0;
      --wb-purple-lt:  #ede9f8;
      --wb-violet:     #9b8de8;
      --wb-sage:       #7aad9a;
      --wb-amber:      #e8a050;
      --wb-text:       #2a2240;
      --wb-text-md:    #5a5272;
      --wb-text-lt:    #8e87a8;
      --wb-border:     rgba(108,95,199,0.15);
      --wb-white:      #ffffff;
      --wb-shadow:     0 8px 32px rgba(108,95,199,0.10);
      --wb-radius:     18px;
      --wb-ease:       0.28s cubic-bezier(0.4,0,0.2,1);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      background: var(--wb-bg);
      color: var(--wb-text);
      font-family: 'Noto Sans TC', sans-serif;
      font-size: 15px;
      line-height: 1.75;
      padding-top: 0px;
    }

    /* ── 共用容器 ── */
    .botry-wb-wrap {
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 2rem;
    }
    @media (max-width: 640px) { .botry-wb-wrap { padding: 0 1.2rem; } }

    /* ── Breadcrumb ── */
    .botry-wb-crumb {
      padding: 0.85rem 0;
      font-size: 12px;
      color: var(--wb-text-lt);
      border-bottom: 1px solid var(--wb-border);
    }
    .botry-wb-crumb a { color: var(--wb-text-lt); text-decoration: none; }
    .botry-wb-crumb a:hover { color: var(--wb-purple); }
    .botry-wb-crumb span { margin: 0 0.4rem; }

    /* ════════════════════════════════
       HERO
    ════════════════════════════════ */
    .botry-wb-hero {
      background: linear-gradient(145deg, #e4dff5 0%, #d6d0ef 35%, #cddcea 100%);
      padding: 4.5rem 0 3.5rem;
      position: relative;
      overflow: hidden;
    }
    .botry-wb-hero::before {
      content: '';
      position: absolute;
      top: -80px; right: -60px;
      width: 400px; height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(108,95,199,0.10) 0%, transparent 70%);
    }
    .botry-wb-hero__inner {
      position: relative;
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 2rem;
      display: flex;
      align-items: center;
      gap: 3rem;
    }
    .botry-wb-hero__text { flex: 1; }
    .botry-wb-hero__badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(108,95,199,0.10);
      color: var(--wb-purple);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.08em;
      padding: 4px 14px;
      border-radius: 30px;
      border: 1px solid rgba(108,95,199,0.18);
      margin-bottom: 1rem;
    }
    .botry-wb-hero h2 {
      font-family: 'Noto Serif TC', serif;
      font-size: clamp(1.8rem, 4vw, 2.7rem);
      font-weight: 700;
      color: var(--wb-text);
      line-height: 1.35;
      margin-bottom: 1rem;
    }
    .botry-wb-hero h2 em {
      font-style: normal;
      color: var(--wb-purple);
    }
    .botry-wb-hero__desc {
      font-size: 0.95rem;
      color: var(--wb-text-md);
      max-width: 500px;
      margin-bottom: 1.8rem;
      line-height: 1.9;
    }
    .botry-wb-hero__btns { display: flex; flex-wrap: wrap; gap: 0.8rem; }

    /* CTA Buttons */
    .botry-wb-btn-p {
      display: inline-flex; align-items: center; gap: 6px;
      background: linear-gradient(135deg, var(--wb-purple), var(--wb-purple-dk));
      color: white; padding: 0.75rem 1.6rem;
      border-radius: 50px; font-size: 0.9rem; font-weight: 600;
      text-decoration: none;
      box-shadow: 0 4px 18px rgba(108,95,199,0.38);
      transition: transform var(--wb-ease), box-shadow var(--wb-ease);
    }
    .botry-wb-btn-p:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(108,95,199,0.45); }
    .botry-wb-btn-o {
      display: inline-flex; align-items: center; gap: 6px;
      background: white; color: var(--wb-purple);
      padding: 0.72rem 1.4rem; border-radius: 50px;
      font-size: 0.9rem; font-weight: 600; text-decoration: none;
      border: 1.5px solid rgba(108,95,199,0.28);
      transition: border-color var(--wb-ease), background var(--wb-ease);
    }
    .botry-wb-btn-o:hover { border-color: var(--wb-purple); background: var(--wb-purple-lt); }

    /* Hero 裝飾：「後台視窗」示意 */
    .botry-wb-hero__visual { flex: 0 0 290px; }
    .botry-wb-window {
      background: white;
      border-radius: 14px;
      box-shadow: 0 16px 48px rgba(108,95,199,0.18);
      overflow: hidden;
      border: 1px solid var(--wb-border);
    }
    .botry-wb-window__bar {
      height: 32px;
      background: linear-gradient(90deg, var(--wb-purple-lt), #e6e0f8);
      display: flex; align-items: center; padding: 0 12px; gap: 6px;
    }
    .botry-wb-window__dot {
      width: 9px; height: 9px; border-radius: 50%;
    }
    .botry-wb-window__body { padding: 14px 16px; }
    .botry-wb-window__sidebar {
      display: flex; gap: 10px;
    }
    .botry-wb-window__nav {
      width: 60px;
      display: flex; flex-direction: column; gap: 5px;
    }
    .botry-wb-window__nav-item {
      height: 22px; border-radius: 6px;
      background: var(--wb-purple-lt);
      transition: background var(--wb-ease);
    }
    .botry-wb-window__nav-item:first-child { background: var(--wb-purple); opacity: 0.7; }
    .botry-wb-window__content { flex: 1; display: flex; flex-direction: column; gap: 7px; }
    .botry-wb-window__row {
      height: 8px; border-radius: 4px;
      background: linear-gradient(90deg, rgba(108,95,199,0.18), transparent);
    }
    .botry-wb-window__card-row { display: flex; gap: 6px; margin-top: 4px; }
    .botry-wb-window__mini-card {
      flex: 1; height: 40px; border-radius: 8px;
      background: var(--wb-purple-lt); opacity: 0.6;
    }
    .botry-wb-badge-row { display: flex; gap: 5px; margin-top: 6px; }
    .botry-wb-badge-chip {
      height: 14px; width: 40px; border-radius: 7px;
      background: rgba(108,95,199,0.15);
    }
    /* 游標閃爍動畫 */
    .botry-wb-cursor {
      display: inline-block;
      width: 2px; height: 12px;
      background: var(--wb-purple);
      border-radius: 1px;
      animation: botry-wb-blink 1s step-end infinite;
      margin-left: 3px; vertical-align: middle;
    }
    @keyframes botry-wb-blink { 0%,100%{opacity:1} 50%{opacity:0} }
    @media (max-width: 820px) { .botry-wb-hero__visual { display: none; } }

    /* ════════════════════════════════
       SECTION WRAPPER
    ════════════════════════════════ */
    .botry-wb-sec { padding: 4rem 0; }
    .botry-wb-sec--alt  { background: var(--wb-cream); }
    .botry-wb-sec--soft { background: linear-gradient(180deg, var(--wb-bg) 0%, var(--wb-bg2) 100%); }
    .botry-wb-sec__head { text-align: center; margin-bottom: 2.8rem; }
    .botry-wb-eyebrow {
      font-size: 11px; font-weight: 700; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--wb-purple); margin-bottom: 0.5rem;
    }
    .botry-wb-sec__head h2 {
      font-family: 'Noto Serif TC', serif;
      font-size: clamp(1.4rem, 3vw, 2rem);
      font-weight: 700; color: var(--wb-text); margin-bottom: 0.5rem;
    }
    .botry-wb-sec__head p { font-size: 0.9rem; color: var(--wb-text-md); }

    /* ════════════════════════════════
       SERVICE TABS — 服務類型切換
    ════════════════════════════════ */
    .botry-wb-tabs {
      display: flex; flex-wrap: wrap; gap: 0.6rem;
      justify-content: center; margin-bottom: 2.5rem;
    }
    .botry-wb-tab {
      padding: 0.5rem 1.2rem;
      border-radius: 50px;
      font-size: 0.85rem; font-weight: 600;
      border: 1.5px solid var(--wb-border);
      background: white; color: var(--wb-text-md);
      cursor: pointer;
      transition: background var(--wb-ease), color var(--wb-ease), border-color var(--wb-ease), transform var(--wb-ease);
    }
    .botry-wb-tab:hover { border-color: var(--wb-purple); color: var(--wb-purple); background: var(--wb-purple-lt); }
    .botry-wb-tab.botry-wb-tab--active {
      background: linear-gradient(135deg, var(--wb-purple), var(--wb-purple-dk));
      color: white; border-color: transparent;
      box-shadow: 0 4px 14px rgba(108,95,199,0.3);
    }
    .botry-wb-tab-panel { display: none; }
    .botry-wb-tab-panel.botry-wb-panel--active { display: block; }

    /* ════════════════════════════════
       SERVICE CARDS — 服務說明卡
    ════════════════════════════════ */
    .botry-wb-service-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1.2rem;
    }
    .botry-wb-scard {
      background: white; border-radius: var(--wb-radius);
      padding: 1.6rem 1.4rem;
      border: 1px solid var(--wb-border);
      box-shadow: 0 4px 20px rgba(108,95,199,0.06);
      transition: transform var(--wb-ease), box-shadow var(--wb-ease);
      position: relative; overflow: hidden;
    }
    .botry-wb-scard::after {
      content: '';
      position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: linear-gradient(90deg, var(--wb-purple), var(--wb-violet));
      transform: scaleX(0); transform-origin: left;
      transition: transform var(--wb-ease);
    }
    .botry-wb-scard:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(108,95,199,0.12); }
    .botry-wb-scard:hover::after { transform: scaleX(1); }
    .botry-wb-scard__icon {
      width: 46px; height: 46px; border-radius: 12px;
      background: var(--wb-purple-lt);
      display: flex; align-items: center; justify-content: center;
      font-size: 22px; margin-bottom: 1rem;
    }
    .botry-wb-scard h3 {
      font-size: 0.95rem; font-weight: 700;
      color: var(--wb-text); margin-bottom: 0.5rem;
    }
    .botry-wb-scard p { font-size: 0.82rem; color: var(--wb-text-md); line-height: 1.85; }
    .botry-wb-scard__tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 0.8rem; }
    .botry-wb-stag {
      font-size: 11px; font-weight: 600; padding: 2px 9px;
      border-radius: 20px; border: 1px solid transparent;
    }
    .botry-wb-stag--core { background: #f0edfc; color: var(--wb-purple-dk); border-color: rgba(108,95,199,0.2); }
    .botry-wb-stag--long { background: rgba(155,141,232,0.1); color: #3a2880; border-color: rgba(155,141,232,0.25); }
    .botry-wb-stag--geo  { background: rgba(122,173,154,0.1); color: #2a6848; border-color: rgba(122,173,154,0.3); }

    /* ════════════════════════════════
       CMS FEATURE — 後台特色
    ════════════════════════════════ */
    .botry-wb-cms-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2.5rem; align-items: center;
    }
    @media (max-width: 720px) { .botry-wb-cms-grid { grid-template-columns: 1fr; } }
    .botry-wb-cms__text h3 {
      font-family: 'Noto Serif TC', serif;
      font-size: 1.35rem; font-weight: 700; color: var(--wb-text); margin-bottom: 0.8rem;
    }
    .botry-wb-cms__text p { font-size: 0.88rem; color: var(--wb-text-md); line-height: 1.9; margin-bottom: 0.8rem; }
    .botry-wb-check-list { list-style: none; margin-top: 1rem; }
    .botry-wb-check-list li {
      font-size: 0.85rem; color: var(--wb-text-md);
      padding: 0.45rem 0;
      display: flex; align-items: flex-start; gap: 8px;
      border-bottom: 1px dashed rgba(108,95,199,0.12);
    }
    .botry-wb-check-list li:last-child { border-bottom: none; }
    .botry-wb-check-list .ck { color: var(--wb-sage); font-weight: 700; flex-shrink: 0; }

    /* CMS 介面示意圖 */
    .botry-wb-cms__visual {
      background: white; border-radius: 16px;
      box-shadow: var(--wb-shadow); border: 1px solid var(--wb-border);
      overflow: hidden;
    }
    .botry-wb-cms__topbar {
      height: 36px;
      background: linear-gradient(90deg, #2a2240, #3a3060);
      display: flex; align-items: center; padding: 0 14px; gap: 8px;
    }
    .botry-wb-cms__dot { width: 8px; height: 8px; border-radius: 50%; }
    .botry-wb-cms__body {
      display: flex; min-height: 180px;
    }
    .botry-wb-cms__sidebar {
      width: 56px; background: #f0edf8;
      border-right: 1px solid var(--wb-border);
      padding: 10px 6px;
      display: flex; flex-direction: column; gap: 6px;
    }
    .botry-wb-cms__sitem {
      height: 28px; border-radius: 6px;
      background: var(--wb-purple-lt);
      display: flex; align-items: center; justify-content: center;
      font-size: 14px;
      cursor: default;
      transition: background var(--wb-ease);
    }
    .botry-wb-cms__sitem:first-child { background: var(--wb-purple); }
    .botry-wb-cms__main { flex: 1; padding: 12px 14px; }
    .botry-wb-cms__input-row { display: flex; gap: 8px; margin-bottom: 8px; }
    .botry-wb-cms__input {
      flex: 1; height: 22px; border-radius: 5px;
      background: #f5f3fc; border: 1px solid var(--wb-border);
    }
    .botry-wb-cms__textarea {
      width: 100%; height: 48px; border-radius: 5px;
      background: #f5f3fc; border: 1px solid var(--wb-border);
      margin-bottom: 8px;
    }
    .botry-wb-cms__btn-row { display: flex; gap: 6px; }
    .botry-wb-cms__submit {
      height: 22px; width: 60px; border-radius: 11px;
      background: linear-gradient(90deg, var(--wb-purple), var(--wb-violet));
      opacity: 0.8;
    }
    .botry-wb-cms__cancel { height: 22px; width: 40px; border-radius: 11px; background: #e8e3f5; }

    /* ════════════════════════════════
       PROCESS 建置流程
    ════════════════════════════════ */
    .botry-wb-process {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
      gap: 0;
    }
    .botry-wb-pitem {
      text-align: center; padding: 1.6rem 0.8rem; position: relative;
    }
    .botry-wb-pitem:not(:last-child)::after {
      content: '→';
      position: absolute; top: 1.9rem; right: -0.5rem;
      color: rgba(108,95,199,0.28); font-size: 1.1rem; z-index: 1;
    }
    .botry-wb-pnum {
      width: 48px; height: 48px; border-radius: 50%;
      background: linear-gradient(135deg, var(--wb-purple), var(--wb-violet));
      color: white; font-family: 'Noto Serif TC', serif;
      font-size: 16px; font-weight: 700;
      display: flex; align-items: center; justify-content: center;
      margin: 0 auto 0.8rem;
      box-shadow: 0 4px 14px rgba(108,95,199,0.3);
    }
    .botry-wb-plabel { font-size: 0.82rem; font-weight: 700; color: var(--wb-text); margin-bottom: 0.2rem; }
    .botry-wb-pdesc { font-size: 0.74rem; color: var(--wb-text-lt); line-height: 1.5; }
    @media (max-width: 640px) {
      .botry-wb-process { grid-template-columns: repeat(2, 1fr); }
      .botry-wb-pitem::after { display: none; }
    }

    /* ════════════════════════════════
       PRICE 方案
    ════════════════════════════════ */
    .botry-wb-price-grid {
      display: flex; flex-wrap: wrap;
      gap: 1.4rem; justify-content: center;
      margin-bottom: 2rem;
    }
    .botry-wb-plan {
      background: white; border-radius: 22px;
      flex: 1 1 200px; min-width: 190px; max-width: 275px;
      box-shadow: 0 16px 36px -10px rgba(108,95,199,0.12);
      border: 1px solid var(--wb-border); overflow: hidden;
      transition: transform var(--wb-ease), box-shadow var(--wb-ease);
      position: relative;
    }
    .botry-wb-plan:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -12px rgba(108,95,199,0.2); }
    .botry-wb-plan--feat { border: 2px solid rgba(108,95,199,0.38); }
    .botry-wb-plan__badge {
      position: absolute; top: 12px; right: 12px;
      background: linear-gradient(135deg, var(--wb-purple), var(--wb-violet));
      color: white; font-size: 10px; font-weight: 700;
      padding: 3px 10px; border-radius: 20px;
    }
    .botry-wb-plan__head {
      padding: 1.4rem 1.2rem 1rem;
      border-bottom: 1px solid #f0eef8;
      background: linear-gradient(160deg, #faf9ff, white);
    }
    .botry-wb-plan__name {
      font-family: 'Noto Serif TC', serif;
      font-size: 1.05rem; font-weight: 700; color: var(--wb-text); margin-bottom: 0.4rem;
    }
    .botry-wb-plan__price {
      font-size: 1.9rem; font-weight: 800;
      color: var(--wb-purple-dk); letter-spacing: -0.02em;
    }
    .botry-wb-plan__price small { font-size: 0.8rem; font-weight: 500; color: var(--wb-text-lt); }
    .botry-wb-plan__body { padding: 1rem 1.2rem 1.4rem; }
    .botry-wb-plan__list { list-style: none; }
    .botry-wb-plan__list li {
      font-size: 0.81rem; padding: 0.38rem 0;
      display: flex; align-items: flex-start; gap: 7px;
      color: var(--wb-text-md);
      border-bottom: 1px dashed rgba(108,95,199,0.1);
    }
    .botry-wb-plan__list li:last-child { border-bottom: none; }
    .botry-wb-plan__ck { color: var(--wb-sage); font-weight: 700; flex-shrink: 0; margin-top: 1px; }

    /* Addons */
    .botry-wb-addons {
      background: white; border-radius: 20px;
      padding: 1.6rem 1.8rem;
      box-shadow: 0 8px 24px rgba(108,95,199,0.07);
      border: 1px solid var(--wb-border); margin-bottom: 1.5rem;
    }
    .botry-wb-addons__title {
      font-size: 1rem; font-weight: 700; color: var(--wb-text);
      margin-bottom: 1.2rem; display: flex; align-items: center; gap: 8px;
      padding-left: 0.8rem; border-left: 4px solid var(--wb-purple);
    }
    .botry-wb-addons__row { display: flex; flex-wrap: wrap; gap: 1rem; }
    .botry-wb-addon {
      flex: 1; min-width: 185px; background: var(--wb-bg);
      border-radius: 14px; padding: 1rem 1.2rem;
      border: 1px solid var(--wb-border);
      transition: border-color var(--wb-ease), background var(--wb-ease);
    }
    .botry-wb-addon:hover { border-color: rgba(108,95,199,0.3); background: var(--wb-purple-lt); }
    .botry-wb-addon__name { font-size: 0.95rem; font-weight: 700; color: var(--wb-text); margin-bottom: 0.2rem; }
    .botry-wb-addon__price { font-size: 1.3rem; font-weight: 800; color: var(--wb-purple); margin-bottom: 0.3rem; }
    .botry-wb-addon__desc { font-size: 0.78rem; color: var(--wb-text-md); line-height: 1.7; }

    .botry-wb-price-note {
      background: rgba(108,95,199,0.06); border-radius: 14px;
      padding: 0.8rem 1.4rem;
      display: flex; flex-wrap: wrap; gap: 0.8rem;
      font-size: 0.8rem; color: var(--wb-text-md);
    }
    .botry-wb-price-note span {
      background: white; padding: 0.2rem 0.7rem;
      border-radius: 20px; border: 1px solid var(--wb-border);
    }

    /* ════════════════════════════════
       FAQ
    ════════════════════════════════ */
    .botry-wb-faq { max-width: 740px; margin: 0 auto; }
    .botry-wb-faq-item {
      background: white; border-radius: 14px;
      border: 1px solid var(--wb-border); margin-bottom: 0.8rem; overflow: hidden;
      transition: box-shadow var(--wb-ease);
    }
    .botry-wb-faq-item:hover { box-shadow: 0 4px 18px rgba(108,95,199,0.08); }
    .botry-wb-faq-q {
      width: 100%; background: none; border: none;
      padding: 1.1rem 1.4rem;
      display: flex; align-items: center; justify-content: space-between; gap: 1rem;
      cursor: pointer; font-family: 'Noto Sans TC', sans-serif;
      font-size: 0.9rem; font-weight: 600; color: var(--wb-text); text-align: left;
    }
    .botry-wb-faq-arrow {
      flex-shrink: 0; width: 22px; height: 22px; border-radius: 50%;
      background: var(--wb-purple-lt); color: var(--wb-purple);
      font-size: 14px; display: flex; align-items: center; justify-content: center;
      transition: transform var(--wb-ease), background var(--wb-ease);
    }
    .botry-wb-faq-item.botry-wb-open .botry-wb-faq-arrow {
      transform: rotate(180deg); background: var(--wb-purple); color: white;
    }
    .botry-wb-faq-a {
      max-height: 0; overflow: hidden;
      transition: max-height 0.35s ease, padding var(--wb-ease);
      font-size: 0.85rem; color: var(--wb-text-md); line-height: 1.85;
      padding: 0 1.4rem;
    }
    .botry-wb-faq-item.botry-wb-open .botry-wb-faq-a { max-height: 300px; padding-bottom: 1.2rem; }

    /* ════════════════════════════════
       WHY US
    ════════════════════════════════ */
    .botry-wb-why-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
      gap: 1rem;
    }
    .botry-wb-why {
      background: white; border-radius: 16px; padding: 1.4rem;
      text-align: center;
      box-shadow: 0 4px 18px rgba(108,95,199,0.06);
      border: 1px solid var(--wb-border);
      transition: transform var(--wb-ease);
    }
    .botry-wb-why:hover { transform: translateY(-3px); }
    .botry-wb-why__num {
      font-family: 'Noto Serif TC', serif; font-size: 2rem; font-weight: 700;
      background: linear-gradient(135deg, var(--wb-purple), var(--wb-violet));
      background-clip: text; -webkit-background-clip: text; color: transparent;
      margin-bottom: 0.2rem;
    }
    .botry-wb-why__label { font-size: 0.82rem; font-weight: 700; color: var(--wb-text); margin-bottom: 0.3rem; }
    .botry-wb-why__desc { font-size: 0.76rem; color: var(--wb-text-lt); line-height: 1.7; }

    /* ════════════════════════════════
       CTA Banner
    ════════════════════════════════ */
    .botry-wb-cta {
      background: linear-gradient(135deg, var(--wb-purple-dk), var(--wb-purple) 55%, #7060c8);
      border-radius: 24px; padding: 3rem 2rem;
      text-align: center; color: white; position: relative; overflow: hidden;
    }
    .botry-wb-cta::before {
      content: ''; position: absolute; top: -50px; right: -50px;
      width: 240px; height: 240px; border-radius: 50%;
      background: rgba(255,255,255,0.05);
    }
    .botry-wb-cta h2 {
      font-family: 'Noto Serif TC', serif;
      font-size: 1.6rem; font-weight: 700; margin-bottom: 0.6rem; position: relative;
    }
    .botry-wb-cta p { font-size: 0.9rem; opacity: 0.85; margin-bottom: 1.8rem; position: relative; }
    .botry-wb-cta__btns {
      display: flex; flex-wrap: wrap; gap: 0.8rem; justify-content: center; position: relative;
    }
    .botry-wb-btn-w {
      display: inline-flex; align-items: center; gap: 6px;
      background: white; color: var(--wb-purple-dk);
      padding: 0.75rem 1.6rem; border-radius: 50px;
      font-size: 0.9rem; font-weight: 700; text-decoration: none;
      box-shadow: 0 4px 18px rgba(0,0,0,0.15);
      transition: transform var(--wb-ease), box-shadow var(--wb-ease);
    }
    .botry-wb-btn-w:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }
    .botry-wb-btn-line {
      display: inline-flex; align-items: center; gap: 6px;
      background: #06c755; color: white;
      padding: 0.75rem 1.4rem; border-radius: 50px;
      font-size: 0.9rem; font-weight: 700; text-decoration: none;
      transition: transform var(--wb-ease);
    }
    .botry-wb-btn-line:hover { transform: translateY(-2px); }

    /* ════════════════════════════════
       NAP 資訊帶
    ════════════════════════════════ */
    .botry-wb-nap {
      background: linear-gradient(90deg, var(--wb-purple-lt), white);
      border-radius: 16px; padding: 1.2rem 1.8rem;
      display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center;
      border: 1px solid var(--wb-border); margin-top: 2rem;
    }
    .botry-wb-nap-item {
      display: flex; align-items: center; gap: 8px;
      font-size: 0.85rem; color: var(--wb-text-md);
    }
    .botry-wb-nap-item a { color: var(--wb-purple); font-weight: 600; text-decoration: none; }
    .botry-wb-nap-icon {
      width: 30px; height: 30px; background: var(--wb-purple-lt);
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      font-size: 14px; flex-shrink: 0;
    }

    /* ── Area tags ── */
    .botry-wb-areas { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
    .botry-wb-area {
      background: white; border: 1px solid var(--wb-border);
      color: var(--wb-text-md); font-size: 0.82rem; font-weight: 500;
      padding: 5px 14px; border-radius: 30px;
      transition: background var(--wb-ease), color var(--wb-ease), border-color var(--wb-ease);
    }
    .botry-wb-area:hover { background: var(--wb-purple-lt); color: var(--wb-purple); border-color: rgba(108,95,199,0.3); }

    /* ── Scroll reveal ── */
    .botry-wb-reveal {
      opacity: 0; transform: translateY(20px);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }
    .botry-wb-reveal.botry-wb-visible { opacity: 1; transform: translateY(0); }