  body{width:100%;background:var(--bg)}

  /* Page container — the pricing markup uses bare .container divs, which
     would otherwise pick up Tailwind's padding-less container utility and
     sit flush to the viewport edge on mobile. Scoped + explicit. */
  .ms-pricing .container{
    max-width:1280px;width:100%;margin:0 auto;
    padding:0 24px;box-sizing:border-box;
  }

  /* === PRICING HERO — table is the first view === */
  .price-hero{
    position:relative;overflow:hidden;
    padding:56px 0 88px;
    border-bottom:1px solid var(--line);
    background:
      radial-gradient(ellipse 1200px 600px at 80% -10%, rgba(79,70,229,.08), transparent 70%),
      radial-gradient(ellipse 800px 500px at 0% 5%, rgba(124,58,237,.05), transparent 70%);
  }
  .price-hero-grid{
    position:absolute;inset:0;pointer-events:none;
    background-image:
      linear-gradient(rgba(15,23,42,.04) 1px, transparent 1px),
      linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px);
    background-size:80px 80px;
    mask-image:radial-gradient(ellipse 100% 70% at 50% 30%, #000 30%, transparent 90%);
  }
  .price-hero .container{position:relative}

  .ph-head{
    display:grid;grid-template-columns:1fr auto;align-items:end;gap:48px;
    margin-bottom:36px;
  }
  .ph-head h1{
    font-size:64px;line-height:1;letter-spacing:-.04em;font-weight:700;margin:14px 0 0;
    max-width:780px;text-wrap:balance;
  }
  .ph-head h1 .signal{
    background:linear-gradient(135deg,var(--accent),#7C3AED);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .ph-head .sub{
    font-size:17px;color:var(--text-2);margin-top:16px;max-width:560px;line-height:1.5;
  }
  .ph-toolbar{
    display:flex;flex-direction:column;align-items:flex-end;gap:14px;padding-bottom:6px;
  }
  .ph-trust{
    display:flex;gap:18px;font-family:var(--mono);font-size:11px;color:var(--text-3);
    text-transform:uppercase;letter-spacing:.08em;font-weight:600;align-items:center;
  }
  .ph-trust span{display:inline-flex;align-items:center;gap:7px}
  .ph-trust .ck{
    width:14px;height:14px;border-radius:50%;background:var(--accent-soft);color:var(--accent);
    display:grid;place-items:center;
  }
  .ph-trust .ck svg{width:8px;height:8px}

  /* monthly / annual toggle */
  .ph-toggle{
    display:inline-flex;background:#fff;border:1px solid var(--line-2);border-radius:999px;
    padding:5px;gap:2px;box-shadow:0 1px 2px rgba(15,23,42,.04);
  }
  .ph-toggle button{
    background:transparent;border:0;padding:9px 18px;font-size:13px;font-weight:600;
    color:var(--text-2);border-radius:999px;display:inline-flex;align-items:center;gap:8px;
    cursor:pointer;font-family:inherit;transition:all .15s;
  }
  .ph-toggle button.on{
    background:var(--text);color:#fff;
    box-shadow:0 1px 0 rgba(255,255,255,.15) inset, 0 4px 12px -2px rgba(15,23,42,.25);
  }
  .ph-toggle .save{
    font-family:var(--mono);font-size:10px;background:#10b981;color:#fff;
    padding:2px 7px;border-radius:99px;font-weight:700;letter-spacing:.04em;
  }

  /* the pricing grid sits IN the hero */
  .ph-cards{
    display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;
  }
  .ph-plan{
    background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;
    display:flex;flex-direction:column;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
    position:relative;
  }
  .ph-plan.featured{
    border-color:transparent;
    background:
      linear-gradient(#fff,#fff) padding-box,
      linear-gradient(160deg,var(--accent),#7C3AED) border-box;
    border:1.5px solid transparent;
    box-shadow:0 30px 80px -30px rgba(79,70,229,.45), 0 0 0 4px rgba(79,70,229,.05);
    transform:translateY(-8px);
  }
  .ph-plan .ribbon{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    font-family:var(--mono);font-size:10px;background:linear-gradient(135deg,var(--accent),#7C3AED);
    color:#fff;padding:6px 14px;border-radius:999px;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;box-shadow:0 8px 20px -6px rgba(79,70,229,.5);
    white-space:nowrap;
  }
  .ph-plan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .ph-plan-name{
    font-family:var(--mono);font-size:11px;color:var(--text-3);text-transform:uppercase;
    letter-spacing:.12em;font-weight:700;
  }
  .ph-plan.featured .ph-plan-name{color:var(--accent)}
  .ph-plan-tag{
    font-family:var(--mono);font-size:10px;color:var(--text-3);text-transform:uppercase;
    letter-spacing:.06em;font-weight:600;
  }

  .ph-plan-price{margin:14px 0 4px;display:flex;align-items:baseline;gap:6px}
  .ph-plan-price .num{font-family:var(--mono);font-size:56px;font-weight:700;letter-spacing:-.04em;line-height:1}
  .ph-plan-price .num .strike{
    color:var(--text-3);text-decoration:line-through;font-size:24px;font-weight:500;margin-right:6px;
    display:inline-block;
  }
  .ph-plan-price .per{font-size:13px;color:var(--text-3);font-family:var(--mono)}
  .ph-plan-billed{font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:.04em;min-height:16px}

  .ph-plan-desc{font-size:14px;color:var(--text-2);margin:14px 0 22px;line-height:1.55;min-height:42px}

  .ph-plan-cta{margin-bottom:24px}
  .ph-plan-cta .btn{width:100%;justify-content:center;height:46px;font-size:14px}

  .ph-plan-feats{
    list-style:none;padding:22px 0 0;margin:0;
    display:flex;flex-direction:column;gap:12px;
    border-top:1px solid var(--line);
  }
  .ph-plan-feats .feats-label{
    font-family:var(--mono);font-size:10px;color:var(--text-3);text-transform:uppercase;
    letter-spacing:.1em;font-weight:600;margin-bottom:4px;
  }
  .ph-plan-feats li{
    font-size:13.5px;color:var(--text);display:flex;gap:10px;align-items:flex-start;line-height:1.45;
  }
  .ph-plan-feats li.muted{color:var(--text-2)}
  .ph-plan-feats li::before{
    content:"";width:14px;height:14px;flex:0 0 14px;border-radius:50%;
    background:var(--accent-soft);
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 5l2 2 4-4' fill='none' stroke='%234f46e5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-position:center;background-repeat:no-repeat;margin-top:3px;
  }
  .ph-plan-feats li b{color:var(--text);font-weight:700}

  .ph-foot{
    margin-top:28px;display:flex;justify-content:space-between;align-items:center;
    font-family:var(--mono);font-size:12px;color:var(--text-3);letter-spacing:.04em;
  }
  .ph-foot a{color:var(--accent);font-weight:700}
  .ph-foot .mny-back{
    display:inline-flex;align-items:center;gap:8px;background:#fff;
    border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:600;color:var(--text-2);
  }
  .ph-foot .mny-back i{
    width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981;
  }

  /* === COMPARE TABLE === */
  .pc-section{padding:120px 0;border-bottom:1px solid var(--line)}
  .pc-section .section-head{margin-bottom:48px}

  .compare-tbl{
    background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
  }
  .ct-row{
    display:grid;grid-template-columns:1.4fr repeat(3,1fr);
    border-bottom:1px solid var(--line);
  }
  .ct-row:last-child{border-bottom:0}
  .ct-cell{padding:18px 24px;font-size:14px;display:flex;align-items:center;color:var(--text-2)}
  .ct-cell:first-child{font-weight:600;color:var(--text)}
  .ct-cell:not(:first-child){justify-content:center;text-align:center;font-family:var(--mono);font-weight:600;color:var(--text)}

  /* head row */
  .ct-row.head{background:var(--bg-1)}
  .ct-row.head .ct-cell{
    padding:24px;
    font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;
    color:var(--text-3);font-weight:700;align-items:flex-end;
  }
  .ct-row.head .ct-cell:first-child{color:var(--text);font-size:13px;letter-spacing:-.01em;font-family:var(--font);text-transform:none;font-weight:700;align-items:center}
  .ct-row.head .ct-cell .h-name{font-size:17px;color:var(--text);letter-spacing:-.02em;text-transform:none;font-family:var(--font);font-weight:700;display:block;margin-bottom:2px}
  .ct-row.head .ct-cell .h-price{font-family:var(--mono);color:var(--text-2);font-size:11px;font-weight:600;text-transform:none;letter-spacing:.02em}
  .ct-row.head .ct-cell.featured{
    background:linear-gradient(180deg,var(--accent-tint),#fff);
    position:relative;
  }
  .ct-row.head .ct-cell.featured .h-name{color:var(--accent)}
  .ct-row.head .ct-cell.featured::before{
    content:"Most popular";position:absolute;top:8px;left:50%;transform:translateX(-50%);
    font-family:var(--mono);font-size:9px;color:#fff;background:var(--accent);
    padding:3px 9px;border-radius:99px;font-weight:700;letter-spacing:.08em;
  }

  /* section group label */
  .ct-row.group{background:#fafbfd}
  .ct-row.group .ct-cell{
    font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;
    color:var(--text-3);font-weight:700;padding:14px 24px;
  }

  /* col highlight */
  .ct-row .ct-cell:nth-child(3){background:rgba(79,70,229,.025)}

  /* yes / no / partial */
  .yes{color:var(--accent);font-size:18px;font-weight:700}
  .no{color:#cbd5e1;font-size:18px}
  .partial{
    font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;
    color:var(--warn);background:#fef3c7;padding:3px 8px;border-radius:99px;
  }

  /* === ADD-ONS === */
  .addons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .addon{
    background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;
    display:flex;flex-direction:column;gap:8px;
    box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .2s, transform .2s;
  }
  .addon:hover{border-color:var(--line-2);transform:translateY(-1px)}
  .addon-name{font-size:15px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}
  .addon-ico{
    width:32px;height:32px;border-radius:8px;background:var(--accent-soft);color:var(--accent);
    display:grid;place-items:center;border:1px solid rgba(79,70,229,.18);
  }
  .addon-ico svg{width:16px;height:16px}
  .addon-price{font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:6px}
  .addon-price .per{font-size:12px;color:var(--text-3);font-weight:500}
  .addon-desc{font-size:13px;color:var(--text-2);line-height:1.5;flex:1}

  /* === ENTERPRISE === */
  .enterprise-card{
    background:linear-gradient(135deg,#0b1220 0%,#1e1b4b 60%,#312e81 100%);
    color:#fff;border-radius:28px;padding:64px;
    display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:center;
    position:relative;overflow:hidden;
    box-shadow:0 50px 120px -40px rgba(79,70,229,.4);
  }
  .enterprise-card::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
      radial-gradient(ellipse 500px 300px at 100% 0%, rgba(124,58,237,.4), transparent 60%),
      radial-gradient(ellipse 600px 400px at 0% 100%, rgba(79,70,229,.3), transparent 60%);
  }
  .enterprise-card::after{
    content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;
    background-image:
      linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 20%, transparent 80%);
  }
  .enterprise-card > *{position:relative;z-index:1}
  .enterprise-card .ec-eye{
    font-family:var(--mono);font-size:11px;color:rgba(255,255,255,.7);text-transform:uppercase;
    letter-spacing:.16em;font-weight:600;margin-bottom:20px;display:inline-flex;align-items:center;gap:10px;
  }
  .enterprise-card .ec-eye::before{content:"";width:18px;height:1px;background:rgba(255,255,255,.5)}
  .enterprise-card h2{color:#fff;font-size:46px;line-height:1.05;letter-spacing:-.035em;margin-bottom:20px;font-weight:700}
  .enterprise-card p{color:rgba(255,255,255,.78);font-size:16px;line-height:1.55;max-width:520px;margin-bottom:28px}
  .ec-feats{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-bottom:32px;max-width:560px}
  .ec-feats li{
    list-style:none;font-size:13px;color:rgba(255,255,255,.85);
    display:flex;gap:10px;align-items:flex-start;line-height:1.4;
  }
  .ec-feats li::before{
    content:"";width:14px;height:14px;flex:0 0 14px;border-radius:50%;
    background:rgba(255,255,255,.12);
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 5l2 2 4-4' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-position:center;background-repeat:no-repeat;margin-top:3px;
  }
  .ec-ctas{display:flex;gap:12px}
  .ec-ctas .btn{height:50px;padding:0 24px;font-size:14px}
  .ec-ctas .btn-light{background:#fff;color:#0b1220}
  .ec-ctas .btn-light:hover{background:#f6f8fc}
  .ec-ctas .btn-outline-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
  .ec-ctas .btn-outline-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}

  .ec-stats{
    display:grid;gap:18px;
    padding:32px;border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
  }
  .ec-stat{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}
  .ec-stat:last-child{padding-bottom:0;border-bottom:0}
  .ec-stat .lbl{font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
  .ec-stat .val{font-family:var(--mono);font-size:34px;font-weight:700;color:#fff;letter-spacing:-.03em;line-height:1;margin-top:8px}
  .ec-stat .sub{font-size:12px;color:rgba(255,255,255,.6);margin-top:6px}

  /* === FAQ overrides === */
  .pc-faq{max-width:880px;margin:0 auto}

  /* === FINAL CTA === */
  .final-band{
    padding:120px 0;text-align:center;position:relative;overflow:hidden;
    background:linear-gradient(180deg,var(--bg),var(--bg-1));
    border-bottom:1px solid var(--line);
  }
  .final-band::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(ellipse 600px 320px at 50% 50%, rgba(79,70,229,.12), transparent 70%);
    pointer-events:none;
  }
  .final-band > *{position:relative}
  .final-band h2{font-size:64px;letter-spacing:-.04em;line-height:1;max-width:820px;margin:14px auto 22px;font-weight:700}
  .final-band h2 .signal{background:linear-gradient(135deg,var(--accent),#7C3AED);-webkit-background-clip:text;background-clip:text;color:transparent}
  .final-band p{font-size:17px;max-width:520px;margin:0 auto 28px}
  .final-band .ctas{display:flex;justify-content:center;gap:12px}

  /* === FAQ basic (mirror homepage) === */
  .faq-item{
    border:1px solid var(--line);border-radius:14px;
    margin-bottom:10px;background:#fff;overflow:hidden;
    box-shadow:0 1px 2px rgba(15,23,42,.03);
  }
  .faq-q{
    display:flex;justify-content:space-between;align-items:center;
    cursor:pointer;font-size:17px;font-weight:600;letter-spacing:-.01em;
    padding:22px 24px;user-select:none;
  }
  .faq-q .plus{
    width:28px;height:28px;border:1px solid var(--line-2);border-radius:8px;
    display:grid;place-items:center;color:var(--text-2);font-size:16px;
    transition:all .2s;background:#fff;
  }
  .faq-item.open .plus{transform:rotate(45deg);color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
  .faq-a{overflow:hidden;max-height:0;transition:max-height .25s ease;font-size:15px;color:var(--text-2);line-height:1.6}
  .faq-item.open .faq-a{max-height:400px}
  .faq-a .inner{padding:0 24px 22px}

  /* === RESPONSIVE === */
  @media (max-width: 980px){
    .pc-section{padding:80px 0}
    .ph-head{grid-template-columns:1fr;gap:24px}
    .ph-toolbar{align-items:flex-start}
    .ph-cards{grid-template-columns:1fr;gap:24px;max-width:460px;margin-left:auto;margin-right:auto}
    .ph-plan.featured{transform:none}
    .addons-grid{grid-template-columns:1fr 1fr}
    .enterprise-card{grid-template-columns:1fr;gap:40px;padding:48px}
  }
  @media (max-width: 720px){
    .price-hero{padding:48px 0 64px}
    .ph-head h1{font-size:clamp(36px,8vw,56px)}
    .ph-foot{flex-direction:column;gap:14px;align-items:flex-start}
    .pc-section{padding:64px 0}
    .addons-grid{grid-template-columns:1fr}
    .enterprise-card{padding:32px 22px;border-radius:22px}
    .enterprise-card h2{font-size:clamp(30px,6vw,42px)}
    .ec-feats{grid-template-columns:1fr}
    .ec-ctas{flex-direction:column}
    .ec-ctas .btn{width:100%;justify-content:center}
    .final-band{padding:72px 0}
    .final-band h2{font-size:clamp(34px,8vw,56px)}
    .final-band .ctas{flex-direction:column;align-items:stretch}
  }
  /* ==========================================================================
   * Mobile fix sweep (≤640px) — comparison table horizontal-scroll wrapper.
   * Previously the mobile rule set overflow-x:auto directly on .compare-tbl,
   * which conflicted with .compare-tbl's `border-radius:20px; overflow:hidden`
   * (border-radius requires overflow:hidden to clip the inner rows' borders).
   * The .compare-tbl-wrap pattern separates the scroll container from the
   * styled table so both concerns work cleanly. See welcome plan for context.
   * ========================================================================= */
  @media (max-width: 640px){
    .compare-tbl-wrap{
      overflow-x:auto;
      -webkit-overflow-scrolling:touch;
      border-radius:20px;
      border:1px solid var(--line);
    }
    .compare-tbl{
      border:0;                                /* outer border moves to wrapper */
      border-radius:0;
      min-width:560px;                          /* preserve desktop column widths */
    }
    .ct-row{
      grid-template-columns:1.4fr repeat(3,minmax(92px,1fr));
    }
    .compare-tbl-hint{
      display:block;
      font-size:11px;
      font-family:var(--mono);
      color:var(--text-3);
      text-align:center;
      padding:0 16px 12px;
      letter-spacing:.04em;
    }
  }
  @media (min-width: 641px){
    .compare-tbl-hint{display:none}
  }
  /* When the wrapper exists at desktop sizes too, make it a no-op container */
  .compare-tbl-wrap{display:block}
