/*
  Satus Theme Engine / visual skin
  industrial-brutal-audited-v3-site-map-safe

  Clean rebuild after CSS-system audit.
  Rules:
  - no generic [class*="..."] selectors;
  - no global section/container/page-shell/content-zone layout overrides;
  - preserve HOME pattern DOM/layout contracts;
  - preserve deliverables-map table/row model;
  - preserve cases media backgrounds;
  - keep internal pages safe: tokens + components + soft link-group treatment only.
*/

/* 1. SKIN TOKENS ---------------------------------------------------------- */
:root {
  color-scheme: dark;

  --color-bg: #070d0f;
  --color-surface: #10191d;
  --color-surface-muted: #141f24;
  --color-surface-elevated: #17252b;
  --color-surface-panel: #0c1418;
  --color-surface-contrast: #05090b;

  --color-text: #f1f3ed;
  --color-muted: #a5b1ae;
  --color-meta: #778582;
  --color-inverse: #071012;

  --color-primary: #d7aa35;
  --color-primary-hover: #efc24b;
  --color-primary-soft: #251f12;
  --color-primary-muted: #b8902f;

  --color-border: #243238;
  --color-border-soft: #1b282e;
  --color-border-strong: #3b4d54;
  --color-border-panel: rgb(215 170 53 / 0.22);
  --color-border-interactive: #d7aa35;

  --color-badge-bg: #191b15;
  --color-badge-border: rgb(215 170 53 / 0.32);
  --color-badge-text: #e2bc52;

  --color-cta-bg: #10191d;
  --color-cta-text: #f1f3ed;
  --color-cta-muted: #a5b1ae;
  --color-cta-border: rgb(215 170 53 / 0.22);

  --color-panel-bg: #142127;
  --color-panel-text: #f1f3ed;
  --color-panel-muted: #a7b4b2;
  --color-panel-border: rgb(215 170 53 / 0.18);
  --rgb-panel-bg: 20 33 39;

  --color-success: #88a99c;
  --color-success-soft: #14251f;
  --color-warning: #d7aa35;
  --color-warning-soft: #251f12;
  --color-danger: #c77a7d;
  --color-danger-soft: #2b171a;

  --color-link: #e2bc52;
  --color-link-hover: #ffd768;

  --rgb-primary: 215 170 53;
  --rgb-primary-hover: 239 194 75;
  --rgb-border: 36 50 56;
  --rgb-warning: 215 170 53;
  --rgb-danger: 199 122 125;

  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --radius-xl: 0;
  --radius-2xl: 0;
  --radius-pill: 0;

  --shadow-xs: 0 1px 0 rgb(255 255 255 / 0.03);
  --shadow-sm: 0 8px 22px rgb(0 0 0 / 0.24);
  --shadow-md: 0 14px 38px rgb(0 0 0 / 0.32);
  --shadow-lg: 0 22px 62px rgb(0 0 0 / 0.42);

  --focus-ring: 0 0 0 3px rgb(215 170 53 / 0.28);
}

html,
body {
  background: var(--color-bg);
}

body {
  color: var(--color-text);
}

/* 2. COMPONENTS ----------------------------------------------------------- */
.site-header {
  background: #05090b;
  border-bottom: 1px solid rgb(215 170 53 / 0.28);
}

.site-logo,
.site-logo:hover,
.site-logo:visited {
  color: var(--color-text);
}

.site-logo__title {
  color: var(--color-text);
}

.site-logo__subtitle {
  color: var(--color-meta);
}

.site-nav a,
.site-nav a:visited {
  color: #dce2dc;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a:active {
  color: var(--color-primary-hover);
}

.header-actions .btn,
.header-actions .button,
.header-actions a {
  color: #071012;
  background: var(--color-primary);
  border-color: var(--color-primary);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.header-actions .btn:hover,
.header-actions .button:hover,
.header-actions a:hover,
.header-actions .btn:focus-visible,
.header-actions .button:focus-visible,
.header-actions a:focus-visible,
.header-actions .btn:active,
.header-actions .button:active,
.header-actions a:active {
  color: #071012;
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.burger {
  color: var(--color-primary);
  background: #0b1215;
  border-color: var(--color-border-strong);
}

.breadcrumbs,
.breadcrumbs a,
.breadcrumbs a:visited {
  color: var(--color-meta);
}

.breadcrumbs a:hover,
.breadcrumbs a:focus-visible {
  color: var(--color-primary-hover);
}

.btn,
.button {
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.btn--accent,
.btn--primary,
.button--accent,
.button--primary {
  color: #071012;
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.btn--accent:hover,
.btn--primary:hover,
.button--accent:hover,
.button--primary:hover,
.btn--accent:focus-visible,
.btn--primary:focus-visible,
.button--accent:focus-visible,
.button--primary:focus-visible,
.btn--accent:active,
.btn--primary:active,
.button--accent:active,
.button--primary:active {
  color: #071012;
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.btn--light,
.btn--secondary,
.button--light,
.button--secondary,
.btn--outline,
.button--outline {
  color: var(--color-text);
  background: #0d1518;
  border-color: var(--color-border-strong);
}

.btn--light:hover,
.btn--secondary:hover,
.button--light:hover,
.button--secondary:hover,
.btn--outline:hover,
.button--outline:hover,
.btn--light:focus-visible,
.btn--secondary:focus-visible,
.button--light:focus-visible,
.button--secondary:focus-visible,
.btn--outline:focus-visible,
.button--outline:focus-visible,
.btn--light:active,
.btn--secondary:active,
.button--light:active,
.button--secondary:active,
.btn--outline:active,
.button--outline:active {
  color: var(--color-primary-hover);
  background: #121f24;
  border-color: rgb(215 170 53 / 0.42);
}

.site-footer {
  background: #05090b;
  border-top: 1px solid var(--color-border-soft);
}

.site-footer__nav a,
.site-footer__nav a:visited {
  color: #c4ccc8;
}

.site-footer__nav a:hover,
.site-footer__nav a:focus-visible,
.site-footer__nav a:active {
  color: var(--color-primary-hover);
}

.site-footer__contacts a,
.site-footer__contacts a:visited {
  color: var(--color-text);
  background: #0d1518;
  border-color: var(--color-border-soft);
}

.site-footer__contacts a:hover,
.site-footer__contacts a:focus-visible,
.site-footer__contacts a:active {
  color: var(--color-primary-hover);
  background: #111d22;
  border-color: rgb(215 170 53 / 0.34);
}

/* 3. CTA: preserve shell, style only inner panel -------------------------- */
.cta-block {
  background: transparent;
}


.cta-block__inner {
  color: var(--color-cta-text);
  background:
    linear-gradient(180deg, #131e24 0%, #0f181d 100%);
  border: 1px solid var(--color-border-strong);
  border-left: 3px solid var(--color-primary);
  border-radius: 0;
  box-shadow: var(--shadow-sm);
}


.cta-block__eyebrow {
  color: #d9bd62;
}

.cta-block__title {
  color: var(--color-cta-text);
}

.cta-block__text {
  color: var(--color-cta-muted);
}

.cta-block__actions a,
.cta-block__actions a:visited {
  color: var(--color-cta-text);
  background: rgb(255 255 255 / 0.055);
  border-color: rgb(255 255 255 / 0.18);
}

.cta-block__actions a:first-child,
.cta-block__actions a:first-child:visited {
  color: #071012;
  background: var(--color-primary);
  border-color: var(--color-primary);
}

.cta-block__actions a:hover,
.cta-block__actions a:focus-visible,
.cta-block__actions a:active {
  color: var(--color-cta-text);
  background: rgb(255 255 255 / 0.1);
  border-color: rgb(255 255 255 / 0.34);
}

.cta-block__actions a:first-child:hover,
.cta-block__actions a:first-child:focus-visible,
.cta-block__actions a:first-child:active {
  color: #071012;
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

/* 4. HOME CONTEXT: explicit pattern treatment only ------------------------ */
.site-main:has(.content-zone > :is(.hero-dossier, .home-hero):first-child) {
  background: var(--color-bg);
}

/* 4.1 Hero dossier: keep media background, only visual treatment */
.hero-dossier {
  background:
    radial-gradient(circle at 78% 22%, rgb(215 170 53 / 0.08), transparent 26rem),
    linear-gradient(180deg, #071012 0%, #081012 100%);
  border-bottom: 1px solid rgb(215 170 53 / 0.18);
}

.hero-dossier__eyebrow {
  color: var(--color-primary-hover);
}

.hero-dossier__title {
  color: #f4f4ee;
}

.hero-dossier__text,
.hero-dossier__meta {
  color: #b8c3c0;
}

.hero-dossier__visual {
  border: 1px solid rgb(215 170 53 / 0.38);
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
}

.hero-dossier__visual::before {
  background: linear-gradient(180deg, rgb(5 9 11 / 0.08), rgb(5 9 11 / 0.3));
}

.hero-dossier__panel {
  color: var(--color-text);
  background: rgb(8 14 17 / 0.78);
  border-color: rgb(215 170 53 / 0.26);
  border-radius: var(--radius-sm);
  backdrop-filter: blur(8px);
}

.hero-dossier__panel-label,
.hero-dossier__panel-header p {
  color: var(--color-primary-hover);
}

.hero-dossier__panel-title,
.hero-dossier__list {
  color: var(--color-text);
}

/* 4.2 Shared home labels and headers: explicit roots */
:is(
  .service-outcome-map,
  .situation-router,
  .decision-router,
  .route-compare,
  .scope-selector,
  .stakeholder-router,
  .lifecycle-router,
  .document-map,
  .risk-map,
  .cost-control-map,
  .source-boundary,
  .method-chain,
  .data-readiness-checklist,
  .assurance-level-map,
  .compliance-map,
  .deliverables-map,
  .faq-preview,
  .process-section,
  .results-block,
  .articles-grid,
  .cases-section
) {
  --skin-card-bg: #10191d;
  --skin-card-bg-alt: #142126;
  --skin-card-border: #26363d;
  --skin-accent-line: rgb(215 170 53 / 0.72);
}

:is(
  .service-outcome-map__label,
  .situation-router__label,
  .decision-router__label,
  .route-compare__label,
  .scope-selector__label,
  .stakeholder-router__label,
  .lifecycle-router__label,
  .document-map__label,
  .risk-map__label,
  .cost-control-map__label,
  .source-boundary__label,
  .method-chain__label,
  .data-readiness-checklist__label,
  .assurance-level-map__label,
  .compliance-map__label,
  .deliverables-map__label,
  .faq-preview__label,
  .section-eyebrow
) {
  color: var(--color-primary-hover);
}

:is(
  .service-outcome-map__title,
  .situation-router__title,
  .decision-router__title,
  .route-compare__title,
  .scope-selector__title,
  .stakeholder-router__title,
  .lifecycle-router__title,
  .document-map__title,
  .risk-map__title,
  .cost-control-map__title,
  .source-boundary__title,
  .method-chain__title,
  .data-readiness-checklist__title,
  .assurance-level-map__title,
  .compliance-map__title,
  .deliverables-map__title,
  .faq-preview__title,
  .cases-section__title
) {
  color: var(--color-text);
}

:is(
  .service-outcome-map__text,
  .situation-router__text,
  .decision-router__text,
  .route-compare__text,
  .scope-selector__text,
  .stakeholder-router__text,
  .lifecycle-router__text,
  .document-map__text,
  .risk-map__text,
  .cost-control-map__text,
  .source-boundary__text,
  .method-chain__text,
  .data-readiness-checklist__text,
  .assurance-level-map__text,
  .compliance-map__text,
  .deliverables-map__text,
  .faq-preview__text,
  .cases-section__text
) {
  color: var(--color-muted);
}

/* 4.3 Router / map cards: explicit roots, no wildcard cards */
.scope-selector__item,
.decision-router__card,
.route-compare__item,
.stakeholder-router__item,
.lifecycle-router__stage,
.situation-router__item,
.service-outcome-map__item,
.document-map__item,
.risk-map__item,
.cost-control-map__item,
.source-boundary__item,
.data-readiness-checklist__item,
.assurance-level-map__item,
.compliance-map__item,
.faq-preview__item {
  color: var(--color-text);
  background: linear-gradient(180deg, #121d22 0%, #0f171b 100%);
  border-color: var(--skin-card-border);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.scope-selector__item:hover,
.scope-selector__item:focus-visible,
.decision-router__card:hover,
.decision-router__card:focus-visible,
.route-compare__item:hover,
.route-compare__item:focus-visible,
.stakeholder-router__item:hover,
.stakeholder-router__item:focus-visible,
.lifecycle-router__stage:hover,
.lifecycle-router__stage:focus-visible,
.situation-router__item:hover,
.situation-router__item:focus-visible,
.service-outcome-map__item:hover,
.service-outcome-map__item:focus-visible,
.document-map__item:hover,
.document-map__item:focus-visible,
.risk-map__item:hover,
.risk-map__item:focus-visible,
.cost-control-map__item:hover,
.cost-control-map__item:focus-visible,
.source-boundary__item:hover,
.source-boundary__item:focus-visible,
.data-readiness-checklist__item:hover,
.data-readiness-checklist__item:focus-visible,
.assurance-level-map__item:hover,
.assurance-level-map__item:focus-visible,
.compliance-map__item:hover,
.compliance-map__item:focus-visible,
.faq-preview__item:hover,
.faq-preview__item:focus-visible {
  border-color: rgb(215 170 53 / 0.42);
  background: linear-gradient(180deg, #15262c 0%, #111c20 100%);
}

.scope-selector__link,
.scope-selector__link:visited,
.decision-router__link,
.decision-router__link:visited,
.route-compare__link,
.route-compare__link:visited,
.stakeholder-router__link,
.stakeholder-router__link:visited,
.lifecycle-router__link,
.lifecycle-router__link:visited,
.situation-router__link,
.situation-router__link:visited,
.service-outcome-map__link,
.service-outcome-map__link:visited,
.document-map__link,
.document-map__link:visited,
.risk-map__link,
.risk-map__link:visited,
.cost-control-map__link,
.cost-control-map__link:visited,
.source-boundary__link,
.source-boundary__link:visited,
.data-readiness-checklist__link,
.data-readiness-checklist__link:visited,
.assurance-level-map__link,
.assurance-level-map__link:visited,
.compliance-map__link,
.compliance-map__link:visited {
  color: var(--color-primary-hover);
}

.scope-selector__link:hover,
.decision-router__link:hover,
.route-compare__link:hover,
.stakeholder-router__link:hover,
.lifecycle-router__link:hover,
.situation-router__link:hover,
.service-outcome-map__link:hover,
.document-map__link:hover,
.risk-map__link:hover,
.cost-control-map__link:hover,
.source-boundary__link:hover,
.data-readiness-checklist__link:hover,
.assurance-level-map__link:hover,
.compliance-map__link:hover {
  color: #ffd768;
}

.route-compare__table,
.decision-router__table,
.stakeholder-router__table,
.lifecycle-router__table {
  background: #0e171b;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
}

.route-compare__row,
.decision-router__row,
.stakeholder-router__row,
.lifecycle-router__row {
  background: transparent;
  border-color: var(--color-border-soft);
}

.route-compare__boundary,
.decision-router__boundary,
.stakeholder-router__boundary,
.lifecycle-router__boundary {
  background: #121f24;
  border-color: rgb(215 170 53 / 0.16);
}

/* 4.4 Process / methods */
.process-section__step .card__inner,
.process-step {
  background: #101a1f;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.process-step__number {
  color: #071012;
  background: var(--color-primary);
  border-radius: var(--radius-sm);
}

.process-step__title {
  color: var(--color-text);
}

.process-step__text {
  color: var(--color-muted);
}

/* 4.5 Results block: keep existing layout, only surfaces */
.results-block__item .card__inner,
.results-block .result-item {
  background: #101a1f;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
}

.result-item__title,
.results-block .result-item__title {
  color: var(--color-text);
}

.result-item__text,
.results-block .result-item__text {
  color: var(--color-muted);
}

/* 4.6 Deliverables map: preserve row/table contract */
.deliverables-map {
  --home-deliverables-accent: var(--color-primary-hover);
}

.deliverables-map__header {
  padding: 0;
  background: transparent;
  border: 0;
}

.deliverables-map__table {
  background: #0d161a;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.deliverables-map__row {
  background: #0d161a;
}

.deliverables-map__row + .deliverables-map__row,
.deliverables-map__task,
.deliverables-map__output,
.deliverables-map__basis,
.deliverables-map__boundary-cell {
  border-color: var(--color-border-soft);
}

.deliverables-map__task {
  background: linear-gradient(180deg, #111e23 0%, #0e171b 100%);
}

.deliverables-map__output,
.deliverables-map__basis {
  background: #0d161a;
}

.deliverables-map__boundary-cell {
  background: #101c21;
}

.deliverables-map__item-title,
.deliverables-map__column-label,
.deliverables-map__boundary-text {
  color: var(--color-text);
}

.deliverables-map__item-text,
.deliverables-map__list {
  color: var(--color-muted);
}

.deliverables-map__boundary {
  color: #f0cc68;
  background: rgb(215 170 53 / 0.08);
  border-color: rgb(215 170 53 / 0.22);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

/* 4.7 Cases: preserve media backgrounds and internal structure */
.cases-section {
  background: transparent;
}

.cases-section__grid {
  gap: clamp(var(--space-3), 2vw, var(--space-5));
}

.cases-section .case-card {
  background-color: #0f181c;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
  box-shadow: none;
}

.cases-section .case-card::before {
  background: linear-gradient(180deg, rgb(5 9 11 / 0.12), rgb(5 9 11 / 0.56));
}

.cases-section .case-card:hover,
.cases-section .case-card:focus-visible {
  border-color: rgb(215 170 53 / 0.42);
}

.cases-section .case-card__meta,
.cases-section .case-card__label,
.cases-section .case-card__tag {
  color: var(--color-primary-hover);
}

.cases-section .case-card__title {
  color: var(--color-text);
}

.cases-section .case-card__text,
.cases-section .case-card__facts {
  color: #c1cbc7;
}

.cases-section .case-card__link,
.cases-section .case-card__link:visited {
  color: var(--color-primary-hover);
}

.cases-section .case-card:hover .case-card__link,
.cases-section .case-card:focus-visible .case-card__link {
  color: #ffd768;
}

/* 5. INTERNAL SAFE ADJUSTMENTS ------------------------------------------- */
.content-zone > .section-description,
.content-zone > p:first-of-type {
  color: var(--color-muted);
}

.content-zone > table {
  background: #0f181c;
  border-color: var(--color-border-soft);
}

.content-zone > table th {
  color: var(--color-primary-hover);
  background: #142126;
  border-color: var(--color-border-soft);
}

.content-zone > table td {
  border-color: var(--color-border-soft);
}

/* Explicit link-group softening. Do not turn each link into a new card. */
.related-services,
.related-publications,
.section-listing-plain {
  background: #0e171b;
  border-color: var(--color-border-soft);
  border-radius: var(--radius-sm);
}

.content-zone .related-services a,
.article-body .related-services a,
.content-zone .related-publications a,
.article-body .related-publications a,
.content-zone .section-listing-plain a,
.article-body .section-listing-plain a {
  color: var(--color-primary-hover);
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

.content-zone .related-services a:hover,
.article-body .related-services a:hover,
.content-zone .related-publications a:hover,
.article-body .related-publications a:hover,
.content-zone .section-listing-plain a:hover,
.article-body .section-listing-plain a:hover:hover:hover,
.content-zone .related-services a:focus-visible,
.article-body .related-services a:focus-visible,
.content-zone .related-publications a:focus-visible,
.article-body .related-publications a:focus-visible,
.content-zone .section-listing-plain a:focus-visible,
.article-body .section-listing-plain a:focus-visible:focus-visible:focus-visible {
  color: #ffd768;
  background: rgb(215 170 53 / 0.055);
  border-color: transparent;
}

/* 6. ACCESSIBILITY / SELECTION ------------------------------------------- */
::selection {
  color: #071012;
  background: var(--color-primary-hover);
}

:focus-visible {
  outline-color: var(--color-primary-hover);
}


/* 8. SHARP GEOMETRY OVERRIDES -------------------------------------------- */
:is(
  .btn,
  .button,
  .burger,
  .hero-dossier__visual,
  .hero-dossier__panel,
  .scope-selector__item,
  .decision-router__card,
  .route-compare__item,
  .stakeholder-router__item,
  .lifecycle-router__stage,
  .situation-router__item,
  .service-outcome-map__item,
  .document-map__item,
  .risk-map__item,
  .cost-control-map__item,
  .source-boundary__item,
  .data-readiness-checklist__item,
  .assurance-level-map__item,
  .compliance-map__item,
  .faq-preview__item,
  .process-step,
  .result-item,
  .case-card,
  .article-card,
  .section-listing-card,
  .deliverables-map__table,
  .deliverables-map__row,
  .deliverables-map__task,
  .deliverables-map__output,
  .deliverables-map__basis,
  .deliverables-map__boundary-cell,
  .results-block__table,
  .results-block__row,
  .results-block__result,
  .results-block__limits,
  .results-block__scope,
  .cta-block__inner,
  .site-footer__contacts a,
  .site-header .btn,
  .header-actions .btn,
  .header-actions .button,
  .header-actions a
) {
  border-radius: 0 !important;
}

/* keep CTA inside the same visual language as the rest of the skin */
.cta-block__actions a,
.cta-block__actions a:visited {
  border-radius: 0 !important;
  box-shadow: none;
}

.cta-block__actions a:not(:first-child),
.cta-block__actions a:not(:first-child):visited {
  color: var(--color-text);
  background: #121b20;
  border-color: var(--color-border-strong);
}

.cta-block__actions a:not(:first-child):hover,
.cta-block__actions a:not(:first-child):focus-visible,
.cta-block__actions a:not(:first-child):active {
  color: var(--color-primary-hover);
  background: #152128;
  border-color: rgb(215 170 53 / 0.38);
}


/* V3 site-map safety:
   Sitemap links are controlled by css/content/site-map.css.
   Do not recolor .content-zone .site-map a here. */
