/* generated by tools/build.mjs: hover states from the design's style-hover attributes */
[data-hv="1"]:hover { color: #E8E9EC !important; }
[data-hv="2"]:hover { color: #FFFFFF !important; }
[data-hv="3"]:hover { background: #163358 !important; color: #FFFFFF !important; }
[data-hv="4"]:hover { background: #E8E9EC !important; color: #0B2447 !important; }
[data-hv="5"]:hover { color: #4B4B4B !important; }
[data-hv="6"]:hover { background: #163358 !important; }
[data-hv="7"]:hover { border-color: #0B2447 !important; background: rgba(11,36,71,0.05) !important; color: #0B2447 !important; }
[data-hv="8"]:hover { background: #0B2447 !important; color: #FFFFFF !important; border-color: #0B2447 !important; }

/* photo placeholder (replaces <image-slot>): client supplies photography for each slot */
.img-slot { display: block; position: relative; width: 100%; height: 100%; aspect-ratio: 3 / 2; font: 13px/1.3 system-ui, -apple-system, sans-serif; color: inherit; box-sizing: border-box; }
.img-slot .frame { position: absolute; inset: 0; overflow: hidden; background: rgba(127,127,127,.08); }
.img-slot .ring { position: absolute; inset: 0; pointer-events: none; border: 1.5px dashed currentColor; opacity: .35; }
.img-slot .empty { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 12px; box-sizing: border-box; user-select: none; }
.img-slot .empty svg { opacity: .45; }
.img-slot .cap { max-width: 90%; font-weight: 500; letter-spacing: .01em; opacity: .75; }
/* runtime defaults for the tweakable motion props */
[data-train-zone] { --train-dur: 16s; }
[data-marquee] { --marquee-dur: 30s; }
[hidden] { display: none !important; }
