/* V1.8 scope: artwork layers, moving vector strip, media button state.
   The approved hero, timeline, maps and footer retain their V1.7 styles. */
.modality-art.has-art > img {z-index:0}
.modality-art.has-art::before {
  display:block; z-index:1;
  background:linear-gradient(180deg,rgba(3,5,26,.16) 0%,rgba(3,5,26,.02) 48%,rgba(3,5,26,.7) 100%),repeating-linear-gradient(135deg,transparent 0 38px,rgba(186,197,255,.06) 38px 39px);
  pointer-events:none;
}
.modality-art.has-art::after {display:block;z-index:2;pointer-events:none;bottom:max(25%,54px)}
.modality-art.has-art > span {display:block;z-index:3;pointer-events:none}
.modality-art.has-art .art-code {color:rgba(221,230,255,.17);text-shadow:none}
.modality-art.has-art .art-frame {opacity:.4}
.modality-art .art-hint {right:20px;max-width:calc(100% - 40px);font-size:9px;line-height:1.5;letter-spacing:.09em;color:#d6ddf4}
.part-dialog-art .art-hint {right:30px;max-width:calc(100% - 60px)}
.part-dialog-art.has-art {aspect-ratio:16/7;min-height:0}
.modality-art.has-art .art-marker {text-shadow:0 1px 6px rgba(0,0,0,.75)}
.sound-toggle[aria-pressed="true"] {border-color:var(--cyan)}
/* All ten SVGs keep their native width:height; equal visible height, not a square slot. */
.partner-strip {--partner-h:72px;--partner-gap:54px;padding:32px 0 34px;overflow:hidden;border-block:1px solid rgba(0,223,247,.16);background:linear-gradient(110deg,rgba(6,10,35,.76),rgba(12,9,39,.62));}
.partner-strip-header {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.partner-strip #partners-title {margin:0;font:700 11px/1.5 var(--font-ui);letter-spacing:.17em;color:var(--cyan);text-transform:uppercase}
.partner-pause {display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 12px;background:transparent;border:1px solid rgba(0,223,247,.2);color:#aebbd4;font:600 10px/1.4 var(--font-ui);cursor:pointer;white-space:nowrap}
.partner-pause:hover {color:#fff;border-color:var(--cyan)}
.partner-pause > span:first-child {color:var(--cyan);font-size:16px}
.partner-viewport {width:min(calc(100% - 40px),var(--container));margin-inline:auto;overflow:hidden;padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.partner-track {display:flex;align-items:center;width:max-content;animation:partner-marquee var(--partner-duration,65s) linear infinite;will-change:transform}
.partner-group {display:flex;align-items:center;flex:0 0 auto;gap:var(--partner-gap);padding-right:var(--partner-gap)}
.partner-item {display:flex;align-items:center;justify-content:center;flex:0 0 auto;height:var(--partner-h)}
.partner-strip .partner-item img {display:block;width:calc(var(--partner-h) * var(--logo-ratio));height:var(--partner-h);max-width:none;max-height:none;margin:0;object-fit:contain;opacity:.43;transition:opacity .25s ease;user-select:none;-webkit-user-drag:none;}
.partner-item:hover img {opacity:.95}
.partner-strip.is-paused .partner-track,.partner-viewport:hover .partner-track,.partner-viewport:focus-within .partner-track {animation-play-state:paused}
@keyframes partner-marquee {from {transform:translate3d(0,0,0)} to {transform:translate3d(calc(-1 * var(--partner-loop,1800px)),0,0)}}
.partner-strip.is-reduced .partner-track {animation:none;transform:none;will-change:auto}
.partner-strip.is-reduced .partner-viewport {overflow-x:auto;scrollbar-width:thin;scrollbar-color:#3e5d86 transparent}
.partner-strip.is-reduced [data-partner-clone] {display:none}
@media(max-width:820px){.partner-strip{--partner-h:58px;--partner-gap:38px}.partner-strip #partners-title{font-size:10px;letter-spacing:.1em}.partner-strip-header{gap:12px}.partner-pause{font-size:9px}}
@media(max-width:480px){.partner-strip{--partner-h:54px;--partner-gap:32px;padding-block:25px}.partner-strip-header{align-items:flex-start}.partner-strip #partners-title{max-width:200px}.partner-viewport{width:calc(100% - 28px)}.modality-art .art-hint{font-size:9px;letter-spacing:.07em}.part-dialog-art .art-hint{max-width:calc(100% - 40px);right:20px}}
@media(prefers-reduced-motion:reduce){.partner-track{animation:none!important;transform:none!important;will-change:auto}.partner-viewport{overflow-x:auto}.partner-pause,[data-partner-clone]{display:none!important}.partner-strip .partner-item img{transition:none}}
