/* ═══════════════════════════════════════════════════════════
   polish.css — cross-page baseline
   Loaded by the four pages that carry their own inline CSS
   (index, markets, eight-diagnostic, links) so that motion
   safety, focus visibility and text selection behave the same
   everywhere. Deliberately contains no layout or type rules —
   each page keeps its own look.
   ═══════════════════════════════════════════════════════════ */

/* Motion safety — copy must never depend on an animation running */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  [class*="rise"],.reveal,.rv,.hero h1 .l i,.hero .sub,.hero .cta-row,
  [style*="opacity:0"]{opacity:1!important;transform:none!important}
}
@media print{
  .reveal,.rv,.hero h1 .l i,.hero .sub,.hero .cta-row{opacity:1!important;transform:none!important}
}

/* Keyboard focus — there was no visible focus state anywhere */
a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:2px solid currentColor;outline-offset:3px;border-radius:2px}

/* Skip link */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;
  background:#11110F;color:#F2EEE6;padding:12px 18px;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.skip-link:focus{left:12px;top:12px}

/* Detail */
img{max-width:100%;height:auto}
table{font-variant-numeric:tabular-nums}

/* Imagery — warm monochrome, recolours on hover */
.duo,.dimg i,.mcard .thumb{
  filter:grayscale(1) sepia(.14) contrast(1.05) brightness(1.02);
  transition:filter .7s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)}
a:hover .duo,.duo:hover,a:hover .dimg i,.mcard:hover .thumb{
  filter:grayscale(0) sepia(0) contrast(1);transform:scale(1.03)}
@media (prefers-reduced-motion: reduce){ a:hover .duo,.duo:hover,a:hover .dimg i{transform:none} }

/* Market bands — warm monochrome, recolour on hover (matches the site imagery system) */
.band .ph{
  filter:grayscale(1) sepia(.14) contrast(1.05) brightness(1.02);
  transition:filter .8s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1)}
.band:hover .ph,.band:focus-visible .ph{
  filter:grayscale(0) sepia(0) contrast(1) brightness(1);transform:scale(1.04)}
.band{overflow:hidden}
@media (prefers-reduced-motion: reduce){ .band:hover .ph{transform:none} }
