/* AI Act Ready public presentation layer.
 *
 * This file intentionally targets named page components. It does not restyle
 * generic articles, images, media wrappers or arbitrary class-name fragments.
 * That boundary keeps the many established content templates intact while
 * giving every public page the SaaS product's dark visual language.
 */

html,
body[data-aar-page] {
  background: var(--aar-midnight);
}

body[data-aar-page] {
  color-scheme: dark;
  color: var(--aar-paper);
}

/* Canonical product palette across every public template generation. */
body[data-aar-page] main :is(h1, h2, h3, h4, h5, h6) {
  color: var(--aar-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-aar-page] main :is(p, li, dd, dt, blockquote, figcaption) {
  color: rgba(255, 255, 255, 0.76);
}

body[data-aar-page] main a:not(.button, .btn, .btn-primary, .btn-secondary) {
  color: var(--aar-teal);
  text-decoration-color: rgba(0, 212, 200, 0.52);
}

body[data-aar-page] main :is(.eyebrow, .section-kicker, .section-label, .label, .kicker, .breadcrumb, .aj-eyebrow) {
  color: var(--aar-teal);
}

body[data-aar-page] main :is(.button.primary, .button.primary.dark, .btn, .btn-primary) {
  color: var(--aar-midnight);
  background: var(--aar-teal);
}

body[data-aar-page] main :is(.button.secondary, .button.secondary.dark, .btn-secondary) {
  color: var(--aar-paper);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.24);
}

body[data-aar-page] :is(.aar-privacy-controls, .aar-privacy-controls--floating) {
  color: var(--aar-header-muted);
  background: #060b18;
  border-color: var(--aar-header-line);
}

body[data-aar-page] :is(.aar-privacy-controls, .aar-privacy-controls--floating) button {
  color: var(--aar-header-muted);
  background: transparent;
  appearance: none;
}

body[data-aar-page] :is(.aar-privacy-controls, .aar-privacy-controls--floating) :is(a, a:visited) {
  color: var(--aar-teal);
}

body[data-aar-page="legal"] .status {
  color: var(--aar-teal);
  background: rgba(0, 212, 200, 0.1);
  border-color: rgba(0, 212, 200, 0.22);
}

body[data-aar-page] #hs_show_banner_button.settings-button {
  color: var(--aar-midnight);
  background: var(--aar-teal);
}

body[data-aar-page] .site-footer,
body[data-aar-page] #aar-footer,
body[data-aar-page] footer {
  background: #060b18;
  color: var(--aar-header-muted);
  border-color: var(--aar-header-line);
}

body[data-aar-page] .site-footer a,
body[data-aar-page] #aar-footer a,
body[data-aar-page] footer a {
  color: var(--aar-paper);
  text-decoration-color: rgba(0, 212, 200, 0.52);
}

/* One shared public footer replaces the legacy template-specific footers. */
body[data-aar-page] .aar-public-footer {
  margin: 0;
  padding: 64px 0 28px;
  border-top: 1px solid var(--aar-header-line);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-aar-page] .aar-public-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(600px, 2fr);
  gap: 48px 72px;
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}

body[data-aar-page] .aar-public-footer__brand p {
  max-width: 580px;
  margin: 20px 0 0;
  color: var(--aar-header-muted);
  font-size: 16px;
  line-height: 1.65;
}

body[data-aar-page] .aar-public-footer__links {
  display: grid;
  grid-template-columns: repeat(4, minmax(110px, 1fr));
  gap: 32px;
}

body[data-aar-page] .aar-public-footer nav {
  display: grid;
  align-content: start;
  gap: 10px;
  margin: 0;
  padding: 0;
}

body[data-aar-page] .aar-public-footer nav strong {
  margin-bottom: 4px;
  color: var(--aar-teal);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body[data-aar-page] .aar-public-footer nav a {
  color: var(--aar-header-muted);
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
}

body[data-aar-page] .aar-public-footer nav a:is(:hover, :focus-visible) {
  color: var(--aar-teal);
}

body[data-aar-page] .aar-public-footer__bottom {
  display: flex;
  grid-column: 1 / -1;
  justify-content: space-between;
  gap: 24px;
  padding-top: 24px;
  color: rgba(255, 255, 255, 0.58);
  border-top: 1px solid var(--aar-header-line);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  body[data-aar-page] .aar-public-footer {
    padding-top: 48px;
  }

  body[data-aar-page] .aar-public-footer__inner {
    grid-template-columns: 1fr;
    gap: 36px;
    width: min(100% - 32px, 1180px);
  }

  body[data-aar-page] .aar-public-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 24px;
    min-width: 0;
  }

  body[data-aar-page] .aar-public-footer nav {
    min-width: 0;
  }

  body[data-aar-page] .aar-public-footer__bottom {
    display: grid;
  }
}

@media (max-width: 1040px) {
  body[data-aar-page] .aar-public-footer__inner { grid-template-columns: 1fr; }
}

/* Homepage: preserve its structure and hero image; replace only named surfaces. */
body[data-aar-page="home"] .question-band,
body[data-aar-page="home"] .evidence-flow-section,
body[data-aar-page="home"] .tool-section,
body[data-aar-page="home"] .dashboard-section,
body[data-aar-page="home"] .resources-section,
body[data-aar-page="home"] .split-section,
body[data-aar-page="home"] .evidence-section,
body[data-aar-page="home"] .focus-section,
body[data-aar-page="home"] .buyer-section,
body[data-aar-page="home"] .founder-section {
  background: var(--aar-midnight);
  color: var(--aar-paper);
  border-color: var(--aar-header-line);
}

body[data-aar-page="home"] .tool-section,
body[data-aar-page="home"] .resources-section,
body[data-aar-page="home"] .evidence-section,
body[data-aar-page="home"] .buyer-section {
  background: var(--aar-navy);
}

body[data-aar-page="home"] :is(.question-band, .evidence-flow-section, .tool-section, .dashboard-section, .resources-section, .split-section, .evidence-section, .focus-section, .buyer-section, .founder-section) :is(h2, h3) {
  color: var(--aar-paper);
}

body[data-aar-page="home"] :is(.question-band, .evidence-flow-section, .tool-section, .dashboard-section, .resources-section, .split-section, .evidence-section, .focus-section, .buyer-section, .founder-section) :is(p, li, .lead) {
  color: rgba(255, 255, 255, 0.76);
}

body[data-aar-page="home"] :is(.evidence-flow article, .home-resource-grid article, .tool-panel, .dashboard-panel, .offer-price, .offer-list article, .buyer-grid article, .evidence-pack-board article) {
  background: rgba(0, 212, 200, 0.04);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.25);
  box-shadow: none;
}

body[data-aar-page="home"] .dashboard-row:not(.dashboard-row-head),
body[data-aar-page="home"] .tool-panel span,
body[data-aar-page="home"] :is(.metric-strip span, .keyword-list span, .credentials span) {
  background: rgba(255, 255, 255, 0.04);
  color: var(--aar-paper);
  border-color: rgba(255, 255, 255, 0.14);
}

body[data-aar-page="home"] :is(.dashboard-row span, .dashboard-row strong, .metric-strip strong, .offer-price strong, .tool-panel span) {
  color: var(--aar-paper);
}

body[data-aar-page="home"] .button.primary.dark {
  color: var(--aar-midnight);
  background: #fff;
}

body[data-aar-page="home"] .button.primary.dark:hover {
  background: var(--aar-teal);
}

/* Resource library and the original flat resource templates. */
body[data-aar-page="resources"] .resource-body,
body[data-aar-page="resources"] .resource-index-section {
  background: var(--aar-midnight);
  color: var(--aar-paper);
}

body[data-aar-page="resources"] :is(.resource-article, .resource-card, .aside-card) {
  background: var(--aar-navy);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.22);
  box-shadow: none;
}

body[data-aar-page="resources"] :is(.muted-card, .faq-list details) {
  background: rgba(0, 212, 200, 0.04);
  border-color: rgba(0, 212, 200, 0.22);
}

body[data-aar-page="resources"] :is(.resource-article, .resource-card, .aside-card, .muted-card) :is(h2, h3, summary),
body[data-aar-page="resources"] .resource-card h2 a {
  color: var(--aar-paper);
}

body[data-aar-page="resources"] :is(.resource-article, .resource-card, .aside-card, .muted-card) :is(p, li),
body[data-aar-page="resources"] .faq-list details p {
  color: rgba(255, 255, 255, 0.76);
}

body[data-aar-page="resources"] :is(.source-list a, .muted-card a, .text-link) {
  color: var(--aar-teal);
}

/* Blog index and articles share the same named card/content vocabulary. */
body[data-aar-page="blog"] {
  --ink: var(--aar-paper);
  --muted: rgba(255, 255, 255, 0.72);
  --cream: var(--aar-paper);
  --dark: var(--aar-midnight);
  --dark-2: var(--aar-navy);
  --line: rgba(255, 255, 255, 0.14);
  --light-line: rgba(255, 255, 255, 0.14);
  --teal: var(--aar-teal);
  --teal-dark: var(--aar-teal);
}

body[data-aar-page="blog"] :is(.question-band, .tool-section, .method-section, .evidence-section, .section, .category-section, .related, .article) {
  background: var(--aar-midnight);
  color: var(--aar-paper);
  border-color: var(--aar-header-line);
}

body[data-aar-page="blog"] :is(.category-section:nth-of-type(even), .related) {
  background: var(--aar-navy);
}

body[data-aar-page="blog"] :is(.blog-card, .method-grid article, .mini-grid span, .evidence-tags span) {
  background: rgba(0, 212, 200, 0.04);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.22);
  box-shadow: none;
}

body[data-aar-page="blog"] :is(.blog-card, .category-heading, .section-heading, .article-body, .article-header) :is(h1, h2, h3),
body[data-aar-page="blog"] .blog-card h3 {
  color: var(--aar-paper);
}

body[data-aar-page="blog"] :is(.blog-card, .category-heading, .section-heading, .article-body, .article-header) :is(p, li),
body[data-aar-page="blog"] :is(.blog-card-meta, .blog-card-footer, .article-meta, .byline) {
  color: rgba(255, 255, 255, 0.72);
}

body[data-aar-page="blog"] .page-hero h1 {
  margin-bottom: 1rem;
}

/* Blog navigation and metadata must never inherit the generic teal link colour
 * onto a teal or light translucent surface. These are product-style controls,
 * not inline text links. */
body[data-aar-page="blog"] main .category-nav a {
  color: var(--aar-paper);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  text-decoration: none;
}

body[data-aar-page="blog"] main .category-nav a:is(:hover, :focus-visible) {
  color: var(--aar-midnight);
  background: var(--aar-teal);
  border-color: var(--aar-teal);
}

body[data-aar-page="blog"] main a.category-pill {
  color: var(--aar-midnight);
  background: var(--aar-teal);
  border: 1px solid var(--aar-teal);
  text-decoration: none;
}

body[data-aar-page="blog"] main a.category-pill:is(:hover, :focus-visible) {
  color: var(--aar-paper);
  background: var(--aar-navy);
  border-color: var(--aar-teal);
}

body[data-aar-page="blog"] main .source-list {
  color: var(--aar-paper);
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.15);
}

body[data-aar-page="blog"] main .source-list strong {
  color: var(--aar-paper);
}

body[data-aar-page="blog"] .page-hero h1 {
  max-width: 880px;
  font-size: clamp(2.8rem, 5vw, 4.5rem);
  line-height: 0.98;
}

/* One guide carries an inline legacy light decision-card override with
 * !important. Keep it inside the product surface and palette. */
body[data-aar-page] main .article-body .decision-card,
body[data-aar-page] main .article-body .decision-card :is(h3, p) {
  color: var(--aar-paper) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

body[data-aar-page] main .article-body .decision-card {
  background: rgba(255, 255, 255, 0.05) !important;
}

body[data-aar-page] main .btn-submit {
  color: var(--aar-midnight);
  background: var(--aar-teal);
}

body[data-aar-page] main .aj-badge {
  color: var(--aar-midnight);
  background: var(--aar-teal);
}

/* The newest guide generation is already dark. Fill its outer canvas only. */
body[data-aar-page="guide"] {
  background: var(--aar-midnight);
}

body[data-aar-page="guide"] .article-meta {
  color: rgba(255, 255, 255, 0.68);
}

body[data-aar-page="guide"] :is(.article, .article-body, .article-body section) {
  min-width: 0;
}

body[data-aar-page="guide"] :is(.article-header h1, .article-body h1, .article-body h2, .article-body h3, .article-body p, .article-body li, .article-body a),
body[data-aar-page="blog"] :is(.article-header h1, .article-body h1, .article-body h2, .article-body h3, .article-body p, .article-body li, .article-body a) {
  overflow-wrap: anywhere;
}

body[data-aar-page="guide"] .article-body table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

body[data-aar-page="guide"] :is(.tldr, th, td) {
  border-color: rgba(255, 255, 255, 0.16);
}

/* Older corporate pages: target their explicit light sections and controls. */
body[data-aar-page="standard"] :is(.founder, .cta, .content-section, .page-content, .legal-page, .legal-content),
body[data-aar-page="legal"] :is(.content-section, .page-content, .legal-page, .legal-content),
body[data-aar-page="check"] :is(.check-page-main, .check-intro, .check-form-section) {
  background: var(--aar-midnight);
  color: var(--aar-paper);
}

/* Full readiness assessment uses an older standalone template. */
body[data-aar-page="standard"] :is(.aiar-journey, .deliverables, .services, .faq) {
  background: var(--aar-midnight);
  color: var(--aar-paper);
  border-color: var(--aar-header-line);
}

body[data-aar-page="standard"] .steps {
  background: var(--aar-navy);
  color: var(--aar-paper);
}

body[data-aar-page="standard"] .steps :is(.section-title, .step-content h3) {
  color: var(--aar-paper);
}

body[data-aar-page="standard"] .steps :is(.section-subtitle, .step-content p) {
  color: rgba(255, 255, 255, 0.74);
}

body[data-aar-page="standard"] .step-item {
  border-color: rgba(255, 255, 255, 0.14);
}

body[data-aar-page="standard"] :is(.deliverables, .faq) {
  background: var(--aar-navy);
}

body[data-aar-page="standard"] :is(.aiar-journey, .deliverables, .services, .faq) :is(h2, h3, .section-title) {
  color: var(--aar-paper);
}

body[data-aar-page="standard"] :is(.aiar-journey, .deliverables, .services, .faq) :is(p, li, .section-subtitle) {
  color: rgba(255, 255, 255, 0.74);
}

body[data-aar-page="standard"] :is(.aj-card, .deliverable-card, .service-item, .faq-item) {
  background: rgba(0, 212, 200, 0.04);
  color: var(--aar-paper);
  border: 1px solid rgba(0, 212, 200, 0.22);
  box-shadow: none;
}

body[data-aar-page="standard"] .aj-card :is(b, strong) {
  color: var(--aar-paper);
}

body[data-aar-page="standard"] .aj-card span {
  color: rgba(255, 255, 255, 0.74);
}

body[data-aar-page="check"] :is(.aiar-journey, .aj-card) {
  background: var(--aar-navy);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.22);
  box-shadow: none;
}

body[data-aar-page="check"] .aiar-journey h2,
body[data-aar-page="check"] .aj-card b {
  color: var(--aar-paper);
}

body[data-aar-page="check"] .aj-card span {
  color: rgba(255, 255, 255, 0.74);
}

body[data-aar-page="standard"] .aj-line {
  background: rgba(255, 255, 255, 0.16);
}

body[data-aar-page="check"] .aj-line {
  background: rgba(255, 255, 255, 0.16);
}

body[data-aar-page="standard"] :is(.credential, .founder-right p),
body[data-aar-page="check"] :is(.meta-pill, .sub, .progress-label) {
  color: rgba(255, 255, 255, 0.76);
}

body[data-aar-page="standard"] :is(.founder, .cta, .content-section, .page-content, .legal-page, .legal-content) :is(h1, h2, h3),
body[data-aar-page="legal"] :is(.content-section, .page-content, .legal-page, .legal-content) :is(h1, h2, h3),
body[data-aar-page="check"] :is(.check-page-main, .check-intro, .check-form-section) :is(h1, h2, h3, label, summary) {
  color: var(--aar-paper);
}

body[data-aar-page="standard"] :is(.founder, .cta, .content-section, .page-content, .legal-page, .legal-content) :is(p, li),
body[data-aar-page="legal"] :is(.content-section, .page-content, .legal-page, .legal-content) :is(p, li),
body[data-aar-page="check"] :is(.check-page-main, .check-intro, .check-form-section) :is(p, li) {
  color: rgba(255, 255, 255, 0.76);
}

body[data-aar-page="standard"] :is(.buyer-card, .service-card, .feature-card, .cta-card),
body[data-aar-page="legal"] :is(.provider, .legal-note),
body[data-aar-page="check"] :is(.question-row, .notes-field, .consent-row) {
  background: var(--aar-navy);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.22);
}

body[data-aar-page="legal"] .legal-content table,
body[data-aar-page="guide"] .card,
body[data-aar-page="check"] :is(.respondent-panel, .report-panel) {
  background: var(--aar-navy);
  color: var(--aar-paper);
  border-color: rgba(0, 212, 200, 0.22);
}

body[data-aar-page="legal"] .legal-content :is(th, td) {
  background: transparent;
  color: var(--aar-paper);
  border-color: rgba(255, 255, 255, 0.16);
}

body[data-aar-page="legal"] .legal-content th {
  background: rgba(255, 255, 255, 0.1);
}

body[data-aar-page="guide"] .card :is(h2, p, li),
body[data-aar-page="check"] :is(.respondent-panel, .report-panel) :is(h2, h3, p, li, label, strong) {
  color: var(--aar-paper);
}

body[data-aar-page="check"] :is(input, select, textarea) {
  background: rgba(255, 255, 255, 0.1);
  color: var(--aar-paper);
  border-color: rgba(255, 255, 255, 0.22);
}

@media (max-width: 640px) {
  body[data-aar-page="home"] :is(.question-band, .evidence-flow-section, .tool-section, .dashboard-section, .resources-section, .split-section, .evidence-section, .focus-section, .buyer-section, .founder-section) {
    padding-top: 72px;
    padding-bottom: 72px;
  }
}
