.pricing-overview { padding-block: 46px 48px; }
.pricing-intro { display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 70px; margin-bottom: 36px; }
.pricing-intro .eyebrow { display: flex; align-items: center; gap: 9px; }
.pricing-intro h1 { margin: 16px 0 0; color: #ecece7; font-size: clamp(38px, 4.5vw, 58px); font-weight: 480; line-height: 1.06; letter-spacing: -.055em; }
.pricing-intro-copy { max-width: 41ch; justify-self: end; }
.pricing-intro-copy p { color: #b3b3ad; font-size: 14px; line-height: 1.7; }
.pricing-demo-link { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin-top: 8px; color: #c6c7bf; font-size: 12px; }
.pricing-demo-link:hover { color: #fff; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.pricing-plan { --radius: 24px; --plan-text: #e6e8e0; --plan-muted: #b0b5a9; --plan-line: #42483b; position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; padding: 25px; background: linear-gradient(145deg,#ffffff04,transparent 60%),#191b18; border: 1px solid #383e32; color: var(--plan-text); }
.plan-team { --plan-text: #20261c; --plan-muted: #475244; --plan-line: #46534138; background: #e4e8dc; border-color: #f1f2e7; }
.plan-team::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 0 0,#f6f3e7 0%,transparent 73%),radial-gradient(ellipse at 100% 100%,#c4cfbb 0%,transparent 78%); }
.plan-custom { background: #151515; --plan-line: #343434; --plan-muted: #ababab; border-color: #343434; }
.plan-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 27px; }
.plan-top h2 { margin: 0; font-size: 19px; font-weight: 600; letter-spacing: -.4px; }
.plan-badge { --radius: 7px; padding: 5px 8px; background: #ffffff09; color: var(--plan-muted); font-size: 10px; font-weight: 500; }
.plan-team .plan-badge { background: #38453115; color: #344530; }
.plan-description { margin-top: 13px; font-size: 13px; line-height: 1.5; color: var(--plan-muted); }
.plan-price { display: flex; align-items: center; gap: 10px; height: 64px; min-height: 64px; margin-top: 22px; white-space: nowrap; }
.price-number { font-size: 64px; font-weight: 510; line-height: 1; letter-spacing: -.065em; }
.price-period { color: var(--plan-muted); font-size: 11px; line-height: 1.6; }
.price-quote { font-size: 42px; font-weight: 480; line-height: 1.5; letter-spacing: -1.7px; }
.plan-subtitle { margin-top: 9px; color: var(--plan-muted); font-size: 11px; line-height: 1.5; }
.plan-allowances { display: grid; grid-template-columns: 1fr 1fr; margin: 19px 0; padding-block: 17px; border-block: 1px solid var(--plan-line); }
.plan-allowances > div + div { padding-left: 16px; border-left: 1px solid var(--plan-line); }
.plan-allowances dt { font-size: 10px; font-weight: 500; color: var(--plan-muted); }
.plan-allowances dd { margin: 8px 0 0; font-size: 29px; font-weight: 520; letter-spacing: -.8px; line-height: 1; }
.plan-allowances dd > span { font-size: 16px; letter-spacing: -.3px; }
.plan-allowances .allowance-custom { font-size: 21px; line-height: 29px; letter-spacing: -.4px; }
.plan-includes { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.plan-includes li { display: flex; gap: 10px; align-items: baseline; font-size: 12px; line-height: 1.65; }
.plan-includes li::before { content: ''; display: block; width: 8px; height: 4px; flex: 0 0 8px; border: solid #9eb68c; border-width: 0 0 1.5px 1.5px; transform: rotate(-45deg); }
.plan-team .plan-includes li::before { border-color: #455f3b; }
.plan-action { margin-top: auto; }
.plan-cta { width: 100%; min-height: 45px; background: #e3e7dc; color: #222a20; font-size: 12px; }
.plan-cta:hover { background: #f4f6ef; }
.plan-team .plan-cta { background: #222a20; color: #f4f4eb; }
.plan-team .plan-cta:hover { background: #172016; }
.plan-custom .plan-cta { border-color: #4b4b4b; background: #ffffff04; color: #e3e5de; }
.plan-custom .plan-cta:hover { background: #ffffff0c; }
.plan-team a:focus-visible { outline-color: #20261c; }
.plan-note { margin-top: 11px; color: var(--plan-muted); font-size: 10px; line-height: 1.6; }
.pricing-footnotes { display: flex; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; margin-top: 18px; font-size: 11px; line-height: 1.7; color: #a6aaa1; }
.pricing-footnotes a,.pricing-faq p a { text-decoration: underline; text-underline-offset: 3px; }
.pricing-steps { border-top: 1px solid #292929; padding-block: 54px 64px; }
.pricing-steps ol { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.pricing-steps li { border-top: 1px solid #373737; padding-top: 16px; }
.step-number { color: #a2a59e; font-size: 11px; font-variant-numeric: tabular-nums; }
.pricing-steps h3 { margin: 11px 0 7px; color: #e5e5df; font-size: 15px; font-weight: 550; }
.pricing-steps li p { margin: 0; max-width: 36ch; color: #aaa; font-size: 13px; line-height: 1.65; }
.pricing-faq { border-top: 1px solid #292929; }
.site-header nav a[aria-current='page'] { color: #eee; }
@media (min-width: 761px) and (max-width: 1000px) {
  .pricing-intro { gap: 36px; }
  .pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .pricing-plan { padding: 24px; }
  .plan-custom { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 0 36px; }
  .plan-custom .plan-top,.plan-custom .plan-description,.plan-custom .plan-price,.plan-custom .plan-subtitle,.plan-custom .plan-action { grid-column: 1; }
  .plan-custom .plan-allowances { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0 0 20px; }
  .plan-custom .plan-includes { grid-column: 2; grid-row: 4 / 7; align-self: start; margin-top: 12px; }
  .plan-custom .plan-action { margin-top: 20px; }
}
@media (max-width: 760px) { .pricing-overview { padding-block: 32px 38px; } .pricing-intro { grid-template-columns: minmax(0,1fr); gap: 20px; margin-bottom: 25px; } .pricing-intro h1 { font-size: clamp(36px,7.8vw,48px); } .pricing-intro h1 br { display: none; } .pricing-intro-copy { max-width: none; justify-self: start; } .pricing-grid { grid-template-columns: minmax(0,1fr); gap: 16px; } .pricing-plan { padding: 24px; } .plan-price { margin-top: 18px; } .pricing-footnotes { gap: 8px; } .pricing-steps { padding-block: 42px; } .pricing-steps ol { grid-template-columns: minmax(0,1fr); gap: 21px; } }
