/* Pine Engine Design System — single source for .ms-* and .pe-* components.
   Pages: do not redefine these in inline <style>; keep only page-specific rules. */

:root{
    --ms-primary: rgb(26, 126, 251);
    --ms-text: #111;
    --ms-muted: #555;
    --ms-border: #eee;
    --ms-bg: #fff;
  }
  
  .ms-wrap{
    --ms-primary: rgb(26, 126, 251);
    --ms-text: #111;
    --ms-muted: #555;
    --ms-border: #eee;
    --ms-bg: #fff;
    background:#fff;
    padding:20px;
    border-radius:6px;
    max-width:1280px;
    margin:0 auto;
    box-sizing:border-box;
  }
  
  .ms-wrap *{
    box-sizing:border-box;
  }
  .ms-wrap--narrow{ max-width:900px; }

  .ms-card{
    border:1px solid #eee;
    border-radius:6px;
    padding:16px;
    margin:14px 0;
    background:#fff;
  }
  
  .ms-card h3{
    margin:0 0 10px;
    font-size:16px;
    color:#111;
  }
  
  .ms-muted{
    color:#555;
    font-size:14px;
    line-height:1.5;
    margin-top:6px;
  }
  
  .ms-wrap .ms-link{
    color:rgb(26,126,251);
    text-decoration:underline;
    font-size:14px;
  }
  .ms-wrap .ms-link:hover{
    filter:brightness(0.85);
  }
  
  button.ms-btn,
  .ms-btn{
    display:inline-block;
    background:rgb(26,126,251);
    color:#fff;
    font-size:14px;
    border-radius:4px;
    padding:10px 14px;
    border:none;
    cursor:pointer;
    margin:6px 8px 0 0;
    text-decoration:none;
    text-align:center;
    width:100%;
    box-sizing:border-box;
    transition:filter .15s ease, transform .05s ease;
  }
  
  .ms-btn:hover{
    filter:brightness(.92);
  }
  
  .ms-btn:active{
    transform:translateY(1px);
  }
  
  .ms-btn-secondary{
    background:#444;
    color:#fff;
  }
  .ms-btn-secondary:hover{ filter:brightness(0.92); }
  
  .ms-pill{
    display:inline-block;
    padding:4px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    margin-left:8px;
    vertical-align:middle;
    border:1px solid transparent;
    line-height:1;
  }
  
  .ms-pill-trial{ background:#eaf2ff; color:#134a9a; border-color:#cfe0ff; }
  
  .ms-pill-popular{ background:#e9fbf0; color:#0f6a2a; border-color:#c9f1d6; }
  
  .ms-pill-advanced{ background:#f4efff; color:#4a2aa6; border-color:#e0d6ff; }
  
  .ms-pill-beta{
    background:#e8fff0;
    color:#0b5d2a;
    border-color:#bfe9cf;
  }
  
  .ms-pill-pending{
    background:#fff4e5;
    color:#7a4a00;
    border-color:#ffd9a8;
  }
  
  .pe-grid-2{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:14px;
    margin-top:12px;
  }
  
  .pe-grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:12px;
  }
  
  .pe-grid-4{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
    margin-top:12px;
  }
  
  .pe-card{
    border:1px solid #eee;
    border-radius:6px;
    padding:16px;
    background:#fff;
  }
  
  .pe-divider{
    border-top:1px solid #eee;
  }
  
  .pe-stack > * + *{
    margin-top:12px;
  }
  
  .pe-section-tight{
    margin-top:14px;
    margin-bottom:14px;
  }
  
  .pe-section-loose{
    margin-top:24px;
    margin-bottom:24px;
  }
  
  @media (max-width:900px){
    .pe-grid-2,
    .pe-grid-3,
    .pe-grid-4{
      grid-template-columns:1fr;
    }
  }

  /* Auth / app pages */
  .ms-field{ margin-bottom:12px; }

  .ms-label{
    color:#000;
    font-size:14px;
    display:block;
    margin-bottom:6px;
  }

  .ms-input{
    font-size:14px;
    width:100%;
    max-width:100%;
    padding:10px;
    border:1px solid #ddd;
    border-radius:4px;
  }

  .ms-banner-success{
    display:none;
    margin:0 auto 14px;
    max-width:900px;
    padding:12px;
    border-radius:6px;
    background:#e8fff0;
    color:#0b5d2a;
    font-size:14px;
  }

  .ms-toast,
  .ms-success{
    display:none;
    margin-top:10px;
    padding:10px 12px;
    border-radius:6px;
    background:#e8fff0;
    color:#0b5d2a;
    font-size:14px;
  }

  .ms-error{
    display:none;
    margin-top:10px;
    padding:10px 12px;
    border-radius:6px;
    background:#ffecec;
    color:#7a0b0b;
    font-size:14px;
    border:1px solid #ffd1d1;
  }

  .ms-note{
    display:none;
    margin-top:10px;
    padding:10px 12px;
    border-radius:6px;
    background:#f2f7ff;
    color:#123;
    font-size:14px;
    border:1px solid #d9e8ff;
  }

  .ms-divider{
    display:flex;
    align-items:center;
    gap:12px;
    margin:14px 0 10px;
    color:#777;
    font-size:12px;
  }

  .ms-divider::before,
  .ms-divider::after{
    content:"";
    height:1px;
    background:#eaeaea;
    flex:1;
  }

  .ms-social-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:10px;
  }

  .ms-social-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid #e5e5e5;
    background:#fff;
    color:#333;
    cursor:pointer;
    font-size:14px;
    text-decoration:none;
    margin:8px 0;
    transition:filter .15s ease, transform .05s ease, background .15s ease;
  }

  .ms-social-btn:hover{
    filter:brightness(0.98);
    background:#fafafa;
  }

  .ms-social-btn:active{
    transform:translateY(1px);
  }

  .ms-social-icon{
    width:18px;
    height:18px;
    display:inline-block;
    flex:0 0 18px;
  }

  .ms-social-label{
    display:inline-block;
    line-height:1;
  }

  .ms-social-disconnect{
    display:none;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    border-radius:999px;
    background:#111;
    color:#fff;
    font-size:12px;
    line-height:1;
    font-weight:700;
  }

  .ms-google-auth-hidden{ display:none !important; }
  .ms-hidden{ display:none !important; }

  .ms-row{
    margin:6px 0;
    color:var(--ms-text);
    font-size:14px;
    display:grid;
    grid-template-columns:170px 1fr;
    column-gap:14px;
    align-items:start;
  }

  .ms-row strong{
    min-width:0;
    font-weight:600;
    white-space:nowrap;
  }

  .ms-row span{
    min-width:0;
    word-break:break-word;
  }

  .ms-auth-login .memberstack-login-form button[type="submit"].ms-btn,
  .ms-auth-reset #ms-forgot-form button.ms-btn,
  .ms-auth-reset [data-ms-form="reset-password"] button.ms-btn{
    width:100%;
    display:block;
    margin:12px 0 0;
  }

  .ms-auth-request .ms-btn{
    width:auto;
    appearance:none;
    -webkit-appearance:none;
    border:none;
    box-shadow:none;
  }

  .ms-auth-request .memberstack-signup-form button[type="submit"].ms-btn{
    width:100%;
    display:block;
    margin:10px 0 0;
  }

  .ms-auth-profile .ms-divider{
    margin:12px 0 10px;
  }

  .ms-auth-profile .ms-social-buttons .ms-social-btn{
    width:auto;
    display:inline-flex;
    margin:0;
    color:#111;
    border:1px solid #e6e6e6;
  }

  .ms-auth-reset .ms-btn[disabled]{
    opacity:.75;
    cursor:not-allowed;
  }

  /* Documentation / policy pages */
  .ms-page-doc .ms-card h4{
    margin:16px 0 6px;
    font-size:15px;
    color:var(--ms-text);
  }

  .ms-page-doc .doc-divider{
    height:1px;
    background:var(--ms-border);
    border:0;
    margin:12px 0 0;
  }

  .ms-page-doc .doc-block{
    border-top:1px solid var(--ms-border);
    padding-top:14px;
    margin-top:14px;
  }

  .ms-page-doc .doc-block:first-of-type{
    border-top:none;
    padding-top:0;
    margin-top:0;
  }

  .ms-page-doc .doc-list{
    margin:8px 0 10px 18px;
    padding:0;
    font-size:14px;
    color:var(--ms-text);
  }

  .ms-page-doc .doc-list li{
    margin:6px 0;
  }

  .ms-page-doc .doc-code{
    border:1px solid var(--ms-border);
    background:#fafafa;
    border-radius:6px;
    padding:10px 12px;
    font-size:13px;
    margin:8px 0;
    color:var(--ms-text);
  }

  .ms-page-doc .ms-muted strong{
    color:var(--ms-text);
  }

  .ms-page-doc .terms-title{
    font-size:14px;
    color:var(--ms-text);
    margin:0;
  }

  /* FAQ page */
  .ms-page-faq .doc-divider{
    height:1px;
    background:var(--ms-border);
    border:0;
    margin:12px 0 0;
  }

  .ms-page-faq .pe-faq{
    margin-top:10px;
  }

  .ms-page-faq .pe-faq-item{
    border-top:1px solid var(--ms-border);
    padding:0;
  }

  .ms-page-faq .pe-faq-item:first-child{
    border-top:none;
  }

  .ms-page-faq .pe-faq-q{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 4px;
    color:var(--ms-text);
    font-size:15px;
    font-weight:600;
  }

  .ms-page-faq .pe-faq-q::-webkit-details-marker{
    display:none;
  }

  .ms-page-faq .pe-faq-q::marker{
    content:"";
  }

  .ms-page-faq .pe-faq-q:hover{
    color:var(--ms-primary);
  }

  .ms-page-faq .pe-faq-ico{
    width:18px;
    height:18px;
    flex:0 0 18px;
    position:relative;
    opacity:.95;
  }

  .ms-page-faq .pe-faq-ico::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:12px;
    height:2px;
    background:var(--ms-muted);
    transform:translate(-50%,-50%);
    border-radius:2px;
  }

  .ms-page-faq .pe-faq-ico::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:2px;
    height:12px;
    background:var(--ms-muted);
    transform:translate(-50%,-50%);
    border-radius:2px;
  }

  .ms-page-faq details[open] .pe-faq-q{
    color:var(--ms-primary);
  }

  .ms-page-faq details[open] .pe-faq-ico::before{
    background:var(--ms-primary);
  }

  .ms-page-faq details[open] .pe-faq-ico::after{
    opacity:0;
  }

  .ms-page-faq details[open] .pe-faq-ico::after,
  .ms-page-faq details[open] .pe-faq-ico::before{
    background:var(--ms-primary);
  }

  .ms-page-faq .pe-faq-a{
    padding:0 4px 14px;
    color:var(--ms-muted);
    font-size:14px;
    line-height:1.65;
  }

  .ms-page-faq .pe-faq-a p{
    margin:0 0 10px;
  }

  .ms-page-faq .pe-faq-a ul{
    margin:0 0 10px 18px;
    padding:0;
  }

  .ms-page-faq .pe-faq-a li{
    margin:6px 0;
    color:var(--ms-text);
  }

  .ms-page-faq .pe-faq-note{
    border:1px solid var(--ms-border);
    background:#fafafa;
    border-radius:6px;
    padding:10px 12px;
    color:var(--ms-text);
    margin:10px 0;
    font-size:14px;
  }

  @media (max-width:900px){
    .ms-page-doc.ms-wrap,
    .ms-page-faq.ms-wrap{
      padding:16px;
    }

    .ms-page-doc .ms-card,
    .ms-page-faq .ms-card{
      padding:14px;
    }

    .ms-page-faq .pe-faq-q{
      padding:12px 2px;
    }

    .ms-page-faq .pe-faq-a{
      padding:0 2px 12px;
    }
  }

  /* About page */
  .ms-page-about{
    --ms-border:#e5e7eb;
  }

  /* Reduce excess top/bottom space on About, Why We're Different, How We Think (STATUS stays as-is) */
  .ms-page-about .ms-card.pe-section:not(:has(a[href*="request-access"])){
    padding-top:12px;
    padding-bottom:12px;
  }
  .ms-page-about .ms-card.pe-section:not(:has(a[href*="request-access"])) .wp-block-column{
    padding-top:var(--wp--preset--spacing--30) !important;
    padding-bottom:var(--wp--preset--spacing--30) !important;
  }

  .ms-page-about .pe-section + .pe-section{
    margin-top:44px;
  }

  .ms-page-about .pe-section p.has-tiny-font-size{
    letter-spacing:0.15em;
    text-transform:uppercase;
    opacity:.9;
  }

  .ms-page-about .pe-section h2.wp-block-heading{
    font-size:22px;
    line-height:1.2;
  }

  .ms-page-about .wp-block-separator.is-style-wide{
    background:var(--ms-border);
    margin:44px 0;
  }

  .ms-page-about .pe-metrics-strip{
    margin-top:0 !important;
    margin-bottom:0 !important;
    border-color:var(--ms-border) !important;
  }

  .ms-page-about .pe-banner-section{
    margin-top:44px;
  }

  .ms-page-about .pe-banner-section .wp-block-cover{
    border-radius:6px;
    overflow:hidden;
  }

  .ms-page-about .pe-section .wp-block-image img{
    width:100%;
    height:auto;
    display:block;
  }

  .ms-page-about .vv-split-hero .wp-block-cover{
    min-height:70vh !important;
    background-color:#150910 !important;
    aspect-ratio:16 / 9;
  }

  .ms-page-about .vv-split-hero .wp-block-cover__image-background{
    object-fit:contain !important;
    object-position:center center !important;
  }

  .ms-page-about .vv-split-hero .wp-block-cover__image-background,
  .ms-page-about .vv-split-hero .wp-block-cover__background{
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }

  .ms-page-about .wp-block-buttons a.wp-block-button__link[href="#generate"]{
    background-color:#1a7efb !important;
    color:#fff !important;
    border-color:#1a7efb !important;
  }

  .ms-page-about .wp-block-buttons a.wp-block-button__link[href="#generate"] strong{
    color:#fff !important;
  }

  .ms-page-about .wp-block-buttons a.wp-block-button__link[href="#generate"]:hover,
  .ms-page-about .wp-block-buttons a.wp-block-button__link[href="#generate"]:focus{
    filter:brightness(0.95);
    color:#fff !important;
    border-color:#1a7efb !important;
  }

  .ms-page-about .ba-wrap{
    --pe-blue:rgb(26, 126, 251);
    position:relative !important;
    width:100%;
    max-width:1150px;
    margin:20px auto;
    aspect-ratio:16 / 9;
    overflow:hidden;
    border-radius:12px;
    background:#111;
  }

  .ms-page-about .ba-img{
    position:absolute !important;
    inset:0;
    width:100% !important;
    height:100% !important;
    object-fit:contain;
    background:#111;
    pointer-events:none;
  }

  .ms-page-about .ba-after{ z-index:1; }

  .ms-page-about .ba-before{
    position:absolute !important;
    inset:0;
    z-index:2;
    pointer-events:none;
    width:100%;
    clip-path: inset(0 calc((100 - var(--ba)) * 1%) 0 0);
    -webkit-clip-path: inset(0 calc((100 - var(--ba)) * 1%) 0 0);
  }

  .ms-page-about .ba-range{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    z-index:10 !important;
    opacity:0 !important;
    cursor:ew-resize;
    -webkit-appearance:none;
    appearance:none;
  }

  .ms-page-about .ba-handle{
    position:absolute;
    top:0;
    left:calc(var(--ba) * 1%);
    transform:translateX(-50%);
    width:3px;
    height:100%;
    background:rgba(255,255,255,.85);
    z-index:9;
    pointer-events:none;
  }

  .ms-page-about .ba-handle::before{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:44px;
    height:44px;
    border-radius:999px;
    background:var(--pe-blue);
    border:2px solid rgba(255,255,255,.95);
    box-shadow:0 6px 16px rgba(0,0,0,.25);
  }

  .ms-page-about .ba-handle::after{
    content:"⇆";
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-52%);
    color:#fff;
    font-size:18px;
    font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  }

  .ms-page-about .ba-label{
    position:absolute;
    top:12px;
    padding:6px 10px;
    font:600 12px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color:#fff;
    background:var(--pe-blue);
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    z-index:11;
    pointer-events:auto;
    cursor:pointer;
    user-select:none;
    transition:filter .15s ease, transform .05s ease;
  }

  .ms-page-about .ba-label:hover{ filter:brightness(0.92); }
  .ms-page-about .ba-label:active{ transform:translateY(1px); }
  .ms-page-about .ba-label-before{ left:12px; }
  .ms-page-about .ba-label-after{ right:12px; }

  /* Roadmap page */
  .ms-page-roadmap{
    --ms-border:#eee;
  }

  .ms-page-roadmap .pe-phase.ms-card{
    border:1px solid var(--ms-border);
    border-radius:6px;
    padding:24px 28px;
    background:var(--ms-bg);
  }

  .ms-page-roadmap .pe-phase + .pe-phase{
    margin-top:44px;
  }

  .ms-page-roadmap .pe-phase p.has-tiny-font-size{
    letter-spacing:0.15em;
    text-transform:uppercase;
    opacity:.9;
  }

  .ms-page-roadmap .pe-phase h2.wp-block-heading{
    font-size:22px;
    line-height:1.2;
  }

  .ms-page-roadmap .pe-phase h3.wp-block-heading{
    font-size:16px;
    line-height:1.35;
  }

  .ms-page-roadmap .pe-status{
    display:inline-block;
    padding:3px 9px;
    border-radius:999px;
    font-size:10px;
    font-weight:600;
    margin-left:8px;
    vertical-align:middle;
    border:1px solid transparent;
    line-height:1;
  }

  .ms-page-roadmap .pe-status--progress{
    background:#eaf2ff;
    color:#134a9a;
    border-color:#cfe0ff;
  }

  .ms-page-roadmap .pe-status--planned{
    background:#fdf3dd;
    color:#9a6a12;
    border-color:#f2dfb2;
  }

  .ms-page-roadmap .pe-status--future{
    background:#f3f4f6;
    color:#5f6673;
    border-color:#e5e7eb;
  }

  .ms-page-roadmap .pe-phase .wp-block-group[style*="border-bottom-width:1px"]{
    border-bottom-color:var(--ms-border) !important;
  }

  .ms-page-roadmap .wp-block-separator.is-style-wide{
    background:var(--ms-border);
  }

  /* Partner program page */
  .ms-page-partner-program .ms-card h2,
  .ms-page-partner-program .ms-card h3{
    margin:0 0 10px;
    color:var(--ms-text);
    letter-spacing:.2px;
  }

  .ms-page-partner-program .ms-card h2{
    font-size:22px;
  }

  .ms-page-partner-program .ms-link{
    color:rgb(26,126,251);
    text-decoration:underline;
    font-size:14px;
  }

  .ms-page-partner-program .pe-card h4{
    margin:0 0 8px;
    font-size:16px;
    color:var(--ms-text);
  }

  .ms-page-partner-program .pe-card p{
    margin:0;
    color:var(--ms-muted);
    font-size:14px;
    line-height:1.5;
  }

  .ms-page-partner-program .pe-hero{
    padding:18px 16px;
    margin-top:0;
  }

  .ms-page-partner-program .pe-hero h1{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.15;
    color:var(--ms-text);
    letter-spacing:.2px;
  }

  .ms-page-partner-program .pe-hero .pe-hero-actions{
    margin-top:12px;
    display:flex;
    gap:10px;
    flex-wrap:wrap;
  }

  .ms-page-partner-program .pe-hero .ms-btn{
    width:auto;
    padding:10px 18px;
  }

  .ms-page-partner-program .pe-table-wrap{
    overflow-x:auto;
    margin-top:10px;
  }

  .ms-page-partner-program .pe-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
  }

  .ms-page-partner-program .pe-table th,
  .ms-page-partner-program .pe-table td{
    border:1px solid var(--ms-border);
    padding:10px 12px;
    text-align:left;
    vertical-align:top;
  }

  .ms-page-partner-program .pe-table th{
    background:#fafafa;
    color:var(--ms-text);
    font-weight:600;
  }

  .ms-page-partner-program .pe-bullets{
    margin:10px 0 0;
    padding-left:18px;
    color:var(--ms-text);
    font-size:14px;
    line-height:1.6;
  }

  .ms-page-partner-program .pe-bullets li{
    margin:6px 0;
  }

  .ms-page-partner-program .pe-step{
    min-height:160px;
  }

  .ms-page-partner-program .pe-step .pe-step-num{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    color:#134a9a;
    background:#eaf2ff;
    border:1px solid #cfe0ff;
    border-radius:999px;
    padding:4px 10px;
    margin-bottom:10px;
    width:max-content;
  }

  .ms-page-partner-program .pe-final{
    text-align:center;
    padding:18px 16px;
  }

  .ms-page-partner-program .pe-final .ms-btn{
    width:auto;
    padding:10px 18px;
  }

  .ms-page-partner-program .pe-rules{
    padding:14px 16px;
  }

  .ms-page-partner-program .pe-rules p{
    margin:0;
  }

  .ms-page-partner-rules .doc-list{
    line-height:1.6;
  }

  @media (max-width:900px){
    .ms-page-about.ms-wrap,
    .ms-page-roadmap.ms-wrap{
      padding:16px;
    }

    .ms-page-about .ms-card,
    .ms-page-roadmap .ms-card{
      padding:18px 16px;
    }
    .ms-page-about .ms-card.pe-section:not(:has(a[href*="request-access"])){
      padding-top:12px;
      padding-bottom:12px;
    }

    .ms-page-about .wp-block-columns.pe-image-first-mobile{
      flex-direction:column-reverse !important;
    }

    .ms-page-about main.pe-why-stack{
      display:flex !important;
      flex-direction:column !important;
    }

    .ms-page-about main.pe-why-stack .ba-wrap{
      order:0 !important;
    }

    .ms-page-about main.pe-why-stack > .wp-block-group{
      order:1 !important;
    }

    .ms-page-about .vv-split-hero .wp-block-cover{
      min-height:320px !important;
      aspect-ratio:4 / 3;
    }

    .ms-page-roadmap .pe-phase.ms-card{
      padding:18px 16px;
    }

    .ms-page-roadmap .pe-item{
      flex-direction:column !important;
      align-items:flex-start !important;
      justify-content:flex-start !important;
      gap:10px !important;
    }

    .ms-page-roadmap .pe-item > p{
      margin:0 !important;
      width:100%;
    }

    .ms-page-partner-program .pe-hero .ms-btn,
    .ms-page-partner-program .pe-final .ms-btn{
      width:100%;
    }
  }

  /* Plans page */
  .ms-page-plans .pe-billing{
    display:flex;
    justify-content:flex-end;
    margin:8px 0 10px;
  }

  .ms-page-plans .pe-toggle{
    display:inline-flex;
    align-items:center;
    border:1px solid var(--ms-border);
    border-radius:999px;
    padding:3px;
    gap:3px;
    background:#fff;
  }

  .ms-page-plans .pe-toggle button{
    appearance:none;
    border:0;
    background:transparent;
    padding:8px 12px;
    border-radius:999px;
    font-size:13px;
    color:var(--ms-muted);
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
    line-height:1;
    font-weight:600;
    white-space:nowrap;
  }

  .ms-page-plans .pe-toggle button[aria-pressed="true"]{
    background:rgba(26, 126, 251, 0.10);
    color:var(--ms-text);
  }

  .ms-page-plans .pe-toggle button:focus{
    outline:2px solid rgba(26, 126, 251, 0.25);
    outline-offset:2px;
  }

  .ms-page-plans .pe-year-note{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    color:var(--ms-muted);
    margin-left:6px;
    padding:2px 8px;
    border-radius:999px;
    border:1px solid var(--ms-border);
    background:#fafafa;
    line-height:1.2;
    vertical-align:middle;
  }

  .ms-page-plans .pe-plans-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
    margin-top:12px;
  }

  .ms-page-plans .pe-plan{
    border:1px solid var(--ms-border);
    border-radius:6px;
    padding:16px;
    background:#fff;
    display:flex;
    flex-direction:column;
    min-height:360px;
  }

  .ms-page-plans .pe-plan h4{
    margin:0 0 6px;
    font-size:16px;
    color:var(--ms-text);
    letter-spacing:.2px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }

  .ms-page-plans .pe-plan .pe-sub{
    margin:0 0 10px;
    color:var(--ms-muted);
    font-size:13px;
    height:2.8em;
    overflow:hidden;
  }

  .ms-page-plans .pe-price{
    margin:10px 0 8px;
    font-size:24px;
    font-weight:700;
    color:var(--ms-text);
    line-height:1.1;
  }

  .ms-page-plans .pe-price small{
    font-size:13px;
    color:var(--ms-muted);
    font-weight:500;
  }

  .ms-page-plans .pe-feats{
    margin:10px 0 0;
    padding:0;
    list-style:none;
    color:var(--ms-text);
    font-size:14px;
  }

  .ms-page-plans .pe-feats li{
    padding:8px 0;
    border-top:1px solid var(--ms-border);
  }

  .ms-page-plans .pe-feats li:first-child{
    border-top:none;
    padding-top:0;
  }

  .ms-page-plans .pe-plan .pe-actions{
    margin-top:auto;
    padding-top:14px;
  }

  .ms-page-plans .pe-actions .ms-btn{
    display:block;
    width:100%;
    background:rgb(26,126,251) !important;
    color:#fff !important;
    border:none;
    border-radius:4px;
    padding:10px 14px;
    text-decoration:none;
    text-align:center;
    box-sizing:border-box;
  }

  .ms-page-plans .pe-actions .ms-btn:hover{
    filter:brightness(.92);
  }

  .ms-page-plans .pe-actions .ms-btn:active{
    transform:translateY(1px);
  }

  .ms-page-plans .pe-plan.pe-featured{
    border-color:rgba(26, 126, 251, 0.35);
    box-shadow:0 0 0 2px rgba(26, 126, 251, 0.08);
  }

  .ms-page-plans .pe-agency{
    margin-top:22px;
    border-top:1px solid var(--ms-border);
    padding-top:18px;
    text-align:center;
  }

  .ms-page-plans .pe-agency p{
    margin:4px 0;
    font-size:14px;
    color:var(--ms-muted);
  }

  .ms-page-plans .pe-agency strong{
    color:var(--ms-text);
  }

  .ms-page-plans .pe-agency .ms-btn{
    width:auto;
    padding:10px 18px;
    margin-top:10px;
  }

  @media (max-width:900px){
    .ms-page-plans .pe-plans-grid{
      grid-template-columns:1fr;
    }

    .ms-page-plans .ms-btn{
      width:100%;
    }

    .ms-page-plans .pe-agency .ms-btn{
      width:100%;
    }

    .ms-page-plans .pe-billing{
      justify-content:flex-start;
    }
  }