:root {
  --vera-lilac: #9a6bd1;
  --vera-plum: #5a2d75;
  --vera-cream: #fff8ef;
  --vera-leaf: #4f7665;
}

.creator-kicker {
  align-items: center;
  display: inline-flex;
  gap: .55rem;
  margin-bottom: 1rem;
  border: 1px solid color-mix(in srgb, var(--vera-lilac) 40%, transparent);
  border-radius: 999px;
  padding: .46rem .82rem;
  color: var(--vera-plum);
  background: color-mix(in srgb, var(--vera-lilac) 9%, var(--surface, #fff));
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.creator-kicker::before {
  width: .52rem;
  height: .52rem;
  border-radius: 50%;
  background: var(--vera-lilac);
  box-shadow: 0 0 0 .24rem color-mix(in srgb, var(--vera-lilac) 15%, transparent);
  content: "";
}

.article-intro h1 {
  max-width: 980px;
}

.article-hero-frame.vera-hero {
  --media-max: 590px;
  min-height: min(76vh, 820px);
  background-color: #dce7df;
}

.article-hero-frame.vera-hero::before {
  filter: blur(28px) saturate(.8);
  opacity: .38;
  transform: scale(1.07);
}

.article-hero-frame.vera-hero img {
  border-radius: 2px;
  box-shadow: 0 26px 65px rgba(15, 27, 22, .26);
}

.profile-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .75fr);
  gap: 1.25rem;
  margin: 2.2rem 0;
  border: 1px solid color-mix(in srgb, var(--vera-lilac) 26%, var(--line, #ddd));
  border-radius: 22px;
  padding: 1.35rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--vera-cream) 82%, var(--surface, #fff)), var(--surface, #fff));
  box-shadow: 0 18px 42px rgba(90, 45, 117, .08);
}

.profile-strip > div:first-child {
  align-self: center;
}

.profile-identity {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: .75rem;
}

.profile-identity img {
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  border: 3px solid var(--surface, #fff);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--vera-lilac) 50%, transparent), 0 12px 26px rgba(38, 22, 48, .16);
}

.profile-strip span,
.gallery-heading span {
  color: var(--vera-lilac);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.profile-strip h2 {
  margin: .35rem 0 .6rem;
  font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.profile-strip p {
  margin: 0;
  color: #344b48;
  font-weight: 500;
}

.profile-facts {
  display: grid;
  gap: .6rem;
  margin: 0;
}

.profile-facts div {
  border-radius: 14px;
  padding: .72rem .82rem;
  background: color-mix(in srgb, var(--vera-lilac) 8%, var(--surface, #fff));
}

.profile-facts dt {
  margin-bottom: .13rem;
  color: var(--vera-plum);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.profile-facts dd {
  margin: 0;
  color: #102727;
  font-weight: 800;
}

.article-page .article-deck,
.article-page .article-hero figcaption,
.article-page .video-copy p,
.article-page .video-caption,
.article-page .source-box p {
  color: #4c625f;
}

.article-page .source-box p { font-size: .85rem; line-height: 1.62; }

.creator-quote {
  margin: 2.1rem 0;
  border-left: 5px solid var(--vera-lilac);
  border-radius: 0 18px 18px 0;
  padding: 1.3rem 1.45rem;
  color: var(--vera-plum);
  background: color-mix(in srgb, var(--vera-lilac) 9%, var(--surface, #fff));
  font-size: clamp(1.15rem, 2.4vw, 1.55rem);
  font-weight: 750;
  line-height: 1.45;
}

.creator-gallery {
  margin: 2.4rem 0;
}

.creator-video {
  margin: 2.4rem 0;
  border: 1px solid color-mix(in srgb, var(--vera-lilac) 25%, var(--border, #e6e6e6));
  border-radius: 28px;
  padding: clamp(1.3rem, 4vw, 2.35rem);
  background: linear-gradient(145deg, color-mix(in srgb, var(--vera-lilac) 10%, var(--surface, #fff)), var(--surface, #fff));
  box-shadow: 0 22px 55px rgba(18, 20, 28, .08);
}

.video-copy {
  max-width: 680px;
  margin: 0 auto 1.5rem;
  text-align: center;
}

.video-copy > span {
  display: block;
  margin-bottom: .5rem;
  color: var(--vera-plum);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.video-copy h2 { margin: 0 0 .65rem; }
.video-copy p { margin: 0; color: var(--muted, #65636a); }

.instagram-embed {
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.instagram-embed iframe {
  display: block;
  width: min(100%, 400px);
  height: 710px;
  border: 0;
  border-radius: 18px;
  background: #fff;
}

.video-caption {
  max-width: 620px;
  margin: 1rem auto 0 !important;
  color: var(--muted, #65636a);
  font-size: .86rem;
  text-align: center;
}

.video-caption a { font-weight: 750; }

.gallery-heading {
  margin-bottom: 1rem;
}

.gallery-heading h2 {
  margin: .25rem 0 0;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 180px;
  gap: .8rem;
}

.gallery-grid figure {
  overflow: hidden;
  position: relative;
  margin: 0;
  border-radius: 18px;
  background: #ddd;
}

.gallery-grid figure:nth-child(1) { grid-column: span 7; grid-row: span 3; }
.gallery-grid figure:nth-child(2) { grid-column: span 5; grid-row: span 2; }
.gallery-grid figure:nth-child(3) { grid-column: span 5; grid-row: span 2; }
.gallery-grid figure:nth-child(4) { grid-column: span 7; grid-row: span 1; }

.gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-grid figure:nth-child(1) img { object-position: center 28%; }
.gallery-grid figure:nth-child(2) img { object-position: center 30%; }
.gallery-grid figure:nth-child(3) img { object-position: center 34%; }
.gallery-grid figure:nth-child(4) img { object-position: center 22%; }

.instagram-card {
  display: grid;
  gap: .75rem;
  margin-top: 1.3rem;
  border-radius: 18px;
  padding: 1.25rem;
  color: #fff;
  background: linear-gradient(135deg, #5a2d75, #9a6bd1 60%, #c688ba);
}

.instagram-card span {
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.instagram-card strong {
  font-size: 1.15rem;
}

.instagram-card a {
  justify-self: start;
  border-radius: 999px;
  padding: .62rem .9rem;
  color: var(--vera-plum);
  background: #fff;
  font-weight: 800;
  text-decoration: none;
}

.preview-notice {
  position: sticky;
  z-index: 20;
  top: 0;
  padding: .62rem 1rem;
  color: #fff;
  background: #33213f;
  text-align: center;
  font-size: .82rem;
  font-weight: 700;
}

@media (max-width: 760px) {
  .profile-strip { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 230px; }
  .gallery-grid figure:nth-child(n) { grid-column: span 1; grid-row: span 1; }
  .gallery-grid figure:nth-child(1) { grid-row: span 2; }
  .article-hero-frame.vera-hero { min-height: 66vh; }
}

@media (max-width: 480px) {
  .profile-identity { align-items: flex-start; gap: .8rem; }
  .profile-identity img { width: 64px; height: 64px; }
  .creator-video { border-radius: 22px; padding: 1.2rem .7rem; }
  .instagram-embed iframe { height: 680px; }
  .gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 360px; }
  .gallery-grid figure:nth-child(n) { grid-column: 1; grid-row: span 1; }
  .profile-strip { padding: 1.05rem; }
}

[data-theme="dark"] .profile-strip,
[data-theme="dark"] .creator-kicker,
[data-theme="dark"] .creator-quote,
[data-theme="dark"] .creator-video {
  color: #ecdaf7;
  background: color-mix(in srgb, #9a6bd1 13%, #151217);
}

[data-theme="dark"] .profile-strip p,
[data-theme="dark"] .article-page .article-deck,
[data-theme="dark"] .article-page .article-hero figcaption,
[data-theme="dark"] .article-page .video-copy p,
[data-theme="dark"] .article-page .video-caption,
[data-theme="dark"] .article-page .source-box p {
  color: #cbdedb;
}

[data-theme="dark"] .profile-facts div {
  border: 1px solid rgba(210, 167, 239, .2);
  background: #2b2035;
}

[data-theme="dark"] .profile-facts dt { color: #d8b7ef; }
[data-theme="dark"] .profile-facts dd { color: #fff; }
[data-theme="dark"] .profile-identity img { border-color: #201927; }
