/* Pricing V1 (Figma 43:3); the landing page owns the shared public shell. */
.pricing-page { --pricing-rule:#cfcfc5; }
.pricing-shell { max-width:1440px; padding-inline:clamp(24px,5.28vw,76px); margin-inline:auto; }
.pricing-page h1 { font:400 36px/1.4 var(--serif); letter-spacing:0; max-width:none; margin:0 0 28px; }
.pricing-page main h2 { font:400 40px/1.4 var(--serif); margin:0; letter-spacing:0; }
.pricing-page p { margin:0; }
.pricing-page .nav-links [aria-current=page] { color:var(--forest); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:16px; text-decoration-thickness:2px; }
.pricing-plans { padding-block:95px 28px; }
.pricing-plan-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.pricing-plan { min-width:0; min-height:562px; display:flex; flex-direction:column; padding:23px; border:1px solid var(--pricing-rule); border-radius:9px; background:white; }
.pricing-page .pricing-plan-kicker { font-size:11px; line-height:16px; font-weight:600; color:#2b6957; margin-bottom:19px; }
.pricing-page .pricing-plan h2 { font:600 26px/36px var(--sans); margin:0 0 5px; }
.pricing-plan-description { font-size:13px; line-height:19.5px; color:var(--muted); min-height:39px; }
.pricing-cost { display:flex; align-items:baseline; gap:16px; margin-top:20px; padding-bottom:9px; border-bottom:1px solid var(--pricing-rule); }
.pricing-cost strong { font:500 43px/60px var(--serif); }
.pricing-cost > span { font-size:13px; line-height:18px; color:var(--muted); margin-left:auto; }
.pricing-allowance { padding-block:17px 14px; border-bottom:1px solid var(--pricing-rule); }
.pricing-allowance h3 { margin:0 0 7px; font-size:10px; line-height:14px; font-weight:600; color:#2b6957; text-transform:uppercase; }
.pricing-allowance p { font-size:15px; line-height:21px; font-weight:600; }
.pricing-allowance p + p { margin-top:3px; }
.pricing-allowance .pricing-topup { font-size:12px; line-height:17px; color:var(--muted); font-weight:400; margin-top:11px; }
.pricing-plan-features { padding:0; list-style:none; margin:14px 0 11px; font-size:12px; line-height:17px; color:var(--muted); }
.pricing-plan-features li { display:grid; grid-template-columns:22px minmax(0,1fr); min-height:24px; }
.pricing-plan-features li > span:first-child { color:#2b6957; font-size:14px; font-weight:600; }
.pricing-plan-cta { width:100%; min-height:42px; margin-top:auto; padding-inline:8px; }
.pricing-plan-cta:disabled { opacity:1; cursor:default; background:var(--deep); color:white; }
.pricing-plan-featured { position:relative; background:var(--deep); color:white; border-color:#2b6957; }
.pricing-plan-featured::before { content:""; position:absolute; top:-1px; left:-1px; right:-1px; height:6px; border-radius:3px 3px 0 0; background:var(--gold); }
.pricing-plan-featured .pricing-plan-kicker,.pricing-plan-featured .pricing-allowance h3,.pricing-plan-featured .pricing-plan-features li > span:first-child { color:var(--gold); }
.pricing-plan-featured .pricing-plan-description,.pricing-plan-featured .pricing-cost > span,.pricing-plan-featured .pricing-topup,.pricing-plan-featured .pricing-plan-features { color:#a8c0b3; }
.pricing-plan-featured .pricing-cost,.pricing-plan-featured .pricing-allowance { border-color:#3d524b; }
.pricing-plan-featured .pricing-plan-cta { background:var(--gold); color:var(--forest); }
.pricing-status { margin-top:18px!important; font-size:12px; line-height:1.6; color:var(--muted); }
.pricing-compute { background:var(--deep); color:white; }
.pricing-compute-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,610px); gap:34px; align-items:start; padding-block:64px 65px; }
.pricing-compute-copy { padding-top:39px; }
.pricing-page .pricing-compute h2 { font-size:46px; line-height:1.22; }
.pricing-compute-copy > p { max-width:550px; margin-top:32px; color:#a8c0b3; font-size:17px; line-height:1.5; }
.pricing-compute-steps { display:grid; gap:30px; list-style:none; padding:0; margin:55px 0 0; }
.pricing-compute-steps li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; }
.pricing-compute-steps li > span { display:grid; place-items:center; width:44px; height:44px; border-radius:6px; background:#243a34; color:var(--gold); font-size:13px; font-weight:600; }
.pricing-compute-steps h3 { font-size:17px; line-height:24px; margin:0 0 7px; font-weight:600; }
.pricing-compute-steps p { font-size:13px; line-height:20px; color:#a8c0b3; max-width:490px; }
.pricing-token-panel { min-width:0; min-height:596px; padding:26px 26px 30px; background:var(--paper-light); color:var(--forest); border-radius:9px; }
.pricing-token-panel > h3 { font-size:24px; line-height:34px; margin:0 5px 6px; font-weight:600; }
.pricing-token-panel > p { font-size:13px; line-height:19px; margin-inline:5px; color:var(--muted); }
.pricing-table-scroll { position:relative; overflow-x:auto; overscroll-behavior-inline:contain; }
.pricing-token-panel .pricing-table-scroll { margin-top:27px; }
.pricing-token-table { border-collapse:collapse; width:100%; font-size:13px; line-height:19px; text-align:left; }
.pricing-token-table th,.pricing-token-table td { padding:20px 14px; }
.pricing-token-table thead th { background:#e9e9e3; color:var(--muted); text-transform:uppercase; font-size:10px; line-height:15px; font-weight:600; padding-block:20px; white-space:nowrap; }
.pricing-token-table tbody tr { height:65px; }
.pricing-token-table tbody th { font-size:14px; font-weight:600; }
.pricing-token-table tbody tr:nth-child(even) { background:#f0f0ea; }
.pricing-token-table td { white-space:nowrap; }
.pricing-token-note { border-top:1px solid var(--pricing-rule); margin:18px 1px 0; padding:20px 4px 0; }
.pricing-token-note h4 { font-size:17px; line-height:24px; font-weight:600; margin:0 0 9px; }
.pricing-token-note p { max-width:460px; color:var(--muted); font-size:13px; line-height:20px; }
.pricing-comparison { padding-block:92px 28px; }
.pricing-comparison > .pricing-shell > p { color:var(--muted); font-size:16px; line-height:23px; margin-top:9px; }
.pricing-matrix-scroll { margin-top:32px; }
.pricing-matrix { border-collapse:collapse; width:100%; table-layout:fixed; text-align:center; font-size:13px; line-height:18px; }
.pricing-capability-column { width:31.06%; }
.pricing-matrix thead { background:var(--deep); color:white; }
.pricing-matrix thead th { height:77px; padding:15px 10px; font-size:15px; font-weight:600; }
.pricing-matrix thead th:first-child { text-transform:uppercase; font-size:12px; text-align:left; padding-left:19px; color:#a8c0b3; }
.pricing-matrix thead th:nth-child(3) { background:#22372f; color:var(--gold); }
.pricing-matrix thead th span { display:block; font-size:13px; line-height:18px; font-weight:400; color:#a8c0b3; margin-top:4px; }
.pricing-matrix tbody th { text-align:left; padding-left:17px; font-weight:400; }
.pricing-matrix tbody td,.pricing-matrix tbody th { height:44px; padding-block:10px; border-bottom:1px solid var(--pricing-rule); }
.pricing-matrix tbody td { padding-inline:8px; color:var(--muted); }
.pricing-matrix tbody tr:nth-child(odd):not(.pricing-category) { background:#efefe9; }
.pricing-matrix .is-included { color:#2b6957; font-weight:500; }
.pricing-matrix .pricing-category th { height:52px; background:#e5e9e3; color:#2b6957; border-top:8px solid var(--paper); border-bottom:0; font-size:12px; line-height:17px; font-weight:600; }
.pricing-page .pricing-scroll-hint { display:none; }
.pricing-conversion { padding:35px 48px 39px; }
.pricing-conversion-panel { max-width:1344px; min-height:281px; margin:auto; border-radius:8px; background:var(--deep); color:white; text-align:center; padding:68px 24px 38px; }
.pricing-page .pricing-conversion-panel h2 { font-size:36px; line-height:47px; }
.pricing-conversion-panel p { font-size:16px; line-height:23px; color:#a8c0b3; margin-top:13px; }
.pricing-conversion-actions { display:flex; justify-content:center; gap:19px; flex-wrap:wrap; margin-top:34px; }
.pricing-conversion-actions .btn { min-width:228px; min-height:50px; background:var(--gold); color:var(--forest); }
.pricing-conversion-actions .btn:hover { background:#e5bf7c; }
.pricing-conversion-actions .pricing-contact { background:#21382f; color:white; }
.pricing-conversion-actions .pricing-contact:hover { background:#315443; }
.pricing-faq { padding-block:39px 45px; background:var(--paper-light); }
.pricing-page .pricing-faq h2 { font-size:43px; line-height:60px; }
.pricing-faq > .pricing-shell > p { font-size:16px; line-height:23px; color:var(--muted); margin-top:8px; }
.pricing-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 40px; margin-top:55px; }
.pricing-faq-grid article { min-height:116px; border-top:2px solid var(--pricing-rule); border-radius:0 0 6px 6px; background:white; padding:15px 20px 20px; }
.pricing-faq-grid article:last-child { grid-column:1 / -1; }
.pricing-faq-grid h3 { font-size:17px; line-height:24px; font-weight:600; margin:0 0 9px; }
.pricing-faq-grid p { font-size:13px; line-height:20px; color:var(--muted); }
@media (max-width:1100px) {
  .pricing-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .pricing-compute-grid { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:28px; }
  .pricing-token-panel { padding-inline:20px; }
  .pricing-token-table { min-width:495px; }
  .pricing-page .pricing-compute h2 { font-size:38px; }
}
@media (max-width:760px) {
  .pricing-plans { padding-block:54px 36px; }
  .pricing-page h1 { font-size:34px; line-height:1.25; }
  .pricing-compute-grid { grid-template-columns:1fr; padding-block:54px; gap:40px; }
  .pricing-compute-copy { padding-top:0; }
  .pricing-compute-copy > p { margin-top:24px; }
  .pricing-compute-steps { margin-top:34px; }
  .pricing-token-panel { min-height:0; }
  .pricing-comparison { padding-block:54px 24px; }
  .pricing-page main h2 { font-size:34px; line-height:1.25; }
  .pricing-page .pricing-plan h2 { font-size:26px; line-height:36px; }
  .pricing-page .pricing-comparison .pricing-scroll-hint { display:block; font-size:12px; margin-top:18px; }
  .pricing-matrix-scroll { margin-top:16px; }
  .pricing-matrix { min-width:700px; }
  .pricing-capability-column { width:160px; }
  .pricing-matrix tbody th,.pricing-matrix thead th:first-child { position:sticky; left:0; z-index:1; background:var(--paper); }
  .pricing-matrix tbody tr:nth-child(odd) th { background:#efefe9; }
  .pricing-matrix .pricing-category th { position:static; background:#e5e9e3!important; }
  .pricing-matrix thead th:first-child { background:var(--deep); }
  .pricing-conversion { padding:25px 20px 32px; }
  .pricing-conversion-panel { padding:44px 24px; }
  .pricing-page .pricing-conversion-panel h2 { font-size:30px; }
  .pricing-faq { padding-block:44px; }
  .pricing-faq-grid { gap:16px; margin-top:32px; }
}
@media (max-width:540px) {
  .pricing-plan-grid,.pricing-faq-grid { grid-template-columns:1fr; }
  .pricing-plan { min-height:562px; }
  .pricing-conversion-actions .btn { min-width:0; width:100%; }
  .pricing-token-panel > h3 { font-size:21px; }
  .pricing-compute-steps { gap:28px; }
  .pricing-compute-steps li { gap:13px; }
  .pricing-token-panel { margin-inline:-4px; padding-inline:16px; }
}
