*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --ac:#6366f1;--ac-d:#4f46e5;--ac-bg:#ede9fe;--ac-bg-l:#f5f3ff;--ac-border:#c4b5fd;
  --ink:#16151c;--mut:#5b6070;--line:#e9e7e1;--bg:#f4f3f0;
  --rad:18px;--rad-md:12px;--font:'Inter',system-ui,sans-serif;
}
html{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}

/* ── PAGE ── */
.page{background:var(--bg);width:100%;margin:0;}


/* ── HEADER ── */
.hd{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eae7df;padding:15px max(24px,calc((100% - 1100px)/2));position:sticky;top:0;z-index:100}
.hd-l{display:flex;align-items:center;gap:10px}
.hd-logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,#1a1a17,#3a3832);position:relative;flex:0 0 auto;box-shadow:0 4px 12px -3px rgba(26,26,23,.4)}
.hd-logo::before{content:"";position:absolute;left:50%;top:8px;transform:translateX(-50%);width:15px;height:3px;background:#fff;border-radius:2px;box-shadow:0 5px 0 rgba(255,255,255,.9),0 10px 0 #fff}
.hd-name{font-weight:700;font-size:18px;color:#16151c;line-height:1}.hd-name span{color:#16151c}
.hd-r{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500}
.hd-r .nl{color:#4a4843;padding:8px 12px;border-radius:8px;transition:background .15s}.hd-r .nl:hover{background:var(--bg)}
.hd-get{background:#16151c;color:#fff;font-weight:600;padding:9px 18px;border-radius:99px;font-size:14px}
.mega-w{position:relative}
.mega-t{display:flex;align-items:center;gap:5px;cursor:default;color:#4a4843;padding:8px 12px;border-radius:8px;transition:background .15s}.mega-w:hover .mega-t{background:var(--bg)}.mega-t .cv{font-size:10px;color:#a7a297}
.mega{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(6px);width:430px;background:#fff;border:1px solid #eae7df;border-radius:16px;padding:10px;box-shadow:0 30px 60px -28px rgba(26,26,23,.4);opacity:0;visibility:hidden;transition:.2s;z-index:40;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.mega-w:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.mega::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.mi{display:flex;gap:10px;padding:10px;border-radius:11px;transition:background .15s}.mi:hover{background:#f6f5f1}
.mi .mic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex:0 0 auto;color:#fff}
.mi b{font-size:13.5px;font-weight:600;color:#1a1a17;display:block;line-height:1.3}.mi s{text-decoration:none;font-size:11.5px;color:#9b968b}

/* ── WRAP ── */
.wrap{padding:18px;display:flex;flex-direction:column;gap:14px}

/* ── CARDS ── */
.card{background:#fff;border:0.5px solid var(--line);border-radius:var(--rad);overflow:hidden}
.card-p{padding:22px}

/* ── TYPE ── */
.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ac);margin-bottom:10px;display:block}
.sub{font-size:13.5px;color:var(--mut);line-height:1.6}
h2.sec-title{font-size:20px;font-weight:700;line-height:1.2;letter-spacing:-.015em;color:var(--ink);margin-bottom:8px}

/* ── SURFACE ── */
.surface{background:var(--bg);border-radius:var(--rad-md);padding:14px}

/* ── FEATURE LIST ── */
.fl{list-style:none;display:flex;flex-direction:column;gap:7px}
.fl li{font-size:13px;color:var(--mut);display:flex;align-items:flex-start;gap:8px;line-height:1.5}
.fl li i{color:#16a34a;font-size:15px;margin-top:1px;flex-shrink:0}
.fl li em{color:var(--ink);font-style:normal;font-weight:600}

/* ── HERO CARD ── */
.hcard{background:#1a0f2e;border-radius:20px;overflow:hidden;display:flex;align-items:stretch;position:relative;background-image:radial-gradient(65% 130% at 93% 5%,#2d1a6e 0%,transparent 55%)}
.hcard .tx{flex:1;padding:38px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.hcard .eye{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#a78bfa}
.hcard h1{font-size:30px;font-weight:800;line-height:1.08;color:#fff;letter-spacing:-.02em}
.hcard h1 em{font-style:normal;color:#a78bfa}
.hcard .lede-hero{font-size:14px;color:#c4b5fd;line-height:1.65;max-width:330px}
.hcard .hbtns{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.hcard .hero-r{flex:1;align-self:stretch;margin:22px 22px 22px 0;min-width:230px}

/* ── HERO ANIMATED PAYWALL ── */
.hero-ob{height:300px;border-radius:14px;overflow:hidden;box-shadow:0 24px 50px -26px rgba(0,0,0,.65);position:relative;background:#fff;display:flex;flex-direction:column}
.ob-prog{height:4px;background:#ede9fe;flex-shrink:0}
.ob-prog-f{height:4px;background:#6366f1;transition:width .5s}
/* steps */
.ob-body{flex:1;overflow:hidden;position:relative}
.ob-step{position:absolute;inset:0;padding:22px 20px;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(24px);transition:opacity .4s,transform .4s;pointer-events:none;background:#fff}
.ob-step.on{opacity:1;transform:translateY(0);pointer-events:auto}
.ob-step.out{opacity:0;transform:translateY(-24px)}
/* question step */
.ob-q{font-size:16px;font-weight:700;color:#1a1a17;margin-bottom:14px;line-height:1.3}
.ob-opts{display:flex;flex-direction:column;gap:7px}
.ob-opt{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1.5px solid #e5e3dd;border-radius:9px;cursor:pointer;transition:border-color .15s}
.ob-opt.sel{border-color:#6366f1;background:#f5f3ff}
.ob-opt-ic{font-size:16px;flex-shrink:0;width:24px;text-align:center}
.ob-opt-lbl{font-size:12.5px;color:#1a1a17;font-weight:500}
/* loading */
.ob-load{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:22px;text-align:center}
.ob-load-bar{width:100%;height:5px;background:#ede9fe;border-radius:99px;overflow:hidden;margin-bottom:12px}
.ob-load-f{height:5px;background:#6366f1;border-radius:99px;width:0%;transition:width .1s}
.ob-load-msg{font-size:12px;color:#6b6b78;min-height:18px}
.ob-load-title{font-size:14px;font-weight:700;color:#1a1a17;margin-bottom:8px}
/* paywall */
.ob-pw{display:flex;flex-direction:column;padding:14px 16px;background:#fff;overflow:hidden}
.ob-pw-head{font-size:14px;font-weight:700;color:#1a1a17;margin-bottom:2px;line-height:1.3}
.ob-pw-sub{font-size:10.5px;color:#6b6b78;margin-bottom:12px}
.ob-plans{display:flex;gap:7px;margin-bottom:10px}
.ob-plan{flex:1;border:1.5px solid #e5e3dd;border-radius:9px;padding:9px 8px;position:relative;text-align:center}
.ob-plan.best{border-color:#6366f1}
.ob-plan-bdg{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:#6366f1;color:#fff;font-size:8px;font-weight:700;padding:2px 7px;border-radius:99px;white-space:nowrap}
.ob-plan-lbl{font-size:8.5px;font-weight:700;color:#9b968b;text-transform:uppercase;letter-spacing:.05em}
.ob-plan-price{font-size:17px;font-weight:800;color:#1a1a17;line-height:1.1}
.ob-plan-period{font-size:9px;color:#9b968b}
.ob-plan-save{font-size:9px;color:#6366f1;font-weight:600;margin-top:2px}
.ob-cta{background:#6366f1;color:#fff;text-align:center;font-size:12.5px;font-weight:700;padding:10px;border-radius:9px;cursor:pointer}
.ob-trust{font-size:9px;color:#b0ab9e;text-align:center;margin-top:7px}

/* ── STEP TYPE GRID ── */
.st-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.st-cell{background:var(--bg);border-radius:var(--rad-md);padding:13px 14px;display:flex;align-items:flex-start;gap:10px}
.st-cell i{font-size:18px;color:var(--ac);flex-shrink:0;margin-top:1px}
.st-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.st-desc{font-size:11.5px;color:var(--mut);line-height:1.5}
.pro-tag{display:inline-block;font-size:9px;font-weight:700;background:var(--ac-bg);color:#4f46e5;padding:1px 5px;border-radius:3px;margin-left:4px;vertical-align:middle}

/* ── DESTINATION CARDS ── */
.dest-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dest-card{border-radius:var(--rad-md);padding:22px;display:flex;flex-direction:column;gap:10px}
.dest-card.free{background:#f0f9ff;border:1px solid #bae6fd}
.dest-card.pro{background:#f5f3ff;border:1px solid #c4b5fd}
.dest-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;width:fit-content}
.dest-pill.free{background:#0ea5e9;color:#fff}
.dest-pill.pro{background:#6366f1;color:#fff}
.dest-title{font-size:17px;font-weight:700;color:var(--ink);line-height:1.2}
.dest-sub{font-size:13px;color:var(--mut);line-height:1.6}
.dest-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:99px;font-size:13px;font-weight:700;cursor:pointer;width:fit-content;margin-top:4px}
.dest-btn.free{background:#0ea5e9;color:#fff}
.dest-btn.pro{background:#6366f1;color:#fff}

/* ── USE CASE PILLS ── */
.uc{display:flex;flex-wrap:wrap;gap:7px}
.uc span{font-size:12px;padding:5px 12px;background:var(--ac-bg);color:#4f46e5;border-radius:99px;font-weight:500}

/* ── CTA ── */
.cta-dark{background:#1a0f2e;border-radius:20px;padding:42px 36px;background-image:radial-gradient(80% 120% at 50% -10%,#2d1a6e 0%,transparent 55%)}

/* ── FOOTER ── */
.ft{padding:20px 26px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:12.5px;color:#8a8579;border-top:1px solid #e6e4dd}
.ft a{color:var(--ac);font-weight:500}

@media(max-width:700px){
  .hcard{flex-direction:column}.hcard .hero-r{margin:0 20px 20px;min-width:auto}
  .dest-grid,.st-grid{grid-template-columns:1fr}
  .mega{width:300px;grid-template-columns:1fr}
}
@media(max-width:480px){.hd-r .nl:not(:last-of-type){display:none}}
/* touch: tap-to-open mega menu (added by theme) */
.mega-w.open .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* --- site layout (full-width page, centered content @ 1100px) --- */
.wrap{max-width:1100px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}
.fz-head,.fz-sub,.fz-pad{max-width:1100px;margin-left:auto;margin-right:auto}
.ft{padding-left:max(24px,calc((100% - 1100px)/2));padding-right:max(24px,calc((100% - 1100px)/2))}

/* ===== responsive header / mega-menu (real-device safe) ===== */
.hd-get{white-space:nowrap}
.hd-name{white-space:nowrap}
.mega{max-width:calc(100vw - 20px);box-sizing:border-box;top:calc(100% + 8px)}
@media(max-width:760px){
  /* header stays on ONE row at all widths */
  .hd{flex-wrap:nowrap;gap:6px}
  .hd-r{gap:2px;flex-wrap:nowrap}
  .hd-r .nl{padding:8px 8px}
  /* Anchor the dropdown to the HEADER bar (its sticky positioned ancestor),
     not to the small Plugins trigger — so it spans correctly and tracks the
     header at every scroll position. */
  .mega-w{position:static}
  .mega{position:absolute;top:100%;left:auto;right:10px;
        transform:translateY(6px);width:min(340px,calc(100vw - 20px));
        grid-template-columns:1fr;margin-top:2px}
  .mega-w:hover .mega,.mega-w.open .mega{transform:translateY(0)}
  /* re-create the hover bridge for the new offset */
  .mega::before{top:-12px;height:12px}
}
@media(max-width:520px){
  .hd{padding-left:14px !important;padding-right:14px !important;gap:4px}
  .hd-logo{width:26px;height:26px}
  .hd-name{font-size:16px}
  .hd-r .nl{display:none}
  .mega-t{padding:7px 9px}
  .hd-get{padding:8px 13px;font-size:13px}
  /* full-width dropdown under the bar, anchored to the header */
  .mega{left:10px;right:10px;width:auto;max-width:none;transform:translateY(6px)}
  .mega-w:hover .mega,.mega-w.open .mega{transform:translateY(0)}
}

/* ===== mobile: plugin demo widgets (≤640px) ===== */
@media(max-width:640px){
  /* hero CTA buttons go full-width on mobile only */
  .hbtns{flex-direction:column;align-items:stretch;width:100%}
  .hbtns .btn,.hbtns .btn-p,.hbtns .dest-btn{width:100%;justify-content:center;box-sizing:border-box}
  /* every demo grid collapses to a single column */
  /* force every multi-column grid inside cards to a single column on mobile */
  .feat-grid,.shift-grid,.uc-grid,.st-grid,.dest-grid,.panel-split,.adv-grid,.comp-grid,.int-grid,.build-grid,.uc2-grid,.two-col,[class*="-grid"]{grid-template-columns:1fr !important}
  .feat-grid > *,.shift-grid > *,[class*="-grid"] > *{min-width:0}
  .st-grid,.dest-grid{grid-template-columns:1fr !important}
  /* prevent any demo block from forcing horizontal scroll */
  .wrap, .card{max-width:100%;overflow-x:hidden}
}

/* ===== mobile: NEVER two equal columns inside content (overrides inline styles) ===== */
@media(max-width:640px){
  /* symmetric card grids → single column. Matches inline 1fr 1fr / repeat(n) / Npx Npx */
  .wrap [style*="1fr 1fr"],
  .wrap [style*="repeat(2"], .wrap [style*="repeat(3"], .wrap [style*="repeat(4"],
  .wrap [class*="-grid"],
  .wrap .feat-grid, .wrap .shift-grid, .wrap .uc-grid, .wrap .st-grid,
  .wrap .dest-grid, .wrap .panel-split{
    grid-template-columns:1fr !important;
  }
  /* asymmetric icon/sidebar layouts (e.g. 168px 1fr) → stack icon over content */
  .wrap [style*="px 1fr"]{grid-template-columns:1fr !important}
  .wrap [class*="-grid"] > *,
  .wrap [style*="grid-template-columns"] > *{min-width:0 !important;max-width:100% !important}
}
