/* Premium finish and motion choreography; all decoration remains optional. */
.home-page .hero-header { transition: box-shadow .25s ease, background .25s ease; }
.home-page.page-scrolled .hero-header { box-shadow: 0 5px 24px rgba(37,39,43,.07) !important; }
.reading-progress { position: fixed; top: 0; left: 0; right: 0; height: 2px; pointer-events: none; z-index: 1100; }
.reading-progress span { display: block; height: 100%; background: #95713f; transform: scaleX(0); transform-origin: left; }
.home-page .home-intro { position: relative; background: radial-gradient(ellipse at 5% 15%, rgba(218,196,155,.17), transparent 50%); }
.home-page .editorial-copy h1 { letter-spacing: -.055em; }
.home-page .editorial-visual { border-radius: 5px; box-shadow: 0 20px 45px -30px rgba(36,32,25,.45); }
.home-page .spotlight-frame { position: relative; }
.home-page .spotlight-topline { padding-bottom: 14px; }
.home-page .spotlight-controls button { border-color: #c9bda8; }
.home-page .btn-primary { background: linear-gradient(120deg, #25272b, #383a3f); box-shadow: 0 6px 16px rgba(37,39,43,.1); }
.home-page .btn { position: relative; overflow: hidden; }
.home-page .btn-primary::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.16) 50%, transparent 70%); transform: translateX(-120%); pointer-events: none; }
.home-page .nav-links a::after { content: ''; position: absolute; height: 1px; left: 14px; right: 14px; bottom: 5px; background: #95713f; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.home-page .nav-links a:hover::after, .home-page .nav-links a[aria-current]::after { transform: scaleX(1); }
.home-page .artist-media { overflow: hidden; }
.home-page .artist-media > div { transition: transform .65s cubic-bezier(.22,1,.36,1); }
.home-page .artist-card:hover .artist-media > div { transform: scale(1.035); }
.home-page .membership-story { position: relative; background: radial-gradient(ellipse at 20% 50%, #39362f, transparent 55%), #25282c; }
.membership-watermark { position: absolute; font: italic 20rem/.8 'Playfair Display',serif; color: rgba(220,196,154,.055); top: -50px; left: 0; z-index: -1; pointer-events: none; }
.membership-orbit { border-style: dashed; border-color: rgba(220,196,154,.35); }
.membership-orbit::after { border-color: rgba(220,196,154,.12); }
.membership-preview { position: relative; overflow: hidden; border: 1px solid #efdeb9; background: linear-gradient(115deg, #f0dfba, #cbaa6b 65%, #e4cc9a); }
.membership-preview::after { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.38) 48%, transparent 70%); transform: translateX(-130%); pointer-events: none; }
.membership-preview::before { content: ''; position: absolute; width: 180px; height: 180px; border-radius: 50%; border: 1px solid rgba(99,75,40,.15); right: -65px; top: -70px; pointer-events: none; }
.motion-toggle { display: inline-flex; align-items: center; gap: 7px; border: none; background: transparent; color: #66645c; font: inherit; font-size: .63rem; padding: 10px 0; margin-top: 8px; cursor: pointer; }
.motion-toggle[hidden] { display: none; }
.motion-toggle > span:first-child { color: #95713f; }
.motion-toggle:disabled { cursor: default; }
@media (prefers-reduced-motion: no-preference) {
    .motion-ready [data-reveal].is-visible { animation: none; }
    .motion-ready .motion-entered .editorial-copy > :not(.motion-toggle) { animation: premium-rise .65s cubic-bezier(.22,1,.36,1) both; }
    .motion-ready .motion-entered .editorial-copy h1 { animation-delay: .07s; }
    .motion-ready .motion-entered .editorial-copy > p { animation-delay: .14s; }
    .motion-ready .motion-entered .editorial-copy .btn-group { animation-delay: .21s; }
    .motion-ready .motion-entered .spotlight-frame { animation: premium-rise .85s .12s cubic-bezier(.22,1,.36,1) both; }
    .motion-ready .motion-entered.editorial-roster > *, .motion-ready .motion-entered.grid-3 > *, .motion-ready .motion-entered.grid-4 > *, .motion-ready .motion-entered .discovery-strip > * { animation: premium-rise .6s var(--entrance-delay,0ms) cubic-bezier(.22,1,.36,1) both; }
    .motion-ready .spotlight-panel:not([hidden]) { animation: portrait-enter .65s cubic-bezier(.22,1,.36,1) both; }
    .motion-ready .spotlight-panel:not([hidden]) .portrait-caption { animation: premium-rise .5s .14s ease both; }
    .motion-ready .btn-primary:hover::after, .motion-ready .btn-primary:focus-visible::after { animation: metallic-pass .7s ease both; }
    .motion-ready .membership-art.motion-entered .membership-orbit { animation: orbit-arrive 1.8s ease-out both; }
    .motion-ready .membership-art.motion-entered .membership-preview::after { animation: metallic-pass 1.8s .3s ease both; }
    .motion-ready .membership-preview, .motion-ready .membership-art:hover .membership-preview { transform: perspective(900px) rotate(-7deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition: transform .25s ease-out; }
}
@keyframes premium-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes portrait-enter { from { opacity: .25; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }
@keyframes metallic-pass { from { transform: translateX(-130%); } to { transform: translateX(130%); } }
@keyframes orbit-arrive { from { opacity: 0; transform: translate(-50%,-50%) rotate(-35deg) scale(.9); } to { opacity: 1; transform: translate(-50%,-50%) rotate(0) scale(1); } }
.home-page.motion-off *, .home-page.motion-off *::before, .home-page.motion-off *::after { animation: none !important; transition: none !important; }
.home-page.motion-off .membership-preview { transform: rotate(-7deg) !important; }
@media (prefers-reduced-motion: reduce) {
    .home-page *, .home-page *::before, .home-page *::after { animation: none !important; transition: none !important; }
    .membership-preview { transform: rotate(-7deg) !important; }
}
@media (max-width: 760px) {
    .membership-watermark { font-size: 15rem; }
    .home-page .editorial-hero { grid-template-columns: minmax(0,1fr); }
    .motion-toggle { min-height: 44px; font-size: .7rem; }
}
