*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --black:  #0a0608;
  --deep:   #130910;
  --rose:   #C61A59;
  --rose-l: #e8799f;
  --gold:   #b89360;
  --gold-l: #d4ad7a;
  --ink:    #f0e6dc;
  --dim:    rgba(246,238,231,0.90);
  --muted:  rgba(246,238,231,0.70);
  --ghost:  rgba(246,238,231,0.28);
  --fd: 'Cormorant Garamond', serif;
  --fc: 'Cormorant', serif;
  --fu: 'Jost', sans-serif;
}

html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--ink);
  font-family: var(--fc);
  overflow-x: hidden;
}


/* WORDPRESS / KADENCE WRAPPER OVERRIDES */
html,
body,
body.custom-background,
#page,
#wrapper,
.site,
.site-content,
.site-main,
.content-area,
.content-wrap,
.entry,
.entry-content,
article,
main {
  background: var(--black) !important;
  color: var(--ink);
}

body .site,
body .site-content,
body .site-main,
body .content-area,
body .content-wrap,
body .entry,
body .entry-content,
body article,
body main {
  background-color: transparent !important;
  background-image: none !important;
}


/* NOISE */
body::before {
  content: '';
  position: fixed; inset: 0; z-index: 1000;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='f'%3E%3CfeTurbulence baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E");
  opacity: 0.03;
  pointer-events: none;
}

/* ANNOUNCE */
.ann {
  background: var(--rose);
  color: var(--ink);
  text-align: center;
  padding: 11px 24px;
  font-family: var(--fu);
  font-size: 9px;
  font-weight: 200;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-decoration: none;
}
a.meta-chip:hover { border-color: rgba(240,230,220,0.24); color: var(--ink); }

/* NAV */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  padding: 26px 60px;
  display: flex; justify-content: space-between; align-items: center;
  transition: background 0.5s, padding 0.4s;
}
nav.solid {
  background: rgba(10,6,8,0.96);
  backdrop-filter: blur(16px);
  padding: 18px 60px;
}

.logo {
  font-family: var(--fd);
  font-size: 15px; font-weight: 300;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink); text-decoration: none;
}
.logo em { font-style: italic; color: var(--rose); }

.nav-links {
  display: flex; gap: 28px; align-items: center; list-style: none;
}
.nav-links a {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--muted); text-decoration: none;
  transition: color 0.2s;
}
.nav-links a:hover { color: var(--ink); }
.nav-links a.active { color: var(--rose); }

.nav-contact {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rose); text-decoration: none;
  border-bottom: 1px solid rgba(198,26,89,0.4);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.nav-contact:hover { color: var(--rose-l); border-color: var(--rose-l); }

/* HERO */
.hero {
  position: relative;
  height: 100vh; min-height: 680px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
}

.hero-l {
  position: relative; z-index: 2;
  display: flex; flex-direction: column;
  justify-content: flex-end;
  padding: 0 72px 88px 60px;
  background: linear-gradient(to right, var(--black) 55%, transparent);
}

.hero-loc {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 28px;
  opacity: 0; animation: up 1s 0.4s forwards;
}

.hero-title {
  font-family: var(--fd);
  font-size: clamp(68px, 9.5vw, 128px);
  font-weight: 300; line-height: 0.88;
  letter-spacing: -0.02em; color: var(--ink);
  opacity: 0; animation: up 1.2s 0.55s forwards;
}
.hero-title em {
  display: block; font-style: italic;
  color: var(--rose-l); font-size: 0.62em;
  line-height: 1.15; letter-spacing: 0.01em;
}

.hero-rule {
  width: 36px; height: 1px;
  background: var(--rose); opacity: 0.6;
  margin: 32px 0;
  opacity: 0; animation: fi 1s 1.1s forwards;
}

.hero-sub {
  font-family: var(--fc);
  font-size: 17px; font-weight: 300; font-style: italic;
  color: var(--dim); line-height: 1.65; max-width: 360px;
  opacity: 0; animation: up 1s 1.2s forwards;
}

.hero-r {
  position: relative; background: var(--deep);
  overflow: hidden;
}

.hero-img {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, #1e0d18 0%, #0f0810 100%);
}

.hero-img-ph {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 14px;
  color: rgba(198,26,89,0.2);
  font-family: var(--fu); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
}

/* Rose glow bleeding left */
.hero-glow {
  position: absolute; right: 50%; top: 10%; bottom: 10%;
  width: 240px; z-index: 1; pointer-events: none;
  background: radial-gradient(ellipse at right, rgba(198,26,89,0.1), transparent 70%);
}

/* Large ghost name inside image */
.hero-ghost {
  position: absolute; bottom: 32px; right: 28px; z-index: 2;
  font-family: var(--fd);
  font-size: clamp(72px, 12vw, 160px);
  font-weight: 300; font-style: italic;
  color: rgba(240,230,220,0.06);
  line-height: 1; letter-spacing: -0.02em;
  user-select: none; pointer-events: none;
}

.hero-scroll {
  position: absolute; bottom: 44px; left: 60px; z-index: 3;
  display: flex; align-items: center; gap: 14px;
  opacity: 0; animation: fi 1s 1.9s forwards;
}
.hero-scroll-line {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.hero-scroll-label {
  font-family: var(--fu); font-size: 8px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase; color: var(--gold);
}

@keyframes up { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }
@keyframes fi  { from { opacity:0; } to { opacity:1; } }

/* JESSY SECTION */
.jessy {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(198,26,89,0.12);
  min-height: 80vh;
}

.jessy-img {
  position: relative; background: var(--deep); overflow: hidden;
  background: linear-gradient(160deg, #1a0d16, #0e080d);
}

.jessy-img-ph {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  color: rgba(198,26,89,0.15);
  font-family: var(--fu); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
  flex-direction: column; gap: 12px;
}

/* Gold left edge */
.jessy-img::before {
  content: '';
  position: absolute; left: 0; top: 15%; bottom: 15%;
  width: 2px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
  z-index: 2; opacity: 0.5;
}

.jessy-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to right, transparent 60%, var(--black));
  z-index: 1;
}

.jessy-body {
  padding: 90px 80px 90px 64px;
  display: flex; flex-direction: column; justify-content: center;
}

.jessy-eyebrow {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--rose); display: block; margin-bottom: 28px;
}

.jessy-stmt {
  font-family: var(--fd);
  font-size: clamp(36px, 3.8vw, 52px);
  font-weight: 300; line-height: 1.08; color: var(--ink);
  margin-bottom: 36px;
}
.jessy-stmt em { font-style: italic; color: var(--rose-l); }

.jessy-text {
  font-size: 17px; font-weight: 300; font-style: italic;
  line-height: 1.75; color: var(--dim);
  max-width: 420px; margin-bottom: 40px;
}

/* MMX announcement */
.jessy-mmx {
  display: inline-flex; align-items: center; gap: 14px;
  border: 1px solid rgba(184,147,96,0.3);
  padding: 14px 22px; margin-bottom: 44px;
}
.jessy-mmx-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--rose);
  animation: pulse 2.4s infinite;
}
@keyframes pulse { 0%,100%{opacity:.4;transform:scale(1)} 50%{opacity:1;transform:scale(1.3)} }
.jessy-mmx-text {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-l);
}

.jessy-mary {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 36px;
}
.jessy-mary a {
  color: var(--gold); text-decoration: none;
  border-bottom: 1px solid rgba(184,147,96,0.3);
  padding-bottom: 1px; transition: color 0.2s, border-color 0.2s;
}
.jessy-mary a:hover { color: var(--gold-l); border-color: var(--gold-l); }

/* CTA link */
.lnk {
  display: inline-flex; align-items: center; gap: 14px;
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--ink); text-decoration: none;
  transition: color 0.2s;
}
.lnk:hover { color: var(--rose-l); }
.lnk-line {
  width: 28px; height: 1px; background: currentColor;
  transition: width 0.25s;
}
.lnk:hover .lnk-line { width: 44px; }

/* ORIGIN */
.origin {
  border-top: 1px solid rgba(198,26,89,0.12);
  border-bottom: 1px solid rgba(198,26,89,0.12);
}
.origin-inner {
  display: flex; align-items: stretch;
}
.origin-text {
  flex: 1; padding: 64px 60px;
  font-family: var(--fd);
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 300; font-style: italic;
  color: rgba(240,230,220,0.78); line-height: 1.5;
  border-right: 1px solid rgba(198,26,89,0.1);
}
.origin-text strong {
  font-weight: 300; font-style: normal; color: var(--ink);
}
.origin-aside {
  width: 260px; flex-shrink: 0;
  padding: 64px 48px;
  display: flex; flex-direction: column;
  justify-content: center; gap: 10px;
}
.origin-detail {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); line-height: 2.2;
}
.origin-detail.rose { color: rgba(198,26,89,0.55); margin-top: 12px; }

/* MUSES */
.muses { padding: 110px 60px 0; }

.muses-top {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 52px;
}
.muses-hl {
  font-family: var(--fd);
  font-size: clamp(40px, 5.5vw, 76px);
  font-weight: 300; line-height: 0.95;
}
.muses-hl em { font-style: italic; color: var(--rose-l); }
.muses-sub {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--muted); text-align: right; line-height: 2.2;
  padding-bottom: 6px;
}

.muses-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

.mt {
  position: relative; aspect-ratio: 3/5;
  background: var(--deep); overflow: hidden; cursor: pointer;
}

.mt::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,6,8,0.88) 0%, transparent 55%);
  z-index: 1; transition: opacity 0.3s;
}
.mt:hover::after { opacity: 0.65; }

.mt-ph { position: absolute; inset: 0; }
.mt:nth-child(1) .mt-ph { background: linear-gradient(160deg,#160a12,#1a0f16); }
.mt:nth-child(2) .mt-ph { background: linear-gradient(160deg,#0f0e16,#141220); }
.mt:nth-child(3) .mt-ph { background: linear-gradient(160deg,#160c0e,#1a1014); }
.mt:nth-child(4) .mt-ph { background: linear-gradient(160deg,#0e1016,#121520); }
.mt:nth-child(5) .mt-ph { background: linear-gradient(160deg,#150a0d,#190e12); }
.mt:nth-child(6) .mt-ph { background: linear-gradient(160deg,#0d1014,#101318); }
.mt:nth-child(7) .mt-ph { background: linear-gradient(160deg,#160e10,#1a1216); }

.mt-info {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 18px; z-index: 2;
  transform: translateY(3px); transition: transform 0.25s;
}
.mt:hover .mt-info { transform: translateY(0); }

.mt-name {
  font-family: var(--fd); font-size: 22px;
  font-weight: 300; font-style: italic;
  color: var(--ink); display: block; line-height: 1;
}
.mt-note {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); display: block; margin-top: 5px;
  opacity: 0; transform: translateY(4px);
  transition: opacity 0.2s, transform 0.2s;
}
.mt:hover .mt-note { opacity: 1; transform: translateY(0); }

/* INTERLUDE */
.interlude {
  margin-top: 110px; padding: 80px 60px;
  background: var(--deep);
  border-top: 1px solid rgba(198,26,89,0.1);
  border-bottom: 1px solid rgba(198,26,89,0.1);
  display: flex; align-items: center; gap: 56px;
}
.interlude-rule {
  width: 1px; height: 72px; flex-shrink: 0;
  background: linear-gradient(to bottom, transparent, var(--rose), transparent);
  opacity: 0.45;
}
.interlude-text {
  font-family: var(--fd);
  font-size: clamp(20px, 2.4vw, 32px);
  font-weight: 300; font-style: italic;
  color: rgba(240,230,220,0.75); line-height: 1.55;
}
.interlude-text span { color: var(--gold-l); font-style: normal; }

/* STORY */
.story {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 75vh;
  border-top: 1px solid rgba(198,26,89,0.1);
}
.story-img {
  position: relative; overflow: hidden;
  background: linear-gradient(160deg, #14091c, #0a0610);
}
.story-img-ph {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0.1;
}
.story-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to right, transparent 55%, var(--black));
}
.story-badge {
  position: absolute; top: 28px; left: 28px; z-index: 2;
  border: 1px solid rgba(184,147,96,0.35);
  padding: 7px 16px;
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold);
}
.story-body {
  padding: 100px 80px 100px 64px;
  display: flex; flex-direction: column; justify-content: center;
}
.story-ey {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--rose); display: block; margin-bottom: 24px;
}
.story-title {
  font-family: var(--fd);
  font-size: clamp(52px, 7vw, 96px);
  font-weight: 300; font-style: italic;
  line-height: 0.9; color: var(--ink); margin-bottom: 36px;
}
.story-desc {
  font-size: 17px; font-weight: 300; font-style: italic;
  line-height: 1.75; color: var(--dim);
  max-width: 380px; margin-bottom: 32px;
}
.story-cast {
  display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 48px;
}
.cast-tag {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); border: 1px solid rgba(184,147,96,0.25);
  padding: 7px 16px;
  transition: color 0.2s, border-color 0.2s;
}
.cast-tag:hover { color: var(--rose-l); border-color: rgba(198,26,89,0.3); }

/* TRUTHS */
.truths {
  padding: 130px 60px;
  max-width: 860px; margin: 0 auto;
}
.truth + .truth { margin-top: 76px; }
.truth-line {
  width: 20px; height: 1px;
  background: var(--rose); opacity: 0.5; margin-bottom: 26px;
}
.truth-body {
  font-size: clamp(21px, 2.5vw, 30px);
  font-weight: 300; font-style: italic;
  line-height: 1.52; color: rgba(240,230,220,0.8);
}
.truth-body strong {
  font-weight: 300; font-style: normal; color: var(--ink);
}

/* THE STUDIO — latest content */
.studio-latest {
  padding: 110px 60px;
  border-top: 1px solid rgba(198,26,89,0.1);
}
.studio-latest-hdr {
  display: flex; justify-content: space-between;
  align-items: flex-end; margin-bottom: 60px;
}
.studio-latest-hl {
  font-family: var(--fd);
  font-size: clamp(36px, 4.5vw, 60px);
  font-weight: 300; line-height: 1;
}
.studio-latest-hl em { font-style: italic; color: var(--rose-l); }

.studio-grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 1px;
  background: rgba(198,26,89,0.07);
}

.sc {
  background: var(--black); padding: 48px 44px 80px;
  position: relative; transition: background 0.3s;
}
.sc:hover { background: #110910; }
.sc::after {
  content: ''; position: absolute;
  bottom: 0; left: 0; right: 0; height: 1px;
  background: var(--rose); opacity: 0; transition: opacity 0.3s;
}
.sc:hover::after { opacity: 0.35; }
.sc.lead { background: var(--deep); border: 1px solid rgba(198,26,89,0.12); }

.sc-type {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rose); display: block; margin-bottom: 20px;
}
.sc-title {
  font-family: var(--fd); font-size: 26px; font-weight: 300;
  line-height: 1.2; color: var(--ink); margin-bottom: 16px;
}
.sc.lead .sc-title { font-size: 32px; font-style: italic; }
.sc-excerpt {
  font-size: 15px; font-weight: 300; font-style: italic;
  line-height: 1.75; color: var(--dim);
}
.sc-meta {
  position: absolute; bottom: 32px; right: 38px;
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted);
}

.sc-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.sc-link:hover .sc-title { color: var(--rose-l); }

/* PARTNERS */
.partners {
  padding: 90px 60px;
  border-top: 1px solid rgba(198,26,89,0.1);
}

.partners-ey {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--gold-l); display: block;
  text-align: center; margin-bottom: 16px;
}

.partners-intro {
  font-family: var(--fc); font-size: 17px; font-weight: 300; font-style: italic;
  color: var(--dim); text-align: center;
  margin-bottom: 52px; line-height: 1.6;
}

.partners-brands {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 18px; margin-bottom: 18px;
}

.p-brand,
.p-special,
.p-secondary {
  text-decoration: none;
  border: 1px solid rgba(240,230,220,0.16);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.p-brand:hover,
.p-special:hover,
.p-secondary:hover {
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.03));
  border-color: rgba(240,230,220,0.24);
  transform: translateY(-1px);
}

.p-brand {
  padding: 42px 34px;
  text-align: center;
}

.p-brand-name {
  display: block;
  margin-bottom: 14px;
}

.p-brand-desc,
.p-special-desc,
.p-secondary-headline,
.p-secondary-copy {
  display: block;
  font-family: var(--fu); font-size: 10px; font-weight: 300;
  letter-spacing: 0.18em; text-transform: uppercase;
  line-height: 1.85;
  color: rgba(246,238,231,0.74);
}
.p-brand-desc { max-width: 24ch; margin: 0 auto; }

.partners-special {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 18px; margin-bottom: 18px;
}

.p-special {
  padding: 44px 34px;
  text-align: center;
  background: linear-gradient(180deg, rgba(29,12,22,0.92), rgba(19,9,16,0.96));
}

.p-special-name {
  display: block; margin-bottom: 14px;
}
.p-special.hilo .p-special-name { color: rgba(232,121,159,0.92); }
.p-special.coeros .p-special-name { color: rgba(212,173,122,0.84); }

.partners-secondary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 18px;
}

.p-secondary {
  padding: 24px 20px;
  min-height: 188px;
}

.p-secondary-name {
  display: block;
  margin-bottom: 12px;
  color: rgba(246,238,231,0.9);
}

.p-secondary-headline {
  color: rgba(246,238,231,0.82);
  margin-bottom: 10px;
}

.p-secondary-copy {
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(246,238,231,0.74);
}

.p-brand-name.fanreal,
.partner-wordmark--fanreal,
.p-secondary--fanreal .p-secondary-name {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 200; letter-spacing: 0.28em;
  font-style: normal; text-transform: uppercase; font-size: 22px;
  color: #f4efe7;
}
.p-brand-name.sedoll,
.partner-wordmark--sedoll,
.p-secondary--sedoll .p-secondary-name {
  font-family: 'Bebas Neue', sans-serif;
  font-weight: 400; letter-spacing: 0.18em;
  font-style: normal; text-transform: uppercase; font-size: 38px;
  color: #cf4c78;
}
.p-brand-name.mmx,
.partner-wordmark--mmx,
.p-secondary--mmx .p-secondary-name {
  font-family: 'Raleway', sans-serif;
  font-weight: 200; letter-spacing: 0.42em;
  font-style: normal; text-transform: uppercase; font-size: 24px;
  color: #d8d6db;
}
.p-special-name.hilo-n,
.partner-wordmark--hilovedoll,
.p-secondary--hilovedoll .p-secondary-name {
  font-family: 'Playfair Display', serif;
  font-weight: 400; font-style: italic;
  letter-spacing: 0.03em; font-size: 32px;
  color: #e85b8c;
}
.p-special-name.coeros-n,
.partner-wordmark--coeros,
.p-secondary--coeros .p-secondary-name {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 300; letter-spacing: 0.32em;
  font-style: normal; text-transform: uppercase; font-size: 24px;
  color: #f5f2ef;
}
.partner-wordmark--ido-doll,
.p-secondary--ido-doll .p-secondary-name {
  font-family: 'Jost', sans-serif;
  font-weight: 300; letter-spacing: 0.28em; text-transform: uppercase; font-size: 21px;
  color: #ef4aa7;
}
.partner-wordmark--irontech,
.p-secondary--irontech .p-secondary-name {
  font-family: 'Jost', sans-serif;
  font-weight: 300; letter-spacing: 0.28em; text-transform: uppercase; font-size: 20px;
  color: #d8b32b;
}
.partner-wordmark--real-lady,
.p-secondary--real-lady .p-secondary-name {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 400; font-style: italic; letter-spacing: 0.08em; font-size: 30px;
  color: #f0dce9;
}
.partner-wordmark--doll-senior,
.p-secondary--doll-senior .p-secondary-name {
  font-family: 'Jost', sans-serif;
  font-weight: 300; letter-spacing: 0.26em; text-transform: uppercase; font-size: 20px;
  color: #d65056;
}

/* FOLLOW */
.follow {
  padding: 80px 60px;
  border-top: 1px solid rgba(198,26,89,0.1);
  display: flex; justify-content: space-between; align-items: center;
}
.follow-left {}
.follow-ey {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.26em; text-transform: uppercase;
  color: var(--rose); display: block; margin-bottom: 16px;
}
.follow-hl {
  font-family: var(--fd);
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 300; line-height: 1.1;
}
.follow-hl em { font-style: italic; color: var(--rose-l); }
.follow-soc {
  display: flex; gap: 12px; list-style: none;
}
.follow-soc a {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid rgba(184,147,96,0.2);
  color: var(--muted); text-decoration: none;
  transition: color 0.2s, border-color 0.2s;
}
.follow-soc a:hover { color: var(--rose); border-color: rgba(198,26,89,0.4); }
.follow-soc svg { width: 14px; height: 14px; fill: currentColor; }

/* FOOTER */
footer {
  padding: 64px 60px 48px;
  border-top: 1px solid rgba(198,26,89,0.1);
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 48px; align-items: start;
}
.f-logo {
  font-family: var(--fd); font-size: 20px; font-weight: 300;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--ink); margin-bottom: 12px;
}
.f-logo em { font-style: italic; color: var(--rose); }
.f-tagline {
  font-size: 14px; font-weight: 300; font-style: italic;
  color: rgba(184,147,96,0.85); line-height: 1.65;
}
.f-dual {
  font-family: var(--fu); font-size: 9px; font-weight: 300;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--rose); margin-top: 16px;
  line-height: 1.8;
}

.f-mid {
  display: flex; flex-direction: column;
  align-items: center; gap: 20px;
}
.f-email {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  transition: color 0.2s;
}
.f-email:hover { color: var(--gold-l); }

.f-nav { list-style: none; display: flex; flex-direction: column; gap: 13px; align-items: flex-end; }
.f-nav a {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(240,230,220,0.65); text-decoration: none;
  transition: color 0.2s;
}
.f-nav a:hover { color: var(--ink); }

.f-bottom {
  grid-column: 1/-1; padding-top: 28px;
  border-top: 1px solid rgba(198,26,89,0.07);
  display: flex; justify-content: space-between; align-items: center;
}
.f-copy {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(240,230,220,0.45);
}
.f-forums { display: flex; gap: 24px; }
.f-forums a {
  font-family: var(--fu); font-size: 9px; font-weight: 200;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold); text-decoration: none;
  transition: color 0.2s;
}
.f-forums a:hover { color: var(--gold-l); }

/* REVEAL */
.r  { opacity:0; transform:translateY(20px); transition: opacity 0.8s ease, transform 0.8s ease; }
.rl { opacity:0; transform:translateX(-20px); transition: opacity 0.9s ease, transform 0.9s ease; }
.rr { opacity:0; transform:translateX(20px); transition: opacity 0.9s ease, transform 0.9s ease; }
.in { opacity:1 !important; transform:translate(0) !important; }
.d1 { transition-delay:0.1s; } .d2 { transition-delay:0.22s; }
.d3 { transition-delay:0.34s; } .d4 { transition-delay:0.48s; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  nav { padding: 20px 32px; }
  nav.solid { padding: 16px 32px; }
  .nav-links li:not(:last-child) { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-r { display: none; }
  .hero-l { padding: 130px 32px 88px; }
  .hero-glow { display: none; }
  .jessy { grid-template-columns: 1fr; }
  .jessy-img { height: 60vw; }
  .jessy-img::after { background: linear-gradient(to top, var(--black) 20%, transparent); }
  .jessy-body { padding: 60px 32px; }
  .origin-inner { flex-direction: column; }
  .origin-aside { width: 100%; border-top: 1px solid rgba(198,26,89,0.1); }
  .muses { padding: 80px 32px 0; }
  .muses-grid { grid-template-columns: repeat(4, 1fr); }
  .muses-top { flex-direction: column; align-items: flex-start; gap: 14px; }
  .muses-sub { text-align: left; }
  .interlude { padding: 64px 32px; }
  .story { grid-template-columns: 1fr; }
  .story-img { height: 55vw; min-height: 300px; }
  .story-img::after { background: linear-gradient(to top, var(--black) 20%, transparent); }
  .story-body { padding: 60px 32px; }
  .truths { padding: 90px 32px; }
  .studio-latest { padding: 80px 32px; }
  .studio-grid { grid-template-columns: 1fr; }
  .partners { padding: 72px 32px; }
  .partners-brands { grid-template-columns: 1fr; }
  .partners-special { grid-template-columns: 1fr; }
  .partners-secondary-grid { grid-template-columns: 1fr; }
  .follow { padding: 60px 32px; flex-direction: column; align-items: flex-start; gap: 36px; }
  footer { grid-template-columns: 1fr; padding: 52px 32px 40px; }
  .f-nav { align-items: flex-start; }
  .f-bottom { flex-direction: column; gap: 14px; }
}

@media (max-width: 600px) {
  .muses-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-title { font-size: 58px; }
  .ann { font-size: 8px; }
}


/* WORDPRESS PAGE TEMPLATES */
.page-shell {
  padding: 180px 60px 80px;
  max-width: 1400px;
  margin: 0 auto;
}
.page-hero {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 56px;
}
.page-kicker {
  display: block;
  margin-bottom: 18px;
  font-family: var(--fu);
  font-size: 9px;
  font-weight: 200;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--rose);
}
.page-title {
  font-family: var(--fd);
  font-size: clamp(54px, 8vw, 112px);
  line-height: 0.95;
  font-weight: 300;
  color: var(--ink);
}
.page-title em { color: var(--rose); font-style: italic; }
.page-intro {
  margin-top: 24px;
  max-width: 680px;
  color: var(--dim);
  font-size: 24px;
  line-height: 1.45;
}
.page-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.meta-chip, .cast-tag, .p-sec {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border: 1px solid rgba(240,230,220,0.12);
  background: rgba(255,255,255,0.035);
  color: var(--dim);
  font-family: var(--fu);
  font-size: 10px;
  font-weight: 200;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.page-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 22px;
  margin-top: 24px;
}
.page-card {
  grid-column: span 4;
  border: 1px solid rgba(240,230,220,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  padding: 28px;
  min-height: 240px;
  position: relative;
  overflow: hidden;
}
.page-card::before {
  content: '';
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, var(--rose), rgba(198,26,89,0));
  opacity: 0.8;
}
.page-card.wide { grid-column: span 8; }
.page-card.full { grid-column: 1 / -1; }
.page-card h2, .page-card h3 {
  font-family: var(--fd);
  font-size: clamp(30px, 3.3vw, 46px);
  line-height: 0.98;
  font-weight: 300;
  margin-bottom: 18px;
  color: var(--ink);
}
.page-card h3 { font-size: clamp(24px, 2.4vw, 34px); }
.page-card p, .page-card li {
  color: var(--dim);
  font-size: 22px;
  line-height: 1.58;
}
.page-card ul {
  list-style: none;
  display: grid;
  gap: 14px;
}
.page-card strong { color: var(--ink); font-weight: 400; }
.page-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(198,26,89,0.8), rgba(184,147,96,0.3), rgba(198,26,89,0));
  margin: 28px 0 34px;
}
.placeholder-media {
  aspect-ratio: 4 / 5;
  border: 1px solid rgba(240,230,220,0.10);
  background: linear-gradient(180deg, rgba(198,26,89,0.10), rgba(255,255,255,0.045));
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--muted);
  font-family: var(--fu);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.k-note {
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 16px;
  display: block;
}
.page-stream {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: 22px;
}
.stream-item {
  padding: 28px;
  border: 1px solid rgba(240,230,220,0.10);
  background: rgba(255,255,255,0.035);
}
.stream-item h3 {
  font-family: var(--fd);
  font-size: 34px;
  line-height: 1.02;
  font-weight: 300;
  margin: 14px 0 12px;
}
.stream-item p {
  color: var(--dim);
  font-size: 20px;
  line-height: 1.5;
}
.stream-item .meta-chip { margin-top: 16px; }
.brand-stack {
  display: grid;
  gap: 16px;
}
.brand-row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(240,230,220,0.08);
}
.brand-row:last-child { border-bottom: 0; padding-bottom: 0; }
.brand-row strong {
  display: block;
  font-family: var(--fu);
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  min-width: 150px;
}
.brand-row span {
  color: var(--dim);
  font-size: 20px;
  line-height: 1.45;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr 0.9fr;
  gap: 22px;
}
.contact-card {
  min-height: 100%;
}
.contact-email-main {
  display: inline-block;
  margin-top: 16px;
  color: var(--ink);
  text-decoration: none;
  font-family: var(--fd);
  font-size: clamp(30px, 2.9vw, 42px);
  line-height: 1.04;
}
.contact-supporting {
  margin-top: 18px;
  color: var(--dim);
  font-size: 18px;
  line-height: 1.65;
}
.contact-quick-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.contact-list {
  display: grid;
  gap: 0;
}
.contact-list a {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(240,230,220,0.12);
  padding: 14px 0;
  font-size: 20px;
}
.contact-list a span {
  font-family: var(--fd);
  font-size: 28px;
  line-height: 1.05;
}
.contact-list a em {
  font-style: normal;
  color: var(--muted);
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: right;
}
.editor-content {
  margin-top: 24px;
  padding: 28px;
  border: 1px solid rgba(240,230,220,0.10);
  background: rgba(255,255,255,0.035);
}
.editor-content h2,
.editor-content h3,
.editor-content h4 {
  font-family: var(--fd);
  font-weight: 300;
  margin: 0 0 14px;
}
.editor-content p,
.editor-content li {
  color: var(--dim);
  font-size: 21px;
  line-height: 1.55;
}
.editor-content ul,
.editor-content ol {
  margin-left: 20px;
}
@media (max-width: 1100px) {
  .page-hero,
  .contact-grid,
  .page-stream { grid-template-columns: 1fr; }
  .page-meta { justify-content: flex-start; }
  .page-card,
  .page-card.wide,
  .page-card.full { grid-column: 1 / -1; }
}
@media (max-width: 820px) {
  .page-shell { padding: 150px 22px 64px; }
  .page-intro,
  .page-card p,
  .page-card li,
  .stream-item p,
  .editor-content p,
  .editor-content li { font-size: 18px; }
  .contact-list a { font-size: 18px; }
  .contact-list a span { font-size: 22px; }
  .contact-list a em { font-size: 9px; }
  .brand-row { flex-direction: column; gap: 8px; }
}


/* READABILITY + CONTRAST REFINEMENT v1.0.2 */
:root {
  --ink:    #f6eee7;
  --dim:    rgba(246,238,231,0.92);
  --muted:  rgba(246,238,231,0.74);
  --ghost:  rgba(246,238,231,0.30);
  --gold:   #c69d6d;
  --gold-l: #dfb788;
  --rose-l: #f08fb1;
}

body {
  font-size: 18px;
  line-height: 1.65;
}

.ann,
.nav-links a,
.nav-contact,
.hero-loc,
.hero-img-ph,
.hero-scroll-label,
.jessy-eyebrow,
.jessy-mmx-text,
.jessy-mary,
.lnk,
.origin-detail,
.muses-sub,
.mt-note,
.story-badge,
.story-ey,
.cast-tag,
.sc-type,
.sc-meta,
.partners-ey,
.p-brand-desc,
.p-special-desc,
.follow-ey,
.f-dual,
.f-email,
.f-nav a,
.f-copy,
.f-forums a,
.page-kicker,
.meta-chip,
.k-note,
.placeholder-media,
.brand-row strong {
  font-size: clamp(10px, 0.78vw, 11px);
}

.hero-sub,
.jessy-text,
.story-desc,
.sc-excerpt,
.partners-intro,
.f-tagline,
.page-intro,
.page-card p,
.page-card li,
.stream-item p,
.brand-row span,
.contact-list a,
.editor-content p,
.editor-content li {
  font-size: clamp(18px, 1.22vw, 20px);
  line-height: 1.7;
}

.origin-text,
.interlude-text,
.truth-body {
  color: rgba(246,238,231,0.86);
}

.mt-name {
  font-size: 26px;
}

.p-brand-name {
  color: rgba(198,157,109,0.82);
}

.p-brand-desc,
.p-special-desc,
.p-secondary-headline {
  color: rgba(246,238,231,0.78);
}

.p-secondary-copy {
  color: rgba(246,238,231,0.74);
}

.p-special.hilo .p-special-name {
  color: rgba(232,121,159,0.96);
}

.p-special.coeros .p-special-name {
  color: rgba(212,173,122,0.92);
}


.follow-soc a {
  color: rgba(246,238,231,0.74);
}

@media (max-width: 820px) {
  .hero-sub,
  .jessy-text,
  .story-desc,
  .sc-excerpt,
  .partners-intro,
  .f-tagline,
  .page-intro,
  .page-card p,
  .page-card li,
  .stream-item p,
  .brand-row span,
  .contact-list a,
  .editor-content p,
  .editor-content li {
    font-size: 18px;
  }

  .ann,
  .nav-links a,
  .nav-contact,
  .hero-loc,
  .jessy-eyebrow,
  .jessy-mmx-text,
  .jessy-mary,
  .lnk,
  .origin-detail,
  .muses-sub,
  .mt-note,
  .story-badge,
  .story-ey,
  .cast-tag,
  .sc-type,
  .sc-meta,
  .partners-ey,
  .p-brand-desc,
  .p-special-desc,
  .follow-ey,
  .f-dual,
  .f-email,
  .f-nav a,
  .f-copy,
  .f-forums a,
  .page-kicker,
  .meta-chip,
  .k-note,
  .placeholder-media,
  .brand-row strong {
    font-size: 10px;
  }
}

/* VERSION 2.0.0 LAYER */
.nav-toggle {
  display: none;
  background: transparent;
  border: 0;
  padding: 0;
  width: 34px;
  height: 34px;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.nav-toggle span {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--ink);
  margin: 0 auto;
}
.mobile-menu {
  position: fixed;
  top: 58px;
  left: 0;
  right: 0;
  z-index: 490;
  background: rgba(10,6,8,0.98);
  border-top: 1px solid rgba(240,230,220,0.08);
  border-bottom: 1px solid rgba(240,230,220,0.08);
  backdrop-filter: blur(14px);
}
.mobile-menu-inner {
  display: grid;
  gap: 0;
  padding: 8px 22px 16px;
}
.mobile-menu a {
  color: var(--ink);
  text-decoration: none;
  font-family: var(--fu);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 16px 0;
  border-bottom: 1px solid rgba(240,230,220,0.08);
}
.mobile-menu a:last-child { border-bottom: 0; }
body.menu-open { overflow: hidden; }

.content-block {
  border-top: 1px solid rgba(240,230,220,0.08);
  padding: 34px 0;
}
.content-block h2 {
  font-family: var(--fd);
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
  font-weight: 300;
  margin-bottom: 18px;
  color: var(--ink);
}
.content-block p {
  color: var(--dim);
  font-size: clamp(18px, 1.2vw, 20px);
  line-height: 1.72;
  margin-bottom: 16px;
  max-width: 940px;
}
.content-block p:last-child { margin-bottom: 0; }
.content-block-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: start;
}
.content-media .media-wrap,
.content-media .placeholder-media {
  min-height: 420px;
  height: 100%;
}
.content-copy .editor-content.plain {
  margin-top: 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.content-copy .editor-content.plain p {
  margin-bottom: 16px;
}
.tall { min-height: 520px; }
.inline-link {
  color: var(--rose-l);
  text-decoration: none;
  border-bottom: 1px solid rgba(240,230,220,0.16);
  padding-bottom: 2px;
}
.inline-link:hover { color: var(--ink); }
.compact-grid .page-card { min-height: 0; }

.muse-hub-grid,
.partner-hub-grid,
.dds-post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.muse-hub-card,
.partner-hub-card,
.dds-post-card {
  border: 1px solid rgba(240,230,220,0.14);
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  overflow: hidden;
}
.muse-hub-link,
.partner-hub-link,
.dds-post-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
  height: 100%;
}
.muse-hub-media,
.dds-post-thumb,
.media-wrap {
  background: linear-gradient(180deg, rgba(198,26,89,0.10), rgba(255,255,255,0.045));
}
.media-wrap img,
.media-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.muse-hub-body,
.partner-hub-link,
.dds-post-body { padding: 24px; }
.muse-hub-body h2,
.partner-hub-card h2,
.dds-post-body h3 {
  color: var(--ink);

  font-family: var(--fd);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 300;
  line-height: 1;
  margin-bottom: 12px;
}
.muse-hub-body p,
.partner-hub-card p,
.dds-post-body p,
.partner-subcopy {
  color: var(--dim);
  font-size: clamp(18px, 1.14vw, 19px);
  line-height: 1.65;
}
.partner-hub-card .partner-subcopy { margin-top: 12px; }
.partner-hub-card { min-height: 100%; }
.partner-hub-card h2.partner-wordmark { margin-bottom: 14px; }
.partner-hub-card--secondary .partner-hub-link { min-height: 100%; }
.secondary-brand-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }

.dds-post-type,
.dds-post-meta {
  display: inline-flex;
  margin-top: 14px;
  color: var(--gold);
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.archive-pagination {
  margin-top: 26px;
}
.archive-pagination .nav-links,
.archive-pagination .page-numbers {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--dim);
  text-decoration: none;
}
.archive-pagination a,
.archive-pagination span {
  color: var(--ink);
  text-decoration: none;
  border: 1px solid rgba(240,230,220,0.12);
  padding: 10px 14px;
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.f-forums.stack {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.footer-connect-copy {
  margin-top: 12px;
  color: var(--dim);
  font-size: 15px;
  line-height: 1.6;
}
.footer-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.footer-link-grid a {
  color: var(--ink);
  text-decoration: none;
  border: 1px solid rgba(240,230,220,0.1);
  border-radius: 999px;
  padding: 11px 14px;
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.footer-link-grid a:hover {
  border-color: rgba(198,26,89,0.28);
  background: rgba(255,255,255,0.04);
  color: var(--rose-l);
}
footer {
  grid-template-columns: 1.15fr 0.9fr 1.15fr;
  row-gap: 30px;
}
.f-bottom {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(240,230,220,0.08);
  padding-top: 18px;
}
.single-shell .content-block:first-of-type { padding-top: 0; }

@media (max-width: 1100px) {
  .muse-hub-grid,
  .partner-hub-grid,
  .dds-post-grid,
  .content-block-split { grid-template-columns: 1fr; }
  .secondary-brand-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .nav-links,
  .nav-contact { display: none; }
  .nav-toggle { display: flex; }
  nav,
  nav.solid { padding: 18px 22px; }
  .hero-l,
  .hero-scroll { left: 22px; }
  .hero-l { padding-left: 22px; padding-right: 32px; }
  .page-shell { padding-top: 150px; }
}

@media (max-width: 820px) {
  .muse-hub-grid,
  .partner-hub-grid,
  .dds-post-grid { grid-template-columns: 1fr; }
  footer { grid-template-columns: 1fr; }
  .follow { align-items: flex-start; }
}


/* v2.2 refinements */
.partners-intro { max-width: 42rem; margin-left: auto; margin-right: auto; }
.truth--compact { margin-top: 56px; }
.truth-body--compact {
  font-size: clamp(26px, 3.2vw, 42px);
  line-height: 1.2;
  max-width: 28rem;
}
.truth-body--compact strong { color: var(--rose-l); }
.partner-hub-grid--pillars { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 34px; }
.partner-hub-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 22px; }
.partner-hub-body { padding: 30px; }
.partner-hub-card p { font-size: clamp(17px, 1.02vw, 18px); }
.partner-hub-card .partner-subcopy { color: var(--muted); text-transform: none; letter-spacing: 0.02em; font-size: 15px; line-height: 1.6; }
.partner-actions {
  display: flex; flex-wrap: wrap; gap: 18px; margin-top: 20px; align-items: center;
}
.inline-link--brand { color: var(--muted); }
.inline-link--brand:hover { color: var(--ink); }
.inline-link--fanreal { color: #f4efe7; }
.inline-link--sedoll { color: #cf4c78; }
.inline-link--mmx { color: #d8d6db; }
.inline-link--hilovedoll { color: #e85b8c; }
.inline-link--coeros { color: #f5f2ef; }
.inline-link--ido-doll { color: #ef4aa7; }
.inline-link--irontech { color: #d8b32b; }
.inline-link--real-lady { color: #f0dce9; }
.inline-link--doll-senior { color: #d65056; }
.inline-link--sexdollsland { color: #f3a9cf; }
.partner-hub-card--fanreal .partner-wordmark { color: #f4efe7; }
.partner-hub-card--sedoll .partner-wordmark { color: #cf4c78; }
.partner-hub-card--mmx .partner-wordmark { color: #d8d6db; }
.partner-hub-card--hilovedoll .partner-wordmark { color: #e85b8c; }
.partner-hub-card--coeros .partner-wordmark { color: #f5f2ef; }
.partner-hub-card--ido-doll .partner-wordmark { color: #ef4aa7; }
.partner-hub-card--irontech .partner-wordmark { color: #d8b32b; }
.partner-hub-card--real-lady .partner-wordmark { color: #f0dce9; }
.partner-hub-card--doll-senior .partner-wordmark { color: #d65056; }
.partner-hub-card--sexdollsland .partner-wordmark { color: #f3a9cf; }
.partner-hub-card--fanreal .partner-wordmark { letter-spacing: 0.18em; }
.partner-hub-card--sedoll .partner-wordmark { font-size: clamp(42px,4vw,56px); }
.partner-hub-card--mmx .partner-wordmark { font-size: clamp(34px,3.6vw,48px); }
.partner-hub-card--secondary .partner-wordmark { font-size: clamp(28px,2.2vw,36px); }
.mobile-menu-inner a:first-child,
.f-nav li:first-child a,
.nav-links li:first-child a { color: var(--gold-l); }
.compact-copy { padding-top: 16px; padding-bottom: 16px; }
@media (max-width: 1024px) {
  .partner-hub-grid--pillars,
  .partner-hub-grid--featured,
  .secondary-brand-grid { grid-template-columns: 1fr; }
  .partner-actions { gap: 14px; }
}

/* v2.4 image and page updates */
.hero-photo,
.hero-photo img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-r .media-wrap { height:100%; }
.story-img--photo .media-wrap,
.story-img--photo .media-wrap img { height:100%; }
.story-img-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(to right, transparent 45%, var(--black)), linear-gradient(to top, rgba(10,6,8,0.2), rgba(10,6,8,0.55));
}
.story-img .media-wrap { position:absolute; inset:0; }
.story-badge { z-index:3; }

.muses-card-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.muses-card {
  border:1px solid rgba(240,230,220,0.14);
  background:linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  overflow:hidden;
}
.muses-card-link { display:block; color:inherit; text-decoration:none; height:100%; }
.muses-card-media { aspect-ratio:4/5; background:linear-gradient(180deg, rgba(198,26,89,0.10), rgba(255,255,255,0.045)); }
.muses-card-body { padding:22px; }
.muses-card-kicker {
  display:inline-block;
  margin-bottom:10px;
  font-family:var(--fu);
  font-size:9px;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold);
}
.muses-card-body h2,
.muses-card-body h3 {
  font-family:var(--fd);
  font-size:clamp(30px,2.6vw,38px);
  font-weight:300;
  line-height:1;
  margin-bottom:12px;
}
.muses-card-body p {
  color:var(--dim);
  font-size:17px;
  line-height:1.62;
}
.muses-card-cta {
  display:inline-block;
  margin-top:18px;
  font-family:var(--fu);
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--rose-l);
}
.home-muses .muses-card-body p { min-height:3.3em; }
.home-muses-link { padding-top:22px; }

.muses-group-layout {
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:22px;
}
.muses-group-main,
.muses-group-side figure {
  border:1px solid rgba(240,230,220,0.14);
  background:linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  overflow:hidden;
}
.muses-group-main { min-height:480px; }
.muses-group-side { display:grid; gap:22px; }
.muses-group-side figure { min-height:229px; }
.muses-group-main img,
.muses-group-side img { width:100%; height:100%; object-fit:cover; display:block; }
.inline-sep { color:var(--muted); margin:0 10px; }

.chapter-grid {
  display:grid;
  gap:24px;
  align-items:start;
}
.chapter-grid--double { grid-template-columns:0.95fr 1.05fr; }
.chapter-grid--double.reverse { grid-template-columns:1.05fr 0.95fr; }
.chapter-grid--double.reverse .chapter-media { order:2; }
.chapter-grid--double.reverse .chapter-copy { order:1; }
.chapter-media,
.chapter-media-grid figure {
  border:1px solid rgba(240,230,220,0.14);
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
}
.chapter-media { min-height:420px; }
.chapter-media img,
.chapter-media-grid img { width:100%; height:100%; object-fit:cover; display:block; }
.chapter-copy p { max-width:none; }
.chapter-media-grid {
  display:grid;
  gap:18px;
  margin-top:22px;
}
.chapter-media-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.chapter-media-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.chapter-media-grid figure { min-height:260px; }
.chapter-note { color:var(--gold-l) !important; }
.dds-post-grid--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dds-post-grid--compact .dds-post-body h3 { font-size:clamp(22px,2vw,28px); }

.partners-special--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.p-special.ido-doll { background: #140b14; }
.p-special-name--hilovedoll {
  font-family:'Playfair Display', serif;
  font-weight:400; font-style:italic; letter-spacing:0.04em; font-size:26px; color:#e85b8c;
}
.p-special-name--coeros {
  font-family:'Josefin Sans', sans-serif;
  font-weight:200; letter-spacing:0.32em; font-style:normal; text-transform:uppercase; font-size:17px; color:#f5f2ef;
}
.p-special-name--ido-doll {
  font-family:'Playfair Display', serif;
  font-weight:400; font-style:italic; letter-spacing:0.04em; font-size:26px; color:#ef4aa7;
}

@media (max-width: 1100px) {
  .muses-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .muses-group-layout,
  .chapter-grid--double,
  .chapter-grid--double.reverse,
  .chapter-media-grid--three,
  .chapter-media-grid--two,
  .partners-special--three,
  .dds-post-grid--compact { grid-template-columns:1fr; }
  .chapter-grid--double.reverse .chapter-media,
  .chapter-grid--double.reverse .chapter-copy { order:initial; }
}

@media (max-width: 900px) {
  .hero { display:flex; flex-direction:column-reverse; min-height:auto; height:auto; }
  .hero-r { display:block; min-height:58vh; }
  .hero-l { background:linear-gradient(to top, var(--black) 18%, transparent); padding:48px 22px 64px; }
  .hero-scroll { left:22px; bottom:18px; }
  .muses-card-grid { grid-template-columns:1fr; }
}

/* v2.5 final refinement */
.page-title--compact {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
}
.page-intro--compact {
  max-width: 42rem;
  font-size: clamp(18px, 1.2vw, 20px);
  margin-top: 16px;
}
.home-links {
  padding: 88px 60px;
  border-top: 1px solid rgba(240,230,220,0.08);
  border-bottom: 1px solid rgba(240,230,220,0.08);
}
.home-links-head { max-width: 54rem; }
.chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.meta-chip--link {
  text-decoration: none;
  transition: border-color 0.24s, color 0.24s, background 0.24s, transform 0.24s, box-shadow 0.24s;
}
.meta-chip--link:hover {
  color: var(--ink);
  border-color: rgba(240,230,220,0.24);
  background: rgba(255,255,255,0.06);
}
.meta-chip--feature {
  display: grid;
  gap: 7px;
  align-content: start;
  padding: 18px 18px 16px;
  min-height: 134px;
  border-radius: 22px;
  border: 1px solid rgba(240,230,220,0.10);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.02);
}
.meta-chip--feature:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px rgba(0,0,0,0.18);
}
.meta-chip-eyebrow {
  font-family: var(--fu);
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
}
.meta-chip-title {
  font-family: var(--fd);
  font-size: clamp(24px, 2.1vw, 30px);
  font-weight: 300;
  line-height: 1;
  color: var(--ink);
}
.meta-chip-note {
  color: var(--dim);
  font-size: 15px;
  line-height: 1.45;
}
.meta-chip--muse .meta-chip-eyebrow {
  color: var(--rose-l);
}
.meta-chip--muse .meta-chip-title {
  color: #fff4f8;
}
.meta-chip--brand.meta-chip--fanreal { color:#f4efe7; }
.meta-chip--brand.meta-chip--sedoll { color:#cf4c78; }
.meta-chip--brand.meta-chip--mmx { color:#d8d6db; }
.meta-chip--brand.meta-chip--ido-doll { color:#ef4aa7; }
.meta-chip--brand.meta-chip--hilovedoll { color:#e85b8c; }
.meta-chip--brand.meta-chip--coeros { color:#f5f2ef; }
.meta-chip--brand.meta-chip--irontech { color:#d8b32b; }
.meta-chip--brand.meta-chip--real-lady { color:#f0dce9; }
.meta-chip--brand.meta-chip--sexdollsland { color:#f3a9cf; }
.meta-chip--brand.meta-chip--doll-senior { color:#d65056; }
.meta-chip--brand .meta-chip-title {
  font-size: clamp(22px, 1.9vw, 28px);
}
.home-links-action { margin-top: 26px; }

.studio-latest--compact .studio-lead-list {
  display:grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap:22px;
}
.studio-lead-card,
.studio-mini-list {
  border:1px solid rgba(240,230,220,0.10);
  background:linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
}
.studio-lead-link {
  display:block;
  color:inherit;
  text-decoration:none;
  padding:28px;
}
.studio-lead-link h3 {
  font-family: var(--fd);
  font-size: clamp(30px, 3vw, 42px);
  font-weight:300;
  line-height:1.02;
  margin: 10px 0 14px;
}
.studio-lead-link p {
  color:var(--dim);
  font-size: clamp(17px,1.06vw,19px);
  line-height:1.65;
}
.studio-mini-list { display:grid; }
.studio-mini-item {
  display:grid;
  gap:8px;
  padding:20px 22px;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(240,230,220,0.08);
}
.studio-mini-item:last-child { border-bottom:0; }
.studio-mini-item strong {
  font-family: var(--fd);
  font-size: clamp(24px,2vw,30px);
  font-weight:300;
  line-height:1.06;
  color:var(--ink);
}
.studio-mini-type,
.studio-mini-date {
  font-family: var(--fu);
  font-size:10px;
  letter-spacing:0.18em;
  text-transform:uppercase;
}
.studio-mini-type { color: var(--rose); }
.studio-mini-date { color: var(--muted); }

.muses-card--textonly .muses-card-media {
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.placeholder-media--muse {
  width:100%;
  height:100%;
  min-height: 320px;
  font-size: 14px;
  letter-spacing: 0.14em;
  color: var(--gold-l);
}
.chapter-grid--compact-top { margin-top: 22px; }

@media (max-width: 1024px) {
  .home-links { padding: 72px 32px; }
}
@media (max-width: 900px) {
  .studio-latest--compact .studio-lead-list { grid-template-columns:1fr; }
}

/* v2.6 focused pass */
.single-shell .page-title {
  font-size: clamp(38px, 5.4vw, 72px);
  line-height: 0.98;
}
.single-shell .page-intro {
  font-size: clamp(18px, 1.35vw, 22px);
  max-width: 46rem;
}
.content-block h2.section-title-minor {
  font-size: clamp(26px, 2.6vw, 36px);
  letter-spacing: 0.01em;
  margin-bottom: 16px;
}
.studio-latest-hl {
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.02;
}
.studio-lead-link h3 {
  font-size: clamp(24px, 2.2vw, 32px);
}
.dds-post-body h3 {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.06;
}
.dds-post-body p {
  font-size: clamp(16px, 1vw, 18px);
}
.muses-card-body h2,
.muses-card-body h3 {
  color: var(--ink) !important;
  text-shadow: 0 0 1px rgba(240,230,220,0.08);
}
.muses-card-body {
  background: linear-gradient(180deg, rgba(10,6,8,0.84), rgba(10,6,8,0.96));
}
.muses-card--textonly .muses-card-media {
  display: none;
}
.muses-card--textonly .muses-card-body {
  min-height: 0;
}
.partner-hub-grid + .partner-hub-grid {
  margin-top: 22px;
}
.partner-hub-grid--featured,
.secondary-brand-grid {
  padding-top: 6px;
}
.partner-hub-card--secondary {
  min-height: 100%;
}
#irontech {
  margin-top: 0;
}
@media (max-width: 900px) {
  .dds-post-body h3 { font-size: 24px; }
  .content-block h2.section-title-minor { font-size: 28px; }
}

/* v2.62 partner + front-page refinement */
.page-title {
  font-size: clamp(46px, 7vw, 96px);
}
.single-shell .page-title {
  font-size: clamp(32px, 4.4vw, 56px);
  line-height: 1.02;
}
.content-block h2.section-title-minor {
  font-size: clamp(22px, 2vw, 28px);
}
.studio-latest-hl {
  font-size: clamp(24px, 2.8vw, 36px);
  line-height: 1.04;
}
.chip-grid--muses,
.chip-grid--partners {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.chip-grid--muses .meta-chip,
.chip-grid--partners .meta-chip {
  justify-content: stretch;
  text-align: left;
}
.interlude-text {
  max-width: 26ch;
}
.muses-card-body h2,
.muses-card-body h3 {
  color: #fff4f8 !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.2);
}
.muses-card-body p {
  color: rgba(255,244,248,0.84);
}
.muses-card-cta {
  color: #ff9bc7;
}
.partner-hub-grid--featured {
  margin-top: 34px;
}
.secondary-brand-grid {
  margin-top: 34px;
  padding-top: 0;
}
#irontech,
#coeros,
#real-lady,
#sexdollsland,
#doll-senior {
  margin-top: 0;
}
.partner-top-links {
  padding-top: 0;
}
.resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.resource-card {
  display: block;
  padding: 24px;
  border: 1px solid rgba(240,230,220,0.1);
  background: rgba(255,255,255,0.03);
  color: inherit;
  text-decoration: none;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.resource-card:hover {
  background: rgba(255,255,255,0.05);
  border-color: rgba(198,26,89,0.28);
  transform: translateY(-2px);
}
.resource-kicker {
  display: block;
  margin-bottom: 12px;
  font-family: var(--fu);
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--rose);
}
.resource-card strong {
  display: block;
  font-family: var(--fd);
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 300;
  line-height: 1.08;
  color: var(--ink);
}
.resource-arrow {
  display: inline-block;
  margin-top: 14px;
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
}
@media (max-width: 1100px) {
  .chip-grid--muses,
  .chip-grid--partners {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .chip-grid--muses,
  .chip-grid--partners {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .chip-grid--muses,
  .chip-grid--partners,
  .footer-link-grid {
    grid-template-columns: 1fr;
  }
  .meta-chip--feature {
    min-height: auto;
  }
  .contact-email-main {
    font-size: 28px;
  }
  .contact-list a {
    flex-direction: column;
    align-items: flex-start;
  }
  .contact-list a em {
    text-align: left;
  }
}

@media (max-width: 900px) {
  .chip-grid--muses,
  .chip-grid--partners,
  .resource-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-title {
    font-size: clamp(40px, 12vw, 62px);
  }
  .studio-latest-hl {
    font-size: 28px;
  }
}
.dds-post-thumb.placeholder-media {
  aspect-ratio: 16 / 9;
  min-height: 180px;
}


/* v2.7.2 editorial model + partner pass */
.story--featured .story-title {
  text-wrap: balance;
}
.story--featured .story-desc {
  max-width: 42rem;
}
.story--featured .story-cast {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.story--featured .cast-tag {
  margin-top: 0;
}
.story--featured .story-badge {
  background: rgba(10,6,8,0.78);
  backdrop-filter: blur(10px);
}
.single-hero {
  align-items: end;
}
.single-media-shell .media-wrap {
  border: 1px solid rgba(240,230,220,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.02));
  overflow: hidden;
}
.single-media-shell .media-wrap,
.single-media-shell .media-image,
.single-media-shell img {
  min-height: 420px;
}
.single-content-shell {
  padding-top: 34px;
}
.single-editor {
  max-width: 52rem;
  margin-inline: auto;
}
.single-shell--stories .single-editor,
.single-shell--journal .single-editor {
  max-width: 46rem;
}
.single-editor > *:first-child {
  margin-top: 0;
}
.single-editor p,
.single-editor li {
  font-size: clamp(18px, 1.08vw, 20px);
  line-height: 1.85;
}
.single-editor h2,
.single-editor h3 {
  line-height: 1.12;
  margin-top: 2.4em;
}
.single-editor h2:first-child,
.single-editor h3:first-child {
  margin-top: 0;
}
.single-editor blockquote {
  margin: 34px 0;
  padding: 22px 24px 22px 26px;
  border-left: 2px solid rgba(198,26,89,0.55);
  background: rgba(255,255,255,0.035);
}
.single-editor blockquote p:last-child {
  margin-bottom: 0;
}
.single-editor figure,
.single-editor .wp-block-image,
.single-editor .wp-block-gallery,
.single-editor .wp-block-embed,
.single-editor .gallery,
.single-editor .wp-block-video {
  margin: 34px 0;
}
.single-editor figure img,
.single-editor .wp-block-image img,
.single-editor .gallery img,
.single-editor video,
.single-editor iframe {
  display: block;
  width: 100%;
  height: auto;
}
.single-editor iframe {
  aspect-ratio: 16 / 9;
  min-height: 320px;
  border: 0;
}
.single-editor .wp-caption,
.single-editor figcaption,
.single-editor .blocks-gallery-caption,
.single-editor .gallery-caption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.single-editor .wp-block-separator,
.single-editor hr {
  margin: 40px auto;
  border: 0;
  border-top: 1px solid rgba(240,230,220,0.10);
}
.single-taxonomy-shell {
  border-top: 1px solid rgba(240,230,220,0.08);
  border-bottom: 1px solid rgba(240,230,220,0.08);
}
.single-taxonomy-row + .single-taxonomy-row {
  margin-top: 18px;
}
.single-taxonomy-label {
  display: block;
  margin-bottom: 12px;
  color: var(--gold);
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.single-taxonomy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.taxonomy-chip-grid {
  margin-top: 0;
}
.taxonomy-chip-grid .meta-chip.is-current {
  color: var(--ink);
  border-color: rgba(198,26,89,0.32);
  background: rgba(198,26,89,0.08);
}
.partner-muse-links {
  border-top: 1px solid rgba(240,230,220,0.08);
  border-bottom: 1px solid rgba(240,230,220,0.08);
}
.partner-muse-links-head {
  max-width: 42rem;
}
.partner-muse-links-head p {
  margin-top: 10px;
  color: var(--dim);
  font-size: 17px;
  line-height: 1.7;
}
.partner-muse-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 22px;
}
.muse-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 144px;
  padding: 14px 18px;
  border: 1px solid rgba(240,230,220,0.14);
  background: rgba(255,255,255,0.03);
  color: var(--ink);
  text-decoration: none;
  font-family: var(--fu);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  transition: background 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
}
.muse-button:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(198,26,89,0.26);
  transform: translateY(-2px);
}
@media (max-width: 900px) {
  .single-media-shell .media-wrap,
  .single-media-shell .media-image,
  .single-media-shell img {
    min-height: 260px;
  }
  .single-editor iframe {
    min-height: 220px;
  }
  .single-taxonomy-links,
  .partner-muse-button-row {
    gap: 10px;
  }
  .muse-button {
    width: 100%;
  }
}

/* v2.7.4 home interview + featured story dynamic pass */
.home-interview {
  padding: 88px 60px;
  border-top: 1px solid rgba(240,230,220,0.08);
  border-bottom: 1px solid rgba(240,230,220,0.08);
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 34px;
  align-items: center;
}
.home-interview-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgba(240,230,220,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
}
.home-interview-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.home-interview-body {
  max-width: 34rem;
}
.home-interview-text {
  margin-top: 18px;
  max-width: 34rem;
  color: rgba(240,230,220,0.72);
  line-height: 1.8;
}
.home-interview-actions {
  margin-top: 24px;
}
#home-halloween-story .story-body {
  align-self: center;
}
#home-halloween-story .story-title {
  text-wrap: balance;
}
#home-halloween-story .story-img .media-wrap,
#home-halloween-story .story-img .media-image,
#home-halloween-story .story-img img {
  width: 100%;
  height: 100%;
}
#home-halloween-story .story-img .media-image,
#home-halloween-story .story-img img {
  object-fit: cover;
}
@media (max-width: 900px) {
  .home-interview {
    padding: 72px 32px;
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .home-interview-body {
    max-width: 100%;
  }
}

/* v2.7.5 community and friends */
.community-teaser {
  margin-top: 54px;
  padding-top: 34px;
  border-top: 1px solid rgba(240,230,220,0.08);
}
.community-teaser-head {
  max-width: 56rem;
}
.community-home-grid,
.community-studio-grid,
.friend-card-grid {
  margin-top: 26px;
}
.community-card {
  min-height: 0;
}
.community-card h3 {
  text-wrap: balance;
}
.community-card p {
  font-size: clamp(18px, 1.06vw, 19px);
  line-height: 1.72;
}
.community-card--featured {
  background: linear-gradient(180deg, rgba(198,26,89,0.10), rgba(255,255,255,0.025));
}
.community-link-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 18px;
  margin-top: 20px;
}
.community-name-list {
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}
.home-links-action--community {
  margin-top: 16px;
}
.friend-card-grid .page-card {
  grid-column: span 6;
}
@media (max-width: 1100px) {
  .friend-card-grid .page-card {
    grid-column: span 12;
  }
}


/* v2.7.5 Jessy MMX update */
.chapter-media--video {
  display: flex;
  align-items: stretch;
}
.chapter-media--video video,
.media-video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  background: #070507;
}
.muse-partner-links.chapter-links-inline {
  margin-top: 28px;
}
@media (max-width: 900px) {
  .chapter-media--video video,
  .media-video {
    min-height: 260px;
  }
}

/* v281 muse rebuild */
.muse-profile-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr);
  gap: 32px;
  align-items: start;
}
.muse-profile-hero img {
  width: 100%;
  height: 100%;
  min-height: 520px;
  object-fit: cover;
  display: block;
  background: #070507;
}
.muse-profile-copy {
  display: grid;
  gap: 18px;
}
.muse-copy-panel {
  padding: 26px 28px;
  background: rgba(255,255,255,0.025);
  border: 1px solid rgba(198,26,89,0.10);
}
.muse-copy-panel h2 {
  margin: 0 0 12px;
  font-size: clamp(24px, 2.2vw, 32px);
}
.muse-copy-panel p {
  margin: 0;
}
.muse-world-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 6px;
}
.muse-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.muse-gallery-item img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  background: #070507;
}
@media (max-width: 900px) {
  .muse-profile-grid,
  .muse-gallery-grid {
    grid-template-columns: 1fr;
  }
  .muse-profile-hero img {
    min-height: 360px;
  }
}

/* ============================================================
   REVERIE ADDITIONS
   ============================================================ */

/* Muse opening line — pull-quote between hero and copy panels */
.muse-opening {
  padding: 0 var(--gap) var(--gap);
}
.muse-opening-line {
  font-family: var(--fd);
  font-style: italic;
  font-size: clamp(1.25rem, 2.5vw, 1.6rem);
  font-weight: 300;
  color: var(--rose, #c9a0a0);
  line-height: 1.5;
  max-width: 680px;
  border-left: 2px solid var(--rose, #c9a0a0);
  padding-left: 1.25rem;
  margin: 0;
}

/* Lumi / no-portrait arriving note */
.muse-arriving {
  padding: var(--gap);
}
.muse-arriving-note {
  font-family: var(--fd);
  font-style: italic;
  font-weight: 300;
  font-size: 1.1rem;
  color: var(--fg2, #888);
  text-align: center;
  padding: 2rem 0;
  margin: 0;
}

/* "From the studio" no-posts message */
.muse-no-posts {
  color: var(--fg2, #888);
  font-size: 0.9rem;
  font-style: italic;
}

/* About page closing line */
.about-closing {
  padding: var(--gap);
}
.about-closing-line {
  font-family: var(--fd);
  font-style: italic;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 300;
  color: var(--fg2, #aaa);
  max-width: 620px;
  line-height: 1.7;
  margin: 0;
}

/* Single post — reduce bold weight so Awakening section breathes */
.single-editor strong {
  font-weight: 500;
}

/* ============================================================
   HOME MUSE IMAGE CARD GRID
   ============================================================ */
.home-muse-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 0 var(--gap) var(--gap);
}
@media (max-width: 1100px) {
  .home-muse-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .home-muse-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

.home-muse-card {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
  background: #0e0a0e;
  aspect-ratio: 3 / 4;
}
.home-muse-card:hover .home-muse-card-overlay {
  opacity: 0.5;
}
.home-muse-card:hover .home-muse-card-body {
  transform: translateY(0);
  opacity: 1;
}
.home-muse-card:hover .home-muse-card-image img {
  transform: scale(1.04);
}

.home-muse-card-image {
  position: absolute;
  inset: 0;
}
.home-muse-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.home-muse-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.15) 50%, transparent 100%);
  opacity: 0.65;
  transition: opacity 0.3s ease;
}

.home-muse-card-body {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem 0.85rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.home-muse-card-kicker {
  font-family: var(--fu);
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rose, #c9a0a0);
  opacity: 0.9;
}
.home-muse-card-name {
  font-family: var(--fd);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 400;
  color: #fff;
  display: block;
  line-height: 1.2;
}
.home-muse-card-note {
  font-family: var(--fu);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.65);
  display: none;
  line-height: 1.4;
}
@media (hover: hover) {
  .home-muse-card-note {
    display: block;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  .home-muse-card:hover .home-muse-card-note {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   PARTNER LOGOS — home cards, hub page, individual pages
   ============================================================ */

/* Logo SVG base */
.partner-logo-svg {
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 48px;
  opacity: 0.85;
  transition: opacity 0.25s ease;
  filter: drop-shadow(0 0 0 transparent);
}
.partner-logo-svg:hover,
a:hover .partner-logo-svg {
  opacity: 1;
}

/* ── HOME PARTNER GRID ── */
.home-partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
  margin: 0;
}
@media (max-width: 600px) {
  .home-partner-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}

.partner-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px 18px 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(240,230,220,0.08);
  border-radius: 3px;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.partner-card:hover {
  background: rgba(255,255,255,0.065);
  border-color: rgba(240,230,220,0.18);
}

.partner-card-logo {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.partner-card-name {
  font-family: var(--fu);
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
}

.partner-card-note {
  font-family: var(--fu);
  font-size: 10px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
}

/* ── PARTNERS HUB PAGE — logo in cards ── */
.partner-hub-logo {
  display: flex;
  align-items: center;
  min-height: 52px;
  margin-bottom: 10px;
}

/* ── INDIVIDUAL PARTNER PAGE — logo in hero ── */
.partner-page-logo {
  margin: 8px 0 20px;
}
.partner-logo-svg--page {
  max-height: 64px;
  opacity: 0.92;
}
