:root {
  --pb-shell-night: #07101f;
  --pb-shell-night-soft: #0d1a30;
  --pb-shell-card: #111f37;
  --pb-shell-line: rgba(148, 163, 184, 0.18);
  --pb-shell-text: #f8fafc;
  --pb-shell-muted: #9eabc0;
  --pb-shell-cyan: #23b7ec;
  --pb-shell-cyan-strong: #0ea5e9;
  --pb-shell-amber: #ffb34d;
  --pb-shell-success: #2fc28f;
  --pb-shell-paper: #f7f5ef;
  --pb-shell-ink: #111d38;
  --pb-shell-radius: 20px;
  --pb-shell-shadow: 0 18px 60px rgba(1, 7, 18, 0.24);
}

/* Legacy pages used JavaScript-only scroll reveals. If that observer is late,
   blocked, or the browser restores a deep scroll position, whole sections can
   remain transparent. The canonical shell keeps all customer content visible;
   interaction and motion enhance the page but never gate its copy. */
.pb-has-site-shell .reveal {
  opacity: 1 !important;
  transform: none !important;
  transition-delay: 0s !important;
}

/* Canonical public chrome. It intentionally uses custom classes instead of
   Tailwind utilities so every legacy article, help page, and checkout surface
   gets the exact same header and footer even when its utility bundle differs. */
.pb-site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 80;
  min-height: 72px;
  color: var(--pb-shell-text);
  background: rgba(7, 16, 31, 0.88);
  border-bottom: 1px solid var(--pb-shell-line);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
  transition: background 180ms ease, box-shadow 180ms ease;
}

.pb-site-header.pb-site-header-scrolled {
  background: rgba(7, 16, 31, 0.96);
  box-shadow: 0 12px 36px rgba(1, 7, 18, 0.22);
}

.pb-site-nav {
  width: min(1180px, calc(100% - 40px));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.pb-site-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--pb-shell-text) !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.pb-site-brand-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--pb-shell-cyan);
  border: 1px solid rgba(35, 183, 236, 0.28);
  border-radius: 11px;
  background: rgba(35, 183, 236, 0.08);
}

.pb-site-brand-mark svg { width: 24px; height: 24px; }
.pb-site-brand-word { font: 750 18px/1 Inter, system-ui, sans-serif; letter-spacing: -0.025em; }

.pb-site-links,
.pb-site-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pb-site-links { margin-left: auto; }

.pb-site-link {
  color: #b4bfd0 !important;
  text-decoration: none !important;
  font: 550 13px/1 Inter, system-ui, sans-serif;
  padding: 10px 12px;
  border-radius: 10px;
  transition: color 150ms ease, background 150ms ease;
}

.pb-site-link:hover,
.pb-site-link[aria-current="page"] {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.07);
}

.pb-site-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 17px;
  border-radius: 12px;
  text-decoration: none !important;
  font: 700 13px/1 Inter, system-ui, sans-serif;
  white-space: nowrap;
  transition: transform 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.pb-site-action:hover { transform: translateY(-1px); }
.pb-site-action-secondary { color: #d4dbe7 !important; background: transparent; }
.pb-site-action-secondary:hover { background: rgba(255,255,255,0.07); color: #fff !important; }
.pb-site-action-primary {
  color: #05101d !important;
  background: linear-gradient(135deg, #42c8f3, #20aee3);
  box-shadow: 0 9px 28px rgba(14, 165, 233, 0.22);
}
.pb-site-action-primary:hover { background: linear-gradient(135deg, #70d8f8, #2ab9ed); }

.pb-site-menu-button {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid var(--pb-shell-line);
  border-radius: 12px;
  color: #d8e0ec;
  background: rgba(255,255,255,0.04);
  cursor: pointer;
}
.pb-site-menu-button svg { width: 21px; height: 21px; margin: auto; }

.pb-site-mobile-menu {
  display: none;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto 14px;
  padding: 12px;
  border: 1px solid var(--pb-shell-line);
  border-radius: 16px;
  background: rgba(13, 26, 48, 0.98);
  box-shadow: var(--pb-shell-shadow);
}
.pb-site-mobile-menu[hidden] { display: none !important; }
.pb-site-mobile-menu .pb-site-link,
.pb-site-mobile-menu .pb-site-action { width: 100%; justify-content: flex-start; min-height: 44px; }
.pb-site-mobile-divider { height: 1px; margin: 8px 4px; background: var(--pb-shell-line); }

.pb-site-footer {
  color: var(--pb-shell-muted);
  background: #050c18;
  border-top: 1px solid var(--pb-shell-line);
  padding: 64px 0 28px;
}

.pb-site-footer-inner {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

.pb-site-footer-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(130px, .7fr));
  gap: 42px;
}

.pb-site-footer-brand p {
  max-width: 330px;
  margin: 16px 0 0;
  color: #8492a8;
  font: 400 13px/1.75 Inter, system-ui, sans-serif;
}

.pb-site-footer-kicker {
  margin: 0 0 14px;
  color: #eef3fa;
  font: 750 12px/1 Inter, system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pb-site-footer-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.pb-site-footer-list a {
  color: #8997ac !important;
  text-decoration: none !important;
  font: 450 13px/1.4 Inter, system-ui, sans-serif;
}
.pb-site-footer-list a:hover { color: #fff !important; }

.pb-site-footer-bottom {
  margin-top: 48px;
  padding-top: 22px;
  border-top: 1px solid var(--pb-shell-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: #68768c;
  font: 450 11px/1.5 Inter, system-ui, sans-serif;
}

.pb-site-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #8fa0b7;
}
.pb-site-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--pb-shell-success); box-shadow: 0 0 0 4px rgba(47,194,143,.10); }

/* Launch storefront components shared by Pricing, Shop, and Order. */
.pb-launch-page {
  min-height: 100vh;
  color: var(--pb-shell-text);
  background:
    radial-gradient(circle at 15% 0%, rgba(35,183,236,.12), transparent 34rem),
    radial-gradient(circle at 85% 14%, rgba(255,179,77,.08), transparent 32rem),
    var(--pb-shell-night);
}

.pb-launch-main { width: min(1120px, calc(100% - 40px)); margin: 0 auto; padding: 126px 0 96px; }
.pb-launch-hero { max-width: 790px; margin: 0 auto 58px; text-align: center; }
.pb-launch-eyebrow { margin: 0 0 16px; color: var(--pb-shell-cyan); font: 750 12px/1 Inter, system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.pb-launch-title { margin: 0; color: #fff; font: 800 clamp(38px, 6vw, 68px)/1.03 Inter, system-ui, sans-serif; letter-spacing: -.045em; }
.pb-launch-lede { max-width: 680px; margin: 22px auto 0; color: #a7b3c6; font: 450 clamp(16px, 2vw, 20px)/1.65 Inter, system-ui, sans-serif; }
.pb-launch-trust-row { margin-top: 26px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.pb-launch-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 13px; border: 1px solid var(--pb-shell-line); border-radius: 999px; color: #b7c2d3; background: rgba(255,255,255,.035); font: 600 11px/1 Inter, system-ui, sans-serif; }
.pb-launch-pill svg { width: 14px; height: 14px; color: var(--pb-shell-success); }

.pb-launch-section { margin-top: 72px; }
.pb-launch-section-head { max-width: 680px; margin: 0 auto 28px; text-align: center; }
.pb-launch-section-head h2 { margin: 0; color: #fff; font: 780 clamp(28px, 4vw, 42px)/1.12 Inter, system-ui, sans-serif; letter-spacing: -.03em; }
.pb-launch-section-head p { margin: 13px auto 0; color: #96a4b9; font: 450 15px/1.7 Inter, system-ui, sans-serif; }

.pb-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: stretch; gap: 22px; }
.pb-product-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px; border: 1px solid var(--pb-shell-line); border-radius: 24px; background: linear-gradient(155deg, rgba(20,38,66,.96), rgba(10,23,43,.94)); box-shadow: 0 20px 60px rgba(1,7,18,.22); overflow: hidden; }
.pb-product-card[data-featured="true"] { border-color: rgba(255,179,77,.44); box-shadow: 0 24px 70px rgba(1,7,18,.30), 0 0 0 1px rgba(255,179,77,.06) inset; }
.pb-product-card::after { content: ""; position: absolute; width: 220px; height: 220px; right: -100px; top: -100px; border-radius: 50%; background: rgba(35,183,236,.07); pointer-events: none; }
.pb-product-card[data-featured="true"]::after { background: rgba(255,179,77,.08); }
.pb-product-badge { align-self: flex-start; margin-bottom: 22px; padding: 7px 10px; color: #92dcf5; border: 1px solid rgba(35,183,236,.2); border-radius: 999px; background: rgba(35,183,236,.09); font: 750 10px/1 Inter, system-ui, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.pb-product-card[data-featured="true"] .pb-product-badge { color: #ffd89f; border-color: rgba(255,179,77,.24); background: rgba(255,179,77,.10); }
.pb-product-visual { height: 138px; margin: -2px 0 24px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.06); border-radius: 18px; background: radial-gradient(circle at 50% 45%, rgba(35,183,236,.12), rgba(3,10,24,.30) 65%); overflow: hidden; }
.pb-product-card[data-featured="true"] .pb-product-visual { background: radial-gradient(circle at 50% 45%, rgba(255,179,77,.12), rgba(3,10,24,.30) 65%); }
.pb-product-visual svg { width: min(240px, 82%); height: 112px; filter: drop-shadow(0 18px 18px rgba(0,0,0,.28)); }
.pb-product-name { margin: 0; color: #fff; font: 780 26px/1.1 Inter, system-ui, sans-serif; letter-spacing: -.025em; }
.pb-product-description { min-height: 52px; margin: 10px 0 0; color: #9cabc0; font: 450 14px/1.65 Inter, system-ui, sans-serif; }
.pb-product-price { margin: 25px 0 4px; color: #fff; font: 820 46px/1 Inter, system-ui, sans-serif; letter-spacing: -.045em; }
.pb-product-price small { color: #7f8da3; font: 550 12px/1 Inter, system-ui, sans-serif; letter-spacing: 0; }
.pb-product-shipping { color: var(--pb-shell-success); font: 650 12px/1.4 Inter, system-ui, sans-serif; }
.pb-product-features { list-style: none; padding: 0; margin: 25px 0 28px; display: grid; gap: 12px; }
.pb-product-features li { display: flex; align-items: flex-start; gap: 10px; color: #c3ccda; font: 450 13px/1.5 Inter, system-ui, sans-serif; }
.pb-product-features li::before { content: "✓"; flex: 0 0 auto; color: var(--pb-shell-success); font-weight: 800; }
.pb-product-cta { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border: 0; border-radius: 14px; color: #06111f !important; background: var(--pb-shell-cyan); font: 750 14px/1 Inter, system-ui, sans-serif; text-decoration: none !important; cursor: pointer; transition: transform 150ms ease, filter 150ms ease; }
.pb-product-card[data-featured="true"] .pb-product-cta { background: var(--pb-shell-amber); }
.pb-product-cta:hover { transform: translateY(-1px); filter: brightness(1.06); }
.pb-product-cta:disabled { opacity: .52; cursor: not-allowed; transform: none; }

.pb-launch-slab { position: relative; isolation: isolate; margin-top: 32px; padding: 28px 30px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 22px; overflow: hidden; border: 1px solid rgba(35,183,236,.2); border-radius: 22px; background: linear-gradient(112deg, rgba(35,183,236,.09), rgba(255,255,255,.035) 48%, rgba(255,179,77,.07)); box-shadow: 0 18px 50px rgba(1,7,18,.18); }
.pb-launch-slab::before { content: ""; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 4px; background: linear-gradient(180deg, var(--pb-shell-cyan), var(--pb-shell-amber)); }
.pb-launch-slab-icon { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid rgba(35,183,236,.16); border-radius: 17px; color: var(--pb-shell-cyan); background: rgba(35,183,236,.10); }
.pb-launch-slab-icon svg { width: 25px; height: 25px; }
.pb-launch-slab-copy { min-width: 0; }
.pb-launch-slab-label { display: block; margin-bottom: 7px; color: #78d9f7; font: 750 10px/1 Inter, system-ui, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.pb-launch-slab h3 { margin: 0; color: #fff; font: 750 19px/1.2 Inter, system-ui, sans-serif; }
.pb-launch-slab p { margin: 6px 0 0; color: #98a7bb; font: 450 13px/1.6 Inter, system-ui, sans-serif; }
.pb-launch-slab-offer { min-width: 132px; padding: 13px 16px; display: flex; flex-direction: column; align-items: flex-end; gap: 5px; border: 1px solid rgba(255,179,77,.18); border-radius: 15px; background: rgba(255,179,77,.07); }
.pb-launch-slab-offer > span { color: #aab5c6; font: 650 10px/1 Inter, system-ui, sans-serif; letter-spacing: .04em; white-space: nowrap; }
.pb-launch-slab-price { color: var(--pb-shell-amber); font: 800 25px/1 Inter, system-ui, sans-serif; white-space: nowrap; }

.pb-service-card { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; padding: 42px; border: 1px solid rgba(35,183,236,.22); border-radius: 28px; background: linear-gradient(140deg, rgba(35,183,236,.10), rgba(255,255,255,.025)); }
.pb-service-card h2 { margin: 0; color: #fff; font: 780 clamp(28px,4vw,42px)/1.1 Inter, system-ui, sans-serif; letter-spacing: -.03em; }
.pb-service-card p { margin: 14px 0 0; color: #9eabc0; font: 450 15px/1.7 Inter, system-ui, sans-serif; }
.pb-service-price { display: flex; flex-direction: column; justify-content: center; padding: 26px; border-radius: 20px; background: rgba(2,9,20,.42); border: 1px solid var(--pb-shell-line); }
.pb-service-price strong { color: #fff; font: 820 42px/1 Inter, system-ui, sans-serif; letter-spacing: -.04em; }
.pb-service-price span { margin-top: 10px; color: #92a2b8; font: 450 12px/1.6 Inter, system-ui, sans-serif; }

.pb-compare { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--pb-shell-line); border-radius: 20px; background: rgba(255,255,255,.025); }
.pb-compare th, .pb-compare td { padding: 16px 18px; border-bottom: 1px solid var(--pb-shell-line); color: #b7c2d2; font: 450 13px/1.5 Inter, system-ui, sans-serif; text-align: left; }
.pb-compare th { color: #fff; background: rgba(255,255,255,.035); font-weight: 700; }
.pb-compare tr:last-child td { border-bottom: 0; }
.pb-compare td:not(:first-child), .pb-compare th:not(:first-child) { text-align: center; }
.pb-compare-yes { color: var(--pb-shell-success) !important; font-weight: 750 !important; }

.pb-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 10px; }
.pb-faq details { border: 1px solid var(--pb-shell-line); border-radius: 16px; background: rgba(255,255,255,.027); }
.pb-faq summary { list-style: none; padding: 19px 22px; cursor: pointer; color: #eef3fa; font: 650 14px/1.4 Inter, system-ui, sans-serif; }
.pb-faq summary::-webkit-details-marker { display: none; }
.pb-faq summary::after { content: "+"; float: right; color: var(--pb-shell-cyan); font-size: 20px; line-height: 14px; }
.pb-faq details[open] summary::after { content: "−"; }
.pb-faq details p { margin: 0; padding: 0 22px 20px; color: #97a6ba; font: 450 13px/1.7 Inter, system-ui, sans-serif; }

.pb-launch-notice { max-width: 820px; margin: 32px auto 0; padding: 18px 20px; border: 1px solid rgba(255,179,77,.26); border-radius: 16px; color: #c8d0dd; background: rgba(255,179,77,.06); font: 450 13px/1.65 Inter, system-ui, sans-serif; }
.pb-launch-notice strong { color: #ffd696; }

.pb-launch-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.pb-launch-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 14px; text-decoration: none !important; font: 750 14px/1 Inter, system-ui, sans-serif; }
.pb-launch-button-primary { color: #06111f !important; background: var(--pb-shell-cyan); }
.pb-launch-button-secondary { color: #d6deea !important; border: 1px solid var(--pb-shell-line); background: rgba(255,255,255,.035); }

@media (max-width: 920px) {
  .pb-site-links, .pb-site-actions { display: none; }
  .pb-site-menu-button { display: grid; place-items: center; margin-left: auto; }
  .pb-site-mobile-menu:not([hidden]) { display: grid; gap: 2px; }
  .pb-site-footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .pb-site-footer-brand { grid-column: 1 / -1; }
  .pb-service-card { grid-template-columns: 1fr; gap: 22px; }
}

@media (max-width: 700px) {
  .pb-site-nav { width: min(100% - 28px, 1180px); min-height: 64px; }
  .pb-site-header { min-height: 64px; }
  .pb-site-brand-mark { width: 31px; height: 31px; }
  .pb-site-brand-word { font-size: 17px; }
  .pb-site-footer { padding-top: 46px; }
  .pb-site-footer-inner { width: min(100% - 32px, 1180px); }
  .pb-site-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; }
  .pb-site-footer-brand { grid-column: 1 / -1; }
  .pb-site-footer-bottom { align-items: flex-start; flex-direction: column; }
  .pb-launch-main { width: min(100% - 28px, 1120px); padding-top: 108px; }
  .pb-launch-hero { margin-bottom: 40px; }
  .pb-product-grid { grid-template-columns: 1fr; }
  .pb-product-card { padding: 24px; }
  .pb-launch-slab { grid-template-columns: auto 1fr; padding: 22px; }
  .pb-launch-slab-offer { grid-column: 2; width: fit-content; min-width: 0; align-items: flex-start; }
  .pb-service-card { padding: 26px; }
  .pb-compare { display: block; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .pb-site-header, .pb-site-link, .pb-site-action, .pb-product-cta { transition: none !important; }
}
