/* DKNY Publishing live catalogue: real approved covers and continuous motion */
.legacy-collection { display: none; }
html, body { overflow-x: clip; }
#top .nav-brand > img { display: none; }
#top .nav-brand::before { content: ''; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 50%; background: #050505 url('ASSETS/BRAND/APPROVED/dkny-publishing-roundel-client-supplied.jpg') center / cover no-repeat; box-shadow: 0 0 0 1px rgba(232,208,128,0.5), 0 0 18px rgba(201,168,76,0.25); }
footer .footer-brand > img { display: none; }
footer .footer-brand::before { content: ''; display: block; width: 80px; height: 80px; margin-bottom: 1rem; border-radius: 50%; background: #050505 url('ASSETS/BRAND/APPROVED/dkny-publishing-roundel-client-supplied.jpg') center / cover no-repeat; box-shadow: 0 0 0 1px rgba(232,208,128,0.45), 0 0 22px rgba(201,168,76,0.2); }
#chatbot .chat-av { background: #050505 url('ASSETS/CHATBOT/APPROVED/theo-book-guide-client-supplied.png') center 22% / cover no-repeat; }
#chatbot .chat-av img { display: none; }
.hero > .hero-ghost {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.18em;
  color: rgba(201,168,76,0.014);
  -webkit-text-stroke: 1px rgba(232,208,128,0.19);
  text-shadow: 0 0 38px rgba(201,168,76,0.055);
  line-height: 0.74;
  width: 100%;
  text-align: center;
  top: 25%;
  pointer-events: none;
  z-index: 2;
}
.hero-ghost > span:first-child {
  display: block;
  text-indent: 0.3em;
  opacity: 0;
  transform: translate3d(62vw, 0, 0);
  animation: dkny-brand-arrive-right 1.35s cubic-bezier(0.16, 1, 0.3, 1) 0.18s forwards;
}
.hero-ghost-sub {
  position: relative;
  font-size: 0.2em;
  font-weight: 600;
  letter-spacing: 0.62em;
  text-indent: 0.62em;
  color: rgba(201,168,76,0.012);
  -webkit-text-stroke: 0.8px rgba(232,208,128,0.17);
  opacity: 0;
  transform: translate3d(-62vw, 0, 0);
  animation: dkny-brand-arrive-left 1.35s cubic-bezier(0.16, 1, 0.3, 1) 0.24s forwards;
}
.hero-ghost-tm {
  position: absolute;
  top: -0.28em;
  right: -0.34em;
  font-size: 0.32em;
  line-height: 1;
  letter-spacing: 0;
  text-indent: 0;
  -webkit-text-stroke: 0.45px rgba(232,208,128,0.19);
}
.hero > .hero-inner { z-index: 3; }
.hero .hero-eyebrow,
.hero .hero-title,
.hero .hero-desc,
.hero .hero-platforms,
.hero .hero-ctas,
.hero .hero-stats,
.hero .hero-right {
  opacity: 0;
  will-change: transform, opacity;
  animation: dkny-hero-content-settle 0.72s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.hero .hero-eyebrow { animation-delay: 1.42s; }
.hero .hero-title {
  transform: translate3d(0, -84px, 0);
  clip-path: inset(0 0 100% 0);
  animation-name: dkny-hero-title-drop;
  animation-duration: 0.92s;
  animation-delay: 1.5s;
}
.hero .hero-desc { animation-delay: 1.72s; }
.hero .hero-platforms { animation-delay: 1.86s; }
.hero .hero-ctas { animation-delay: 2s; }
.hero .hero-stats { animation-delay: 2.14s; }
.hero .hero-right { animation-delay: 1.88s; }
footer .footer-top { grid-template-columns: minmax(180px, 1.45fr) repeat(4, minmax(120px, 1fr)); gap: clamp(1.5rem, 3vw, 3.5rem); }
.footer-trust { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); gap: clamp(2rem, 7vw, 6rem); padding: clamp(2rem, 5vw, 3.5rem) 0; border-bottom: 1px solid var(--border); }
.footer-kicker { margin: 0; color: var(--gold-light); font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.footer-trust h3 { max-width: 17ch; margin: .55rem 0 .85rem; color: var(--cream); font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(1.45rem, 2.8vw, 2.2rem); font-weight: 600; line-height: 1.04; }
.footer-trust-copy > p:not(.footer-kicker) { max-width: 65ch; margin: .65rem 0 0; color: var(--text-muted); font-size: .78rem; line-height: 1.75; }
.footer-trust-links { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.25rem; }
.footer-trust-links a { padding: .55rem .7rem; border: 1px solid rgba(232,208,128,.26); border-radius: 999px; color: var(--gold-light); font-size: .64rem; font-weight: 800; letter-spacing: .055em; text-decoration: none; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.footer-trust-links a:hover, .footer-trust-links a:focus-visible { transform: translateY(-2px); background: rgba(201,168,76,.14); color: var(--cream); }
.footer-proof-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; align-content: center; }
.footer-proof-grid > div { min-height: 112px; display: flex; flex-direction: column; justify-content: end; padding: 1rem; border: 1px solid rgba(232,208,128,.14); border-radius: .35rem; background: linear-gradient(145deg, rgba(201,168,76,.11), rgba(10,9,7,.35)); }
.footer-proof-grid strong { color: var(--gold-light); font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 600; line-height: 1; }
.footer-proof-grid span { margin-top: .45rem; color: var(--text-muted); font-size: .61rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.nav-retailer-menu, .nav-media-menu { position: relative; }
.nav-retailer-menu summary, .nav-media-menu summary { list-style: none; color: var(--text-muted); cursor: pointer; font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; }
.nav-retailer-menu summary::-webkit-details-marker, .nav-media-menu summary::-webkit-details-marker { display: none; }
.nav-retailer-menu summary::after, .nav-media-menu summary::after { content: '⌄'; display: inline-block; margin-left: 0.35rem; color: var(--gold); transition: transform 160ms ease; }
.nav-retailer-menu[open] summary, .nav-media-menu[open] summary { color: var(--gold-light); }
.nav-retailer-menu[open] summary::after, .nav-media-menu[open] summary::after { transform: rotate(180deg); }
.nav-retailer-dropdown, .nav-media-dropdown { position: absolute; z-index: 70; top: calc(100% + 1.1rem); right: -1rem; width: 210px; padding: 0.5rem; border: 1px solid rgba(232,208,128,0.25); border-radius: 0.5rem; background: rgba(10, 9, 7, 0.96); box-shadow: 0 22px 48px rgba(0,0,0,0.48); backdrop-filter: blur(18px); }
.nav-retailer-dropdown a, .nav-media-dropdown a { display: block; padding: 0.65rem 0.7rem; border-radius: 0.25rem; color: var(--cream); font-size: 0.68rem; letter-spacing: 0.06em; text-transform: none; }
.nav-retailer-dropdown a:hover, .nav-retailer-dropdown a:focus-visible, .nav-media-dropdown a:hover, .nav-media-dropdown a:focus-visible { background: rgba(201,168,76,0.16); color: var(--gold-light); }

section.hero > .hero-inner {
  grid-template-columns: minmax(0, 1fr);
  max-width: 920px;
  text-align: center;
}
.hero .hero-left { align-items: center; width: 100%; }
.hero .hero-eyebrow { justify-content: center; }
.hero .hero-desc { max-width: 720px; margin-inline: auto; }
.hero .hero-platforms, .hero .hero-ctas, .hero .hero-stats { justify-content: center; }
.hero .hero-stats { width: min(100%, 760px); }
.hero .hero-right { display: none !important; }

#books.catalogue-section {
  --catalogue-panel: rgba(18, 16, 12, 0.68);
  --catalogue-border: rgba(232, 208, 128, 0.2);
  padding: clamp(4rem, 8vw, 7rem) 0;
  background:
    radial-gradient(circle at 50% 0%, rgba(201, 168, 76, 0.11), transparent 38%),
    linear-gradient(180deg, var(--black), #0b0906 65%, var(--black));
}
.catalogue-section .section-header { padding: 0 clamp(1.5rem, 8vw, 6rem); }
.catalogue-shell { margin-top: clamp(2rem, 5vw, 4rem); }
.catalogue-toolbar {
  max-width: 1440px;
  margin: 0 auto 0.85rem;
  padding: 0 clamp(1.5rem, 8vw, 6rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  color: var(--text-muted);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.catalogue-toolbar p { margin: 0; }
.catalogue-live-dot { display: inline-block; width: 0.5rem; height: 0.5rem; margin-right: 0.5rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0.75rem rgba(232, 208, 128, 0.9); }
.catalogue-motion-toggle {
  appearance: none;
  border: 1px solid var(--catalogue-border);
  border-radius: 999px;
  background: rgba(5, 5, 5, 0.75);
  color: var(--cream);
  padding: 0.48rem 0.8rem;
  font: inherit;
  cursor: pointer;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.catalogue-motion-toggle:hover, .catalogue-motion-toggle:focus-visible { background: var(--gold); border-color: var(--gold); color: var(--black); }
.catalogue-viewport { overflow: hidden; width: 100%; padding: 0.75rem 0 2rem; mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.catalogue-track {
  display: flex;
  align-items: flex-start;
  width: max-content;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding: 0 clamp(1.5rem, 8vw, 6rem);
  animation: dkny-catalogue-scroll var(--catalogue-duration, 115s) linear infinite;
  will-change: transform;
}
.catalogue-track.is-paused { animation-play-state: paused; }
.catalogue-book { flex: 0 0 clamp(148px, 15vw, 206px); }
.catalogue-cover {
  display: block;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  position: relative;
  isolation: isolate;
  border: 1px solid rgba(232, 208, 128, 0.16);
  border-radius: 0.45rem;
  background: #0b0b0b;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.6), inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}
.catalogue-cover::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(120deg, rgba(255,255,255,0.16), transparent 28%, transparent 68%, rgba(201,168,76,0.12)); opacity: 0.35; }
.catalogue-cover img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: var(--dark2);
}
.catalogue-book--latest .catalogue-cover { border-color: rgba(232, 208, 128, 0.58); box-shadow: 0 16px 44px rgba(0, 0, 0, 0.65), 0 0 28px rgba(201, 168, 76, 0.14); }
.catalogue-cover:hover, .catalogue-cover:focus-visible { transform: translateY(-6px) scale(1.012); border-color: var(--gold-light); box-shadow: 0 23px 52px rgba(0, 0, 0, 0.72), 0 0 28px rgba(201,168,76,0.24); }
.catalogue-book-meta { padding-top: 0.8rem; display: grid; gap: 0.25rem; }
.catalogue-book-meta a { color: var(--cream); font-family: 'Cormorant Garant', Georgia, serif; font-size: 1rem; font-weight: 700; line-height: 1.1; text-decoration: none; }
.catalogue-book-meta a:hover, .catalogue-book-meta a:focus-visible { color: var(--gold-light); }
.catalogue-book-meta > span:last-child { color: var(--text-muted); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }
.catalogue-release { color: var(--gold-light); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.retailer-directory { max-width: 1200px; margin: clamp(2rem, 5vw, 4rem) auto 0; padding: 0 clamp(1.5rem, 8vw, 6rem); display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 2rem; align-items: start; }
.retailer-directory-heading .eyebrow { text-align: left; }
.retailer-directory-heading p { margin: 0.6rem 0 0; color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }
.retailer-links { display: flex; flex-wrap: wrap; gap: 0.7rem; }
.retailer-link { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.7rem 0.85rem; border: 1px solid var(--catalogue-border); border-radius: 999px; background: var(--catalogue-panel); color: var(--cream); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.07em; text-decoration: none; transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, color 180ms ease; }
.retailer-link:hover, .retailer-link:focus-visible { transform: translateY(-2px); background: rgba(201,168,76,0.16); border-color: var(--gold); color: var(--gold-light); }
.retailer-link--primary { background: linear-gradient(120deg, rgba(201,168,76,0.34), rgba(18,16,12,0.76)); border-color: rgba(232,208,128,0.52); color: var(--gold-light); }
.business-network { max-width: 1200px; margin: clamp(3.5rem, 7vw, 6rem) auto 0; padding: clamp(1.5rem, 4vw, 2.5rem) clamp(1.5rem, 5vw, 3rem); display: grid; grid-template-columns: minmax(0, 0.6fr) minmax(0, 1.4fr); gap: 2rem; border: 1px solid var(--catalogue-border); border-radius: 0.75rem; background: linear-gradient(135deg, rgba(201,168,76,0.1), rgba(18,16,12,0.78) 44%, rgba(18,16,12,0.5)); box-shadow: inset 0 1px rgba(255,255,255,0.05), 0 18px 50px rgba(0,0,0,0.25); }
.business-network-copy .eyebrow { text-align: left; }
.business-network-copy h3 { margin: 0.55rem 0 0; color: var(--cream); font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 600; line-height: 1.08; }
.business-network-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem; }
.business-network-links a { display: grid; gap: 0.3rem; padding: 0.9rem 1rem; border: 1px solid rgba(232,208,128,0.14); border-radius: 0.35rem; background: rgba(4,4,4,0.38); color: var(--cream); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.04em; text-decoration: none; transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease; }
.business-network-links a:hover, .business-network-links a:focus-visible { transform: translateY(-2px); border-color: var(--gold); background: rgba(201,168,76,0.12); color: var(--gold-light); }
.business-network-links small { color: var(--text-muted); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.02em; }
.catalogue-faq { max-width: 1200px; margin: clamp(3.5rem, 7vw, 6rem) auto 0; padding: 0 clamp(1.5rem, 8vw, 6rem); display: grid; grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.catalogue-faq-intro .eyebrow { text-align: left; }
.catalogue-faq-intro h3 { margin: 0.55rem 0 0; color: var(--cream); font-family: 'Cormorant Garant', Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.35rem); font-weight: 600; line-height: 1.08; }
.catalogue-faq-intro p { color: var(--text-muted); font-size: 0.9rem; line-height: 1.65; }
.catalogue-faq-list { display: grid; gap: 0.65rem; }
.catalogue-faq-list details { border: 1px solid rgba(232,208,128,0.16); border-radius: 0.4rem; background: rgba(18,16,12,0.54); overflow: hidden; }
.catalogue-faq-list summary { position: relative; padding: 1rem 3rem 1rem 1rem; color: var(--cream); cursor: pointer; font-size: 0.84rem; font-weight: 700; line-height: 1.4; }
.catalogue-faq-list summary::after { content: '+'; position: absolute; right: 1rem; color: var(--gold); font-size: 1.15rem; }
.catalogue-faq-list details[open] summary::after { content: '−'; }
.catalogue-faq-list p { margin: 0; padding: 0 1rem 1rem; color: var(--text-muted); font-size: 0.82rem; line-height: 1.7; }
.publisher-media { padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 8vw, 6rem); border-top: 1px solid var(--border); background: radial-gradient(circle at 50% 0%, rgba(201,168,76,0.1), transparent 32%), var(--dark); }
.publisher-media .section-header { max-width: 860px; margin-inline: auto; }
.publisher-media-grid { max-width: 1200px; margin: clamp(2rem, 5vw, 3.5rem) auto 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 1.5rem); }
.publisher-film { margin: 0; overflow: hidden; border: 1px solid rgba(232,208,128,0.18); border-radius: 0.6rem; background: rgba(5,5,5,0.66); box-shadow: 0 18px 44px rgba(0,0,0,0.3); }
.publisher-film video { display: block; width: 100%; aspect-ratio: 9 / 16; object-fit: contain; object-position: center; background: #060606; }
.publisher-film figcaption { display: grid; gap: 0.32rem; padding: 1rem; }
.publisher-film figcaption strong,
.publisher-film figcaption strong a { color: var(--cream); font-family: 'Cormorant Garant', Georgia, serif; font-size: 1.1rem; text-decoration: none; }
.publisher-film figcaption strong a:hover,
.publisher-film figcaption strong a:focus-visible { color: var(--gold-light); }
.publisher-film figcaption span { color: var(--text-muted); font-size: 0.75rem; line-height: 1.55; }
.publisher-film-open { width: fit-content; margin-top: 0.35rem; color: var(--gold-light); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.1em; text-decoration: none; text-transform: uppercase; }
.publisher-film-open:hover,
.publisher-film-open:focus-visible { text-decoration: underline; text-underline-offset: 0.25em; }
.about-image-frame { aspect-ratio: 4 / 5; }
.about-image-frame .about-author-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
  filter: none;
}
@keyframes dkny-catalogue-scroll { to { transform: translateX(var(--catalogue-shift, -50%)); } }
@keyframes dkny-brand-arrive-right {
  0% { opacity: 0; transform: translate3d(62vw, 0, 0); color: rgba(232,208,128,0); -webkit-text-stroke-color: rgba(232,208,128,0); }
  68% { opacity: 1; transform: translate3d(-0.035em, 0, 0); color: rgba(201,168,76,0.18); -webkit-text-stroke-color: rgba(255,231,149,0.72); text-shadow: 0 0 42px rgba(201,168,76,0.28); }
  82% { transform: translate3d(0.018em, 0, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); color: rgba(201,168,76,0.014); -webkit-text-stroke-color: rgba(232,208,128,0.19); text-shadow: 0 0 38px rgba(201,168,76,0.055); }
}
@keyframes dkny-brand-arrive-left {
  0% { opacity: 0; transform: translate3d(-62vw, 0, 0); color: rgba(232,208,128,0); -webkit-text-stroke-color: rgba(232,208,128,0); }
  68% { opacity: 1; transform: translate3d(0.035em, 0, 0); color: rgba(201,168,76,0.2); -webkit-text-stroke-color: rgba(255,231,149,0.76); text-shadow: 0 0 34px rgba(201,168,76,0.3); }
  82% { transform: translate3d(-0.018em, 0, 0); }
  100% { opacity: 1; transform: translate3d(0, 0, 0); color: rgba(201,168,76,0.012); -webkit-text-stroke-color: rgba(232,208,128,0.17); text-shadow: 0 0 24px rgba(201,168,76,0.05); }
}
@keyframes dkny-hero-content-settle {
  from { opacity: 0; transform: translate3d(0, -36px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes dkny-hero-title-drop {
  from { opacity: 0; transform: translate3d(0, -84px, 0); clip-path: inset(0 0 100% 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); clip-path: inset(0 0 0 0); }
}
@media (prefers-reduced-motion: reduce) {
  .catalogue-track { animation: none; transform: none; }
  .catalogue-live-dot { box-shadow: none; }
  .hero-ghost > span:first-child,
  .hero-ghost-sub,
  .hero .hero-eyebrow,
  .hero .hero-title,
  .hero .hero-desc,
  .hero .hero-platforms,
  .hero .hero-ctas,
  .hero .hero-stats,
  .hero .hero-right { animation: none; opacity: 1; transform: none; clip-path: none; will-change: auto; }
}
@media (max-width: 700px) { .catalogue-toolbar { align-items: flex-start; } .catalogue-viewport { mask-image: none; } .catalogue-track { padding: 0 1.25rem; } .catalogue-book { flex-basis: 150px; } .retailer-directory, .business-network, .catalogue-faq { grid-template-columns: 1fr; gap: 1.25rem; } }
@media (max-width: 980px) { #top .nav-links, #top .nav-cta { display: none; } #top .hamburger { display: flex; } }
@media (max-width: 1100px) { footer .footer-top { grid-template-columns: 1.35fr repeat(2, minmax(145px, 1fr)); } }
@media (max-width: 900px) { footer .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .publisher-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; } }
@media (max-width: 700px) {
  .hero > .hero-ghost { top: 22%; font-size: clamp(64px, 20vw, 88px); }
  .publisher-media-grid { grid-template-columns: 1fr; max-width: 420px; }
}
@media (max-width: 700px) { .footer-trust { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .nav-retailer-menu, .nav-media-menu { display: none; } }
@media (max-width: 480px) { .business-network-links { grid-template-columns: 1fr; } }
@media (max-width: 650px) { footer .footer-top { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
  #top { height: 64px; gap: 0.5rem; padding-inline: 0.75rem; }
  #top .nav-brand { min-width: 0; gap: 0.55rem; }
  #top .nav-brand::before { flex-basis: 34px; width: 34px; height: 34px; }
  #top .nav-brand-title { font-size: 14px; letter-spacing: 2px; }
  #top .nav-brand-sub { font-size: 6px; letter-spacing: 1.6px; }
}
@media (max-width: 430px) { .catalogue-toolbar { font-size: 0.56rem; letter-spacing: 0.08em; } .catalogue-motion-toggle { padding: 0.45rem 0.6rem; } }
