.gnc-hero { position: relative; padding: 96px 0 72px; background: var(--gnc-glow); }
.gnc-hero--page { padding: 72px 0 48px; }
.gnc-hero .gnc-actions { margin-top: .5rem; }
.gnc-ghstats { margin: 1.5rem 0 0; font-size: .875rem; color: var(--gnc-muted); display: flex; flex-wrap: wrap; gap: .5rem; }
.gnc-ghstats a { color: var(--gnc-muted); text-decoration: none; }
.gnc-ghstats a:hover { color: #fff; }
.gnc-ghstats .bi-star-fill { color: var(--gnc-accent); }

.gnc-status { display: inline-block; font-size: .6875rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 99px; }
.gnc-status--available { background: var(--gnc-accent-soft); color: var(--gnc-accent); }
.gnc-status--early-access { background: rgba(255, 196, 61, .14); color: #ffc43d; }
.gnc-status--coming-soon { background: var(--gnc-line); color: var(--gnc-muted); }

.gnc-pillars { margin-top: 48px; }
.gnc-pillar { padding: 1.25rem; }
.gnc-pillar h3 { font-size: 1rem; margin: 0 0 .35rem; color: #fff; }
.gnc-pillar p { margin: 0; color: var(--gnc-muted); font-size: .9375rem; }
.gnc-pillar--accent { border-color: rgba(23, 215, 229, .5); }

.gnc-feature-card h3 { font-size: 1.125rem; margin: .75rem 0 .5rem; color: #fff; }
.gnc-feature-card p { color: var(--gnc-muted); margin: 0 0 1rem; }
.gnc-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1.5rem 0; }
.gnc-chips li { border: 1px solid var(--gnc-line); background: var(--gnc-surface); border-radius: 99px; padding: .4rem .9rem; font-size: .9375rem; }

.gnc-split { display: grid; gap: 2.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); align-items: center; }

.gnc-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.gnc-table th, .gnc-table td { padding: .8rem .75rem; border-bottom: 1px solid var(--gnc-line); text-align: left; }
.gnc-table thead th { color: #fff; font-weight: 600; }
.gnc-table td.gnc-yes, .gnc-table td.gnc-no { text-align: center; width: 7rem; }
.gnc-yes { color: var(--gnc-accent); }
.gnc-no { color: #4a5561; }
.gnc-table-wrap { overflow-x: auto; }

.gnc-price-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); margin-top: 1.5rem; }
.gnc-price-card { position: relative; background: var(--gnc-surface); border: 1px solid var(--gnc-line); border-radius: var(--gnc-radius); padding: 1.75rem; display: flex; flex-direction: column; gap: .75rem; }
.gnc-price-card.is-highlight { border-color: var(--gnc-accent); box-shadow: 0 0 0 1px var(--gnc-accent), 0 20px 60px rgba(23, 215, 229, .12); }
.gnc-price-card__flag { position: absolute; top: -.75rem; left: 1.5rem; background: var(--gnc-accent); color: var(--gnc-on-accent); font-size: .75rem; font-weight: 700; padding: .2rem .6rem; border-radius: 99px; }
.gnc-price-card__name { font-size: 1.125rem; margin: 0; color: #fff; }
.gnc-price-card__price { margin: 0; }
.gnc-price-card__amount { font-size: 2.25rem; font-weight: 700; color: #fff; }
.gnc-price-card__period { color: var(--gnc-muted); }
.gnc-price-card__lead { color: var(--gnc-muted); margin: 0; }
.gnc-price-card__note { font-size: .875rem; color: var(--gnc-accent); margin: 0; }
.gnc-price-card__features ul { padding-left: 1.1rem; margin: 0 0 .5rem; color: var(--gnc-ink); }
.gnc-price-card .gnc-btn { margin-top: auto; }
.gnc-note { font-size: .9375rem; color: var(--gnc-muted); border-left: 2px solid var(--gnc-accent); padding-left: .75rem; margin: 1.25rem 0 0; }

.gnc-ctaband { text-align: center; background: var(--gnc-glow); }
.gnc-ctaband .gnc-actions { justify-content: center; }

.gnc-prose { max-width: 820px; }
.gnc-prose .page-body { color: var(--gnc-ink); line-height: 1.7; }
.gnc-prose .page-body h2, .gnc-prose .page-body h3 { color: #fff; margin-top: 2rem; }
.gnc-prose .page-body code { background: var(--gnc-surface); padding: .1rem .35rem; border-radius: 4px; }
.gnc-prose .page-body pre { background: var(--gnc-surface); border: 1px solid var(--gnc-line); border-radius: var(--gnc-radius-sm); padding: 1rem; overflow-x: auto; }

.gnc-period { display: inline-flex; gap: 4px; padding: 4px; margin: .5rem 0 0; background: var(--gnc-surface); border: 1px solid var(--gnc-line); border-radius: 99px; }
.gnc-period button { background: transparent; border: 0; color: var(--gnc-muted); font: inherit; font-weight: 600; padding: .5rem 1.1rem; border-radius: 99px; cursor: pointer; }
.gnc-period button[aria-checked="true"] { background: var(--gnc-accent); color: var(--gnc-on-accent); }
.gnc-period__save { font-size: .75rem; font-weight: 700; margin-left: .35rem; opacity: .85; }

/* plain CMS pages in the stock PageDetails view (conditions of use, privacy policy, about us): readable text width,
   list markers the reset removed, and tables that scroll on their own instead of widening the page */
/* main#content > div... outranks the full-width rule for stock pages in dark-fixes.css, which loads later */
main#content > div.page.page-page { max-width: calc(820px + 2 * var(--gnc-gutter)); padding-top: 40px; padding-bottom: 72px; }
.page-page .page-title h1 { color: #fff; font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.15; margin: 0 0 1.5rem; }
.page-page .page-body { color: var(--gnc-ink); line-height: 1.7; overflow-wrap: anywhere; }
.page-page .page-body h2 { color: #fff; font-size: 1.4rem; margin: 2.25rem 0 .85rem; }
.page-page .page-body h3 { color: #fff; font-size: 1.15rem; margin: 1.75rem 0 .75rem; }
.page-page .page-body ul, .page-page .page-body ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.page-page .page-body ul { list-style: disc; }
.page-page .page-body ol { list-style: decimal; }
.page-page .page-body li { margin-bottom: .4rem; }
.page-page .page-body li::marker { color: var(--gnc-accent); }
.page-page .page-body strong { color: #fff; }
.page-page .page-body table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 0 0 1.5rem; font-size: .925rem; }
.page-page .page-body th, .page-page .page-body td { border: 1px solid var(--gnc-line); padding: .55rem .75rem; text-align: left; vertical-align: top; min-width: 8rem; overflow-wrap: normal; }
.page-page .page-body th { background: var(--gnc-surface-2); color: #fff; }
.page-page .page-body td:first-child { overflow-wrap: anywhere; max-width: 12rem; }
/* marketing page bodies (.gnc-prose): the same list markers */
.gnc-prose .page-body ul, .gnc-prose .page-body ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.gnc-prose .page-body ul { list-style: disc; }
.gnc-prose .page-body ol { list-style: decimal; }
.gnc-prose .page-body li { margin-bottom: .4rem; }
.gnc-prose .page-body li::marker { color: var(--gnc-accent); }
