 /* ════════════════════════════════
       botry- 命名空間 · 超淺紫米白漸層系
       ════════════════════════════════ */
    :root {
      --botry-bg:          #f7f5fc;
      --botry-white:       #ffffff;
      --botry-purple:      #6c4fc0;
      --botry-purple-dk:   #4e37a0;
      --botry-purple-lt:   #c8b8f0;
      --botry-purple-pale: #f0ecfc;
      --botry-lavender:    #e8e2f8;
      --botry-teal:        #2a9090;
      --botry-gold:        #b07820;
      --botry-text:        #2a2040;
      --botry-text-mid:    #5a4878;
      --botry-text-lt:     #9a8eb8;
      --botry-border:      #d8d0f0;
      --botry-shadow:      rgba(108,79,192,0.12);
      --botry-radius-lg:   1.6rem;
      --botry-radius-md:   1rem;
      --botry-radius-sm:   0.5rem;
      --botry-tr:          0.25s ease;
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Noto Sans TC', sans-serif;
      background: var(--botry-bg);
      color: var(--botry-text);
      line-height: 1.75;
      font-size: 15px;
    }

    .botry-nav-spacer { height: 0px; }

    /* ══ HERO ══ */
    .botry-hero {
      position: relative;
      background: linear-gradient(135deg, #5a3580 0%, #7c58b8 45%, #a07ae0 100%);
      padding: 5rem 1.5rem 4rem;
      overflow: hidden;
      text-align: center;
    }
    .botry-hero::before {
      content: '';
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 55% 55% at 18% 30%, rgba(255,255,255,0.08) 0%, transparent 70%),
        radial-gradient(ellipse 45% 55% at 82% 70%, rgba(200,160,255,0.14) 0%, transparent 60%);
      pointer-events: none;
    }
    .botry-hero-deco {
      position: absolute; border-radius: 50%;
      opacity: 0.07; background: white;
      animation: botry-float 6s ease-in-out infinite;
    }
    .botry-hero-deco:nth-child(1){ width:280px; height:280px; bottom:-60px; left:-50px;  animation-delay:0s; }
    .botry-hero-deco:nth-child(2){ width:150px; height:150px; top:-20px;   right:10%;   animation-delay:2s; }
    .botry-hero-deco:nth-child(3){ width:80px;  height:80px;  top:35%;    left:25%;    animation-delay:4s; }
    @keyframes botry-float {
      0%,100%{ transform:translateY(0); }
      50%    { transform:translateY(-12px); }
    }

    .botry-hero-inner { position:relative; max-width:760px; margin:0 auto; }
    .botry-hero-badge {
      display:inline-block;
      background:rgba(255,255,255,0.18); border:1px solid rgba(255,255,255,0.3);
      color:#f0e8ff; font-size:12px; font-weight:500; letter-spacing:0.1em;
      padding:4px 16px; border-radius:20px; margin-bottom:1.2rem;
    }
    .botry-hero h2 {
      font-size:clamp(1.8rem,5vw,3rem); font-weight:700; color:#fff;
      line-height:1.3; margin-bottom:1rem;
    }
    .botry-hero h2 em {
      font-style:normal;
      background:linear-gradient(90deg,#ffe8d8,#d8d0ff);
      -webkit-background-clip:text; background-clip:text; color:transparent;
    }
    .botry-hero-desc {
      font-size:1rem; color:rgba(255,255,255,0.78);
      max-width:540px; margin:0 auto 2rem; line-height:1.8;
    }
    .botry-hero-cta { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

    .botry-btn-primary {
      background:#fff; color:var(--botry-purple-dk);
      font-weight:700; font-size:0.95rem; padding:0.75rem 2rem;
      border-radius:50px; border:none; cursor:pointer; text-decoration:none;
      display:inline-flex; align-items:center; gap:6px;
      transition:var(--botry-tr); box-shadow:0 4px 20px rgba(0,0,0,0.15);
    }
    .botry-btn-primary:hover{ transform:translateY(-3px); box-shadow:0 8px 28px rgba(0,0,0,0.2); }

    .botry-btn-outline {
      background:transparent; color:#fff; font-weight:600; font-size:0.95rem;
      padding:0.75rem 2rem; border-radius:50px; border:2px solid rgba(255,255,255,0.5);
      cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:6px;
      transition:var(--botry-tr);
    }
    .botry-btn-outline:hover{ border-color:#fff; background:rgba(255,255,255,0.1); transform:translateY(-3px); }

    /* 信任條 */
    .botry-trust-bar {
      background:linear-gradient(90deg,#f2eefa 0%,#ece8f8 100%);
      border-bottom:1px solid var(--botry-border); padding:0.9rem 1.5rem;
    }
    .botry-trust-inner {
      max-width:1100px; margin:0 auto;
      display:flex; flex-wrap:wrap; justify-content:center; gap:0.5rem 2.5rem;
    }
    .botry-trust-item { display:flex; align-items:center; gap:6px; font-size:0.82rem; color:var(--botry-text-mid); font-weight:500; }
    .botry-hi { color:var(--botry-purple); font-weight:700; }

    /* 麵包屑 */
    .botry-breadcrumb {
      max-width:1100px; margin:1.5rem auto 0; padding:0 1.5rem;
      font-size:0.78rem; color:var(--botry-text-lt);
    }
    .botry-breadcrumb a{ color:var(--botry-purple); text-decoration:none; }
    .botry-breadcrumb a:hover{ text-decoration:underline; }
    .botry-breadcrumb span{ margin:0 6px; opacity:0.5; }

    /* 主容器 */
    .botry-page{ max-width:1100px; margin:0 auto; padding:2.5rem 1.5rem 4rem; }
    .botry-section{ margin-bottom:4rem; }

    .botry-section-head{ display:flex; align-items:center; gap:10px; margin-bottom:1.5rem; }
    .botry-section-line{
      width:4px; height:26px; border-radius:4px; flex-shrink:0;
      background:linear-gradient(180deg,var(--botry-purple),var(--botry-purple-lt));
    }
    .botry-section-head h2{ font-size:1.4rem; font-weight:700; color:var(--botry-text); }
    .botry-section-head p { font-size:0.82rem; color:var(--botry-text-lt); margin-left:auto; }

    /* ══ INTRO ══ */
    .botry-intro-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start; }

    .botry-intro-text{
      background:var(--botry-white); border-radius:var(--botry-radius-lg);
      padding:2rem; box-shadow:0 6px 28px var(--botry-shadow); border:1px solid var(--botry-border);
    }
    .botry-intro-text h3{ font-size:1.1rem; font-weight:700; color:var(--botry-purple-dk); margin-bottom:0.8rem; }
    .botry-intro-text p { font-size:0.9rem; color:var(--botry-text-mid); margin-bottom:0.8rem; line-height:1.85; }
    .botry-highlight-box{
      background:var(--botry-purple-pale); border-left:4px solid var(--botry-purple);
      border-radius:0 var(--botry-radius-sm) var(--botry-radius-sm) 0;
      padding:0.9rem 1.1rem; margin-top:1rem;
      font-size:0.85rem; color:var(--botry-purple-dk); font-weight:500;
    }

    .botry-feature-stack{ display:flex; flex-direction:column; gap:0.9rem; }
    .botry-feat-card{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-md); padding:1.1rem 1.3rem;
      display:flex; align-items:flex-start; gap:12px;
      transition:var(--botry-tr); box-shadow:0 2px 12px var(--botry-shadow);
    }
    .botry-feat-card:hover{ border-color:var(--botry-purple-lt); transform:translateX(4px); box-shadow:0 6px 22px var(--botry-shadow); }
    .botry-feat-icon{
      width:40px; height:40px; border-radius:10px; flex-shrink:0;
      background:linear-gradient(135deg,var(--botry-purple-pale),var(--botry-lavender));
      display:flex; align-items:center; justify-content:center; font-size:1.2rem;
    }
    .botry-feat-info h4{ font-size:0.9rem; font-weight:700; color:var(--botry-text); margin-bottom:2px; }
    .botry-feat-info p { font-size:0.78rem; color:var(--botry-text-lt); line-height:1.6; }

    /* ══ SERVICES ══ */
    .botry-service-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.2rem; }
    .botry-svc-card{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-lg); padding:1.6rem 1.4rem;
      transition:var(--botry-tr); box-shadow:0 4px 18px var(--botry-shadow);
      position:relative; overflow:hidden;
    }
    .botry-svc-card::before{
      content:''; position:absolute; top:0; left:0; right:0; height:3px;
      background:linear-gradient(90deg,var(--botry-purple),var(--botry-purple-lt));
      transform:scaleX(0); transform-origin:left; transition:transform var(--botry-tr);
    }
    .botry-svc-card:hover{ transform:translateY(-6px); box-shadow:0 16px 36px var(--botry-shadow); }
    .botry-svc-card:hover::before{ transform:scaleX(1); }
    .botry-svc-emoji{ font-size:2rem; margin-bottom:0.8rem; display:block; }
    .botry-svc-card h3{ font-size:1rem; font-weight:700; color:var(--botry-text); margin-bottom:0.5rem; }
    .botry-svc-card p { font-size:0.82rem; color:var(--botry-text-lt); line-height:1.7; }
    .botry-svc-tag{
      display:inline-block; margin-top:0.8rem;
      background:var(--botry-purple-pale); color:var(--botry-purple);
      font-size:0.72rem; font-weight:600; padding:2px 10px; border-radius:20px;
    }

    /* ══ PRICE ══ */
    .botry-price-intro{
      background:var(--botry-white); border-radius:var(--botry-radius-lg);
      padding:1.6rem 2rem; margin-bottom:1.5rem;
      border:1px solid var(--botry-border); box-shadow:0 4px 18px var(--botry-shadow);
      display:flex; flex-wrap:wrap; align-items:center; gap:1rem; justify-content:space-between;
    }
    .botry-price-intro-text h3{ font-size:1.05rem; font-weight:700; color:var(--botry-purple-dk); }
    .botry-price-intro-text p { font-size:0.83rem; color:var(--botry-text-lt); margin-top:4px; }
    .botry-consult-pill{
      background:var(--botry-purple-pale); border:1px solid var(--botry-purple-lt);
      border-radius:50px; padding:0.4rem 1.2rem;
      font-size:0.8rem; color:var(--botry-purple-dk); font-weight:600; white-space:nowrap;
    }

    .botry-plan-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:1.2rem; margin-bottom:1.5rem; }
    .botry-plan-card{
      background:var(--botry-white); border:1.5px solid var(--botry-border);
      border-radius:var(--botry-radius-lg); overflow:hidden;
      box-shadow:0 6px 22px var(--botry-shadow); transition:var(--botry-tr);
      display:flex; flex-direction:column;
    }
    .botry-plan-card:hover{ transform:translateY(-6px); box-shadow:0 16px 36px var(--botry-shadow); border-color:var(--botry-purple-lt); }
    .botry-plan-card.botry-plan-featured{ border-color:var(--botry-purple); box-shadow:0 8px 30px rgba(108,79,192,0.22); }

    .botry-plan-badge-row{ display:flex; justify-content:center; padding:0.5rem 1rem 0; min-height:28px; }
    .botry-popular-badge{
      background:linear-gradient(90deg,var(--botry-purple),#9b6de0);
      color:#fff; font-size:0.7rem; font-weight:700;
      padding:3px 14px; border-radius:20px; letter-spacing:0.06em;
    }
    .botry-plan-head{ padding:1rem 1.2rem 0.8rem; text-align:center; border-bottom:1.5px solid var(--botry-lavender); }
    .botry-plan-name { font-size:1.1rem; font-weight:700; color:var(--botry-purple-dk); margin-bottom:0.4rem; }
    .botry-plan-price{ font-size:1.9rem; font-weight:800; color:var(--botry-text); line-height:1.2; }
    .botry-plan-price small{ font-size:0.85rem; font-weight:500; color:var(--botry-text-lt); }
    .botry-plan-sub  { font-size:0.75rem; color:var(--botry-text-lt); margin-top:3px; }
    .botry-plan-body { padding:1rem 1.2rem 1.4rem; flex:1; }
    .botry-plan-list { list-style:none; }
    .botry-plan-list li{
      font-size:0.82rem; padding:0.4rem 0;
      display:flex; align-items:flex-start; gap:7px;
      color:var(--botry-text-mid); border-bottom:1px dashed var(--botry-lavender); line-height:1.5;
    }
    .botry-plan-list li:last-child{ border-bottom:none; }
    .botry-check { color:var(--botry-teal); font-weight:700; font-size:1rem; flex-shrink:0; margin-top:1px; }
    .botry-plan-tag{
      display:inline-block; background:var(--botry-lavender); color:var(--botry-purple);
      font-size:0.65rem; font-weight:700; padding:1px 7px; border-radius:10px; margin-left:4px;
    }

    .botry-addon-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1rem; margin-bottom:1rem; }
    .botry-addon-card{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-md); padding:1.2rem;
      transition:var(--botry-tr); box-shadow:0 2px 12px var(--botry-shadow);
    }
    .botry-addon-card:hover{ border-color:var(--botry-purple-lt); transform:translateY(-3px); }
    .botry-addon-name { font-size:1rem; font-weight:700; color:var(--botry-text); margin-bottom:4px; }
    .botry-addon-price{ font-size:1.5rem; font-weight:800; color:var(--botry-purple-dk); }
    .botry-addon-price small{ font-size:0.8rem; font-weight:500; color:var(--botry-text-lt); }
    .botry-addon-desc { font-size:0.78rem; color:var(--botry-text-lt); margin-top:6px; line-height:1.6; }

    .botry-price-note{
      background:linear-gradient(90deg,var(--botry-lavender),#ecf4fc);
      border-radius:var(--botry-radius-md); padding:0.8rem 1.4rem;
      display:flex; flex-wrap:wrap; gap:0.5rem 2rem;
      font-size:0.8rem; color:var(--botry-text-mid); font-weight:500;
    }
    .botry-price-note span{ display:flex; align-items:center; gap:5px; }

    .botry-compare-table{
      width:100%; border-collapse:collapse;
      background:var(--botry-white); border-radius:var(--botry-radius-md); overflow:hidden;
      box-shadow:0 4px 18px var(--botry-shadow); border:1px solid var(--botry-border);
      margin-top:1.5rem; font-size:0.83rem;
    }
    .botry-compare-table thead tr{ background:linear-gradient(90deg,var(--botry-purple-dk),var(--botry-purple)); }
    .botry-compare-table thead th{ color:#fff; font-weight:700; padding:0.9rem 1rem; text-align:center; font-size:0.85rem; }
    .botry-compare-table thead th:first-child{ text-align:left; }
    .botry-compare-table tbody tr{ border-bottom:1px solid var(--botry-lavender); }
    .botry-compare-table tbody tr:hover{ background:var(--botry-purple-pale); }
    .botry-compare-table td{ padding:0.7rem 1rem; text-align:center; color:var(--botry-text-mid); }
    .botry-compare-table td:first-child{ text-align:left; font-weight:600; color:var(--botry-text); }
    .botry-chk  { color:var(--botry-teal); font-weight:700; font-size:1.1rem; }
    .botry-cross{ color:#ccc; font-size:1rem; }
    .botry-compare-table tfoot td{ background:var(--botry-lavender); font-weight:700; color:var(--botry-purple-dk); font-size:0.88rem; }

    /* ══ WHY ══ */
    .botry-why-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:1.2rem; }
    .botry-why-card{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-lg); padding:1.5rem 1.4rem; text-align:center;
      box-shadow:0 4px 18px var(--botry-shadow); transition:var(--botry-tr);
    }
    .botry-why-card:hover{ transform:translateY(-5px); box-shadow:0 14px 32px var(--botry-shadow); border-color:var(--botry-purple-lt); }
    .botry-why-icon{
      width:56px; height:56px; border-radius:50%;
      background:linear-gradient(135deg,var(--botry-purple-pale),var(--botry-lavender));
      display:flex; align-items:center; justify-content:center;
      font-size:1.5rem; margin:0 auto 1rem;
    }
    .botry-why-card h3{ font-size:0.95rem; font-weight:700; color:var(--botry-text); margin-bottom:0.4rem; }
    .botry-why-card p { font-size:0.8rem; color:var(--botry-text-lt); line-height:1.7; }

    /* ══ FAQ ══ */
    .botry-faq-list{ display:flex; flex-direction:column; gap:0.7rem; }
    .botry-faq-item{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-md); overflow:hidden;
      box-shadow:0 2px 10px var(--botry-shadow); transition:var(--botry-tr);
    }
    .botry-faq-item:hover{ border-color:var(--botry-purple-lt); }
    .botry-faq-q{
      width:100%; display:flex; justify-content:space-between; align-items:center;
      padding:1rem 1.2rem; background:none; border:none; cursor:pointer;
      text-align:left; gap:10px; font-family:'Noto Sans TC',sans-serif;
    }
    .botry-faq-q span{ font-size:0.9rem; font-weight:600; color:var(--botry-text); }
    .botry-faq-arrow{ font-size:0.75rem; color:var(--botry-purple); transition:transform var(--botry-tr); flex-shrink:0; }
    .botry-faq-item.botry-open .botry-faq-arrow{ transform:rotate(180deg); }
    .botry-faq-a{ max-height:0; overflow:hidden; transition:max-height 0.3s ease; }
    .botry-faq-a-inner{
      padding:0.8rem 1.2rem 1rem; font-size:0.85rem;
      color:var(--botry-text-mid); line-height:1.8;
      border-top:1px dashed var(--botry-lavender);
    }
    .botry-faq-a-inner a{ color:var(--botry-purple); }

    /* ══ AREA CARD ══ */
    .botry-area-card{
      background:var(--botry-white); border:1px solid var(--botry-border);
      border-radius:var(--botry-radius-lg); padding:1.8rem 2rem;
      box-shadow:0 6px 22px var(--botry-shadow);
      display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; align-items:start;
    }
    .botry-area-nap h3{ font-size:1rem; font-weight:700; color:var(--botry-purple-dk); margin-bottom:1rem; }
    .botry-nap-row{
      display:flex; align-items:flex-start; gap:10px; margin-bottom:0.7rem;
      font-size:0.85rem; color:var(--botry-text-mid);
    }
    .botry-nap-icon{
      width:28px; height:28px; background:var(--botry-purple-pale); border-radius:8px;
      display:flex; align-items:center; justify-content:center; font-size:0.85rem; flex-shrink:0;
    }
    .botry-nap-row a{ color:var(--botry-purple); text-decoration:none; font-weight:600; }
    .botry-nap-row a:hover{ text-decoration:underline; }
    .botry-area-tags h3{ font-size:1rem; font-weight:700; color:var(--botry-purple-dk); margin-bottom:1rem; }
    .botry-area-tag-cloud{ display:flex; flex-wrap:wrap; gap:0.5rem; }
    .botry-area-tag{
      background:var(--botry-purple-pale); border:1px solid var(--botry-purple-lt);
      color:var(--botry-purple-dk); font-size:0.78rem; font-weight:600;
      padding:4px 12px; border-radius:20px; transition:var(--botry-tr); cursor:default;
    }
    .botry-area-tag:hover{ background:var(--botry-purple); color:#fff; border-color:var(--botry-purple); }

    /* ══ CTA ══ */
    .botry-cta-banner{
      background:linear-gradient(135deg,#5a3580 0%,#7c58b8 60%,#a07ae0 100%);
      border-radius:var(--botry-radius-lg); padding:2.5rem 2rem;
      text-align:center; position:relative; overflow:hidden;
    }
    .botry-cta-banner::before{
      content:''; position:absolute; inset:0;
      background:radial-gradient(ellipse 50% 80% at 80% 50%,rgba(255,255,255,0.06) 0%,transparent 70%);
    }
    .botry-cta-banner h2  { font-size:1.5rem; font-weight:700; color:#fff; margin-bottom:0.5rem; position:relative; }
    .botry-cta-banner p   { color:rgba(255,255,255,0.75); font-size:0.9rem; margin-bottom:1.5rem; position:relative; }
    .botry-cta-banner-btns{ display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; position:relative; }

    /* ══ RWD ══ */
    @media(max-width:768px){
      .botry-intro-grid { grid-template-columns:1fr; }
      .botry-area-card  { grid-template-columns:1fr; }
      .botry-service-grid{ grid-template-columns:1fr 1fr; }
      .botry-plan-grid  { grid-template-columns:1fr 1fr; }
    }
    @media(max-width:540px){
      .botry-hero        { padding:3.5rem 1rem 3rem; }
      .botry-service-grid{ grid-template-columns:1fr; }
      .botry-plan-grid   { grid-template-columns:1fr; }
      .botry-addon-grid  { grid-template-columns:1fr; }
      .botry-why-grid    { grid-template-columns:1fr 1fr; }
      .botry-compare-table{ font-size:0.75rem; }
      .botry-compare-table th,.botry-compare-table td{ padding:0.6rem; }
      .botry-page        { padding:1.5rem 1rem 3rem; }
      .botry-section-head p{ display:none; }
    }
    @media(max-width:380px){
      .botry-why-grid{ grid-template-columns:1fr; }
    }