/* Publish.RE — white canvas, growth teal, BS 5.3 color modes */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&display=swap');

:root,
[data-bs-theme="light"] {
  --pb-brand: #2563eb;
  --pb-brand-2: #1d4ed8;
  --pb-paper: #ffffff;
  --pb-card: #ffffff;
  --pb-ink: #0f172a;
  --pb-muted: #64748b;
  --pb-line: rgba(15, 23, 42, .08);
  --pb-nav: #ffffff;
  --pb-nav-fg: #0f172a;
  --bs-body-bg: #ffffff;
  --bs-body-color: #0f172a;
  --bs-primary: #2563eb;
  --bs-link-color: #1d4ed8;
}

[data-bs-theme="dark"] {
  --pb-brand: #60a5fa;
  --pb-brand-2: #93c5fd;
  --pb-paper: #070b12;
  --pb-card: #0f1623;
  --pb-ink: #e8eef7;
  --pb-muted: #94a3b8;
  --pb-line: rgba(232, 238, 247, .1);
  --pb-nav: #070b12;
  --pb-nav-fg: #e8eef7;
  --bs-body-bg: #070b12;
  --bs-body-color: #e8eef7;
  --bs-primary: #60a5fa;
  --bs-link-color: #93c5fd;
}

html, body.pb-app {
  background: color-mix(in srgb, var(--pb-paper) 90%, var(--pb-brand) 10%);
  color: var(--pb-ink);
  font-family: var(--pb-font, Outfit, system-ui, sans-serif);
  letter-spacing: -.01em;
}
.modal-content {
  background: var(--pb-card);
  color: var(--pb-ink);
  border: 1px solid var(--pb-line);
  border-radius: 1.15rem;
}
.navbar-pb {
  background: var(--pb-nav) !important;
  border-bottom: 1px solid var(--pb-line);
}
.navbar-pb .navbar-brand,
.navbar-pb .nav-link,
.navbar-pb .navbar-text { color: var(--pb-nav-fg) !important; }
.navbar-pb .nav-link.active { color: var(--pb-brand) !important; font-weight: 650; }
.navbar-pb .navbar-toggler { border-color: var(--pb-line); }
.navbar-pb .btn-outline-light { color: var(--pb-nav-fg); border-color: var(--pb-line); }
.pb-kicker {
  letter-spacing: .08em; font-size: 1.1rem; text-transform: uppercase;
  color: var(--pb-brand); font-weight: 700;
}
.pb-tile {
  display: flex; flex-direction: column; min-height: 9.5rem;
  padding: 1.2rem 1.25rem; background: var(--pb-card);
  border: 1px solid color-mix(in srgb, var(--pb-brand) 16%, var(--pb-line));
  border-radius: 1.25rem;
  text-decoration: none; color: inherit;
  box-shadow: 0 10px 28px -18px color-mix(in srgb, var(--pb-ink) 35%, transparent);
}
.pb-tile:hover, .pb-tile:focus-visible { border-color: var(--pb-brand); color: inherit; }
.pb-tile-on {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 18%, #fff) 0%,
    color-mix(in srgb, var(--pb-brand) 38%, #fff) 100%);
  border-color: transparent;
}
.pb-tile-on .pb-tile-ico { background: #fff; color: var(--pb-brand); }
[data-bs-theme="dark"] .pb-tile-on {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 28%, #121820) 0%,
    color-mix(in srgb, var(--pb-brand) 52%, #121820) 100%);
}
.pb-tile-ico {
  width: 2.4rem; height: 2.4rem; border-radius: .75rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--pb-brand); color: #fff; margin-bottom: .75rem;
}
[data-bs-theme="dark"] .pb-tile-ico { color: #fff; background: var(--pb-brand); }
.pb-tile-title { font-weight: 700; font-size: 1.05rem; }
.pb-tile-actions {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  width: 100%;
}
.pb-tile-actions .btn,
.pb-tile .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  min-height: 2.45rem;
  line-height: 1.2;
  padding: .45rem .85rem;
}
.pb-tile-meta { margin-top: auto; padding-top: .65rem; font-size: .82rem; color: var(--pb-muted); }
.pb-tile-step {
  position: relative;
  border: 0;
  box-shadow: none;
}
.pb-tile-step .pb-tile-ico {
  background: color-mix(in srgb, var(--pb-brand) 18%, #fff);
  color: var(--pb-brand-2);
}
.pb-tile-s0 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 6%, #fff) 0%,
    color-mix(in srgb, var(--pb-brand) 18%, #fff) 100%);
}
.pb-tile-s1 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 16%, #fff) 0%,
    color-mix(in srgb, var(--pb-brand) 34%, #fff) 100%);
}
.pb-tile-s2 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 32%, #fff) 0%,
    color-mix(in srgb, var(--pb-brand) 58%, #fff) 100%);
}
.pb-tile-s3 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 72%, #fff) 0%,
    var(--pb-brand) 55%,
    var(--pb-brand-2, var(--pb-brand)) 100%);
  color: #fff;
}
.pb-tile-s3 .pb-kicker,
.pb-tile-s3 .pb-tile-meta { color: rgba(255,255,255,.82); }
.pb-tile-s3 .pb-tile-title { color: #fff; }
.pb-tile-s3 .pb-tile-ico { background: #fff; color: var(--pb-brand); }
.pb-tile-step:hover, .pb-tile-step:focus-visible {
  filter: brightness(0.97);
  border-color: transparent;
  color: inherit;
}
[data-bs-theme="dark"] .pb-tile-s0 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 14%, #121820) 0%,
    color-mix(in srgb, var(--pb-brand) 28%, #121820) 100%);
}
[data-bs-theme="dark"] .pb-tile-s1 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 26%, #121820) 0%,
    color-mix(in srgb, var(--pb-brand) 42%, #121820) 100%);
}
[data-bs-theme="dark"] .pb-tile-s2 {
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--pb-brand) 40%, #121820) 0%,
    color-mix(in srgb, var(--pb-brand) 62%, #121820) 100%);
}
[data-bs-theme="dark"] .pb-tile-s3 { background: var(--pb-brand); }
.pb-stat {
  background: var(--pb-card);
  border: 1px solid color-mix(in srgb, var(--pb-brand) 16%, var(--pb-line));
  border-radius: 1rem; padding: .9rem 1rem;
  box-shadow: 0 10px 28px -18px color-mix(in srgb, var(--pb-ink) 35%, transparent);
}
.pb-stat .num { font-size: 1.55rem; font-weight: 700; color: var(--pb-brand-2); }
.btn-pb { background: var(--pb-brand); border-color: var(--pb-brand); color: #fff; }
.btn-pb:hover { background: var(--pb-brand-2); color: #fff; }
.pb-dock {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  display: flex; background: var(--pb-card); border-top: 1px solid var(--pb-line);
  padding: .35rem .2rem calc(.35rem + env(safe-area-inset-bottom));
}
.pb-dock a {
  flex: 1; text-align: center; padding: .45rem 0; font-size: .68rem;
  color: var(--pb-muted); text-decoration: none;
}
.pb-dock a i { display: block; font-size: 1.1rem; margin-bottom: .12rem; }
.pb-dock a.active { color: var(--pb-brand); font-weight: 650; }
.navbar-pb .navbar-brand,
.navbar-pb .nav-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  line-height: 1;
}
.navbar-pb .navbar-brand i,
.navbar-pb .nav-link i {
  width: 1.05rem;
  text-align: center;
  line-height: 1;
  font-size: .95rem;
}
.navbar-pb .nav-link { padding: .45rem .65rem; border-radius: .55rem; }
.navbar-pb .nav-link.active { background: color-mix(in srgb, var(--pb-brand) 12%, transparent); }
.navbar-pb .pb-tools { display: flex; align-items: center; gap: .4rem; }
.navbar-pb .pb-tools .btn {
  min-height: 2.1rem;
  height: 2.1rem;
  min-width: 2.1rem;
  padding: 0 .55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.navbar-pb .pb-tools .btn.active {
  color: var(--pb-brand);
  background: color-mix(in srgb, var(--pb-brand) 12%, transparent);
  border-color: color-mix(in srgb, var(--pb-brand) 28%, var(--pb-line));
}
@media (min-width: 992px) { .pb-dock { display: none; } }
@media (max-width: 991.98px) {
  main.container { padding-bottom: 5.25rem; }
  body.pb-workspace .navbar-pb .navbar-nav { display: none !important; }
  body.pb-admin .navbar-collapse { display: none !important; }
}
.form-control, .form-select { border-radius: .7rem; min-height: 2.75rem; }
.btn { min-height: 2.6rem; border-radius: .7rem; }
.card { border: 0; border-radius: 1rem; background: var(--pb-card); }

.pb-foot {
  margin-top: 2.5rem;
  padding: 2rem 0 1.25rem;
  border-top: 1px solid var(--pb-line);
  color: var(--pb-muted);
}
.pb-foot a { color: inherit; text-decoration: none; }
.pb-foot a:hover { color: var(--pb-brand); }
.pb-foot-copy { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--pb-line); }
.pb-foot-inds { columns: 2; column-gap: 1.25rem; }
.pb-foot-inds li { break-inside: avoid; margin: 0 0 .2rem; }
@media (max-width: 991.98px) {
  .pb-foot { margin-bottom: .5rem; padding-bottom: .5rem; }
}

.pb-tools .btn i { font-size: 1rem; line-height: 1; width: 1.1rem; text-align: center; }
.navbar-pb .navbar-brand img { width: 28px; height: 28px; object-fit: cover; }

/* Public home 1.0 */
.pb-home h1 { font-size: clamp(2.4rem, 6vw, 4.1rem); letter-spacing: -.04em; line-height: 1.05; }
.pb-home h2 { font-size: clamp(1.7rem, 3.4vw, 2.4rem); letter-spacing: -.03em; }
.pb-home .lead { font-size: clamp(1.15rem, 2vw, 1.4rem); }
.pb-step {
  height: 100%; padding: 1.25rem;
  border-radius: 1.25rem; border: 1px solid var(--pb-line);
  background: var(--pb-card);
}
.pb-num {
  width: 3rem; height: 3rem; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1.35rem; color: #fff; margin-bottom: .75rem;
}
.pb-num-1 { background: var(--pb-brand); }
.pb-num-2 { background: #e07a5f; }
.pb-num-3 { background: #2c2925; }
[data-bs-theme="dark"] .pb-num-3 { background: #c9a227; color: #111; }
.pb-ind { position: relative; overflow: hidden; border-radius: 1.15rem; min-height: 220px; }
.pb-ind img { width: 100%; height: 220px; object-fit: cover; display: block; }
.pb-ind figcaption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: .85rem 1rem; color: #fff;
  background: linear-gradient(transparent, rgba(20,18,16,.75));
  font-weight: 700;
}
.pb-ind small { display: block; font-weight: 500; opacity: .9; }
.pb-plan-card {
  position: relative;
  display: flex; flex-direction: column;
  min-height: 100%;
  padding: 1.35rem 1.35rem 1.25rem;
  background: var(--pb-card);
  border: 1px solid color-mix(in srgb, var(--pb-brand) 16%, var(--pb-line));
  border-radius: 1.35rem;
  box-shadow: 0 10px 28px -18px color-mix(in srgb, var(--pb-ink) 35%, transparent);
}
.pb-plan-card.is-hit {
  border-color: var(--pb-brand);
  box-shadow: 0 18px 40px -22px color-mix(in srgb, var(--pb-brand) 55%, transparent);
}
.pb-plan-hit {
  position: absolute; top: .85rem; right: 1rem;
  font-size: .68rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--pb-brand);
}
.pb-plan-price {
  font-size: clamp(1.65rem, 2.4vw, 2.05rem);
  font-weight: 800; letter-spacing: -.03em; line-height: 1.15;
  color: var(--pb-ink);
}
.pb-plan-year { font-size: .88rem; color: var(--pb-muted); min-height: 1.3em; margin-bottom: .65rem; }
.pb-plan-blurb { color: var(--pb-muted); font-size: .98rem; line-height: 1.4; margin-bottom: 1rem; }
.pb-plan-bits {
  list-style: none; padding: 0; margin: 0 0 1.15rem;
  border-top: 1px solid var(--pb-line);
}
.pb-plan-bits li {
  display: flex; justify-content: space-between; gap: .75rem;
  padding: .55rem 0;
  border-bottom: 1px solid var(--pb-line);
  font-size: .88rem; font-weight: 600; line-height: 1.35;
}
.pb-plan-bits li span {
  flex: 0 0 5.2rem;
  font-weight: 700; font-size: .68rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--pb-muted);
}
.pb-plan-note {
  max-width: 40rem;
  font-size: .88rem; color: var(--pb-muted); line-height: 1.45;
  margin: 0;
}

.pb-brand { display: inline-flex; align-items: center; gap: .55rem; color: inherit; }
.pb-mark-svg { display: block; flex: 0 0 auto; }
.pb-word { font-weight: 750; letter-spacing: -.03em; line-height: 1; }
.pb-word em { color: var(--pb-brand); font-style: normal; }


.pb-promise { margin-top: 2rem; }
.pb-promise-col {
  background: var(--pb-card);
  border: 1px solid color-mix(in srgb, var(--pb-brand) 16%, var(--pb-line));
  border-radius: 1.25rem;
  padding: 1.1rem 1.1rem 1.2rem;
  height: 100%;
}
.pb-promise-col img {
  width: 100%;
  height: auto;
  max-height: 12rem;
  display: block;
  border-radius: .9rem;
  object-fit: cover;
  background: #fff;
  margin-bottom: .85rem;
}
.pb-promise-num {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  margin-right: .55rem;
  flex: 0 0 auto;
}
.pb-promise-n1 { background: linear-gradient(160deg, color-mix(in srgb, var(--pb-brand) 55%, #fff), var(--pb-brand)); }
.pb-promise-n2 { background: linear-gradient(160deg, var(--pb-brand), var(--pb-brand-2)); }
.pb-promise-n3 { background: var(--pb-brand-2); }
.pb-hero-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.15rem;
  border: 1px solid var(--pb-line);
  display: block;
}
.pb-faq h3 { font-size: 1.15rem; font-weight: 750; margin: 1.35rem 0 .4rem; }
.pb-faq p { color: var(--pb-muted); }
.pb-vs { width: 100%; border-collapse: collapse; }
.pb-vs th, .pb-vs td { border-bottom: 1px solid var(--pb-line); padding: .65rem .5rem; text-align: left; vertical-align: top; }
.pb-vs th { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--pb-muted); }
.pb-for-card img { width: 100%; height: 10rem; object-fit: cover; border-radius: .9rem; border: 1px solid var(--pb-line); }

.pb-promise-num i{font-size:.9rem;line-height:1;}
