/* Public content extends the same restrained palette as the homepage. */
.eco-public {
    --home-white: #f0f5f3; --home-muted: #a0b4b9; --home-accent: #82e4cd;
    --home-border: #ffffff12; --home-glass: #10272e;
    --news-white: #f0f5f3; --news-muted: #a0b4b9; --news-border: #ffffff12; --news-glass: #10272e;
    --plans-bg: #091c23; --plans-surface: #10272e; --plans-surface-soft: #142e34;
    --plans-border: #ffffff12; --plans-white: #f0f5f3; --plans-muted: #a0b4b9; --plans-accent: #82e4cd; --plans-green: #82e4cd;
    --pwa-bg: #091c23; --pwa-bg-deep: #091c23; --pwa-panel: #10272e; --pwa-panel-strong: #142e34;
    --pwa-line: #ffffff12; --pwa-line-strong: #ffffff25; --pwa-text: #f0f5f3; --pwa-muted: #a0b4b9; --pwa-cyan: #82e4cd;
    color: #f0f5f3; background: #091c23; color-scheme: dark;
}
.eco-public .home-shell::before, .eco-public .plans-shell::before { display: none; }
.eco-public .home-shell, .eco-public .plans-shell, .eco-public .news-shell, .eco-public .pwa-install-shell { overflow: clip; }
.eco-public .container, .eco-public .news-container, .eco-public .attraction-shell, .eco-public .pwa-install-container {
    width: min(1240px, calc(100% - 96px)); max-width: 1240px; margin-inline: auto; padding-inline: 0;
}
.eco-public .glass-card { background: #10272e; border-color: #ffffff12; border-radius: 12px; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.eco-public .text-soft { color: #a0b4b9; }
.eco-public .icon-box, .eco-public .plan-icon { background: #82e4cd09; border-color: #82e4cd28; color: #82e4cd; box-shadow: none; flex-shrink: 0; }
.eco-public .public-breadcrumb { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; margin: 0 0 25px; font-size: 12px; color: #a0b4b9; }
.eco-public .public-breadcrumb a { display: inline-flex; min-height: 44px; align-items: center; color: #a0b4b9; text-decoration: none; }
.eco-public .public-breadcrumb a:hover { color: #82e4cd; }
.eco-public .public-breadcrumb i { font-size: 10px; }
.eco-public .public-breadcrumb > span:last-child { color: #d0dfde; }
.eco-public .hero-title, .eco-public .plans-title, .eco-public .public-archive-header h1, .eco-public .attraction h1 { font-size: clamp(1.8rem, 3.1vw, 2.7rem); font-weight: 700 !important; line-height: 1.7; letter-spacing: -.65px; text-shadow: none; }
.eco-public .hero-copy, .eco-public .plans-copy { font-size: 15px !important; line-height: 2.1; }
.eco-public .market-pill, .eco-public .plans-pill { background: transparent; border: 0; box-shadow: none; color: #82e4cd; padding-inline: 0 !important; }
.eco-public .public-eyebrow { display: block; font-size: 12px; color: #82e4cd; margin-bottom: 8px; }
.eco-public .btn-glow, .eco-public .btn-plan-primary, .eco-public .pwa-install-btn-primary { color: #092c2a; background: #82e4cd; background-image: none; border-color: #82e4cd; box-shadow: none; font-weight: 700; border-radius: 8px; min-height: 48px; }
.eco-public .btn-glow:hover, .eco-public .btn-plan-primary:hover, .eco-public .pwa-install-btn-primary:hover { background: #a3efdb; color: #092c2a; border-color: #a3efdb; box-shadow: none; }
.eco-public .btn-glass, .eco-public .btn-plan-secondary, .eco-public .pwa-install-btn-secondary { color: #d5e0e1; background: transparent; border: 1px solid #ffffff25; border-radius: 8px; min-height: 48px; }
.eco-public .btn-glass:hover, .eco-public .btn-plan-secondary:hover, .eco-public .pwa-install-btn-secondary:hover { background: #ffffff08; color: #f0f5f3; border-color: #82e4cd70; }
.eco-public :is(a, button, input, select, summary):focus-visible { outline: 3px solid #54baad; outline-offset: 4px; }
.eco-public .public-action-link { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; margin-top: 16px; color: #82e4cd; text-decoration: none; font-size: 13px; }

/* Long-form pages: readable measure and direct links to each section. */
.eco-public .legal-hero { max-width: 960px; padding-block: 6px 34px; }
.eco-public .legal-body { max-width: 960px; }
.eco-public .legal-card { line-height: 2.15; font-size: 14px; }
.eco-public .legal-card p, .eco-public .legal-list { color: #b3c3c6; }
.eco-public .legal-card strong { color: #f0f5f3; }
.eco-public .legal-section { scroll-margin-top: 28px; }
.eco-public .legal-section h2 { font-size: 17px; line-height: 1.9; }
.eco-public .legal-section .legal-icon { width: 36px; height: 36px; min-width: 36px; }
.eco-public .legal-divider { border-color: #ffffff12; margin-block: 30px; }
.eco-public .legal-toc { max-width: 960px; margin: 0 auto 24px; padding: 20px 24px; border: 1px solid #ffffff12; border-radius: 12px; background: #0d232a; }
.eco-public .legal-toc > strong { display: block; margin-bottom: 10px; color: #d2e0df; font-size: 12px; }
.eco-public .legal-toc > div { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.eco-public .legal-toc a { display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid #ffffff12; border-radius: 7px; color: #a0b4b9; font-size: 12px; text-decoration: none; }
.eco-public .legal-toc a:hover { color: #82e4cd; border-color: #82e4cd60; background: #82e4cd08; }
.eco-public .founder-card { padding: 24px 16px; background: #0d2229; transition: border-color .18s; }
.eco-public .founder-card:hover { border-color: #82e4cd38; box-shadow: none; transform: none; }
.eco-public .founder-avatar { border-color: #82e4cd40; box-shadow: none; }
.eco-public .legal-card .alert { background: #82e4cd07; border-inline-start: 3px solid #82e4cd50 !important; border-radius: 4px; }
.eco-public .brand-identity-hero { max-width: none; }
.eco-public .brand-logo-stage:not(.brand-logo-stage-light), .eco-public .brand-motion-card, .eco-public .identity-card { background: #10272e; border-color: #ffffff12; box-shadow: none; }
.eco-public .brand-preview-label, .eco-public .brand-motion-badge { color: #a0b4b9; background: #091c23; border-color: #ffffff12; box-shadow: none; }
.eco-public .brand-downloads .btn { background: #142e34; border-color: #ffffff25; color: #f0f5f3; box-shadow: none; }
.eco-public .brand-downloads .btn-primary { color: #092c2a; background: #82e4cd; border-color: #82e4cd; }
.eco-public .brand-logo-stage-light { background: #f3f6f3; border-color: #dfe7e1; box-shadow: none; color-scheme: light; }
.eco-public .brand-logo-stage-light .brand-preview-label, .eco-public .brand-logo-stage-light .brand-downloads .btn { color: #203c3b; background: #fff; border-color: #c8d7ce; }
.eco-public .brand-spec { border-color: #ffffff12; background: #10272e; }

/* Plans keep the pricing and entitlement logic, with a clear comparison rhythm. */
.eco-public .plans-hero { max-width: 830px; padding-top: 4px !important; padding-bottom: 24px !important; }
.eco-public .plans-title { font-size: clamp(1.65rem, 2.8vw, 2.5rem); }
.eco-public .plans-grid { gap: 18px; align-items: stretch; }
.eco-public .public-plan-card, .eco-public .plans-note { background: #10272e; border-color: #ffffff12; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; border-radius: 12px; }
.eco-public .public-plan-card { padding: 25px 22px; min-width: 0; }
.eco-public .public-plan-card.is-featured { background: #12312f; border-color: #82e4cd55; box-shadow: none; }
.eco-public .plan-badge { background: #82e4cd08; border-color: #82e4cd25; color: #a5e5d6; border-radius: 5px; font-weight: 500; font-size: 11px; }
.eco-public .plan-head { margin-top: 25px; margin-bottom: 16px; }
.eco-public .plan-head h2 { font-size: 22px; }
.eco-public .plan-description { font-size: 12px; min-height: 72px; }
.eco-public .plan-price { min-height: 63px; padding-block: 16px; margin: 10px 0 22px; border-bottom: 1px solid #ffffff12; color: #f0f5f3; font-size: 20px; font-weight: 700; }
.eco-public .plan-feature-list { gap: 12px; margin-bottom: 26px; }
.eco-public .plan-feature-list li { font-size: 12px; color: #b8c9ca; line-height: 1.95; }
.eco-public .plan-feature-list i { flex-shrink: 0; }
.eco-public .plan-actions .btn { font-size: 12px; padding: 11px 12px; white-space: normal; }
.eco-public .plans-note-item i { color: #82e4cd; }

/* Risk archive and reports. */
.eco-public .public-archive-header { padding-block: 4px 28px; max-width: 870px; }
.eco-public .public-archive-header > div { align-items: flex-start !important; }
.eco-public .public-archive-header .icon-box { width: 52px; height: 52px; margin-top: 10px; }
.eco-public .public-archive-header p { font-size: 14px; line-height: 2; }
.eco-public .public-archive-filters { padding: 23px 26px; background: #10272e; border: 1px solid #ffffff12; border-radius: 12px; }
.eco-public .archive-filter-group { gap: 8px; margin-top: 0; }
.eco-public .archive-filter-group + .archive-filter-group { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ffffff12; }
.eco-public .archive-filter-label { min-width: 72px; font-size: 12px; }
.eco-public .market-filter-link, .eco-public .horizon-filter-link { min-height: 44px; border-radius: 7px; border-color: #ffffff15; background: #091c234d; padding: 8px 13px; font-size: 12px; color: #afc1c3; box-shadow: none; }
.eco-public .market-filter-link i { color: #a0b4b9; }
.eco-public .market-filter-link:hover, .eco-public .horizon-filter-link:hover { border-color: #82e4cd70; background: #82e4cd08; box-shadow: none; }
.eco-public .market-filter-link.active, .eco-public .horizon-filter-link.active { border-color: #82e4cd; background: #82e4cd; color: #092c2a; box-shadow: none; }
.eco-public .market-filter-link.active i { color: inherit; }
.eco-public .public-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0 12px; }
.eco-public .public-results-heading h2 { font-size: 22px; font-weight: 700; margin: 0; }
.eco-public .public-results-heading > span, .eco-public .public-results-note { font-size: 12px; color: #a0b4b9; }
.eco-public .public-results-note { line-height: 2; margin-bottom: 23px; }
.eco-public .risk-news-card { gap: 16px; min-width: 0; }
.eco-public .risk-news-card h2 { font-size: 15px; line-height: 1.9; }
.eco-public .risk-news-card h2 a { color: #f0f5f3; text-decoration: none; }
.eco-public .risk-news-card h2 a:hover { color: #82e4cd; }
.eco-public .risk-news-meta span, .eco-public .risk-news-footer span, .eco-public .risk-news-factor, .eco-public .post-chip { background: #ffffff04; border-color: #ffffff12; color: #b2c4c6; border-radius: 5px; font-size: 11px; }
.eco-public .risk-news-summary { color: #a0b4b9; line-height: 2.05; font-size: 13px; }
.eco-public .risk-score { flex-shrink: 0; box-shadow: none; }
.eco-public .risk-news-link { margin-top: auto !important; }
.eco-public .archive-page-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; border-color: #ffffff25; background: transparent; color: #d5e0e1; font-size: 13px; }
.eco-public .archive-pagination { gap: 12px; flex-wrap: wrap; font-size: 12px; }
.eco-public .public-empty { padding-block: 55px !important; }
.eco-public .public-empty p { max-width: 480px; margin-inline: auto; line-height: 2; }
.eco-public .public-risk-overview { background: #10272e; }
.eco-public .decision-hero { grid-template-columns: minmax(130px, .65fr) minmax(0, 2fr) minmax(180px, .85fr); gap: 28px; }
.eco-public .decision-hero h1 { font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.8; }
.eco-public .hero-score-panel, .eco-public .hero-meta-panel { background: #0d2229; border-color: #ffffff12; }
.eco-public .hero-meta-panel { font-size: 12px; }
.eco-public .hero-meta-panel .btn { font-size: 12px; }
.eco-public .metric-card, .eco-public .ai-result-item, .eco-public .factor-item { background: #10272e; border-color: #ffffff12; }
.eco-public .metric-icon, .eco-public .factor-icon, .eco-public .metric-info { background: #82e4cd08; color: #82e4cd; border-color: #82e4cd25; box-shadow: none; }
.eco-public .metric-info { width: 44px; height: 44px; }
.eco-public .metric-tooltip { background: #17373c; color: #d5e0df; border-color: #82e4cd40; font-size: 12px; }
.eco-public .decision-copy, .eco-public .post-copy, .eco-public .factor-item p { color: #b5c7c9; line-height: 2.15; }
.eco-public .decision-copy { display: block; overflow: visible; -webkit-line-clamp: unset; }
.eco-public .quick-insight { background: #82e4cd07; border-color: #82e4cd25; }
.eco-public .ai-result-grid .ai-result-item { background: #0d2229; }

/* Attractiveness uses its existing responsive report components. */
.eco-public .attraction { --attr-muted: #a0b4b9; --attr-line: #ffffff12; --attr-accent: #82e4cd; color: #f0f5f3; }
.eco-public .attraction a { color: #82e4cd; }
.eco-public .attr-hero { padding: 8px 0 32px; border: 0; background: none; border-radius: 0; gap: 40px; }
.eco-public .attr-hero-copy { max-width: 850px; }
.eco-public .attr-hero-copy > p { font-size: 14px; line-height: 2.1; }
.eco-public .attr-hero-symbol { border-radius: 12px; border-color: #82e4cd25; }
.eco-public .attr-panel { background: #10272e; border-color: #ffffff12; border-radius: 12px; padding: 24px; }
.eco-public .attr-field input, .eco-public .attr-field select { background: #091c23; border-color: #ffffff25; color: #f0f5f3; min-height: 48px; }
.eco-public .attr-field label { color: #b6c7c9; }
.eco-public .attr-btn { background: #82e4cd; color: #092c2a; border-color: #82e4cd; border-radius: 8px; min-height: 48px; font-weight: 700; }
.eco-public .attraction a.attr-btn { color: #092c2a; }
.eco-public .attr-btn-secondary, .eco-public .attraction a.attr-btn-secondary { background: transparent; border-color: #ffffff25; color: #d5e0e1; }
.eco-public .attraction a.attr-btn:hover { text-decoration: none; background: #a3efdb; color: #092c2a; }
.eco-public .attraction a.attr-btn-secondary:hover { background: #ffffff08; color: #82e4cd; border-color: #82e4cd70; }
.eco-public .attr-news-card h2 a { color: #f0f5f3; }
.eco-public .attr-news-card h2 { font-size: 17px; font-weight: 700; }
.eco-public .attr-news-card > p { font-size: 13px; }
.eco-public .attr-mini-score { background: #0d2229; padding: 12px 4px; }
.eco-public .attr-mini-score span { font-size: 11px; }
.eco-public .attr-mini-score strong { font-size: 22px; }
.eco-public .attr-mini-lock { min-height: 44px; justify-content: center; }
.eco-public .attr-mini-lock span { font-size: 10px; }
.eco-public .attr-tabs { margin-block: 26px; }
.eco-public .attr-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; color: #c2d3d4; background: #10272e; }
.eco-public .attr-prose, .eco-public .attr-balanced ul { color: #b6c8ca; }
.eco-public .attr-factor { background: #0d2229; }
.eco-public .attr-factor p { font-size: 12px; color: #b6c8ca; }
.eco-public .attr-locked-content { background: #0d2229; border-color: #ffffff12; }
.eco-public .attr-glass-gate { background: #10272ecc; box-shadow: none; }
.eco-public .attr-glass-lock { border-radius: 12px; }
.eco-public .attr-note { padding-block: 9px; }
.eco-public .attr-empty { grid-column: 1 / -1; padding-block: 50px; }
.eco-public .attr-empty h2 { color: #f0f5f3; }

/* Install instructions and preview share the page's typography and controls. */
.eco-public .pwa-install-hero { gap: 24px; padding-top: 0; }
.eco-public .pwa-install-intro, .eco-public .pwa-install-preview, .eco-public .pwa-install-panel { background: #10272e; border-color: #ffffff12; box-shadow: none; border-radius: 12px; }
.eco-public .pwa-install-intro { background: transparent; border-color: transparent; padding-inline-start: 0; }
.eco-public .pwa-install-eyebrow { color: #82e4cd; background: transparent; border: 0; padding-inline: 0; }
.eco-public .pwa-install-title { font-size: clamp(2rem, 4vw, 3.6rem); font-weight: 700; }
.eco-public .pwa-install-copy { font-size: 15px; }
.eco-public .pwa-install-statusbar { background: #10272e; color: #b7c9ca; font-size: 12px; box-shadow: none; }
.eco-public .pwa-phone { background: #07171c; border-color: #ffffff20; box-shadow: 0 20px 45px #00000025; }
.eco-public .pwa-phone-screen { background: #0d2229; }
.eco-public .pwa-phone-dot { background: #82e4cd; box-shadow: none; }
.eco-public .pwa-install-panel { padding: 24px; }
.eco-public .pwa-install-panel-icon { color: #82e4cd; background: #82e4cd08; border-color: #82e4cd25; }

@media (max-width: 1199.98px) {
    .eco-public .container, .eco-public .news-container, .eco-public .attraction-shell, .eco-public .pwa-install-container { width: calc(100% - 56px); }
    .eco-public .plans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eco-public .decision-hero { grid-template-columns: 150px minmax(0, 1fr); gap: 20px; }
    .eco-public .hero-meta-panel { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
    .eco-public .hero-meta-panel .btn { width: auto !important; }
}
@media (max-width: 767.98px) {
    .eco-public .container, .eco-public .news-container, .eco-public .attraction-shell, .eco-public .pwa-install-container { width: calc(100% - 40px); }
    .eco-public .public-breadcrumb { margin-bottom: 16px; }
    .eco-public .legal-hero { padding-bottom: 24px; }
    .eco-public .legal-toc { padding: 16px; }
    .eco-public .legal-toc > div { gap: 6px; }
    .eco-public .legal-toc a { font-size: 11px; padding-inline: 9px; }
    .eco-public .public-archive-filters { padding: 18px; }
    .eco-public .archive-filter-label { width: 100%; }
    .eco-public .public-archive-header > div { gap: 12px !important; }
    .eco-public .public-archive-header .icon-box { width: 42px; height: 42px; }
    .eco-public .attr-panel { padding: 20px; }
    .eco-public .attr-hero { padding-bottom: 24px; }
    .eco-public .pwa-install-intro { padding: 0 0 20px; }
    .eco-public .pwa-install-preview { padding: 24px; }
}
@media (max-width: 575.98px) {
    .eco-public .container, .eco-public .news-container, .eco-public .attraction-shell, .eco-public .pwa-install-container { width: calc(100% - 32px); }
    .eco-public .hero-title, .eco-public .public-archive-header h1, .eco-public .attraction h1 { font-size: 25px; letter-spacing: -.3px; }
    .eco-public .hero-copy { font-size: 14px !important; }
    .eco-public .legal-card { padding: 22px 18px !important; font-size: 13px; }
    .eco-public .legal-section h2 { font-size: 15px; }
    .eco-public .legal-section .legal-icon { width: 31px; min-width: 31px; height: 31px; }
    .eco-public .legal-toc { padding: 16px 12px; }
    .eco-public .plans-grid { grid-template-columns: minmax(0, 1fr); }
    .eco-public .plans-hero { text-align: start; }
    .eco-public .plan-description { min-height: 0; }
    .eco-public .public-plan-card { padding: 24px; }
    .eco-public .public-archive-header .icon-box { display: none; }
    .eco-public .public-archive-filters { padding: 16px 12px; }
    .eco-public .market-filter-link, .eco-public .horizon-filter-link { font-size: 11px; padding-inline: 10px; }
    .eco-public .public-risk-overview { padding: 20px 16px !important; }
    .eco-public .decision-hero { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .eco-public .hero-score-panel { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; }
    .eco-public .hero-score-panel > .risk-label-badge { margin-top: 0 !important; }
    .eco-public .hero-score-panel .risk-score-box { width: auto; height: auto; min-height: 56px; padding: 12px; }
    .eco-public .hero-meta-panel .btn { flex: 1 1 100%; }
    .eco-public .metric-card { min-height: 110px; }
    .eco-public .public-reading-panel { padding: 24px 18px !important; }
    .eco-public .attr-panel { padding: 18px; }
    .eco-public .attr-tabs a { flex: 1 1 100%; }
    .eco-public .attr-inline > .attr-btn { width: 100%; }
    .eco-public .attr-horizon-head { gap: 16px; }
    .eco-public .attr-mini-scores { gap: 5px; }
    .eco-public .attr-mini-score span { font-size: 10px; }
    .eco-public .attr-mini-lock span { font-size: 9px; }
    .eco-public .pwa-install-preview { display: none; }
    .eco-public .pwa-install-panel { min-height: 0; }
}
