/* Public pages share the approved homepage palette; homepage rules stay isolated. */
body.public-page { background: var(--color-surface); }
.public-page .marketing-header { background: var(--color-surface); border-bottom: 1px solid var(--color-border); box-shadow: none; backdrop-filter: none; }
.public-page .marketing-header-inner { max-width: var(--content-width); padding: 16px 24px; margin: auto; gap: 20px; }
.public-page .marketing-brand { color: var(--color-text); font-weight: 600; font-size: 16px; white-space: normal; }
.public-page .marketing-nav { gap: 18px; align-items: center; }
.public-page .marketing-nav a { color: var(--color-text-body); font-weight: 400; }
.public-page .marketing-nav a:hover, .public-page .marketing-nav a[aria-current] { color: var(--color-primary); }
.public-page .marketing-nav .btn { color: var(--color-surface); }
.public-page .marketing-main { max-width: var(--content-width); padding: 48px 24px 64px; }
.public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero,.whitepaper-article,.beo-product-hero) {
  background: var(--color-surface); background-image: none; color: var(--color-text-body); border: 0; border-radius: 0; box-shadow: none;
}
.public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero) { padding: 16px 0 48px; gap: 48px; }
.public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero)::before,
.public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero)::after { display: none; }
.public-page :is(.geo-diagnosis-copy,.brand-strength-copy,.industry-hero-copy,.whitepaper-hero-copy) h1,
.public-page .beo-productpage .beo-product-hero h1 { font-size: 46px; line-height: 1.28; color: var(--color-text); font-weight: 600; margin: 12px 0 20px; }
.public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero,.beo-productpage) :is(p,span,dd) { color: var(--color-text-secondary); line-height: 1.8; }
.public-page :is(.geo-diagnosis-kicker,.brand-strength-kicker,.geo-section-kicker,.industry-kicker,.whitepaper-kicker),
.public-page .beo-productpage .beo-product-hero .geo-diagnosis-kicker { color: var(--color-primary); font-weight: 500; font-size: 13px; text-transform: none; line-height: 1.8; }
.public-page :is(.geo-diagnosis-copy,.brand-strength-copy,.industry-hero-copy) p { max-width: 720px; }
.public-page :is(.geo-diagnosis-actions,.brand-strength-actions,.geo-industry-special-actions) { gap: 16px; }
.public-page :is(.geo-diagnosis-actions,.brand-strength-actions,.beo-library-actions) .btn { color: var(--color-surface); }
.public-page :is(.geo-diagnosis-actions,.brand-strength-actions) .btn-secondary { background: var(--color-transparent); border-color: var(--color-transparent); color: var(--color-link); padding-inline: 0; }
.public-page :is(.geo-diagnosis-console,.brand-strength-window,.industry-hero-panel,.whitepaper-hero-panel) {
  padding: 24px; border: 1px solid var(--color-border); background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); min-width: 0;
}
.public-page :is(.geo-console-head,.brand-strength-window-head) { border-color: var(--color-border); }
.public-page :is(.geo-console-head,.brand-strength-window-head) em { color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); font-weight: 500; }
.public-page :is(.geo-console-query,.brand-strength-question,.brand-strength-result,.geo-console-answer) { background: var(--color-primary-soft); color: var(--color-text-body); border-color: var(--color-border); border-radius: var(--radius-md); }
.public-page :is(.geo-console-answer,.brand-strength-result) > div { background: var(--color-transparent); border-color: var(--color-border); box-shadow: none; }
.public-page :is(.geo-console-answer,.geo-console-query,.brand-strength-result,.brand-strength-question,.industry-hero-panel) strong { color: var(--color-text); }
.public-page :is(.geo-console-bars,.brand-strength-window) :is(small,span) { color: var(--color-text-secondary); }
.public-page .geo-console-bars b { background: var(--color-background); }
.public-page .geo-console-bars b::after { background: var(--color-primary); box-shadow: none; }
.public-page .geo-console-bars div:nth-child(2) b::after { background: var(--color-accent); }
.public-page .geo-console-bars div:nth-child(3) b::after { background: var(--color-text); }
.public-page .brand-strength-question label { border-color: var(--color-border); background: var(--color-surface); }
.public-page .brand-strength-question label.selected { border-color: var(--color-primary-border); background: var(--color-primary-soft); }
.public-page .brand-strength-question b { color: var(--color-primary); background: var(--color-primary-soft); }
.public-page .brand-strength-window-head { background: var(--color-surface); }
.public-page .brand-strength-meta { background: var(--color-background); color: var(--color-text-secondary); }
.public-page .geo-console-bars { background: var(--color-transparent); }
.public-page .geo-console-bars strong { color: var(--color-text); }
.public-page :is(.geo-diagnosis-metrics,.brand-strength-result) > div { background: var(--color-background); }
.public-page :is(.geo-diagnosis-section,.brand-strength-section,.industry-section) { border: 0; border-top: 1px solid var(--color-border); border-radius: 0; padding: 48px 0; background: var(--color-surface); box-shadow: none; }
.public-page :is(.geo-diagnosis-section,.brand-strength-section,.industry-section) h2 { color: var(--color-text); font-size: 30px; font-weight: 600; line-height: 1.4; text-wrap: balance; }
.public-page :is(.geo-diagnosis-section,.brand-strength-section,.industry-section) p { color: var(--color-text-secondary); }
.public-page :is(.geo-diagnosis-grid,.brand-strength-grid,.industry-grid) { gap: 24px; }
.public-page :is(.geo-diagnosis-grid,.brand-strength-grid,.industry-grid) article,
.public-page :is(.mkt-card,.whitepaper-card) {
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); color: var(--color-text-body); padding: 24px; min-width: 0;
}
.public-page :is(.geo-diagnosis-grid,.brand-strength-grid,.industry-grid) article:hover,
.public-page :is(.mkt-card,.whitepaper-card):hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.public-page :is(.geo-diagnosis-grid,.brand-strength-grid) article > span { background: var(--color-primary-soft); color: var(--color-primary); border-radius: var(--radius-sm); font-weight: 500; }
.public-page :is(.geo-diagnosis-method-list,.brand-strength-standard-list) article { background: var(--color-background); border-color: var(--color-border); border-radius: var(--radius-md); }
.public-page :is(.geo-diagnosis-method-list,.brand-strength-standard-list,.geo-diagnosis-steps,.brand-strength-method,.geo-diagnosis-metrics) strong { color: var(--color-text); font-weight: 600; }
.public-page :is(.geo-diagnosis-steps,.brand-strength-method) { background: var(--color-background); border: 0; border-radius: var(--radius-lg); }
.public-page :is(.geo-diagnosis-steps,.brand-strength-method) > div { border-color: var(--color-border); }
.public-page :is(.geo-diagnosis-steps,.brand-strength-method) span { background: var(--color-primary-soft); color: var(--color-primary); }
.public-page :is(.geo-diagnosis-use-list,.brand-strength-use-list) span { background: var(--color-accent-soft); border-color: var(--color-accent-border); color: var(--color-accent); border-radius: var(--radius-sm); }
.public-page :is(.geo-diagnosis-faq,.brand-strength-disclaimer) { background: var(--color-background); padding: 32px; border: 0; border-radius: var(--radius-lg); }
.public-page :is(.geo-diagnosis-faq,.mkt-faq) details { border-color: var(--color-border); }
.public-page.beo-product-view .marketing-main { padding: 0; max-width: none; }
.public-page .beo-productpage { color: var(--color-text-body); background: var(--color-surface); }
.public-page .beo-productpage .beo-content-inner { max-width: var(--content-width); padding: 0 24px; }
.public-page .beo-productpage .beo-product-hero { padding: 64px 0 48px; }
.public-page .beo-productpage .beo-product-hero :is(.beo-product-name,.beo-product-lead,.beo-hero-caption) { color: var(--color-text-secondary); }
.public-page .beo-productpage .beo-product-nav { background: var(--color-surface); border-color: var(--color-border); }
.public-page .beo-productpage .beo-product-nav a { color: var(--color-text-body); border-bottom: 2px solid var(--color-transparent); }
.public-page .beo-productpage .beo-product-nav a:hover, .public-page .beo-productpage .beo-product-nav a:focus-visible { color: var(--color-primary); border-bottom-color: var(--color-primary); text-decoration: none; }
.public-page .beo-productpage .beo-product-band { padding: 48px 0; border-color: var(--color-border); }
.public-page .beo-productpage .beo-band-muted { background: var(--color-background); }
.public-page .beo-productpage h2 { color: var(--color-text); font-size: 30px; line-height: 1.4; }
.public-page .beo-productpage :is(h3,dt,.beo-scenario-list strong) { color: var(--color-text); }
.public-page .beo-productpage .beo-service-grid article { padding: 24px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.public-page .beo-productpage .beo-service-grid article:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.public-page .beo-productpage :is(.beo-product-pair > div,.beo-method-steps li,.beo-cadence > div,.beo-scenario-list li,.beo-document-downloads,.beo-delivery-note) { border-color: var(--color-border); }
.public-page .beo-productpage .beo-product-pair > div { border-top-width: 1px; }
.public-page .beo-productpage .beo-method-steps li > span { color: var(--color-primary); background: var(--color-primary-soft); font-weight: 600; }
.public-page .beo-productpage .beo-cadence strong { color: var(--color-primary); font-family: var(--font-number); font-variant-numeric: tabular-nums; }
.public-page .beo-productpage .beo-cadence > div:last-child strong { color: var(--color-accent); }
.public-page .beo-productpage :is(.beo-note,.beo-scenario-description,.beo-product-pair dd strong) { color: var(--color-text-secondary); }
.public-page .beo-productpage :is(.beo-scenario-id,.beo-flow strong) { color: var(--color-primary); }
.public-page .beo-flow { border-color: var(--color-primary-border); }
.public-page .beo-table .beo-table-focus :is(th,td) { background: var(--color-primary-soft); border-left: 0; }
.public-page :is(.whitepaper-page,.whitepaper-article) { color: var(--color-text-body); }
.public-page :is(.whitepaper-article-main,.whitepaper-article-side,.whitepaper-side-block,.whitepaper-side-download) { background: var(--color-surface); color: var(--color-text-body); border-color: var(--color-border); }
.public-page .whitepaper-article { gap: 40px; }
.public-page .whitepaper-article-main { padding: 0; min-width: 0; }
.public-page .whitepaper-article-side { border-left: 1px solid var(--color-border); padding: 0 0 0 24px; }
.public-page .whitepaper-article-cover { border-color: var(--color-border); }
.public-page .whitepaper-article-cover h1 { font-size: 36px; line-height: 1.4; color: var(--color-text); }
.public-page :is(.whitepaper-article,.whitepaper-card,.whitepaper-hero) :is(h2,h3,strong) { color: var(--color-text); }
.public-page :is(.whitepaper-article,.whitepaper-card,.whitepaper-hero) :is(p,span,li,em) { color: var(--color-text-secondary); line-height: 1.8; }
.public-page :is(.whitepaper-article,.whitepaper-card) a { color: var(--color-link); }
.public-page :is(.whitepaper-article-meta div,.whitepaper-doc-type,.whitepaper-card-cover,.whitepaper-hero-panel) { background: var(--color-primary-soft); border-color: var(--color-primary-border); color: var(--color-primary); border-radius: var(--radius-md); }
.public-page :is(.whitepaper-doc-type em,.whitepaper-card-cover span) { color: var(--color-primary); }
.public-page .whitepaper-card--featured { background: var(--color-surface); border-color: var(--color-border); }
.public-page :is(.whitepaper-card-actions,.whitepaper-side-download) :is(.login,.btn) { background: var(--color-action); color: var(--color-surface); border-radius: var(--radius-md); border-color: var(--color-action); }
.public-page :is(.whitepaper-card-actions,.whitepaper-side-download) :is(.member-only,.back) { color: var(--color-text-secondary); background: var(--color-background); border-color: var(--color-border); border-radius: var(--radius-md); }
.public-page .beo-whitepaper :is(th,td) { border: 0; border-bottom: 1px solid var(--color-border); }
.public-page .beo-whitepaper th { color: var(--color-text-secondary); background: var(--color-background); }
.public-page .beo-whitepaper blockquote { background: var(--color-accent-soft); border-color: var(--color-accent); }
.public-page .whitepaper-article-side a { color: var(--color-text-secondary); }
.public-page .whitepaper-article-side a:hover { color: var(--color-primary); }
.public-page .auth-card { margin: 24px auto 48px; padding: 32px; max-width: 460px; }
.public-page .auth-card h1 { font-size: 28px; }
.public-page .auth-card label { color: var(--color-text-body); }
.public-page .mkt-steps li::before { background: var(--color-primary-soft); color: var(--color-primary); }
.public-page .mkt-trust { color: var(--color-text-secondary); }
.public-page .geo-section { background: var(--color-surface); border: 0; border-top: 1px solid var(--color-border); border-radius: 0; padding: 48px 0; box-shadow: none; }
.public-page .geo-section-head :is(h2,span) { color: var(--color-text); }
.public-page .geo-section-head span { color: var(--color-text-secondary); }
.public-page :is(.industry-card,.industry-plan-card,.industry-architecture-grid article) { background: var(--color-surface); border-color: var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); }
.public-page .industry-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.public-page :is(.industry-hero-stats span,.industry-plan-limits span) { background: var(--color-accent-soft); border-radius: var(--radius-sm); color: var(--color-accent); font-weight: 500; }
.public-page .industry-hero-stats b { color: var(--color-text); }
.public-page :is(.industry-plan-head span,.industry-architecture-grid article span,.industry-card-top span) { color: var(--color-primary); font-weight: 500; }
.public-page .industry-card-top em { color: var(--color-accent); background: var(--color-accent-soft); border-radius: var(--radius-sm); font-weight: 500; }
.public-page .industry-plan-price strong { color: var(--color-text); font-family: var(--font-number); font-variant-numeric: tabular-nums; }
.public-page .whitepaper-library-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
.public-page .whitepaper-library-panel { grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr)); gap: 16px; }
.public-page .whitepaper-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.public-page .whitepaper-library-panel .whitepaper-note { padding: 20px; }
.public-page .whitepaper-library-copy { background: var(--color-surface); color: var(--color-text-body); border: 0; border-radius: 0; padding: 24px 0; box-shadow: none; }
.public-page .whitepaper-library-copy h1 { color: var(--color-text); font-size: 44px; line-height: 1.4; }
.public-page .whitepaper-library-copy p:not(.geo-section-kicker) { color: var(--color-text-secondary); }
.public-page :is(.whitepaper-stats div,.whitepaper-note) { background: var(--color-background); border: 0; border-radius: var(--radius-md); box-shadow: none; }
.public-page .whitepaper-stats strong { color: var(--color-primary); font-family: var(--font-number); font-variant-numeric: tabular-nums; }
.public-page .whitepaper-stats span { color: var(--color-text-secondary); font-weight: 400; }
.public-page .whitepaper-watermark { opacity: .03; }
.public-page .whitepaper-watermark span { color: var(--color-text-muted); font-weight: 600; }
.public-page .whitepaper-toolbar { background: var(--color-surface); border-color: var(--color-border); }
.public-page .whitepaper-filter-row { gap: 0; border-bottom: 1px solid var(--color-border); }
.public-page .whitepaper-filter-row button { background: var(--color-transparent); color: var(--color-text-secondary); border: 0; border-bottom: 2px solid var(--color-transparent); border-radius: 0; font-weight: 500; }
.public-page .whitepaper-filter-row button.is-active { background: var(--color-transparent); color: var(--color-primary); border-bottom-color: var(--color-primary); }
.public-page .whitepaper-card-head span { background: var(--color-primary-soft); color: var(--color-primary); font-weight: 500; border-radius: var(--radius-sm); }
.public-page .whitepaper-card-head em { background: var(--color-accent-soft); color: var(--color-accent); border-radius: var(--radius-sm); font-weight: 400; }
.public-page .whitepaper-card--featured .whitepaper-card-head :is(span,em) { background: var(--color-primary-soft); color: var(--color-primary); }
.public-page .whitepaper-doc-type em { background: var(--color-accent-soft); color: var(--color-accent); border-radius: var(--radius-sm); font-weight: 500; }
.public-page .whitepaper-doc-type { font-weight: 500; text-transform: none; }
.public-page .whitepaper-card .whitepaper-card-toc span { color: var(--color-text-secondary); background: var(--color-background); border-color: var(--color-border); border-radius: var(--radius-sm); font-weight: 400; }
.public-page .whitepaper-card .whitepaper-card-actions a { background: var(--color-surface); color: var(--color-link); border-color: var(--color-border); border-radius: var(--radius-md); font-weight: 500; }
.public-page .whitepaper-card .whitepaper-card-actions .member-only { background: var(--color-action); color: var(--color-surface); border-color: var(--color-action); }
.public-page .whitepaper-card--featured :is(.whitepaper-card-meta,.whitepaper-card-meta span) { color: var(--color-text-secondary); border-color: var(--color-border); }
.public-page .marketing-main > .mkt-card:first-child { border: 0; border-radius: 0; box-shadow: none; padding: 0 0 32px; }
.public-page .marketing-main > .mkt-card:first-child:hover { transform: none; }
.public-page .mkt-card :is(p,ul) { color: var(--color-text-secondary) !important; line-height: 1.8 !important; }
@media (max-width: 1024px) {
  .public-page .whitepaper-library-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-page .whitepaper-stats { grid-column: 1 / -1; }
  .public-page .whitepaper-library-hero { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .public-page .whitepaper-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-page .marketing-header-inner { flex-wrap: wrap; gap: 12px; }
  .public-page .marketing-nav { flex-wrap: wrap; gap: 10px 16px; }
  .public-page :is(.geo-diagnosis-hero,.brand-strength-hero,.industry-hero,.whitepaper-hero) { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .public-page :is(.geo-diagnosis-grid--three,.brand-strength-grid--three) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-page .whitepaper-article { grid-template-columns: minmax(0,1fr); }
  .public-page .whitepaper-article-side { border-left: 0; border-top: 1px solid var(--color-border); padding: 24px 0 0; }
}
@media (max-width: 640px) {
  .public-page .whitepaper-library-panel { grid-template-columns: minmax(0,1fr); }
  .public-page .whitepaper-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .public-page .whitepaper-library-copy h1 { font-size: 32px; }
  .public-page :is(.whitepaper-grid,.industry-plan-grid,.industry-card-grid,.industry-architecture-grid) { grid-template-columns: minmax(0,1fr); }
  .public-page .whitepaper-toolbar { grid-template-columns: minmax(0,1fr); }
  .public-page .whitepaper-section-head { flex-wrap: wrap; }
  .public-page .geo-section { padding: 32px 0; }
  .public-page .marketing-header { position: relative; }
  .public-page .marketing-header-inner { padding: 16px; }
  .public-page .marketing-brand { font-size: 14px; }
  .public-page .marketing-nav { gap: 8px 12px; font-size: 13px; }
  .public-page .marketing-nav .btn { padding: 6px 12px; min-height: 34px; }
  .public-page .marketing-main { padding: 24px 16px 40px; }
  .public-page :is(.geo-diagnosis-copy,.brand-strength-copy,.industry-hero-copy,.whitepaper-hero-copy) h1,
  .public-page .beo-productpage .beo-product-hero h1 { font-size: 32px; line-height: 1.4; }
  .public-page .whitepaper-article-cover h1 { font-size: 28px; }
  .public-page :is(.geo-diagnosis-section,.brand-strength-section,.industry-section,.beo-productpage) h2 { font-size: 24px; }
  .public-page :is(.geo-diagnosis-section,.brand-strength-section,.industry-section) { padding: 32px 0; }
  .public-page :is(.geo-diagnosis-grid,.brand-strength-grid,.industry-grid,.beo-method-steps) { grid-template-columns: minmax(0,1fr); }
  .public-page :is(.geo-diagnosis-console,.brand-strength-window,.industry-hero-panel,.whitepaper-hero-panel) { padding: 20px; }
  .public-page .beo-productpage .beo-content-inner { padding: 0 16px; }
  .public-page .beo-productpage .beo-product-hero { padding: 32px 0; }
  .public-page .beo-productpage .beo-product-band { padding: 32px 0; }
  .public-page :is(.geo-diagnosis-faq,.brand-strength-disclaimer,.auth-card) { padding: 24px 20px; }
  .public-page :is(.whitepaper-card,.beo-service-grid article) { padding: 20px; }
}
