/* Press page — sits on vote.css (same black/coral/teal world as Fan Demand and the Members area). */
.xy-press { --p-cream: #ffffff; --p-card: #14161c; }
.xy-press__hero { padding: 1rem 0 0.5rem; max-width: 46rem; }
.xy-press__since { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.72em; letter-spacing: 0.14em; text-transform: uppercase; color: var(--v-muted); margin: 0.6rem 0 0; }

/* Logo wall: a slow marquee of outlet logos on cream tiles */
.xy-press__marquee { overflow: hidden; margin: 1.6rem -1rem 0; padding: 0.4rem 0; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.xy-press__track { display: flex; gap: 0.8rem; width: max-content; animation: xy-press-roll 70s linear infinite; }
.xy-press__marquee:hover .xy-press__track { animation-play-state: paused; }
@keyframes xy-press-roll { to { transform: translateX(-50%); } }
.xy-press__wall-item { flex: none; }
.xy-press__tile { display: inline-flex; align-items: center; justify-content: center; width: 9.5rem; height: 4.2rem; padding: 0.5rem 0.9rem; border-radius: 10px; background: var(--p-cream); box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06); }
.xy-press__tile img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.xy-press__tile--text span { font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em; color: #111; font-size: 0.78rem; line-height: 1.1; text-align: center; }

/* Pull quotes: a snap reel of the best lines */
.xy-press__quotes { margin-top: 2rem; }
.xy-press__reel { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 0.2rem 0 0.9rem; margin: 0 -1rem; padding-left: 1rem; padding-right: 1rem; scrollbar-color: var(--v-coral) rgba(255,255,255,0.08); }
.xy-press__quote { flex: 0 0 min(34rem, 86vw); scroll-snap-align: start; margin: 0; padding: 2.4rem 1.4rem 1.1rem; border-radius: 16px; background: var(--v-teal); border: 1px solid var(--v-rose); display: flex; flex-direction: column; gap: 0.9rem; position: relative; }
.xy-press__quote::before { content: "“"; position: absolute; top: 0.35rem; left: 0.9rem; font-size: 4.2rem; line-height: 1; color: var(--v-coral); font-weight: 900; opacity: 0.9; }
.xy-press__quote blockquote { margin: 0; padding-left: 0.2rem; font-size: clamp(1.05rem, 2.2vw, 1.35rem); line-height: 1.3; font-weight: 700; }
.xy-press__quote blockquote a { color: inherit; text-decoration: none; }
.xy-press__quote blockquote a:hover { text-decoration: underline; text-underline-offset: 0.15em; }
.xy-press__quote figcaption { display: flex; align-items: center; gap: 0.8rem; margin-top: auto; }
.xy-press__quote .xy-press__tile { width: 7rem; height: 3rem; padding: 0.35rem 0.6rem; }
.xy-press__meta { font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: 0.7em; letter-spacing: 0.12em; text-transform: uppercase; color: var(--v-muted); margin: 0; }

/* Every mention: year dividers like a filmography, then cards */
.xy-press__year { margin-top: 1.4rem; }
.xy-press__year-label { display: flex; align-items: center; gap: 1rem; margin: 0 0 0.8rem; font-size: 1rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--v-coral); }
.xy-press__year-label::after { content: ""; flex: 1; height: 1px; background: var(--v-border); }
.xy-press__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.xy-press__card { display: flex; flex-direction: column; gap: 0.6rem; padding: 1rem; border-radius: 14px; background: var(--p-card); border: 1px solid var(--v-border); height: 100%; transition: transform 0.15s ease, border-color 0.15s ease; }
.xy-press__card:hover { transform: translateY(-2px); border-color: var(--v-rose); }
.xy-press__card .xy-press__tile { width: 100%; height: 4.4rem; }
.xy-press__body { display: flex; flex-direction: column; gap: 0.45rem; flex: 1; }
.xy-press__title { margin: 0; font-size: 1rem; line-height: 1.25; font-weight: 800; }
.xy-press__title a { color: inherit; text-decoration: none; }
.xy-press__title a:hover { text-decoration: underline; text-underline-offset: 0.15em; }
.xy-press__pull { margin: 0; padding-left: 0.8rem; border-left: 3px solid var(--v-coral); font-style: italic; color: var(--v-muted); font-size: 0.92em; line-height: 1.45; }
.xy-press__read { margin-top: auto; font-size: 0.78em; letter-spacing: 0.1em; text-transform: uppercase; color: var(--v-coral); text-decoration: none; font-weight: 700; }
.xy-press__read:hover { text-decoration: underline; text-underline-offset: 0.15em; }
.xy-press__more { text-align: center; margin: 1.6rem 0 0; }

/* Contact */
.xy-press__contact { margin-top: 3rem; padding: 1.6rem 1.4rem; border-radius: 16px; border: 1px dashed var(--v-rose); max-width: 46rem; }
.xy-press__contact h2 { margin-top: 0; }
.xy-press__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 1rem 0 0; }
.xy-press__social { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; margin: 1.2rem 0 0; font-size: 0.78em; letter-spacing: 0.12em; text-transform: uppercase; }
.xy-press__social a { color: var(--v-muted); text-decoration: none; }
.xy-press__social a:hover { color: var(--v-coral); }

@media (prefers-reduced-motion: reduce) { .xy-press__track { animation: none; } .xy-press__card:hover { transform: none; } }
@media (max-width: 600px) { .xy-press__tile { width: 8rem; height: 3.6rem; } .xy-press__grid { grid-template-columns: 1fr; } }
