/* ============ PRICING ============ */
.pr-hero{position:relative;overflow:hidden}
.pr-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(1100px 460px at 50% -16%,rgba(166,64,59,.08),transparent 62%);pointer-events:none}
/* padding-bottom was 8px, which only ever worked because the .pr-status summary
   box sat below the buttons and brought its own 28px margin plus its height.
   That box was removed 12 Sep 2026 and the buttons landed straight on the grey
   band below. The hero owns its own spacing now, near enough matching the 96px
   at the top so the section is balanced rather than propped up by its contents. */
.pr-hero .top{position:relative;text-align:center;max-width:820px;margin:0 auto;padding-top:96px;padding-bottom:88px}
.pr-hero h1{font-size:clamp(42px,5.2vw,68px);font-weight:800;letter-spacing:-0.04em;line-height:1.03;margin-bottom:20px}
.pr-hero h1 .g{color:var(--red)}
.pr-hero .lede{font-size:20px;color:var(--ink-2);max-width:56ch;margin:0 auto 34px;line-height:1.55}
.pr-hero .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* purchasing model cards */
.models{display:grid;gap:20px}
.pmodel{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px;box-shadow:var(--sh-sm);transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s var(--ease)}
.pmodel:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--line-2)}
.pmodel.feature{border-color:var(--red-soft);box-shadow:var(--sh)}
.pm-icon{width:60px;height:60px;border-radius:15px;display:grid;place-items:center;flex:none;background:var(--red-soft);color:var(--red)}
.pmodel.dark-cta .pm-icon{background:rgba(255,255,255,.08);color:#fff}
.pm-main{min-width:0}
.pm-for{font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--red)}
.pm-main h3{font-size:23px;font-weight:700;letter-spacing:-0.025em;margin:5px 0 8px}
.pm-main p{font-size:15px;color:var(--ink-2);line-height:1.55;margin-bottom:16px;max-width:60ch}
.pm-list{display:flex;flex-wrap:wrap;gap:8px}
.pm-list span{font-size:12.5px;font-weight:600;color:var(--ink-2);background:var(--bg-grey);border:1px solid var(--line);padding:6px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:7px}
.pm-list span svg{color:var(--green);flex:none}
.pm-price{text-align:right;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:180px}
.pm-amt{font-size:26px;font-weight:800;letter-spacing:-0.035em;color:var(--ink)}
.pm-amt small{font-size:15px;font-weight:600;color:var(--ink-3)}
.pm-note{font-size:12.5px;color:var(--ink-3);margin-bottom:8px}
.pmodel.dark-cta{background:var(--ink);border-color:var(--ink);color:#fff}
.pmodel.dark-cta .pm-main h3{color:#fff} .pmodel.dark-cta .pm-main p{color:#B3B8C1}
.pmodel.dark-cta .pm-for{color:var(--red-d)}
.pmodel.dark-cta .pm-list span{background:rgba(255,255,255,.06);border-color:var(--dark-line);color:var(--dark-ink)}
.pmodel.dark-cta .pm-list span svg{color:var(--green-d)}
.pmodel.dark-cta .pm-amt{color:#fff}

/* enterprise hero card */
.ent-card{background:linear-gradient(180deg,#17181D,#0F1013);border:1px solid var(--dark-line);border-radius:var(--r-xl);padding:44px 46px;color:#fff;position:relative;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.32);margin-top:4px}
.ent-card::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 300px at 88% 0%,rgba(166,64,59,.20),transparent 60%);pointer-events:none}
.ent-head{position:relative;display:flex;align-items:center;gap:20px}
.ent-head .pm-icon{background:rgba(255,255,255,.08);color:#fff}
.ent-head .pm-for{color:var(--red-d)}
.ent-head h3{font-size:30px;font-weight:800;letter-spacing:-0.03em;margin-top:4px;color:#fff}
.ent-price{margin-left:auto;text-align:right}
.ent-price .pm-amt{font-size:24px;font-weight:800;color:#fff;letter-spacing:-0.02em}
.ent-price .pm-note{font-size:12.5px;color:var(--dark-ink-3);margin-top:3px}
.ent-desc{position:relative;font-size:17px;color:var(--dark-ink-2);line-height:1.6;max-width:76ch;margin:24px 0 26px}
.ent-offers{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px;margin-bottom:30px}
.ent-offers span{font-size:14px;color:var(--dark-ink);font-weight:500;display:flex;align-items:center;gap:10px}
.ent-offers span svg{color:var(--green-d);flex:none}
.ent-actions{position:relative;display:flex;gap:14px;flex-wrap:wrap}

/* popular marketplace products */
.pop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.popc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--sh-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.popc:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.popc .pn{font-size:15.5px;font-weight:650;letter-spacing:-0.015em}
.popc .parrow{color:var(--ink-4);margin:12px 0 12px;font-size:16px}
.pmodel-tag{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:100px}
.pmodel-tag.once{background:var(--red-soft);color:var(--red)}
.pmodel-tag.usage{background:var(--bronze-soft);color:#8A6420}
.pmodel-tag.sub{background:var(--green-soft);color:#1F7A49}
.pmodel-tag.enterprise{background:#111;color:#fff}

/* comparison note */
.cmp-note{font-size:13.5px;color:var(--ink-3);margin-top:20px;text-align:center;max-width:72ch;margin-left:auto;margin-right:auto;line-height:1.55}
@media(max-width:1080px){.pop-grid{grid-template-columns:repeat(2,1fr)}.ent-offers{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.pop-grid{grid-template-columns:1fr}.ent-offers{grid-template-columns:1fr}.ent-head{flex-wrap:wrap}.ent-price{margin-left:0;text-align:left;width:100%}.ent-card{padding:30px 24px}}

/* api tiers inline */
.tiers{display:flex;gap:8px;margin-top:4px}
.tier{font-size:11.5px;font-weight:600;color:var(--ink-2);background:#fff;border:1px solid var(--line-2);padding:5px 11px;border-radius:7px}

/* licensing */
.lic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lic{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--sh-sm)}
.lic .li{width:40px;height:40px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-bottom:16px}
.lic h4{font-size:16px;font-weight:700;letter-spacing:-0.02em;margin-bottom:7px}
.lic p{font-size:13.5px;color:var(--ink-3);line-height:1.55}

/* compare table */
.cmp{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);background:#fff}
.cmp table{width:100%;border-collapse:collapse}
.cmp th{font-size:13px;font-weight:700;padding:18px 22px;border-bottom:1px solid var(--line);text-align:center;color:var(--ink)}
.cmp th.feat{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-4);font-weight:700;background:var(--bg-grey)}
.cmp thead th{background:var(--bg-grey)}
.cmp thead th.hl{color:var(--red)}
.cmp td{padding:15px 22px;border-bottom:1px solid var(--line);font-size:14px;text-align:center;color:var(--ink-2)}
.cmp td.feat{text-align:left;font-weight:600;color:var(--ink)}
.cmp tr:last-child td{border-bottom:none}
.ck{color:var(--green);font-weight:700} .dash{color:var(--ink-4)}
.cmp td .opt{font-size:12.5px;color:var(--ink-3);font-weight:600}

/* faq */
.faq{max-width:820px;margin:0 auto}
.qitem{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:12px;box-shadow:var(--sh-sm);overflow:hidden}
.qhead{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;font-size:16.5px;font-weight:600;letter-spacing:-0.015em}
.qhead .qm{width:22px;height:22px;flex:none;position:relative;color:var(--red)}
.qhead .qm::before,.qhead .qm::after{content:"";position:absolute;background:currentColor;border-radius:2px;transition:transform .25s var(--ease)}
.qhead .qm::before{top:10px;left:3px;width:16px;height:2px}
.qhead .qm::after{top:3px;left:10px;width:2px;height:16px}
.qitem.open .qm::after{transform:scaleY(0)}
.qbody{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.qbody p{padding:0 24px 22px;font-size:15px;color:var(--ink-2);line-height:1.6;max-width:70ch}

/* enterprise cta */
.ent{background:linear-gradient(180deg,#15161B,#111114);border:1px solid var(--dark-line);border-radius:var(--r-xl);padding:72px 48px;text-align:center;position:relative;overflow:hidden}
.ent::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 300px at 50% 0%,rgba(166,64,59,.22),transparent 62%);pointer-events:none}
.ent .e-e{position:relative;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--red-d)}
.ent h2{position:relative;font-size:clamp(30px,3.8vw,46px);font-weight:800;letter-spacing:-0.04em;color:#fff;margin:14px 0 16px}
.ent p{position:relative;font-size:19px;color:var(--dark-ink-2);max-width:52ch;margin:0 auto 32px;line-height:1.55}
.ent .acts{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media(max-width:1080px){
  .pmodel{grid-template-columns:auto 1fr;gap:22px}
  .pm-price{grid-column:1 / -1;text-align:left;align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%;padding-top:16px;border-top:1px solid var(--line)}
  .pmodel.dark-cta .pm-price{border-top-color:var(--dark-line)}
  .lic-grid{grid-template-columns:1fr 1fr}
  .pad-y{padding-top:80px;padding-bottom:80px}
}
@media(max-width:600px){
  :root{--pad:20px}
  .pmodel{grid-template-columns:1fr}
  /* The 1080 block above turns .pm-price from a column into a row with
     space-between, which is right on a tablet and wrong on a phone. At 375 the
     row has 269px to hold a 26px price, its note and a 200px button, needs 316,
     and pushes the button 25px off the page. Nothing here put it back to a
     column, so this does. Measured on the live page: the price and note each
     fit one line at full width and the button fills the card. */
  .pm-price{flex-direction:column;align-items:stretch;min-width:0;gap:9px;text-align:left}
  .pm-price .pm-note{margin-bottom:0}
  .pm-price .btn{width:100%;justify-content:center}
  .lic-grid{grid-template-columns:1fr}
  .nav-cta .signin{display:none}
  .cmp{overflow-x:auto}
  .navlink{padding:9px 10px}
}
