/* PG Press — scoped to .pg-press. Ported from the DRobb #press section:
   a fading quote rotator (dot pagination) + an infinite publication marquee. */

.pg-press{ padding:200px 80px 0; position:relative; }
.pg-press .press-inner{ max-width:1240px; margin:0 auto; text-align:center; }
.pg-press .press-eyebrow{ font-family:var(--pg-font-sans); font-weight:400; text-transform:uppercase; letter-spacing:.32em; font-size:11px; color:var(--pg-ink-soft); margin-bottom:28px; }
.pg-press .press-heading{ font-family:var(--pg-font-display); font-weight:300; font-variation-settings:"opsz" 144; font-size:clamp(54px,6.4vw,92px); line-height:.96; letter-spacing:-.022em; color:var(--pg-ink); margin:0 0 32px; }
.pg-press .press-heading em{ font-style:italic; color:var(--pg-terracotta); }
.pg-press .press-divider{ display:inline-flex; align-items:center; gap:14px; margin-bottom:100px; }
.pg-press .press-divider .rule{ width:80px; height:1px; background:var(--pg-ink-hair); }
.pg-press .press-divider .diamond{ width:5px; height:5px; background:var(--pg-terracotta); transform:rotate(45deg); }

.pg-press .quote-stage{ position:relative; min-height:320px; max-width:1080px; margin:0 auto 40px; padding:0 60px; }
.pg-press .quote-slide{ position:absolute; inset:0; padding:0 60px; opacity:0; transform:translate3d(0,16px,0); transition:opacity 900ms cubic-bezier(.16,1,.3,1), transform 900ms cubic-bezier(.16,1,.3,1); pointer-events:none; }
.pg-press .quote-slide.active{ opacity:1; transform:translate3d(0,0,0); pointer-events:auto; }
.pg-press .quote-slide .quote-mark{ position:absolute; font-family:var(--pg-font-display); font-style:italic; font-weight:300; font-variation-settings:"opsz" 144; color:var(--pg-terracotta); font-size:clamp(60px,6vw,96px); line-height:1; }
.pg-press .quote-slide .quote-mark.open{ top:-24px; left:0; }
.pg-press .quote-slide .quote-mark.close{ bottom:-64px; right:0; }
.pg-press .quote-text{ font-family:var(--pg-font-display); font-style:italic; font-weight:300; font-variation-settings:"opsz" 144; font-size:clamp(26px,2.8vw,42px); line-height:1.32; letter-spacing:-.008em; color:var(--pg-ink); margin:0 0 36px; }
.pg-press .quote-attr{ font-family:var(--pg-font-sans); font-weight:400; text-transform:uppercase; letter-spacing:.32em; font-size:11.5px; color:var(--pg-terracotta); }

.pg-press .quote-dots{ display:flex; justify-content:center; gap:10px; margin-bottom:120px; margin-top:56px; }
.pg-press .quote-dots button{ width:24px; height:1.5px; background:var(--pg-ink-hair); border:none; cursor:pointer; padding:0; transition:background 600ms var(--pg-ease), width 600ms var(--pg-ease); }
.pg-press .quote-dots button.active{ background:var(--pg-terracotta); width:48px; }
.pg-press .quote-dots button:hover{ background:var(--pg-ink-soft); }
.pg-press .quote-dots button.active:hover{ background:var(--pg-terracotta); }

.pg-press .pub-marquee{ border-top:1px solid var(--pg-ink-hair); border-bottom:1px solid var(--pg-ink-hair); padding:48px 0; overflow:hidden; position:relative; margin:0 -80px; }
.pg-press .pub-marquee::before, .pg-press .pub-marquee::after{ content:""; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none; }
.pg-press .pub-marquee::before{ left:0; background:linear-gradient(to right, var(--pg-bone), transparent); }
.pg-press .pub-marquee::after{ right:0; background:linear-gradient(to left, var(--pg-bone), transparent); }
@keyframes pg-marquee{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }
.pg-press .marquee-track{ display:flex; gap:80px; width:max-content; animation:pg-marquee 60s linear infinite; will-change:transform; }
.pg-press .pub-marquee:hover .marquee-track{ animation-play-state:paused; }
.pg-press .pub{ font-size:17px; color:var(--pg-ink-soft); transition:color 600ms var(--pg-ease); cursor:default; white-space:nowrap; }
.pg-press .pub:hover{ color:var(--pg-terracotta); }
.pg-press .pub.serif{ font-family:var(--pg-font-display); font-weight:400; letter-spacing:.02em; font-size:22px; }
.pg-press .pub.serif-italic{ font-family:var(--pg-font-italic); font-style:italic; font-size:24px; }
.pg-press .pub.sans{ font-family:var(--pg-font-sans); font-weight:400; text-transform:uppercase; letter-spacing:.22em; font-size:13px; }
.pg-press .pub.sans-bold{ font-family:var(--pg-font-sans); font-weight:500; text-transform:uppercase; letter-spacing:.18em; font-size:14px; }
.pg-press .pub-divider{ width:4px; height:4px; background:var(--pg-terracotta); transform:rotate(45deg); flex-shrink:0; align-self:center; opacity:.55; }

@media (prefers-reduced-motion: reduce){ .pg-press .marquee-track{ animation:none; } }
@media (max-width:880px){
  .pg-press{ padding:100px 24px 0; }
  .pg-press .press-heading{ margin-bottom:24px; }
  .pg-press .press-divider{ margin-bottom:56px; }
  .pg-press .press-divider .rule{ width:48px; }
  .pg-press .quote-stage{ padding:0 24px; min-height:360px; margin-bottom:24px; }
  .pg-press .quote-slide{ padding:0 24px; }
  .pg-press .quote-slide .quote-mark.open{ top:-8px; }
  .pg-press .quote-slide .quote-mark.close{ bottom:-28px; }
  .pg-press .quote-dots{ margin-bottom:64px; }
  .pg-press .pub-marquee{ padding:28px 0; margin:0 -24px; }
  .pg-press .marquee-track{ gap:48px; }
}
