/* Shared public-page system: warm editorial canvas, precise product modules. */

:root {
  --public-canvas: #fbfbf8;
  --public-surface: #ffffff;
  --public-soft: #f1f3ef;
  --public-ink: #11120f;
  --public-muted: #686a63;
  --public-line: #dadbd5;
  --public-line-strong: #bfc1b8;
  --public-accent: #ddff4f;
  --public-dark: #11120f;
  --public-dark-soft: #191b17;
  --public-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --public-sans: "Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
  --public-mono: "SFMono-Regular", "Roboto Mono", Menlo, Monaco, Consolas, monospace;
  --public-max: 1180px;
}

body.public-history-page,
body.public-auth-page,
body.dpa-page,
body.enterprise-page {
  min-height: 100vh;
  margin: 0;
  background: var(--public-canvas);
  color: var(--public-ink);
  color-scheme: light;
  font-family: var(--public-sans);
  -webkit-font-smoothing: antialiased;
}

body.public-history-page,
body.signed-out.public-docs-page {
  --bg: var(--public-canvas);
  --surface: var(--public-surface);
  --surface-2: var(--public-soft);
  --line: var(--public-line);
  --ink: var(--public-ink);
  --muted: var(--public-muted);
  --accent: var(--public-ink);
  --accent-strong: var(--public-ink);
  --accent-soft: rgba(221, 255, 79, 0.28);
  --border: var(--public-line);
  --text: var(--public-ink);
  --ref-black: var(--public-canvas);
  --ref-panel: var(--public-surface);
  --ref-panel-raised: var(--public-soft);
  --ref-ink: var(--public-ink);
  --ref-muted: var(--public-muted);
  --ref-green: #506052;
  --ref-green-soft: rgba(221, 255, 79, 0.25);
  --ref-line: var(--public-line);
  --ref-line-soft: var(--public-line);
  --ref-line-strong: var(--public-line-strong);
  --shadow: 0 24px 70px rgba(24, 26, 21, 0.08);
  background: var(--public-canvas);
  color: var(--public-ink);
}

body.signed-out.public-docs-page .landing-page,
body.enterprise-page .landing-page {
  background: var(--public-canvas);
  color: var(--public-ink);
}

body.public-history-page h1,
body.public-history-page h2,
body.public-docs-page h1,
body.enterprise-page .landing-page h1,
body.enterprise-page .landing-page h2,
body.public-auth-page h1,
body.public-auth-page h2,
body.dpa-page h1,
body.dpa-page h2 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-weight: 400;
  letter-spacing: -0.052em;
}

body.public-history-page .eyebrow,
body.public-docs-page .eyebrow,
body.enterprise-page .enterprise-kicker,
body.public-auth-page .eyebrow,
body.dpa-page .dpa-eyebrow {
  color: #506052;
  font-family: var(--public-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

/* Shared public navigation */

.public-history-nav,
.dpa-header,
body.signed-out.enterprise-page .landing-page .landing-nav {
  position: sticky;
  z-index: 40;
  top: 0;
  border-bottom: 1px solid var(--public-line);
  background: rgba(251, 251, 248, 0.96);
  box-shadow: none;
  backdrop-filter: blur(18px);
}

.public-history-nav-inner,
.dpa-header-inner,
body.signed-out.enterprise-page .landing-page .landing-nav-inner {
  width: min(var(--public-max), calc(100% - 48px));
  min-height: 78px;
  margin: 0 auto;
}

.public-history-brand,
.dpa-brand,
.signup-brand,
.recovery-brand {
  gap: 10px;
  color: var(--public-ink);
}

.public-history-brand .gateway-logo,
.dpa-brand-mark,
.signup-brand-mark,
.recovery-brand-mark {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  overflow: hidden;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

.public-history-brand .gateway-logo::before,
.public-history-brand .gateway-logo::after {
  display: none;
}

.public-history-brand .gateway-logo img,
.dpa-brand-mark img,
.signup-brand-mark img,
.recovery-brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
}

.public-history-brand > span:not(.gateway-logo),
.dpa-brand > span:last-child,
.signup-brand-copy,
.recovery-brand > span:last-child {
  display: grid;
  gap: 0;
}

.public-history-brand strong,
.dpa-brand strong,
.signup-brand-copy strong,
.recovery-brand strong {
  color: var(--public-ink);
  font-family: var(--public-sans);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.045em;
  line-height: 1;
}

.public-history-brand small,
.dpa-brand small,
.signup-brand-copy small,
.recovery-brand small {
  margin-top: 3px;
  color: #777970;
  font-family: var(--public-mono);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.public-history-nav-inner nav {
  gap: 9px;
}

.public-history-page .button,
.public-docs-page .button,
body.enterprise-page .landing-page .button,
.dpa-button,
.dpa-header-home {
  min-height: 42px;
  border-radius: 3px;
  box-shadow: none;
  font-family: var(--public-mono);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.public-history-page .button.primary,
.public-docs-page .button.primary,
body.enterprise-page .landing-page .button.primary,
.dpa-button-primary {
  border: 1px solid var(--public-dark);
  background: var(--public-dark);
  color: #fff;
}

.public-history-page .button.primary:hover,
.public-docs-page .button.primary:hover,
body.enterprise-page .landing-page .button.primary:hover,
.dpa-button-primary:hover {
  border-color: #292b26;
  background: #292b26;
  color: #fff;
}

.public-history-page .button.secondary,
.public-docs-page .button.secondary,
body.enterprise-page .landing-page .button.secondary,
.dpa-button-secondary,
.dpa-header-home {
  border: 1px solid var(--public-line-strong);
  background: transparent;
  color: #4f514b;
}

.public-history-page .button.secondary:hover,
.public-docs-page .button.secondary:hover,
body.enterprise-page .landing-page .button.secondary:hover,
.dpa-button-secondary:hover,
.dpa-header-home:hover {
  border-color: var(--public-ink);
  background: transparent;
  color: var(--public-ink);
}

.public-history-route-nav {
  border-top: 1px solid var(--public-line);
  border-bottom: 0;
  background: var(--public-surface);
}

.public-history-route-nav a {
  color: #5f615b;
}

.public-history-route-nav a:hover,
.public-history-route-nav a[aria-current="page"] {
  color: var(--public-ink);
  background: rgba(221, 255, 79, 0.34);
}

/* Pricing, rankings, and model pages */

.public-history-main,
.model-detail-main {
  width: min(var(--public-max), calc(100% - 48px));
  margin: 0 auto;
  padding: 82px 0 92px;
}

.public-history-hero {
  gap: 54px;
  padding-bottom: 46px;
}

.public-history-hero h1,
.model-rankings-hero h1,
.model-detail-hero h1 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(54px, 6vw, 78px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.public-history-hero-copy > p:not(.eyebrow),
.model-rankings-hero > p:not(.eyebrow),
.model-detail-summary {
  color: var(--public-muted);
  font-size: 17px;
  line-height: 1.65;
}

.public-history-controls label > span,
.public-history-page .hourly-period-control legend,
.model-pricing-refresh-status,
.model-ranking-updated {
  color: #777970;
  font-family: var(--public-mono);
  font-size: 10px;
}

.public-history-page select,
.public-history-page .hourly-period-control,
.public-history-page .hourly-period-button {
  border-color: var(--public-line);
  border-radius: 3px;
  background: var(--public-surface);
  color: var(--public-ink);
}

.public-history-page .hourly-period-button.active,
.public-history-page .hourly-period-button:hover,
.model-ranking-periods button.active {
  background: var(--public-accent);
  color: var(--public-ink);
}

.public-history-page .panel,
.public-history-page .metric-card,
.model-ranking-panel,
.model-ranking-podium-section {
  border-color: var(--public-line);
  border-radius: 18px;
  background: var(--public-surface);
  box-shadow: none;
}

.public-history-page .metric-card,
.public-history-page .panel {
  color: var(--public-ink);
}

.public-history-page .panel-heading,
.model-ranking-heading {
  border-color: var(--public-line);
}

.public-history-page .panel-heading h2,
.model-ranking-heading h2,
.model-ranking-podium-heading h2,
.model-detail-section-heading h2 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 400;
  letter-spacing: -0.045em;
}

.public-history-page .hourly-savings-timeline-shell,
.public-history-page .hourly-savings-grid,
.public-history-page .hourly-model-row,
.model-ranking-row {
  border-color: var(--public-line);
}

.public-history-page .hourly-savings-timeline-bar {
  background: #b9beb4;
}

.public-history-page .hourly-savings-timeline > li.best-window .hourly-savings-timeline-bar {
  background: var(--public-accent);
}

.public-history-page .hourly-savings-cell {
  border-color: rgba(80, 96, 82, var(--saving-border, 0.18));
  background: rgba(221, 255, 79, var(--saving-bg, 0.08));
}

.public-history-page .hourly-savings-cell > span,
.public-history-page .hourly-savings-cell > small {
  color: var(--public-muted);
}

.public-history-page .hourly-savings-cell.best {
  border-color: #aabd40;
  background: rgba(221, 255, 79, 0.3);
  box-shadow: inset 0 0 0 1px rgba(80, 96, 82, 0.08);
}

.public-history-page .hourly-model-row:hover,
.public-history-page .hourly-model-row.active,
.model-ranking-row.top-1 {
  background: rgba(221, 255, 79, 0.22);
}

.public-history-page .hourly-model-row strong,
.public-history-page .hourly-savings-cell > strong,
.model-ranking-identity strong,
.model-ranking-podium-identity strong,
.model-ranking-empty strong,
.model-ranking-podium-empty strong {
  color: var(--public-ink);
}

.public-history-page .hourly-savings-cell.best > strong,
.public-history-page .hourly-savings-cell.best > small {
  color: #435016;
}

.public-history-page .hourly-best-metric.has-limited-evidence strong,
.model-detail-page .model-history-summary .has-limited-evidence strong {
  color: var(--public-ink);
}

.public-history-page .hourly-evidence-note,
.model-detail-page .hourly-evidence-note {
  color: var(--public-muted);
}

.model-ranking-podium-section {
  padding: 32px;
}

.model-ranking-podium-heading > p,
.model-ranking-podium-identity small,
.model-ranking-identity small,
.model-ranking-empty,
.model-ranking-podium-empty {
  color: var(--public-muted);
}

.model-ranking-podium-card,
.model-ranking-podium-card.rank-1 {
  border-color: var(--public-line);
  border-top-color: var(--public-ink);
  border-radius: 12px;
  background: var(--public-soft);
}

.model-ranking-podium-card.rank-1 {
  border-top-color: var(--public-accent);
  background: linear-gradient(145deg, rgba(221, 255, 79, 0.32), transparent 72%), var(--public-surface);
}

.model-ranking-podium-rank span,
.model-ranking-position {
  color: #8a8c84;
}

.model-ranking-podium-card.rank-1 .model-ranking-podium-rank span,
.model-ranking-row.top-1 .model-ranking-position {
  color: #4f5d22;
}

.model-ranking-periods {
  border-color: var(--public-line);
  border-radius: 5px;
  background: var(--public-soft);
}

.model-ranking-periods button,
.model-ranking-periods button:hover {
  color: var(--public-muted);
}

.model-ranking-periods button.active {
  color: var(--public-ink);
}

.public-history-cta {
  border-color: var(--public-line);
  padding: 48px 0;
}

.public-history-cta h2 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 400;
  letter-spacing: -0.05em;
}

.public-history-footer {
  border-color: var(--public-line);
  color: var(--public-muted);
}

.public-history-footer a:hover {
  color: var(--public-ink);
}

/* Model detail keeps pricing and technical proof as a focused dark module. */

.model-detail-breadcrumb {
  margin-bottom: 48px;
  color: var(--public-muted);
}

.model-detail-breadcrumb a {
  color: var(--public-ink);
}

.model-detail-logo,
.model-capability-badge,
.model-live-status {
  border-color: var(--public-line);
  background: var(--public-surface);
  color: var(--public-ink);
}

.model-live-status i {
  background: var(--public-accent);
  box-shadow: 0 0 0 4px rgba(221, 255, 79, 0.22);
}

.model-detail-jump-nav {
  top: 112px;
  border-color: var(--public-line);
  background: rgba(251, 251, 248, 0.96);
}

.model-detail-jump-nav > span,
.model-detail-jump-nav a {
  border-color: var(--public-line);
  color: var(--public-muted);
}

.model-detail-jump-nav a:hover,
.model-detail-jump-nav a[aria-current="true"] {
  background: rgba(221, 255, 79, 0.24);
  color: var(--public-ink);
}

.model-detail-jump-nav a[aria-current="true"]::after {
  background: var(--public-accent);
}

.model-detail-section {
  border-color: var(--public-line);
  padding: 64px 0;
}

.model-price-grid,
.model-history-summary,
.model-rank-grid,
.model-reliability-grid,
.model-savings-proof {
  border-color: var(--public-line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--public-surface);
}

.model-price-item + .model-price-item,
.model-history-summary > div + div,
.model-rank-card + .model-rank-card,
.model-reliability-item:nth-child(n + 4),
.model-reliability-item:not(:nth-child(3n + 1)) {
  border-color: var(--public-line);
}

.model-price-item strong,
.model-history-summary strong,
.model-rank-card strong,
.model-reliability-item strong,
.model-facts dd,
.model-savings-heading h3 {
  color: var(--public-ink);
}

.model-price-item.accent strong,
.model-reliability-item.accent strong,
.model-savings-item strong {
  color: #536236;
}

.model-price-item del,
.model-reliability-item small,
.model-tier-note {
  color: var(--public-muted);
}

.model-savings-proof {
  background: rgba(221, 255, 79, 0.16);
}

.model-savings-item {
  border-left-color: var(--public-accent);
  background: var(--public-surface);
}

.model-code-block {
  border-color: #32352f;
  border-left: 3px solid var(--public-accent);
  border-radius: 10px;
  background: var(--public-dark);
  color: #f4f5ef;
}

.model-period-control {
  border-color: var(--public-line);
  border-radius: 5px;
  background: var(--public-soft);
}

.model-period-control button + button {
  border-color: var(--public-line);
}

.model-period-control button.active {
  background: var(--public-accent);
  color: var(--public-ink);
}

.model-detail-section p,
.model-detail-section li,
.model-detail-section-heading > p {
  color: var(--public-muted);
}

.model-pricing-grid,
.model-benchmark-grid,
.model-detail-two-column > section,
.model-detail-section .panel {
  border-color: var(--public-line);
  border-radius: 16px;
  background: var(--public-surface);
}

/* Documentation and integrations */

body.signed-out.public-docs-page .landing-page {
  --border: var(--public-line);
  --surface: var(--public-surface);
  --text: var(--public-ink);
  --muted: var(--public-muted);
  --accent: var(--public-ink);
}

.public-docs-page .public-docs-hero {
  width: min(var(--public-max), calc(100% - 48px));
  padding: 88px 0 46px;
}

.public-docs-page.docs-index-page .public-docs-hero {
  padding-left: 260px;
}

.public-docs-page .public-docs-hero h1 {
  max-width: 820px;
  margin: 0;
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(54px, 6vw, 78px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.06em;
}

.public-docs-page .public-docs-hero > p:last-child {
  max-width: 760px;
  color: var(--public-muted);
  font-size: 17px;
  font-family: var(--public-sans);
  letter-spacing: -0.01em;
  line-height: 1.65;
}

body.signed-out.public-docs-page .landing-page .public-docs-content {
  width: min(var(--public-max), calc(100% - 48px));
  padding-top: 28px;
}

.public-docs-page .docs-page-index {
  border-color: var(--public-line);
}

.public-docs-page .docs-page-index-label,
.public-docs-page .docs-page-index .docs-page-index-guide {
  color: #506052;
}

.public-docs-page .docs-page-index a {
  color: var(--public-muted);
}

.public-docs-page .docs-page-index a:hover,
.public-docs-page .docs-page-index a[aria-current="location"] {
  border-color: var(--public-accent);
  background: rgba(221, 255, 79, 0.24);
  color: var(--public-ink);
}

body.signed-out.public-docs-page .landing-page .doc-block,
body.signed-out.public-docs-page .landing-page .doc-model-item,
.integration-directory a,
.integration-session-handoff {
  border-color: var(--public-line);
  border-radius: 14px;
  background: var(--public-surface);
  color: var(--public-ink);
}

body.signed-out.public-docs-page .landing-page .doc-block {
  padding: 28px;
}

body.signed-out.public-docs-page .landing-page .doc-block h4,
body.signed-out.public-docs-page .landing-page .doc-list strong,
.integration-guide-header h2,
.integration-note strong,
.integration-status strong {
  color: var(--public-ink);
  font-family: var(--public-sans);
  font-weight: 700;
}

body.signed-out.public-docs-page .landing-page .doc-block p,
body.signed-out.public-docs-page .landing-page .doc-list,
body.signed-out.public-docs-page .landing-page .doc-steps,
.integration-directory span,
.integration-note,
.integration-status {
  color: var(--public-muted);
}

body.signed-out.public-docs-page .landing-page .doc-block a,
.integration-guide a,
.integration-check a,
.integration-basics a {
  color: var(--public-ink);
  text-decoration-color: #9ea196;
}

body.signed-out.public-docs-page .landing-page .doc-block code,
body.signed-out.public-docs-page .landing-page .code-block,
body.signed-out.public-docs-page .landing-page .key-display,
.copyable-code {
  border-color: #32352f;
  border-radius: 8px;
  background: var(--public-dark);
  color: #f4f5ef;
}

body.signed-out.public-docs-page .landing-page .code-block {
  border-left: 3px solid var(--public-accent);
}

.copyable-code-header {
  border-color: #363832;
  color: #a7aaa1;
}

.copy-code-button {
  border-color: #4b4e46;
  color: #f4f5ef;
}

.copy-code-button:hover {
  border-color: var(--public-accent);
  color: var(--public-accent);
}

.public-docs-page .public-docs-footer,
body.signed-out.public-docs-page .landing-page .landing-footer {
  border-color: var(--public-line);
  color: var(--public-muted);
}

body.signed-out.public-docs-page .landing-page .footer-company a,
body.signed-out.public-docs-page .landing-page .footer-links a {
  color: var(--public-muted);
}

/* Enterprise: editorial story with one dark routing proof. */

body.enterprise-page,
body.enterprise-page .landing-page {
  --ref-black: var(--public-canvas);
  --ref-panel: var(--public-surface);
  --ref-ink: var(--public-ink);
  --ref-muted: var(--public-muted);
  --ref-green: #506052;
  --ref-green-soft: rgba(221, 255, 79, 0.24);
  --ref-line: var(--public-line);
  --ref-line-soft: var(--public-line);
  background: var(--public-canvas);
  color: var(--public-ink);
  font-family: var(--public-sans);
}

body.signed-out.enterprise-page .landing-page .landing-nav {
  border-color: var(--public-line);
  background: rgba(251, 251, 248, 0.96);
}

body.signed-out.enterprise-page .landing-page .landing-wordmark-name {
  color: var(--public-ink);
}

body.signed-out.enterprise-page .landing-page .landing-wordmark-parent {
  color: var(--public-muted);
}

body.signed-out.enterprise-page .landing-page .landing-nav-link,
body.signed-out.enterprise-page .landing-page .landing-nav-link.is-active {
  color: #4f514b;
}

body.signed-out.enterprise-page .landing-page .landing-nav-link.is-active {
  text-decoration: underline;
  text-decoration-color: var(--public-accent);
  text-decoration-thickness: 4px;
  text-underline-offset: 6px;
}

body.enterprise-page .enterprise-hero {
  min-height: 0;
  border-color: var(--public-line);
  background: var(--public-canvas);
}

body.enterprise-page .enterprise-hero::before,
body.enterprise-page .enterprise-hero::after,
body.enterprise-page .enterprise-hero-video {
  display: none;
}

body.enterprise-page .enterprise-hero-grid {
  width: min(var(--public-max), calc(100% - 48px));
  min-height: 650px;
  padding: 92px 0 104px;
  gap: 76px;
}

body.enterprise-page .enterprise-kicker {
  margin-bottom: 20px;
  color: #506052;
}

body.enterprise-page .enterprise-kicker::before,
body.enterprise-page .enterprise-kicker::after {
  content: none;
}

body.enterprise-page .enterprise-hero h1 {
  max-width: 680px;
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(62px, 6.3vw, 86px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.95;
}

body.enterprise-page .enterprise-lede,
body.enterprise-page .enterprise-cta-note {
  color: var(--public-muted);
}

body.enterprise-page .enterprise-console {
  border: 1px solid #2d302a;
  border-radius: 20px;
  background: var(--public-dark);
  box-shadow: 0 34px 80px rgba(30, 32, 27, 0.16);
}

body.enterprise-page .enterprise-console::before {
  width: 110px;
  height: 4px;
  background: var(--public-accent);
}

body.enterprise-page .enterprise-console-head,
body.enterprise-page .enterprise-request-row span,
body.enterprise-page .enterprise-console-metrics span,
body.enterprise-page .route-source,
body.enterprise-page .route-destination,
body.enterprise-page .route-engine small {
  color: #9fa299;
}

body.enterprise-page .enterprise-request-row,
body.enterprise-page .enterprise-console-metrics > div,
body.enterprise-page .route-source,
body.enterprise-page .route-destination {
  border-color: #353831;
  background: var(--public-dark-soft);
}

body.enterprise-page .enterprise-request-row strong,
body.enterprise-page .enterprise-console-metrics strong,
body.enterprise-page .route-engine {
  color: #f5f5ef;
}

body.enterprise-page .enterprise-request-row code,
body.enterprise-page .console-status,
body.enterprise-page .route-engine > span {
  color: var(--public-accent);
}

body.enterprise-page .console-status i,
body.enterprise-page .route-line {
  background: var(--public-accent);
}

body.enterprise-page .route-engine {
  border-color: rgba(221, 255, 79, 0.58);
  background: rgba(221, 255, 79, 0.09);
}

body.enterprise-page .enterprise-proof-strip {
  width: min(var(--public-max), calc(100% - 48px));
  border-color: var(--public-line);
  background: transparent;
}

body.enterprise-page .enterprise-proof-strip > div {
  border-color: var(--public-line);
}

body.enterprise-page .enterprise-proof-strip > div::before {
  color: #536236;
  content: "•";
}

body.enterprise-page .enterprise-proof-strip strong {
  color: var(--public-ink);
}

body.enterprise-page .enterprise-proof-strip span {
  color: var(--public-muted);
}

body.enterprise-page .enterprise-section,
body.enterprise-page .enterprise-migration,
body.enterprise-page .enterprise-calculator,
body.enterprise-page .enterprise-pilot {
  width: min(var(--public-max), calc(100% - 48px));
  border-color: var(--public-line);
  background: transparent;
  color: var(--public-ink);
}

body.enterprise-page .enterprise-section h2,
body.enterprise-page .enterprise-final-cta h2 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(46px, 5vw, 68px);
  font-weight: 400;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

body.enterprise-page .enterprise-section-heading > p:last-child,
body.enterprise-page .migration-copy > p,
body.enterprise-page .enterprise-security-copy > p,
body.enterprise-page .pilot-copy > p,
body.enterprise-page .enterprise-final-cta p {
  color: var(--public-muted);
}

body.enterprise-page .enterprise-benefit-grid {
  border-color: var(--public-line);
  border-radius: 20px;
  overflow: hidden;
}

body.enterprise-page .enterprise-benefit-grid article,
body.enterprise-page .enterprise-benefit-grid article:nth-child(2),
body.enterprise-page .enterprise-benefit-grid article:nth-child(3),
body.enterprise-page .control-card,
body.enterprise-page .control-card-featured,
body.enterprise-page .security-checklist,
body.enterprise-page .enterprise-calculator-card {
  border-color: var(--public-line);
  background: var(--public-surface);
  color: var(--public-ink);
}

body.enterprise-page .benefit-number,
body.enterprise-page .control-icon,
body.enterprise-page .security-checklist i,
body.enterprise-page .pilot-plan > li > span {
  border-color: #aab290;
  color: #536236;
}

body.enterprise-page .enterprise-benefit-grid h3,
body.enterprise-page .role-list span,
body.enterprise-page .control-card h3,
body.enterprise-page .security-checklist strong,
body.enterprise-page .pilot-plan strong,
body.enterprise-page .enterprise-faq summary {
  color: var(--public-ink);
  font-family: var(--public-sans);
}

body.enterprise-page .enterprise-benefit-grid p,
body.enterprise-page .control-card p,
body.enterprise-page .role-list small,
body.enterprise-page .security-checklist span,
body.enterprise-page .pilot-plan p,
body.enterprise-page .enterprise-faq details p {
  color: var(--public-muted);
}

body.enterprise-page .migration-code-card {
  border-color: #2d302a;
  border-radius: 16px;
  background: var(--public-dark);
}

body.enterprise-page .migration-code-card pre {
  color: #f4f5ef;
}

body.enterprise-page .code-card-label,
body.enterprise-page .migration-keeps,
body.enterprise-page .migration-keeps span,
body.enterprise-page .migration-steps,
body.enterprise-page .migration-steps li,
body.enterprise-page .role-list > div,
body.enterprise-page .security-checklist article,
body.enterprise-page .pilot-plan li,
body.enterprise-page .enterprise-faq-list,
body.enterprise-page .enterprise-faq details {
  border-color: var(--public-line);
}

body.enterprise-page .calculator-input,
body.enterprise-page .calculator-results div {
  border-color: var(--public-line);
  background: var(--public-soft);
}

body.enterprise-page #enterprise-spend-range {
  accent-color: #71813a;
}

body.enterprise-page .calculator-results strong {
  color: var(--public-ink);
}

body.enterprise-page .enterprise-pilot {
  border: 0;
  border-top: 1px solid var(--public-line);
  border-bottom: 1px solid var(--public-line);
  border-radius: 0;
  padding-inline: 0;
}

body.enterprise-page .pilot-facts span {
  border-color: var(--public-line);
  background: var(--public-soft);
  color: var(--public-muted);
}

body.enterprise-page .enterprise-final-cta {
  width: min(var(--public-max), calc(100% - 48px));
  border: 0;
  border-top: 1px solid var(--public-line);
  border-bottom: 1px solid var(--public-line);
  border-radius: 0;
  background: transparent;
}

body.enterprise-page .enterprise-footer {
  border-color: var(--public-line);
  color: var(--public-muted);
  background: transparent;
}

body.enterprise-page .enterprise-footer-brand strong,
body.enterprise-page .enterprise-footer a:hover {
  color: var(--public-ink);
}

/* Standalone account pages */

body.public-auth-page {
  --background: var(--public-canvas);
  --panel: var(--public-surface);
  --panel-strong: var(--public-soft);
  --panel-raised: var(--public-soft);
  --border: var(--public-line);
  --border-strong: var(--public-line-strong);
  --accent: var(--public-ink);
  --accent-hover: #292b26;
  --text: var(--public-ink);
  --muted: var(--public-muted);
  --faint: #898b83;
  --error: #a73535;
  background: var(--public-canvas);
  color: var(--public-ink);
  font-family: var(--public-sans);
}

body.public-auth-page .signup-shell {
  background: var(--public-canvas);
}

body.public-auth-page .signup-story {
  min-height: 100vh;
  border-right: 1px solid var(--public-line);
  background: var(--public-canvas);
}

body.public-auth-page .signup-story::before,
body.public-auth-page .signup-story::after {
  display: none;
}

body.public-auth-page .signup-story h1 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(58px, 6.5vw, 90px);
  font-weight: 400;
  letter-spacing: -0.06em;
  line-height: 0.95;
}

body.public-auth-page .signup-story-copy > p:last-child,
body.public-auth-page .signup-card-heading > p:last-child,
body.public-auth-page .signup-payment-note,
body.public-auth-page .signup-legal {
  color: var(--public-muted);
}

body.public-auth-page .signup-proof,
body.public-auth-page .signup-proof > div,
body.public-auth-page .signup-proof > div + div {
  border-color: var(--public-line);
}

body.public-auth-page .signup-proof span {
  color: #596641;
}

body.public-auth-page .signup-proof p,
body.public-auth-page .signup-story-footnote {
  color: var(--public-muted);
}

body.public-auth-page .signup-proof strong,
body.public-auth-page .signup-story-footnote a,
body.public-auth-page .signup-card-heading a,
body.public-auth-page .signup-legal a {
  color: var(--public-ink);
}

body.public-auth-page .signup-form-side {
  background: var(--public-soft);
}

body.public-auth-page .signup-card {
  width: min(100%, 520px);
  border: 1px solid var(--public-line);
  border-radius: 20px;
  background: var(--public-surface);
  padding: clamp(28px, 4vw, 48px);
  box-shadow: 0 28px 80px rgba(27, 29, 24, 0.08);
}

body.public-auth-page .signup-card-heading h2 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-weight: 400;
  letter-spacing: -0.05em;
}

body.public-auth-page .signup-form > label:not(.signup-trap) {
  color: #66685f;
}

body.public-auth-page .signup-form input {
  border-color: var(--public-line-strong);
  border-radius: 4px;
  background: var(--public-surface);
  color: var(--public-ink);
}

body.public-auth-page .signup-form input:hover,
body.public-auth-page .signup-form input:focus {
  border-color: var(--public-ink);
  box-shadow: 0 0 0 3px rgba(221, 255, 79, 0.42);
}

body.public-auth-page .signup-password-toggle {
  color: var(--public-ink);
}

body.public-auth-page .signup-submit {
  border-color: var(--public-dark);
  border-radius: 4px;
  background: var(--public-dark);
  color: #fff;
}

body.public-auth-page .signup-submit:hover {
  background: #292b26;
}

body.public-auth-page .signup-submit span {
  color: var(--public-accent);
}

body.public-auth-page .signup-payment-note {
  border-left-color: var(--public-accent);
  background: rgba(221, 255, 79, 0.16);
}

/* Legal pages */

body.dpa-page {
  --dpa-ink: var(--public-ink);
  --dpa-muted: var(--public-muted);
  --dpa-green: var(--public-ink);
  --dpa-green-dark: var(--public-ink);
  --dpa-soft: var(--public-soft);
  --dpa-line: var(--public-line);
  --dpa-white: var(--public-surface);
  background: var(--public-canvas);
  color: var(--public-ink);
}

.dpa-brand-mark {
  padding: 0;
}

body.dpa-page a.dpa-button-primary {
  color: #fff !important;
}

.dpa-header-links a {
  color: #555750;
}

.dpa-hero {
  border-color: var(--public-line);
  background: transparent;
}

.dpa-hero::after {
  display: none;
}

.dpa-hero-inner {
  padding: 92px 0 76px;
}

.dpa-hero h1 {
  max-width: 900px;
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(62px, 7vw, 92px);
  font-weight: 400;
  letter-spacing: -0.065em;
}

.dpa-hero-copy {
  color: var(--public-muted);
}

.dpa-status-card,
.dpa-toc,
.dpa-introduction,
.dpa-definitions > div,
.dpa-annex,
.dpa-measures-grid article,
.dpa-signature-grid > div {
  border-color: var(--public-line);
  border-radius: 14px;
  background: var(--public-surface);
}

.dpa-document > section,
.dpa-table-wrap th,
.dpa-table-wrap td,
.dpa-footer {
  border-color: var(--public-line);
}

.dpa-document h2,
.dpa-document h3,
.dpa-status-card strong,
.dpa-toc > strong,
.dpa-measures-grid h3,
.dpa-signature-grid strong {
  color: var(--public-ink);
}

.dpa-document p,
.dpa-document li,
.dpa-document dd,
.dpa-document td,
.dpa-status-card span,
.dpa-signature-grid span {
  color: var(--public-muted);
}

/* Password recovery */

body.public-auth-page.recovery-page {
  display: grid;
  place-items: center;
}

.recovery-shell {
  width: min(100% - 32px, 560px);
  padding: 54px 0;
}

.recovery-brand {
  margin-bottom: 24px;
}

.recovery-card {
  border: 1px solid var(--public-line);
  border-radius: 20px;
  background: var(--public-surface);
  padding: 46px;
  box-shadow: 0 28px 80px rgba(27, 29, 24, 0.08);
}

.recovery-card h1 {
  color: var(--public-ink);
  font-family: var(--public-serif);
  font-size: clamp(40px, 7vw, 58px);
  font-weight: 400;
  letter-spacing: -0.055em;
}

.recovery-copy,
.recovery-status {
  color: var(--public-muted);
}

.recovery-form input {
  border-color: var(--public-line-strong);
  border-radius: 4px;
  background: var(--public-surface);
  color: var(--public-ink);
}

.recovery-form input:focus {
  border-color: var(--public-ink);
  box-shadow: 0 0 0 3px rgba(221, 255, 79, 0.42);
}

.recovery-form button,
.recovery-login {
  border-color: var(--public-dark);
  border-radius: 4px;
  background: var(--public-dark);
  color: #fff;
}

@media (max-width: 900px) {
  .public-history-nav-inner,
  .dpa-header-inner,
  body.signed-out.enterprise-page .landing-page .landing-nav-inner,
  .public-history-main,
  .model-detail-main,
  .public-docs-page .public-docs-hero,
  body.signed-out.public-docs-page .landing-page .public-docs-content,
  body.enterprise-page .enterprise-hero-grid,
  body.enterprise-page .enterprise-proof-strip,
  body.enterprise-page .enterprise-section,
  body.enterprise-page .enterprise-migration,
  body.enterprise-page .enterprise-calculator,
  body.enterprise-page .enterprise-pilot,
  body.enterprise-page .enterprise-final-cta {
    width: min(100% - 32px, var(--public-max));
  }

  .public-docs-page.docs-index-page .public-docs-hero {
    padding-left: 0;
  }

  body.public-auth-page .signup-shell {
    grid-template-columns: 1fr;
  }

  body.public-auth-page .signup-story {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--public-line);
  }
}

@media (max-width: 560px) {
  .public-history-nav-inner,
  .dpa-header-inner,
  body.signed-out.enterprise-page .landing-page .landing-nav-inner {
    width: min(100% - 28px, var(--public-max));
    min-height: 70px;
  }

  .public-history-brand .gateway-logo,
  .dpa-brand-mark,
  .signup-brand-mark,
  .recovery-brand-mark {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .public-history-main,
  .model-detail-main {
    width: min(100% - 28px, var(--public-max));
    padding: 54px 0 70px;
  }

  .public-history-hero h1,
  .model-rankings-hero h1,
  .model-detail-hero h1,
  .public-docs-page .public-docs-hero h1,
  body.enterprise-page .enterprise-hero h1,
  .dpa-hero h1 {
    font-size: clamp(43px, 13vw, 58px);
  }

  .public-history-page .panel,
  .public-history-page .metric-card,
  .model-ranking-panel,
  .model-ranking-podium-section,
  body.public-auth-page .signup-card,
  .recovery-card {
    border-radius: 12px;
  }

  .public-docs-page .public-docs-hero {
    padding-top: 54px;
  }

  body.enterprise-page .enterprise-hero-grid {
    min-height: 0;
    padding: 66px 0 78px;
  }

  body.enterprise-page .enterprise-console {
    border-radius: 14px;
  }

  body.public-auth-page .signup-story,
  body.public-auth-page .signup-form-side {
    padding-inline: 22px;
  }

  body.public-auth-page .signup-card {
    padding: 28px 22px;
  }

  .dpa-hero-inner {
    padding: 64px 0 54px;
  }

  .recovery-card {
    padding: 34px 24px;
  }
}
