.decision { background: var(--page-surface); }
.decision-grid { display: grid; grid-template-columns: 0.84fr 1.16fr; gap: 84px; align-items: start; }
.decision-list { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.decision-list li { display: grid; grid-template-columns: 52px 1fr; gap: 22px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.decision-list li > span { color: var(--accent-text); font-family: var(--font-display); font-size: 0.78rem; font-weight: 700; }
.decision-list strong { display: block; margin-bottom: 8px; font-family: var(--font-display); font-size: 1.2rem; }
.decision-list p { margin: 0; color: var(--text-muted); font-size: 0.94rem; }

.workflow { background: var(--page-bg); }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr); align-items: end; gap: 60px; margin-bottom: 58px; }
.section-heading h2 { max-width: 760px; margin-bottom: 0; }
.section-heading > p { max-width: 470px; margin: 0; }
.section-heading-centered { display: block; max-width: 770px; margin-inline: auto; text-align: center; }
.section-heading-centered p { margin: 20px auto 0; }
.workflow-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr); gap: 74px; align-items: start; }
.workflow-steps { margin: 0; padding: 0; list-style: none; }
.workflow-steps li { position: relative; display: grid; grid-template-columns: 42px 1fr; gap: 22px; padding: 0 0 30px; }
.workflow-steps li:not(:last-child)::after { position: absolute; top: 42px; bottom: 7px; left: 20px; width: 1px; content: ""; background: var(--line-strong); }
.workflow-steps li > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: var(--radius-round); background: var(--page-surface); color: var(--accent-text); font-family: var(--font-display); font-size: 0.76rem; font-weight: 700; }
.workflow-steps strong { display: block; margin: 4px 0 7px; font-family: var(--font-display); font-size: 1.08rem; }
.workflow-steps p { margin: 0; color: var(--text-muted); font-size: 0.9rem; }
.capability-ledger { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--page-surface); box-shadow: var(--shadow-sm); }
.ledger-label { margin: 0; padding: 22px 24px; border-bottom: 1px solid var(--line); color: var(--text-muted); font-family: var(--font-display); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.capability-ledger ul { margin: 0; padding: 0; list-style: none; }
.capability-ledger li { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.capability-ledger li:last-child { border-bottom: 0; }
.capability-ledger li span { font-family: var(--font-display); font-size: 0.9rem; font-weight: 700; }
.capability-ledger li small { color: var(--text-muted); font-size: 0.72rem; text-align: right; }

.security { background: var(--page-dark); color: var(--text-on-dark); }
.security-inner { display: grid; grid-template-columns: 0.88fr 1.12fr; gap: 88px; align-items: center; }
.security-copy h2 span { color: var(--accent); }
.security-copy > p { color: var(--text-on-dark-muted); }
.security-facts { margin: 0; border-top: 1px solid var(--line-dark); }
.security-facts div { display: grid; grid-template-columns: 190px 1fr; gap: 34px; padding: 26px 0; border-bottom: 1px solid var(--line-dark); }
.security-facts dt { font-family: var(--font-display); font-size: 0.95rem; font-weight: 700; }
.security-facts dd { margin: 0; color: var(--text-on-dark-muted); font-size: 0.88rem; }

.plans-section {
  padding: clamp(44px, 4.5vw, 64px) 0 clamp(64px, 5.5vw, 86px);
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 42%, rgba(63, 211, 109, 0.11), transparent 30%),
    linear-gradient(180deg, var(--page-dark) 0%, #07182a 54%, var(--page-dark) 100%);
  color: var(--text-on-dark);
}
.plans-section .section-heading-centered {
  max-width: 640px;
  margin-bottom: clamp(22px, 2.5vw, 32px);
}
.plans-section .section-heading-centered p { margin-top: 10px; }
.plans-section .kicker { margin-bottom: 8px; }
.plans-section .section-heading h2 { font-size: clamp(2rem, 3.6vw, 2.85rem); }
.plans-section .section-heading h2 span { color: var(--accent); }
.plans-section .section-heading > p {
  max-width: 520px;
  color: var(--text-on-dark-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}
.plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.7vw, 22px); align-items: stretch; }
.plan, .plan-skeleton { min-height: 0; border: 1px solid var(--line-dark); border-radius: 22px; background: rgba(18, 36, 58, 0.72); }
.plan {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: clamp(20px, 1.75vw, 24px);
  box-shadow: 0 20px 58px rgba(0, 7, 18, 0.2);
}
.plan.is-recommended {
  border-color: var(--accent-hover);
  background: linear-gradient(180deg, rgba(14, 58, 55, 0.88), rgba(12, 38, 52, 0.88));
  box-shadow: 0 24px 76px rgba(63, 211, 109, 0.15);
}
.plan-badge {
  position: absolute;
  top: -14px;
  left: 50%;
  padding: 7px 15px;
  border-radius: var(--radius-round);
  background: var(--accent);
  color: var(--accent-ink);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.plan h3 { margin: 0 0 7px; color: var(--text-on-dark); font-size: clamp(1.2rem, 1.45vw, 1.35rem); }
.plan-description { min-height: 38px; margin: 0 0 12px; color: var(--text-on-dark-muted); font-size: 0.8rem; line-height: 1.35; }
.plan-users { margin: 0 0 12px; color: #8fd5a8; font-size: 0.74rem; font-weight: 700; }
.plan-price { display: flex; align-items: baseline; gap: 7px; margin-bottom: 8px; color: var(--text-on-dark); }
.plan-price strong { font-family: var(--font-display); font-size: clamp(2.35rem, 4.2vw, 2.85rem); line-height: 0.92; letter-spacing: -0.06em; }
.plan-price-currency { color: var(--text-on-dark); font-size: 1rem; font-weight: 800; }
.plan-price-period { color: var(--text-on-dark-muted); font-size: 0.92rem; font-weight: 700; }
.plan-meta { display: grid; gap: 3px; margin: 0 0 13px; color: #8fd5a8; font-size: 0.7rem; font-weight: 800; line-height: 1.3; }
.plan-benefit-intro { margin: 0 0 7px; color: var(--text-on-dark); font-family: var(--font-display); font-size: 0.84rem; font-weight: 800; line-height: 1.25; }
.plan ul { display: grid; gap: 6px; margin: 0 0 18px; padding: 0; list-style: none; }
.plan li { position: relative; min-height: 18px; padding-left: 23px; color: var(--text-on-dark-muted); font-size: 0.78rem; line-height: 1.28; }
.plan li::before {
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 14px;
  height: 14px;
  content: "";
  border-radius: var(--radius-round);
  background: rgba(63, 211, 109, 0.18);
}
.plan li::after {
  position: absolute;
  top: 0.65em;
  left: 4px;
  width: 7px;
  height: 4px;
  content: "";
  border: 2px solid var(--accent);
  border-top: 0;
  border-right: 0;
  transform: translateY(-50%) rotate(-45deg);
}
.plan .button { width: 100%; min-height: 48px; margin-top: auto; padding: 11px 18px; }
.plan:not(.is-recommended) .button {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-ink);
  box-shadow: 0 12px 30px var(--accent-shadow);
}
.plan-skeleton { background: linear-gradient(100deg, rgba(18, 36, 58, 0.72) 20%, rgba(31, 54, 82, 0.78) 38%, rgba(18, 36, 58, 0.72) 56%); background-size: 220% 100%; animation: plan-loading 1.4s linear infinite; }
.plans-status { margin: 16px auto 0; color: var(--text-on-dark-muted); font-size: 0.74rem; text-align: center; }
.plans-error { grid-column: 1 / -1; padding: 36px; border: 1px solid var(--line-dark); border-radius: var(--radius-lg); background: var(--page-dark-raised); text-align: center; }
.plans-error strong { display: block; margin-bottom: 8px; font-family: var(--font-display); }
.plans-error p { margin: 0; color: var(--text-muted); }
@keyframes plan-loading { to { background-position-x: -220%; } }

.faq { background: var(--page-bg); }
.faq-grid { display: grid; grid-template-columns: minmax(300px, 0.78fr) minmax(0, 1.22fr); gap: 88px; align-items: start; }
.faq .section-intro { position: sticky; top: 112px; }
.faq .section-intro .button { margin-top: 16px; }
.accordion { border-top: 1px solid var(--line-strong); }
.accordion details { border-bottom: 1px solid var(--line-strong); }
.accordion summary { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; font-family: var(--font-display); font-weight: 700; list-style: none; }
.accordion summary::-webkit-details-marker { display: none; }
.accordion summary span { position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.accordion summary span::before, .accordion summary span::after { position: absolute; top: 50%; left: 50%; width: 14px; height: 2px; content: ""; border-radius: var(--radius-round); background: var(--text); transform: translate(-50%, -50%); }
.accordion summary span::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 160ms ease; }
.accordion details[open] summary span::after { transform: translate(-50%, -50%) rotate(0); }
.accordion details > p { max-width: 680px; margin: -4px 40px 24px 0; color: var(--text-muted); font-size: 0.9rem; }

.final-cta { padding: 112px 0; background: var(--page-dark-soft); color: var(--text-on-dark); }
.final-cta-inner { max-width: 900px; text-align: center; }
.final-cta h2 { margin-bottom: 24px; font-size: clamp(2.3rem, 5vw, 4.5rem); }
.final-cta h2 span { color: var(--accent); }
.final-cta p { max-width: 680px; margin: 0 auto 30px; color: var(--text-on-dark-muted); }
.final-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.final-cta small { display: block; margin-top: 18px; color: var(--text-on-dark-muted); }

.site-footer { padding: 70px 0 28px; border-top: 1px solid var(--line-dark); background: var(--page-dark); color: var(--text-on-dark); }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 0.7fr); gap: 54px; }
.footer-brand img { margin-bottom: 18px; }
.footer-brand p { max-width: 320px; color: var(--text-on-dark-muted); font-size: 0.82rem; }
.footer-grid nav, .footer-legal { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid strong { margin-bottom: 5px; font-family: var(--font-display); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }
.footer-grid a, .footer-grid span { color: var(--text-on-dark-muted); font-size: 0.78rem; }
.footer-grid a:hover { color: var(--text-on-dark); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--line-dark); color: var(--text-on-dark-muted); font-size: 0.72rem; }
