/* Frank Legacy — Visual Restraint v1
   Unifies the exhibit after successive feature passes. Functional hierarchy remains;
   decorative competition is intentionally reduced. */
:root{
  --vr-paper:#fff8e8;
  --vr-paper-soft:#fbf3e2;
  --vr-proof:#eef2f2;
  --vr-ink:#171927;
  --vr-muted:#665f52;
  --vr-line:rgba(49,40,25,.18);
  --vr-proof-line:#9eafb8;
  --vr-cardinal:#7b1e2d;
  --vr-navy:#101827;
  --vr-gold:#b98b3b;
  --vr-radius-panel:18px;
  --vr-radius-card:14px;
  --vr-shadow:0 4px 14px rgba(20,18,12,.055);
  --vr-shadow-raised:0 8px 22px rgba(20,18,12,.08);
}

/* One quiet material language. */
.panel,
.rule-card,.era-card,.source-card,.next-link,.fact-card,.evidence-card,.boundary-card,.method-card,
.honor-card,.recognition-family,.glance-card,.glance-route a,.quote-card{
  border-color:var(--vr-line)!important;
  box-shadow:var(--vr-shadow)!important;
}
.panel{border-radius:var(--vr-radius-panel)!important}
.rule-card,.era-card,.source-card,.next-link,.fact-card,.evidence-card,.boundary-card,.method-card,
.honor-card,.recognition-family,.glance-card,.glance-route a{border-radius:var(--vr-radius-card)!important}

/* Keep room motifs, but make them signatures rather than banners. */
body[data-page] main::before{
  height:.78rem!important;
  margin:.22rem 0 .72rem!important;
  border:0!important;
  border-radius:999px!important;
  box-shadow:none!important;
  opacity:.24!important;
}
body[data-page="voices-of-frank"] main::before{
  font-size:1.35rem!important;
  padding:0 .65rem!important;
  color:rgba(123,30,45,.4)!important;
}
body[data-page] .section-kicker::before{
  width:.42rem!important;
  height:.12rem!important;
  margin-right:.34rem!important;
  opacity:.58!important;
}

/* Story and proof remain distinct, but both now use flat museum materials. */
section.panel.story-layer{
  background:var(--vr-paper-soft)!important;
  border:1px solid var(--vr-line)!important;
  box-shadow:var(--vr-shadow)!important;
}
section.panel.story-layer::after{display:none!important}
section.panel.proof-layer{
  background:var(--vr-proof)!important;
  border:1px solid var(--vr-proof-line)!important;
  box-shadow:inset 4px 0 0 #536980,var(--vr-shadow)!important;
}
section.panel.proof-layer::after{display:none!important}
.layer-ribbon{
  border-radius:6px!important;
  background:transparent!important;
  border-color:rgba(54,86,106,.3)!important;
  padding:.3rem .48rem!important;
}
.layer-ribbon::before{
  width:.34rem!important;height:.34rem!important;
  border-width:1px!important;
  border-radius:1px!important;
  box-shadow:none!important;
}
.story-proof-key{
  background:transparent!important;
  border-width:0 0 1px!important;
  border-radius:0!important;
  padding:.4rem 0 .55rem!important;
}

/* Nested proof objects use one flat file-card style. */
.proof-layer :is(.source-card,.evidence-card,.representative-card,.fact-card,.boundary-card,.method-card,.proof-row,.boundary-row,.archive-note,.record-grid){
  background:rgba(255,255,255,.56)!important;
  box-shadow:none!important;
}

/* Navigation remains grouped, but loses the three competing wing colors. */
.nav-wing-story,.nav-wing-special,.nav-wing-archive{border-top-color:rgba(215,172,94,.72)!important}
.nav-wing{background:rgba(255,248,232,.04)!important}
.site-navigation .nav-wing-links a:hover,.site-navigation .nav-home:hover{background:rgba(255,248,232,.085)!important}

/* Room contents: flatter utility treatment. */
.room-contents-mobile,.room-contents-desktop{
  background:rgba(255,248,232,.97)!important;
  box-shadow:var(--vr-shadow-raised)!important;
  border-color:var(--vr-line)!important;
  border-radius:var(--vr-radius-panel)!important;
}
.room-contents-item.toc-story a:not([aria-current="location"])::after,
.room-contents-item.toc-proof a:not([aria-current="location"])::after{
  width:.27rem!important;height:.27rem!important;opacity:.7!important;
}

/* Voices: one quote system. Topic color remains informational text, not card decoration. */
.quote-card{
  --placard-accent:var(--vr-cardinal)!important;
  background:rgba(255,252,244,.78)!important;
  border-radius:var(--vr-radius-panel)!important;
  box-shadow:var(--vr-shadow)!important;
}
.quote-card::after{background:var(--vr-cardinal)!important;opacity:.72!important}
.quote-card::before{opacity:.7!important}
.quote-card .quote-meta{
  background:transparent!important;
  border-radius:0!important;
  border-top:1px solid var(--vr-line)!important;
  border-bottom:1px solid var(--vr-line)!important;
  padding:.52rem 0!important;
}
.quote-card .topic-tags{border-top:0!important;padding-top:.2rem!important}
.quote-card .topic-tag{
  background:transparent!important;
  border:1px solid rgba(123,30,45,.22)!important;
  color:var(--vr-cardinal)!important;
  padding:.22rem .42rem!important;
}
.quote-card.accent{
  --placard-accent:var(--vr-gold)!important;
  background:var(--vr-navy)!important;
  border-color:rgba(255,248,232,.16)!important;
  box-shadow:var(--vr-shadow-raised)!important;
}
.quote-card.accent::after{background:var(--vr-gold)!important}
.quote-card.accent .quote-meta{
  background:transparent!important;
  border-color:rgba(255,248,232,.16)!important;
}
.quote-card.accent .topic-tag{
  background:transparent!important;
  border-color:rgba(215,172,94,.36)!important;
  color:#e5c57f!important;
}

/* Awards: hierarchy comes from wording + one edge cue, not a different card skin for every class. */
body[data-page="awards-room"] .recognition-family,
body[data-page="awards-room"] .legacy-recognition-group .honor-card{
  background:rgba(255,252,244,.72)!important;
  box-shadow:none!important;
}
body[data-page="awards-room"] .recognition-family-number{
  background:var(--vr-navy)!important;
  color:#fff8e8!important;
}
body[data-page="awards-room"] .recognition-family::after{width:3px!important}
body[data-page="awards-room"] .recognition-relation,
body[data-page="awards-room"] .recognition-chip,
body[data-page="awards-room"] .hierarchy-key span,
body[data-page="awards-room"] .recognition-relation-stamp{
  background:transparent!important;
  border:1px solid var(--vr-line)!important;
  border-radius:6px!important;
}
body[data-page="awards-room"] .recognition-section-banner{
  background:transparent!important;
  border-radius:0!important;
  border-left-width:3px!important;
  padding:.5rem .68rem!important;
}
body[data-page="awards-room"] .legacy-distinction{
  background:transparent!important;
  color:var(--vr-ink)!important;
  border:1px solid var(--vr-line)!important;
  border-left:3px solid var(--vr-gold)!important;
  border-radius:var(--vr-radius-card)!important;
}
body[data-page="awards-room"] .legacy-distinction strong{color:#7b5b22!important}
body[data-page="awards-room"] .legacy-distinction span{color:var(--vr-muted)!important}

/* Frank at a Glance: keep hierarchy, reduce special skins. */
.glance-years{
  background:transparent!important;
  border-radius:6px!important;
}
.glance-facts article{
  background:transparent!important;
  border:1px solid var(--vr-line)!important;
  border-left:3px solid var(--vr-gold)!important;
  border-radius:var(--vr-radius-card)!important;
}
.glance-route a{
  background:rgba(255,252,244,.72)!important;
  transition:border-color .16s ease!important;
}
.glance-route a:hover{
  transform:none!important;
  box-shadow:var(--vr-shadow)!important;
}
.glance-route::before{opacity:.18!important}
.glance-mini-links a{
  background:transparent!important;
  border:1px solid rgba(123,30,45,.2)!important;
}
.glance-honors{
  background:var(--vr-navy)!important;
  border-radius:var(--vr-radius-panel)!important;
  box-shadow:var(--vr-shadow-raised)!important;
}
.glance-honor-grid a{
  background:transparent!important;
  border-radius:var(--vr-radius-card)!important;
}
.glance-boundary{
  background:var(--vr-proof)!important;
  border-radius:var(--vr-radius-card)!important;
}

/* Reduce general decorative motion and shadow escalation. */
:is(.panel,.rule-card,.era-card,.source-card,.next-link,.fact-card,.evidence-card,.honor-card,.recognition-family,.quote-card,.glance-card,.glance-route a){
  transform:none;
}
:is(.panel,.rule-card,.era-card,.source-card,.next-link,.fact-card,.evidence-card,.honor-card,.recognition-family,.quote-card,.glance-card,.glance-route a):hover{
  transform:none!important;
}

@media(max-width:699.98px){
  body[data-page] main::before{height:.58rem!important;margin:.08rem 0 .55rem!important}
  .panel{border-radius:16px!important}
  .quote-card{border-radius:16px!important}
}

@media(prefers-contrast:more){
  .panel,.quote-card,.recognition-family,.glance-card{box-shadow:none!important}
  section.panel.story-layer,section.panel.proof-layer{border-width:2px!important}
}

@media(forced-colors:active){
  body[data-page] main::before{display:none!important}
}
