/* Shared pricing styles — homepage summary + /pricing detail page */

.pricing-includes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 2rem 0 0;
  border: 1px solid var(--bd2);
  background: var(--bd2);
}
.pricing-includes-box {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  padding: 1.5rem 1.65rem;
  background: var(--s2);
}
.pricing-includes-box--unlimited {
  background: linear-gradient(180deg, rgba(245,166,35,.1), var(--s2) 48%);
}
.pricing-includes-box--credits {
  background: linear-gradient(180deg, rgba(62,207,142,.09), var(--s2) 48%);
}
.pricing-includes-label {
  font-family: var(--m);
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.pricing-includes-box--unlimited .pricing-includes-label { color: var(--am); }
.pricing-includes-box--credits .pricing-includes-label { color: var(--gn); }
.pricing-includes-list {
  margin: 0;
  padding-left: 1rem;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}
.pricing-includes-list li {
  font-size: .86rem;
  color: var(--tx);
  line-height: 1.5;
}
.pricing-includes-note {
  margin: 0;
  font-family: var(--m);
  font-size: .68rem;
  color: var(--mu);
  line-height: 1.45;
}
.pricing-detail-link-wrap {
  margin-top: 2rem;
  text-align: center;
}
.pricing-detail-link {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: var(--m);
  font-size: 1rem;
  font-weight: 500;
  color: var(--am);
  text-decoration: none;
  letter-spacing: .03em;
  padding: .5rem .25rem;
}
.pricing-detail-link:hover { text-decoration: underline; }

.direct-endpoint {
  display: block;
  font-family: var(--m);
  font-size: .8rem;
  color: var(--am);
}
.direct-desc {
  display: block;
  margin-top: .35rem;
  font-size: .82rem;
  color: var(--mu);
  line-height: 1.55;
  max-width: 30rem;
}
.plan-endpoint-name {
  color: inherit;
  text-decoration: none;
}
.plan-endpoint-name:hover { text-decoration: underline; }
.plan-endpoint-name .direct-endpoint { display: inline; }
.plan-table-endpoint .direct-endpoint {
  display: inline;
  font-size: .82rem;
}
.plan-table-wrap {
  margin-top: .5rem;
  border: 1px solid var(--bd2);
  overflow-x: auto;
}
.plan-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 880px;
}
.plan-table th,
.plan-table td {
  padding: .8rem 1rem;
  border-bottom: 1px solid var(--bd);
  vertical-align: top;
  text-align: left;
}
.plan-table th {
  font-family: var(--m);
  font-size: .72rem;
  color: var(--mu);
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(255,255,255,.025);
}
.plan-table-th-note {
  display: block;
  margin-top: .28rem;
  font-size: .70rem;
  color: var(--gn);
  letter-spacing: .06em;
  line-height: 1.35;
}
.plan-table tr:last-child td { border-bottom: none; }
.plan-table-section td {
  padding: 1rem 1rem .55rem;
  background: rgba(255,255,255,.03);
  border-top: 1px solid var(--bd2);
  border-bottom: 1px solid var(--bd2);
}
.plan-table-section:first-child td { border-top: none; }
.plan-table-section-label {
  font-family: var(--m);
  font-size: .72rem;
  color: var(--gn);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.plan-table-price {
  font-family: var(--m);
  font-size: .78rem;
  color: var(--tx);
  white-space: nowrap;
}
.plan-table-note {
  display: block;
  margin-top: .2rem;
  font-family: var(--m);
  font-size: .58rem;
  color: var(--mu);
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.plan-table-unlimited { color: var(--am); }
.plan-table-phone { color: #8fb5ff; }
.plan-table-paid { color: var(--mu); }
.plan-table-beta-row .direct-endpoint {
  color: #a3a3a3;
}
.plan-table-beta-row td:nth-child(2) .plan-table-price {
  color: var(--mu);
}
.research-model-details summary a {
  color: var(--am);
  text-decoration: none;
}
.research-model-details summary a:hover { text-decoration: underline; }
.plan-table td:first-child { min-width: 16rem; }
.model-table-wrap {
  border: 1px solid var(--bd2);
  overflow-x: auto;
  background: rgba(255,255,255,.015);
}
.model-price-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.model-price-table th,
.model-price-table td {
  padding: .72rem .95rem;
  border-bottom: 1px solid var(--bd);
  text-align: right;
  font-family: var(--m);
  font-size: .76rem;
  white-space: nowrap;
}
.model-price-table th {
  color: var(--mu);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: rgba(255,255,255,.025);
}
.model-price-table th:nth-child(2),
.model-price-table th:nth-child(3),
.model-price-table th:nth-child(4) {
  color: var(--gn);
}
.model-price-table th:first-child,
.model-price-table td:first-child {
  text-align: left;
}
.model-price-table tr:last-child td { border-bottom: none; }
.model-name { color: var(--tx); }
.p-lite { color: var(--am); }
.p-std { color: var(--gn); }
.p-deep { color: #8fb5ff; }
.default-row td { background: rgba(245,166,35,.06); }
.def {
  display: inline-block;
  margin-left: .35rem;
  color: var(--gn);
  font-size: .58rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.table-note {
  margin: .7rem 0 0;
  color: var(--mu);
  font-size: .78rem;
  line-height: 1.55;
}
.table-note a {
  color: #8fb5ff;
  text-decoration: none;
}
.table-note a:hover { text-decoration: underline; }
.research-model-row td {
  padding: 0;
  background: rgba(255,255,255,.012);
}
.research-model-details {
  padding: .85rem 1rem 1rem;
}
.research-model-details summary {
  cursor: pointer;
  font-family: var(--m);
  font-size: .72rem;
  color: var(--gn);
  letter-spacing: .06em;
  text-transform: uppercase;
  list-style-position: inside;
}
.research-model-details .model-table-wrap { margin-top: .75rem; }
.research-tier-word { color: var(--gn); }

/* /pricing page layout */
.pricing-page-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 7rem 2rem 5rem;
}
.pricing-page-intro {
  max-width: 42rem;
  margin-bottom: 2rem;
}
.pricing-page-intro .sec-desc {
  margin-top: .75rem;
}
.pricing-page-intro .sec-desc a {
  color: var(--am);
  text-decoration: none;
}
.pricing-page-intro .sec-desc a:hover { text-decoration: underline; }
.pricing-page-intro .sec-desc code,
.pricing-includes-list code,
.pricing-faq-item code {
  font-family: var(--m);
  font-size: .85em;
  color: var(--am);
}

/* Plan cards on /pricing — aligned with homepage */
.offer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--bd2);
  background: var(--bd2);
}
.pricing-plan-cards { margin: 0; }
.offer-card {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  min-width: 0;
  padding: 1.35rem 1.4rem;
  background: var(--s2);
}
.offer-card-live { background: linear-gradient(180deg, rgba(62,207,142,.1), var(--s2) 42%); }
.offer-card-beta { background: linear-gradient(180deg, rgba(245,166,35,.1), var(--s2) 42%); }
.offer-card-pro { background: linear-gradient(180deg, rgba(90,136,255,.12), var(--s2) 42%); }
.offer-label {
  font-family: var(--m);
  font-size: .68rem;
  color: var(--gn);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.offer-card-beta .offer-label { color: var(--am); }
.offer-card-pro .offer-label { color: #8fb5ff; }
.offer-name {
  font-family: var(--d);
  font-size: 2rem;
  line-height: .95;
  color: var(--tx);
  letter-spacing: .02em;
}
.offer-card-live .offer-name { color: var(--gn); }
.offer-card-beta .offer-name { color: var(--am); }
.offer-card-pro .offer-name { color: #8fb5ff; }
.offer-price {
  font-family: var(--m);
  font-size: 1rem;
  color: var(--am);
  font-weight: 600;
}
.offer-card-live .offer-price { color: var(--gn); }
.offer-card-pro .offer-price { color: #8fb5ff; }
.offer-copy { font-size: .88rem; color: var(--tx); line-height: 1.55; }
.offer-copy--tagline { color: var(--mu); font-size: .84rem; margin-top: -.25rem; }
.offer-includes-label {
  font-family: var(--m);
  font-size: .64rem;
  color: var(--tx);
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-top: .1rem;
}
.offer-list { margin: 0; padding-left: 1rem; display: flex; flex-direction: column; gap: .3rem; }
.offer-list li { font-size: .8rem; color: var(--mu); line-height: 1.45; }
.offer-list li.offer-feature-unlimited { list-style: none; margin-left: -1rem; color: var(--tx); }
.offer-list li.offer-feature-unlimited strong {
  color: var(--am);
  font-weight: 700;
  letter-spacing: .05em;
}
.offer-card-pro .offer-list li.offer-feature-unlimited strong { color: #8fb5ff; }
.offer-list strong { color: var(--tx); font-weight: 600; }
.offer-popular-row { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.offer-popular-badge {
  font-family: var(--m);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #8fb5ff;
  border: 1px solid rgba(143,181,255,.35);
  background: rgba(90,136,255,.12);
  padding: .18rem .4rem;
}
.offer-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin-top: auto;
  width: 100%;
  border: 1px solid rgba(245,166,35,.45);
  background: rgba(245,166,35,.1);
  color: var(--am);
  font-family: var(--m);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  padding: .65rem .85rem;
  cursor: pointer;
}
.offer-action:hover { background: rgba(245,166,35,.16); }
.pricing-plan-cards-hint {
  margin: 1rem 0 0;
  font-family: var(--m);
  font-size: .72rem;
  color: var(--mu);
  letter-spacing: .04em;
}
.plan-table-legend {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  margin: 1.25rem 0 1.5rem;
  padding: .85rem 1rem;
  border: 1px solid var(--bd2);
  background: rgba(255,255,255,.02);
  font-family: var(--m);
  font-size: .72rem;
  color: var(--mu);
  line-height: 1.45;
}
.plan-table-legend-item strong { font-weight: 600; }
.plan-legend-unlimited { color: var(--am); }
.plan-legend-credits { color: var(--tx); }
.plan-legend-beta { color: var(--mu); }

.pricing-page-faq {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--bd);
}
.pricing-page-faq h2 {
  font-family: var(--d);
  font-size: 2rem;
  letter-spacing: .02em;
  margin-bottom: 1.25rem;
}
.pricing-faq-item + .pricing-faq-item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--bd);
}
.pricing-faq-item h3 {
  font-family: var(--m);
  font-size: .82rem;
  color: var(--tx);
  margin-bottom: .45rem;
}
.pricing-faq-item p {
  font-size: .88rem;
  color: var(--mu);
  line-height: 1.6;
  margin: 0;
}
.pricing-faq-item a { color: var(--am); }

.pricing-final-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2.5rem;
  padding-top: 0;
}
.pricing-final-copy {
  font-family: var(--m);
  font-size: .82rem;
  color: var(--tx);
}
.pricing-final-copy strong { color: var(--gn); }

@media (max-width: 768px) {
  .pricing-includes { grid-template-columns: 1fr; }
  .pricing-page-wrap { padding: 6.5rem 1.25rem 4rem; }
  .offer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .pricing-final-cta {
    flex-direction: column;
    align-items: flex-start;
  }
  .pricing-final-cta .btn-p {
    width: 100%;
    text-align: center;
  }
}
