/* Brand constants stay fixed. Only the roles and derived surface tints rotate. */
:root{
  --feature-bg:#226192;--feature-ink:#eae6de;--feature-detail:#eae6de;
  --alternate-bg:#ef8557;--alternate-ink:#14374f;
}
html[data-palette=editorial]{--soft:#dee5e8;--sage-soft:#dee5e8;--brand-sage:#bdcfdc;--sage-ink:#14374f}
html[data-palette=coral]{
  --bg:#f1e3d9;--surface:#f6eee7;--soft:#e8d2c4;--line:#baa99e;
  --accent:#226192;--muted:#4d5660;--tab-bg:#ecdbcf;--tab-ink:#14374f;
  --button-bg:#ef8557;--button-ink:#14374f;
  --feature-bg:#ef8557;--feature-ink:#14374f;--feature-detail:#14374f;
  --alternate-bg:#226192;--alternate-ink:#eae6de;
  --sage-soft:#e8d2c4;--brand-sage:#dec0ad;--sage-ink:#14374f;
}
html[data-palette=paper]{
  --bg:#dfe8ed;--surface:#eae6de;--soft:#cbdbe5;--line:#a8bac6;
  --accent:#226192;--muted:#405b6b;--tab-bg:#d3e0e8;
  --button-bg:#226192;--button-ink:#eae6de;
  --feature-bg:#eae6de;--feature-ink:#226192;--feature-detail:#14374f;
  --alternate-bg:#ef8557;--alternate-ink:#14374f;
  --sage-soft:#cbdbe5;--brand-sage:#afc9da;--sage-ink:#14374f;
}
html[data-theme=dark][data-palette]{
  --ink:#eae6de;--muted:#c1ced4;--accent:#ef8557;--focus:#ef8557;
  --button-bg:#ef8557;--button-ink:#14374f;--tab-bg:#eae6de;--tab-ink:#226192;
}
html[data-theme=dark][data-palette=editorial]{--bg:#102b40;--surface:#183c56;--soft:#14354e;--line:#49677b;--sage-soft:#14354e}
html[data-theme=dark][data-palette=coral]{--bg:#302b28;--surface:#3e3530;--soft:#463b34;--line:#817168;--sage-soft:#463b34}
html[data-theme=dark][data-palette=paper]{--bg:#173b54;--surface:#234b66;--soft:#1e435e;--line:#617e91;--sage-soft:#1e435e}
/* The signature never participates in the colour shuffle. */
.monogram,.vault-brand>span,.photo-brand>span:first-child{color:#226192!important;background:#eae6de!important}
.monogram{padding:5px 6px;border-radius:6px}
.hero .primary,.ratings-form .primary{background:var(--button-bg);color:var(--button-ink)}
.hero .primary:hover,.ratings-form .primary:hover{background:var(--ink);color:var(--bg)}
html[data-theme=light][data-palette] .hero .accent{color:#a14525}
.art-launch{background:var(--surface);color:var(--ink)}
.art-launch small{color:var(--muted)}
.vault-door,.journey,.healthhub .project-visual,.brand-collection-header{background:var(--feature-bg);color:var(--feature-ink)}
.vault-label,.vault-teaser p,.journey p{color:inherit}
.journey-copy h2 span{color:var(--feature-detail)}
.vault-door .circle-arrow{border-color:currentColor}
.vault-door:hover .circle-arrow{background:var(--feature-ink);color:var(--feature-bg)}
.paperbull .project-visual,.sgb .brand-collection-header{background:var(--alternate-bg);color:var(--alternate-ink)}
.paperbull .market-flow text{fill:var(--alternate-ink)}
.paperbull .flow-line,.paperbull .flow-node{stroke:var(--alternate-ink)}
.paperbull .flow-core{fill:var(--alternate-ink)}
.paperbull .flow-check{stroke:var(--alternate-bg)}
.health-feature{color:#14374f}
.ai-films .brand-collection-header{background:var(--alternate-bg);color:var(--alternate-ink)}
.reading-progress span{background:var(--button-bg)}
