/* Plan page - landing chrome + fresh pricing composition */
body.on-plan{
  --plan-red:#e84855;
  --plan-red-deep:#c93642;
  --plan-ink:#111827;
  --plan-muted:#6b7280;
  --plan-line:#e5e7eb;
  --plan-paper:#f8f8f7;
  background:
    radial-gradient(ellipse 90% 55% at 12% -10%, rgba(232,72,85,.14), transparent 55%),
    radial-gradient(ellipse 70% 45% at 95% 8%, rgba(232,72,85,.08), transparent 50%),
    linear-gradient(180deg, #fff 0%, var(--plan-paper) 42%, #fff 100%) !important;
  min-height:100vh;
}
body.on-plan #page-pricing{
  padding-top:110px;
  padding-bottom:80px;
  min-height:100vh;
}
/* Signed-in Plan: app shell, no marketing top nav */
body.app-with-shell.on-plan #nav{
  display:none !important;
}
body.app-with-shell.on-plan{
  background:
    radial-gradient(ellipse 90% 55% at 18% -8%, rgba(232,72,85,.12), transparent 55%),
    radial-gradient(ellipse 70% 45% at 92% 10%, rgba(232,72,85,.07), transparent 50%),
    linear-gradient(180deg, #f7f8fa 0%, #eef1f4 45%, #f7f8fa 100%) !important;
}
body.app-with-shell.on-plan #page-pricing,
body.app-with-shell.on-plan #page-pricing.page{
  background:transparent !important;
  padding-top:28px;
  padding-bottom:56px;
  padding-left:220px;
  box-sizing:border-box;
}
body.app-sidebar-collapsed.app-with-shell.on-plan #page-pricing{
  padding-left:220px;
}
body.app-with-shell.on-plan .plan-page{
  max-width:920px;
  margin:0 auto;
  padding:0 28px 40px;
}
body.app-with-shell.on-plan .plan-orbit{
  display:none !important;
}
body.app-with-shell.on-plan .plan-hero{
  max-width:640px;
  margin:0 auto;
  padding:20px 0 28px;
  text-align:center;
}
body.app-with-shell.on-plan .plan-hero h1{
  font-size:clamp(2.1rem,3.6vw,3rem);
  margin-bottom:14px;
}
body.app-with-shell.on-plan .plan-hero-brand{margin-bottom:14px;}
body.app-with-shell.on-plan .plan-hero-lead{
  font-size:1rem;
  margin:0 auto 26px;
  max-width:32em;
}
body.app-with-shell.on-plan .plan-hero-actions{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  max-width:320px;
  margin:0 auto;
}
body.app-with-shell.on-plan .plan-hero-actions .plan-btn{
  width:100%;
  min-width:0;
  padding:15px 28px !important;
}
body.app-with-shell.on-plan .plan-active{margin-top:4px;}
body.app-with-shell.on-plan .plan-compare{margin-top:8px;}
body.app-with-shell.on-plan .plan-trust{margin-top:28px;}
@media (max-width:900px){
  body.app-with-shell.on-plan #page-pricing{
    padding-left:0;
    padding-top:72px;
  }
  body.app-with-shell.on-plan .plan-page{padding:0 16px 28px;}
  body.app-with-shell.on-plan .plan-hero-actions{max-width:100%;}
}
body.on-plan .nav-links--float .nl-pricing.on,
body.on-plan .nav-links--float .nl-pricing{
  color:var(--plan-ink) !important;
  font-weight:700 !important;
}

.plan-page{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
  position:relative;
}

.plan-hero{
  position:relative;
  padding:28px 0 48px;
  max-width:640px;
  z-index:2;
}
.plan-hero-brand{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--plan-red);
  margin:0 0 18px;
}
.plan-hero h1{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(2.4rem,5.2vw,3.6rem);
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.05;
  color:var(--plan-ink);
  margin:0 0 16px;
}
.plan-hero h1 em{
  font-style:normal;
  color:var(--plan-red);
}
.plan-hero-lead{
  font-size:1.05rem;
  line-height:1.65;
  color:var(--plan-muted);
  margin:0 0 28px;
  max-width:34em;
}
.plan-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.plan-hero-actions .plan-btn{
  min-width:168px;
  padding:15px 36px !important;
}

/* Force solid CTAs past global outline button reset */
body.on-plan button.plan-btn,
a.plan-btn{
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  font-family:'Outfit',system-ui,sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  border-radius:8px !important;
  padding:14px 28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  text-decoration:none !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  transition:background .15s ease, border-color .15s ease, color .15s ease !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
body.on-plan button.plan-btn:hover,
a.plan-btn:hover{
  transform:none !important;
  filter:none !important;
}
body.on-plan button.plan-btn:active,
a.plan-btn:active{
  transform:none !important;
  filter:none !important;
}

body.on-plan button.plan-btn--primary,
a.plan-btn--primary{
  background:var(--plan-red) !important;
  color:#fff !important;
  border:1px solid var(--plan-red) !important;
  box-shadow:none !important;
}
body.on-plan button.plan-btn--primary:hover,
a.plan-btn--primary:hover{
  background:var(--plan-red-deep) !important;
  border-color:var(--plan-red-deep) !important;
  color:#fff !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}
body.on-plan button.plan-btn--primary:active,
a.plan-btn--primary:active{
  background:#b02e39 !important;
  border-color:#b02e39 !important;
}

body.on-plan button.plan-btn--ghost,
a.plan-btn--ghost{
  background:#fff !important;
  color:var(--plan-ink) !important;
  border:1.5px solid #d1d5db !important;
  box-shadow:none !important;
}
body.on-plan button.plan-btn--ghost:hover,
a.plan-btn--ghost:hover{
  background:#f3f4f6 !important;
  border-color:#9ca3af !important;
  color:var(--plan-ink) !important;
  transform:none !important;
}

body.on-plan button.plan-btn--soft,
a.plan-btn--soft{
  background:rgba(232,72,85,.08) !important;
  color:var(--plan-red) !important;
  border:1.5px solid rgba(232,72,85,.22) !important;
  box-shadow:none !important;
}
body.on-plan button.plan-btn--soft:hover,
a.plan-btn--soft:hover{
  background:rgba(232,72,85,.16) !important;
  border-color:rgba(232,72,85,.4) !important;
  color:var(--plan-red-deep) !important;
  transform:none !important;
}

/* Band goal dial - clean white score, not a glossy red eyeball */
.plan-orbit{
  position:absolute;
  right:0;
  top:6%;
  width:min(340px,38vw);
  aspect-ratio:1;
  z-index:1;
}
.plan-orbit-stage{
  position:absolute;inset:0;
}
.plan-orbit-glow{
  position:absolute;inset:22%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(232,72,85,.14), transparent 68%);
  filter:blur(22px);
  animation:planPulse 4s ease-in-out infinite;
}
.plan-orbit-ring{
  position:absolute;inset:12%;
  border:1px solid rgba(232,72,85,.14);
  border-radius:50%;
  animation:planSpin 26s linear infinite;
}
.plan-orbit-ring--2{
  inset:20%;
  border-style:dashed;
  border-color:rgba(17,24,39,.12);
  animation-duration:18s;
  animation-direction:reverse;
}
.plan-orbit-ring--3{
  inset:28%;
  border-color:rgba(232,72,85,.1);
  animation-duration:32s;
}
.plan-orbit-core{
  position:absolute;inset:32%;
  border-radius:50%;
  background:linear-gradient(180deg, #ffffff 0%, #f8f8f7 100%);
  border:1.5px solid rgba(232,72,85,.2);
  display:flex;align-items:center;justify-content:center;
  flex-direction:column;
  box-shadow:
    0 18px 40px rgba(15,23,42,.08),
    0 0 0 10px rgba(232,72,85,.05),
    inset 0 1px 0 rgba(255,255,255,.9);
  animation:planFloat 5s ease-in-out infinite;
}
.plan-orbit-core::before{
  content:'';
  position:absolute;inset:8px;
  border-radius:50%;
  border:2px solid transparent;
  border-top-color:rgba(232,72,85,.5);
  border-right-color:rgba(232,72,85,.18);
  animation:planSpin 8s linear infinite;
}
.plan-orbit-num{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(2.4rem,5vw,3.2rem);
  font-weight:800;
  letter-spacing:-.06em;
  color:var(--plan-red);
  line-height:1;
  position:relative;
  z-index:1;
}
.plan-orbit-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--plan-muted);
  margin-top:6px;
  position:relative;
  z-index:1;
}
.plan-orbit-chip{
  position:absolute;
  font-family:'Outfit',system-ui,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--plan-line);
  color:var(--plan-ink);
  box-shadow:0 8px 18px rgba(15,23,42,.06);
  white-space:nowrap;
  animation:planChip 5.5s ease-in-out infinite;
}
.plan-orbit-chip--a{top:14%;left:0; animation-delay:0s}
.plan-orbit-chip--b{bottom:16%;right:2%; animation-delay:1.1s}
.plan-orbit-chip--c{top:46%;right:-2%; animation-delay:2s; color:var(--plan-red); border-color:rgba(232,72,85,.22)}

@keyframes planSpin{to{transform:rotate(360deg)}}
@keyframes planFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes planPulse{
  0%,100%{opacity:.4;transform:scale(1)}
  50%{opacity:.7;transform:scale(1.04)}
}
@keyframes planChip{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}

.plan-compare{
  position:relative;
  z-index:2;
  margin-top:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border:1px solid var(--plan-line);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.06);
  animation:planRise .7s cubic-bezier(.22,1,.36,1) both;
}
@keyframes planRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:none}
}
.plan-tier{
  padding:36px 32px 40px;
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.plan-tier--premium{
  background:
    linear-gradient(165deg,rgba(232,72,85,.07) 0%,transparent 42%),
    #fff;
  border-left:1px solid var(--plan-line);
  position:relative;
}
.plan-tier-kicker{
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--plan-muted);
  margin:0 0 10px;
}
.plan-tier--premium .plan-tier-kicker{color:var(--plan-red)}
.plan-tier-name{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:1.65rem;
  font-weight:800;
  letter-spacing:-.03em;
  margin:0 0 6px;
  color:var(--plan-ink);
}
.plan-tier-price{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:14px 0 8px;
  flex-wrap:wrap;
}
.plan-tier-price strong{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(2rem,3.5vw,2.6rem);
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--plan-ink);
}
.plan-tier-price .was{
  font-size:14px;
  color:#9ca3af;
  text-decoration:line-through;
}
.plan-tier-price .per{
  font-size:14px;
  color:var(--plan-muted);
  font-weight:600;
}
.plan-tier-copy{
  color:var(--plan-muted);
  font-size:14px;
  line-height:1.55;
  margin:0 0 22px;
}
.plan-list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:11px;
  flex:1;
}
.plan-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.45;
  color:#374151;
}
.plan-list li::before{
  content:'';
  width:18px;height:18px;flex:0 0 18px;margin-top:1px;
  border-radius:50%;
  background:rgba(22,163,74,.12) center/10px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}
.plan-list li.is-lock{
  color:#9ca3af;
}
.plan-list li.is-lock::before{
  background:rgba(156,163,175,.15) center/9px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M18 6L6 18M6 6l12 12'/%3E%3C/svg%3E");
}
.plan-list li.is-hot::before{
  background:rgba(232,72,85,.14) center/10px no-repeat
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e84855' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

.plan-more{
  margin:0 0 18px;
}
body.on-plan button.plan-more-btn{
  appearance:none !important;
  width:100%;
  background:transparent !important;
  border:none !important;
  border-top:1px dashed rgba(232,72,85,.25) !important;
  border-radius:0 !important;
  color:var(--plan-red) !important;
  font-family:'Outfit',system-ui,sans-serif !important;
  font-size:13px !important;
  font-weight:700 !important;
  padding:12px 4px !important;
  cursor:pointer !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  box-shadow:none !important;
}
body.on-plan button.plan-more-btn:hover{
  color:var(--plan-red-deep) !important;
  background:rgba(232,72,85,.04) !important;
}
.plan-more-btn svg{
  transition:transform .2s ease;
}
.plan-more.is-open .plan-more-btn svg{transform:rotate(180deg)}
.plan-more-panel{
  display:none;
  padding:4px 0 8px;
}
.plan-more.is-open .plan-more-panel{display:block}
.plan-more-panel .plan-list{margin-bottom:0}

.plan-tier-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:auto;
}
.plan-tier .plan-btn{
  width:100%;
  min-height:48px;
  padding:14px 20px !important;
}

.plan-pop{
  position:absolute;
  top:18px;right:18px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#fff;
  background:var(--plan-red);
  padding:6px 10px;
  border-radius:999px;
  box-shadow:0 8px 18px rgba(232,72,85,.3);
}

/* Trust strip */
.plan-trust{
  margin:40px 0 8px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.plan-trust-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 18px 18px 16px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--plan-line);
  box-shadow:0 10px 28px rgba(15,23,42,.04);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.plan-trust-card:hover{
  transform:none;
  border-color:rgba(232,72,85,.28);
  box-shadow:0 16px 34px rgba(232,72,85,.1);
}
.plan-trust-ico{
  width:42px;height:42px;flex:0 0 42px;
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,rgba(232,72,85,.14),rgba(232,72,85,.04));
  color:var(--plan-red);
}
.plan-trust-card strong{
  display:block;
  font-family:'Outfit',system-ui,sans-serif;
  font-size:14px;
  font-weight:700;
  color:var(--plan-ink);
  margin-bottom:3px;
}
.plan-trust-card span{
  font-size:12px;
  line-height:1.45;
  color:var(--plan-muted);
}

.plan-active{
  display:none;
  margin:8px auto 0;
  max-width:640px;
  text-align:center;
  padding:48px 28px;
  border:1px solid var(--plan-line);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 0%, rgba(232,72,85,.12), transparent 55%),
    #fff;
  animation:planRise .6s ease both;
}
.plan-active-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--plan-red);
  margin-bottom:14px;
}
.plan-active h2{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:clamp(1.8rem,3vw,2.4rem);
  letter-spacing:-.04em;
  margin:0 0 12px;
  color:var(--plan-ink);
}
.plan-active p{
  color:var(--plan-muted);
  line-height:1.65;
  margin:0 auto 24px;
  max-width:36em;
}
.plan-active-meter{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:20px 36px;
  border-radius:14px;
  border:1px solid var(--plan-line);
  background:#fff;
  margin-bottom:22px;
}
.plan-active-meter strong{
  font-family:'Outfit',system-ui,sans-serif;
  font-size:2.4rem;
  letter-spacing:-.04em;
  color:var(--plan-ink);
}
.plan-active-meter span{font-size:12px;color:var(--plan-muted);font-weight:600}
.plan-active-hint{font-size:13px;color:var(--plan-muted);margin-bottom:22px}

.plan-footnote{
  text-align:center;
  margin-top:28px;
  padding:22px 20px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(232,72,85,.06),rgba(232,72,85,.02));
  border:1px solid rgba(232,72,85,.14);
  font-size:14px;
  color:#6b7280;
}
.plan-footnote a{
  color:var(--plan-red);
  font-weight:800;
  text-decoration:none;
}
.plan-footnote a:hover{text-decoration:underline}

@media (max-width:900px){
  body.on-plan #page-pricing{padding-top:96px}
  .plan-orbit{display:none}
  .plan-compare{grid-template-columns:1fr}
  .plan-tier--premium{border-left:none;border-top:1px solid var(--plan-line)}
  .plan-hero{padding-top:12px;padding-bottom:28px;max-width:none}
  .plan-tier{padding:28px 22px 32px}
  .plan-trust{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .plan-orbit-ring,.plan-orbit-core,.plan-orbit-glow,.plan-orbit-chip,
  .plan-compare,.plan-active{animation:none}
  .plan-orbit-stage{transition:none}
}
