@import url("https://fonts.googleapis.com/css2?family=Caveat:wght@500;600&family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=DM+Sans:wght@400;500;600;700&family=Leckerli+One&family=Lobster+Two:ital,wght@0,400;0,700;1,400;1,700&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&display=swap");

:root {
  --cream: #fffaf3;
  --cream-deep: #f6efe4;
  --paper: #fffdf9;
  --blush: #f8e3e8;
  --rose: #d98fa5;
  --berry: #96546f;
  --lavender: #e9e0f3;
  --violet: #75578d;
  --violet-deep: #573d70;
  --teal: #5f9f9b;
  --teal-soft: #dceceb;
  --sage: #a9bea6;
  --sage-soft: #e9f0e6;
  --gold: #e7c487;
  --ink: #3d343d;
  --ink-soft: #6f626e;
  --line: rgba(79, 60, 76, 0.14);
  --white-glass: rgba(255, 255, 255, 0.72);
  --shadow: 0 22px 60px rgba(84, 61, 78, 0.10);
  --shadow-small: 0 10px 30px rgba(84, 61, 78, 0.10);
  --max: 1120px;
  --radius-xl: 2rem;
  --radius-lg: 1.4rem;
  --radius-md: 0.9rem;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 8%, rgba(217, 143, 165, .18), transparent 24rem),
    radial-gradient(circle at 92% 20%, rgba(95, 159, 155, .16), transparent 27rem),
    radial-gradient(circle at 42% 72%, rgba(117, 87, 141, .10), transparent 32rem),
    linear-gradient(180deg, var(--cream) 0%, #fff8f7 44%, #faf7fb 100%);
  font-family: "DM Sans", Arial, sans-serif;
  line-height: 1.6;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -5;
  opacity: .33;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(78, 62, 75, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78, 62, 75, .018) 1px, transparent 1px);
  background-size: 28px 28px;
}
img { max-width: 100%; }
a { color: inherit; text-underline-offset: .18em; }
button, input, textarea { font: inherit; }
button { color: inherit; }

main,
.site-header,
.site-footer,
.section-shell,
.studio-shell {
  width: min(calc(100% - 2rem), var(--max));
  margin-inline: auto;
}

h1, h2, h3 {
  margin-top: 0;
  font-family: "Fraunces", Georgia, serif;
  line-height: .98;
  letter-spacing: -.055em;
}
h1 em, h2 em { color: var(--violet); font-style: italic; }
h2 { font-size: clamp(2.5rem, 6vw, 5.4rem); }
p { margin-top: 0; }

.eyebrow,
.tiny-label,
.card-date,
.section-date,
.studio-control-label,
.studio-step-note,
.studio-photo-count,
.studio-preview-badge {
  font-family: "DM Mono", monospace;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.eyebrow {
  margin-bottom: .7rem;
  color: var(--violet);
  font-size: .7rem;
  font-weight: 500;
}
.tiny-label { color: var(--berry); font-size: .65rem; }

/* dreamy layers */
.dream-layer {
  position: fixed;
  z-index: -4;
  width: 30rem;
  height: 18rem;
  border-radius: 50%;
  filter: blur(22px);
  pointer-events: none;
}
.dream-layer--one {
  top: 8rem;
  left: -13rem;
  background: radial-gradient(circle, rgba(233,224,243,.7), transparent 68%);
}
.dream-layer--two {
  right: -14rem;
  top: 42vh;
  background: radial-gradient(circle, rgba(220,236,235,.78), transparent 68%);
}
.rtc-parallax-soft { transform: translate3d(0, var(--rtc-parallax-y, 0), 0); will-change: transform; }

/* loader */
.loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-content: center;
  gap: 1rem;
  background: linear-gradient(145deg, #fffaf3, #f7edf5);
  text-align: center;
  transition: opacity .65s ease, visibility .65s ease;
}
.loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader__orb { position: relative; width: 7rem; height: 5.5rem; margin-inline: auto; }
.loader__orb span { position: absolute; font-family: Georgia, serif; animation: loaderFloat 1.6s ease-in-out infinite alternate; }
.loader__orb span:nth-child(1) { left: .4rem; top: 1.6rem; color: var(--violet); font-size: 2rem; }
.loader__orb span:nth-child(2) { left: 2.5rem; top: .15rem; color: var(--rose); font-size: 3.1rem; animation-delay: -.35s; }
.loader__orb span:nth-child(3) { right: .25rem; bottom: .4rem; color: var(--teal); font-size: 2.4rem; animation-delay: -.75s; }
.loader p { margin: 0; color: var(--ink-soft); font: 500 .68rem/1 "DM Mono", monospace; letter-spacing: .12em; text-transform: uppercase; }
@keyframes loaderFloat { to { transform: translateY(-6px) rotate(6deg) scale(1.04); } }

/* header */
.site-header {
  position: relative;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.35rem 0 1.05rem;
  border-bottom: 1px solid var(--line);
}
.logo, .footer-logo {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: -.055em;
}
.logo { font-size: clamp(1.35rem, 3vw, 1.9rem); }
.logo::after {
  content: "  ✿";
  color: var(--rose);
  font: .68em/1 Georgia, serif;
  display: inline-block;
  animation: breatheDoodle 5.2s ease-in-out infinite;
}
.site-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .25rem; font: 500 .7rem/1 "DM Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
.site-nav a { position: relative; padding: .55rem .72rem; border-radius: 999px; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background: rgba(233,224,243,.72); color: var(--violet-deep); transform: translateY(-1px); }
.site-nav__studio { border: 1px solid rgba(117,87,141,.18); background: rgba(255,255,255,.48); }
.site-nav__studio span { color: var(--teal); }

/* buttons */
.button {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 3rem;
  padding: .8rem 1.2rem;
  border: 1px solid rgba(61,52,61,.55);
  border-radius: 999px;
  text-decoration: none;
  cursor: pointer;
  font: 500 .72rem/1 "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.button:hover { transform: translateY(-2px); filter: saturate(1.05); }
.button-primary { background: linear-gradient(135deg, #efb5c4, #dca5bd); box-shadow: 3px 4px 0 rgba(87,61,112,.45); }
.button-deep { color: #fff; background: linear-gradient(135deg, var(--violet), var(--berry)); border-color: var(--violet-deep); box-shadow: 3px 4px 0 rgba(95,159,155,.55); }
.text-link { font: 500 .73rem/1.4 "DM Mono", monospace; text-decoration: none; border-bottom: 1px solid rgba(217,143,165,.75); padding-bottom: .16rem; }
.text-link span { color: var(--rose); }

/* reveals */
.reveal-soft { opacity: 0; transform: translateY(18px); filter: blur(2px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1), filter .8s ease; }
.reveal-soft.is-visible { opacity: 1; transform: translateY(0); filter: blur(0); }

/* home hero */
.hero-section {
  min-height: min(780px, calc(100vh - 5rem));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: center;
  padding: clamp(4rem, 9vw, 8rem) 0 clamp(5rem, 10vw, 8.5rem);
}
.hero-copy h1 { max-width: 10ch; margin-bottom: 1.4rem; font-size: clamp(4.3rem, 10vw, 8.7rem); }
.hero-lede { max-width: 37rem; font-size: clamp(1.05rem, 2vw, 1.3rem); color: var(--ink-soft); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; margin-top: 2rem; }
.hero-handnote { display: inline-block; margin: 2.4rem 0 0 4rem; color: var(--berry); font: 600 1.3rem/1 "Caveat", cursive; transform: rotate(-4deg); }
.hero-collage { position: relative; min-height: 35rem; }
.polaroid { position: absolute; margin: 0; padding: .75rem .75rem 2.6rem; background: #fffdfa; border: 1px solid rgba(61,52,61,.08); box-shadow: 0 18px 42px rgba(77,54,70,.18); }
.polaroid img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(.95) brightness(1.02); }
.polaroid figcaption { position: absolute; left: .75rem; right: .75rem; bottom: .7rem; text-align: center; color: var(--ink-soft); font: 600 1rem/1 "Caveat", cursive; }
.polaroid--hero-a { width: min(72%, 20rem); height: 28rem; top: 1rem; left: 0; transform: rotate(-5deg); }
.polaroid--hero-b { width: min(66%, 18rem); height: 23rem; right: .5rem; bottom: .4rem; transform: rotate(5deg); }
.hero-jewel { position: absolute; display: grid; place-items: center; width: 4rem; aspect-ratio: 1; border-radius: 50%; box-shadow: var(--shadow-small); animation: breatheDoodle 6s ease-in-out infinite; }
.hero-jewel--violet { right: 10%; top: 5%; color: #fff; background: linear-gradient(145deg, #80629a, #5f4577); font-size: 1.5rem; }
.hero-jewel--teal { left: 12%; bottom: 6%; color: var(--violet-deep); background: linear-gradient(145deg, #cce4e2, #8dbfbb); font-size: 1.55rem; animation-delay: -2s; }
.hero-cloud { position: absolute; z-index: -1; width: 20rem; height: 11rem; right: -4rem; top: 9rem; border-radius: 50%; background: radial-gradient(ellipse, rgba(233,224,243,.75), transparent 70%); filter: blur(14px); animation: cloudDrift 12s ease-in-out infinite; }
@keyframes cloudDrift { 50% { transform: translate(-12px, 8px) scale(1.04); } }
@keyframes breatheDoodle { 50% { transform: translateY(-6px) rotate(5deg) scale(1.05); } }

/* sections */
.section-shell { padding: clamp(5rem, 10vw, 9rem) 0; border-top: 1px solid var(--line); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2rem; }
.section-heading h2 { max-width: 12ch; margin-bottom: 0; }
.section-heading--wide > div { max-width: 44rem; }
.section-date { margin: 0 0 .5rem; color: var(--ink-soft); font-size: .66rem; }
.section-kicker { max-width: 27rem; margin: 0 0 .6rem; color: var(--ink-soft); }

/* latest */
.latest-entry__card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .74fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; overflow: hidden; padding: clamp(1.5rem, 5vw, 4rem); border: 1px solid var(--line); border-radius: var(--radius-xl); box-shadow: var(--shadow); }
.latest-entry__copy { position: relative; z-index: 2; }
.latest-entry__copy h3 { max-width: 10ch; margin: .9rem 0 1rem; font-size: clamp(2.8rem, 6vw, 5.6rem); }
.latest-entry__copy > p:not(.tiny-label) { max-width: 36rem; font-size: 1.08rem; }
.latest-entry__photo-wrap { position: relative; margin: 0; padding: .75rem .75rem 2.7rem; background: #fffdf8; box-shadow: 0 14px 35px rgba(67,48,63,.18); transform: rotate(2.2deg); }
.latest-entry__photo-wrap img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.latest-entry__photo-wrap figcaption { position: absolute; left: 0; right: 0; bottom: .8rem; text-align: center; font: 600 1rem/1 "Caveat", cursive; }
.card-doodle { position: absolute; z-index: 1; font-family: Georgia, serif; animation: breatheDoodle 5.5s ease-in-out infinite; }
.card-doodle--star { left: 3%; bottom: 7%; color: var(--violet); font-size: 2rem; }
.card-doodle--flower { right: 3%; top: 5%; color: var(--rose); font-size: 1.7rem; animation-delay: -1.6s; }

.mood-violet { background: linear-gradient(145deg, rgba(242,236,248,.96), rgba(255,250,246,.92)); }
.mood-teal { background: linear-gradient(145deg, rgba(231,243,241,.96), rgba(255,250,246,.92)); }
.mood-rose { background: linear-gradient(145deg, rgba(251,232,238,.96), rgba(255,250,246,.92)); }
.mood-lavender { background: linear-gradient(145deg, rgba(239,233,248,.96), rgba(246,241,248,.92)); }

/* journal cards */
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 2.4rem; }
.journal-card { position: relative; min-height: 23rem; display: flex; flex-direction: column; padding: 1.4rem; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-small); transition: transform .25s ease, box-shadow .25s ease; }
.journal-card:nth-child(2) { transform: translateY(1.2rem); }
.journal-card:hover { transform: translateY(-4px) rotate(-.2deg); box-shadow: 0 18px 44px rgba(84,61,78,.14); }
.journal-card:nth-child(2):hover { transform: translateY(calc(1.2rem - 4px)) rotate(.2deg); }
.journal-card__topline, .archive-card__topline { display: flex; justify-content: space-between; gap: 1rem; color: var(--ink-soft); }
.journal-card__topline span, .archive-card__topline span { color: var(--violet); }
.card-date { margin: 0; font-size: .64rem; }
.journal-card h3 { margin: auto 0 .8rem; font-size: clamp(2rem, 4vw, 3.1rem); }
.journal-card > p:not(.card-date) { color: var(--ink-soft); }
.journal-card__tags { display: flex; flex-wrap: wrap; gap: .35rem; margin: .4rem 0 1.4rem; }
.journal-card__tags span { padding: .25rem .5rem; border-radius: 999px; background: rgba(255,255,255,.48); font: .6rem/1 "DM Mono", monospace; }
.journal-card > a { margin-top: auto; font: 500 .7rem/1 "DM Mono", monospace; text-decoration: none; }
.journal-all-link { display: inline-flex; gap: .5rem; margin-top: 3.5rem; font: 500 .72rem/1 "DM Mono", monospace; text-decoration: none; border-bottom: 1px solid var(--rose); padding-bottom: .25rem; }

/* shop home */
.shop-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); gap: clamp(3rem, 8vw, 7rem); align-items: center; }
.shop-section__copy h2 { max-width: 12ch; }
.shop-section__copy > p:not(.eyebrow,.shop-sticker) { max-width: 40rem; font-size: 1.08rem; color: var(--ink-soft); }
.shop-sticker { display: inline-block; margin: 2rem 0 0 2rem; padding: .6rem .75rem; background: #fff0d8; border: 1px solid rgba(61,52,61,.15); box-shadow: 3px 4px 0 rgba(231,196,135,.45); font: 600 1.05rem/1 "Caveat", cursive; transform: rotate(4deg); }
.shop-feature-card { position: relative; padding: clamp(2rem, 5vw, 3.5rem); border-radius: var(--radius-xl); border: 1px solid rgba(95,159,155,.2); background: linear-gradient(145deg, rgba(220,236,235,.9), rgba(233,224,243,.72)); box-shadow: var(--shadow); transform: rotate(1.3deg); }
.shop-feature-card__orb { display: grid; place-items: center; width: 5.5rem; aspect-ratio: 1; margin-bottom: 2rem; border-radius: 50%; color: var(--violet-deep); background: #fff8f2; border: 1px solid rgba(61,52,61,.16); font: 600 2rem/1 "Fraunces", serif; box-shadow: 4px 5px 0 rgba(117,87,141,.18); }
.shop-feature-card h3 { font-size: clamp(2.4rem, 5vw, 4.2rem); }
.shop-feature-card__doodle { position: absolute; right: 1.5rem; top: 1.1rem; color: var(--berry); font-size: 1.7rem; animation: breatheDoodle 5s ease-in-out infinite; }
.shop-swatches { display: flex; gap: .5rem; margin-top: 2rem; }
.swatch { width: 2.3rem; aspect-ratio: 1; border-radius: 50%; border: 2px solid rgba(255,255,255,.8); box-shadow: 0 3px 9px rgba(61,52,61,.12); }
.swatch--violet { background: var(--violet); } .swatch--pink { background: var(--rose); } .swatch--teal { background: var(--teal); } .swatch--sage { background: var(--sage); }

/* about */
.about-section { display: grid; grid-template-columns: minmax(300px,.85fr) minmax(0,1fr); gap: clamp(3rem,8vw,7rem); align-items: center; }
.about-collage { position: relative; min-height: 37rem; }
.polaroid--about-a { width: 64%; height: 28rem; left: 0; top: 1rem; transform: rotate(-5deg); }
.polaroid--about-b { width: 60%; height: 23rem; right: 0; bottom: .5rem; transform: rotate(5deg); }
.about-copy h2 { max-width: 11ch; }
.about-copy > p { max-width: 39rem; color: var(--ink-soft); font-size: 1.08rem; }
.about-copy blockquote { max-width: 15ch; margin: 2.5rem 0 0; color: var(--violet-deep); font: 600 clamp(2rem,4vw,3.5rem)/1.05 "Fraunces", serif; letter-spacing: -.04em; }

/* studio invite */
.studio-invite { position: relative; margin-bottom: clamp(4rem,8vw,7rem); padding-inline: clamp(1.5rem,5vw,4rem); border: 1px solid rgba(117,87,141,.16); border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(233,224,243,.72), rgba(248,227,232,.68), rgba(220,236,235,.62)); box-shadow: var(--shadow); text-align: center; }
.studio-invite h2 { max-width: 13ch; margin-inline: auto; }
.studio-invite > p:not(.eyebrow) { max-width: 45rem; margin-inline: auto; color: var(--ink-soft); }
.studio-invite__sparkle { position: absolute; right: 7%; top: 11%; color: var(--violet); font-size: 2rem; animation: breatheDoodle 4.8s ease-in-out infinite; }

/* archive */
.journal-archive { padding-bottom: clamp(5rem,10vw,9rem); }
.journal-archive__intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(18rem,.48fr); gap: clamp(2rem,7vw,6rem); align-items: end; padding: clamp(4rem,9vw,8rem) 0 clamp(3rem,7vw,5rem); }
.journal-archive__intro .eyebrow { grid-column: 1/-1; margin-bottom: -1rem; }
.journal-archive__intro h1 { max-width: 10ch; margin-bottom: 0; font-size: clamp(4.5rem,10vw,8.8rem); }
.journal-archive__intro > div { position: relative; padding-bottom: .8rem; }
.journal-archive__intro > div p { margin: 0; color: var(--ink-soft); font-size: 1.1rem; }
.intro-doodle { position: absolute; right: 0; top: -4rem; color: var(--teal); font-size: 2.8rem; animation: breatheDoodle 5.7s ease-in-out infinite; }
.tag-browser { display: flex; flex-wrap: wrap; gap: .55rem; padding: 1rem 0; border-block: 1px solid var(--line); }
.tag-browser a, .archive-card__tags a, .journal-entry__tags a { padding: .4rem .65rem; border: 1px solid rgba(117,87,141,.16); border-radius: 999px; background: rgba(255,255,255,.45); font: .64rem/1 "DM Mono", monospace; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.tag-browser a:hover, .tag-browser a.is-active, .archive-card__tags a:hover, .journal-entry__tags a:hover { background: var(--violet); color: #fff; transform: translateY(-1px); }
.archive-filter-note { display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.2rem; padding: .8rem 1rem; border-radius: .8rem; background: rgba(233,224,243,.72); font: .68rem/1.4 "DM Mono", monospace; }
.archive-filter-note a { color: var(--violet-deep); }
.journal-archive__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.3rem,4vw,3.5rem); align-items: start; padding-top: clamp(2.5rem,7vw,5rem); }
.archive-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-small); transition: transform .28s ease, box-shadow .28s ease; }
.archive-card:nth-child(even) { margin-top: 2.5rem; }
.archive-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.archive-card__tape { position: absolute; z-index: 3; top: -.35rem; left: 12%; width: 5.5rem; height: 1.2rem; background: rgba(231,196,135,.48); transform: rotate(-4deg); }
.archive-card__image { display: block; overflow: hidden; aspect-ratio: 1.55; }
.archive-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.8) contrast(.95); transition: transform .4s ease; }
.archive-card:hover .archive-card__image img { transform: scale(1.025); }
.archive-card__body { padding: clamp(1.4rem,4vw,2.3rem); }
.archive-card h2 { max-width: 12ch; margin: 1.1rem 0 .8rem; font-size: clamp(2.3rem,5vw,4rem); }
.archive-card h2 a { text-decoration: none; }
.archive-card__body > p { color: var(--ink-soft); }
.archive-card__tags, .journal-entry__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: 1.3rem; }
.journal-empty { padding: 5rem 0; text-align: center; }
.journal-empty > span { display: block; color: var(--rose); font-size: 3rem; }
.journal-empty p { font: 600 2rem/1 "Fraunces", serif; }

/* individual entry */
.journal-entry, .journal-not-found { width: min(calc(100% - 2rem), 930px); margin-inline: auto; padding: clamp(3.5rem,8vw,7rem) 0 clamp(5rem,10vw,9rem); }
.journal-entry__back { display: inline-block; margin-bottom: clamp(2.5rem,6vw,5rem); font: .68rem/1 "DM Mono", monospace; text-decoration: none; }
.journal-entry > article { position: relative; padding: clamp(1.5rem,6vw,5rem); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.journal-entry__tape { position: absolute; top: -.7rem; left: 16%; width: 8rem; height: 1.7rem; background: rgba(231,196,135,.48); transform: rotate(-3deg); }
.journal-entry__header h1, .journal-not-found h1 { max-width: 11ch; margin-bottom: 1.4rem; font-size: clamp(3.6rem,8vw,7.3rem); }
.journal-entry__excerpt { max-width: 42rem; font-size: clamp(1.1rem,2vw,1.35rem); color: var(--ink-soft); }
.journal-entry__meta { display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin-top: 1.8rem; padding: 1rem 0; border-block: 1px solid var(--line); color: var(--ink-soft); font: .62rem/1 "DM Mono", monospace; }
.journal-entry__featured { position: relative; width: min(100%, 46rem); margin: clamp(3rem,8vw,6rem) auto; padding: .8rem .8rem 2.8rem; background: #fffaf4; box-shadow: 0 14px 34px rgba(67,48,63,.16); transform: rotate(.8deg); }
.journal-entry__featured img { display: block; width: 100%; max-height: 46rem; object-fit: cover; filter: saturate(.84) contrast(.96); }
.journal-entry__featured figcaption { position: absolute; left: 0; right: 0; bottom: .75rem; text-align: center; font: 600 1rem/1 "Caveat", cursive; }
.journal-entry__featured-tape { position: absolute; z-index: 2; top: -.6rem; left: 50%; width: 7rem; height: 1.4rem; background: rgba(231,196,135,.55); transform: translateX(-50%) rotate(-3deg); }
.entry-handwritten-note { position: relative; max-width: 38rem; margin: 0 0 clamp(3rem,7vw,5rem); padding: 1.1rem 1.3rem; color: var(--violet-deep); background: rgba(233,224,243,.82); border-radius: .8rem; font: 600 1.18rem/1.45 "Caveat", cursive; transform: rotate(-1deg); }
.entry-handwritten-note::after { content: "tiny note"; position: absolute; right: 1rem; top: -.65rem; padding: .25rem .45rem; background: #fff0d8; color: var(--ink); font: .54rem/1 "DM Mono", monospace; text-transform: uppercase; transform: rotate(4deg); }
.journal-entry__content { max-width: 44rem; margin: clamp(3rem,8vw,6rem) auto; }
.journal-entry__content > p { margin: 0 0 1.7rem; font: 500 clamp(1.15rem,2.2vw,1.38rem)/1.78 "Fraunces", serif; }
.entry-quote { max-width: 13ch; margin: clamp(3rem,8vw,6rem) auto; color: var(--violet-deep); text-align: center; font: 600 clamp(2.3rem,6vw,4.7rem)/1.02 "Fraunces", serif; letter-spacing: -.045em; }
.journal-gallery { display: grid; grid-template-columns: 1.05fr .85fr; gap: .9rem; margin: clamp(3rem,8vw,6rem) -6vw; }
.journal-gallery__button { appearance: none; position: relative; overflow: hidden; min-height: 15rem; padding: 0; border: .6rem solid #fff; background: #fff; box-shadow: 0 8px 24px rgba(61,52,61,.15); cursor: zoom-in; transform: rotate(-1.5deg); }
.journal-gallery__button:nth-child(2) { transform: translateY(1.6rem) rotate(2deg); }
.journal-gallery__button:nth-child(3) { grid-column: 1/-1; width: 62%; margin-inline: auto; transform: rotate(-2deg); }
.journal-gallery__button img { display: block; width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.84) contrast(.96); }
.journal-entry__footer { display: grid; gap: .8rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.journal-entry__footer p { margin: 0; color: var(--ink-soft); font-size: .88rem; }
.journal-lightbox { width: min(calc(100% - 2rem), 1000px); max-height: calc(100vh - 2rem); padding: 0; border: 0; border-radius: 1rem; background: transparent; }
.journal-lightbox::backdrop { background: rgba(35,27,34,.9); backdrop-filter: blur(4px); }
.journal-lightbox__frame { position: relative; min-height: 70vh; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 1rem; padding: 1rem; color: #fff; background: #241d24; border-radius: 1rem; }
.journal-lightbox figure { min-width: 0; margin: 0; text-align: center; }
.journal-lightbox img { display: block; max-width: 100%; max-height: 72vh; margin-inline: auto; object-fit: contain; }
.journal-lightbox figcaption { margin-top: .7rem; font: .66rem/1.4 "DM Mono", monospace; }
.journal-lightbox button { appearance: none; border: 0; color: #fff; background: transparent; font-size: 1.8rem; cursor: pointer; }
.journal-lightbox__close { position: absolute; right: .8rem; top: .6rem; }

/* shop page */
.shop-page-main { padding-bottom: clamp(5rem,10vw,9rem); }
.shop-page-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,.55fr); gap: clamp(2rem,7vw,6rem); align-items: end; padding: clamp(4rem,9vw,8rem) 0; }
.shop-page-intro h1 { max-width: 10ch; margin-bottom: 1rem; font-size: clamp(4.4rem,10vw,8.8rem); }
.shop-page-intro__lede { max-width: 35rem; color: var(--ink-soft); font-size: 1.1rem; }
.shop-page-intro__note { position: relative; margin: 0 0 .5rem; padding: 1.4rem 1.4rem 1.4rem 3.8rem; border-radius: 1rem; background: #fff0d8; box-shadow: 5px 6px 0 rgba(231,196,135,.35); transform: rotate(1.5deg); }
.shop-page-intro__note span { position: absolute; left: 1.2rem; top: 1.1rem; color: var(--rose); font-size: 1.6rem; }
.shop-page-intro__note p { margin: 0; font-family: "Fraunces", serif; }
.shop-collections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding: clamp(3rem,7vw,6rem) 0; border-top: 1px solid var(--line); }
.shop-collection { min-height: 27rem; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(1.5rem,4vw,2.6rem); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-small); transition: transform .25s ease; }
.shop-collection:hover { transform: translateY(-4px) rotate(-.2deg); }
.shop-collection--soap { background: linear-gradient(145deg, #e2efed, #f9f4ef); }
.shop-collection--pens { background: linear-gradient(145deg, #eee5f5, #f8ebef); transform: translateY(1.2rem); }
.shop-collection--future { background: linear-gradient(145deg, #f6e4e9, #edf1e8); }
.shop-collection__mark { margin-bottom: auto; font: 600 3.5rem/1 "Fraunces", serif; color: var(--violet); }
.shop-collection h2 { margin-bottom: .8rem; font-size: clamp(2.8rem,6vw,4.8rem); }
.shop-collection p { color: var(--ink-soft); }
.shop-collection__status { display: inline-block; align-self: flex-start; margin-top: 1rem; padding: .35rem .55rem; border-radius: 999px; background: rgba(255,255,255,.55); font: .58rem/1 "DM Mono", monospace; text-transform: uppercase; }
.shop-making { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.8fr); gap: clamp(3rem,8vw,7rem); align-items: center; padding: clamp(5rem,9vw,8rem) 0; border-top: 1px solid var(--line); }
.shop-story__copy h2 { max-width: 11ch; }
.shop-story__copy > p:not(.eyebrow) { max-width: 39rem; color: var(--ink-soft); font-size: 1.08rem; }
.shop-worktable { position: relative; min-height: 32rem; }
.shop-worktable__paper { position: absolute; width: 72%; padding: 1.5rem; border: 1px solid rgba(61,52,61,.08); border-radius: .7rem; box-shadow: var(--shadow-small); }
.shop-worktable__paper span { display: block; margin-bottom: 1.2rem; font-size: 1.6rem; }
.shop-worktable__paper strong { display: block; font: 600 2rem/1 "Fraunces", serif; }
.shop-worktable__paper p { margin: .5rem 0 0; color: var(--ink-soft); }
.shop-worktable__paper--violet { left: 0; top: 0; background: #eee5f5; transform: rotate(-5deg); }
.shop-worktable__paper--teal { right: 0; top: 8rem; background: #dceceb; transform: rotate(4deg); }
.shop-worktable__paper--rose { left: 8%; bottom: 0; background: #f8e3e8; transform: rotate(-1.5deg); }
.shop-social { display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: clamp(4rem,8vw,7rem); border-radius: var(--radius-xl); background: linear-gradient(135deg, rgba(233,224,243,.65), rgba(220,236,235,.58)); box-shadow: var(--shadow-small); }
.shop-social h2 { max-width: 9ch; margin-bottom: 1rem; }
.shop-social p { max-width: 38rem; color: var(--ink-soft); }

/* Studio */
.studio-page { background: radial-gradient(circle at 10% 8%, rgba(217,143,165,.16), transparent 26rem), radial-gradient(circle at 93% 30%, rgba(95,159,155,.17), transparent 28rem), linear-gradient(180deg,#fffaf3,#faf5fb); }
.studio-page .site-header { width: min(calc(100% - 2rem), 1180px); }
.studio-shell { --max: 1180px; padding-bottom: clamp(5rem,10vw,9rem); }
.studio-intro { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(17rem,.6fr); gap: clamp(2rem,7vw,7rem); align-items: end; padding: clamp(3.5rem,8vw,7rem) 0 clamp(3rem,7vw,5rem); }
.studio-intro h1 { max-width: 12ch; margin-bottom: 1.2rem; font-size: clamp(3.8rem,8vw,7.5rem); }
.studio-intro__copy > p:not(.eyebrow) { max-width: 45rem; color: var(--ink-soft); font-size: 1.08rem; }
.studio-intro__chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.5rem; }
.studio-intro__chips span { padding: .4rem .62rem; border: 1px solid rgba(117,87,141,.15); border-radius: 999px; background: rgba(255,255,255,.55); font: .6rem/1 "DM Mono", monospace; text-transform: uppercase; }
.studio-privacy-note { position: relative; padding: 1.5rem 1.5rem 1.5rem 4rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255,255,255,.7); box-shadow: 6px 7px 0 rgba(95,159,155,.25); transform: rotate(1deg); }
.studio-privacy-note > span { position: absolute; left: 1.25rem; top: 1rem; color: var(--rose); font-size: 2rem; animation: breatheDoodle 5s ease-in-out infinite; }
.studio-privacy-note p { margin: 0; font-size: .88rem; }
.studio-workspace { position: relative; padding: clamp(1.3rem,4vw,3.7rem); border: 1px solid var(--line); border-radius: var(--radius-xl); background: rgba(255,255,255,.74); box-shadow: 0 26px 80px rgba(84,61,78,.10); backdrop-filter: blur(9px); }
.studio-workspace::before { content: ""; position: absolute; top: -.8rem; left: 12%; width: 9rem; height: 1.8rem; background: rgba(231,196,135,.42); transform: rotate(-3deg); }
.studio-workspace__heading, .studio-subheading, .studio-composer__topline, .studio-layout-picker { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; }
.studio-workspace__heading h2, .studio-subheading h2, .studio-composer h2, .studio-publish-panel h2 { margin-bottom: 0; font-size: clamp(2.5rem,5vw,4.7rem); }
.studio-step-note, .studio-photo-count, .studio-preview-badge { flex: 0 0 auto; margin: 0; color: var(--ink-soft); font-size: .62rem; }
.studio-entry-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.55fr); gap: clamp(1.5rem,5vw,3.5rem); margin-top: clamp(2.5rem,6vw,4rem); }
.studio-writing-card, .studio-mood-card { padding: clamp(1.2rem,3vw,2rem); border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,253,249,.68); }
.studio-mood-card { background: linear-gradient(145deg, rgba(239,233,248,.68), rgba(220,236,235,.54)); }
.studio-field { margin-top: 2rem; }
.studio-field--first { margin-top: 0; }
.studio-field label, .studio-photo-card__body label, .studio-control-label { display: block; margin: 0 0 .55rem; font: 500 .68rem/1.2 "DM Mono", monospace; letter-spacing: .04em; text-transform: uppercase; }
.studio-label-row { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.studio-title-input { width: 100%; min-height: 3.8rem; padding: .6rem 0; border: 0; border-bottom: 1px solid rgba(61,52,61,.6); border-radius: 0; outline: none; color: var(--ink); background: transparent; font: 600 clamp(1.8rem,4vw,3rem)/1.1 "Fraunces", serif; transition: border-color .2s ease, box-shadow .2s ease; }
.studio-title-input:focus { border-color: var(--violet); box-shadow: 0 2px 0 rgba(117,87,141,.35); }
.studio-body-input { width: 100%; min-height: 18rem; padding: 1rem; resize: vertical; border: 1px solid rgba(117,87,141,.16); border-radius: 1rem; outline: none; color: var(--ink); background: rgba(255,255,255,.6); font: 500 1.05rem/1.7 "Fraunces", serif; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.studio-body-input:focus, .studio-photo-card textarea:focus { border-color: rgba(117,87,141,.45); background: rgba(255,255,255,.9); box-shadow: 0 0 0 4px rgba(233,224,243,.55), 0 8px 24px rgba(84,61,78,.06); }
.studio-field-meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: .55rem; color: var(--ink-soft); font: .6rem/1.4 "DM Mono", monospace; }
.studio-tiny-button, .studio-link-button { appearance: none; padding: 0; border: 0; background: transparent; color: var(--violet-deep); cursor: pointer; font: 500 .62rem/1 "DM Mono", monospace; text-decoration: underline; text-underline-offset: .2em; }
.studio-writing-prompt { margin: 1rem 0 0; padding: .8rem 1rem; border-left: 3px solid var(--rose); background: rgba(248,227,232,.55); border-radius: 0 .7rem .7rem 0; color: var(--berry); font: 600 1.05rem/1.3 "Caveat", cursive; }
.studio-draft-actions { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.studio-control-hint { margin: 0; color: var(--ink-soft); font-size: .78rem; }
.studio-mood-buttons { display: grid; gap: .55rem; margin-top: 1.2rem; }
.studio-mood-button { appearance: none; display: grid; grid-template-columns: auto 1fr auto; gap: .7rem; align-items: center; width: 100%; padding: .8rem; border: 1px solid rgba(117,87,141,.14); border-radius: .85rem; background: rgba(255,255,255,.6); text-align: left; cursor: pointer; transition: border-color .2s ease, transform .2s ease, background .2s ease; }
.studio-mood-button:hover { transform: translateX(2px); }
.studio-mood-button.is-active { border-color: var(--violet); background: rgba(255,255,255,.92); box-shadow: 0 0 0 2px rgba(117,87,141,.08); }
.studio-mood-button strong { font-size: .82rem; }
.studio-mood-button small { color: var(--ink-soft); font-size: .66rem; }
.mood-dot { width: 1.15rem; aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(61,52,61,.08); }
.mood-dot--soft { background: linear-gradient(135deg,#fff3df,#efb8c7); } .mood-dot--violet { background: linear-gradient(135deg,#d9c8e9,#75578d); } .mood-dot--teal { background: linear-gradient(135deg,#cae4e1,#5f9f9b); } .mood-dot--rose { background: linear-gradient(135deg,#f2c0ce,#96546f); }
.studio-mood-note { margin: 1.2rem 0 0; color: var(--ink-soft); font: 600 1rem/1.2 "Caveat", cursive; transform: rotate(-1deg); }
.studio-photo-section { margin-top: clamp(3rem,7vw,5rem); padding-top: clamp(2.5rem,6vw,4rem); border-top: 1px solid var(--line); }
.studio-dropzone { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 1.2rem; align-items: center; min-height: 11rem; margin-top: 2rem; padding: clamp(1.3rem,4vw,2.5rem); overflow: hidden; border: 1.5px dashed rgba(117,87,141,.38); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(233,224,243,.62), rgba(255,245,246,.75), rgba(220,236,235,.58)); cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.studio-dropzone:hover, .studio-dropzone:focus-visible, .studio-dropzone.is-drag-over { border-color: var(--violet); outline: 3px solid rgba(95,159,155,.25); outline-offset: 3px; transform: scale(1.004); }
.studio-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.studio-dropzone__doodle { display: grid; place-items: center; width: clamp(3.8rem,8vw,5.5rem); aspect-ratio: 1; border: 1px solid rgba(61,52,61,.5); border-radius: 50%; background: var(--teal-soft); box-shadow: 3px 4px 0 rgba(87,61,112,.35); color: var(--violet-deep); font-size: 2rem; animation: breatheDoodle 5.8s ease-in-out infinite; }
.studio-dropzone__copy { display: grid; gap: .3rem; }
.studio-dropzone__copy strong { font: 600 clamp(1.5rem,3vw,2.2rem)/1 "Fraunces", serif; }
.studio-dropzone__copy span { color: var(--ink-soft); font-size: .85rem; }
.studio-feedback { display: flex; justify-content: space-between; gap: 1rem; margin-top: .7rem; color: var(--ink-soft); font: .62rem/1.4 "DM Mono", monospace; }
.studio-feedback p { margin: 0; }
.studio-status.is-warning { color: var(--berry); }
.studio-layout-picker { margin-top: 2.6rem; padding: 1.2rem 0; border-block: 1px solid var(--line); }
.studio-layout-buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.studio-layout-button, .studio-card-action { min-height: 2.7rem; padding: .62rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); cursor: pointer; font: 500 .64rem/1 "DM Mono", monospace; }
.studio-layout-button.is-active { background: var(--violet); color: #fff; border-color: var(--violet); }
.studio-layout-button span { color: var(--rose); margin-right: .25rem; }
.studio-composer { margin-top: clamp(3rem,7vw,5rem); }
.studio-preview-badge { padding: .4rem .6rem; border-radius: 999px; background: rgba(233,224,243,.65); }
.studio-entry-preview { position: relative; margin-top: 1.5rem; padding: clamp(1.4rem,5vw,4rem); overflow: hidden; border: 1px solid var(--line); border-radius: 1.4rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.75), var(--shadow-small); transition: background .35s ease; }
.studio-entry-preview--soft { background: linear-gradient(145deg,#fff9f2,#fbedf0); }
.studio-entry-preview--violet { background: linear-gradient(145deg,#f2ebf7,#fffaf5); }
.studio-entry-preview--teal { background: linear-gradient(145deg,#e4f1ef,#fffaf5); }
.studio-entry-preview--rose { background: linear-gradient(145deg,#f9e4ea,#fffaf5); }
.studio-entry-preview__topline { display: flex; justify-content: space-between; gap: 1rem; color: var(--ink-soft); font: .62rem/1 "DM Mono", monospace; text-transform: uppercase; }
.studio-entry-preview__topline span:last-child { color: var(--violet); }
.studio-entry-preview h3 { max-width: 13ch; margin: 2rem 0 1.5rem; font-size: clamp(2.8rem,6vw,5.4rem); }
.studio-entry-preview__body { max-width: 44rem; }
.studio-entry-preview__body p { font: 500 1.08rem/1.75 "Fraunces", serif; }
.studio-preview-placeholder { color: var(--ink-soft); font-style: italic; }
.studio-empty { display: grid; min-height: 12rem; place-content: center; gap: .25rem; margin-top: 2rem; padding: 1.5rem; border: 1px dashed rgba(117,87,141,.18); border-radius: 1rem; background: rgba(255,255,255,.35); text-align: center; }
.studio-empty[hidden] { display: none; }
.studio-empty > span { color: var(--rose); font-size: 2.5rem; }
.studio-empty strong { font: 600 1.5rem/1 "Fraunces", serif; }
.studio-empty p { margin: .3rem 0 0; color: var(--ink-soft); font-size: .82rem; }
.studio-preview { display: grid; gap: 1rem; margin-top: 1.5rem; }
.studio-preview--collage { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
.studio-preview--collage .studio-photo-card:nth-child(3n) { grid-column: 1/-1; width: min(100%,42rem); margin-inline: auto; }
.studio-preview--stack { grid-template-columns: 1fr; }
.studio-preview--stack .studio-photo-card { width: min(100%,48rem); margin-inline: auto; }
.studio-preview--film { grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; }
.studio-photo-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 10px 25px rgba(84,61,78,.08); transition: opacity .15s ease, transform .15s ease; }
.studio-photo-card.is-cover { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(117,87,141,.12), 0 12px 30px rgba(84,61,78,.10); }
.studio-photo-card.is-dragging { opacity: .5; transform: scale(.985); }
.studio-photo-card__image { position: relative; min-height: 12rem; overflow: hidden; background: var(--lavender); }
.studio-photo-card__image img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.studio-cover-flag { position: absolute; left: .65rem; top: .65rem; padding: .35rem .5rem; border-radius: 999px; background: rgba(61,52,61,.88); color: #fff; font: .55rem/1 "DM Mono", monospace; text-transform: uppercase; }
.studio-photo-card__body { padding: 1rem; }
.studio-photo-card textarea { display: block; width: 100%; min-height: 4.5rem; padding: .75rem; resize: vertical; border: 1px solid var(--line); border-radius: .7rem; outline: none; background: var(--cream); color: var(--ink); }
.studio-photo-actions { display: flex; flex-wrap: wrap; gap: .38rem; margin-top: .7rem; }
.studio-card-action { min-height: 2.35rem; padding: .46rem .65rem; font-size: .58rem; }
.studio-card-action:disabled { opacity: .4; cursor: default; }
.studio-card-action--cover { background: var(--lavender); color: var(--violet-deep); }
.studio-card-action--remove { margin-left: auto; color: var(--berry); }
.studio-preview--film .studio-photo-card__image img { aspect-ratio: 3/4; }
.studio-publish-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 2rem; align-items: end; margin-top: clamp(3rem,7vw,5rem); padding: clamp(1.5rem,4vw,2.6rem); border-radius: var(--radius-lg); background: linear-gradient(135deg, rgba(233,224,243,.58), rgba(220,236,235,.48)); }
.studio-publish-panel p:not(.eyebrow) { max-width: 42rem; margin-bottom: 0; color: var(--ink-soft); }
.studio-publish-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.studio-post-data { grid-column: 1/-1; width: 100%; min-height: 16rem; padding: 1rem; border: 1px solid var(--line); border-radius: .8rem; background: #2d2730; color: #efe9f0; font: .72rem/1.5 "DM Mono", monospace; }
.studio-toast { position: fixed; z-index: 100; right: 1.2rem; bottom: 1.2rem; max-width: 22rem; padding: .9rem 1rem; border: 1px solid rgba(117,87,141,.16); border-radius: 999px; background: rgba(255,253,249,.94); box-shadow: var(--shadow-small); opacity: 0; transform: translateY(12px); pointer-events: none; font: .64rem/1.4 "DM Mono", monospace; transition: opacity .25s ease, transform .25s ease; }
.studio-toast.is-visible { opacity: 1; transform: translateY(0); }
.is-saved-twinkle::before, .is-saved-twinkle::after { content: "✦"; position: absolute; z-index: 5; color: var(--violet); font-family: Georgia, serif; pointer-events: none; animation: sparklePop .75s ease-out forwards; }
.is-saved-twinkle::before { top: -1rem; right: .5rem; font-size: .95rem; }
.is-saved-twinkle::after { top: -.1rem; right: -1rem; color: var(--rose); font-size: .65rem; animation-delay: .08s; }
@keyframes sparklePop { 0% { opacity:0; transform: scale(.4) rotate(-15deg); } 35% { opacity:1; transform: scale(1.25) rotate(8deg); } 100% { opacity:0; transform: translateY(-12px) scale(.8) rotate(20deg); } }
.is-new-entry { transform-origin: top center; animation: entryUnfold .65s cubic-bezier(.2,.8,.2,1) both; }
@keyframes entryUnfold { from { opacity:0; transform: translateY(-16px) scaleY(.95); } to { opacity:1; transform: translateY(0) scaleY(1); } }

/* footer */
.site-footer { position: relative; display: flex; justify-content: space-between; align-items: end; gap: 2rem; padding: 2.2rem 0 3rem; border-top: 1px solid var(--line); color: var(--ink-soft); }
.footer-logo { display: inline-block; color: var(--ink); font-size: 1.4rem; }
.site-footer p { max-width: 30rem; margin: .45rem 0 0; font-size: .82rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: .8rem; font: .64rem/1 "DM Mono", monospace; text-transform: uppercase; }
.footer-links a { text-decoration: none; }
.footer-doodle { position: absolute; right: 0; bottom: 1rem; color: rgba(117,87,141,.28); font-size: 1rem; letter-spacing: .5em; }

/* responsive */
@media (max-width: 900px) {
  .hero-section, .about-section, .shop-section, .shop-making, .studio-entry-grid { grid-template-columns: 1fr; }
  .hero-section { min-height: 0; }
  .hero-collage { width: min(100%, 38rem); margin-inline: auto; }
  .about-collage { width: min(100%, 38rem); margin-inline: auto; order: 2; }
  .shop-feature-card { width: min(100%, 34rem); margin-inline: auto; }
  .shop-collections { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .shop-collection--future { grid-column: 1/-1; min-height: 20rem; }
  .studio-intro, .journal-archive__intro, .shop-page-intro { grid-template-columns: 1fr; align-items: start; }
  .journal-archive__intro .eyebrow { grid-column: auto; margin-bottom: -.4rem; }
  .studio-privacy-note, .shop-page-intro__note { max-width: 36rem; }
  .studio-publish-panel { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 720px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  .site-nav { justify-content: flex-start; }
  .hero-copy h1 { font-size: clamp(4rem,18vw,6.7rem); }
  .hero-collage { min-height: 30rem; }
  .polaroid--hero-a { height: 23rem; }
  .polaroid--hero-b { height: 19rem; }
  .section-heading, .studio-workspace__heading, .studio-subheading, .studio-composer__topline, .studio-layout-picker, .shop-social { align-items: flex-start; flex-direction: column; }
  .journal-grid, .journal-archive__grid, .shop-collections { grid-template-columns: 1fr; }
  .journal-card:nth-child(2), .archive-card:nth-child(even), .shop-collection--pens { transform: none; margin-top: 0; }
  .shop-collection--future { grid-column: auto; }
  .journal-gallery { grid-template-columns: 1fr; margin-inline: -.2rem; }
  .journal-gallery__button:nth-child(2), .journal-gallery__button:nth-child(3) { grid-column: auto; width: 100%; margin: 0; transform: rotate(1deg); }
  .studio-dropzone { grid-template-columns: auto minmax(0,1fr); }
  .studio-add-button { grid-column: 1/-1; width: 100%; }
  .studio-preview--film { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer { align-items: flex-start; flex-direction: column; }
  .footer-doodle { display: none; }
}

@media (max-width: 540px) {
  main, .site-header, .site-footer, .section-shell, .studio-shell { width: min(calc(100% - 1.2rem), var(--max)); }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-handnote { margin-left: 1rem; }
  .hero-collage { min-height: 25rem; }
  .polaroid--hero-a { width: 70%; height: 19rem; }
  .polaroid--hero-b { width: 62%; height: 16rem; }
  .hero-jewel { width: 3rem; }
  .about-collage { min-height: 28rem; }
  .polaroid--about-a { height: 21rem; }
  .polaroid--about-b { height: 17rem; }
  .latest-entry__card { grid-template-columns: 1fr; padding: 1.25rem; }
  .latest-entry__photo-wrap { width: min(100%, 19rem); margin-inline: auto; }
  .journal-entry > article { padding: 1.25rem; }
  .studio-workspace { margin-inline: -.15rem; padding: 1.1rem; }
  .studio-dropzone { grid-template-columns: 1fr; text-align: center; }
  .studio-dropzone__doodle { justify-self: center; }
  .studio-layout-buttons { display: grid; grid-template-columns: 1fr; width: 100%; }
  .studio-layout-button { width: 100%; }
  .studio-preview--collage, .studio-preview--film { grid-template-columns: 1fr; }
  .studio-preview--collage .studio-photo-card:nth-child(3n) { grid-column: auto; width: 100%; }
  .studio-card-action { flex: 1 1 auto; }
  .studio-card-action--remove { margin-left: 0; }
  .studio-label-row { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-soft { opacity: 1; transform: none; filter: none; }
  .rtc-parallax-soft { transform: none !important; }
}

/* =========================================================
   REAL STUDIO / CMS — private diary edition
   ========================================================= */

.studio-page {
  --studio-night: #2f2436;
  --studio-night-2: #3c2c47;
  --studio-paper: #fffaf4;
  --studio-plum: #6d4a7e;
  --studio-jewel: #7c5ba0;
  --studio-teal: #5b9b96;
  --studio-rose: #d687a2;
  min-height: 100vh;
  color: #f8f0f7;
  background:
    radial-gradient(circle at 12% 8%, rgba(188, 114, 155, .24), transparent 27rem),
    radial-gradient(circle at 90% 18%, rgba(73, 151, 144, .22), transparent 28rem),
    radial-gradient(circle at 60% 82%, rgba(126, 91, 160, .22), transparent 34rem),
    linear-gradient(160deg, #2a202f, #382844 56%, #263c3b 140%);
}
.studio-page::before {
  opacity: .08;
  background-image: radial-gradient(rgba(255,255,255,.45) .7px, transparent .7px);
  background-size: 18px 18px;
}
.studio-night-glow { position: fixed; z-index: -1; width: 26rem; height: 26rem; border-radius: 50%; filter: blur(65px); opacity: .22; pointer-events: none; }
.studio-night-glow--a { left: -10rem; top: 14rem; background: #d98fa5; }
.studio-night-glow--b { right: -9rem; bottom: 3rem; background: #6eb4ae; }
.studio-private-header,
.studio-private-footer,
.studio-private-shell,
.studio-login-shell,
.studio-preview-shell,
.studio-published-shell { width: min(calc(100% - 2rem), 1180px); margin-inline: auto; }
.studio-private-header { display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.studio-private-logo { color: #fff7fb; }
.studio-private-logo span { margin-left: .45rem; color: #cbb8d5; font: .55rem/1 "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.studio-private-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .85rem; }
.studio-private-nav a { color: rgba(255,255,255,.78); font: .62rem/1 "DM Mono", monospace; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; }
.studio-private-nav a:hover { color: #fff; }
.studio-user-badge { display: grid; gap: .18rem; justify-items: end; color: #fff; font-size: .78rem; }
.studio-user-badge span { padding: .3rem .52rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.09); color: #e8d4ef; font: .54rem/1 "DM Mono", monospace; text-transform: uppercase; }
.studio-private-footer { display: flex; justify-content: space-between; gap: 1rem; padding: 2rem 0 3rem; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.48); font: .58rem/1 "DM Mono", monospace; letter-spacing: .06em; text-transform: uppercase; }
.studio-private-shell { padding: clamp(3rem,7vw,6rem) 0 clamp(5rem,10vw,8rem); }
.studio-page .eyebrow { color: #d9c3e5; }
.studio-page .button-soft { background: rgba(255,255,255,.82); color: var(--ink); }
.studio-page .text-link { color: #f6eaf6; }

/* login */
.studio-login-shell { min-height: calc(100vh - 8rem); display: grid; place-items: center; padding: 4rem 0 7rem; }
.studio-login-card { position: relative; width: min(100%, 38rem); padding: clamp(2rem,6vw,4rem); border: 1px solid rgba(255,255,255,.16); border-radius: 2.2rem; background: linear-gradient(155deg, rgba(255,250,244,.97), rgba(241,229,246,.94)); color: var(--ink); box-shadow: 0 35px 100px rgba(13,8,18,.35); overflow: hidden; }
.studio-login-card::after { content:""; position:absolute; inset:auto -3rem -5rem auto; width:14rem; height:14rem; border-radius:50%; background:radial-gradient(circle,rgba(95,159,155,.22),transparent 70%); }
.studio-login-card h1 { max-width: 9ch; margin-bottom: 1rem; font-size: clamp(3.2rem,8vw,6.2rem); color: #493650; }
.studio-login-card > p { color: var(--ink-soft); }
.studio-login-doodles { display: flex; gap: .65rem; position: absolute; right: 2rem; top: 1.8rem; color: var(--violet); }
.studio-login-doodles span { animation: rtc-gentle-float 5s ease-in-out infinite; }
.studio-login-doodles span:nth-child(2) { animation-delay:-1.4s; color:var(--teal); }.studio-login-doodles span:nth-child(3){animation-delay:-2.6s;color:var(--rose)}
.studio-login-form { display:grid; gap:1.4rem; margin-top:2rem; }
.studio-door-choice { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin:0; padding:0; border:0; }
.studio-door-choice legend { grid-column:1/-1; margin-bottom:.45rem; font: .62rem/1 "DM Mono",monospace; text-transform:uppercase; color:var(--violet); }
.studio-door-choice label { cursor:pointer; }
.studio-door-choice input { position:absolute; opacity:0; }
.studio-door-choice span { display:grid; gap:.25rem; min-height:6.5rem; padding:1.1rem; border:1px solid var(--line); border-radius:1rem; background:rgba(255,255,255,.58); transition:.2s ease; }
.studio-door-choice input:checked + span { border-color:rgba(117,87,141,.55); background:var(--lavender); box-shadow:0 0 0 3px rgba(117,87,141,.1); transform:translateY(-2px); }
.studio-door-choice strong { font:600 1.35rem/1 "Fraunces",serif; }.studio-door-choice small{color:var(--ink-soft)}
.studio-login-password { display:grid; gap:.45rem; font: .62rem/1 "DM Mono",monospace; text-transform:uppercase; color:var(--violet); }
.studio-login-password input { padding:1rem 1.1rem; border:1px solid var(--line); border-radius:.9rem; outline:0; background:#fff; color:var(--ink); font:1rem/1.2 "DM Sans",sans-serif; transition:.22s ease; }
.studio-login-password input:focus { border-color:var(--violet); box-shadow:0 0 0 5px rgba(117,87,141,.14),0 10px 28px rgba(117,87,141,.12); transform:translateY(-1px); }
body.is-opening-private-space .studio-login-card { animation: privateDoor .65s cubic-bezier(.22,.75,.3,1) forwards; }
@keyframes privateDoor { to { opacity:0; transform:translateY(-12px) scale(1.025); filter:blur(4px); } }

/* dashboard */
.studio-dashboard-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(19rem,.8fr); gap:clamp(2rem,7vw,6rem); align-items:end; margin-bottom:clamp(3rem,7vw,5rem); }
.studio-dashboard-intro h1 { max-width:11ch; margin-bottom:1.1rem; font-size:clamp(4rem,8vw,7rem); color:#fff8fb; }
.studio-dashboard-intro h1 em { color:#dcb3d1; }.studio-dashboard-intro p:not(.eyebrow){max-width:40rem;color:rgba(255,255,255,.7)}
.studio-today-mood { padding:1.4rem; border:1px solid rgba(255,255,255,.14); border-radius:1.35rem; background:rgba(255,255,255,.075); backdrop-filter:blur(10px); }
.studio-today-mood .studio-control-label { color:#e5cfea; }.studio-today-mood small{display:block;margin-top:.8rem;color:rgba(255,255,255,.5)}
.studio-home-moods { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.8rem; }
.studio-home-moods a { display:inline-flex; align-items:center; gap:.35rem; padding:.55rem .7rem; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.07); color:#fff; font-size:.72rem; text-decoration:none; transition:.18s ease; }
.studio-home-moods a:hover { background:rgba(255,255,255,.16); transform:translateY(-2px); }.studio-home-moods a span{color:#efbfd3}
.studio-big-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.studio-choice-card { position:relative; min-height:24rem; display:flex; flex-direction:column; padding:clamp(1.4rem,3vw,2.1rem); overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:1.7rem; color:var(--ink); text-decoration:none; box-shadow:0 24px 70px rgba(12,8,16,.18); transition:transform .25s ease,box-shadow .25s ease; }
.studio-choice-card:hover { transform:translateY(-5px) rotate(-.25deg); box-shadow:0 32px 80px rgba(12,8,16,.28); }
.studio-choice-card--new { background:linear-gradient(145deg,#f6e3ec,#fff8f4); }.studio-choice-card--edit{background:linear-gradient(145deg,#e9e0f3,#f9f3fb)}.studio-choice-card--shop{background:linear-gradient(145deg,#dceceb,#eff6ef)}
.studio-choice-card__icon { display:grid; width:4rem; aspect-ratio:1; place-items:center; margin-bottom:auto; border:1px solid rgba(61,52,61,.16); border-radius:50%; background:rgba(255,255,255,.65); color:var(--violet); font:2rem/1 "Fraunces",serif; transform:rotate(-5deg); }
.studio-choice-card .tiny-label { margin:2rem 0 .65rem; }.studio-choice-card h2{max-width:8ch;margin-bottom:.8rem;font-size:clamp(2.3rem,4vw,3.8rem)}.studio-choice-card p{color:var(--ink-soft)}.studio-choice-card strong{margin-top:auto;color:var(--violet);font:.68rem/1 "DM Mono",monospace;text-transform:uppercase}
.studio-recent-card { margin-top:1rem; padding:clamp(1.4rem,4vw,2.6rem); border:1px solid rgba(255,255,255,.12); border-radius:1.6rem; background:rgba(255,255,255,.07); }
.studio-section-title { display:flex; justify-content:space-between; gap:1rem; align-items:end; }.studio-section-title h2{margin-bottom:0;color:#fff;font-size:clamp(2.3rem,5vw,4rem)}.studio-section-title>span{color:#d8a9c4;letter-spacing:.5em}
.studio-activity-list { display:grid; margin-top:1.5rem; }.studio-activity-row{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;gap:1rem;padding:.9rem 0;border-top:1px solid rgba(255,255,255,.1);align-items:center}.studio-activity-row span{color:#d9c3e5;font:.58rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-activity-row strong{font-weight:500;color:#fff}.studio-activity-row time{color:rgba(255,255,255,.48);font-size:.7rem}
.studio-admin-nudge { display:flex; gap:1rem; align-items:center; margin-top:1rem; padding:1rem 1.2rem; border-left:3px solid #d98fa5; background:rgba(255,255,255,.06); }.studio-admin-nudge span{padding:.35rem .5rem;border-radius:999px;background:#d9c3e5;color:#392841;font:.55rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-admin-nudge p{margin:0;color:rgba(255,255,255,.68)}

/* lists / archive */
.studio-list-intro { display:flex; justify-content:space-between; gap:2rem; align-items:end; margin-bottom:2rem; }.studio-list-intro h1,.studio-trash-intro h1{max-width:10ch;margin-bottom:.8rem;font-size:clamp(3.5rem,7vw,6rem);color:#fff}.studio-list-intro p:not(.eyebrow),.studio-trash-intro p{max-width:45rem;color:rgba(255,255,255,.65)}
.studio-filter-bar { display:grid; grid-template-columns:minmax(13rem,1.5fr) repeat(3,minmax(8rem,.65fr)) auto auto; gap:.55rem; padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:1.2rem; background:rgba(255,255,255,.06); }
.studio-filter-bar input,.studio-filter-bar select { min-width:0;padding:.78rem .85rem;border:1px solid rgba(255,255,255,.13);border-radius:.7rem;outline:none;background:rgba(255,255,255,.1);color:#fff}.studio-filter-bar select option{color:#222}.studio-filter-bar .studio-card-action{color:#fff;background:rgba(255,255,255,.08);text-align:center;text-decoration:none}
.studio-post-card-grid,.studio-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.3rem; }
.studio-post-card,.studio-product-card { overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:1.4rem;background:#fffaf4;color:var(--ink);box-shadow:0 18px 50px rgba(8,5,12,.16)}
.studio-post-card__image{position:relative;display:grid;aspect-ratio:1.32;overflow:hidden;background:linear-gradient(145deg,var(--lavender),var(--teal-soft));text-decoration:none}.studio-post-card__image img{width:100%;height:100%;object-fit:cover}.studio-post-card__image>span{display:grid;place-content:center;gap:.4rem;text-align:center;color:var(--violet);font-size:2rem}.studio-post-card__image small{font:.6rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-post-card__image>b{position:absolute;top:.65rem;left:.65rem;padding:.4rem .55rem;border-radius:.2rem;background:#d8c4e6;color:#503d60;font:600 .58rem/1 "Caveat",cursive;transform:rotate(-4deg)}
.studio-post-card__body{padding:1.25rem}.studio-post-card__meta{display:flex;justify-content:space-between;gap:.5rem;color:var(--violet);font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-post-card h2{margin:1rem 0 .65rem;font-size:2rem}.studio-post-card h2 a{text-decoration:none}.studio-post-card p{color:var(--ink-soft);font-size:.85rem}.studio-post-card time{color:var(--ink-soft);font-size:.68rem}.studio-post-card.is-draft{background:linear-gradient(155deg,#fbf7fd,#eee5f5)}
.studio-receptacle-link { display:flex; justify-content:center; gap:.7rem; margin-top:2.2rem; color:rgba(255,255,255,.6); }.studio-receptacle-link a{color:#f2d9e8}
.studio-empty-state{display:grid;place-items:center;min-height:18rem;margin-top:1.5rem;padding:2rem;border:1px dashed rgba(255,255,255,.16);border-radius:1.4rem;text-align:center;background:rgba(255,255,255,.05)}.studio-empty-state>span{color:#e0b4cf;font-size:2.6rem}.studio-empty-state h2{margin:.8rem 0 .4rem;color:#fff;font-size:2.4rem}.studio-empty-state p{color:rgba(255,255,255,.55)}

/* editor */
.studio-editor-shell { max-width:1080px; }.studio-editor-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;color:rgba(255,255,255,.58);font:.62rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-editor-topbar>a{color:#fff;text-decoration:none}.studio-editor-topbar>div{display:flex;gap:.7rem;align-items:center}
.studio-status-pill { display:inline-flex;padding:.4rem .58rem;border-radius:999px;background:rgba(95,159,155,.2);color:#cbe8e5;border:1px solid rgba(95,159,155,.28);font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-status-pill.is-draft{background:rgba(213,175,228,.16);color:#e5cfea;border-color:rgba(213,175,228,.2)}.studio-status-pill.is-preview{background:#f0e5f4;color:#5c426c;border-color:#e0cce9}
.studio-real-editor,.studio-product-form{display:grid;gap:1rem}.studio-editor-paper,.studio-editor-panel{position:relative;padding:clamp(1.4rem,4vw,3rem);border:1px solid rgba(255,255,255,.13);border-radius:1.6rem;background:linear-gradient(155deg,#fffdf9,#fff8f2);color:var(--ink);box-shadow:0 24px 70px rgba(8,5,12,.16)}.studio-editor-paper::before{content:"";position:absolute;top:-.55rem;left:12%;width:7rem;height:1.4rem;background:rgba(236,207,150,.58);transform:rotate(-3deg)}
.studio-editor-paper__heading,.studio-panel-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem}.studio-editor-paper__heading h1{max-width:12ch;margin-bottom:1.5rem;font-size:clamp(3rem,6vw,5rem)}.studio-editor-paper__heading>span{color:var(--rose);font-size:1.6rem}.studio-panel-heading h2{margin-bottom:1.3rem;font-size:clamp(2rem,4vw,3.4rem)}.studio-panel-heading>span{color:var(--ink-soft);font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}
.studio-main-field,.studio-sub-field{display:grid;gap:.5rem;margin-top:1.3rem;color:var(--violet);font:.62rem/1.2 "DM Mono",monospace;text-transform:uppercase}.studio-main-field input,.studio-main-field textarea,.studio-sub-field textarea,.studio-keepsake-grid input,.studio-keepsake-grid textarea,.studio-product-form input,.studio-product-form textarea,.studio-product-form select,.studio-settings-form input,.studio-settings-form textarea,.studio-password-form input,.studio-password-form select{width:100%;padding:.9rem 1rem;border:1px solid rgba(81,62,78,.15);border-radius:.85rem;outline:none;background:#fffdfa;color:var(--ink);font:400 .95rem/1.55 "DM Sans",sans-serif;text-transform:none;transition:.2s ease}.studio-main-field>input[name=title]{padding:.65rem 0;border:0;border-bottom:1px solid rgba(61,52,61,.25);border-radius:0;background:transparent;font:600 clamp(1.8rem,4vw,3rem)/1.1 "Fraunces",serif}.studio-main-field input:focus,.studio-main-field textarea:focus,.studio-sub-field textarea:focus,.studio-keepsake-grid input:focus,.studio-keepsake-grid textarea:focus,.studio-product-form input:focus,.studio-product-form textarea:focus,.studio-product-form select:focus,.studio-settings-form input:focus,.studio-settings-form textarea:focus,.studio-password-form input:focus,.studio-password-form select:focus{border-color:rgba(117,87,141,.55);box-shadow:0 0 0 4px rgba(117,87,141,.11)}.studio-sub-field small{color:var(--ink-soft);font-family:"DM Sans",sans-serif;text-transform:none}
.studio-writing-prompt{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;margin:1.1rem 0;padding:.8rem 1rem;border-radius:.8rem;background:var(--lavender);color:var(--violet)}.studio-writing-prompt span{font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-writing-prompt button{border:0;background:transparent;color:var(--berry);cursor:pointer;font:600 .9rem/1 "Caveat",cursive}.studio-writing-prompt p{flex-basis:100%;margin:0;color:var(--ink-soft);font-style:italic}.studio-writing-prompt p.is-flashing{animation:promptFlash .55s ease}@keyframes promptFlash{50%{opacity:.4;transform:translateY(-2px)}}
.studio-editor-panel--mood{background:linear-gradient(155deg,#f8f2fb,#fffaf5)}.studio-mood-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.studio-mood-choice{cursor:pointer}.studio-mood-choice input{position:absolute;opacity:0}.studio-mood-choice span{display:grid;place-items:center;gap:.35rem;min-height:6rem;padding:.7rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.62);transition:.18s ease}.studio-mood-choice b{font-size:1.35rem;color:var(--violet)}.studio-mood-choice strong{font-size:.72rem;font-weight:500}.studio-mood-choice input:checked+span{border-color:var(--violet);background:#fff;box-shadow:0 0 0 3px rgba(117,87,141,.12);transform:translateY(-3px) rotate(-.5deg)}
.studio-tag-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.studio-tag-suggestions button{padding:.38rem .55rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--violet);cursor:pointer;font:.6rem/1 "DM Mono",monospace}.studio-tag-suggestions button:hover{background:var(--lavender)}
.studio-keepsakes{background:linear-gradient(155deg,#fff7f7,#f8f4fc)}.studio-keepsake-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.studio-keepsake-grid article{padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.68)}.studio-keepsake-grid h3{margin:.5rem 0 .8rem;font-size:1.55rem}.studio-keepsake-grid p{color:var(--ink-soft);font-size:.78rem}.keepsake-icon{color:var(--rose);font-size:1.4rem}.studio-meme-preview{display:block;width:100%;max-height:15rem;object-fit:cover;margin-bottom:.65rem;border-radius:.7rem}.studio-song-search{display:flex;gap:.4rem}.studio-song-search input{min-width:0}.studio-song-search button{padding:.7rem;border:1px solid var(--line);border-radius:.7rem;background:var(--violet);color:white;cursor:pointer}.studio-song-results{display:grid;gap:.35rem;margin-top:.55rem}.studio-song-result{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.5rem;border:1px solid var(--line);border-radius:.7rem;background:#fff;text-align:left;cursor:pointer}.studio-song-result img{width:2.8rem;aspect-ratio:1;object-fit:cover;border-radius:.4rem}.studio-song-result>span:nth-child(2){display:grid;gap:.18rem;min-width:0}.studio-song-result strong,.studio-song-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-song-result small{color:var(--ink-soft);font-size:.65rem}.studio-song-result b{color:var(--violet);font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-selected-song{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:.6rem;align-items:center;margin-top:.6rem;padding:.55rem;border-radius:.8rem;background:var(--lavender)}.studio-selected-song[hidden]{display:none}.studio-selected-song img{width:3rem;aspect-ratio:1;object-fit:cover;border-radius:.45rem}.studio-selected-song div{display:grid}.studio-selected-song span{color:var(--ink-soft);font-size:.7rem}.studio-selected-song button{border:0;background:transparent;color:var(--violet);cursor:pointer}.studio-searching,.studio-search-note{margin:.6rem 0 0;color:var(--ink-soft);font-size:.72rem}
.studio-photo-upload-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.studio-photo-upload-row label{display:grid;gap:.5rem;padding:1rem;border:1px dashed rgba(117,87,141,.3);border-radius:1rem;background:rgba(233,224,243,.35);color:var(--violet)}.studio-existing-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.studio-existing-photos article{position:relative;padding:.6rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.studio-existing-photos img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:.55rem}.studio-existing-photos label{display:grid;gap:.3rem;margin-top:.5rem;color:var(--ink-soft);font-size:.66rem}.studio-existing-photos input[type=text],.studio-existing-photos input:not([type]){padding:.6rem;border:1px solid var(--line);border-radius:.55rem}.studio-cover-radio,.studio-remove-check{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center}.studio-cover-radio input,.studio-remove-check input{width:auto}.studio-cover-radio{color:var(--violet)!important}.studio-remove-check{color:var(--berry)!important}
.studio-privacy-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.studio-privacy-picker label{cursor:pointer}.studio-privacy-picker input{position:absolute;opacity:0}.studio-privacy-picker span{display:grid;gap:.3rem;min-height:8rem;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.65)}.studio-privacy-picker b{color:var(--violet);font-size:1.35rem}.studio-privacy-picker small{color:var(--ink-soft)}.studio-privacy-picker input:checked+span{border-color:var(--violet);background:var(--lavender);box-shadow:0 0 0 3px rgba(117,87,141,.1)}
.studio-editor-actions{position:sticky;bottom:.7rem;z-index:20;display:flex;justify-content:flex-end;align-items:center;gap:.7rem;padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:1.1rem;background:rgba(46,35,54,.9);backdrop-filter:blur(14px);box-shadow:0 20px 50px rgba(0,0,0,.2)}.studio-editor-actions>div{margin-right:auto}.studio-editor-actions p,.studio-editor-actions small{display:block;margin:0;color:rgba(255,255,255,.6);font-size:.68rem}.studio-editor-secondary{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;align-items:center}.studio-editor-secondary form{margin-left:auto}.studio-editor-secondary button,.studio-editor-secondary a{color:#f3e7f3;background:transparent;border:0;cursor:pointer;text-decoration:none;font:.62rem/1 "DM Mono",monospace;text-transform:uppercase}
.studio-message{margin:0 0 1rem;padding:.9rem 1rem;border-radius:.85rem;font-size:.83rem}.studio-message--success{background:#dcebe4;color:#355e54}.studio-message--error{background:#f6dfe6;color:#783e55}.studio-message ul{margin:.4rem 0 0;padding-left:1.2rem}

/* preview / publish */
.studio-preview-shell{padding:2rem 0 6rem}.studio-preview-toolbar{position:sticky;top:.5rem;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:rgba(45,33,53,.9);backdrop-filter:blur(14px);box-shadow:0 15px 45px rgba(0,0,0,.2)}.studio-preview-toolbar>div{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.studio-preview-toolbar strong{font-size:.78rem}.studio-preview-toolbar form{display:inline}.studio-exact-preview{width:min(100%,920px);margin-inline:auto}.studio-exact-preview .journal-entry-card{color:var(--ink)}
.studio-published-shell{min-height:70vh;display:grid;place-items:center;padding:4rem 0 7rem}.studio-published-card{position:relative;width:min(100%,44rem);padding:clamp(2rem,6vw,4rem);overflow:hidden;border-radius:2rem;background:linear-gradient(145deg,#fff9f5,#efe6f6);color:var(--ink);box-shadow:0 35px 90px rgba(0,0,0,.25);text-align:center}.studio-published-card h1{font-size:clamp(3.3rem,7vw,5.8rem)}.studio-published-card>div:last-child{display:flex;flex-wrap:wrap;justify-content:center;gap:.7rem;align-items:center}.studio-published-sparkles{position:absolute!important;inset:1.4rem;color:var(--violet);letter-spacing:1.2em;animation:sparkleDrift 3s ease-in-out infinite}@keyframes sparkleDrift{50%{transform:translateY(-6px);opacity:.65}}

/* trash, revisions */
.studio-trash-intro{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;margin-bottom:2rem}.studio-paper-bin{display:grid;width:6rem;aspect-ratio:1;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:rgba(255,255,255,.07);color:#d9c3e5;font-size:2.4rem;transform:rotate(-4deg)}.studio-trash-list,.studio-revision-list,.studio-backup-list{display:grid;gap:.65rem}.studio-trash-list article,.studio-revision-list article,.studio-backup-list article{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.8rem;border:1px solid rgba(255,255,255,.11);border-radius:1rem;background:rgba(255,255,255,.07)}.studio-trash-list img{width:5.5rem;aspect-ratio:1.2;object-fit:cover;border-radius:.65rem}.studio-trash-list h2{margin:0 0 .25rem;color:#fff;font-size:1.5rem}.studio-trash-list p,.studio-revision-list p{margin:0;color:rgba(255,255,255,.52);font-size:.72rem}.studio-trash-list form{display:flex;gap:.4rem}.studio-trash-list button,.studio-revision-list button{padding:.55rem .7rem;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}.studio-trash-list button.danger{color:#ffc4d7;border-color:rgba(255,130,160,.25)}.studio-trash-placeholder{display:grid;width:5.5rem;aspect-ratio:1.2;place-items:center;border-radius:.65rem;background:rgba(255,255,255,.08)}.studio-revision-list article{grid-template-columns:minmax(0,1fr) auto}.studio-revision-list article>div{display:grid;gap:.25rem}.studio-revision-list strong{color:#fff}.studio-revision-list span{color:#d9c3e5;font-size:.65rem}

/* shop editor */
.studio-product-card{display:grid;grid-template-columns:8rem minmax(0,1fr);padding:.7rem}.studio-product-card img,.studio-product-card__placeholder{width:8rem;height:100%;min-height:9rem;object-fit:cover;border-radius:.8rem;background:var(--lavender)}.studio-product-card__placeholder{display:grid;place-items:center;color:var(--violet);font-size:2rem}.studio-product-card>div:last-child{padding:.55rem .9rem}.studio-product-card h2{margin:.7rem 0 .4rem;font-size:1.8rem}.studio-product-card p{color:var(--ink-soft);font-size:.78rem}.studio-product-card__meta{display:flex;gap:.5rem;color:var(--violet);font:.55rem/1 "DM Mono",monospace;text-transform:uppercase}.studio-product-card .text-link{display:block;margin-top:.6rem;color:var(--violet)}
.studio-product-editor-shell{max-width:900px}.studio-product-two{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem}.studio-product-two label{display:grid;gap:.4rem;color:var(--violet);font:.62rem/1.2 "DM Mono",monospace;text-transform:uppercase}.studio-product-two small{color:var(--ink-soft);text-transform:none}.studio-feature-check{display:flex!important;gap:.55rem;align-items:center;margin-top:1rem;color:var(--ink)!important;font-family:"DM Sans",sans-serif!important;text-transform:none!important}.studio-feature-check input{width:auto!important}.studio-product-current-image{display:block;width:min(100%,30rem);max-height:28rem;object-fit:cover;margin-bottom:1rem;border-radius:1rem;box-shadow:var(--shadow-small)}

/* admin */
.studio-admin-hero{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;margin-bottom:2rem}.studio-admin-hero h1{margin-bottom:.6rem;color:#fff;font-size:clamp(4rem,7vw,6.5rem)}.studio-admin-hero p:not(.eyebrow){color:rgba(255,255,255,.62)}.studio-admin-stamp{display:inline-flex;padding:.42rem .6rem;border:1px solid rgba(255,255,255,.16);border-radius:.35rem;background:#d7b9e2;color:#3c2b48;font:.6rem/1 "DM Mono",monospace;text-transform:uppercase;transform:rotate(-3deg)}.studio-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.studio-admin-grid>a{min-height:13rem;padding:1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:1.3rem;background:rgba(255,255,255,.07);color:#fff;text-decoration:none}.studio-admin-grid>a:hover{background:rgba(255,255,255,.11)}.studio-admin-grid>a>span{color:#ddb5ce;font-size:1.6rem}.studio-admin-grid h2{margin:2rem 0 .5rem;font-size:2.2rem}.studio-admin-grid p{color:rgba(255,255,255,.55)}.studio-admin-form-shell{max-width:820px}.studio-settings-form,.studio-password-form{display:grid;gap:1rem}.studio-settings-form label,.studio-password-form label{display:grid;gap:.45rem;color:var(--violet);font:.62rem/1.2 "DM Mono",monospace;text-transform:uppercase}.studio-settings-form fieldset{display:grid;gap:.8rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.studio-settings-form legend{padding:0 .4rem;color:var(--violet);font:600 1.3rem/1 "Fraunces",serif}.studio-settings-form fieldset p{color:var(--ink-soft);font-size:.8rem}.studio-backup-list article{grid-template-columns:auto minmax(0,1fr) auto}.studio-backup-list>article>span{color:#d9c3e5;font-size:1.3rem}.studio-backup-list strong,.studio-backup-list small{display:block;color:#fff}.studio-backup-list small{margin-top:.2rem;color:rgba(255,255,255,.45)}.studio-backup-list a{color:#f0d9e7}.studio-backup-note{margin-top:1rem;color:rgba(255,255,255,.48);font-size:.75rem}.studio-backup-note code{color:#fff}

/* setup */
.setup-page{min-height:100vh;padding:3rem 1rem;background:linear-gradient(145deg,#f8e7ef,#eae2f5 55%,#dceceb);color:var(--ink)}.setup-shell{width:min(100%,820px);margin-inline:auto}.setup-card{padding:clamp(1.5rem,5vw,3.2rem);border:1px solid rgba(70,50,70,.12);border-radius:2rem;background:rgba(255,253,249,.94);box-shadow:0 30px 90px rgba(80,50,70,.16)}.setup-card h1{max-width:10ch;font-size:clamp(3.5rem,7vw,6rem)}.setup-form{display:grid;gap:1rem;margin-top:2rem}.setup-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:0;padding:1rem;border:1px solid var(--line);border-radius:1rem}.setup-form legend{padding:0 .4rem;color:var(--violet);font:600 1.5rem/1 "Fraunces",serif}.setup-form label{display:grid;gap:.4rem;color:var(--violet);font:.62rem/1.2 "DM Mono",monospace;text-transform:uppercase}.setup-form input{padding:.8rem;border:1px solid var(--line);border-radius:.7rem;outline:none;background:#fff;color:var(--ink);font:400 .9rem/1.2 "DM Sans",sans-serif;text-transform:none}.setup-form small{color:var(--ink-soft);font-family:"DM Sans",sans-serif;text-transform:none}.setup-note{margin-top:1rem;padding:1rem;border-radius:1rem;background:var(--lavender);font-size:.78rem}

/* public mood filtering / protected posts / keepsakes */
.journal-filter-room{display:grid;gap:1rem;padding:1rem 0;border-block:1px solid var(--line)}.mood-browser,.tag-browser{display:flex;flex-wrap:wrap;gap:.42rem}.mood-browser a,.tag-browser a{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .6rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55);font:.62rem/1 "DM Mono",monospace;text-decoration:none}.mood-browser a.is-active,.tag-browser a.is-active{background:var(--violet);color:white;border-color:var(--violet)}
.friends-unlock-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(16rem,.7fr);gap:1.2rem;align-items:center;margin:1.2rem 0 0;padding:1.1rem;border:1px solid rgba(117,87,141,.15);border-radius:1.2rem;background:linear-gradient(145deg,rgba(233,224,243,.7),rgba(255,255,255,.7))}.friends-unlock-card>span{color:var(--violet);font-size:2rem}.friends-unlock-card h2{margin-bottom:.35rem;font-size:1.8rem}.friends-unlock-card p{margin:0;color:var(--ink-soft);font-size:.8rem}.friends-unlock-card form{display:grid;grid-template-columns:1fr auto;gap:.45rem}.friends-unlock-card input,.friends-entry-gate input{min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:.7rem;outline:none}.friends-unlock-card small{grid-column:1/-1;color:var(--berry)}.friends-card-mark{display:inline-block;margin-top:.8rem;color:var(--berry);font:.58rem/1 "DM Mono",monospace;text-transform:uppercase}
.friends-entry-gate{width:min(100%,720px);margin:5rem auto;padding:clamp(1.6rem,5vw,3.2rem);border:1px solid var(--line);border-radius:1.6rem;background:linear-gradient(145deg,#f9eef4,#eee6f6);text-align:center;box-shadow:var(--shadow)}.friends-entry-gate>span{color:var(--rose);font-size:2rem}.friends-entry-gate h1{font-size:clamp(3rem,6vw,5rem)}.friends-entry-gate form{display:flex;gap:.5rem;justify-content:center;max-width:28rem;margin:1.2rem auto 0}.friends-entry-gate small{display:block;color:var(--berry)}
.journal-entry-card{position:relative;padding:clamp(1.5rem,6vw,5rem);border:1px solid var(--line);border-radius:1.6rem;background:rgba(255,255,255,.91);box-shadow:0 22px 65px rgba(80,58,74,.1)}.journal-entry__topline{display:flex;justify-content:space-between;gap:1rem;align-items:center}.journal-mood-badge{padding:.4rem .6rem;border-radius:999px;background:var(--lavender);color:var(--violet);font:.58rem/1 "DM Mono",monospace;text-transform:uppercase}.journal-keepsake-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.75fr);gap:2rem;align-items:center;margin:clamp(3rem,7vw,5rem) auto;padding:1.2rem;border:1px solid var(--line);border-radius:1.2rem;background:linear-gradient(145deg,#fff4f6,#f6edf8)}.journal-keepsake-card img{width:100%;max-height:28rem;object-fit:contain;border-radius:.8rem}.journal-keepsake-card h2{font-size:clamp(2rem,4vw,3.6rem)}
.journal-song-card{display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(20rem,1fr);gap:1.2rem;align-items:center;margin:clamp(3rem,7vw,5rem) auto;padding:1rem;border:1px solid var(--line);border-radius:1.2rem;background:linear-gradient(145deg,#e8e0f2,#dceceb)}.journal-song-card__identity{display:flex;gap:.8rem;align-items:center}.journal-song-card__identity img{width:4.5rem;aspect-ratio:1;object-fit:cover;border-radius:.65rem}.journal-song-card h2{margin:0 0 .25rem;font-size:1.8rem}.journal-song-card p{margin:0;color:var(--ink-soft)}.journal-spotify-embed{display:block;border:0;border-radius:12px}
.journal-card__mood{display:inline-block;margin-top:.7rem;color:var(--violet);font:.58rem/1 "DM Mono",monospace;text-transform:uppercase}

/* public shop products */
.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:2rem 0 5rem;border-top:1px solid var(--line)}.shop-product-card{overflow:hidden;border:1px solid var(--line);border-radius:1.4rem;background:#fff;box-shadow:var(--shadow-small)}.shop-product-card__image,.shop-product-card__placeholder{display:grid;aspect-ratio:1.1;overflow:hidden;place-items:center;background:linear-gradient(145deg,var(--lavender),var(--teal-soft));color:var(--violet);font-size:3rem}.shop-product-card__image img{width:100%;height:100%;object-fit:cover}.shop-product-card__body{padding:1.25rem}.shop-product-card__top{display:flex;justify-content:space-between;gap:.6rem;color:var(--violet);font:.56rem/1 "DM Mono",monospace;text-transform:uppercase}.shop-product-card h2{margin:1rem 0 .6rem;font-size:2.3rem}.shop-product-card p{color:var(--ink-soft)}.shop-price{display:block;margin:.8rem 0;font:600 1.5rem/1 "Fraunces",serif}.shop-product-card.is-sold-out{opacity:.7}.shop-empty-shelves{min-height:20rem;display:grid;place-content:center;text-align:center;border-block:1px solid var(--line)}.shop-empty-shelves>span{color:var(--rose);font-size:2.5rem}.shop-empty-shelves h2{margin:.5rem auto;font-size:3rem}

@media (max-width: 980px){
  .studio-private-header{grid-template-columns:1fr auto}.studio-private-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.studio-dashboard-intro{grid-template-columns:1fr}.studio-big-choices{grid-template-columns:1fr 1fr}.studio-choice-card--shop{grid-column:1/-1;min-height:18rem}.studio-post-card-grid,.studio-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-filter-bar{grid-template-columns:1fr 1fr 1fr}.studio-filter-bar input[type=search]{grid-column:1/-1}.studio-keepsake-grid{grid-template-columns:1fr 1fr}.studio-song-keepsake{grid-column:1/-1}.studio-mood-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.studio-existing-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friends-unlock-card{grid-template-columns:auto 1fr}.friends-unlock-card form{grid-column:1/-1}.journal-song-card{grid-template-columns:1fr}
}
@media (max-width: 700px){
  .studio-private-header{grid-template-columns:1fr}.studio-user-badge{justify-items:start}.studio-private-nav{grid-column:auto}.studio-dashboard-intro h1{font-size:clamp(3.5rem,14vw,5.5rem)}.studio-big-choices,.studio-post-card-grid,.studio-product-grid,.studio-admin-grid{grid-template-columns:1fr}.studio-choice-card--shop{grid-column:auto}.studio-filter-bar{grid-template-columns:1fr}.studio-filter-bar input[type=search]{grid-column:auto}.studio-activity-row{grid-template-columns:1fr;gap:.3rem}.studio-list-intro{align-items:flex-start;flex-direction:column}.studio-keepsake-grid,.studio-photo-upload-row,.studio-existing-photos,.studio-privacy-picker,.studio-product-two{grid-template-columns:1fr}.studio-mood-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-editor-actions{position:static;align-items:stretch;flex-direction:column}.studio-editor-actions>div{margin-right:0}.studio-editor-actions .button{width:100%;text-align:center}.studio-editor-paper__heading,.studio-panel-heading{align-items:flex-start;flex-direction:column}.studio-preview-toolbar{position:static;align-items:flex-start;flex-direction:column}.studio-trash-intro{grid-template-columns:1fr}.studio-trash-list article,.studio-revision-list article{grid-template-columns:1fr}.studio-trash-list img,.studio-trash-placeholder{width:100%;height:12rem}.studio-trash-list form{flex-wrap:wrap}.setup-form fieldset{grid-template-columns:1fr}.studio-door-choice{grid-template-columns:1fr}.shop-product-grid{grid-template-columns:1fr}.friends-entry-gate form{flex-direction:column}.journal-keepsake-card{grid-template-columns:1fr}.studio-product-card{grid-template-columns:6rem minmax(0,1fr)}.studio-product-card img,.studio-product-card__placeholder{width:6rem}
}

/* =========================================================
   TAG-FIRST STUDIO / PRIVATE LETTERS
   ========================================================= */

.studio-shelves {
  margin: clamp(3rem, 7vw, 5.5rem) 0;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 1.8rem;
  background:
    radial-gradient(circle at 8% 10%, rgba(203,152,194,.12), transparent 18rem),
    radial-gradient(circle at 92% 70%, rgba(84,163,161,.10), transparent 20rem),
    rgba(255,255,255,.035);
  box-shadow: 0 24px 70px rgba(10,8,18,.16);
}

.studio-section-title p:not(.eyebrow) { max-width: 46rem; color: rgba(255,255,255,.56); }

.studio-shelf-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1.5rem;
}

.studio-shelf-card {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 1rem;
  min-height: 14rem;
  padding: 1.2rem;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 1.35rem;
  background: linear-gradient(145deg, rgba(246,231,239,.98), rgba(230,224,244,.95));
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(11,8,15,.16);
}

.studio-shelf-card:nth-child(3n/**/+2) { background: linear-gradient(145deg, rgba(221,239,234,.97), rgba(238,231,246,.96)); }
.studio-shelf-card:nth-child(3n) { background: linear-gradient(145deg, rgba(249,232,236,.98), rgba(231,239,235,.95)); }
.studio-shelf-card--notes { background: linear-gradient(145deg, #eadcf1, #f7e6ec 52%, #dbeceb); }
.studio-shelf-card > span { display:grid; width:3.4rem; aspect-ratio:1; place-items:center; border:1px solid rgba(59,44,69,.14); border-radius:50%; background:rgba(255,255,255,.56); color:var(--violet); font:1.55rem/1 "Fraunces",serif; }
.studio-shelf-card small { color:var(--violet); font:.56rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-shelf-card h3 { margin:.45rem 0 .45rem; font-size:clamp(1.7rem,3vw,2.4rem); }
.studio-shelf-card p { margin:0; color:var(--ink-soft); font-size:.84rem; }
.studio-shelf-card__actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.45rem; margin-top:auto; }
.studio-shelf-card__actions a { padding:.55rem .7rem; border:1px solid rgba(76,57,86,.14); border-radius:999px; background:rgba(255,255,255,.62); color:var(--violet); font:.58rem/1 "DM Mono",monospace; text-decoration:none; text-transform:uppercase; }
.studio-shelf-card__actions a:hover { background:#fff; transform:translateY(-1px); }

.studio-smart-shelves {
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:0 0 1rem;
  padding:.75rem;
  border:1px solid rgba(255,255,255,.08);
  border-radius:1.1rem;
  background:rgba(255,255,255,.035);
}
.studio-smart-shelves a { display:inline-flex; align-items:center; gap:.35rem; padding:.52rem .66rem; border:1px solid rgba(255,255,255,.10); border-radius:999px; color:rgba(255,255,255,.72); font:.58rem/1 "DM Mono",monospace; text-decoration:none; }
.studio-smart-shelves a span { color:#ddb5ce; font-size:.9rem; }
.studio-smart-shelves a.is-active,.studio-smart-shelves a:hover { background:rgba(231,213,238,.15); border-color:rgba(221,181,206,.38); color:#fff; }

.studio-tag-room { overflow:hidden; }
.studio-special-tags { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin:1rem 0 1.25rem; }
.studio-special-tags button { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.25rem .7rem; align-items:center; padding:.85rem; border:1px solid var(--line); border-radius:1rem; background:linear-gradient(145deg,#fffafb,#f5eff9); color:var(--ink); text-align:left; cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.studio-special-tags button:hover { transform:translateY(-2px); box-shadow:0 10px 24px rgba(85,63,91,.10); border-color:rgba(111,78,133,.28); }
.studio-special-tags button.is-active { border-color:var(--violet); box-shadow:0 0 0 3px rgba(113,83,137,.10); background:linear-gradient(145deg,#eee2f3,#f8e7ee); }
.studio-special-tags button > span { grid-row:1/3; display:grid; width:2.5rem; aspect-ratio:1; place-items:center; border-radius:50%; background:var(--lavender); color:var(--violet); font:1.15rem/1 "Fraunces",serif; }
.studio-special-tags button strong { font:600 1rem/1.1 "Fraunces",serif; }
.studio-special-tags button small { color:var(--ink-soft); font-size:.68rem; line-height:1.35; }

.studio-post-card.is-note { border-color:rgba(210,165,198,.30); background:linear-gradient(160deg,rgba(246,230,239,.92),rgba(227,239,235,.87)); }
.studio-post-card.is-note .studio-post-card__image > span { background:linear-gradient(145deg,#eadcf1,#f7e5ec); color:var(--violet); }
.studio-card-trash { margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--line); }
.studio-card-trash button { padding:0; border:0; background:transparent; color:#8c526e; cursor:pointer; font:.56rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-card-trash button:hover { text-decoration:underline; }

.studio-editor-paper--letter { position:relative; background:
  linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)),
  repeating-linear-gradient(0deg,transparent 0,transparent 31px,rgba(113,83,137,.08) 32px);
}
.studio-editor-paper--letter::after { content:"for you ♡"; position:absolute; right:2rem; bottom:1.5rem; color:rgba(135,82,112,.42); font:italic 1.25rem/1 "Fraunces",serif; transform:rotate(-5deg); }

.studio-letter-preview-wrap { position:relative; }
.studio-letter-preview-label { width:max-content; margin:0 auto -1rem; position:relative; z-index:3; padding:.5rem .75rem; border:1px solid rgba(111,78,133,.16); border-radius:999px; background:#f0e3f4; color:var(--violet); font:.58rem/1 "DM Mono",monospace; text-transform:uppercase; transform:rotate(-1deg); }

.studio-letter-view { position:relative; max-width:820px; margin:1rem auto 2rem; padding:clamp(1.5rem,6vw,4.5rem); border:1px solid rgba(83,60,91,.14); border-radius:1.5rem; background:
  linear-gradient(rgba(255,252,249,.93),rgba(255,249,250,.94)),
  repeating-linear-gradient(0deg,transparent 0,transparent 32px,rgba(113,83,137,.08) 33px);
  color:var(--ink); box-shadow:0 26px 70px rgba(10,8,18,.22); }
.studio-letter-view::before { content:""; position:absolute; top:-.7rem; left:14%; width:8rem; height:1.7rem; background:rgba(226,202,160,.54); transform:rotate(-4deg); }
.studio-letter-view__stamp { position:absolute; top:1.5rem; right:1.5rem; padding:.5rem .7rem; border:1px solid rgba(135,82,112,.20); background:#f2dfeb; color:#875270; font:italic .82rem/1 "Fraunces",serif; transform:rotate(5deg); }
.studio-letter-view h1 { max-width:11ch; margin:1rem 0 .7rem; font-size:clamp(3rem,7vw,6rem); }
.studio-letter-view > time { color:var(--ink-soft); font:.6rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-letter-view__body { max-width:42rem; margin:clamp(2.5rem,6vw,4rem) auto; }
.studio-letter-view__body p { margin:0 0 1.5rem; font:500 clamp(1.15rem,2vw,1.35rem)/1.75 "Fraunces",serif; }
.studio-letter-view figure { max-width:38rem; margin:2rem auto; padding:.7rem .7rem 2.4rem; background:#fff; box-shadow:0 12px 34px rgba(60,42,58,.14); transform:rotate(.8deg); }
.studio-letter-view figure img { display:block; width:100%; max-height:36rem; object-fit:cover; }
.studio-letter-view figcaption { margin-top:.7rem; text-align:center; font:italic .85rem/1.3 "Fraunces",serif; }
.studio-letter-view blockquote { max-width:13ch; margin:3rem auto; color:var(--violet); font:600 clamp(2rem,5vw,4rem)/1.05 "Fraunces",serif; text-align:center; }
.studio-letter-keepsake { display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.7fr); gap:1rem; align-items:center; margin:2rem 0; padding:1rem; border-radius:1rem; background:#f6eaf0; }
.studio-letter-keepsake img { width:100%; max-height:26rem; object-fit:contain; border-radius:.7rem; }
.studio-letter-song { display:flex; gap:.8rem; align-items:center; width:max-content; max-width:100%; margin:2rem 0 0 auto; padding:.8rem 1rem; border-radius:1rem; background:#dfeceb; color:var(--ink); transform:rotate(-1deg); }
.studio-letter-song > span { color:var(--violet); font-size:1.4rem; }
.studio-letter-song strong,.studio-letter-song small { display:block; }
.studio-letter-song small { margin-top:.15rem; color:var(--ink-soft); }

.studio-letter-thread { max-width:820px; margin:0 auto 2rem; padding:1.2rem; border:1px solid rgba(255,255,255,.10); border-radius:1.4rem; background:rgba(255,255,255,.045); }
.studio-reply-list { display:grid; gap:.7rem; margin:1rem 0 1.2rem; }
.studio-reply-list article { width:min(88%,38rem); padding:.9rem 1rem; border-radius:1rem 1rem 1rem .25rem; background:#f6e8ef; color:var(--ink); }
.studio-reply-list article.is-rachel { margin-left:auto; border-radius:1rem 1rem .25rem 1rem; background:#dfecea; }
.studio-reply-list article > div { display:flex; justify-content:space-between; gap:.6rem; margin-bottom:.4rem; }
.studio-reply-list strong { color:var(--violet); font:.58rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-reply-list time { color:var(--ink-soft); font:.52rem/1 "DM Mono",monospace; }
.studio-reply-list p { margin:0; font:500 1rem/1.55 "Fraunces",serif; }
.studio-reply-form { display:grid; gap:.7rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.10); }
.studio-reply-form label { display:grid; gap:.45rem; color:#ead9e5; font:.58rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-reply-form textarea { min-height:8rem; padding:.9rem; border:1px solid rgba(255,255,255,.12); border-radius:.9rem; background:rgba(255,255,255,.08); color:#fff; font:400 .95rem/1.5 "DM Sans",sans-serif; resize:vertical; outline:none; text-transform:none; }
.studio-reply-form textarea:focus { border-color:rgba(221,181,206,.55); box-shadow:0 0 0 4px rgba(221,181,206,.08); }
.studio-reply-form .button { justify-self:start; }

@media (max-width: 760px) {
  .studio-shelf-grid,.studio-special-tags { grid-template-columns:1fr; }
  .studio-letter-keepsake { grid-template-columns:1fr; }
  .studio-letter-view__stamp { position:static; display:inline-block; margin-bottom:1rem; }
  .studio-reply-list article { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .studio-shelf-card__actions a,.studio-special-tags button { transition:none; }
}

/* =========================================================
   PUBLIC JEWEL EDITORIAL — AUGUST 2026
   The public site now shares the Studio's richer inner-world
   without losing readability or the scrapbook heart.
   ========================================================= */

.public-jewel-page {
  --j-night: #140f1d;
  --j-night-2: #1c1327;
  --j-plum: #281936;
  --j-plum-soft: #352146;
  --j-violet: #8b64a7;
  --j-orchid: #b889c8;
  --j-berry: #b65c7c;
  --j-rose: #e39ab5;
  --j-teal: #559f9a;
  --j-teal-bright: #7fc4bd;
  --j-sage: #9dbda5;
  --j-gold: #d7b879;
  --j-text: #f7eff8;
  --j-muted: #c8bacd;
  --j-faint: #9e8ea5;
  --j-line: rgba(230, 210, 236, .14);
  --j-card: rgba(42, 26, 55, .84);
  --j-card-solid: #2a1a37;
  color: var(--j-text);
  background:
    radial-gradient(circle at 12% 9%, rgba(182, 92, 124, .22), transparent 28rem),
    radial-gradient(circle at 88% 24%, rgba(85, 159, 154, .20), transparent 31rem),
    radial-gradient(circle at 48% 78%, rgba(139, 100, 167, .18), transparent 36rem),
    linear-gradient(165deg, var(--j-night) 0%, #1b1225 44%, #111d22 135%);
}
.public-jewel-page::before {
  opacity: .24;
  background-image:
    linear-gradient(rgba(242,228,247,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242,228,247,.024) 1px, transparent 1px);
}
.public-jewel-page .dream-layer--one { background: radial-gradient(circle, rgba(151,91,173,.25), transparent 68%); }
.public-jewel-page .dream-layer--two { background: radial-gradient(circle, rgba(72,157,151,.22), transparent 68%); }
.public-jewel-page .loader { background: linear-gradient(150deg, #17101f, #2b1a38 62%, #17302f); color: var(--j-text); }
.public-jewel-page .loader p { color: var(--j-muted); }
.public-jewel-page .loader__orb span:nth-child(1) { color: #b78acb; }
.public-jewel-page .loader__orb span:nth-child(2) { color: #e49ab6; }
.public-jewel-page .loader__orb span:nth-child(3) { color: #78c2bc; }

.public-jewel-page .site-header,
.public-jewel-page .site-footer { border-color: var(--j-line); }
.public-jewel-page .site-header { padding-top: 1.6rem; }
.public-jewel-page .logo,
.public-jewel-page .footer-logo { color: #fff; }
.public-jewel-page .logo::after { color: var(--j-rose); }
.public-jewel-page .site-nav a { color: var(--j-muted); }
.public-jewel-page .site-nav a:hover,
.public-jewel-page .site-nav a[aria-current="page"] { color: #fff; background: rgba(183,138,203,.15); }
.public-jewel-page .site-footer { color: var(--j-muted); }
.public-jewel-page .site-footer a { color: inherit; }
.public-jewel-page .footer-doodle { color: var(--j-rose); }
.public-jewel-page .eyebrow { color: var(--j-orchid); }
.public-jewel-page .tiny-label { color: var(--j-rose); }
.public-jewel-page h1,
.public-jewel-page h2,
.public-jewel-page h3 { color: #fff; }
.public-jewel-page h1 em,
.public-jewel-page h2 em { color: var(--j-orchid); }
.public-jewel-page .text-link { color: var(--j-text); border-bottom-color: rgba(227,154,181,.65); }
.public-jewel-page .text-link span { color: var(--j-rose); }
.public-jewel-page .button-primary { color: #211427; background: linear-gradient(135deg, #e7a7bd, #c885a8 58%, #a77ac0); border-color: rgba(255,255,255,.2); box-shadow: 3px 4px 0 rgba(100,188,180,.5); }
.public-jewel-page .button-deep { color: #fff; background: linear-gradient(135deg, #795197, #a45278); border-color: rgba(255,255,255,.18); box-shadow: 3px 4px 0 rgba(77,153,148,.55); }
.public-jewel-page .button-soft { color: #26182e; background: linear-gradient(135deg,#e7d9ed,#d5ebe8); border-color: rgba(255,255,255,.15); }

/* Editorial homepage */
.public-jewel-page .hero-section--editorial { min-height: min(850px, calc(100vh - 4rem)); padding-top: clamp(5rem,10vw,9rem); }
.public-jewel-page .hero-copy h1 { color: #fff; text-shadow: 0 12px 45px rgba(0,0,0,.18); }
.public-jewel-page .hero-lede { color: var(--j-muted); }
.public-jewel-page .hero-handnote { color: #e9b4c9; }
.hero-collage--editorial { min-height: 39rem; }
.editorial-photo { position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(240,224,246,.16); border-radius: .75rem; background: #21172a; box-shadow: 0 28px 70px rgba(0,0,0,.34); }
.editorial-photo::after { content:""; position:absolute; inset:0; pointer-events:none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.05); }
.editorial-photo img { display:block; width:100%; height:100%; object-fit:cover; filter: saturate(.88) contrast(1.02) brightness(.90); transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease; }
.editorial-photo:hover img { transform: scale(1.025); filter: saturate(.98) contrast(1.03) brightness(.96); }
.editorial-photo figcaption { position:absolute; z-index:2; left:.75rem; bottom:.7rem; max-width:calc(100% - 1.5rem); padding:.35rem .55rem; border-radius:999px; background:rgba(20,15,29,.72); color:#eadce9; backdrop-filter:blur(8px); font:500 .58rem/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.04em; }
.editorial-photo--one { width: 66%; height: 31rem; left: 2%; top: 1rem; transform: rotate(-3.5deg); }
.editorial-photo--two { width: 53%; height: 24rem; right: 0; bottom: 1.3rem; transform: rotate(3deg); }
.editorial-photo--three { width: 38%; height: 14rem; right: 1%; top: 0; transform: rotate(1.5deg); }
.hero-orbit { position:absolute; z-index:5; display:grid; place-items:center; width:4.4rem; aspect-ratio:1; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 14px 36px rgba(0,0,0,.25); animation:breatheDoodle 6.5s ease-in-out infinite; }
.hero-orbit--violet { right:5%; top:34%; color:#fff; background:linear-gradient(145deg,#9a68b5,#5e3e78); }
.hero-orbit--teal { left:8%; bottom:3%; color:#152b2c; background:linear-gradient(145deg,#91d0c9,#4c948f); animation-delay:-2.4s; }
.hero-editorial-line { position:absolute; right:3%; top:13%; width:45%; height:57%; border-top:1px solid rgba(227,154,181,.35); border-right:1px solid rgba(127,196,189,.22); border-radius:0 3rem 0 0; pointer-events:none; }

.current-life-strip { width:min(calc(100% - 2rem),var(--max)); margin:0 auto clamp(4rem,8vw,7rem); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); overflow:hidden; border:1px solid var(--j-line); border-radius:1.4rem; background:linear-gradient(120deg,rgba(44,27,58,.88),rgba(27,43,47,.84)); box-shadow:0 24px 65px rgba(0,0,0,.22); }
.current-life-strip>div { min-height:8rem; display:flex; flex-direction:column; justify-content:space-between; gap:.35rem; padding:1.2rem; border-right:1px solid var(--j-line); }
.current-life-strip>div:last-child { border-right:0; }
.current-life-strip span,.current-life-strip small { color:var(--j-faint); font:.56rem/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.06em; }
.current-life-strip strong { color:#fff; font:600 1.25rem/1.12 "Fraunces",serif; }
.current-life-strip__quote strong { font-style:italic; color:#f0d5e0; }

.public-jewel-page .section-shell { border-top-color: var(--j-line); }
.public-jewel-page .section-date,
.public-jewel-page .section-kicker { color: var(--j-muted); }
.public-jewel-page .latest-entry__card--jewel { overflow:visible; border-color:rgba(235,216,241,.13); background:
  radial-gradient(circle at 90% 12%,rgba(84,159,154,.13),transparent 18rem),
  linear-gradient(145deg,rgba(48,29,63,.96),rgba(34,25,46,.96)); box-shadow:0 34px 85px rgba(0,0,0,.28); }
.public-jewel-page .latest-entry__card--jewel::before { background:rgba(183,138,203,.25); }
.public-jewel-page .latest-entry__copy>p:not(.tiny-label) { color:var(--j-muted); }
.public-jewel-page .latest-entry__copy h3 { color:#fff; }
.latest-entry__tags { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1.4rem; }
.latest-entry__tags span { padding:.3rem .5rem; border:1px solid rgba(227,154,181,.18); border-radius:999px; color:#dfc8e3; font:.55rem/1 "DM Mono",monospace; }
.latest-entry__photo-wrap--dark { background:#22162d; box-shadow:0 20px 55px rgba(0,0,0,.38); }
.latest-entry__photo-wrap--dark figcaption { color:#decde1; }
.public-jewel-page .card-doodle { color:var(--j-rose); }

.journal-editorial-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:1.15rem; margin-top:3rem; align-items:start; }
.journal-editorial-card { position:relative; overflow:hidden; min-height:25rem; border:1px solid var(--j-line); border-radius:1.35rem; background:var(--j-card); box-shadow:0 18px 48px rgba(0,0,0,.20); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.journal-editorial-card:hover { transform:translateY(-4px); border-color:rgba(227,154,181,.28); box-shadow:0 28px 65px rgba(0,0,0,.28); }
.journal-editorial-card--1 { grid-column:span 7; }
.journal-editorial-card--2 { grid-column:span 5; margin-top:4rem; }
.journal-editorial-card--3 { grid-column:span 5; }
.journal-editorial-card--4 { grid-column:span 7; margin-top:2rem; }
.journal-editorial-card__image { display:block; aspect-ratio:1.8; overflow:hidden; }
.journal-editorial-card--2 .journal-editorial-card__image,.journal-editorial-card--3 .journal-editorial-card__image { aspect-ratio:1.25; }
.journal-editorial-card__image img { width:100%; height:100%; display:block; object-fit:cover; filter:saturate(.82) brightness(.82); transition:.45s ease; }
.journal-editorial-card:hover img { transform:scale(1.025); filter:saturate(.95) brightness(.90); }
.journal-editorial-card__body { padding:clamp(1.3rem,3vw,2rem); }
.journal-editorial-card__body h3 { margin:1rem 0 .65rem; font-size:clamp(2rem,4vw,3.5rem); }
.journal-editorial-card__body p { color:var(--j-muted); }
.journal-editorial-card__body>a { color:#f0dbe7; font:.64rem/1 "DM Mono",monospace; text-decoration:none; }
.public-jewel-page .journal-card__topline,.public-jewel-page .archive-card__topline { color:var(--j-faint); }
.public-jewel-page .journal-card__tags span { color:#d8bfdc; border-color:rgba(185,137,200,.22); }
.public-jewel-page .journal-all-link { color:#fff; border-color:var(--j-rose); }

.shop-section--editorial { grid-template-columns:minmax(0,.85fr) minmax(360px,1fr); }
.public-jewel-page .shop-section__copy>p:not(.eyebrow) { color:var(--j-muted); }
.public-jewel-page .shop-sticker { color:#f0c4d4; background:rgba(182,92,124,.12); border-color:rgba(227,154,181,.22); box-shadow:none; }
.home-product-stack { position:relative; min-height:38rem; }
.home-product-card { position:absolute; display:block; overflow:hidden; width:68%; min-height:22rem; border:1px solid rgba(255,255,255,.14); border-radius:1.2rem; background:#251832; box-shadow:0 28px 70px rgba(0,0,0,.33); text-decoration:none; transition:transform .3s ease,box-shadow .3s ease; }
.home-product-card:hover { z-index:5; transform:translateY(-5px) rotate(0deg)!important; box-shadow:0 38px 85px rgba(0,0,0,.42); }
.home-product-card img { width:100%; height:20rem; object-fit:cover; display:block; filter:saturate(.88) brightness(.87); }
.home-product-card__copy { display:grid; grid-template-columns:1fr auto; gap:.3rem 1rem; padding:1rem; color:#fff; background:linear-gradient(180deg,#2c1c39,#21152b); }
.home-product-card__copy small { grid-column:1/-1; color:#bdaac2; font:.52rem/1 "DM Mono",monospace; text-transform:uppercase; }
.home-product-card__copy strong { font:600 1.45rem/1 "Fraunces",serif; }
.home-product-card__copy em { color:#e6b0c5; font:500 .75rem/1 "DM Mono",monospace; font-style:normal; }
.home-product-card__mark { display:grid; min-height:20rem; place-items:center; color:#e7b3c8; font-size:4rem; }
.home-product-card--1 { left:0; top:0; transform:rotate(-3deg); }
.home-product-card--2 { right:0; top:7rem; transform:rotate(3deg); }
.home-product-card--3 { left:11%; bottom:0; width:60%; transform:rotate(-1deg); }
.shop-feature-card--dark { color:#fff; background:linear-gradient(145deg,#30203f,#183d3a); border-color:var(--j-line); }
.shop-feature-card--dark p { color:var(--j-muted); }

.about-section--editorial { align-items:center; }
.about-collage--dark { min-height:35rem; }
.editorial-photo--about-a { width:68%; height:27rem; left:0; top:0; transform:rotate(-4deg); }
.editorial-photo--about-b { width:58%; height:23rem; right:0; bottom:0; transform:rotate(3deg); }
.public-jewel-page .about-copy>p:not(.eyebrow) { color:var(--j-muted); }
.public-jewel-page .about-copy blockquote { color:#f2d9e4; border-color:rgba(227,154,181,.35); }

/* Journal archive — refined mixed editorial wall */
.journal-archive__intro--jewel>div p { color:var(--j-muted); }
.public-jewel-page .intro-doodle { color:var(--j-teal-bright); }
.journal-filter-room--dark { border-color:var(--j-line); background:linear-gradient(135deg,rgba(43,27,56,.78),rgba(27,43,46,.74)); box-shadow:0 18px 50px rgba(0,0,0,.18); }
.public-jewel-page .studio-control-label { color:#c9afd3; }
.public-jewel-page .mood-browser a,
.public-jewel-page .tag-browser a { color:#d3c4d6; border-color:rgba(221,199,229,.13); background:rgba(255,255,255,.035); }
.public-jewel-page .mood-browser a:hover,
.public-jewel-page .mood-browser a.is-active,
.public-jewel-page .tag-browser a:hover,
.public-jewel-page .tag-browser a.is-active { color:#fff; border-color:rgba(227,154,181,.30); background:linear-gradient(135deg,rgba(139,100,167,.28),rgba(85,159,154,.18)); }
.friends-unlock-card--dark,.public-jewel-page .friends-entry-gate { color:#fff; border-color:var(--j-line); background:linear-gradient(145deg,rgba(51,31,66,.94),rgba(26,55,52,.88)); box-shadow:0 26px 65px rgba(0,0,0,.24); }
.friends-unlock-card--dark p,.public-jewel-page .friends-entry-gate p { color:var(--j-muted); }
.public-jewel-page .friends-unlock-card input,.public-jewel-page .friends-entry-gate input { color:#fff; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.14); }

.journal-archive__grid--editorial { grid-template-columns:repeat(12,1fr); gap:1.2rem; }
.archive-card--editorial { margin-top:0!important; color:#fff; background:linear-gradient(150deg,rgba(48,29,62,.96),rgba(30,23,40,.96)); border-color:var(--j-line); box-shadow:0 18px 50px rgba(0,0,0,.24); }
.archive-card--v1,.archive-card--v4 { grid-column:span 7; }
.archive-card--v2,.archive-card--v3,.archive-card--v5,.archive-card--v6 { grid-column:span 5; }
.archive-card--v2,.archive-card--v5 { margin-top:4rem!important; }
.archive-card--v3 .archive-card__image,.archive-card--v6 .archive-card__image { aspect-ratio:1.05; }
.archive-card--v1 .archive-card__image,.archive-card--v4 .archive-card__image { aspect-ratio:1.9; }
.archive-card--editorial .archive-card__image img { filter:saturate(.84) brightness(.80) contrast(1.02); }
.archive-card--editorial:hover .archive-card__image img { filter:saturate(.96) brightness(.89); }
.archive-card--editorial .archive-card__body>p { color:var(--j-muted); }
.archive-card--editorial .archive-card__topline { color:var(--j-faint); }
.archive-card--editorial .archive-card__tags a { color:#d9c6dd; border-color:rgba(218,190,225,.16); background:rgba(255,255,255,.025); }
.archive-card--editorial .archive-card__tags a:hover { color:#fff; background:rgba(139,100,167,.22); }
.archive-card__song { margin:1rem 0 0!important; color:#d9acc0!important; font:.61rem/1.4 "DM Mono",monospace; }
.archive-card__accent { position:absolute; right:-3rem; bottom:-3rem; width:10rem; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(85,159,154,.15),transparent 68%); pointer-events:none; }
.archive-card--v2 .archive-card__accent,.archive-card--v5 .archive-card__accent { background:radial-gradient(circle,rgba(182,92,124,.18),transparent 68%); }
.archive-card--editorial .archive-card__doodle { min-height:15rem; display:grid; grid-template-columns:auto auto; place-content:center; gap:.6rem; color:#d7b4df; background:linear-gradient(145deg,#342044,#1f3535); text-decoration:none; }
.archive-card--editorial .archive-card__doodle span { font-size:2.6rem; }
.archive-card--editorial .archive-card__doodle small { grid-column:1/-1; text-align:center; color:#bca9c0; font:.55rem/1 "DM Mono",monospace; text-transform:uppercase; }
.public-jewel-page .friends-card-mark { color:#e7abc1; }

/* Public journal page and exact Studio preview */
.public-jewel-page.journal-entry-page .journal-entry__back { color:var(--j-muted); }
.journal-entry-card { background:
  radial-gradient(circle at 92% 4%,rgba(84,159,154,.12),transparent 19rem),
  linear-gradient(150deg,#2d1c3b,#20182b 62%,#182c2d 150%)!important;
  color:var(--j-text); border-color:var(--j-line)!important; box-shadow:0 34px 90px rgba(0,0,0,.30)!important; }
.journal-entry-card .journal-entry__header h1 { color:#fff; }
.journal-entry-card .journal-entry__excerpt,
.journal-entry-card .journal-entry__meta,
.journal-entry-card .journal-entry__content>p,
.journal-entry-card .journal-entry__footer p { color:#d8cbdc; }
.journal-entry-card .journal-entry__meta { border-color:rgba(238,217,243,.13); }
.journal-entry-card .journal-mood-badge { color:#fff; border-color:rgba(227,154,181,.24); background:rgba(182,92,124,.14); }
.journal-entry-card .journal-entry__tags a { color:#ddc7e1; border-color:rgba(210,183,218,.16); background:rgba(255,255,255,.035); }
.journal-entry-card .journal-entry__tags a:hover { background:rgba(139,100,167,.20); color:#fff; }
.journal-entry-card .journal-entry__featured { background:#1d1526; box-shadow:0 18px 55px rgba(0,0,0,.42); }
.journal-entry-card .journal-entry__featured figcaption { color:#dccbdf; }
.journal-entry-card .journal-entry__featured img { filter:saturate(.90) brightness(.89); }
.journal-entry-card .entry-quote { color:#e1b2c6; }
.journal-entry-card .journal-gallery__button { border-color:#2a1b35; background:#2a1b35; box-shadow:0 12px 34px rgba(0,0,0,.34); }
.journal-entry-card .journal-gallery__button img { filter:saturate(.9) brightness(.88); }
.journal-entry-card .journal-entry__footer { border-color:rgba(238,217,243,.13); }
.journal-entry-card .journal-keepsake-card { color:#fff; border-color:rgba(238,217,243,.13); background:linear-gradient(135deg,#3b243e,#233d3b); }
.journal-entry-card .journal-keepsake-card p { color:#d9cbdc; }
.journal-entry-card .journal-song-card { color:#fff; border-color:rgba(238,217,243,.13); background:linear-gradient(135deg,#1e403e,#342142); }
.journal-entry-card .journal-song-card p { color:#cfc2d3; }
/* Preview sits inside Studio; give the exact public card its public variables. */
.studio-exact-preview .journal-entry-card { --j-text:#f7eff8; --j-muted:#c8bacd; --j-line:rgba(230,210,236,.14); color:#f7eff8!important; }
.studio-exact-preview .journal-entry-card h1,.studio-exact-preview .journal-entry-card h2,.studio-exact-preview .journal-entry-card h3 { color:#fff; }

/* Dark editorial shop */
.shop-page-intro--jewel .shop-page-intro__lede { color:var(--j-muted); }
.shop-page-intro__note--dark { color:#f5eaf5; background:linear-gradient(145deg,#382346,#204541); box-shadow:6px 7px 0 rgba(139,100,167,.18); }
.shop-page-intro__note--dark p { color:#eaddea; }
.shop-product-grid--editorial { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.2rem,4vw,2.8rem); }
.shop-product-card--editorial { overflow:hidden; border:1px solid var(--j-line); border-radius:1.4rem; background:linear-gradient(150deg,#2b1b38,#1c2830); box-shadow:0 24px 65px rgba(0,0,0,.25); transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease; }
.shop-product-card--editorial:nth-child(even) { margin-top:3rem; }
.shop-product-card--editorial:hover { transform:translateY(-5px); border-color:rgba(227,154,181,.25); box-shadow:0 34px 80px rgba(0,0,0,.34); }
.shop-product-card--editorial .shop-product-card__image { position:relative; display:block; aspect-ratio:1.15; overflow:hidden; }
.shop-product-card--editorial .shop-product-card__image img { width:100%; height:100%; object-fit:cover; display:block; filter:saturate(.88) brightness(.86); transition:.5s ease; }
.shop-product-card--editorial:hover .shop-product-card__image img { transform:scale(1.025); filter:saturate(1) brightness(.93); }
.shop-product-card__gallery-count { position:absolute; right:.75rem; bottom:.75rem; padding:.38rem .55rem; border:1px solid rgba(255,255,255,.14); border-radius:999px; color:#fff; background:rgba(20,15,29,.68); backdrop-filter:blur(8px); font:.52rem/1 "DM Mono",monospace; text-transform:uppercase; }
.shop-product-card--editorial .shop-product-card__body { padding:clamp(1.3rem,3vw,2.2rem); }
.shop-product-card--editorial .shop-product-card__top { color:#bfaec4; }
.shop-product-card--editorial h2 { margin:1rem 0 .7rem; font-size:clamp(2.4rem,5vw,4.2rem); }
.shop-product-card--editorial h2 a { color:#fff; text-decoration:none; }
.shop-product-card--editorial .shop-product-card__body>p { color:var(--j-muted); }
.shop-product-card__foot { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-top:1.4rem; }
.shop-product-card--editorial .shop-price { color:#e9b2c6; font:600 1.3rem/1 "Fraunces",serif; }
.shop-product-card--editorial.is-sold-out .shop-product-card__image img { filter:grayscale(.25) saturate(.55) brightness(.70); }
.shop-making--dark { border-color:var(--j-line); }
.shop-making--dark .shop-story__copy>p:not(.eyebrow) { color:var(--j-muted); }
.shop-worktable--jewel .shop-worktable__paper { color:#fff; border-color:rgba(255,255,255,.12); box-shadow:0 22px 55px rgba(0,0,0,.28); }
.shop-worktable--jewel .shop-worktable__paper p { color:#d8cbdc; }
.shop-worktable--jewel .shop-worktable__paper--violet { background:linear-gradient(145deg,#4b2d60,#2a1b38); }
.shop-worktable--jewel .shop-worktable__paper--teal { background:linear-gradient(145deg,#285a56,#1e3739); }
.shop-worktable--jewel .shop-worktable__paper--rose { background:linear-gradient(145deg,#653149,#372238); }

/* Product detail */
.shop-product-detail__back { display:inline-block; margin-bottom:3rem; color:var(--j-muted); font:.62rem/1 "DM Mono",monospace; text-decoration:none; }
.shop-product-detail__grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr); gap:clamp(2rem,7vw,6rem); align-items:start; }
.shop-product-detail__hero { margin:0; overflow:hidden; border:1px solid var(--j-line); border-radius:1.4rem; background:#24162f; box-shadow:0 32px 85px rgba(0,0,0,.32); }
.shop-product-detail__hero img { display:block; width:100%; aspect-ratio:1.05; object-fit:cover; filter:saturate(.94) brightness(.90); }
.shop-product-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:.55rem; margin-top:.7rem; }
.shop-product-thumbs button { appearance:none; padding:0; overflow:hidden; aspect-ratio:1; border:1px solid var(--j-line); border-radius:.65rem; background:#24172d; cursor:pointer; opacity:.72; transition:.2s ease; }
.shop-product-thumbs button:hover,.shop-product-thumbs button.is-active { opacity:1; border-color:rgba(227,154,181,.45); transform:translateY(-2px); }
.shop-product-thumbs img { display:block; width:100%; height:100%; object-fit:cover; }
.shop-product-detail__copy { position:sticky; top:2rem; padding:clamp(1.5rem,4vw,2.7rem); border:1px solid var(--j-line); border-radius:1.4rem; background:linear-gradient(155deg,rgba(48,29,62,.94),rgba(26,48,48,.90)); box-shadow:0 25px 70px rgba(0,0,0,.22); }
.shop-product-detail__copy h1 { margin-bottom:.8rem; font-size:clamp(3.2rem,7vw,6.3rem); }
.shop-product-detail__status { display:flex; justify-content:space-between; gap:.6rem; margin-bottom:2rem; color:#bfaec4; font:.54rem/1 "DM Mono",monospace; text-transform:uppercase; }
.shop-product-detail__status .is-sold-out { color:#e6a6bd; }
.shop-product-detail__price { display:block; margin:.4rem 0 1.6rem; color:#e9b2c6; font:600 2rem/1 "Fraunces",serif; }
.shop-product-detail__description p { color:var(--j-muted); font-size:1rem; }
.shop-product-detail__buy { display:grid; gap:.7rem; margin-top:2rem; }
.shop-product-detail__buy small { color:var(--j-faint); font:.58rem/1.5 "DM Mono",monospace; }
.shop-product-detail__handnote { margin:2rem 0 0; color:#e7b6c8; font:600 1.25rem/1 "Caveat",cursive; transform:rotate(-2deg); }
.shop-product-detail__placeholder { display:grid; min-height:34rem; place-items:center; color:#e0abc1; border:1px solid var(--j-line); border-radius:1.4rem; background:linear-gradient(145deg,#342043,#1d3836); font-size:4rem; }
.shop-product-not-found { min-height:60vh; }

/* Product gallery chooser inside Studio */
.studio-product-gallery-panel { margin-top:1rem; }
.studio-product-gallery-panel .studio-panel-heading { align-items:flex-end; }
.studio-product-gallery-panel .studio-panel-heading p:not(.eyebrow) { max-width:42rem; color:var(--ink-soft); }
.studio-product-upload-more { margin:1.2rem 0 2rem; padding:1rem; border:1px dashed rgba(117,87,141,.22); border-radius:1rem; background:rgba(255,255,255,.38); }
.studio-product-upload-more small { color:var(--ink-soft); font:.62rem/1.4 "DM Mono",monospace; }
.studio-product-library { display:grid; gap:1.8rem; }
.studio-product-library__group { display:grid; gap:.7rem; }
.studio-product-library__heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-bottom:.5rem; border-bottom:1px solid var(--line); }
.studio-product-library__heading strong { color:var(--violet-deep); font:600 1.3rem/1 "Fraunces",serif; }
.studio-product-library__heading span { color:var(--ink-soft); font:.58rem/1 "DM Mono",monospace; text-transform:uppercase; }
.studio-product-library__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.studio-product-photo-choice { overflow:hidden; border:1px solid var(--line); border-radius:.9rem; background:rgba(255,255,255,.55); transition:.2s ease; }
.studio-product-photo-choice.is-selected { border-color:rgba(117,87,141,.58); box-shadow:0 0 0 3px rgba(117,87,141,.09); transform:translateY(-2px); }
.studio-product-photo-choice>img { display:block; width:100%; aspect-ratio:1; object-fit:cover; background:var(--lavender); }
.studio-product-photo-choice__controls { display:flex; justify-content:space-between; gap:.4rem; padding:.55rem .55rem .25rem; }
.studio-product-photo-choice__controls label { display:flex; align-items:center; gap:.25rem; color:var(--violet-deep); font:.52rem/1 "DM Mono",monospace; text-transform:uppercase; cursor:pointer; }
.studio-product-photo-choice>small { display:block; overflow:hidden; padding:.25rem .55rem .6rem; color:var(--ink-soft); font:.5rem/1 "DM Mono",monospace; text-overflow:ellipsis; white-space:nowrap; }

@media (max-width: 900px) {
  .current-life-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .current-life-strip>div:nth-child(2) { border-right:0; }
  .current-life-strip>div { border-bottom:1px solid var(--j-line); }
  .current-life-strip>div:nth-last-child(-n/**/+2) { border-bottom:0; }
  .journal-editorial-card--1,.journal-editorial-card--2,.journal-editorial-card--3,.journal-editorial-card--4 { grid-column:span 6; margin-top:0; }
  .journal-archive__grid--editorial { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-card--v1,.archive-card--v2,.archive-card--v3,.archive-card--v4,.archive-card--v5,.archive-card--v6 { grid-column:auto; margin-top:0!important; }
  .shop-product-grid--editorial { gap:1rem; }
  .shop-product-card--editorial:nth-child(even) { margin-top:0; }
  .shop-product-detail__grid { grid-template-columns:1fr; }
  .shop-product-detail__copy { position:static; }
  .studio-product-library__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .public-jewel-page .hero-section--editorial { min-height:0; }
  .hero-collage--editorial { min-height:31rem; }
  .editorial-photo--one { width:70%; height:24rem; }
  .editorial-photo--two { width:58%; height:18rem; }
  .editorial-photo--three { width:40%; height:10rem; }
  .current-life-strip { grid-template-columns:1fr; }
  .current-life-strip>div { border-right:0; border-bottom:1px solid var(--j-line)!important; }
  .current-life-strip>div:last-child { border-bottom:0!important; }
  .journal-editorial-grid { grid-template-columns:1fr; }
  .journal-editorial-card--1,.journal-editorial-card--2,.journal-editorial-card--3,.journal-editorial-card--4 { grid-column:auto; }
  .shop-section--editorial { grid-template-columns:1fr; }
  .home-product-stack { min-height:44rem; }
  .home-product-card { width:76%; }
  .home-product-card--2 { top:10rem; }
  .home-product-card--3 { bottom:0; }
  .journal-archive__grid--editorial,.shop-product-grid--editorial { grid-template-columns:1fr; }
  .archive-card--editorial .archive-card__image,.archive-card--v3 .archive-card__image,.archive-card--v6 .archive-card__image { aspect-ratio:1.45; }
  .shop-product-card--editorial .shop-product-card__image { aspect-ratio:1.3; }
  .shop-product-thumbs { grid-template-columns:repeat(4,1fr); }
  .studio-product-library__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 480px) {
  .home-product-card { width:84%; }
  .shop-product-thumbs { grid-template-columns:repeat(3,1fr); }
  .studio-product-library__grid { grid-template-columns:1fr 1fr; }
  .studio-product-photo-choice__controls { flex-direction:column; }
}

/* Public access buttons: Studio + Admin */
.site-nav__divider {
  width: 1px;
  height: 1.55rem;
  margin: 0 .35rem;
  background: rgba(117,87,141,.2);
}
.site-nav .site-nav__studio,
.site-nav .site-nav__admin {
  display: inline-flex;
  align-items: center;
  gap: .34rem;
  border: 1px solid rgba(117,87,141,.22);
}
.site-nav .site-nav__studio {
  background: linear-gradient(135deg, rgba(220,205,235,.74), rgba(205,232,228,.64));
  color: var(--violet-deep);
}
.site-nav .site-nav__admin {
  background: linear-gradient(135deg, rgba(110,76,139,.92), rgba(146,68,111,.9));
  border-color: rgba(88,57,112,.42);
  color: #fff;
  box-shadow: 0 7px 20px rgba(70,43,83,.12);
}
.site-nav .site-nav__studio span { color: var(--teal); }
.site-nav .site-nav__admin span { color: #d8f0ec; }
.site-nav .site-nav__studio:hover,
.site-nav .site-nav__admin:hover { transform: translateY(-2px); }

.public-jewel-page .site-nav__divider { background: rgba(255,255,255,.14); }
.public-jewel-page .site-nav .site-nav__studio {
  color: #f4ecf8;
  border-color: rgba(124,197,188,.28);
  background: linear-gradient(135deg, rgba(63,121,119,.26), rgba(119,83,145,.28));
}
.public-jewel-page .site-nav .site-nav__admin {
  color: #fff;
  border-color: rgba(231,167,189,.25);
  background: linear-gradient(135deg, rgba(121,81,151,.74), rgba(164,82,120,.72));
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.public-jewel-page .site-nav .site-nav__studio:hover {
  color: #fff;
  background: linear-gradient(135deg, rgba(63,121,119,.42), rgba(119,83,145,.42));
}
.public-jewel-page .site-nav .site-nav__admin:hover {
  color: #fff;
  background: linear-gradient(135deg, rgba(139,91,169,.9), rgba(180,89,132,.88));
}

@media (max-width: 720px) {
  .site-nav__divider { display: none; }
  .site-nav .site-nav__studio,
  .site-nav .site-nav__admin { margin-top: .25rem; }
}

/* =========================================================
   RTC PERSONALITY + ACCESSIBILITY MOTION PATCH
   Bigger tiny type, richer emoji moments, BASURA!, and gentle motion.
   ========================================================= */

/* Make the tiny utility copy actually readable. */
.eyebrow { font-size: .86rem; line-height: 1.35; }
.tiny-label { font-size: .86rem; line-height: 1.35; }
.section-date,
.card-date { font-size: .82rem; line-height: 1.45; }
small { font-size: .84rem; line-height: 1.45; }
.site-nav { font-size: .82rem; }
.studio-step-note,
.studio-photo-count,
.studio-preview-badge { font-size: .8rem; line-height: 1.4; }
.studio-control-hint { font-size: .9rem; }
.studio-mood-button small { font-size: .82rem; }
.studio-card-action { font-size: .76rem; }
.studio-user-badge { font-size: .9rem; }
.studio-home-moods a { font-size: .84rem; }
.studio-activity-row span { font-size: .76rem; line-height: 1.25; }
.studio-activity-row time { font-size: .82rem; }
.studio-post-card__image small,
.studio-post-card__meta,
.studio-post-card time { font-size: .78rem; line-height: 1.35; }
.studio-post-card__image > b { font-size: .76rem; }
.studio-mood-choice strong { font-size: .86rem; }
.studio-keepsake-grid p { font-size: .9rem; }
.studio-song-result small { font-size: .78rem; }
.studio-song-result b { font-size: .74rem; }
.studio-selected-song span { font-size: .82rem; }
.studio-searching,
.studio-search-note { font-size: .85rem; }
.studio-existing-photos label { font-size: .8rem; }
.studio-editor-actions p,
.studio-editor-actions small { font-size: .8rem; line-height: 1.45; }
.studio-editor-secondary button,
.studio-editor-secondary a { font-size: .78rem; line-height: 1.35; }
.studio-trash-list p,
.studio-revision-list p { font-size: .86rem; }
.studio-revision-list span { font-size: .8rem; }
.studio-product-card p { font-size: .9rem; }
.studio-product-card__meta { font-size: .76rem; }
.studio-admin-stamp { font-size: .78rem; }
.studio-settings-form label,
.studio-password-form label,
.setup-form label { font-size: .8rem; }
.studio-settings-form fieldset p,
.setup-note,
.friends-unlock-card p { font-size: .9rem; }
.friends-card-mark { font-size: .76rem; }
.shop-product-card__top { font-size: .76rem; }
.shop-product-card__gallery-count { font-size: .72rem; }
.shop-product-detail__back { font-size: .8rem; }
.shop-product-detail__status { font-size: .74rem; }
.shop-product-detail__buy small { font-size: .8rem; }
.studio-product-upload-more small { font-size: .8rem; }
.studio-product-library__heading span { font-size: .76rem; }
.studio-product-photo-choice__controls label { font-size: .74rem; }
.studio-product-photo-choice > small { font-size: .72rem; line-height: 1.35; }
.studio-special-tags button small { font-size: .82rem; }

/* Give the loading moment enough time and copy to feel intentional. */
.loader {
  gap: .8rem;
  transition: opacity 700ms ease, visibility 700ms ease, filter 700ms ease;
}
.loader.is-hidden { filter: blur(5px); }
.loader__orb { margin-bottom: .25rem; }
.loader p {
  margin: 0;
  font: 600 1rem/1.2 "DM Mono", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
  animation: rtcLoaderCopy 1.5s ease-in-out infinite alternate;
}
.loader small {
  display: block;
  max-width: 30rem;
  margin: -.15rem auto 0;
  color: var(--ink-soft);
  font: 500 .86rem/1.45 "DM Sans", sans-serif;
  letter-spacing: .02em;
  text-transform: none;
  opacity: .82;
}
.loader--studio {
  background:
    radial-gradient(circle at 20% 20%, rgba(149,95,173,.24), transparent 28rem),
    radial-gradient(circle at 82% 72%, rgba(59,136,130,.2), transparent 30rem),
    #1d1426;
  color: #fff;
}
.loader--studio p { color: #f7edf8; }
.loader--studio small { color: #cdbed2; }
@keyframes rtcLoaderCopy {
  from { opacity: .74; translate: 0 2px; }
  to { opacity: 1; translate: 0 -2px; }
}

/* Broad, soft entrance motion without stomping on existing rotations/transforms. */
.rtc-motion-item:not(.reveal-soft) {
  opacity: 0;
  translate: 0 16px;
  filter: blur(2px);
  transition:
    opacity .78s ease,
    translate .9s cubic-bezier(.2,.72,.2,1),
    filter .8s ease;
}
.rtc-motion-item:not(.reveal-soft).is-visible {
  opacity: 1;
  translate: 0 0;
  filter: blur(0);
}

/* Everything interactive gets a little life, never a hard snap. */
a,
button,
input,
textarea,
select,
label,
.site-nav a,
.studio-private-nav a,
.studio-choice-card,
.studio-shelf-card,
.studio-post-card,
.studio-product-card,
.studio-admin-grid > a,
.archive-card,
.journal-card,
.shop-product-card,
.journal-gallery__button,
.shop-product-thumbs button {
  transition-property: color, background-color, border-color, box-shadow, opacity, filter, translate, scale;
  transition-duration: 220ms;
  transition-timing-function: ease;
}

button:hover:not(:disabled),
.button:hover,
.studio-private-nav a:hover,
.studio-shelf-card__actions a:hover,
.studio-admin-grid > a:hover,
.studio-smart-shelves a:hover,
.studio-home-moods a:hover {
  translate: 0 -2px;
}

button:active:not(:disabled),
.button:active,
.studio-private-nav a:active {
  translate: 0 0;
  scale: .985;
}

/* Float the visual keepsakes so the page feels like it is breathing. */
.studio-choice-card__icon,
.studio-section-title > span,
.keepsake-icon,
.studio-paper-bin,
.footer-doodle,
.home-doodle,
.card-doodle,
.archive-card__doodle,
.shop-collection__mark {
  animation: rtcEmojiFloat 5.6s ease-in-out infinite;
  transform-origin: 50% 60%;
}
.studio-choice-card:nth-child(2) .studio-choice-card__icon,
.footer-doodle { animation-delay: -1.6s; }
.studio-choice-card:nth-child(3) .studio-choice-card__icon,
.studio-paper-bin { animation-delay: -3.1s; }
@keyframes rtcEmojiFloat {
  0%,100% { translate: 0 0; rotate: -1deg; }
  50% { translate: 0 -6px; rotate: 2deg; }
}

/* Photos get a soft cinematic hover instead of abrupt zooms. */
.latest-entry__photo-wrap img,
.archive-card img,
.journal-gallery img,
.shop-product-card img,
.shop-product-detail__hero img,
.home-product-card img,
.studio-post-card img,
.studio-product-card img,
.studio-existing-photos img,
.studio-product-photo-choice > img {
  transition: filter .5s ease, scale .55s cubic-bezier(.2,.7,.2,1), object-position .4s ease;
}
.archive-card:hover img,
.shop-product-card:hover img,
.home-product-card:hover img,
.studio-post-card:hover img,
.studio-product-card:hover img {
  scale: 1.025;
}

/* Cute but very obvious BASURA! action. */
.studio-card-trash button,
form[action="/studio/move-trash.php"] button {
  min-height: 2.7rem;
  padding: .62rem .86rem;
  border: 1px solid rgba(222,135,169,.32);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(98,48,83,.12), rgba(121,79,147,.12));
  color: #9a486a;
  font: 700 .8rem/1 "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
}
.studio-page form[action="/studio/move-trash.php"] button {
  color: #ffd1df;
  border-color: rgba(255,161,194,.28);
  background: linear-gradient(135deg, rgba(156,64,104,.28), rgba(111,75,142,.24));
}
.studio-card-trash button:hover,
form[action="/studio/move-trash.php"] button:hover {
  box-shadow: 0 8px 24px rgba(106,52,86,.15);
  translate: 0 -2px;
}
.studio-paper-bin { font-size: 3rem; }

/* Give focus a soft jewel glow. */
input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(143,205,196,.32);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .rtc-motion-item:not(.reveal-soft),
  .rtc-motion-item:not(.reveal-soft).is-visible {
    opacity: 1 !important;
    translate: none !important;
    filter: none !important;
    transition: none !important;
  }
  .studio-choice-card__icon,
  .studio-section-title > span,
  .keepsake-icon,
  .studio-paper-bin,
  .footer-doodle,
  .home-doodle,
  .card-doodle,
  .archive-card__doodle,
  .shop-collection__mark,
  .loader p {
    animation: none !important;
  }
}


/* =========================================================
   FEATURED DATE — the date a memory belongs to
   ========================================================= */
.studio-featured-date-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(11rem, .42fr);
  gap: 1.2rem;
  align-items: center;
  margin: 1.25rem 0 1.65rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid rgba(213, 179, 255, .24);
  border-radius: 1.3rem;
  background: linear-gradient(135deg, rgba(103, 69, 145, .28), rgba(20, 122, 129, .18));
  box-shadow: 0 16px 42px rgba(15, 7, 27, .16);
}
.studio-featured-date-card__icon { font-size: clamp(1.8rem, 4vw, 2.7rem); animation: rtc-gentle-float 5.8s ease-in-out infinite; }
.studio-featured-date-card p { margin: .25rem 0 0; max-width: 44rem; }
.studio-featured-date-card strong { font-family: "Fraunces", Georgia, serif; font-size: clamp(1.25rem, 2.5vw, 1.75rem); }
.studio-featured-date-card input[type="date"] {
  width: 100%; min-height: 3.6rem; padding: .8rem 1rem; border-radius: .9rem;
  border: 1px solid rgba(220, 191, 244, .34); background: rgba(20, 12, 31, .48); color: inherit;
  font: 600 1rem "DM Mono", monospace; color-scheme: dark;
}
.studio-featured-date-card input[type="date"]:focus { outline: none; box-shadow: 0 0 0 4px rgba(179, 122, 222, .18), 0 0 26px rgba(68, 190, 181, .13); border-color: rgba(209, 159, 239, .68); }

.journal-featured-date { display: grid; gap: .12rem; }
.journal-featured-date span { font-family: "DM Mono", monospace; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; opacity: .72; }
.journal-featured-date time { font-family: "Fraunces", Georgia, serif; font-size: clamp(1.55rem, 4vw, 2.6rem); line-height: 1; color: var(--pink); }
.archive-featured-date { display: flex; align-items: baseline; gap: .45rem; }
.archive-featured-date small { font-size: .95rem; }
.archive-featured-date .card-date { font-size: clamp(.86rem, 1.5vw, 1rem); font-weight: 600; }
.archive-published-date { margin: .85rem 0 0; font-family: "DM Mono", monospace; font-size: .68rem; opacity: .58; text-transform: uppercase; letter-spacing: .04em; }
.section-featured-date { display: grid; gap: .15rem; text-align: right; }
.section-featured-date span { font-family: "DM Mono", monospace; font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; opacity: .68; }
.section-featured-date strong { font-family: "Fraunces", Georgia, serif; font-size: clamp(1.2rem, 3vw, 2rem); color: var(--pink); }
.studio-post-card__date { display: grid; gap: .12rem; margin-top: .8rem; }
.studio-post-card__date > span { font-family: "DM Mono", monospace; font-size: .66rem; text-transform: uppercase; letter-spacing: .05em; opacity: .66; }
.studio-post-card__date time { font-family: "Fraunces", Georgia, serif; font-size: 1.25rem; }
.studio-post-card__date small { opacity: .56; font-size: .72rem; }

@media (max-width: 720px) {
  .studio-featured-date-card { grid-template-columns: auto minmax(0,1fr); }
  .studio-featured-date-card input[type="date"] { grid-column: 1 / -1; }
  .section-featured-date { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .studio-featured-date-card__icon { animation: none !important; }
}


/* === Existing image libraries: /images, /images/memes, /images/PENS, /images/SOAPS === */
.studio-library-drawer {
  margin-top: .85rem;
  padding: .75rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: rgba(255,255,255,.42);
}
.studio-library-drawer > summary {
  cursor: pointer;
  color: var(--violet-deep);
  font-family: "DM Mono", monospace;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.studio-library-note { margin: .65rem 0 1rem; color: var(--ink-soft); font-size: .88rem; }
.studio-mini-library {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .55rem;
  margin-top: .75rem;
  max-height: 28rem;
  overflow: auto;
  padding-right: .25rem;
}
.studio-mini-library__item {
  display: grid;
  gap: .35rem;
  padding: .4rem;
  border: 1px solid var(--line);
  border-radius: .8rem;
  background: rgba(255,255,255,.56);
  cursor: pointer;
}
.studio-mini-library__item:has(input:checked) {
  border-color: rgba(176,115,202,.7);
  box-shadow: 0 0 0 3px rgba(176,115,202,.12);
}
.studio-mini-library__item input { position: absolute; opacity: 0; pointer-events: none; }
.studio-mini-library__item img { display:block; width:100%; aspect-ratio:1; object-fit:contain; border-radius:.6rem; background:rgba(40,23,54,.08); }
.studio-mini-library__item small { overflow:hidden; color:var(--ink-soft); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.studio-inline-upload { display:grid; gap:.35rem; margin:.75rem 0; color:var(--ink-soft); font-size:.78rem; }
.studio-memory-drawer { margin: 1rem 0 1.25rem; }
.studio-memory-drawer .studio-product-photo-choice > img { object-fit: contain; background: rgba(40,23,54,.08); }
@media (max-width:720px) { .studio-mini-library { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* =========================================================
   SHOP TEXT SAFETY — keep long titles/content inside cards
   ========================================================= */

/* Grid/flex children are allowed to shrink instead of forcing the card wider. */
.shop-product-card,
.shop-product-card__body,
.shop-product-card__top,
.shop-product-card__foot,
.shop-product-card__foot > *,
.studio-product-card,
.studio-product-card > div,
.home-product-card,
.home-product-card__copy {
  min-width: 0;
  max-width: 100%;
}

/* Editorial shop titles were intentionally huge; keep the drama without overflow. */
.shop-product-card--editorial h2,
.shop-product-card h2 {
  max-width: 100%;
  font-size: clamp(1.85rem, 3.4vw, 3.15rem);
  line-height: .96;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.shop-product-card--editorial h2 a,
.shop-product-card h2 a,
.studio-product-card h2,
.home-product-card__copy strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

/* Descriptions, labels and links can wrap instead of escaping their card. */
.shop-product-card p,
.shop-product-card__top,
.shop-product-card__foot,
.shop-product-card__foot a,
.shop-price,
.shop-product-card__gallery-count,
.studio-product-card p,
.studio-product-card__meta,
.studio-product-card .text-link,
.home-product-card__copy small,
.home-product-card__copy em {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.shop-product-card__top,
.shop-product-card__foot,
.studio-product-card__meta {
  flex-wrap: wrap;
}

/* Keep price + details graceful when the card gets narrow. */
.shop-product-card__foot {
  align-items: flex-start;
}

.shop-product-card__foot .text-link {
  margin-left: auto;
  text-align: right;
}

/* Studio product names should stay comfortably inside their editing cards too. */
.studio-product-card h2 {
  font-size: clamp(1.35rem, 2.7vw, 1.8rem);
  line-height: 1.02;
}

@media (max-width: 720px) {
  .shop-product-card--editorial h2,
  .shop-product-card h2 {
    font-size: clamp(1.75rem, 9vw, 2.7rem);
  }

  .shop-product-card__foot {
    flex-direction: column;
    align-items: flex-start;
  }

  .shop-product-card__foot .text-link {
    margin-left: 0;
    text-align: left;
  }
}


/* =========================================================
   PUBLIC POLISH + THEMES + 90s CURSOR — AUGUST 2026
   Visual-only enrichment. Studio remains its dark private room.
   ========================================================= */

/* Make the little handwritten thought feel like a real part of the hero. */
.public-jewel-page .hero-handnote {
  max-width: 20ch;
  margin-top: 2rem;
  margin-left: clamp(.5rem, 5vw, 4rem);
  font-size: clamp(2rem, 4.3vw, 3.65rem);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.025em;
  text-wrap: balance;
  transition: opacity .23s ease, translate .23s ease, filter .23s ease;
}
.public-jewel-page .hero-handnote.is-changing { opacity: 0; translate: 0 5px; filter: blur(2px); }

/* Pull the right-now board closer to the hero so it reads earlier. */
.home-page .home-moodboard {
  position: relative;
  z-index: 8;
  margin-top: clamp(-6rem, -7vw, -3.5rem);
  margin-bottom: clamp(2.2rem, 5vw, 4rem);
  backdrop-filter: blur(18px);
}

/* Three recent-entry jewels + one featured shop object. */
.home-keepsake-links {
  width: min(calc(100% - 2rem), var(--max));
  margin: 0 auto clamp(4rem, 8vw, 7rem);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, .34fr);
  gap: 1rem;
  align-items: stretch;
}
.home-keepsake-links__entries {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.home-keepsake-link,
.home-shop-spotlight {
  min-width: 0;
  border: 1px solid var(--j-line);
  border-radius: 1.35rem;
  text-decoration: none;
  box-shadow: 0 16px 42px rgba(18, 9, 28, .16);
  transition: translate .28s ease, rotate .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.home-keepsake-link {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: .85rem;
  align-items: center;
  min-height: 8.8rem;
  padding: 1rem;
  background: linear-gradient(145deg, rgba(79, 50, 92, .62), rgba(34, 62, 64, .42));
}
.home-keepsake-link:hover,
.home-shop-spotlight:hover { translate: 0 -5px; border-color: rgba(242, 167, 196, .38); box-shadow: 0 24px 56px rgba(18,9,28,.25); }
.home-keepsake-link.is-latest {
  background: linear-gradient(145deg, rgba(126, 70, 117, .72), rgba(76, 63, 122, .62));
  box-shadow: 0 18px 48px rgba(174, 84, 130, .18);
}
.home-keepsake-link__icon {
  display: grid;
  width: 3.25rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  color: #2b1933;
  background: linear-gradient(145deg, #f1b4ce, #9fd8d0);
  box-shadow: 3px 4px 0 rgba(20, 13, 27, .35);
  font-size: 1.35rem;
  animation: rtcEmojiFloat 5.8s ease-in-out infinite;
}
.home-keepsake-link:nth-child(2) .home-keepsake-link__icon { animation-delay: -1.7s; background: linear-gradient(145deg,#c9a7df,#eba9c1); }
.home-keepsake-link:nth-child(3) .home-keepsake-link__icon { animation-delay: -3.2s; background: linear-gradient(145deg,#9dd5cd,#b6c8a9); }
.home-keepsake-link__copy { min-width: 0; display: grid; gap: .28rem; }
.home-keepsake-link small,
.home-shop-spotlight small { color: var(--j-faint); font: 700 .7rem/1.15 "DM Mono", monospace; text-transform: uppercase; letter-spacing: .055em; }
.home-keepsake-link strong,
.home-shop-spotlight strong { overflow-wrap: anywhere; color: var(--j-text); font: 600 clamp(1.12rem,2vw,1.45rem)/1.05 "Fraunces",Georgia,serif; }
.home-keepsake-link em,
.home-shop-spotlight em { color: var(--j-rose); font: 500 .76rem/1 "DM Mono",monospace; font-style: normal; }
.home-shop-spotlight {
  display: grid;
  grid-template-columns: 5.5rem minmax(0,1fr);
  gap: .8rem;
  align-items: center;
  padding: .75rem;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(33, 62, 61, .74), rgba(65, 39, 76, .72));
}
.home-shop-spotlight img { width: 5.5rem; height: 7.2rem; object-fit: contain; border-radius: .85rem; background: rgba(255,255,255,.06); }
.home-shop-spotlight > span:last-child { min-width:0; display:grid; gap:.35rem; }
.home-shop-spotlight__mark { display:grid; width:5.5rem; height:7.2rem; place-items:center; border-radius:.85rem; background:rgba(255,255,255,.06); font-size:2rem; }

/* About should feel like a full chapter, not an afterthought. */
.about-copy__lead { font-size: clamp(1.18rem, 2vw, 1.42rem) !important; line-height: 1.62; }
.about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin:2rem 0; }
.about-values > div { min-width:0; padding:1rem; border:1px solid var(--j-line); border-radius:1.15rem; background:rgba(255,255,255,.04); }
.about-values span { display:block; margin-bottom:.65rem; color:var(--j-rose); font-size:1.45rem; animation:rtcEmojiFloat 5.8s ease-in-out infinite; }
.about-values > div:nth-child(2) span { color:var(--j-orchid); animation-delay:-1.8s; }
.about-values > div:nth-child(3) span { color:var(--j-teal-bright); animation-delay:-3.3s; }
.about-values strong { display:block; margin-bottom:.35rem; color:var(--j-text); font:600 1.08rem/1.1 "Fraunces",Georgia,serif; }
.about-values small { display:block; color:var(--j-muted); font-size:.82rem; line-height:1.5; }

/* Public theme toggle. Studio uses studio-header.php and remains dark. */
.theme-toggle {
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  min-height:2.15rem;
  padding:.5rem .72rem;
  border:1px solid var(--j-line);
  border-radius:999px;
  color:var(--j-muted);
  background:rgba(255,255,255,.05);
  font:700 .76rem/1 "DM Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.035em;
  cursor:pointer;
  transition:translate .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.theme-toggle:hover { translate:0 -2px; color:var(--j-text); background:rgba(183,138,203,.13); box-shadow:0 8px 22px rgba(20,10,28,.12); }
.theme-toggle span:first-child { font-size:1rem; }

/* Softer dark public room. It stays dramatic without going near-black. */
html[data-theme="dark"] .public-jewel-page {
  --j-night:#24192c;
  --j-night-2:#2b1d36;
  --j-plum:#352342;
  --j-plum-soft:#432b51;
  --j-card:rgba(58,38,70,.80);
  --j-card-solid:#392647;
  --j-text:#fbf2fb;
  --j-muted:#d6c7d8;
  --j-faint:#b3a1b7;
  background:
    radial-gradient(circle at 8% 8%, rgba(203, 101, 145, .25), transparent 29rem),
    radial-gradient(circle at 90% 22%, rgba(79, 164, 155, .24), transparent 32rem),
    radial-gradient(circle at 48% 76%, rgba(145, 103, 175, .22), transparent 38rem),
    linear-gradient(160deg, #2b1d35 0%, #33213d 45%, #203538 125%);
}
html[data-theme="dark"] .public-jewel-page .current-life-strip { background:linear-gradient(120deg,rgba(71,45,82,.83),rgba(36,68,68,.76)); }

/* Light mode is lavender/blush/sage, intentionally not cream. */
html[data-theme="light"] .public-jewel-page {
  --j-night:#e9dfed;
  --j-night-2:#e1d5e8;
  --j-plum:#d9c6df;
  --j-plum-soft:#cfbad7;
  --j-violet:#6f4c88;
  --j-orchid:#835c9b;
  --j-berry:#98506c;
  --j-rose:#b65d7e;
  --j-teal:#397c78;
  --j-teal-bright:#397f79;
  --j-sage:#6e8e73;
  --j-gold:#997936;
  --j-text:#322638;
  --j-muted:#685a6d;
  --j-faint:#817086;
  --j-line:rgba(75,52,82,.15);
  --j-card:rgba(245,237,247,.84);
  --j-card-solid:#eee2f2;
  color:var(--j-text);
  background:
    radial-gradient(circle at 9% 8%, rgba(198, 110, 151, .22), transparent 28rem),
    radial-gradient(circle at 89% 23%, rgba(76, 151, 143, .22), transparent 31rem),
    radial-gradient(circle at 50% 74%, rgba(122, 82, 154, .16), transparent 37rem),
    linear-gradient(160deg, #eee4f0 0%, #eadbe6 46%, #dcebea 130%);
}
html[data-theme="light"] .public-jewel-page::before { opacity:.14; }
html[data-theme="light"] .public-jewel-page h1,
html[data-theme="light"] .public-jewel-page h2,
html[data-theme="light"] .public-jewel-page h3,
html[data-theme="light"] .public-jewel-page .logo,
html[data-theme="light"] .public-jewel-page .footer-logo,
html[data-theme="light"] .public-jewel-page .journal-all-link { color:#302337; }
html[data-theme="light"] .public-jewel-page .hero-copy h1 { color:#302337; text-shadow:none; }
html[data-theme="light"] .public-jewel-page .site-nav a,
html[data-theme="light"] .public-jewel-page .theme-toggle { color:#66546e; background:rgba(255,255,255,.20); }
html[data-theme="light"] .public-jewel-page .site-nav a:hover,
html[data-theme="light"] .public-jewel-page .site-nav a[aria-current="page"],
html[data-theme="light"] .public-jewel-page .theme-toggle:hover { color:#35233f; background:rgba(116,82,139,.12); }
html[data-theme="light"] .public-jewel-page .site-nav__divider { background:rgba(70,45,79,.16); }
html[data-theme="light"] .public-jewel-page .site-nav .site-nav__studio,
html[data-theme="light"] .public-jewel-page .site-nav .site-nav__admin { color:#fff; }
html[data-theme="light"] .public-jewel-page .hero-handnote { color:#8e4f6d; }
html[data-theme="light"] .public-jewel-page .current-life-strip { background:linear-gradient(120deg,rgba(236,219,239,.90),rgba(211,234,230,.86)); box-shadow:0 22px 55px rgba(80,50,83,.11); }
html[data-theme="light"] .current-life-strip strong,
html[data-theme="light"] .current-life-strip__quote strong { color:#35283c; }
html[data-theme="light"] .public-jewel-page .latest-entry__card--jewel { background:radial-gradient(circle at 90% 12%,rgba(70,145,137,.12),transparent 18rem),linear-gradient(145deg,rgba(241,230,244,.96),rgba(223,235,233,.94)); box-shadow:0 28px 70px rgba(75,50,84,.12); }
html[data-theme="light"] .public-jewel-page .latest-entry__copy h3,
html[data-theme="light"] .home-keepsake-link strong,
html[data-theme="light"] .home-shop-spotlight strong { color:#33253a; }
html[data-theme="light"] .home-keepsake-link { background:linear-gradient(145deg,rgba(236,220,241,.86),rgba(211,231,228,.82)); }
html[data-theme="light"] .home-keepsake-link.is-latest { background:linear-gradient(145deg,rgba(231,204,223,.90),rgba(218,211,237,.90)); }
html[data-theme="light"] .home-shop-spotlight { background:linear-gradient(145deg,rgba(207,231,226,.90),rgba(232,213,235,.90)); }
html[data-theme="light"] .journal-editorial-card,
html[data-theme="light"] .about-values > div { box-shadow:0 18px 45px rgba(72,49,79,.10); }
html[data-theme="light"] .public-jewel-page .journal-editorial-card__body p,
html[data-theme="light"] .public-jewel-page .about-copy>p:not(.eyebrow),
html[data-theme="light"] .about-values small { color:#685a6d; }
html[data-theme="light"] .public-jewel-page .about-copy blockquote { color:#65435b; }
html[data-theme="light"] .public-jewel-page .latest-entry__photo-wrap--dark { background:#e8dbe9; box-shadow:0 18px 45px rgba(75,49,82,.14); }
html[data-theme="light"] .public-jewel-page .latest-entry__photo-wrap--dark figcaption { color:#5e4b63; }
html[data-theme="light"] .public-jewel-page .shop-sticker { color:#7f4461; background:rgba(170,87,121,.08); }
html[data-theme="light"] .public-jewel-page .site-footer { color:#6b5c70; }

/* Big pink 90s pointer whenever something can be clicked. */
a,
button,
summary,
select,
label[for],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="checkbox"],
input[type="radio"],
[role="button"],
[tabindex]:not([tabindex="-1"]) {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='46' viewBox='0 0 40 46'%3E%3Cpath d='M4 2 L31 23 L20 25 L27 39 L20 43 L13 28 L5 35 Z' fill='%23ff79b0' stroke='%234b235d' stroke-width='2.5' stroke-linejoin='round'/%3E%3Cpath d='M28 5 l2 4 4 2-4 2-2 4-2-4-4-2 4-2z' fill='%23fff3fb'/%3E%3C/svg%3E") 5 3, pointer;
}

/* Everything interactive gets a tiny bit of life. */
@media (prefers-reduced-motion: no-preference) {
  a, button, summary, .studio-product-photo-choice, .studio-mini-library__item { transition-property: transform, translate, color, background-color, border-color, box-shadow, opacity, filter; transition-duration:.22s; transition-timing-function:ease; }
  a:not(.logo):not(.journal-editorial-card__image):hover,
  button:hover,
  summary:hover { translate:0 -1px; }
  .home-keepsake-link:hover .home-keepsake-link__icon { animation-duration:2.6s; }
}

/* Featured year tags are generated from Featured Date while Rachel writes. */
.studio-tag-suggestions button[data-auto-year],
.studio-auto-year-note { color:#cdb3dc; }

@media (max-width: 900px) {
  .home-keepsake-links { grid-template-columns:1fr; }
  .home-shop-spotlight { max-width:34rem; }
}
@media (max-width: 720px) {
  .home-page .home-moodboard { margin-top:-2rem; }
  .home-keepsake-links__entries { grid-template-columns:1fr; }
  .home-keepsake-link { min-height:7rem; }
  .about-values { grid-template-columns:1fr; }
  .public-jewel-page .hero-handnote { margin-left:.5rem; font-size:clamp(2rem,11vw,3rem); }
  .theme-toggle { min-height:2.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-keepsake-link__icon,
  .about-values span { animation:none !important; }
  .public-jewel-page .hero-handnote { transition:none; }
}

/* =========================================================
   PUBLIC BURST REFINEMENT — compact home, richer shop, About,
   privacy/legal, stronger contrast. Public-only visual layer.
   ========================================================= */

/* Bring the first meaningful content much higher on the homepage. */
.home-page .hero-section--lifted,
.home-page .hero-section--editorial {
  min-height: 0;
  padding-top: clamp(2.2rem, 4.8vw, 4rem);
  padding-bottom: clamp(2.8rem, 5.5vw, 4.8rem);
  align-items: center;
}
.home-page .hero-collage--editorial { min-height: clamp(27rem, 43vw, 34rem); }
.home-page .home-moodboard {
  margin-top: clamp(-3.8rem, -4vw, -2rem);
  margin-bottom: clamp(1.8rem, 4vw, 3rem);
}
.home-page .home-keepsake-links { margin-bottom: clamp(2.8rem, 6vw, 5rem); }

/* More readable microtype + stronger dark-mode contrast everywhere public. */
.public-jewel-page {
  --j-muted: #e0d3e2;
  --j-faint: #c7b5cc;
  --j-line: rgba(244, 224, 249, .20);
}
.public-jewel-page small,
.public-jewel-page .tiny-label,
.public-jewel-page .card-date,
.public-jewel-page .section-date,
.public-jewel-page .site-nav,
.public-jewel-page .text-link {
  font-size: clamp(.82rem, 1vw, .92rem);
  line-height: 1.45;
}
.public-jewel-page .eyebrow {
  font-size: clamp(.84rem, 1vw, .96rem);
  font-weight: 700;
  letter-spacing: .09em;
}
.public-jewel-page p { color: var(--j-muted); }
.public-jewel-page strong { text-rendering: optimizeLegibility; }

/* SHOP — readable, editorial, richer contrast. */
.shop-page-main { padding-top: clamp(.8rem, 2vw, 1.6rem); }
.shop-page-intro--jewel {
  padding-top: clamp(2.6rem, 6vw, 5rem);
  padding-bottom: clamp(2.2rem, 5vw, 4rem);
}
.shop-page-intro__lede { color: var(--j-text) !important; opacity: .88; }
.shop-page-intro__note--dark {
  color: var(--j-text);
  background: linear-gradient(145deg, rgba(77, 48, 92, .92), rgba(31, 74, 70, .84));
  border-color: rgba(244,224,249,.24);
  box-shadow: 0 18px 48px rgba(7,3,12,.24);
}
.shop-page-intro__note--dark p { color: #f2e9f2; font-size: 1.02rem; }

.shop-product-grid--editorial { gap: clamp(1.2rem, 2.5vw, 2rem); }
.shop-product-card--editorial {
  border-color: rgba(244,224,249,.21);
  background:
    radial-gradient(circle at 92% 8%, rgba(117, 190, 181, .10), transparent 13rem),
    linear-gradient(150deg, #382346, #26383d);
  box-shadow: 0 25px 68px rgba(6,3,11,.28);
}
.shop-product-card--editorial .shop-product-card__body {
  padding: clamp(1.45rem, 3vw, 2.25rem);
}
.shop-product-card--editorial .shop-product-card__top {
  gap: .65rem;
  color: #e5d5e8;
  font: 700 clamp(.82rem, 1vw, .92rem)/1.35 "DM Mono", monospace;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.shop-product-card--editorial h2 {
  margin: .9rem 0 .75rem;
  font-size: clamp(1.75rem, 3vw, 2.75rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}
.shop-product-card--editorial .shop-product-card__body > p {
  color: #eadfec;
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.68;
}
.shop-product-card__gallery-count {
  padding: .48rem .68rem;
  color: #fff;
  background: rgba(24, 15, 31, .86);
  border-color: rgba(255,255,255,.24);
  font: 700 .78rem/1 "DM Mono", monospace;
}
.shop-product-card__foot {
  padding-top: .35rem;
  border-top: 1px solid rgba(244,224,249,.12);
}
.shop-product-card__foot .text-link {
  color: #f8eff9;
  font-size: .88rem;
  font-weight: 700;
}
.shop-product-card--editorial .shop-price {
  color: #ffc0d7;
  font-size: clamp(1.45rem, 2.3vw, 1.9rem);
}
.shop-product-card__peek {
  position: absolute;
  left: .75rem;
  bottom: .75rem;
  display: flex;
  gap: .35rem;
  z-index: 3;
}
.shop-product-card__peek img {
  width: 2.7rem !important;
  height: 2.7rem !important;
  object-fit: cover !important;
  border: 2px solid rgba(250,240,250,.88);
  border-radius: .55rem;
  background: #24162f;
  box-shadow: 0 5px 15px rgba(0,0,0,.25);
}

.shop-product-detail__status {
  color: #e1d1e5;
  font-size: .86rem;
  line-height: 1.35;
  font-weight: 700;
}
.shop-product-detail__description p { color: #eee3ef; font-size: 1.08rem; line-height: 1.7; }
.shop-product-detail__buy small { color: #dacbde; font-size: .9rem; line-height: 1.55; }
.shop-product-detail__back { color: #e0d2e3; font-size: .9rem; font-weight: 700; }

/* A photo-rich band on the shop page using the existing PENS/SOAPS libraries. */
.shop-library-ribbon {
  margin: 0 0 clamp(3rem, 7vw, 6rem);
  padding: clamp(1rem, 2.5vw, 1.5rem);
  overflow: hidden;
  border: 1px solid var(--j-line);
  border-radius: 1.55rem;
  background: linear-gradient(135deg, rgba(71,43,84,.72), rgba(34,73,70,.62));
  box-shadow: 0 22px 62px rgba(8,4,13,.22);
}
.shop-library-ribbon__heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  padding: .35rem .35rem 1.1rem;
}
.shop-library-ribbon__heading .eyebrow { margin: 0; }
.shop-library-ribbon__heading strong { color: var(--j-text); font: 600 clamp(1rem,2vw,1.35rem)/1.15 "Fraunces",serif; }
.shop-library-ribbon__track {
  display: grid;
  grid-template-columns: repeat(7, minmax(5rem,1fr));
  gap: .55rem;
}
.shop-library-ribbon__photo {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: .82;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: .9rem;
  background: #24182d;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
  text-decoration: none;
  transform: rotate(var(--photo-rotate, 0deg));
}
.shop-library-ribbon__photo--1 { --photo-rotate:-1.6deg; }
.shop-library-ribbon__photo--2 { --photo-rotate:1.2deg; }
.shop-library-ribbon__photo--3 { --photo-rotate:-.7deg; }
.shop-library-ribbon__photo--4 { --photo-rotate:1.8deg; }
.shop-library-ribbon__photo--5 { --photo-rotate:-1deg; }
.shop-library-ribbon__photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.92) brightness(.90); transition:scale .5s ease,filter .5s ease; }
.shop-library-ribbon__photo span {
  position:absolute;
  left:.45rem;
  bottom:.45rem;
  padding:.28rem .45rem;
  border-radius:999px;
  color:#fff;
  background:rgba(21,13,27,.78);
  font:700 .72rem/1 "DM Mono",monospace;
  text-transform:uppercase;
}
.shop-library-ribbon__photo:hover img { scale:1.045; filter:saturate(1.05) brightness(.98); }

/* Homepage shop burst: many real pen/soap photos, all leading to Shop. */
.home-shop-showcase { min-width: 0; }
.home-shop-showcase__mosaic {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  grid-auto-rows: 7.2rem;
  gap: .5rem;
  min-height: 31rem;
  padding: .65rem;
  overflow: hidden;
  border: 1px solid var(--j-line);
  border-radius: 1.6rem;
  background: linear-gradient(145deg, rgba(55,35,69,.88), rgba(29,62,61,.82));
  box-shadow: 0 28px 78px rgba(7,3,12,.28);
  text-decoration: none;
}
.home-shop-showcase__tile { position:relative; margin:0; min-width:0; overflow:hidden; border-radius:.85rem; background:#24162e; }
.home-shop-showcase__tile--1,.home-shop-showcase__tile--6 { grid-column:span 2; grid-row:span 2; }
.home-shop-showcase__tile--2,.home-shop-showcase__tile--5 { grid-column:span 2; }
.home-shop-showcase__tile--3 { grid-row:span 2; }
.home-shop-showcase__tile img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.92) brightness(.86); transition:scale .55s ease,filter .55s ease; }
.home-shop-showcase__tile span { position:absolute; left:.4rem; bottom:.4rem; padding:.28rem .42rem; border-radius:999px; background:rgba(18,12,24,.72); color:#f8eef8; font:700 .68rem/1 "DM Mono",monospace; text-transform:uppercase; }
.home-shop-showcase__mosaic:hover .home-shop-showcase__tile img { filter:saturate(1) brightness(.93); }
.home-shop-showcase__tile:hover img { scale:1.06; }
.home-shop-showcase__cta {
  position:absolute;
  z-index:5;
  right:1rem;
  bottom:1rem;
  display:grid;
  gap:.25rem;
  max-width:17rem;
  padding:.9rem 1rem;
  border:1px solid rgba(255,255,255,.20);
  border-radius:1rem;
  color:#fff;
  background:rgba(39,23,48,.86);
  backdrop-filter:blur(12px);
  box-shadow:0 12px 32px rgba(0,0,0,.25);
}
.home-shop-showcase__cta strong { font:600 1.16rem/1.05 "Fraunces",serif; }
.home-shop-showcase__cta em { color:#f4bfd2; font:700 .76rem/1.25 "DM Mono",monospace; font-style:normal; text-transform:uppercase; }

/* Homepage About teaser. Full story now lives on /about/. */
.home-about-teaser {
  display:grid;
  grid-template-columns:minmax(260px,.65fr) minmax(0,1fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
  padding-top:clamp(3.5rem,7vw,6rem);
  padding-bottom:clamp(3.5rem,7vw,6rem);
}
.home-about-teaser__photo { position:relative; max-width:28rem; margin-inline:auto; padding:.7rem .7rem 2.7rem; rotate:-2.5deg; background:#261a2f; border:1px solid var(--j-line); box-shadow:0 25px 65px rgba(0,0,0,.28); }
.home-about-teaser__photo img { display:block; width:100%; aspect-ratio:1.12; object-fit:cover; filter:saturate(.88) brightness(.9); }
.home-about-teaser__photo span { position:absolute; bottom:.7rem; left:.8rem; color:#ecc1d2; font:600 1.22rem/1 "Caveat",cursive; }
.home-about-teaser__copy h2 { max-width:12ch; }
.home-about-teaser__copy > p:not(.eyebrow) { max-width:43rem; color:var(--j-muted); font-size:1.08rem; line-height:1.7; }

/* Separate About page — third-person, family-forward editorial story. */
.about-page-main { padding-bottom:clamp(4rem,8vw,7rem); }
.about-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.74fr); gap:clamp(2rem,7vw,6rem); align-items:center; padding:clamp(3rem,7vw,6rem) 0 clamp(4rem,8vw,7rem); }
.about-hero__copy h1 { max-width:12ch; font-size:clamp(3.8rem,8vw,7.5rem); }
.about-hero__lead { max-width:46rem; color:var(--j-muted); font-size:clamp(1.08rem,2vw,1.32rem); line-height:1.7; }
.about-hero__portrait-stack { position:relative; min-height:34rem; }
.about-photo { position:absolute; margin:0; padding:.65rem .65rem 2.25rem; border:1px solid var(--j-line); background:#24182e; box-shadow:0 25px 65px rgba(0,0,0,.3); }
.about-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.88) brightness(.9); }
.about-photo figcaption { position:absolute; left:.7rem; right:.7rem; bottom:.65rem; color:#edc2d4; text-align:center; font:600 1rem/1 "Caveat",cursive; }
.about-photo--abuelos { width:68%; height:28rem; left:0; top:0; rotate:-4deg; }
.about-photo--wedding { width:57%; height:22rem; right:0; bottom:0; rotate:4deg; }
.about-orbit { position:absolute; z-index:4; display:grid; place-items:center; width:4rem; aspect-ratio:1; border-radius:50%; box-shadow:0 12px 34px rgba(0,0,0,.25); font-size:1.4rem; animation:rtcEmojiFloat 5.8s ease-in-out infinite; }
.about-orbit--rose { right:5%; top:9%; color:#351d35; background:linear-gradient(145deg,#efb3cc,#c989bd); }
.about-orbit--teal { left:12%; bottom:2%; color:#152a2c; background:linear-gradient(145deg,#9ad6cf,#64aaa5); animation-delay:-2.4s; }
.about-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,2rem); padding:clamp(2.5rem,6vw,5rem) 0; border-top:1px solid var(--j-line); }
.about-story-card { position:relative; min-width:0; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--j-line); border-radius:1.6rem; box-shadow:0 24px 62px rgba(0,0,0,.22); }
.about-story-card--violet { background:linear-gradient(145deg,rgba(73,43,91,.94),rgba(44,31,58,.96)); }
.about-story-card--teal { background:linear-gradient(145deg,rgba(35,78,75,.9),rgba(40,33,57,.96)); }
.about-story-card h2 { max-width:12ch; font-size:clamp(2.4rem,5vw,4.5rem); }
.about-story-card p:not(.eyebrow) { color:#eadfec; font-size:1.06rem; line-height:1.75; }
.about-story-card__mark { position:absolute; right:1.2rem; top:1rem; color:#f0afca; font-size:1.8rem; animation:rtcEmojiFloat 5.4s ease-in-out infinite; }
.about-story-photo { position:relative; margin:0; overflow:hidden; min-height:28rem; border:1px solid var(--j-line); border-radius:1.6rem; box-shadow:0 24px 62px rgba(0,0,0,.22); }
.about-story-photo img { display:block; width:100%; height:100%; min-height:28rem; object-fit:cover; filter:saturate(.88) brightness(.88); }
.about-story-photo figcaption { position:absolute; left:1rem; bottom:1rem; padding:.45rem .65rem; border-radius:999px; color:#fff; background:rgba(28,16,34,.78); font:600 1rem/1 "Caveat",cursive; }
.about-story-photo--offset { margin-top:2.5rem; }
.about-manifesto { margin-top:clamp(3rem,7vw,6rem); padding:clamp(2rem,5vw,4rem); border:1px solid var(--j-line); border-radius:1.7rem; background:linear-gradient(145deg,rgba(63,39,76,.72),rgba(29,63,61,.60)); box-shadow:0 25px 70px rgba(0,0,0,.22); }
.about-manifesto { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.about-manifesto blockquote { margin:0; color:#f0cada; font:600 clamp(2.1rem,5vw,4.2rem)/1.04 "Fraunces",serif; letter-spacing:-.045em; }
.about-values--wide { grid-column:1/-1; grid-template-columns:repeat(4,minmax(0,1fr)); }
.about-closing { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(0,1fr); gap:clamp(2rem,6vw,5rem); align-items:center; margin-top:clamp(3rem,7vw,6rem); padding-top:clamp(3rem,7vw,6rem); border-top:1px solid var(--j-line); }
.about-closing__photo { overflow:hidden; border:1px solid var(--j-line); border-radius:1.6rem; box-shadow:0 24px 62px rgba(0,0,0,.22); }
.about-closing__photo img { display:block; width:100%; aspect-ratio:.9; object-fit:cover; filter:saturate(.9) brightness(.9); }
.about-closing h2 { max-width:11ch; }
.about-closing p:not(.eyebrow) { max-width:45rem; font-size:1.08rem; line-height:1.7; }
.about-closing__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }

/* Footer: privacy/legal are easy to find, without becoming corporate. */
.site-footer { align-items:start; }
.site-footer__identity { position:relative; max-width:34rem; padding-right:3rem; }
.site-footer__nav { display:grid; grid-template-columns:repeat(3,minmax(8.5rem,1fr)); gap:clamp(1.2rem,3vw,2.4rem); }
.site-footer__nav > div { display:grid; align-content:start; gap:.48rem; }
.site-footer__nav strong { margin-bottom:.25rem; color:var(--j-text); font:600 1rem/1.1 "Fraunces",serif; }
.site-footer__nav a { color:var(--j-muted); font:600 .84rem/1.35 "DM Mono",monospace; text-decoration:none; }
.site-footer__nav a:hover { color:#fff; }

/* Privacy / legal — readable rather than microscopic legalese. */
.policy-main { padding-bottom:clamp(4rem,8vw,7rem); }
.policy-hero { max-width:58rem; padding:clamp(3rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem); }
.policy-hero h1 { max-width:11ch; font-size:clamp(3.5rem,8vw,7rem); }
.policy-hero > p:last-child { max-width:48rem; color:var(--j-muted); font-size:1.08rem; line-height:1.75; }
.policy-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.policy-grid article { min-width:0; padding:clamp(1.4rem,3vw,2rem); border:1px solid var(--j-line); border-radius:1.35rem; background:linear-gradient(145deg,rgba(64,39,77,.70),rgba(31,60,59,.55)); box-shadow:0 18px 50px rgba(0,0,0,.18); }
.policy-grid article > span { display:block; margin-bottom:.8rem; font-size:1.5rem; }
.policy-grid h2 { margin-bottom:.65rem; font-size:clamp(1.7rem,3vw,2.4rem); }
.policy-grid p,.policy-note p { color:var(--j-muted); font-size:1rem; line-height:1.72; }
.policy-note { margin-top:1rem; padding:clamp(1.4rem,3vw,2rem); border-left:3px solid var(--j-rose); background:rgba(255,255,255,.035); }
.policy-note h2 { font-size:clamp(1.6rem,3vw,2.3rem); }

/* Cheap "burst" motion: compositor-friendly translate/scale/opacity only. */
@media (prefers-reduced-motion: no-preference) {
  [data-burst].rtc-motion-item:not(.is-visible) { opacity:0; translate:0 18px; scale:.985; }
  [data-burst].rtc-motion-item.is-visible { opacity:1; translate:0 0; scale:1; }
  [data-burst] { transition:opacity .72s ease,translate .86s cubic-bezier(.2,.72,.2,1),scale .86s cubic-bezier(.2,.72,.2,1),border-color .25s ease,box-shadow .25s ease; }
  .home-shop-showcase__tile:nth-child(2n),.shop-library-ribbon__photo:nth-child(2n) { animation:rtcMicroDrift 7.5s ease-in-out infinite; }
  .home-shop-showcase__tile:nth-child(3n),.shop-library-ribbon__photo:nth-child(3n) { animation:rtcMicroDrift 9s ease-in-out infinite reverse; }
  @keyframes rtcMicroDrift { 0%,100%{translate:0 0} 50%{translate:0 -3px} }
  .about-story-card:hover,.policy-grid article:hover { translate:0 -4px; border-color:rgba(244,178,205,.32); box-shadow:0 28px 68px rgba(0,0,0,.26); }
}

/* Light theme needs equal contrast, not washed-out pastel. */
html[data-theme="light"] .public-jewel-page {
  --j-muted:#55475c;
  --j-faint:#65546d;
  --j-line:rgba(64,40,72,.22);
}
html[data-theme="light"] .shop-product-card--editorial,
html[data-theme="light"] .shop-page-intro__note--dark,
html[data-theme="light"] .shop-library-ribbon,
html[data-theme="light"] .home-shop-showcase__mosaic,
html[data-theme="light"] .about-story-card,
html[data-theme="light"] .about-manifesto,
html[data-theme="light"] .policy-grid article {
  color:#302338;
  background:linear-gradient(145deg,rgba(238,224,242,.95),rgba(213,235,231,.92));
  border-color:rgba(67,42,75,.18);
  box-shadow:0 18px 48px rgba(72,45,80,.10);
}
html[data-theme="light"] .shop-product-card--editorial h2 a,
html[data-theme="light"] .shop-page-intro__note--dark p,
html[data-theme="light"] .shop-library-ribbon__heading strong,
html[data-theme="light"] .about-story-card h2,
html[data-theme="light"] .about-story-card p:not(.eyebrow),
html[data-theme="light"] .policy-grid h2 { color:#302338; }
html[data-theme="light"] .shop-product-card--editorial .shop-product-card__body>p,
html[data-theme="light"] .shop-product-card--editorial .shop-product-card__top,
html[data-theme="light"] .about-story-card p:not(.eyebrow),
html[data-theme="light"] .policy-grid p,
html[data-theme="light"] .policy-note p { color:#584a5d; }
html[data-theme="light"] .shop-product-card__foot .text-link { color:#503858; }
html[data-theme="light"] .shop-product-card--editorial .shop-price { color:#984b6b; }
html[data-theme="light"] .home-shop-showcase__cta { color:#fff; background:rgba(64,39,73,.88); }
html[data-theme="light"] .site-footer__nav strong { color:#302337; }
html[data-theme="light"] .site-footer__nav a { color:#5d4e63; }
html[data-theme="light"] .site-footer__nav a:hover { color:#302337; }

@media (max-width: 980px) {
  .shop-library-ribbon__track { grid-template-columns:repeat(5,minmax(5rem,1fr)); }
  .about-values--wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-footer__nav { grid-template-columns:repeat(2,minmax(8.5rem,1fr)); }
}
@media (max-width: 800px) {
  .about-hero,.about-closing,.home-about-teaser { grid-template-columns:1fr; }
  .about-hero__portrait-stack { min-height:30rem; width:min(100%,36rem); margin-inline:auto; }
  .about-story-grid { grid-template-columns:1fr; }
  .about-story-photo--offset { margin-top:0; }
  .about-manifesto { grid-template-columns:1fr; }
  .about-manifesto blockquote,.about-values--wide { grid-column:auto; }
  .shop-library-ribbon__track { grid-template-columns:repeat(4,minmax(4.5rem,1fr)); }
}
@media (max-width: 720px) {
  .home-page .hero-section--editorial { padding-top:2rem; padding-bottom:2.5rem; }
  .home-page .home-moodboard { margin-top:-1rem; }
  .home-shop-showcase__mosaic { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:6rem; min-height:36rem; }
  .home-shop-showcase__tile--1,.home-shop-showcase__tile--6 { grid-column:span 2; }
  .home-shop-showcase__cta { left:1rem; right:1rem; max-width:none; }
  .shop-library-ribbon__track { display:flex; overflow-x:auto; padding-bottom:.35rem; scroll-snap-type:x proximity; }
  .shop-library-ribbon__photo { flex:0 0 8rem; scroll-snap-align:start; }
  .policy-grid { grid-template-columns:1fr; }
  .site-footer__nav { grid-template-columns:1fr 1fr; width:100%; }
}
@media (max-width: 520px) {
  .site-footer__nav { grid-template-columns:1fr; }
  .about-values--wide { grid-template-columns:1fr; }
  .home-shop-showcase__mosaic { grid-auto-rows:5.4rem; }
  .shop-product-card__peek img { width:2.35rem !important; height:2.35rem !important; }
}

/* =========================================================
   RACHEL TAKES CARE — EVERYWHERE CURSOR + FLOWER HOVER
   Pink 90s pointer is the everyday cursor across the site.
   Clickable things bloom into a flower.
   ========================================================= */

/* Default: oversized candy-pink 90s arrow everywhere. */
html,
body,
body * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='48' viewBox='0 0 42 48'%3E%3Cdefs%3E%3Cfilter id='s' x='-30%25' y='-30%25' width='160%25' height='160%25'%3E%3CfeDropShadow dx='1.5' dy='2' stdDeviation='1.2' flood-color='%23271633' flood-opacity='.45'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23s)'%3E%3Cpath d='M5 3 L34 25 L22 27 L30 42 L22 46 L14 30 L6 38 Z' fill='%23ff78b7' stroke='%23542970' stroke-width='2.4' stroke-linejoin='round'/%3E%3Cpath d='M30 6 l2.2 4.5 4.8 2.1-4.8 2.1-2.2 4.7-2.1-4.7-4.7-2.1 4.7-2.1z' fill='%23fff0fa' stroke='%23a65bc8' stroke-width='.8'/%3E%3C/g%3E%3C/svg%3E") 5 3, auto !important;
}

/* Clickables: a big soft flower instead of a conventional hand pointer. */
body a,
body button,
body summary,
body select,
body label[for],
body input[type="button"],
body input[type="submit"],
body input[type="reset"],
body input[type="checkbox"],
body input[type="radio"],
body input[type="file"],
body [role="button"],
body [role="link"],
body [onclick],
body [tabindex]:not([tabindex="-1"]),
body .journal-gallery__button,
body .studio-dropzone,
body .studio-mood-choice,
body .studio-privacy-picker label,
body .studio-product-photo-choice,
body .studio-mini-library__item {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cdefs%3E%3Cfilter id='s' x='-35%25' y='-35%25' width='170%25' height='170%25'%3E%3CfeDropShadow dx='1.2' dy='1.8' stdDeviation='1.4' flood-color='%23271633' flood-opacity='.48'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23s)' stroke='%23542970' stroke-width='1.5'%3E%3Cellipse cx='22' cy='10' rx='7' ry='9' fill='%23f4a3cf'/%3E%3Cellipse cx='34' cy='18' rx='7' ry='9' transform='rotate(58 34 18)' fill='%23c8a4e8'/%3E%3Cellipse cx='31' cy='32' rx='7' ry='9' transform='rotate(120 31 32)' fill='%237dd4c7'/%3E%3Cellipse cx='15' cy='34' rx='7' ry='9' transform='rotate(-120 15 34)' fill='%23e98daf'/%3E%3Cellipse cx='9' cy='19' rx='7' ry='9' transform='rotate(-58 9 19)' fill='%23ad90d8'/%3E%3Ccircle cx='22' cy='22' r='7.2' fill='%23ffe288'/%3E%3Ccircle cx='19.5' cy='20' r='1.2' fill='%23542970' stroke='none'/%3E%3Ccircle cx='24.5' cy='20' r='1.2' fill='%23542970' stroke='none'/%3E%3Cpath d='M18.5 24.2 Q22 27.2 25.5 24.2' fill='none' stroke='%23542970' stroke-width='1.3' stroke-linecap='round'/%3E%3C/g%3E%3C/svg%3E") 22 22, pointer !important;
}

/* Disabled controls should not pretend they can be clicked. */
body button:disabled,
body input:disabled,
body select:disabled,
body [aria-disabled="true"] {
  cursor: not-allowed !important;
}

/* Preserve an I-beam only where Rachel is actually writing/selecting text. */
body input[type="text"],
body input[type="search"],
body input[type="email"],
body input[type="password"],
body input[type="url"],
body input[type="tel"],
body input[type="number"],
body input[type="date"],
body textarea,
body [contenteditable="true"] {
  cursor: text !important;
}

/* The photo lightbox still communicates that an image can be enlarged. */
body .journal-gallery__button img {
  cursor: inherit !important;
}

/* =========================================================
   ROTATING HERO SAYING — SLIGHTLY SMALLER
   ========================================================= */
.public-jewel-page .hero-handnote {
  font-size: clamp(1.7rem, 3.6vw, 3.1rem);
}

@media (max-width: 720px) {
  .public-jewel-page .hero-handnote {
    font-size: clamp(1.75rem, 9vw, 2.6rem);
  }
}

/* =========================================================
   RACHEL TAKES CARE — WHITE RABBIT + FLOWER-BURST LOADER
   Lightweight: one SVG asset + CSS motion only.
   ========================================================= */

.loader {
  isolation: isolate;
  overflow: hidden;
}

.loader > * {
  position: relative;
  z-index: 4;
}

/* Turn the existing little loader marks into a loose bouquet burst. */
.loader__orb {
  width: 13rem;
  height: 7.4rem;
  margin-bottom: -.2rem;
  overflow: visible;
}

.loader__orb span {
  left: 50% !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: 1px;
  height: 1px;
  color: transparent !important;
  font-size: 0 !important;
  animation: none !important;
  transform: translate(-50%, -50%);
}

.loader__orb span::before,
.loader__orb span::after {
  position: absolute;
  display: block;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  transform-origin: center;
  will-change: transform, opacity;
}

.loader__orb span::before { content: "✿"; }
.loader__orb span::after  { content: "✦"; }

.loader__orb span:nth-child(1)::before {
  color: #f0a6c5;
  font-size: 2.35rem;
  text-shadow: -32px 18px 0 #c6a0dc, 30px 26px 0 #79c7bd;
  animation: rtcFlowerBurstOne 2.75s cubic-bezier(.16,.78,.22,1) infinite;
}
.loader__orb span:nth-child(1)::after {
  color: #f8d884;
  font-size: 1.15rem;
  text-shadow: 25px -10px 0 #efd5f3, -22px -18px 0 #e99ab8;
  animation: rtcSparkBurstOne 2.75s ease-out .12s infinite;
}
.loader__orb span:nth-child(2)::before {
  content: "❀";
  color: #b792d0;
  font-size: 2.7rem;
  text-shadow: 34px 10px 0 #ef94bd, -35px -6px 0 #82c9bf;
  animation: rtcFlowerBurstTwo 2.75s cubic-bezier(.16,.78,.22,1) .08s infinite;
}
.loader__orb span:nth-child(2)::after {
  content: "✧";
  color: #ffffff;
  font-size: 1.45rem;
  text-shadow: -18px 30px 0 #f4b7cf, 30px -24px 0 #c9b0e3;
  animation: rtcSparkBurstTwo 2.75s ease-out .2s infinite;
}
.loader__orb span:nth-child(3)::before {
  content: "✾";
  color: #79c7bd;
  font-size: 2.4rem;
  text-shadow: -28px 25px 0 #f2a5c6, 27px -12px 0 #b895d1;
  animation: rtcFlowerBurstThree 2.75s cubic-bezier(.16,.78,.22,1) .16s infinite;
}
.loader__orb span:nth-child(3)::after {
  content: "·";
  color: #f8d884;
  font-size: 2.5rem;
  text-shadow: 22px 16px 0 #ffffff, -28px -15px 0 #f4c6db;
  animation: rtcSparkBurstThree 2.75s ease-out .28s infinite;
}

/* The actual SVG rabbit: one static illustration, moved/bounced by CSS. */
.loader::before {
  content: "";
  position: absolute;
  z-index: 2;
  left: -14rem;
  bottom: clamp(1.5rem, 7vh, 4.6rem);
  width: clamp(8.8rem, 16vw, 12.5rem);
  aspect-ratio: 220 / 120;
  background: url("/images/loader-rabbit.svg") center / contain no-repeat;
  filter: drop-shadow(0 .7rem 1rem rgba(12, 7, 16, .18));
  pointer-events: none;
  will-change: left, transform;
  animation: rtcRabbitRun 3.15s cubic-bezier(.18,.54,.18,1) .12s both;
}

/* A tiny trail of blooms follows the rabbit across the floor. */
.loader::after {
  content: "✿   ✧   ❀   ✦   ✿   ·   ✾";
  position: absolute;
  z-index: 1;
  left: -18rem;
  bottom: clamp(1.2rem, 5.4vh, 3.5rem);
  width: 16rem;
  color: #df98bd;
  font: 600 clamp(.8rem, 1.4vw, 1.15rem)/1 Georgia, serif;
  letter-spacing: .25rem;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  text-shadow:
    1.2rem -.5rem 0 #a98bc8,
    3rem .25rem 0 #76bfb8,
    5rem -.65rem 0 #f2c0d7,
    7.3rem .35rem 0 #eed27c;
  will-change: left, opacity, transform;
  animation: rtcRabbitFlowerTrail 3.2s ease-out .24s both;
}

.loader.is-hidden::before,
.loader.is-hidden::after {
  animation-play-state: paused;
}

@keyframes rtcRabbitRun {
  0%   { left: -14rem; transform: translateY(0) rotate(-1deg) scaleX(1); }
  8%   { transform: translateY(-8px) rotate(1deg) scaleX(1); }
  16%  { transform: translateY(1px) rotate(-1deg) scaleX(1); }
  24%  { transform: translateY(-10px) rotate(1.2deg) scaleX(1); }
  32%  { transform: translateY(0) rotate(-1deg) scaleX(1); }
  40%  { transform: translateY(-8px) rotate(1deg) scaleX(1); }
  48%  { transform: translateY(1px) rotate(-.8deg) scaleX(1); }
  56%  { transform: translateY(-10px) rotate(1.2deg) scaleX(1); }
  64%  { transform: translateY(0) rotate(-1deg) scaleX(1); }
  72%  { transform: translateY(-8px) rotate(1deg) scaleX(1); }
  80%  { transform: translateY(1px) rotate(-.8deg) scaleX(1); }
  88%  { transform: translateY(-9px) rotate(1deg) scaleX(1); }
  100% { left: calc(100vw + 3rem); transform: translateY(0) rotate(-1deg) scaleX(1); }
}

@keyframes rtcRabbitFlowerTrail {
  0%   { left: -18rem; opacity: 0; transform: translateY(5px) scale(.86); }
  12%  { opacity: .8; }
  75%  { opacity: .72; }
  100% { left: calc(100vw + 1rem); opacity: 0; transform: translateY(-4px) scale(1.06); }
}

@keyframes rtcFlowerBurstOne {
  0%, 6% { opacity: 0; transform: translate(-50%,-50%) scale(.15) rotate(-18deg); }
  26% { opacity: 1; transform: translate(-4.4rem,-2.3rem) scale(1.08) rotate(-5deg); }
  72% { opacity: .9; transform: translate(-5.1rem,-2.9rem) scale(.96) rotate(7deg); }
  100% { opacity: 0; transform: translate(-5.6rem,-3.5rem) scale(.72) rotate(16deg); }
}
@keyframes rtcFlowerBurstTwo {
  0%, 10% { opacity: 0; transform: translate(-50%,-50%) scale(.12) rotate(12deg); }
  30% { opacity: 1; transform: translate(.15rem,-3.25rem) scale(1.12) rotate(-4deg); }
  72% { opacity: .92; transform: translate(.45rem,-3.8rem) scale(.98) rotate(5deg); }
  100% { opacity: 0; transform: translate(.7rem,-4.4rem) scale(.74) rotate(15deg); }
}
@keyframes rtcFlowerBurstThree {
  0%, 14% { opacity: 0; transform: translate(-50%,-50%) scale(.12) rotate(-8deg); }
  34% { opacity: 1; transform: translate(4.2rem,-1.6rem) scale(1.08) rotate(5deg); }
  72% { opacity: .88; transform: translate(4.9rem,-2.2rem) scale(.98) rotate(-4deg); }
  100% { opacity: 0; transform: translate(5.5rem,-2.8rem) scale(.72) rotate(-12deg); }
}
@keyframes rtcSparkBurstOne {
  0%, 12% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
  32% { opacity:1; transform:translate(-2.8rem,1.45rem) scale(1.2) rotate(18deg); }
  100% { opacity:0; transform:translate(-3.6rem,2.25rem) scale(.6) rotate(65deg); }
}
@keyframes rtcSparkBurstTwo {
  0%, 16% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
  36% { opacity:1; transform:translate(2.1rem,1.3rem) scale(1.2) rotate(-14deg); }
  100% { opacity:0; transform:translate(3rem,2.2rem) scale(.62) rotate(-58deg); }
}
@keyframes rtcSparkBurstThree {
  0%, 20% { opacity:0; transform:translate(-50%,-50%) scale(.2); }
  40% { opacity:1; transform:translate(.4rem,.85rem) scale(1.15); }
  100% { opacity:0; transform:translate(.9rem,2rem) scale(.55); }
}

/* Light mode keeps the rabbit white but softens the loader around it. */
html[data-theme="light"] .public-jewel-page .loader::before {
  filter: drop-shadow(0 .7rem 1rem rgba(87, 52, 93, .16));
}

@media (max-width: 640px) {
  .loader__orb { width: 10.5rem; height: 6.2rem; }
  .loader::before {
    width: 8.5rem;
    bottom: 2.4rem;
    animation-duration: 3.05s;
  }
  .loader::after {
    bottom: 1.65rem;
    transform-origin: left center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .loader::before {
    left: 50%;
    bottom: 2rem;
    transform: translateX(-50%);
    animation: none !important;
  }
  .loader::after,
  .loader__orb span::before,
  .loader__orb span::after {
    animation: none !important;
  }
  .loader::after { display: none; }
  .loader__orb span::before,
  .loader__orb span::after { opacity: .9; }
}

/* =========================================================
   RACHEL TAKES CARE — BLOOMING GARDEN + CSS BUNNY LOADER
   Inspired by the motion language of naveen-kumawat/Flower and
   naveen-kumawat/Animated-Bunny (MIT). See THIRD_PARTY_NOTICES.txt.
   This block supersedes the older loader-rabbit.svg treatment.
   ========================================================= */

.loader {
  --loader-pink: #ef9fc2;
  --loader-pink-soft: #ffd3e5;
  --loader-violet: #b99adb;
  --loader-teal: #7bc8bd;
  --loader-leaf: #5fb1a5;
  --loader-gold: #f4d47d;
  --loader-white: #fffdfd;
  --loader-shadow: rgba(17, 8, 25, .22);
  perspective: 900px;
}

/* Retire the former pseudo-element rabbit/trail. */
.loader::before,
.loader::after { content: none !important; display: none !important; }

.loader__orb { display: none !important; }

.rtc-loader-scene {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
}

.loader > p,
.loader > small {
  position: relative;
  z-index: 8;
}

.rtc-loader-scene::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .38;
  background-image:
    radial-gradient(2px 2px at 11% 19%, rgba(255,255,255,.58), transparent 70%),
    radial-gradient(1px 1px at 28% 62%, rgba(239,159,194,.55), transparent 70%),
    radial-gradient(2px 2px at 55% 24%, rgba(185,154,219,.52), transparent 70%),
    radial-gradient(1px 1px at 76% 54%, rgba(123,200,189,.56), transparent 70%),
    radial-gradient(2px 2px at 91% 18%, rgba(244,212,125,.42), transparent 70%);
  background-size: 190px 190px;
  animation: rtcLoaderStardust 12s linear infinite;
}

@keyframes rtcLoaderStardust { to { transform: translateY(-190px); } }

/* ---------- FLOWER GARDEN ---------- */
.rtc-loader-garden {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: clamp(9rem, 22vh, 14rem);
  filter: drop-shadow(0 .55rem .7rem rgba(0,0,0,.12));
}

.rtc-loader-flower {
  --flower: var(--loader-pink);
  --flower-delay: .15s;
  position: absolute;
  bottom: -.6rem;
  width: 4.6rem;
  height: 10rem;
  transform-origin: 50% 100%;
  animation: rtcFlowerSway 2.9s ease-in-out calc(var(--flower-delay) + 1.8s) infinite;
}
.rtc-loader-flower--1 { left: 7%; --flower: #ef9fc2; --flower-delay: .1s; transform: scale(.78) rotate(-7deg); }
.rtc-loader-flower--2 { left: 23%; --flower: #b99adb; --flower-delay: .36s; transform: scale(.58) rotate(8deg); }
.rtc-loader-flower--3 { left: 48%; --flower: #7bc8bd; --flower-delay: .62s; transform: scale(.9) rotate(-3deg); }
.rtc-loader-flower--4 { right: 22%; --flower: #e891bb; --flower-delay: .88s; transform: scale(.64) rotate(7deg); }
.rtc-loader-flower--5 { right: 6%; --flower: #b493d3; --flower-delay: 1.14s; transform: scale(.8) rotate(-5deg); }

.rtc-loader-stem {
  position: absolute;
  left: calc(50% - .18rem);
  bottom: 0;
  width: .36rem;
  height: 7.7rem;
  border-radius: 999px;
  background: linear-gradient(to top, #397f79, var(--loader-leaf));
  transform-origin: bottom;
  animation: rtcGrowStem .78s cubic-bezier(.18,.78,.2,1) var(--flower-delay) both;
}

.rtc-loader-leaf {
  position: absolute;
  bottom: 3.1rem;
  left: 50%;
  width: 2.2rem;
  height: 1rem;
  border-radius: 100% 0 100% 0;
  background: linear-gradient(135deg, #80d1c4, #3b928a);
  transform-origin: 0 100%;
  opacity: 0;
}
.rtc-loader-leaf--a { transform: rotate(-32deg) scale(0); animation: rtcLeafLeft .48s ease-out calc(var(--flower-delay) + .45s) forwards; }
.rtc-loader-leaf--b { bottom: 4.55rem; transform: rotate(196deg) scale(0); animation: rtcLeafRight .48s ease-out calc(var(--flower-delay) + .62s) forwards; }

.rtc-loader-bloom {
  position: absolute;
  left: 50%;
  top: .35rem;
  width: 4.2rem;
  height: 4.2rem;
  transform: translateX(-50%) scale(.08) rotate(-14deg);
  transform-origin: center;
  opacity: 0;
  animation: rtcBloomOpen .8s cubic-bezier(.16,.82,.2,1.14) calc(var(--flower-delay) + .68s) forwards;
}
.rtc-loader-bloom > i,
.rtc-loader-bloom > em {
  position: absolute;
  left: 50%; top: 50%;
  display: block;
}
.rtc-loader-bloom > i {
  width: 1.45rem;
  height: 2.1rem;
  margin: -1.05rem 0 0 -.725rem;
  border-radius: 70% 70% 48% 48%;
  background: radial-gradient(circle at 50% 20%, #fff8fc 0 8%, var(--flower) 45%, color-mix(in srgb, var(--flower), #6b3a7d 18%) 100%);
  box-shadow: inset 0 -.2rem .32rem rgba(77,34,80,.12);
  transform-origin: 50% 100%;
}
.rtc-loader-bloom > i:nth-child(1) { transform: rotate(0deg) translateY(-1.05rem); }
.rtc-loader-bloom > i:nth-child(2) { transform: rotate(72deg) translateY(-1.05rem); }
.rtc-loader-bloom > i:nth-child(3) { transform: rotate(144deg) translateY(-1.05rem); }
.rtc-loader-bloom > i:nth-child(4) { transform: rotate(216deg) translateY(-1.05rem); }
.rtc-loader-bloom > i:nth-child(5) { transform: rotate(288deg) translateY(-1.05rem); }
.rtc-loader-bloom > em {
  width: 1rem; height: 1rem;
  margin: -.5rem 0 0 -.5rem;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #fff4ad, var(--loader-gold) 58%, #bf8f38 100%);
  box-shadow: 0 0 .8rem color-mix(in srgb, var(--loader-gold), transparent 40%);
}

@keyframes rtcGrowStem { from { transform: scaleY(0); opacity:.2; } to { transform:scaleY(1); opacity:1; } }
@keyframes rtcLeafLeft { to { opacity:1; transform: rotate(-32deg) scale(1); } }
@keyframes rtcLeafRight { to { opacity:1; transform: rotate(196deg) scale(1); } }
@keyframes rtcBloomOpen { 0% { opacity:0; transform:translateX(-50%) scale(.08) rotate(-14deg); } 65% { opacity:1; transform:translateX(-50%) scale(1.09) rotate(4deg); } 100% { opacity:1; transform:translateX(-50%) scale(1) rotate(0); } }
@keyframes rtcFlowerSway { 0%,100% { rotate:-1.8deg; } 50% { rotate:2.3deg; } }

/* ---------- FLOWER LIGHT / PETAL DRIFT ---------- */
.rtc-loader-petals { position:absolute; inset:0; z-index:3; }
.rtc-loader-petals i {
  position:absolute;
  bottom:8%; left:-3rem;
  width:.72rem; height:1rem;
  border-radius:90% 15% 90% 15%;
  background:#f3a8c7;
  opacity:0;
  animation:rtcPetalDrift 3.45s ease-out both;
}
.rtc-loader-petals i:nth-child(1){animation-delay:.4s;--py:-5rem;--pr:160deg;}
.rtc-loader-petals i:nth-child(2){animation-delay:.7s;--py:-8rem;--pr:260deg;background:#c8afe1;}
.rtc-loader-petals i:nth-child(3){animation-delay:1s;--py:-4rem;--pr:110deg;background:#7bc8bd;}
.rtc-loader-petals i:nth-child(4){animation-delay:1.25s;--py:-10rem;--pr:330deg;}
.rtc-loader-petals i:nth-child(5){animation-delay:1.5s;--py:-6rem;--pr:230deg;background:#c8afe1;}
.rtc-loader-petals i:nth-child(6){animation-delay:1.75s;--py:-9rem;--pr:390deg;background:#f4d47d;}
@keyframes rtcPetalDrift { 0%{opacity:0;transform:translate(0,0) rotate(0) scale(.6)} 16%{opacity:.85} 100%{opacity:0;transform:translate(calc(100vw + 7rem),var(--py)) rotate(var(--pr)) scale(1.05)} }

/* ---------- CSS BUNNY ---------- */
.rtc-css-bunny {
  --bunny-white:#fffdfd;
  --bunny-shadow:#eadce9;
  --bunny-pink:#f3a8c6;
  --bunny-eye:#332439;
  position:absolute;
  z-index:6;
  left:-9rem;
  bottom:clamp(2.2rem,6vh,4rem);
  width:7.4rem;
  height:9rem;
  filter:drop-shadow(0 .8rem .7rem rgba(9,5,15,.22));
  transform-origin:50% 100%;
  animation:rtcBunnyCross 8.5s cubic-bezier(.24,.42,.32,.78) .28s both;
}

.rtc-bunny-body {
  position:absolute; left:1.42rem; bottom:.45rem;
  width:4.65rem; height:5rem;
  border-radius:54% 54% 45% 45%;
  background:radial-gradient(circle at 38% 22%, #fff 0 22%, var(--bunny-white) 50%, var(--bunny-shadow) 100%);
  animation:rtcBunnyBodyBob .52s ease-in-out infinite alternate;
}
.rtc-bunny-head {
  position:absolute; left:1.05rem; top:1.7rem;
  width:5.25rem; height:4.4rem;
  border-radius:50% 50% 46% 46%;
  background:radial-gradient(circle at 38% 25%, #fff 0 28%, var(--bunny-white) 58%, #eadde9 100%);
  box-shadow:inset 0 -.15rem .3rem rgba(115,72,122,.1);
  animation:rtcBunnyHeadBob .52s ease-in-out infinite alternate;
}
.rtc-bunny-ear {
  position:absolute; top:.05rem;
  width:1.55rem; height:3.7rem;
  border-radius:80% 80% 48% 48%;
  background:linear-gradient(to right,#eadce8,var(--bunny-white) 27%,#fff 58%,#eadce8);
  transform-origin:50% 92%;
  z-index:-1;
}
.rtc-bunny-ear::after{content:"";position:absolute;inset:.42rem .43rem .7rem;border-radius:inherit;background:linear-gradient(#f8c4d8,#ed9fc1);opacity:.82;}
.rtc-bunny-ear--left{left:1.55rem;transform:rotate(-10deg);animation:rtcEarLeft 1.15s ease-in-out infinite;}
.rtc-bunny-ear--right{right:1.55rem;transform:rotate(10deg);animation:rtcEarRight 1.15s ease-in-out infinite;}

.rtc-bunny-eye { position:absolute; top:1.72rem; width:.48rem; height:.62rem; border-radius:50%; background:var(--bunny-eye); transform-origin:center; animation:rtcBunnyBlink 3.4s infinite; }
.rtc-bunny-eye::after{content:"";position:absolute;width:.14rem;height:.14rem;border-radius:50%;background:#fff;left:.08rem;top:.08rem;}
.rtc-bunny-eye--left{left:1.45rem}.rtc-bunny-eye--right{right:1.45rem}
.rtc-bunny-cheek { position:absolute; top:2.57rem; width:.83rem;height:.42rem;border-radius:50%;background:radial-gradient(ellipse,#ef9abd 0 20%,rgba(239,154,189,.56) 48%,transparent 72%);animation:rtcCheekGlow 1.7s ease-in-out infinite alternate; }
.rtc-bunny-cheek--left{left:.72rem}.rtc-bunny-cheek--right{right:.72rem}
.rtc-bunny-nose { position:absolute; left:50%; top:2.42rem; width:.48rem;height:.36rem; margin-left:-.24rem;background:#dc7fa9;border-radius:55% 55% 70% 70%;transform:rotate(45deg);animation:rtcNoseWiggle .7s ease-in-out infinite alternate; }
.rtc-bunny-mouth { position:absolute; left:50%; top:2.75rem; width:.8rem;height:.52rem;margin-left:-.4rem;border-bottom:2px solid #9e5f7d;border-radius:0 0 60% 60%; }
.rtc-bunny-mouth::before{content:"";position:absolute;left:50%;top:-.1rem;height:.28rem;border-left:2px solid #9e5f7d;}

.rtc-bunny-tail { position:absolute; right:.15rem; bottom:2.1rem; width:1.75rem;height:1.75rem;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#f0e7ef 75%);z-index:-2;animation:rtcTailPuff .62s ease-in-out infinite alternate; }
.rtc-bunny-arm { position:absolute; top:2.15rem; width:1.15rem;height:2.3rem;border-radius:999px;background:linear-gradient(#fff,#eadce8);transform-origin:50% 15%; }
.rtc-bunny-arm--left{left:-.3rem;animation:rtcArmRun .52s ease-in-out infinite alternate;}
.rtc-bunny-arm--right{right:-.3rem;animation:rtcArmRun .52s ease-in-out -.26s infinite alternate-reverse;}
.rtc-bunny-foot { position:absolute; bottom:-.3rem; width:1.5rem;height:1.05rem;border-radius:65% 65% 45% 45%;background:linear-gradient(#fff,#e8d8e6);transform-origin:50% 20%; }
.rtc-bunny-foot--left{left:.5rem;animation:rtcFootRun .52s ease-in-out infinite alternate;}
.rtc-bunny-foot--right{right:.5rem;animation:rtcFootRun .52s ease-in-out -.26s infinite alternate-reverse;}

@keyframes rtcBunnyCross {
  0%{left:-9rem;transform:translateY(0) rotate(-1deg) scale(.9)}
  8%{transform:translateY(-.7rem) rotate(1deg) scale(.96)}
  18%{transform:translateY(.05rem) rotate(-1deg) scale(1)}
  30%{transform:translateY(-.78rem) rotate(1deg) scale(1)}
  42%{transform:translateY(0) rotate(-1deg) scale(1)}
  54%{transform:translateY(-.72rem) rotate(1deg) scale(1)}
  66%{transform:translateY(.03rem) rotate(-.7deg) scale(1)}
  78%{transform:translateY(-.76rem) rotate(1deg) scale(1)}
  90%{transform:translateY(0) rotate(-.6deg) scale(.98)}
  100%{left:calc(100vw + 2rem);transform:translateY(-.2rem) rotate(1deg) scale(.9)}
}
@keyframes rtcBunnyBodyBob{to{transform:translateY(-.14rem) scaleY(.975)}}
@keyframes rtcBunnyHeadBob{to{transform:translateY(-.08rem) rotate(.7deg)}}
@keyframes rtcEarLeft{0%,100%{transform:rotate(-11deg)}50%{transform:rotate(-18deg) translateY(.08rem)}}
@keyframes rtcEarRight{0%,100%{transform:rotate(11deg)}50%{transform:rotate(18deg) translateY(.08rem)}}
@keyframes rtcBunnyBlink{0%,44%,50%,100%{transform:scaleY(1)}46%,48%{transform:scaleY(.08)}}
@keyframes rtcCheekGlow{to{opacity:.6;transform:scale(1.08)}}
@keyframes rtcNoseWiggle{to{transform:rotate(45deg) translate(.06rem,-.04rem)}}
@keyframes rtcTailPuff{to{transform:scale(1.1) translateY(-.06rem)}}
@keyframes rtcArmRun{from{transform:rotate(26deg)}to{transform:rotate(-28deg)}}
@keyframes rtcFootRun{from{transform:rotate(22deg) translateY(.1rem)}to{transform:rotate(-24deg) translateY(-.12rem)}}

/* Public light mode keeps the scene airy; Studio stays its rich dark room. */
html[data-theme="light"] .public-jewel-page .rtc-loader-scene::before { opacity:.22; }
html[data-theme="light"] .public-jewel-page .rtc-css-bunny { filter:drop-shadow(0 .75rem .7rem rgba(91,51,92,.16)); }

@media (max-width:640px){
  .rtc-css-bunny{width:6.15rem;height:7.6rem;bottom:2.1rem;transform:scale(.88);}
  .rtc-loader-garden{height:9rem;opacity:.86;}
  .rtc-loader-flower{height:8rem;}
  .rtc-loader-flower--2,.rtc-loader-flower--4{display:none;}
}

@media (prefers-reduced-motion:reduce){
  .rtc-loader-scene::before,
  .rtc-loader-flower,
  .rtc-loader-stem,
  .rtc-loader-leaf,
  .rtc-loader-bloom,
  .rtc-loader-petals i,
  .rtc-css-bunny,
  .rtc-css-bunny *{animation:none !important;}
  .rtc-loader-stem{transform:scaleY(1);}
  .rtc-loader-leaf{opacity:1;}
  .rtc-loader-leaf--a{transform:rotate(-32deg) scale(1);}
  .rtc-loader-leaf--b{transform:rotate(196deg) scale(1);}
  .rtc-loader-bloom{opacity:1;transform:translateX(-50%) scale(1);}
  .rtc-css-bunny{left:50%;bottom:2rem;transform:translateX(-50%) scale(.78);opacity:.95;}
  .rtc-loader-petals{display:none;}
}

/* =========================================================
   FLOWER CURSOR — CLICKABLE DESCENDANTS FIX
   The global pink cursor was being applied directly to images
   inside links/buttons. Make children inherit the clickable
   parent's flower cursor instead.
   ========================================================= */

body a *,
body button *,
body summary *,
body label[for] *,
body [role="button"] *,
body [role="link"] *,
body [onclick] *,
body [tabindex]:not([tabindex="-1"]) *,
body .journal-gallery__button *,
body .studio-dropzone *,
body .studio-mood-choice *,
body .studio-privacy-picker label *,
body .studio-product-photo-choice *,
body .studio-mini-library__item * {
  cursor: inherit !important;
}

/* Explicit clickable image/card targets for extra reliability. */
body a img,
body button img,
body .journal-gallery__button img,
body .shop-product-thumbs button img,
body .shop-product-card__image img,
body .home-product-card img,
body .home-shop-showcase__tile img,
body .home-keepsake-link img,
body .archive-card__image img,
body .journal-editorial-card__image img,
body .studio-product-photo-choice img,
body .studio-mini-library__item img,
body .studio-post-card__image img {
  cursor: inherit !important;
}

/* =========================================================
   PHOTO FOCAL-POINT SAFETY — AUGUST 2026
   Keep faces/heads inside editorial crops across public + Studio pages.
   Individual images can later override with:
   style="--focus-x: 50%; --focus-y: 32%;"
   ========================================================= */

/* Personal / memory photography: bias the crop upward so faces survive. */
.polaroid img,
.latest-entry__photo-wrap img,
.archive-card__image img,
.journal-gallery__button img,
.studio-photo-card__image img,
.studio-post-card__image img,
.studio-existing-photos img,
.studio-trash-list img,
.studio-letter-view figure img,
.editorial-photo img,
.journal-editorial-card__image img,
.home-about-teaser__photo img,
.about-photo img,
.about-story-photo img,
.about-closing__photo img {
  object-position: var(--focus-x, 50%) var(--focus-y, 24%) !important;
}

/* Portrait-heavy About layouts need an even safer top bias on small screens. */
@media (max-width: 720px) {
  .polaroid img,
  .editorial-photo img,
  .home-about-teaser__photo img,
  .about-photo img,
  .about-story-photo img,
  .about-closing__photo img,
  .archive-card__image img,
  .journal-editorial-card__image img {
    object-position: var(--focus-x, 50%) var(--focus-y, 20%) !important;
  }
}

/* A full journal entry should preserve the whole featured photograph. */
.journal-entry__featured img,
.journal-entry-card .journal-entry__featured img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: var(--focus-x, 50%) var(--focus-y, 50%) !important;
}

/* Lightboxes / keepsakes / image libraries are reference views: never crop them. */
.journal-lightbox img,
.journal-keepsake-card img,
.studio-letter-keepsake img,
.studio-mini-library__item img,
.studio-memory-drawer .studio-product-photo-choice > img {
  object-fit: contain !important;
  object-position: var(--focus-x, 50%) var(--focus-y, 50%) !important;
}

/* Product photography should remain centered rather than receiving face bias. */
.home-product-card img,
.home-shop-spotlight img,
.shop-product-card__image img,
.shop-product-card--editorial .shop-product-card__image img,
.shop-product-card__peek img,
.shop-product-detail__hero img,
.shop-product-thumbs img,
.shop-library-ribbon__photo img,
.home-shop-showcase__tile img,
.studio-product-card img,
.studio-product-current-image,
.studio-product-photo-choice > img {
  object-position: var(--focus-x, 50%) var(--focus-y, 50%) !important;
}

/* Tiny album art should also stay centered. */
.studio-song-result img,
.studio-selected-song img,
.journal-song-card__identity img {
  object-position: 50% 50% !important;
}
/* ===== COMPILED FROM USER-SUPPLIED FLOWER style.scss ===== */
.rtc-source-flower-field {
  --dark-color: #000;
}
.rtc-source-flower-field {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  min-height: 100vh;
  background-color: var(--dark-color);
  overflow: hidden;
  perspective: 1000px;
  padding: 50px 0px;
}
.rtc-source-flower-field .night {
  position: fixed;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  filter: blur(0.1vmin);
}
.rtc-source-flower-field .flowers {
  position: relative;
  transform: scale(0.9);
}
.rtc-source-flower-field .flower {
  position: absolute;
  bottom: 10vmin;
  transform-origin: bottom center;
  z-index: 10;

  --fl-speed: 0.8s;
}
.rtc-source-flower-field .flower--1 {
    animation: rtcFlowerSource-moving-flower-1 4s linear infinite;
}
.rtc-source-flower-field .flower--1 .flower__line {

      height: 70vmin;
      animation-delay: 0.3s;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--1 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 1.6s backwards;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--2 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 1.4s backwards;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--3 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 1.2s backwards;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--4 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 1s backwards;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--5 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 1.8s backwards;
}
.rtc-source-flower-field .flower--1 .flower__line__leaf--6 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 2s backwards;
}
.rtc-source-flower-field .flower--2 {
    left: 50%;
    transform: rotate(20deg);
    animation: rtcFlowerSource-moving-flower-2 4s linear infinite;
}
.rtc-source-flower-field .flower--2 .flower__line {
      height: 60vmin;
      animation-delay: 0.6s;
}
.rtc-source-flower-field .flower--2 .flower__line__leaf--1 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 1.9s backwards;
}
.rtc-source-flower-field .flower--2 .flower__line__leaf--2 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 1.7s backwards;
}
.rtc-source-flower-field .flower--2 .flower__line__leaf--3 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 1.5s backwards;
}
.rtc-source-flower-field .flower--2 .flower__line__leaf--4 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 1.3s backwards;
}
.rtc-source-flower-field .flower--3 {
    left: 50%;
    transform: rotate(-15deg);
    animation: rtcFlowerSource-moving-flower-3 4s linear infinite;
}
.rtc-source-flower-field .flower--3 .flower__line {
      animation-delay: 0.9s;
}
.rtc-source-flower-field .flower--3 .flower__line__leaf--1 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 2.5s backwards;
}
.rtc-source-flower-field .flower--3 .flower__line__leaf--2 {
          animation: rtcFlowerSource-blooming-leaf-right var(--fl-speed) 2.3s backwards;
}
.rtc-source-flower-field .flower--3 .flower__line__leaf--3 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 2.1s backwards;
}
.rtc-source-flower-field .flower--3 .flower__line__leaf--4 {
          animation: rtcFlowerSource-blooming-leaf-left var(--fl-speed) 1.9s backwards;
}
.rtc-source-flower-field .flower__leafs {
    position: relative;
    animation: rtcFlowerSource-blooming-flower 2s backwards;
}
.rtc-source-flower-field .flower__leafs--1 { animation-delay: 1.1s;
}
.rtc-source-flower-field .flower__leafs--2 { animation-delay: 1.4s;
}
.rtc-source-flower-field .flower__leafs--3 { animation-delay: 1.7s;
}
.rtc-source-flower-field .flower__leafs::after {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      transform: translate(-50%, -100%);
      width: 8vmin;
      height: 8vmin;
      background-color: #6bf0ff;
      filter: blur(10vmin);
}
.rtc-source-flower-field .flower__leaf {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 8vmin;
    height: 11vmin;
    border-radius: 51% 49% 47% 53% / 44% 45% 55% 69%;
    background-color: #a7ffee;
    background-image: linear-gradient(to top, #54b8aa, #a7ffee);
    transform-origin: bottom center;
    opacity: 0.9;
    box-shadow: inset 0 0 2vmin rgba(255, 255, 255, 0.5);
}
.rtc-source-flower-field .flower__leaf--1 {
      transform: translate(-10%, 1%) rotateY(40deg) rotateX(-50deg);
}
.rtc-source-flower-field .flower__leaf--2 {
      transform: translate(-50%, -4%) rotateX(40deg);
}
.rtc-source-flower-field .flower__leaf--3 {
      transform: translate(-90%, 0%) rotateY(45deg) rotateX(50deg);
}
.rtc-source-flower-field .flower__leaf--4 {
      width: 8vmin;
      height: 8vmin;
      transform-origin: bottom left;
      border-radius: 4vmin 10vmin 4vmin 4vmin;
      transform: translate(-0%, 18%) rotateX(70deg) rotate(-43deg);
      background-image: linear-gradient(to top, #39c6d6, #a7ffee);
      z-index: 1;
      opacity: 0.8;
}
.rtc-source-flower-field .flower__white-circle {
    position: absolute;
    left: -3.5vmin;
    top: -3vmin;
    width: 9vmin;
    height: 4vmin;
    border-radius: 50%;
    background-color: #fff;
}
.rtc-source-flower-field .flower__white-circle::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 45%;
      transform: translate(-50%, -50%);
      width: 60%;
      height: 60%;
      border-radius: inherit;
      background-image: repeating-linear-gradient(
          300deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          45deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          67.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          135deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          45deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          112.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          112.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          45deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          22.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          45deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          22.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          135deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          157.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          67.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        repeating-linear-gradient(
          67.5deg,
          rgba(0, 0, 0, 0.03) 0px,
          rgba(0, 0, 0, 0.03) 1px,
          transparent 1px,
          transparent 12px
        ),
        linear-gradient(90deg, rgb(255, 235, 18), rgb(255, 206, 0));
}
.rtc-source-flower-field .flower__line {
    height: 55vmin;
    width: 1.5vmin;
    background-image: linear-gradient(
        to left,
        rgb(0, 0, 0, 0.2),
        transparent,
        rgba(255, 255, 255, 0.2)
      ),
      linear-gradient(to top, transparent 10%, #14757a, #39c6d6);
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5);
    animation: rtcFlowerSource-grow-flower-tree 4s backwards;
}
.rtc-source-flower-field .flower__line__leaf {
      --w: 7vmin;
      --h: calc(var(--w) + 2vmin);
      position: absolute;
      top: 20%;
      left: 90%;
      width: var(--w);
      height: var(--h);
      border-top-right-radius: var(--h);
      border-bottom-left-radius: var(--h);
      background-image: linear-gradient(
        to top,
        rgba(20, 117, 122, 0.4),
        #39c6d6
      );
}
.rtc-source-flower-field .flower__line__leaf--1 {
        transform: rotate(70deg) rotateY(30deg);
}
.rtc-source-flower-field .flower__line__leaf--2 {
        top: 45%;
        transform: rotate(70deg) rotateY(30deg);
}
.rtc-source-flower-field .flower__line__leaf--3,
.rtc-source-flower-field .flower__line__leaf--4,
.rtc-source-flower-field .flower__line__leaf--6 {
        border-top-right-radius: 0;
        border-bottom-left-radius: 0;
        border-top-left-radius: var(--h);
        border-bottom-right-radius: var(--h);
        left: -460%;
        top: 12%;
        transform: rotate(-70deg) rotateY(30deg);
}
.rtc-source-flower-field .flower__line__leaf--4 {
        top: 40%;
}
.rtc-source-flower-field .flower__line__leaf--5 {
        top: 0;
        transform-origin: left;
        transform: rotate(70deg) rotateY(30deg) scale(0.6);
}
.rtc-source-flower-field .flower__line__leaf--6 {
        top: -2%;
        left: -450%;
        transform-origin: right;
        transform: rotate(-70deg) rotateY(30deg) scale(0.6);
}
.rtc-source-flower-field .flower__light {
    position: absolute;
    bottom: 0vmin;
    width: 1vmin;
    height: 1vmin;
    background-color: rgb(255, 251, 0);
    border-radius: 50%;
    filter: blur(0.2vmin);
    animation: rtcFlowerSource-light-ans 4s linear infinite backwards;
}
.rtc-source-flower-field .flower__light:nth-child(odd) {
      background-color: #23f0ff;
}
.rtc-source-flower-field .flower__light--1 {
      left: -2vmin;
      animation-delay: 1s;
}
.rtc-source-flower-field .flower__light--2 {
      left: 3vmin;
      animation-delay: 0.5s;
}
.rtc-source-flower-field .flower__light--3 {
      left: -6vmin;
      animation-delay: 0.3s;
}
.rtc-source-flower-field .flower__light--4 {
      left: 6vmin;
      animation-delay: 0.9s;
}
.rtc-source-flower-field .flower__light--5 {
      left: -1vmin;
      animation-delay: 1.5s;
}
.rtc-source-flower-field .flower__light--6 {
      left: -4vmin;
      animation-delay: 3s;
}
.rtc-source-flower-field .flower__light--7 {
      left: 3vmin;
      animation-delay: 2s;
}
.rtc-source-flower-field .flower__light--8 {
      left: -6vmin;
      animation-delay: 3.5s;
}
.rtc-source-flower-field .flower__grass {
    --c: #159faa;
    --line-w: 1.5vmin;

    position: absolute;
    bottom: 12vmin;
    left: -7vmin;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    z-index: 20;
    transform-origin: bottom center;
    transform: rotate(-48deg) rotateY(40deg);
}
.rtc-source-flower-field .flower__grass--1 {
      animation: rtcFlowerSource-moving-grass 2s linear infinite;
}
.rtc-source-flower-field .flower__grass--2 {
      left: 2vmin;
      bottom: 10vmin;
      transform: scale(0.5) rotate(75deg) rotateX(10deg) rotateY(-200deg);
      opacity: 0.8;
      z-index: 0;
      animation: rtcFlowerSource-moving-grass--2 1.5s linear infinite;
}
.rtc-source-flower-field .flower__grass--top {
      width: 7vmin;
      height: 10vmin;
      border-top-right-radius: 100%;
      border-right: var(--line-w) solid var(--c);
      transform-origin: bottom center;
      transform: rotate(-2deg);
}
.rtc-source-flower-field .flower__grass--bottom {
      margin-top: -2px;
      width: var(--line-w);
      height: 25vmin;
      background-image: linear-gradient(to top, transparent, var(--c));
}
.rtc-source-flower-field .flower__grass__leaf {
      --size: 10vmin;
      position: absolute;
      width: calc(var(--size) * 2.1);
      height: var(--size);
      border-top-left-radius: var(--size);
      border-top-right-radius: var(--size);
      background-image: linear-gradient(
        to top,
        transparent,
        transparent 30%,
        var(--c)
      );
      z-index: 100;
}
.rtc-source-flower-field .flower__grass__leaf--1 {
        top: -6%;
        left: 30%;
        --size: 6vmin;
        transform: rotate(-20deg);
        animation: rtcFlowerSource-growing-grass-ans--1 2s 2.6s backwards;
}
.rtc-source-flower-field .flower__grass__leaf--2 {
        top: -5%;
        left: -110%;
        --size: 6vmin;
        transform: rotate(10deg);
        animation: rtcFlowerSource-growing-grass-ans--2 2s 2.4s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--3 {
        top: 5%;
        left: 60%;
        --size: 8vmin;
        transform: rotate(-18deg) rotateX(-20deg);
        animation: rtcFlowerSource-growing-grass-ans--3 2s 2.2s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--4 {
        top: 6%;
        left: -135%;
        --size: 8vmin;
        transform: rotate(2deg);
        animation: rtcFlowerSource-growing-grass-ans--4 2s 2s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--5 {
        top: 20%;
        left: 60%;
        --size: 10vmin;
        transform: rotate(-24deg) rotateX(-20deg);
        animation: rtcFlowerSource-growing-grass-ans--5 2s 1.8s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--6 {
        top: 22%;
        left: -180%;
        --size: 10vmin;
        transform: rotate(10deg);
        animation: rtcFlowerSource-growing-grass-ans--6 2s 1.6s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--7 {
        top: 39%;
        left: 70%;
        --size: 10vmin;
        transform: rotate(-10deg);
        animation: rtcFlowerSource-growing-grass-ans--7 2s 1.4s linear backwards;
}
.rtc-source-flower-field .flower__grass__leaf--8 {
        top: 40%;
        left: -215%;
        --size: 11vmin;
        transform: rotate(10deg);
        animation: rtcFlowerSource-growing-grass-ans--8 2s 1.2s linear backwards;
}
.rtc-source-flower-field .flower__grass__overlay {
      position: absolute;
      top: -10%;
      right: 0%;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.6);
      filter: blur(1.5vmin);
      z-index: 100;
}
.rtc-source-flower-field .flower__g-long {
    --w: 2vmin;
    --h: 6vmin;
    --c: #159faa;
    position: absolute;
    bottom: 10vmin;
    left: -3vmin;
    transform-origin: bottom center;
    transform: rotate(-30deg) rotateY(-20deg);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    animation: rtcFlowerSource-flower-g-long-ans 3s linear infinite;
}
.rtc-source-flower-field .flower__g-long__top {
      top: calc(var(--h) * -1);
      width: calc(var(--w) + 1vmin);
      height: var(--h);
      border-top-right-radius: 100%;
      border-right: 0.7vmin solid var(--c);
      transform: translate(-0.7vmin, 1vmin);
}
.rtc-source-flower-field .flower__g-long__bottom {
      width: var(--w);
      height: 50vmin;
      transform-origin: bottom center;
      background-image: linear-gradient(to top, transparent 30%, var(--c));
      box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5);
      clip-path: polygon(35% 0, 65% 1%, 100% 100%, 0% 100%);
}
.rtc-source-flower-field .flower__g-right {
    position: absolute;
    bottom: 6vmin;
    left: -2vmin;
    transform-origin: bottom left;
    transform: rotate(20deg);
}
.rtc-source-flower-field .flower__g-right .leaf {
      width: 30vmin;
      height: 50vmin;
      border-top-left-radius: 100%;
      border-left: 2vmin solid #079097;
      background-image: linear-gradient(
        to bottom,
        transparent,
        var(--dark-color) 60%
      );
      -webkit-mask-image: linear-gradient(to top, transparent 30%, #079097 60%);
}
.rtc-source-flower-field .flower__g-right--1 {
      animation: rtcFlowerSource-flower-g-right-ans 2.5s linear infinite;
}
.rtc-source-flower-field .flower__g-right--2 {
      left: 5vmin;
      transform: rotateY(-180deg);
      animation: rtcFlowerSource-flower-g-right-ans--2 3s linear infinite;
}
.rtc-source-flower-field .flower__g-right--2 .leaf {
        height: 75vmin;
        filter: blur(0.3vmin);
        opacity: 0.8;
}
.rtc-source-flower-field .flower__g-front {
    position: absolute;
    bottom: 6vmin;
    left: 2.5vmin;
    z-index: 100;
    transform-origin: bottom center;
    transform: rotate(-28deg) rotateY(30deg) scale(1.04);
    animation: rtcFlowerSource-flower__g-front-ans 2s linear infinite;
}
.rtc-source-flower-field .flower__g-front__line {
      width: 0.3vmin;
      height: 20vmin;
      background-image: linear-gradient(
        to top,
        transparent,
        #079097,
        transparent 100%
      );
      position: relative;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper {
      position: absolute;
      top: 0;
      left: 0;
      transform-origin: bottom left;
      transform: rotate(10deg);
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper:nth-child(even) {
        left: 0vmin;
        transform: rotateY(-180deg) rotate(5deg);
        animation: rtcFlowerSource-flower__g-front__leaf-left-ans 1s ease-in backwards;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper:nth-child(odd) {
        animation: rtcFlowerSource-flower__g-front__leaf-ans 1s ease-in backwards;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--1 {
        top: -8vmin;
        transform: scale(0.7);
        animation: rtcFlowerSource-flower__g-front__leaf-ans 1s 5.5s ease-in backwards !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--2 {
        top: -8vmin;
        transform: rotateY(-180deg) scale(0.7) !important;
        animation: rtcFlowerSource-flower__g-front__leaf-left-ans-2 1s 4.6s ease-in backwards !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--3 {
        top: -3vmin;
        animation: rtcFlowerSource-flower__g-front__leaf-ans 1s 4.6s ease-in backwards;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--4 {
        top: -3vmin;
        transform: rotateY(-180deg) scale(0.9) !important;
        animation: rtcFlowerSource-flower__g-front__leaf-left-ans-2 1s 4.6s ease-in backwards !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--5,
.rtc-source-flower-field .flower__g-front__leaf-wrapper--6 {
        top: 2vmin;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--7,
.rtc-source-flower-field .flower__g-front__leaf-wrapper--8 {
        top: 6.5vmin;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--2 {
        animation-delay: 5.2s !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--3 {
        animation-delay: 4.9s !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--5 {
        animation-delay: 4.3s !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--6 {
        animation-delay: 4.1s !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--7 {
        animation-delay: 3.8s !important;
}
.rtc-source-flower-field .flower__g-front__leaf-wrapper--8 {
        animation-delay: 3.5s !important;
}
.rtc-source-flower-field .flower__g-front__leaf {
      width: 10vmin;
      height: 10vmin;
      border-radius: 100% 0% 0% 100% / 100% 100% 0% 0%;
      box-shadow: inset 0 2px 1vmin hsla(184, 97%, 58%, 0.2);
      background-image: linear-gradient(
          to bottom left,
          transparent,
          var(--dark-color)
        ),
        linear-gradient(
          to bottom right,
          #159faa 50%,
          transparent 50%,
          transparent
        );

      -webkit-mask-image: linear-gradient(
        to bottom right,
        #159faa 50%,
        transparent 50%,
        transparent
      );
      mask-image: linear-gradient(
        to bottom right,
        #159faa 50%,
        transparent 50%,
        transparent
      );
}
.rtc-source-flower-field .flower__g-fr {
    position: absolute;
    bottom: -4vmin;
    left: vmin;
    transform-origin: bottom left;
    z-index: 10;

    animation: rtcFlowerSource-flower__g-fr-ans 2s linear infinite;
}
.rtc-source-flower-field .flower__g-fr .leaf {
      width: 30vmin;
      height: 50vmin;
      border-top-left-radius: 100%;
      border-left: 2vmin solid #079097;
      -webkit-mask-image: linear-gradient(to top, transparent 25%, #079097 50%);
      position: relative;
      z-index: 1;
}
.rtc-source-flower-field .flower__g-fr__leaf {
      position: absolute;
      top: 0;
      left: 0;
      width: 10vmin;
      height: 10vmin;
      border-radius: 100% 0% 0% 100% / 100% 100% 0% 0%;
      box-shadow: inset 0 2px 1vmin hsla(184, 97%, 58%, 0.2);
      background-image: linear-gradient(
          to bottom left,
          transparent,
          var(--dark-color) 98%
        ),
        linear-gradient(
          to bottom right,
          #23f0ff 45%,
          transparent 50%,
          transparent
        );

      -webkit-mask-image: linear-gradient(
        135deg,
        #159faa 40%,
        transparent 50%,
        transparent
      );
}
.rtc-source-flower-field .flower__g-fr__leaf--1 {
        left: 20vmin;
        transform: rotate(45deg);

        animation: rtcFlowerSource-flower__g-fr-leaft-ans-1 0.5s 5.2s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--2 {
        left: 12vmin;
        top: -7vmin;
        transform: rotate(25deg) rotateY(-180deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-6 0.5s 5s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--3 {
        left: 15vmin;
        top: 6vmin;
        transform: rotate(55deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-5 0.5s 4.8s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--4 {
        left: 6vmin;
        top: -2vmin;
        transform: rotate(25deg) rotateY(-180deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-6 0.5s 4.6s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--5 {
        left: 10vmin;
        top: 14vmin;
        transform: rotate(55deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-5 0.5s 4.4s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--6 {
        left: 0vmin;
        top: 6vmin;
        transform: rotate(25deg) rotateY(-180deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-6 0.5s 4.2s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--7 {
        left: 5vmin;
        top: 22vmin;
        transform: rotate(45deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-7 0.5s 4s linear backwards;
}
.rtc-source-flower-field .flower__g-fr__leaf--8 {
        left: -4vmin;
        top: 15vmin;
        transform: rotate(15deg) rotateY(-180deg);
        animation: rtcFlowerSource-flower__g-fr-leaft-ans-8 0.5s 3.8s linear backwards;
}
.rtc-source-flower-field .long-g {
  position: absolute;
  bottom: 25vmin;
  left: -42vmin;
  transform-origin: bottom left;
}
.rtc-source-flower-field .long-g--1 {
    bottom: 0vmin;
    transform: scale(0.8) rotate(-5deg);
}
.rtc-source-flower-field .long-g--1 .leaf {
      -webkit-mask-image: linear-gradient(
        to top,
        transparent 40%,
        #079097 80%
      ) !important;
}
.rtc-source-flower-field .long-g--1 .leaf--1 {
        --w: 5vmin;
        --h: 60vmin;
        left: -2vmin;
        transform: rotate(3deg) rotateY(-180deg);
}
.rtc-source-flower-field .long-g--2,
.rtc-source-flower-field .long-g--3 {
    bottom: -3vmin;
    left: -35vmin;
    transform-origin: center;
    transform: scale(0.6) rotateX(60deg);
}
.rtc-source-flower-field .long-g--2 .leaf,
.rtc-source-flower-field .long-g--3 .leaf {
      -webkit-mask-image: linear-gradient(
        to top,
        transparent 50%,
        #079097 80%
      ) !important;
}
.rtc-source-flower-field .long-g--2 .leaf--1,
.rtc-source-flower-field .long-g--3 .leaf--1 {
        left: -1vmin;
        transform: rotateY(-180deg);
}
.rtc-source-flower-field .long-g--3 {
    left: -17vmin;
    bottom: 0vmin;
}
.rtc-source-flower-field .long-g--3 .leaf {
      -webkit-mask-image: linear-gradient(
        to top,
        transparent 40%,
        #079097 80%
      ) !important;
}
.rtc-source-flower-field .long-g--4 {
    left: 25vmin;
    bottom: -3vmin;
    transform-origin: center;
    transform: scale(0.6) rotateX(60deg);
}
.rtc-source-flower-field .long-g--4 .leaf {
      -webkit-mask-image: linear-gradient(
        to top,
        transparent 50%,
        #079097 80%
      ) !important;
}
.rtc-source-flower-field .long-g--5 {
    left: 42vmin;
    bottom: 0vmin;
    transform: scale(0.8) rotate(2deg);
}
.rtc-source-flower-field .long-g--6 {
    left: 0vmin;
    bottom: -20vmin;
    z-index: 100;
    filter: blur(0.3vmin);
    transform: scale(0.8) rotate(2deg);
}
.rtc-source-flower-field .long-g--7 {
    left: 35vmin;
    bottom: 20vmin;
    z-index: -1;
    filter: blur(0.3vmin);
    transform: scale(0.6) rotate(2deg);
    opacity: 0.7;
}
.rtc-source-flower-field .long-g .leaf {
    --w: 15vmin;
    --h: 40vmin;
    --c: #1aaa15;

    position: absolute;
    bottom: 0;
    width: var(--w);
    height: var(--h);
    border-top-left-radius: 100%;
    border-left: 2vmin solid var(--c);
    -webkit-mask-image: linear-gradient(
      to top,
      transparent 20%,
      var(--dark-color)
    );

    transform-origin: bottom center;
}
.rtc-source-flower-field .long-g .leaf--0 {
      left: 2vmin;
      animation: rtcFlowerSource-leaf-ans-1 4s linear infinite;
}
.rtc-source-flower-field .long-g .leaf--1 {
      --w: 5vmin;
      --h: 60vmin;
      animation: rtcFlowerSource-leaf-ans-1 4s linear infinite;
}
.rtc-source-flower-field .long-g .leaf--2 {
      --w: 10vmin;
      --h: 40vmin;
      left: -0.5vmin;
      bottom: 5vmin;
      transform-origin: bottom left;
      transform: rotateY(-180deg);
      animation: rtcFlowerSource-leaf-ans-2 3s linear infinite;
}
.rtc-source-flower-field .long-g .leaf--3 {
      --w: 5vmin;
      --h: 30vmin;
      left: -1vmin;
      bottom: 3.2vmin;
      transform-origin: bottom left;
      transform: rotate(-10deg) rotateY(-180deg);
      animation: rtcFlowerSource-leaf-ans-3 3s linear infinite;
}
.rtc-source-flower-field .grow-ans {
  animation: rtcFlowerSource-grow-ans 2s var(--d) backwards;
}
.rtc-source-flower-field .growing-grass {
  animation: rtcFlowerSource-growing-grass-ans 1s 2s backwards;
}
.rtc-source-flower-field.not-loaded * {
  animation-play-state: paused !important;
}
@keyframes rtcFlowerSource-growing-grass-ans--1 {
          0% {
            transform-origin: bottom left;
            transform: rotate(-20deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--2 {
          0% {
            transform-origin: bottom right;
            transform: rotate(10deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--3 {
          0% {
            transform-origin: bottom left;
            transform: rotate(-18deg) rotateX(-20deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--4 {
          0% {
            transform-origin: bottom right;
            transform: rotate(2deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--5 {
          0% {
            transform-origin: bottom left;
            transform: rotate(-24deg) rotateX(-20deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--6 {
          0% {
            transform-origin: bottom right;
            transform: rotate(10deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--7 {
          0% {
            transform-origin: bottom left;
            transform: rotate(-10deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-growing-grass-ans--8 {
          0% {
            transform-origin: bottom right;
            transform: rotate(10deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-flower-g-long-ans {
      0%,
      100% {
        transform: rotate(-30deg) rotateY(-20deg);
      }

      50% {
        transform: rotate(-32deg) rotateY(-20deg);
      }
    }
@keyframes rtcFlowerSource-flower-g-right-ans {
      0%,
      100% {
        transform: rotate(20deg);
      }

      50% {
        transform: rotate(24deg) rotateX(-20deg);
      }
    }
@keyframes rtcFlowerSource-flower-g-right-ans--2 {
      0%,
      100% {
        transform: rotateY(-180deg) rotate(0deg) rotateX(-20deg);
      }

      50% {
        transform: rotateY(-180deg) rotate(6deg) rotateX(-20deg);
      }
    }
@keyframes rtcFlowerSource-flower__g-front-ans {
      0%,
      100% {
        transform: rotate(-28deg) rotateY(30deg) scale(1.04);
      }
      50% {
        transform: rotate(-35deg) rotateY(40deg) scale(1.04);
      }
    }
@keyframes rtcFlowerSource-flower__g-front__leaf-left-ans-2 {
        0% {
          transform: rotateY(-180deg) scale(0);
        }
      }
@keyframes rtcFlowerSource-flower__g-front__leaf-ans {
        0% {
          transform: rotate(10deg) scale(0);
        }
      }
@keyframes rtcFlowerSource-flower__g-front__leaf-left-ans {
        0% {
          transform: rotateY(-180deg) rotate(5deg) scale(0);
        }
      }
@keyframes rtcFlowerSource-flower__g-fr-ans {
      0%,
      100% {
        transform: rotate(2deg);
      }
      50% {
        transform: rotate(4deg);
      }
    }
@keyframes rtcFlowerSource-flower__g-fr-leaft-ans-1 {
          0% {
            transform-origin: left;
            transform: rotate(45deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-flower__g-fr-leaft-ans-5 {
          0% {
            transform-origin: left;
            transform: rotate(55deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-flower__g-fr-leaft-ans-6 {
          0% {
            transform-origin: right;
            transform: rotate(25deg) rotateY(-180deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-flower__g-fr-leaft-ans-7 {
          0% {
            transform-origin: left;
            transform: rotate(45deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-flower__g-fr-leaft-ans-8 {
          0% {
            transform-origin: right;
            transform: rotate(15deg) rotateY(-180deg) scale(0);
          }
        }
@keyframes rtcFlowerSource-leaf-ans-1 {
  0%,
  100% {
    transform: rotate(-5deg) scale(1);
  }

  50% {
    transform: rotate(5deg) scale(1.1);
  }
}
@keyframes rtcFlowerSource-leaf-ans-2 {
  0%,
  100% {
    transform: rotateY(-180deg) rotate(5deg);
  }

  50% {
    transform: rotateY(-180deg) rotate(0deg) scale(1.1);
  }
}
@keyframes rtcFlowerSource-leaf-ans-3 {
  0%,
  100% {
    transform: rotate(-10deg) rotateY(-180deg);
  }

  50% {
    transform: rotate(-20deg) rotateY(-180deg);
  }
}
@keyframes rtcFlowerSource-grow-ans {
  0% {
    transform: scale(0);
    opacity: 0;
  }
}
@keyframes rtcFlowerSource-light-ans {
  0% {
    opacity: 0;
    transform: translateY(0vmin);
  }

  25% {
    opacity: 1;
    transform: translateY(-5vmin) translateX(-2vmin);
  }

  50% {
    opacity: 1;
    transform: translateY(-15vmin) translateX(2vmin);
    filter: blur(0.2vmin);
  }

  75% {
    transform: translateY(-20vmin) translateX(-2vmin);
    filter: blur(0.2vmin);
  }

  100% {
    transform: translateY(-30vmin);
    opacity: 0;
    filter: blur(1vmin);
  }
}
@keyframes rtcFlowerSource-moving-flower-1 {
  0%,
  100% {
    transform: rotate(2deg);
  }

  50% {
    transform: rotate(-2deg);
  }
}
@keyframes rtcFlowerSource-moving-flower-2 {
  0%,
  100% {
    transform: rotate(18deg);
  }

  50% {
    transform: rotate(14deg);
  }
}
@keyframes rtcFlowerSource-moving-flower-3 {
  0%,
  100% {
    transform: rotate(-18deg);
  }

  50% {
    transform: rotate(-20deg) rotateY(-10deg);
  }
}
@keyframes rtcFlowerSource-blooming-leaf-right {
  0% {
    transform-origin: left;
    transform: rotate(70deg) rotateY(30deg) scale(0);
  }
}
@keyframes rtcFlowerSource-blooming-leaf-left {
  0% {
    transform-origin: right;
    transform: rotate(-70deg) rotateY(30deg) scale(0);
  }
}
@keyframes rtcFlowerSource-grow-flower-tree {
  0% {
    height: 0;
    border-radius: 1vmin;
  }
}
@keyframes rtcFlowerSource-blooming-flower {
  0% {
    transform: scale(0);
  }
}
@keyframes rtcFlowerSource-moving-grass {
  0%,
  100% {
    transform: rotate(-48deg) rotateY(40deg);
  }

  50% {
    transform: rotate(-50deg) rotateY(40deg);
  }
}
@keyframes rtcFlowerSource-moving-grass--2 {
  0%,
  100% {
    transform: scale(0.5) rotate(75deg) rotateX(10deg) rotateY(-200deg);
  }

  50% {
    transform: scale(0.5) rotate(79deg) rotateX(10deg) rotateY(-200deg);
  }
}
@keyframes rtcFlowerSource-growing-grass-ans {
  0% {
    transform: scale(0);
  }
}

/* ===== COMPILED FROM USER-SUPPLIED BUNNY style (2).css ===== */
.rtc-source-bunny {
  --c1: #f0fafa;
  --c2: #d0e0f6;
  font-size: 0.6vmin;
  width: 80em;
  margin-top: 15em;
  aspect-ratio: 1;
  position: relative;
  
  /* Added float animation */
  animation: rtcBunnySource-float 6s ease-in-out infinite;
}
.rtc-source-bunny *,
.rtc-source-bunny *::before,
.rtc-source-bunny *::after {
    position: absolute;
    box-sizing: border-box;
}
.rtc-source-bunny #alt {
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.rtc-source-bunny .head {
    width: 52em;
    height: 45em;
    border: 1.5em solid;
    border-radius: 100% / 130% 130% 75% 75%;
    left: 50%;
    translate: -50%;
    top: 10%;
    clip-path: polygon(0 -100%, 100% -100%, 100% 100%, 65% 100%, 78.5% 90%, 21.5% 90%, 35% 100%, 0 100%);
    background: var(--c1);
    box-shadow:
      inset 0 -2em 0 1em var(--c2);
    
    /* Added head bobbing animation */
    animation: rtcBunnySource-headBob 4s ease-in-out infinite;
}
.rtc-source-bunny .head .hair {
      width: 15%;
      aspect-ratio: 1.1;
      left: 45%;
      translate: -50% -80%;
      
      /* Added hair sway animation */
      animation: rtcBunnySource-hairSway 3s ease-in-out infinite;
}
.rtc-source-bunny .head .hair::before {
        content: "";
        inset: 0;
        border: 1.5em solid;
        border-radius: 50%;
        background: var(--c1);
        border-right-color: var(--c1);
        rotate: 50deg;
        box-shadow: 
          inset 1em 1em var(--c2),
          2em 0em var(--c1);
}
.rtc-source-bunny .head .eye {
      --p: 28%;
      width: 23%;
      aspect-ratio: 1;
      border-radius: 50%;
      left: var(--p);
      top: 45%;
      translate: -50%;
      background: 
        radial-gradient(circle at 38% 30%, #fff 24%, #0000 calc(24% + 1px)),
        radial-gradient(circle at 19% 62%, #fff 12%, #0000 calc(12% + 1px)),
        #000;
      
      /* Added blinking animation */
      animation: rtcBunnySource-blink 4s infinite;
}
.rtc-source-bunny .head .eye + .eye {
        left: calc(100% - var(--p));
        /* Slight delay for second eye */
        animation-delay: 0.1s;
}
.rtc-source-bunny .head .cheek {
      --p: 18%;
      --d: 60deg;
      width: 16%;
      top: 66.6%;
      left: var(--p);
      translate: -50%;
      aspect-ratio: 1.35;
      border-radius: 50%;
      box-shadow: inset 0 0 1em 1.25em pink;
      background: 
        repeating-linear-gradient(var(--d), #0000 0 13%, #f003 0 18%),
        pink;
      opacity: 0.8;
      rotate: 5deg;
      
      /* Added cheek glow animation */
      animation: rtcBunnySource-cheekGlow 2s ease-in-out infinite alternate;
}
.rtc-source-bunny .head .cheek ~ .cheek {
        --d: -60deg;
        left: calc(100% - var(--p));
        rotate: -5deg;
}
.rtc-source-bunny .head .mouth {
      top: 65%;
      left: 50%;
      translate: -50%;
      width: 12%;
      height: 22%;
      border: 1.5em solid;
      border-radius: 50% / 0 0 100% 100%;
      background: radial-gradient(circle at 50% 100%, #d55 30%, #822 0);
      
      /* Added mouth movement animation */
      animation: rtcBunnySource-mouthMove 3s ease-in-out infinite;
}
.rtc-source-bunny .head .nose {
      width: 10%;
      aspect-ratio: 1.8;
      background: 
        radial-gradient(circle at 25% 40%, #fff 12%, #0000 0),
        pink;
      top: 58%;
      left: 50%;
      translate: -50%;
      border-radius: 50%;
      
      /* Added nose wiggle animation */
      animation: rtcBunnySource-noseWiggle 2s ease-in-out infinite;
}
.rtc-source-bunny .head .nose::before,
.rtc-source-bunny .head .nose::after {
        --p: 35%;
        top: 100%;
        content: "";
        left: 0;
        right: 0;
        height: 100%;
        border: 1.25em solid;
        border-top: 0;
        border-radius: 50% / 0 0 100% 100%;
        translate: var(--p);
        background: var(--c1);
}
.rtc-source-bunny .head .nose::after {
        translate: calc(var(--p) * -1);
}
.rtc-source-bunny .hair-back {
    border: 1.5em solid;
    background: var(--c1);
    width: 9%;
    aspect-ratio: 1;
    border-radius: 50%;
    left: 48%;
    top: 4%;
    box-shadow: inset -1em 1em var(--c2);
    
    /* Added hair back sway animation */
    animation: rtcBunnySource-hairBackSway 4s ease-in-out infinite;
}
.rtc-source-bunny .ear {
    width: 20%;
    height: 44%;
    border: 1.5em solid;
    border-radius: 50%;
    border-radius: 100% / 125% 125% 80% 80%;
    overflow: hidden;
    background: 
      radial-gradient(130% 100% at 50% 0, #0000 80%, var(--c2) 0),
      var(--c1);
    rotate: -30deg;
    left: 17%;
    top: -20%;
    
    /* Added ear wiggle animation */
    animation: rtcBunnySource-earWiggle 3s ease-in-out infinite;
}
.rtc-source-bunny .ear ~ .ear {
      rotate: 70deg;
      top: -12%;
      left: 68%;
      background: 
      radial-gradient(130% 100% at 25% 0, #0000 80%, var(--c2) 0),
      var(--c1);
      
      /* Different ear wiggle timing */
      animation: rtcBunnySource-earWiggle 3s ease-in-out infinite reverse;
}
.rtc-source-bunny .ear ~ .ear::before {
        background: 
        radial-gradient(160% 100% at 25% 0, #0000 75%, #f002 0),
        pink;
}
.rtc-source-bunny .ear::before {
      content: "";
      width: 80%;
      height: 80%;
      left: 50%;
      top: 60%;
      translate: -50% -50%;
      border: 1.5em solid;
      background: 
        radial-gradient(150% 100% at 50% 0, #0000 80%, #f002 0),
        pink;
      border-radius: 50%;
}
.rtc-source-bunny .body {
    bottom: 6%;
    left: 50%;
    translate: -50%;
    width: 41em;
    height: 36em;
    border: 1.5em solid;
    border-bottom: 2em solid;
    border-radius: 100% / 130% 130% 75% 75%;
    background: 
      radial-gradient(135% 110% at 50% 0%,var(--c2) 40%, #0000 calc(40% + 1px)),
      var(--c1);
    box-shadow:
      inset 0 -2em 0 1em var(--c2);
    
    /* Added breathing animation */
    animation: rtcBunnySource-bodyBreathe 3s ease-in-out infinite;
}
.rtc-source-bunny .body .arm {
      --p: -4%;
      --d: 19deg;
      width: 28%;
      height: 36%;
      top: 24%;
      left: var(--p);
      translate: -50%;
      border: 1.5em solid;
      background: var(--c1);
      border-radius: 100% 0 0 100% / 50%;
      border-right: 0;
      box-shadow: inset 0 -1em var(--c2);
      transform-origin: 100% 0;
      rotate: var(--d);
      box-shadow: 4em 0 0 -1em var(--c1), inset 0 -1em var(--c2);
      
      /* Added arm waving animation */
      animation: rtcBunnySource-armWave 4s ease-in-out infinite;
}
.rtc-source-bunny .body .arm ~ .arm {
        left: auto;
        right: var(--p);
        scale: -1 1;
        rotate: -15deg;
        /* Different timing for second arm */
        animation: rtcBunnySource-armWave 4s ease-in-out infinite reverse;
}
.rtc-source-bunny .body .leg {
      --p: 18%;
      --d: 22deg;
      width: 35%;
      aspect-ratio: 1.5;
      border-radius:  0 0 15em 15em;
      border: 1.5em solid;
      top: 91%;
      left: var(--p);
      background: var(--c2);
      border-top: 0;
      border-bottom: 1.6em solid;
      rotate: var(--d);
      translate: -50%;
      box-shadow: inset 0 -3.5em 0 -2em #0061;
      
      /* Added leg bouncing animation */
      animation: rtcBunnySource-legBounce 2s ease-in-out infinite;
}
.rtc-source-bunny .body .leg ~ .leg {
        left: calc(100% - var(--p));
        --d: -22deg;
        /* Different timing for second leg */
        animation: rtcBunnySource-legBounce 2s ease-in-out infinite reverse;
}
  
/* 🎭 Animation Keyframes */
  
/* Float animation - Entire bunny gently floats */
  
/* Head bobbing - Subtle up/down movement */
  
/* Blinking eyes - Realistic blinking every 4 seconds */
  
/* Cheek glow animation */
  
/* Mouth movement animation */
  
/* Nose wiggle animation */
  
/* Hair sway animation */
  
/* Hair back sway animation */
  
/* Ear wiggling - Cute */
  
/* Breathing body - Gentle scale animation */
  
/* Waving arms - Alternating arm movements */
  
/* Bouncing legs - Playful leg animations */
  
/***/
@keyframes rtcBunnySource-float {
  0%, 100% { 
    transform: translateY(0px) rotate(0deg); 
  }
  50% { 
    transform: translateY(-20px) rotate(1deg); 
  }
}
@keyframes rtcBunnySource-headBob {
  0%, 100% { 
    transform: translateY(0px); 
  }
  50% { 
    transform: translateY(-5px); 
  }
}
@keyframes rtcBunnySource-blink {
  0%, 90%, 100% { 
    transform: scaleY(1); 
  }
  95% { 
    transform: scaleY(0.1); 
  }
}
@keyframes rtcBunnySource-cheekGlow {
  0% { 
    box-shadow: inset 0 0 1em 1.25em rgba(255, 192, 203, 0.8); 
  }
  100% { 
    box-shadow: inset 0 0 1em 1.25em rgba(255, 192, 203, 1.2); 
  }
}
@keyframes rtcBunnySource-mouthMove {
  0%, 100% { 
    transform: scaleY(1); 
  }
  50% { 
    transform: scaleY(0.8); 
  }
}
@keyframes rtcBunnySource-noseWiggle {
  0%, 100% { 
    transform: rotate(0deg) scale(1); 
  }
  25% { 
    transform: rotate(1deg) scale(1.05); 
  }
  75% { 
    transform: rotate(-1deg) scale(1.05); 
  }
}
@keyframes rtcBunnySource-hairSway {
  0%, 100% { 
    transform: rotate(-2deg); 
  }
  50% { 
    transform: rotate(2deg); 
  }
}
@keyframes rtcBunnySource-hairBackSway {
  0%, 100% { 
    transform: rotate(-1deg); 
  }
  50% { 
    transform: rotate(1deg); 
  }
}
@keyframes rtcBunnySource-earWiggle {
  0%, 100% { 
    transform: rotate(0deg); 
  }
  25% { 
    transform: rotate(5deg); 
  }
  75% { 
    transform: rotate(-5deg); 
  }
}
@keyframes rtcBunnySource-bodyBreathe {
  0%, 100% { 
    transform: scale(1); 
  }
  50% { 
    transform: scale(1.02); 
  }
}
@keyframes rtcBunnySource-armWave {
  0%, 100% { 
    rotate: var(--d); 
  }
  50% { 
    rotate: calc(var(--d) + 15deg); 
  }
}
@keyframes rtcBunnySource-legBounce {
  0%, 100% { 
    transform: translateY(0px) rotate(var(--d)); 
  }
  50% { 
    transform: translateY(-3px) rotate(calc(var(--d) + 5deg)); 
  }
}

/* =========================================================
   EXACT SOURCE LOADER — USER-SUPPLIED BUNNY + FLOWER CODE
   Flower structure/animation compiled from the supplied style.scss.
   Bunny structure/animation compiled from the supplied style (2).css.
   Only scoping, demo-removal, loader travel, and color variables were added.
   ========================================================= */

/* The old custom loader scene is intentionally retired. */
.rtc-loader-scene { display: none !important; }

.loader {
  isolation: isolate;
  overflow: hidden;
}
.loader > p,
.loader > small {
  position: relative;
  z-index: 40;
  text-shadow: 0 2px 18px rgba(10, 5, 16, .48);
}

/* Keep the original Flower scene contained inside the loader instead of styling body. */
.rtc-source-flower-field {
  --dark-color: #17101f;
  position: absolute;
  inset: 0;
  z-index: 4;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0 0 clamp(1rem, 3vh, 2.2rem);
  overflow: hidden;
  background: transparent;
  pointer-events: none;
}
.loader--studio .rtc-source-flower-field { --dark-color: #1d1426; }
.rtc-source-flower-field .night {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  background:
    radial-gradient(circle at 50% 100%, rgba(85,159,154,.10), transparent 44%),
    radial-gradient(circle at 28% 72%, rgba(182,92,124,.08), transparent 30%);
}
.rtc-source-flower-field .flowers {
  transform: scale(.57);
  transform-origin: bottom center;
}

/* Random color variables are assigned to each of the actual three source flowers in script.js. */
.rtc-source-flower-field .flower {
  --rtc-flower-main: #f28fbd;
  --rtc-flower-deep: #b94f82;
  --rtc-flower-glow: #ffd3e6;
  --rtc-flower-light: #ffb6d4;
  --rtc-flower-center-a: #ffe98b;
  --rtc-flower-center-b: #f6bd4d;
}
.rtc-source-flower-field .flower__leaf {
  background-color: var(--rtc-flower-main);
  background-image: linear-gradient(to top, var(--rtc-flower-deep), var(--rtc-flower-main));
}
.rtc-source-flower-field .flower__leaf--4 {
  background-image: linear-gradient(to top, var(--rtc-flower-deep), var(--rtc-flower-main));
}
.rtc-source-flower-field .flower__leafs::after { background-color: var(--rtc-flower-glow); }
.rtc-source-flower-field .flower__light { background-color: var(--rtc-flower-center-a); }
.rtc-source-flower-field .flower__light:nth-child(odd) { background-color: var(--rtc-flower-light); }
.rtc-source-flower-field .flower__white-circle::after {
  background-image:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.42), transparent 42%),
    linear-gradient(90deg, var(--rtc-flower-center-a), var(--rtc-flower-center-b));
}

/* Outer travel is separate so the uploaded bunny's own float/bob/blink animations stay intact. */

.rtc-source-bunny {
  width: 80em;
  margin: 0;
  font-size: calc(clamp(11.5rem, 17vw, 15rem) / 80);
  color: #18131d;
}



html[data-theme="light"] .public-jewel-page .rtc-source-flower-field { --dark-color: #eee5f3; }


@media (max-width: 720px) {
  .rtc-source-flower-field .flowers { transform: scale(.43); }
  
  .rtc-source-bunny { font-size: calc(10.5rem / 80); }
}

@media (prefers-reduced-motion: reduce) {
  
  .rtc-source-flower-field.not-loaded * { animation-play-state: running !important; }
  
}

/* =========================================================
   HOMEPAGE HERO TUNE — AUGUST 2026
   Lighter plum, tighter headline, quote woven into collage.
   ========================================================= */

/* Lift the public dark plum just a little without losing the jewel-room mood. */
html[data-theme="dark"] .public-jewel-page {
  --j-night: #2a1d33;
  --j-night-2: #32213d;
  --j-plum: #3b2948;
  --j-plum-soft: #493157;
  --j-card: rgba(64, 43, 77, .80);
  --j-card-solid: #402c4d;
  background:
    radial-gradient(circle at 8% 8%, rgba(208, 110, 151, .27), transparent 29rem),
    radial-gradient(circle at 90% 22%, rgba(83, 170, 160, .25), transparent 32rem),
    radial-gradient(circle at 48% 76%, rgba(153, 111, 183, .24), transparent 38rem),
    linear-gradient(160deg, #302039 0%, #382443 45%, #24393c 125%);
}

/* Give the hero room to act as the positioning canvas for the handwritten line. */
.home-page .hero-section--editorial {
  position: relative;
  padding-top: clamp(2rem, 4vw, 3.35rem);
  padding-bottom: clamp(4.4rem, 6vw, 5.5rem);
}

/* Smaller, wider headline: two intentional lines instead of a giant vertical stack. */
.home-page .hero-copy h1 {
  max-width: 13.5ch;
  margin-bottom: 1.1rem;
  font-size: clamp(3.45rem, 6vw, 5.8rem);
  line-height: .90;
  letter-spacing: -.058em;
}

.home-page .hero-lede {
  max-width: 41rem;
  font-size: clamp(1rem, 1.45vw, 1.18rem);
  line-height: 1.58;
}

/* The rotating saying becomes one handwritten ribbon across the lower hero/collage. */
.home-page .hero-copy .hero-handnote {
  position: absolute;
  z-index: 14;
  left: clamp(1.5rem, 5vw, 5rem);
  right: clamp(1.5rem, 4vw, 4rem);
  bottom: clamp(1.15rem, 1.8vw, 1.8rem);
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  color: #efb7cd;
  font-size: clamp(1.2rem, 1.75vw, 1.6rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.012em;
  text-align: center;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(22, 10, 29, .72), 0 1px 2px rgba(22, 10, 29, .88);
  transform: rotate(-1.2deg);
  pointer-events: none;
}

/* Let the line visually cross the collage instead of reading as a separate block. */
.home-page .hero-collage--editorial {
  z-index: 4;
}

@media (min-width: 980px) {
  .home-page .hero-copy .hero-handnote {
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .home-page .hero-section--editorial {
    padding-bottom: 5.3rem;
  }
  .home-page .hero-copy h1 {
    max-width: 12.5ch;
    font-size: clamp(3.35rem, 10vw, 5.4rem);
  }
  .home-page .hero-copy .hero-handnote {
    left: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    font-size: clamp(1.15rem, 3.2vw, 1.45rem);
  }
}

@media (max-width: 720px) {
  .home-page .hero-section--editorial {
    padding-top: 1.6rem;
    padding-bottom: 5.8rem;
  }
  .home-page .hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(3.15rem, 14vw, 4.9rem);
  }
  .home-page .hero-copy .hero-handnote {
    left: .75rem;
    right: .75rem;
    bottom: 1.1rem;
    font-size: clamp(1.12rem, 5.2vw, 1.35rem);
    line-height: 1.08;
    white-space: normal;
  }
}

@media (max-width: 480px) {
  .home-page .hero-copy h1 {
    font-size: clamp(3rem, 15vw, 4.25rem);
  }
  .home-page .hero-copy .hero-handnote {
    font-size: 1.1rem;
  }
}

/* A slightly quicker exact-source rabbit crossing. */


/* =========================================================
   SITE-WIDE TIGHTER RHYTHM + QUICKER LOADER — AUGUST 2026
   Same visual language, less empty runway between moments.
   ========================================================= */

/* Faster loader: roughly half the current wait, including a quicker fade. */
.loader {
  transition-duration: 450ms;
}


/* Public chrome: keep the header/footer present but less tall. */
.public-jewel-page .site-header {
  padding-top: 1rem;
  padding-bottom: .75rem;
}
.public-jewel-page .site-footer {
  gap: 1.35rem;
  padding-top: 1.65rem;
  padding-bottom: 2.1rem;
}
.public-jewel-page .site-footer__nav {
  gap: clamp(.85rem, 2vw, 1.55rem);
}

/* Global public editorial rhythm. */
.public-jewel-page .section-shell {
  padding-top: clamp(3.1rem, 5.7vw, 5.35rem);
  padding-bottom: clamp(3.1rem, 5.7vw, 5.35rem);
}
.public-jewel-page .section-heading {
  gap: 1.15rem;
  margin-bottom: 1.35rem;
}
.public-jewel-page .section-heading h2,
.public-jewel-page .shop-section__copy h2,
.public-jewel-page .about-copy h2,
.public-jewel-page .home-about-teaser__copy h2 {
  font-size: clamp(2.25rem, 4.5vw, 4.35rem);
}

/* Homepage: keep the collage drama, lose the extra vertical runway. */
.home-page .hero-section--editorial {
  min-height: min(700px, calc(100vh - 4.5rem));
  gap: clamp(1.5rem, 4vw, 3.75rem);
  padding-top: clamp(1.55rem, 3vw, 2.55rem);
  padding-bottom: clamp(3.7rem, 5vw, 4.5rem);
}
.home-page .hero-collage--editorial {
  min-height: clamp(25rem, 38vw, 31rem);
}
.home-page .hero-actions {
  gap: .8rem;
  margin-top: 1.35rem;
}
.home-page .home-moodboard {
  margin-top: clamp(-4.25rem, -5vw, -2.4rem);
  margin-bottom: clamp(1.6rem, 3vw, 2.5rem);
}
.home-page .current-life-strip {
  margin-bottom: clamp(2.35rem, 4vw, 3.7rem);
}
.home-page .current-life-strip > div {
  min-height: 6.65rem;
  padding: .95rem 1rem;
}
.home-page .home-keepsake-links {
  gap: .8rem;
  margin-bottom: clamp(2.25rem, 4.5vw, 3.7rem);
}
.home-page .home-keepsake-links__entries {
  gap: .65rem;
}
.home-page .home-keepsake-link,
.home-page .home-shop-spotlight {
  padding: clamp(.95rem, 2vw, 1.35rem);
}
.home-page .journal-editorial-grid {
  gap: .9rem;
  margin-top: 2rem;
}
.home-page .shop-section--editorial,
.home-page .about-section--editorial,
.public-jewel-page .shop-section,
.public-jewel-page .about-section {
  gap: clamp(2rem, 4.6vw, 4.25rem);
}
.home-page .home-product-stack {
  min-height: 33rem;
}
.home-page .home-about-teaser {
  gap: clamp(1.75rem, 4vw, 3.6rem);
}

/* Journal archive: shorter opening and denser card wall. */
.public-jewel-page .journal-archive__intro {
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-top: clamp(2.6rem, 4.7vw, 4.25rem);
  padding-bottom: clamp(2rem, 3.8vw, 3.1rem);
}
.public-jewel-page .journal-archive__intro h1 {
  font-size: clamp(3.45rem, 7vw, 6.35rem);
}
.public-jewel-page .journal-filter-room {
  gap: .7rem;
  padding: .75rem 0;
}
.public-jewel-page .journal-archive__grid,
.public-jewel-page .journal-archive__grid--editorial {
  gap: .9rem;
  padding-top: clamp(1.5rem, 3vw, 2.6rem);
}
.public-jewel-page .archive-card--v2,
.public-jewel-page .archive-card--v5 {
  margin-top: 2rem !important;
}
.public-jewel-page .archive-card__body {
  padding: clamp(1.1rem, 2.6vw, 1.75rem);
}
.public-jewel-page .archive-card h2 {
  margin-top: .75rem;
  font-size: clamp(2rem, 4vw, 3.35rem);
}

/* Individual journal entry: keep it luxurious, but stop making every element a separate chapter. */
.public-jewel-page .journal-entry,
.public-jewel-page .journal-not-found {
  padding-top: clamp(2.25rem, 4.5vw, 4rem);
  padding-bottom: clamp(3.4rem, 6vw, 5.5rem);
}
.public-jewel-page .journal-entry__back {
  margin-bottom: clamp(1.5rem, 3vw, 2.7rem);
}
.public-jewel-page .journal-entry > article,
.public-jewel-page .journal-entry-card {
  padding: clamp(1.35rem, 4vw, 3.25rem);
}
.public-jewel-page .journal-entry__header h1 {
  font-size: clamp(3rem, 6.4vw, 5.7rem);
}
.public-jewel-page .journal-entry__meta {
  margin-top: 1.2rem;
  padding: .75rem 0;
}
.public-jewel-page .journal-entry__featured {
  margin-top: clamp(2rem, 4vw, 3.6rem);
  margin-bottom: clamp(2rem, 4vw, 3.6rem);
}
.public-jewel-page .journal-entry__content {
  margin-top: clamp(2rem, 4vw, 3.6rem);
  margin-bottom: clamp(2rem, 4vw, 3.6rem);
}
.public-jewel-page .journal-gallery,
.public-jewel-page .journal-keepsake-card,
.public-jewel-page .journal-song-card,
.public-jewel-page .entry-quote {
  margin-top: clamp(2rem, 4vw, 3.6rem);
  margin-bottom: clamp(2rem, 4vw, 3.6rem);
}

/* Shop: bring products above the fold sooner. */
.public-jewel-page .shop-page-intro {
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-top: clamp(2.6rem, 4.7vw, 4.25rem);
  padding-bottom: clamp(2.6rem, 4.7vw, 4.25rem);
}
.public-jewel-page .shop-page-intro h1 {
  font-size: clamp(3.45rem, 7vw, 6.35rem);
}
.public-jewel-page .shop-product-grid,
.public-jewel-page .shop-product-grid--editorial {
  gap: clamp(.9rem, 2vw, 1.5rem);
  padding-top: 1.45rem;
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}
.public-jewel-page .shop-product-card--editorial:nth-child(even) {
  margin-top: 1.5rem;
}
.public-jewel-page .shop-product-card--editorial .shop-product-card__body {
  padding: clamp(1.05rem, 2.4vw, 1.65rem);
}
.public-jewel-page .shop-making {
  gap: clamp(2rem, 4.5vw, 4rem);
  padding-top: clamp(3.2rem, 5.5vw, 5rem);
  padding-bottom: clamp(3.2rem, 5.5vw, 5rem);
}
.public-jewel-page .shop-social {
  gap: 1.25rem;
  padding: clamp(2rem, 4vw, 3.5rem);
}

/* About + legal: less museum-distance between blocks. */
.public-jewel-page .about-page-main,
.public-jewel-page .policy-main {
  padding-bottom: clamp(3rem, 5.5vw, 5rem);
}
.public-jewel-page .about-hero {
  gap: clamp(1.75rem, 4vw, 3.75rem);
  padding-top: clamp(2.3rem, 4.3vw, 4rem);
  padding-bottom: clamp(2.8rem, 5vw, 4.5rem);
}
.public-jewel-page .about-hero__copy h1,
.public-jewel-page .policy-hero h1 {
  font-size: clamp(3.25rem, 6.5vw, 6rem);
}
.public-jewel-page .about-hero__portrait-stack {
  min-height: 30rem;
}
.public-jewel-page .about-story-grid {
  gap: clamp(.85rem, 2vw, 1.4rem);
  padding-top: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}
.public-jewel-page .about-story-card {
  padding: clamp(1.2rem, 3vw, 2.15rem);
}
.public-jewel-page .about-story-photo--offset {
  margin-top: 1.35rem;
}
.public-jewel-page .about-manifesto,
.public-jewel-page .about-closing {
  margin-top: clamp(2rem, 4vw, 3.6rem);
}
.public-jewel-page .about-manifesto {
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.5rem, 3.5vw, 2.8rem);
}
.public-jewel-page .about-closing {
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding-top: clamp(2rem, 4vw, 3.6rem);
}
.public-jewel-page .policy-hero {
  padding-top: clamp(2.4rem, 4.5vw, 4rem);
  padding-bottom: clamp(1.7rem, 3vw, 2.6rem);
}
.public-jewel-page .policy-grid {
  gap: .75rem;
}
.public-jewel-page .policy-grid article,
.public-jewel-page .policy-note {
  padding: clamp(1.1rem, 2.5vw, 1.65rem);
}

/* Studio: modest tightening only; retain its comfortable writing-room feel. */
.studio-private-header {
  padding-top: .9rem;
  padding-bottom: .9rem;
}
.studio-private-shell {
  padding-top: clamp(2.2rem, 4.5vw, 4rem);
  padding-bottom: clamp(3.4rem, 6.5vw, 5.5rem);
}
.studio-dashboard-intro {
  gap: clamp(1.5rem, 4vw, 3.75rem);
  margin-bottom: clamp(2rem, 4vw, 3.35rem);
}
.studio-big-choices {
  gap: .75rem;
}
.studio-choice-card {
  min-height: 20.5rem;
  padding: clamp(1.2rem, 2.6vw, 1.75rem);
}
.studio-recent-card,
.studio-shelves {
  margin-top: .8rem;
  padding: clamp(1.1rem, 2.5vw, 1.6rem);
}
.studio-editor-paper,
.studio-editor-panel {
  padding: clamp(1.2rem, 3vw, 2.25rem);
}
.studio-editor-panel,
.studio-real-editor,
.studio-product-form {
  gap: .8rem;
}
.studio-keepsake-grid,
.studio-post-card-grid,
.studio-product-grid {
  gap: .7rem;
}

@media (max-width: 900px) {
  .home-page .hero-section--editorial {
    min-height: 0;
    gap: 1.35rem;
  }
  .home-page .hero-collage--editorial {
    min-height: 28rem;
  }
  .public-jewel-page .archive-card--v2,
  .public-jewel-page .archive-card--v5,
  .public-jewel-page .shop-product-card--editorial:nth-child(even) {
    margin-top: 0 !important;
  }
}

@media (max-width: 720px) {
  .public-jewel-page .section-shell {
    padding-top: 2.6rem;
    padding-bottom: 2.6rem;
  }
  .home-page .hero-section--editorial {
    padding-top: 1.15rem;
    padding-bottom: 4.9rem;
  }
  .home-page .hero-collage--editorial {
    min-height: 26rem;
  }
  .home-page .home-moodboard {
    margin-top: -2.15rem;
  }
  .public-jewel-page .journal-archive__intro,
  .public-jewel-page .shop-page-intro,
  .public-jewel-page .about-hero {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }
  .studio-private-shell {
    padding-top: 2rem;
    padding-bottom: 3.3rem;
  }
  .studio-choice-card {
    min-height: 17rem;
  }
}


/* =========================================================
   AUGUST 2026 — HOMEPAGE QUOTE PLACEMENT + EXACT SOURCE BUNNY
   Final overrides: keep the rotating saying below the photo collage
   so it never bisects faces/images; use the chosen minimalist rabbit.
   ========================================================= */
.home-page .hero-section--editorial > .hero-handnote--below-collage {
  position: static;
  grid-column: 2;
  grid-row: 2;
  align-self: start;
  justify-self: stretch;
  z-index: 8;
  width: 100%;
  max-width: 34rem;
  margin: -.2rem 0 0 auto;
  padding: .55rem clamp(.25rem, 1vw, .75rem) 0;
  color: #efb7cd;
  font-size: clamp(1.12rem, 1.55vw, 1.42rem);
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -.01em;
  text-align: right;
  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(22,10,29,.5);
  transform: rotate(-1deg);
  pointer-events: none;
}
.home-page .hero-copy .hero-handnote { position: static; }
.home-page .hero-section--editorial { padding-bottom: clamp(2.5rem, 4vw, 3.6rem); }
@media (max-width:900px) {
  .home-page .hero-section--editorial > .hero-handnote--below-collage {
    grid-column:1;
    grid-row:auto;
    max-width:32rem;
    margin:-.2rem auto 0;
    padding-top:.35rem;
    font-size:clamp(1.12rem,3.2vw,1.4rem);
    text-align:center;
  }
}
@media (max-width:720px) {
  .home-page .hero-section--editorial { padding-bottom:3rem; }
  .home-page .hero-section--editorial > .hero-handnote--below-collage {
    max-width:min(92vw,30rem);
    margin-top:-.35rem;
    font-size:clamp(1.08rem,5vw,1.3rem);
    line-height:1.12;
  }
}
.loader::before,.loader::after { display:none !important; content:none !important; }












@media (max-width:640px) {  }
@media (prefers-reduced-motion:reduce) {
  
  
}


/* =========================================================
   STUDIO MEME LIBRARY — images/memes quick picker
   ========================================================= */
.studio-meme-keepsake { grid-column: span 2; }
.studio-meme-library { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:.8rem 0 1rem; }
.studio-meme-library__choice { position:relative; cursor:pointer; }
.studio-meme-library__choice input { position:absolute; opacity:0; pointer-events:none; }
.studio-meme-library__choice span { display:grid; gap:.35rem; padding:.35rem; border:1px solid var(--line); border-radius:.75rem; background:rgba(255,255,255,.72); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.studio-meme-library__choice img { display:block; width:100%; aspect-ratio:1/1; object-fit:contain; border-radius:.5rem; background:rgba(255,255,255,.6); }
.studio-meme-library__choice b { color:var(--ink-soft); font:600 .55rem/1.2 "DM Mono",monospace; text-align:center; text-transform:uppercase; letter-spacing:.05em; }
.studio-meme-library__choice:hover span { transform:translateY(-2px); }
.studio-meme-library__choice input:checked + span { border-color:var(--violet); box-shadow:0 0 0 2px rgba(112,66,137,.14); }
.studio-meme-library__choice input:checked + span b { color:var(--violet); }
.studio-meme-upload { display:grid; gap:.35rem; margin:.35rem 0 .7rem; color:var(--ink-soft); font-size:.72rem; }
@media (max-width:760px) { .studio-meme-keepsake { grid-column:auto; } .studio-meme-library { grid-template-columns:repeat(2,minmax(0,1fr)); } }


/* =========================================================
   AUGUST 2026 — SIMPLIFY + MOBILE-FIRST PASS
   One compact rhythm across the public site and Studio.
   ========================================================= */

/* Homepage collage photos are real navigation now. */
.home-page .editorial-photo__link {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.home-page .editorial-photo__link:focus-visible {
  outline: 3px solid rgba(239,183,205,.72);
  outline-offset: -5px;
  border-radius: inherit;
}
.home-page .editorial-photo:hover figcaption { background: rgba(36,22,45,.9); }

/* Public pages: less runway between ideas. */
.public-jewel-page .section-shell {
  padding-top: clamp(2.35rem, 4.2vw, 3.9rem);
  padding-bottom: clamp(2.35rem, 4.2vw, 3.9rem);
}
.public-jewel-page .section-heading { margin-bottom: 1rem; }
.home-page .hero-section--editorial {
  min-height: 0;
  padding-top: clamp(1.1rem, 2.5vw, 2rem);
  padding-bottom: clamp(2.4rem, 4vw, 3.25rem);
}
.home-page .hero-collage--editorial { min-height: clamp(23rem, 35vw, 29rem); }
.home-page .current-life-strip { margin-bottom: 1.7rem; }
.home-page .home-keepsake-links { margin-bottom: 1.8rem; }
.home-page .journal-editorial-grid { margin-top: 1.35rem; }

/* About should read like a note, not a museum placard. */
.public-jewel-page .about-page-main { padding-bottom: 3rem; }
.public-jewel-page .about-hero {
  gap: clamp(1.4rem, 3.2vw, 2.8rem);
  padding-top: 1.8rem;
  padding-bottom: 2.35rem;
}
.public-jewel-page .about-hero__copy h1 { max-width: 11ch; font-size: clamp(3rem, 6vw, 5.4rem); }
.public-jewel-page .about-hero__lead { max-width: 38rem; font-size: clamp(1rem, 1.6vw, 1.16rem); line-height: 1.55; }
.public-jewel-page .about-hero__portrait-stack { min-height: 26rem; }
.public-jewel-page .about-story-grid { gap: .8rem; padding: 1.6rem 0; }
.public-jewel-page .about-story-card { padding: clamp(1rem, 2.3vw, 1.6rem); }
.public-jewel-page .about-story-card h2 { max-width: 10ch; font-size: clamp(2rem, 4vw, 3.35rem); }
.public-jewel-page .about-story-card p:not(.eyebrow) { margin-bottom: 0; font-size: .98rem; line-height: 1.55; }
.public-jewel-page .about-story-photo,
.public-jewel-page .about-story-photo img { min-height: 21rem; }
.public-jewel-page .about-story-photo--offset { margin-top: .75rem; }
.public-jewel-page .about-manifesto {
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: 1rem 2rem;
  margin-top: 1.6rem;
  padding: clamp(1.15rem, 2.6vw, 1.8rem);
}
.public-jewel-page .about-manifesto h2 { margin-bottom: 0; font-size: clamp(2rem, 4vw, 3.2rem); }
.public-jewel-page .about-manifesto blockquote { font-size: clamp(1.7rem, 3.4vw, 2.8rem); line-height: 1.04; }
.public-jewel-page .about-values--wide { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin: .5rem 0 0; }
.public-jewel-page .about-values > div { padding: .8rem; }
.public-jewel-page .about-values span { margin-bottom: .3rem; font-size: 1.15rem; }
.public-jewel-page .about-values strong { margin-bottom: .2rem; font-size: .98rem; }
.public-jewel-page .about-values small { font-size: .76rem; line-height: 1.35; }
.public-jewel-page .about-closing {
  gap: 1.35rem;
  margin-top: 1.8rem;
  padding-top: 1.8rem;
}
.public-jewel-page .about-closing__photo { max-width: 24rem; }
.public-jewel-page .about-closing p:not(.eyebrow) { font-size: 1rem; line-height: 1.55; }
.public-jewel-page .about-closing__actions { margin-top: 1rem; }

/* Studio dashboard: make the next action obvious and keep scrolling short. */
.studio-private-shell {
  width: min(calc(100% - 2rem), 1080px);
  padding-top: clamp(1.5rem, 3vw, 2.7rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}
.studio-dashboard-intro { gap: 1.4rem; margin-bottom: 1.6rem; }
.studio-dashboard-intro h1 { margin-bottom: .65rem; font-size: clamp(3rem, 6vw, 5rem); }
.studio-today-mood { padding: 1rem; }
.studio-big-choices { gap: .65rem; }
.studio-choice-card { min-height: 15rem; padding: 1.05rem; border-radius: 1.25rem; }
.studio-choice-card__icon { width: 3.15rem; font-size: 1.5rem; }
.studio-choice-card .tiny-label { margin: 1rem 0 .4rem; }
.studio-choice-card h2 { margin-bottom: .45rem; font-size: clamp(1.85rem, 3vw, 2.7rem); }
.studio-choice-card p { margin-bottom: .7rem; font-size: .86rem; line-height: 1.45; }
.studio-shelves { margin: 1.35rem 0; padding: 1rem; }
.studio-shelf-grid { gap: .6rem; margin-top: 1rem; }
.studio-shelf-card { min-height: 0; padding: .9rem; gap: .75rem; }
.studio-shelf-card > span { width: 2.7rem; }
.studio-shelf-card h3 { margin: .3rem 0; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.studio-shelf-card p { font-size: .78rem; line-height: 1.4; }
.studio-shelf-card__actions { margin-top: .6rem; }
.studio-recent-card { margin-top: 1rem; padding: 1rem; }
.studio-activity-row { padding: .55rem 0; }

/* Studio entry editor: keep all the good controls, remove the empty acreage. */
.studio-real-editor { gap: .65rem; }
.studio-editor-paper,
.studio-editor-panel { padding: clamp(1rem, 2.25vw, 1.6rem); border-radius: 1.2rem; }
.studio-editor-paper__heading h1 { margin-bottom: .8rem; font-size: clamp(2.5rem, 5vw, 4rem); }
.studio-panel-heading h2 { margin-bottom: .7rem; font-size: clamp(1.75rem, 3.2vw, 2.65rem); }
.studio-main-field,
.studio-sub-field { gap: .35rem; margin-top: .85rem; }
.studio-main-field input,
.studio-main-field textarea,
.studio-sub-field textarea,
.studio-keepsake-grid input,
.studio-keepsake-grid textarea { padding: .72rem .8rem; }
.studio-main-field > input[name=title] { font-size: clamp(1.65rem, 3.5vw, 2.55rem); }
.studio-writing-prompt { margin-top: .65rem; padding: .65rem .8rem; }
.studio-featured-date-card { margin-top: .75rem; padding: .85rem; }
.studio-mood-picker { gap: .4rem; }
.studio-mood-choice span { min-height: 4.8rem; padding: .55rem; }
.studio-special-tags { gap: .45rem; margin: .7rem 0 .85rem; }
.studio-special-tags button { padding: .65rem; }
.studio-keepsake-grid { gap: .55rem; }
.studio-keepsake-grid article { padding: .8rem; }
.studio-keepsake-grid h3 { margin: .35rem 0 .55rem; font-size: 1.35rem; }
.studio-meme-library { gap: .4rem; margin: .55rem 0 .7rem; }
.studio-photo-upload-row { gap: .5rem; }
.studio-photo-upload-row label { padding: .75rem; }
.studio-existing-photos { gap: .5rem; margin-top: .7rem; }
.studio-privacy-picker { gap: .45rem; }
.studio-privacy-picker span { min-height: 6.1rem; padding: .75rem; }
.studio-editor-actions { bottom: .45rem; gap: .5rem; padding: .7rem; }
.studio-editor-secondary { gap: .55rem; margin-top: .65rem; }

/* BASURA needs to be readable, not pale-on-pale. */
.studio-card-trash button,
.studio-page form[action="/studio/move-trash.php"] button {
  border-color: #47243b !important;
  background: #512b45 !important;
  color: #fff7fb !important;
  box-shadow: 0 5px 16px rgba(22,10,19,.18);
}
.studio-card-trash button:hover,
.studio-page form[action="/studio/move-trash.php"] button:hover {
  background: #3d1d33 !important;
  border-color: #35162b !important;
}

/* Entry archive and public journal pages: tighter cards + reading rhythm. */
.studio-filter-bar { gap: .4rem; padding: .7rem; }
.studio-post-card-grid { gap: .6rem; margin-top: .85rem; }
.studio-post-card__body { padding: .85rem; }
.studio-post-card__date { margin-top: .55rem; }
.studio-card-trash { margin-top: .65rem; padding-top: .6rem; }
.public-jewel-page .journal-entry,
.public-jewel-page .journal-not-found { padding-top: 1.75rem; padding-bottom: 3rem; }
.public-jewel-page .journal-entry__back { margin-bottom: 1.2rem; }
.public-jewel-page .journal-entry > article,
.public-jewel-page .journal-entry-card { padding: clamp(1.15rem, 3vw, 2.25rem); }
.public-jewel-page .journal-entry__meta { margin-top: .9rem; }
.public-jewel-page .journal-entry__featured,
.public-jewel-page .journal-entry__content,
.public-jewel-page .journal-gallery,
.public-jewel-page .journal-keepsake-card,
.public-jewel-page .journal-song-card,
.public-jewel-page .entry-quote { margin-top: 1.55rem; margin-bottom: 1.55rem; }

@media (max-width: 900px) {
  .public-jewel-page .about-values--wide { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .studio-choice-card { min-height: 13.5rem; }
}

@media (max-width: 720px) {
  .public-jewel-page .site-header { padding: .72rem .8rem; }
  .public-jewel-page .section-shell { padding-top: 1.8rem; padding-bottom: 1.8rem; }
  .home-page .hero-section--editorial { padding-top: .8rem; padding-bottom: 2.25rem; gap: .85rem; }
  .home-page .hero-collage--editorial { min-height: 23.5rem; }
  .home-page .hero-actions { margin-top: .9rem; }
  .home-page .home-moodboard { margin-top: -1.25rem; margin-bottom: 1rem; }
  .home-page .current-life-strip { margin-bottom: 1.25rem; }
  .home-page .home-keepsake-links { margin-bottom: 1.3rem; }

  .public-jewel-page .about-hero { padding-top: 1.2rem; padding-bottom: 1.5rem; }
  .public-jewel-page .about-hero__copy h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .public-jewel-page .about-hero__portrait-stack { min-height: 22rem; }
  .public-jewel-page .about-story-grid { padding: 1rem 0; }
  .public-jewel-page .about-story-photo,
  .public-jewel-page .about-story-photo img { min-height: 18rem; }
  .public-jewel-page .about-manifesto { grid-template-columns: 1fr; gap: .7rem; margin-top: 1rem; padding: 1rem; }
  .public-jewel-page .about-manifesto blockquote { font-size: clamp(1.65rem, 8vw, 2.25rem); }
  .public-jewel-page .about-values--wide { grid-template-columns: 1fr; gap: .4rem; }
  .public-jewel-page .about-values > div { padding: .7rem .8rem; }
  .public-jewel-page .about-closing { margin-top: 1.1rem; padding-top: 1.1rem; }

  .studio-private-header { gap: .55rem; padding: .7rem .8rem; }
  .studio-private-logo { font-size: 1rem; }
  .studio-private-nav {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    gap: .35rem;
    overflow-x: auto;
    padding: 0 0 .25rem;
    scrollbar-width: none;
  }
  .studio-private-nav::-webkit-scrollbar { display: none; }
  .studio-private-nav a { flex: 0 0 auto; padding: .48rem .62rem; font-size: .7rem; }
  .studio-user-badge { display: none; }
  .studio-private-shell { width: min(calc(100% - 1rem), 1080px); padding-top: 1.15rem; padding-bottom: 2.2rem; }
  .studio-dashboard-intro { gap: .9rem; margin-bottom: 1rem; }
  .studio-dashboard-intro h1 { font-size: clamp(2.65rem, 12vw, 4rem); }
  .studio-dashboard-intro p:not(.eyebrow) { font-size: .9rem; }
  .studio-big-choices { grid-template-columns: 1fr; gap: .5rem; }
  .studio-choice-card,
  .studio-choice-card--shop { grid-column: auto; min-height: 0; padding: .9rem; }
  .studio-choice-card__icon { width: 2.7rem; margin-bottom: .5rem; font-size: 1.25rem; }
  .studio-choice-card .tiny-label { margin: .25rem 0 .35rem; }
  .studio-choice-card h2 { max-width: none; margin-bottom: .35rem; font-size: 1.8rem; }
  .studio-choice-card strong { margin-top: .35rem; }
  .studio-shelves { margin: .9rem 0; padding: .75rem; border-radius: 1.15rem; }
  .studio-shelf-grid { grid-template-columns: 1fr; gap: .45rem; margin-top: .7rem; }
  .studio-shelf-card { padding: .75rem; border-radius: 1rem; }
  .studio-recent-card { padding: .75rem; }

  .studio-editor-paper,
  .studio-editor-panel { padding: .85rem; border-radius: 1rem; }
  .studio-editor-paper::before { display: none; }
  .studio-editor-paper__heading,
  .studio-panel-heading { gap: .25rem; }
  .studio-editor-paper__heading h1 { font-size: clamp(2.1rem, 10vw, 3rem); }
  .studio-panel-heading h2 { font-size: clamp(1.65rem, 8vw, 2.15rem); }
  .studio-panel-heading > span { font-size: .68rem; }
  .studio-main-field,
  .studio-sub-field { margin-top: .65rem; }
  .studio-main-field textarea[name="body"] { min-height: 12rem; }
  .studio-featured-date-card { grid-template-columns: auto 1fr; gap: .55rem; }
  .studio-featured-date-card input[type="date"] { grid-column: 1/-1; width: 100%; }
  .studio-mood-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-mood-choice span { min-height: 4.35rem; }
  .studio-special-tags { grid-template-columns: 1fr; }
  .studio-special-tags button small { font-size: .74rem; }
  .studio-keepsake-grid { grid-template-columns: 1fr; }
  .studio-meme-keepsake,
  .studio-song-keepsake { grid-column: auto; }
  .studio-meme-library { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-photo-upload-row,
  .studio-existing-photos,
  .studio-privacy-picker { grid-template-columns: 1fr; }
  .studio-privacy-picker span { min-height: 0; }
  .studio-editor-actions { position: static; gap: .45rem; padding: .65rem; }
  .studio-editor-actions > div { display: none; }
  .studio-editor-secondary { align-items: stretch; flex-direction: column; }
  .studio-editor-secondary form { width: 100%; margin-left: 0; }
  .studio-editor-secondary button,
  .studio-editor-secondary a { display: block; width: 100%; padding: .7rem; text-align: center; }

  .studio-filter-bar { grid-template-columns: 1fr 1fr; padding: .55rem; }
  .studio-filter-bar input[type="search"] { grid-column: 1/-1; }
  .studio-filter-bar .studio-card-action { min-height: 2.5rem; }
  .studio-post-card-grid { grid-template-columns: 1fr; gap: .5rem; }
  .studio-post-card__image { max-height: 15rem; }

  .public-jewel-page .journal-entry { padding-top: 1.1rem; padding-bottom: 2rem; }
  .public-jewel-page .journal-entry__back { margin-bottom: .8rem; }
  .public-jewel-page .journal-entry > article,
  .public-jewel-page .journal-entry-card { padding: .9rem; border-radius: 1rem; }
  .public-jewel-page .journal-entry__header h1 { font-size: clamp(2.35rem, 11vw, 3.6rem); }
  .public-jewel-page .journal-entry__meta { margin-top: .7rem; padding: .55rem 0; }
  .public-jewel-page .journal-entry__featured,
  .public-jewel-page .journal-entry__content,
  .public-jewel-page .journal-gallery,
  .public-jewel-page .journal-keepsake-card,
  .public-jewel-page .journal-song-card,
  .public-jewel-page .entry-quote { margin-top: 1rem; margin-bottom: 1rem; }
  .public-jewel-page .journal-entry__content p { font-size: 1.02rem; line-height: 1.62; }
}

/* =========================================================
   STUDIO EDITOR POLISH — familiar, compact, mobile-first
   ========================================================= */

/* Make the prompt feature feel intentionally special without taking over. */
.studio-writing-prompt {
  gap: .65rem 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(117,87,141,.12);
  box-shadow: 0 8px 22px rgba(85,63,91,.06);
}
.studio-writing-prompt span {
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .085em;
}
.studio-writing-prompt button {
  padding: .18rem .35rem;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  font-size: 1.05rem;
}
.studio-writing-prompt button:hover,
.studio-writing-prompt button:focus-visible {
  background: #fff;
  transform: translateY(-1px);
}
.studio-writing-prompt p { font-size: .9rem; }

/* Mood buttons should read like moods before Rachel even reads the words. */
.studio-mood-choice span {
  border-width: 1.5px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
.studio-mood-choice:hover span,
.studio-mood-choice:focus-within span {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 12px 24px rgba(65,48,63,.12);
  filter: saturate(1.07);
}
.studio-mood-choice.mood-soft span { background: linear-gradient(145deg,#f3eff8,#e8eff6); border-color:#d8cbe5; }
.studio-mood-choice.mood-happy span { background: linear-gradient(145deg,#fff7c9,#ffe6aa); border-color:#efd483; }
.studio-mood-choice.mood-heavy span { background: linear-gradient(145deg,#e7e9ee,#cfd6df); border-color:#b8c0cc; }
.studio-mood-choice.mood-restless span { background: linear-gradient(145deg,#ffe2da,#f7c4c7); border-color:#e7aeb5; }
.studio-mood-choice.mood-hopeful span { background: linear-gradient(145deg,#e7f5e8,#d7ece3); border-color:#b5d7c2; }
.studio-mood-choice.mood-cozy span { background: linear-gradient(145deg,#faead9,#f4d9c4); border-color:#e6c2a8; }
.studio-mood-choice.mood-proud span { background: linear-gradient(145deg,#f9dfeb,#efc7dc); border-color:#dfa9c3; }
.studio-mood-choice.mood-tired span { background: linear-gradient(145deg,#e7e5f2,#d7d7e9); border-color:#bbb9d4; }
.studio-mood-choice.mood-grateful span { background: linear-gradient(145deg,#fbe8ed,#f4d7df); border-color:#e4b6c4; }
.studio-mood-choice.mood-messy span { background: linear-gradient(145deg,#e9efdf,#dce5d3); border-color:#bdcdb1; }
.studio-mood-choice input:checked + span {
  border-color: #5d426e;
  box-shadow: 0 0 0 3px rgba(93,66,110,.16), 0 12px 26px rgba(65,48,63,.12);
  transform: translateY(-4px) rotate(-.5deg);
}
.studio-mood-choice input:checked + span strong { font-weight: 700; }

/* Hashtags: visually familiar and self-explanatory. */
.studio-panel-helper {
  max-width: 38rem;
  margin: .4rem 0 0;
  color: var(--ink-soft);
  font-size: .82rem;
  line-height: 1.45;
}
.studio-special-tags button strong { color: var(--violet-deep); }
.studio-special-tags button small {
  font-style: italic;
  line-height: 1.45;
}
.studio-special-tags button:hover,
.studio-tag-suggestions button:hover,
.studio-tag-suggestions button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(85,63,91,.09);
}
.studio-hashtag-field small {
  color: var(--ink-soft);
  font-family: "DM Sans",sans-serif;
  font-size: .78rem;
  font-style: italic;
  text-transform: none;
}
.studio-hashtag-field input {
  border-color: rgba(117,87,141,.24);
  background: #fff;
}
.studio-tag-suggestions button {
  background: #fff;
  font-weight: 600;
  transition: .18s ease;
}

/* Meme library is now its own swipeable gallery instead of being nested in a tall card. */
.studio-meme-gallery-wrap {
  margin: .75rem 0 .8rem;
  padding: .75rem;
  border: 1px solid rgba(117,87,141,.13);
  border-radius: 1rem;
  background: rgba(255,255,255,.5);
}
.studio-meme-gallery-heading {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  margin-bottom: .55rem;
}
.studio-meme-gallery-heading > div { display:flex; gap:.45rem; align-items:center; }
.studio-meme-gallery-heading strong { font: 600 1.15rem/1.1 "Fraunces",serif; }
.studio-meme-gallery-heading small { color: var(--ink-soft); font-size: .72rem; font-style: italic; }
.studio-meme-library--rail {
  display: flex;
  grid-template-columns: none;
  gap: .5rem;
  margin: 0;
  padding: .15rem .05rem .45rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.studio-meme-library--rail .studio-meme-library__choice {
  flex: 0 0 clamp(6.6rem, 13vw, 8.6rem);
  scroll-snap-align: start;
}
.studio-meme-library--rail .studio-meme-library__choice span {
  height: 100%;
  background: #fff;
}
.studio-meme-library--rail .studio-meme-library__choice img { aspect-ratio: 1; }
.studio-meme-library--rail .studio-meme-library__choice:hover span,
.studio-meme-library--rail .studio-meme-library__choice:focus-within span {
  transform: translateY(-3px);
  border-color: rgba(117,87,141,.42);
  box-shadow: 0 9px 18px rgba(70,50,72,.11);
}
.studio-meme-library--rail .studio-meme-library__choice input:checked + span {
  border-color: var(--violet-deep);
  box-shadow: 0 0 0 3px rgba(117,87,141,.13), 0 9px 20px rgba(70,50,72,.12);
}

/* Keep the optional little-things cards in one clean tray. */
.studio-keepsake-grid--tray {
  grid-template-columns: repeat(3,minmax(0,1fr));
  align-items: stretch;
}
.studio-keepsake-grid--tray article { min-width: 0; }
.studio-keepsake-grid--tray .studio-meme-preview {
  max-height: 8rem;
  object-fit: contain;
  background: rgba(255,255,255,.7);
}
.studio-meme-upload {
  display: grid;
  gap: .35rem;
  margin-top: .55rem;
  color: var(--ink-soft);
  font-size: .76rem;
}

/* Make the final choice obvious: save quietly, or move toward publishing. */
.studio-editor-actions .button-soft { background:#f7eff8; color:#4f375f; border-color:rgba(117,87,141,.26); }
.studio-editor-actions .button-primary { box-shadow:0 7px 18px rgba(28,13,35,.22); }

@media (max-width: 720px) {
  .studio-writing-prompt { padding: .82rem .85rem; }
  .studio-writing-prompt span { font-size: .68rem; }
  .studio-writing-prompt button { font-size: 1rem; }

  .studio-mood-picker { grid-template-columns: repeat(2,minmax(0,1fr)); gap:.48rem; }
  .studio-mood-choice span { min-height: 4.75rem; }

  .studio-special-tags { grid-template-columns: 1fr 1fr; }
  .studio-special-tags button { grid-template-columns: auto minmax(0,1fr); padding:.62rem; }
  .studio-special-tags button > span { width:2rem; }
  .studio-special-tags button strong { font-size:.88rem; }
  .studio-special-tags button small { grid-column:1/-1; padding-top:.2rem; font-size:.7rem; }

  .studio-meme-gallery-wrap { margin-top:.55rem; padding:.65rem; }
  .studio-meme-gallery-heading { align-items:flex-start; flex-direction:column; gap:.18rem; }
  .studio-meme-library--rail { display:flex; grid-template-columns:none; }
  .studio-meme-library--rail .studio-meme-library__choice { flex-basis: 7.1rem; }

  /* On phones, keepsakes swipe sideways instead of becoming one very long stack. */
  .studio-keepsake-grid--tray {
    display: flex;
    gap: .55rem;
    overflow-x: auto;
    padding-bottom: .45rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .studio-keepsake-grid--tray article {
    flex: 0 0 min(82vw, 20rem);
    scroll-snap-align: start;
  }
  .studio-keepsake-grid--tray .studio-song-keepsake { grid-column:auto; }
}

@media (max-width: 430px) {
  .studio-special-tags { grid-template-columns: 1fr; }
  .studio-keepsake-grid--tray article { flex-basis: 86vw; }
}

/* =========================================================
   AUGUST 2026 — WITCHIER / SULTRIER PUBLIC PASS
   Darker plum, a little moonlight, clearer hero photographs,
   and enough breathing room that the rotating saying stays visible.
   ========================================================= */
html[data-theme="dark"] .public-jewel-page {
  --j-night: #110914;
  --j-night-2: #1b0d20;
  --j-plum: #2b1431;
  --j-plum-soft: #3a1a42;
  --j-card: rgba(43, 22, 49, .86);
  --j-card-solid: #29152f;
  --j-orchid: #c591d0;
  --j-rose: #dc8fb0;
  --j-teal-bright: #77b4ac;
  background:
    radial-gradient(circle at 10% 5%, rgba(176, 68, 124, .23), transparent 27rem),
    radial-gradient(circle at 88% 19%, rgba(80, 150, 140, .16), transparent 30rem),
    radial-gradient(circle at 48% 72%, rgba(128, 70, 158, .18), transparent 38rem),
    linear-gradient(160deg, #120914 0%, #211024 49%, #10191d 135%);
}

html[data-theme="dark"] .public-jewel-page .site-header {
  border-color: rgba(235, 205, 238, .11);
  background: linear-gradient(180deg, rgba(17,9,20,.82), rgba(17,9,20,.48));
  backdrop-filter: blur(14px);
}
html[data-theme="dark"] .public-jewel-page .button-primary {
  color: #1b0d1d;
  background: linear-gradient(135deg, #e1a2bc, #bd6f9c 58%, #8e62aa);
  box-shadow: 3px 4px 0 rgba(81,151,143,.42), 0 10px 30px rgba(0,0,0,.2);
}
html[data-theme="dark"] .public-jewel-page .button-primary:hover {
  filter: brightness(1.06) saturate(1.06);
}

/* Tiny occult marks rather than a costume-shop theme. */
.public-jewel-page .section-heading::after {
  content: "☾  ✦";
  display: inline-block;
  margin-left: .65rem;
  color: rgba(219, 151, 184, .62);
  font: 500 .72rem/1 "DM Mono", monospace;
  letter-spacing: .22em;
  vertical-align: middle;
}

/* Clearer, more separated hero stack. */
.home-page .hero-collage--editorial {
  min-height: clamp(31rem, 43vw, 35rem);
}
.home-page .editorial-photo--one {
  width: 56%;
  height: 28.5rem;
  left: 0;
  top: 2.3rem;
  transform: rotate(-2.4deg);
}
.home-page .editorial-photo--three {
  width: 36%;
  height: 13.5rem;
  right: 1%;
  top: .2rem;
  transform: rotate(1.2deg);
}
.home-page .editorial-photo--two {
  width: 44%;
  height: 20.5rem;
  right: 5%;
  bottom: .7rem;
  transform: rotate(2deg);
}
.home-page .editorial-photo {
  box-shadow: 0 26px 70px rgba(0,0,0,.42), 0 0 0 1px rgba(228,183,220,.04);
}
.home-page .editorial-photo:hover {
  z-index: 12;
}

/* A drawn crystal ball instead of another stock icon. */
.hero-crystal-ball {
  position: absolute;
  z-index: 11;
  right: 42%;
  bottom: 5.5%;
  width: 4.2rem;
  height: 5.1rem;
  pointer-events: none;
  filter: drop-shadow(0 14px 22px rgba(0,0,0,.4));
  animation: rtcCrystalFloat 6.8s ease-in-out infinite;
}
.hero-crystal-ball::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 50%;
  width: 3.65rem;
  aspect-ratio: 1;
  translate: -50% 0;
  border: 1px solid rgba(239,213,244,.42);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.62) 0 .22rem, transparent .26rem),
    radial-gradient(circle at 59% 58%, rgba(212,130,209,.35), transparent 1rem),
    radial-gradient(circle at 42% 38%, rgba(119,180,172,.26), transparent 1.4rem),
    linear-gradient(145deg, rgba(190,133,208,.52), rgba(70,31,88,.72));
  box-shadow: inset -10px -12px 22px rgba(25,8,31,.35), inset 7px 7px 18px rgba(255,255,255,.1), 0 0 24px rgba(186,108,194,.18);
  backdrop-filter: blur(3px);
}
.hero-crystal-ball::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .1rem;
  width: 2.7rem;
  height: .72rem;
  translate: -50% 0;
  border-radius: 50% 50% .3rem .3rem;
  background: linear-gradient(180deg, #aa7d6d, #5b3541 55%, #2b1726);
  box-shadow: 0 .45rem 0 -.15rem rgba(181,126,102,.6);
}
.hero-crystal-ball span {
  position: absolute;
  z-index: 2;
  top: 1.05rem;
  left: 50%;
  translate: -50% 0;
  color: rgba(255,233,249,.88);
  font-size: .9rem;
  text-shadow: 0 0 12px rgba(255,224,247,.7);
}
.hero-moon-mark {
  position: absolute;
  z-index: 10;
  right: 1%;
  top: 45%;
  color: rgba(236,195,218,.72);
  font: 500 2.1rem/1 Georgia, serif;
  text-shadow: 0 0 24px rgba(226,138,190,.35);
  transform: rotate(-14deg);
  pointer-events: none;
}
@keyframes rtcCrystalFloat {
  50% { transform: translateY(-7px) rotate(1deg); }
}

/* The rotating line owns its own row. Nothing below is allowed to climb into it. */
.home-page .hero-section--editorial > .hero-handnote--below-collage {
  margin-top: .45rem;
  margin-bottom: .55rem;
  padding-top: .25rem;
  padding-bottom: .2rem;
}
.home-page .home-moodboard,
.home-page .home-moodboard--high {
  margin-top: .75rem !important;
}

/* Optional Spotify soundtrack, only rendered when Admin has supplied a link. */
.home-soundtrack {
  width: min(calc(100% - 2rem), var(--max));
  margin: 0 auto 1.8rem;
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(360px,1.28fr);
  gap: 1rem;
  align-items: center;
  padding: clamp(1rem,2.2vw,1.5rem);
  border: 1px solid var(--j-line);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 12% 20%, rgba(190,101,151,.16), transparent 16rem),
    linear-gradient(135deg, rgba(42,20,48,.88), rgba(24,38,41,.8));
  box-shadow: 0 22px 58px rgba(0,0,0,.2);
}
.home-soundtrack h2 {
  margin: .2rem 0 .45rem;
  font-size: clamp(1.8rem,3vw,2.8rem);
}
.home-soundtrack__copy > p:last-child {
  margin: 0;
  color: var(--j-muted);
  font-size: .9rem;
  line-height: 1.45;
}
.home-soundtrack__player {
  overflow: hidden;
  border-radius: 1rem;
  background: rgba(8,6,10,.45);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
}
.home-soundtrack__player iframe { display:block; border:0; }

@media (max-width: 900px) {
  .home-page .hero-section--editorial > .hero-handnote--below-collage {
    margin-top: .6rem;
    margin-bottom: .25rem;
  }
  .hero-crystal-ball { right: 8%; bottom: 3%; }
  .home-soundtrack { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  /* On Rachel's phone the photographs become a clean little triptych instead of a pile. */
  .home-page .hero-collage--editorial {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr);
    grid-template-rows: 10.75rem 11.75rem;
    gap: .6rem;
    min-height: 0;
    width: 100%;
    margin-top: .25rem;
  }
  .home-page .hero-collage--editorial .editorial-photo {
    position: relative;
    inset: auto;
    width: auto;
    height: auto;
    transform: none;
    border-radius: .8rem;
  }
  .home-page .editorial-photo--one { grid-column: 1; grid-row: 1 / 3; transform: rotate(-1deg); }
  .home-page .editorial-photo--three { grid-column: 2; grid-row: 1; transform: rotate(1deg); }
  .home-page .editorial-photo--two { grid-column: 2; grid-row: 2; transform: rotate(.4deg); }
  .home-page .editorial-photo figcaption {
    left: .45rem;
    right: auto;
    bottom: .45rem;
    max-width: calc(100% - .9rem);
    padding: .28rem .4rem;
    font-size: .48rem;
  }
  .home-page .hero-section--editorial > .hero-handnote--below-collage {
    width: 100%;
    max-width: none;
    margin: .7rem 0 .2rem;
    padding: .25rem .4rem .2rem;
    text-align: center;
  }
  .home-page .home-moodboard,
  .home-page .home-moodboard--high {
    margin-top: .85rem !important;
  }
  .hero-crystal-ball {
    right: auto;
    left: 51%;
    bottom: -1rem;
    width: 3.5rem;
    height: 4.2rem;
    transform: scale(.82);
  }
  .hero-moon-mark { right: -1%; top: 42%; font-size: 1.55rem; }
  .home-soundtrack {
    width: min(calc(100% - 1rem), var(--max));
    margin-bottom: 1.2rem;
    padding: .8rem;
    border-radius: 1rem;
  }
  .home-soundtrack__copy > p:last-child { font-size: .82rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-crystal-ball { animation: none; }
}


/* =========================================================
   MIDNIGHT WITCH POLISH — AUGUST 2026
   Less "cute magic," more velvet / smoke / old perfume.
   Decorative only: no extra navigation or content weight.
   ========================================================= */

/* Sink the public palette another shade into plum-black. */
.public-jewel-page {
  --j-night: #09060f;
  --j-night-2: #120918;
  --j-plum: #1d0d26;
  --j-plum-soft: #31143c;
  --j-violet: #805092;
  --j-orchid: #c08ac5;
  --j-berry: #a73f69;
  --j-rose: #d97eaa;
  --j-teal: #386f70;
  --j-teal-bright: #6aa8a4;
  --j-sage: #829c86;
  --j-gold: #b99662;
  --j-text: #f8eef7;
  --j-muted: #c8b7c7;
  --j-faint: #998699;
  --j-line: rgba(238, 214, 236, .12);
  --j-card: rgba(30, 13, 39, .78);
  --j-card-solid: #1d0d26;
  background:
    radial-gradient(circle at 12% 8%, rgba(138, 44, 86, .22), transparent 27rem),
    radial-gradient(circle at 88% 19%, rgba(53, 112, 112, .14), transparent 30rem),
    radial-gradient(circle at 48% 72%, rgba(97, 50, 112, .18), transparent 38rem),
    linear-gradient(160deg, #08050d 0%, #140919 49%, #0a1115 140%);
}

.public-jewel-page::before {
  opacity: .20;
  background-image:
    radial-gradient(circle at 20% 22%, rgba(255,255,255,.11) 0 1px, transparent 1.5px),
    radial-gradient(circle at 71% 13%, rgba(226,182,217,.09) 0 1px, transparent 1.5px),
    radial-gradient(circle at 82% 66%, rgba(255,255,255,.07) 0 1px, transparent 1.5px),
    linear-gradient(rgba(242,228,247,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242,228,247,.014) 1px, transparent 1px);
  background-size: 180px 180px, 240px 240px, 210px 210px, 34px 34px, 34px 34px;
}

/* Smoke-glass header, still small and practical on mobile. */
.public-jewel-page .site-header {
  border-color: rgba(235,207,232,.10);
  background: linear-gradient(180deg, rgba(8,5,13,.72), rgba(8,5,13,.16));
  backdrop-filter: blur(12px);
}
.public-jewel-page .site-nav a:hover,
.public-jewel-page .site-nav a[aria-current="page"] {
  background: rgba(142,78,153,.15);
  box-shadow: inset 0 0 0 1px rgba(229,181,217,.08), 0 0 22px rgba(133,57,111,.08);
}

/* A very fine celestial rule: visual punctuation, not another content block. */
.public-jewel-page .section-heading,
.public-jewel-page .journal-archive__intro,
.public-jewel-page .shop-page-intro {
  position: relative;
}
.public-jewel-page .section-heading::after {
  content: "✦  ·  ☾  ·  ✦";
  position: absolute;
  right: 0;
  bottom: -.9rem;
  color: rgba(205,151,194,.46);
  font: 500 .58rem/1 "DM Mono", monospace;
  letter-spacing: .18em;
  pointer-events: none;
}

/* Hero photographs feel like little tarot / cabinet cards without becoming costume-y. */
.home-page .editorial-photo {
  border-color: rgba(225,191,219,.18);
  background: #100815;
  box-shadow: 0 28px 78px rgba(0,0,0,.46), 0 0 0 1px rgba(123,66,117,.06);
}
.home-page .editorial-photo::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: .38rem;
  border: 1px solid rgba(231,202,224,.11);
  border-radius: .48rem;
  pointer-events: none;
}
.home-page .editorial-photo__link::after {
  content: "✦";
  position: absolute;
  z-index: 4;
  right: .7rem;
  top: .55rem;
  color: rgba(250,229,245,.58);
  font-size: .72rem;
  text-shadow: 0 0 14px rgba(223,145,200,.42);
  transition: transform .35s ease, color .35s ease;
}
.home-page .editorial-photo:hover .editorial-photo__link::after {
  color: rgba(255,239,250,.92);
  transform: rotate(18deg) scale(1.15);
}
.home-page .editorial-photo img {
  filter: saturate(.83) contrast(1.045) brightness(.82) sepia(.035);
}
.home-page .editorial-photo:hover img {
  filter: saturate(.98) contrast(1.04) brightness(.93);
}
.home-page .hero-editorial-line {
  border-top-color: rgba(199,120,173,.28);
  border-right-color: rgba(95,160,153,.13);
}
.home-page .hero-orbit--violet {
  background: radial-gradient(circle at 35% 30%, #a96daf, #51245f 64%, #210d2a);
  box-shadow: inset 0 0 18px rgba(255,231,250,.08), 0 18px 44px rgba(0,0,0,.34);
}
.home-page .hero-orbit--teal {
  color: #e8eeee;
  background: radial-gradient(circle at 35% 30%, #4e8582, #234b4b 65%, #102323);
  box-shadow: inset 0 0 18px rgba(222,255,250,.06), 0 18px 44px rgba(0,0,0,.32);
}
.home-page .hero-crystal-ball {
  filter: saturate(.82) brightness(.88);
  opacity: .92;
}
.home-page .hero-handnote--below-collage {
  color: #df9fbd;
  text-shadow: 0 0 22px rgba(165,71,127,.18);
}

/* Smoky glass rather than solid chunky blocks. */
.public-jewel-page .current-life-strip,
.public-jewel-page .home-soundtrack,
.public-jewel-page .home-keepsake-link,
.public-jewel-page .home-shop-spotlight,
.public-jewel-page .latest-entry__card--jewel,
.public-jewel-page .journal-editorial-card,
.public-jewel-page .archive-card--editorial,
.public-jewel-page .shop-product-card--editorial,
.public-jewel-page .shop-product-detail__copy {
  backdrop-filter: blur(14px) saturate(.9);
}
.public-jewel-page .current-life-strip {
  background:
    radial-gradient(circle at 12% 15%, rgba(142,54,104,.13), transparent 15rem),
    linear-gradient(118deg, rgba(31,13,40,.86), rgba(13,30,31,.72));
  box-shadow: 0 26px 72px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.025);
}
.public-jewel-page .current-life-strip strong {
  text-shadow: 0 2px 18px rgba(0,0,0,.28);
}
.public-jewel-page .home-soundtrack {
  background:
    radial-gradient(circle at 12% 20%, rgba(161,58,111,.13), transparent 16rem),
    linear-gradient(135deg, rgba(28,11,36,.85), rgba(10,26,28,.76));
  box-shadow: 0 26px 72px rgba(0,0,0,.31), inset 0 1px 0 rgba(255,255,255,.025);
}
.public-jewel-page .latest-entry__card--jewel {
  background:
    radial-gradient(circle at 90% 12%,rgba(48,104,102,.10),transparent 18rem),
    radial-gradient(circle at 8% 82%,rgba(143,55,106,.09),transparent 18rem),
    linear-gradient(145deg,rgba(31,13,41,.95),rgba(20,13,27,.96));
}
.public-jewel-page .latest-entry__photo-wrap--dark {
  background: #130918;
  box-shadow: 0 24px 64px rgba(0,0,0,.52), 0 0 0 1px rgba(222,181,213,.06);
}

/* Shop: a small crystal-ball altar in the intro, deliberately decorative. */
.shop-crystal-note {
  min-height: 11.5rem;
  display: grid;
  grid-template-columns: 8.5rem minmax(0,1fr);
  gap: .9rem;
  align-items: center;
  padding: 1rem 1.2rem 1rem .85rem !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 14% 38%, rgba(174,93,157,.18), transparent 9rem),
    linear-gradient(145deg, rgba(34,13,44,.96), rgba(12,37,36,.88)) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.025) !important;
  transform: rotate(.6deg) !important;
}
.shop-crystal-note > p {
  margin: 0;
  max-width: 18rem;
  color: #ead9e8 !important;
  font-size: 1rem;
  line-height: 1.42;
}
.shop-crystal-altar {
  position: relative;
  width: 8rem;
  height: 9rem;
}
.shop-crystal-altar__ball {
  position: absolute;
  left: 50%;
  bottom: 1.35rem;
  width: 5.4rem;
  height: 5.4rem;
  translate: -50% 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(245,220,241,.24);
  border-radius: 50%;
  background:
    radial-gradient(circle at 33% 26%, rgba(255,255,255,.72) 0 .16rem, transparent .2rem),
    radial-gradient(circle at 57% 56%, rgba(208,116,185,.32), transparent 1.2rem),
    radial-gradient(circle at 40% 42%, rgba(79,151,145,.20), transparent 1.7rem),
    linear-gradient(145deg, rgba(139,72,151,.58), rgba(47,20,65,.88));
  box-shadow: inset -12px -13px 24px rgba(7,3,10,.48), inset 8px 8px 20px rgba(255,255,255,.06), 0 0 34px rgba(174,79,151,.16);
  animation: shopCrystalBreathe 5.5s ease-in-out infinite;
}
.shop-crystal-altar__ball::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1rem;
  width: 4rem;
  height: 1.1rem;
  translate: -50% 0;
  border-radius: 50% 50% .35rem .35rem;
  background: linear-gradient(180deg,#8c5f59,#472536 58%,#190d17);
  box-shadow: 0 .42rem 0 -.12rem rgba(181,126,102,.36);
}
.shop-crystal-altar__ball i {
  color: rgba(255,236,249,.84);
  font-style: normal;
  font-size: 1rem;
  text-shadow: 0 0 15px rgba(248,196,232,.72);
}
.shop-crystal-altar__moon {
  position: absolute;
  z-index: 2;
  left: .1rem;
  top: .15rem;
  color: rgba(221,171,204,.76);
  font: 500 1.65rem/1 Georgia, serif;
  transform: rotate(-14deg);
}
.shop-crystal-altar__star {
  position: absolute;
  color: rgba(242,220,236,.64);
  text-shadow: 0 0 12px rgba(228,158,208,.5);
}
.shop-crystal-altar__star--one { right: .25rem; top: 1.1rem; font-size: .8rem; }
.shop-crystal-altar__star--two { right: 1rem; top: 3.3rem; font-size: 1.2rem; }
@keyframes shopCrystalBreathe {
  50% { transform: translateY(-4px); box-shadow: inset -12px -13px 24px rgba(7,3,10,.48), inset 8px 8px 20px rgba(255,255,255,.07), 0 0 42px rgba(174,79,151,.22); }
}

/* Product cards get a tiny tarot-card inset line instead of extra clutter. */
.shop-product-card--editorial {
  position: relative;
  background:
    radial-gradient(circle at 86% 7%, rgba(111,54,104,.10), transparent 12rem),
    linear-gradient(150deg,rgba(29,12,38,.94),rgba(13,29,31,.88));
  box-shadow: 0 26px 72px rgba(0,0,0,.34);
}
.shop-product-card--editorial::after {
  content: "";
  position: absolute;
  inset: .42rem;
  border: 1px solid rgba(229,200,224,.065);
  border-radius: 1rem;
  pointer-events: none;
}
.shop-product-card--editorial:hover {
  border-color: rgba(218,139,190,.22);
  box-shadow: 0 34px 86px rgba(0,0,0,.43), 0 0 30px rgba(125,50,104,.06);
}
.shop-product-card--editorial .shop-price {
  color: #df96b7;
}
.shop-worktable--jewel .shop-worktable__paper--violet { background: linear-gradient(145deg,#35123f,#180b20); }
.shop-worktable--jewel .shop-worktable__paper--teal { background: linear-gradient(145deg,#1e4745,#102829); }
.shop-worktable--jewel .shop-worktable__paper--rose { background: linear-gradient(145deg,#4b1c36,#21101f); }

@media (max-width: 720px) {
  .public-jewel-page .section-heading::after {
    position: static;
    display: block;
    width: 100%;
    margin-top: .65rem;
  }
  .shop-crystal-note {
    min-height: 0;
    grid-template-columns: 6.2rem minmax(0,1fr);
    padding: .8rem !important;
  }
  .shop-crystal-altar {
    width: 5.8rem;
    height: 7.2rem;
    transform: scale(.82);
    transform-origin: left center;
  }
  .shop-crystal-note > p { font-size: .9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .shop-crystal-altar__ball { animation: none; }
}

/* =========================================================
   PRIVATE SHELVES — CLEAR, EVEN ACTION BUTTONS
   ========================================================= */
.studio-shelf-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
  width: 100%;
}

.studio-shelf-card__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  width: 100%;
  padding: .72rem .9rem;
  border-color: rgba(76,57,86,.20);
  background: rgba(255,255,255,.76);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .035em;
  text-align: center;
  white-space: nowrap;
}

.studio-shelf-card__actions a:only-child {
  grid-column: 1 / -1;
}

.studio-shelf-card__actions a:hover,
.studio-shelf-card__actions a:focus-visible {
  background: #fff;
  border-color: rgba(76,57,86,.34);
  box-shadow: 0 7px 18px rgba(45,25,52,.10);
}

@media (max-width: 720px) {
  .studio-shelf-card__actions {
    gap: .45rem;
  }

  .studio-shelf-card__actions a {
    min-height: 2.8rem;
    padding: .72rem .6rem;
    font-size: .7rem;
  }
}

/* =========================================================
   STUDIO MODE NAV — intentionally unlike the public site
   ========================================================= */
.studio-private-header {
  position: sticky;
  z-index: 80;
  top: .65rem;
  width: min(calc(100% - 1.25rem), 1210px);
  grid-template-columns: auto auto;
  grid-template-areas:
    "identity utility"
    "nav account";
  gap: .7rem 1rem;
  margin-top: .65rem;
  padding: .72rem .8rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1.05rem;
  background: rgba(20, 15, 24, .94);
  box-shadow: 0 16px 46px rgba(5, 3, 8, .34), inset 0 1px rgba(255,255,255,.04);
  backdrop-filter: blur(18px);
}

.studio-mode-identity {
  grid-area: identity;
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 0;
}

.studio-private-logo {
  flex: 0 0 auto;
  color: #fff7fb;
  font-size: clamp(1rem, 2vw, 1.35rem);
}

.studio-mode-stamp {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: .38rem;
  row-gap: .12rem;
  min-width: 0;
  padding-left: .8rem;
  border-left: 1px solid rgba(255,255,255,.14);
  font-family: "DM Mono", monospace;
}

.studio-mode-dot {
  width: .52rem;
  height: .52rem;
  border-radius: 50%;
  background: #e7a2bc;
  box-shadow: 0 0 0 4px rgba(231,162,188,.11), 0 0 18px rgba(231,162,188,.28);
}

.studio-mode-stamp strong {
  color: #f4bfd3;
  font-size: .68rem;
  line-height: 1;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.studio-mode-stamp small {
  grid-column: 1 / -1;
  overflow: hidden;
  color: rgba(255,255,255,.48);
  font-size: .52rem;
  line-height: 1.15;
  letter-spacing: .05em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.studio-view-site {
  grid-area: utility;
  justify-self: end;
  align-self: center;
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: .62rem .82rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .65rem;
  background: #f5e8ee;
  color: #251b28;
  font: 700 .6rem/1 "DM Mono", monospace;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.studio-view-site:hover {
  background: #fff7fb;
  box-shadow: 0 8px 24px rgba(0,0,0,.2);
  transform: translateY(-1px);
}

.studio-private-nav {
  grid-area: nav;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: .35rem;
  min-width: 0;
  overflow-x: auto;
  padding-top: .68rem;
  border-top: 1px solid rgba(255,255,255,.08);
  scrollbar-width: none;
}

.studio-private-nav::-webkit-scrollbar { display: none; }

.studio-private-nav a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  min-height: 2.35rem;
  padding: .64rem .76rem;
  border: 1px solid transparent;
  border-radius: .58rem;
  background: rgba(255,255,255,.045);
  color: rgba(255,255,255,.66);
  font: 650 .59rem/1 "DM Mono", monospace;
  letter-spacing: .055em;
  text-transform: uppercase;
  transition: background .17s ease, color .17s ease, border-color .17s ease, transform .17s ease;
}

.studio-private-nav a span {
  color: #d7a8be;
  font-size: .84rem;
}

.studio-private-nav a:hover {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.09);
  color: #fff;
  transform: translateY(-1px);
}

.studio-private-nav a.is-active {
  border-color: rgba(244,191,211,.5);
  background: #dca1b8;
  color: #211720;
  box-shadow: 0 5px 18px rgba(0,0,0,.2);
}

.studio-private-nav a.is-active span { color: #4c2d3d; }

.studio-account-strip {
  grid-area: account;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .65rem;
  padding-top: .68rem;
  border-top: 1px solid rgba(255,255,255,.08);
}

.studio-user-badge {
  display: flex;
  align-items: center;
  gap: .42rem;
  justify-items: initial;
  color: rgba(255,255,255,.65);
  font: .6rem/1 "DM Mono", monospace;
}

.studio-user-badge span {
  padding: .34rem .48rem;
  border-color: rgba(229,167,192,.22);
  background: rgba(229,167,192,.10);
  color: #efbed1;
}

.studio-lock-link {
  padding-left: .65rem;
  border-left: 1px solid rgba(255,255,255,.1);
  color: rgba(255,255,255,.46);
  font: .54rem/1 "DM Mono", monospace;
  letter-spacing: .055em;
  text-decoration: none;
  text-transform: uppercase;
}

.studio-lock-link:hover { color: #fff; }

@media (max-width: 820px) {
  .studio-private-header {
    top: .35rem;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "identity utility"
      "nav nav";
    gap: .55rem;
    padding: .65rem;
  }

  .studio-account-strip { display: none; }
  .studio-private-nav { grid-column: auto; grid-row: auto; }
  .studio-mode-stamp small { max-width: 12rem; }
}

@media (max-width: 520px) {
  .studio-private-header {
    width: calc(100% - .7rem);
    margin-top: .35rem;
    border-radius: .85rem;
  }

  .studio-private-logo { font-size: 1rem; }
  .studio-mode-identity { gap: .55rem; }
  .studio-mode-stamp { padding-left: .55rem; }
  .studio-mode-stamp strong { font-size: .59rem; }
  .studio-mode-stamp small { max-width: 7.5rem; font-size: .45rem; }

  .studio-view-site {
    min-height: 2rem;
    padding: .55rem .62rem;
    font-size: .52rem;
  }

  .studio-private-nav {
    margin-inline: -.65rem;
    padding: .58rem .65rem 0;
  }

  .studio-private-nav a {
    min-height: 2.2rem;
    padding: .58rem .68rem;
    font-size: .55rem;
  }
}

/* Keep logout available on phones without crowding the desktop control bar. */
.studio-private-nav .studio-nav-lock { display: none; }
@media (max-width: 820px) {
  .studio-private-nav .studio-nav-lock { display: inline-flex; }
}


/* =========================================================
   STUDIO MOTION + TOUCH POLISH — AUGUST 2026
   Hover is a desktop bonus; touch gets press feedback and ambient motion.
   ========================================================= */

/* Make the exit action unmistakable instead of looking like tiny utility copy. */
.studio-lock-link {
  min-height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .68rem .92rem;
  border: 1px solid rgba(235,169,198,.28);
  border-radius: .62rem;
  background: linear-gradient(145deg, rgba(120,48,82,.78), rgba(72,29,57,.9));
  color: #fff4f9;
  font: 750 .61rem/1 "DM Mono", monospace;
  letter-spacing: .065em;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: 0 8px 22px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.studio-lock-link:hover {
  border-color: rgba(255,210,229,.48);
  background: linear-gradient(145deg, rgba(145,58,96,.9), rgba(84,31,65,.96));
  color: #fff;
  box-shadow: 0 11px 28px rgba(0,0,0,.26), 0 0 24px rgba(185,83,134,.12);
  transform: translateY(-1px);
}

/* Studio mode should feel quietly alive even when nothing is being hovered. */
.studio-mode-dot {
  animation: rtcStudioModePulse 2.8s ease-in-out infinite;
}

.studio-night-glow--a {
  animation: rtcStudioGlowA 11s ease-in-out infinite alternate;
}

.studio-night-glow--b {
  animation: rtcStudioGlowB 13s ease-in-out infinite alternate;
}

@keyframes rtcStudioModePulse {
  0%, 100% { transform: scale(.92); opacity: .78; box-shadow: 0 0 0 3px rgba(231,162,188,.08), 0 0 12px rgba(231,162,188,.18); }
  50% { transform: scale(1.08); opacity: 1; box-shadow: 0 0 0 6px rgba(231,162,188,.10), 0 0 25px rgba(231,162,188,.36); }
}

@keyframes rtcStudioGlowA {
  from { transform: translate3d(-1.2rem, .2rem, 0) scale(.96); opacity: .16; }
  to { transform: translate3d(1rem, -1.4rem, 0) scale(1.08); opacity: .27; }
}

@keyframes rtcStudioGlowB {
  from { transform: translate3d(.8rem, .8rem, 0) scale(1.03); opacity: .14; }
  to { transform: translate3d(-1.1rem, -1rem, 0) scale(.94); opacity: .25; }
}

/* A little life in the public celestial details without creating visual noise. */
.hero-moon-mark,
.public-jewel-page .section-heading::after,
.shop-crystal-altar__moon,
.shop-crystal-altar__star {
  animation: rtcCelestialDrift 6.5s ease-in-out infinite;
}

.shop-crystal-altar__star--two { animation-delay: -2.1s; }
.public-jewel-page .section-heading::after { animation-duration: 8.5s; }

@keyframes rtcCelestialDrift {
  0%, 100% { opacity: .56; }
  50% { opacity: .92; text-shadow: 0 0 18px rgba(228,158,208,.48); }
}

/* Mouse/trackpad: hover can be playful because the pointer truly hovers. */
@media (hover: hover) and (pointer: fine) {
  .studio-private-nav a:hover,
  .studio-view-site:hover,
  .studio-lock-link:hover,
  .btn:hover,
  button:hover {
    transform: translateY(-2px);
  }
}

/* Phone/tablet: there is no dependable hover, so give taps an immediate response. */
@media (hover: none), (pointer: coarse) {
  .studio-private-nav a,
  .studio-view-site,
  .studio-lock-link,
  .btn,
  button,
  .tag-chip,
  .mood-choice,
  .editorial-photo__link,
  .shop-product-card--editorial a {
    -webkit-tap-highlight-color: transparent;
  }

  .studio-private-nav a:active,
  .studio-view-site:active,
  .studio-lock-link:active,
  .btn:active,
  button:active,
  .tag-chip:active,
  .mood-choice:active,
  .editorial-photo__link:active,
  .shop-product-card--editorial a:active {
    transform: scale(.97);
    filter: brightness(1.08);
    transition-duration: .08s;
  }

  /* Make Lock Studio a deliberate, thumb-friendly action on phones. */
  .studio-private-nav .studio-nav-lock {
    min-height: 2.8rem;
    padding: .76rem 1rem;
    border-color: rgba(235,169,198,.34);
    background: linear-gradient(145deg, rgba(118,45,82,.82), rgba(66,25,53,.94));
    color: #fff4f9;
    font-size: .62rem;
    font-weight: 800;
  }

  .studio-private-nav .studio-nav-lock span { color: #ffd8e8; }
}

@media (max-width: 520px) {
  .studio-private-nav .studio-nav-lock {
    min-width: 8.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .studio-mode-dot,
  .studio-night-glow--a,
  .studio-night-glow--b,
  .hero-moon-mark,
  .public-jewel-page .section-heading::after,
  .shop-crystal-altar__moon,
  .shop-crystal-altar__star {
    animation: none !important;
  }
}

/* =========================================================
   STUDIO BASURA — stay where you are, then offer the trash
   ========================================================= */

.studio-basura-shortcut {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .9rem;
  width: 100%;
  margin: .85rem 0 1.4rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(236, 173, 202, .18);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(66, 23, 52, .94), rgba(35, 16, 42, .97));
  box-shadow: 0 12px 34px rgba(10, 5, 18, .2), inset 0 1px 0 rgba(255,255,255,.04);
  color: #fff5fa;
  text-decoration: none;
}

.studio-basura-shortcut__icon {
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: .8rem;
  background: rgba(164, 71, 111, .28);
  font-size: 1.35rem;
}

.studio-basura-shortcut__copy {
  display: grid;
  gap: .08rem;
  min-width: 0;
}

.studio-basura-shortcut__copy small {
  color: #efb5cf;
  font: 800 .65rem/1.1 "DM Mono", monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.studio-basura-shortcut__copy strong {
  color: #fff;
  font-size: .98rem;
}

.studio-basura-shortcut__copy > span {
  color: rgba(255, 238, 247, .72);
  font-size: .78rem;
  line-height: 1.35;
}

.studio-basura-shortcut > b {
  color: #ffd2e5;
  font-size: .78rem;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) {
  .studio-basura-shortcut:hover {
    transform: translateY(-2px);
    border-color: rgba(244, 183, 211, .34);
    box-shadow: 0 16px 40px rgba(10, 5, 18, .3), 0 0 26px rgba(180, 76, 126, .09);
  }
}

.studio-basura-dialog {
  width: min(92vw, 27rem);
  padding: 1.35rem;
  border: 1px solid rgba(239, 177, 207, .3);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 92% 0%, rgba(186, 82, 133, .18), transparent 12rem),
    linear-gradient(150deg, #291626, #1c1325 70%);
  color: #fff4fa;
  box-shadow: 0 28px 90px rgba(7, 3, 12, .62), inset 0 1px 0 rgba(255,255,255,.05);
}

.studio-basura-dialog::backdrop {
  background: rgba(10, 5, 15, .68);
  backdrop-filter: blur(5px);
}

.studio-basura-dialog__spark {
  float: right;
  color: #eeb1cf;
  font-size: 1.25rem;
  animation: rtcCelestialDrift 4.8s ease-in-out infinite;
}

.studio-basura-dialog .eyebrow {
  margin: 0 0 .35rem;
  color: #efb4cf;
}

.studio-basura-dialog h2 {
  margin: 0 0 .55rem;
  color: #fff;
  font-size: clamp(1.35rem, 5vw, 1.75rem);
}

.studio-basura-dialog p:not(.eyebrow) {
  margin: 0;
  color: rgba(255, 238, 247, .78);
  line-height: 1.55;
}

.studio-basura-dialog__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
  margin-top: 1.1rem;
}

.studio-basura-dialog__actions .button {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.studio-post-card.is-going-to-basura {
  opacity: 0;
  transform: scale(.96) translateY(8px);
  transition: opacity .26s ease, transform .26s ease;
}

.studio-editor-page form[data-journal-form].is-in-basura {
  opacity: .56;
  filter: saturate(.55);
  pointer-events: none;
}

.studio-basura-inline-note {
  margin: .7rem 0 1rem;
}

@media (max-width: 560px) {
  .studio-basura-shortcut {
    grid-template-columns: auto minmax(0, 1fr);
    gap: .72rem;
    padding: .82rem;
  }

  .studio-basura-shortcut > b {
    grid-column: 2;
    justify-self: start;
  }

  .studio-basura-dialog__actions {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   SOFT VIEW TRANSITIONS — public + Studio
   ========================================================= */

/* Chrome/Edge can blend full PHP navigations natively. Other
   browsers fall back to the tiny plum veil driven by script.js. */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: rtcViewOld 180ms ease both;
}

::view-transition-new(root) {
  animation: rtcViewNew 300ms cubic-bezier(.2,.72,.2,1) both;
}

@keyframes rtcViewOld {
  to { opacity: 0; filter: blur(2px); }
}

@keyframes rtcViewNew {
  from { opacity: 0; filter: blur(3px); }
  to { opacity: 1; filter: blur(0); }
}

/* A very short velvet/plum veil makes classic full-page PHP
   navigation feel intentional instead of flashing between views. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 9998;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  background:
    radial-gradient(circle at 72% 24%, rgba(161, 90, 142, .16), transparent 31rem),
    radial-gradient(circle at 24% 78%, rgba(85, 132, 126, .10), transparent 28rem),
    rgba(25, 11, 31, .92);
  backdrop-filter: blur(0);
  transition:
    opacity 150ms ease,
    visibility 150ms ease,
    backdrop-filter 180ms ease;
}

body.rtc-view-leaving::after {
  opacity: 1;
  visibility: visible;
  backdrop-filter: blur(3px);
}

/* Crossing between Rachel's live site and Studio gets a slightly
   deeper "through the curtain" moment, but still stays fast. */
body.rtc-view-leaving--portal::after {
  background:
    radial-gradient(circle at 50% 44%, rgba(164, 91, 151, .22), transparent 24rem),
    linear-gradient(145deg, rgba(42, 19, 51, .98), rgba(21, 12, 28, .98));
  transition-duration: 230ms;
}

body.rtc-view-leaving > main,
body.rtc-view-leaving > .site-header,
body.rtc-view-leaving > .studio-private-header {
  opacity: .88;
  filter: blur(1.5px);
  translate: 0 -2px;
  transition:
    opacity 150ms ease,
    filter 150ms ease,
    translate 150ms ease;
}

/* When the loader gives way, the new view settles in rather than
   snapping from covered -> fully present. */
body > main {
  transition: opacity 360ms ease, filter 420ms ease;
}

body:not(.rtc-view-ready) > main {
  opacity: .94;
  filter: blur(1px);
}

body.rtc-view-ready > main {
  opacity: 1;
  filter: blur(0);
}

.loader {
  transform: scale(1);
  will-change: opacity, filter, transform;
  transition:
    opacity 700ms cubic-bezier(.2,.72,.2,1),
    visibility 700ms ease,
    filter 700ms ease,
    transform 700ms cubic-bezier(.2,.72,.2,1);
}

.loader.is-hidden {
  transform: scale(1.018);
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }

  body::after,
  body > main,
  body.rtc-view-leaving > main,
  body.rtc-view-leaving > .site-header,
  body.rtc-view-leaving > .studio-private-header,
  .loader,
  .loader.is-hidden {
    transition: none !important;
    transform: none !important;
    translate: none !important;
    filter: none !important;
  }
}


/* =========================================================
   STUDIO CLARITY PASS — CLOCK, CLEARER TABS, EVEN TAGS
   ========================================================= */

/* The sticky Studio bar keeps Pacific time visible without pretending PST
   applies during daylight saving time; the abbreviation switches PDT/PST. */
.studio-clock-chip {
  flex: 0 0 auto;
  display: grid;
  gap: .13rem;
  min-width: 6.9rem;
  padding: .5rem .62rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: .68rem;
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px rgba(255,255,255,.035);
  color: #fff7fb;
  font-family: "DM Mono", monospace;
}
.studio-clock-chip strong {
  font-size: .78rem;
  line-height: 1;
  letter-spacing: .035em;
}
.studio-clock-chip small {
  color: rgba(255,255,255,.50);
  font-size: .46rem;
  line-height: 1.15;
  letter-spacing: .055em;
  text-transform: uppercase;
}

/* The Journal shelf-tabs are clear glass instead of another heavy block. */
.studio-smart-shelves {
  padding: .55rem;
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.018);
  box-shadow: inset 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(12px);
}
.studio-smart-shelves a {
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.78);
}
.studio-smart-shelves a.is-active {
  border-color: rgba(244,191,211,.42);
  background: rgba(244,191,211,.13);
  box-shadow: 0 0 0 1px rgba(244,191,211,.04), inset 0 1px rgba(255,255,255,.08);
  color: #fff;
}
@media (hover:hover) and (pointer:fine) {
  .studio-smart-shelves a:hover {
    border-color: rgba(255,255,255,.20);
    background: rgba(255,255,255,.075);
  }
}

/* Keep the main Journal paper/panels airy and a touch more translucent. */
.studio-editor-page .studio-editor-paper,
.studio-editor-page .studio-editor-panel {
  border-color: rgba(255,255,255,.20);
  background: linear-gradient(155deg, rgba(255,253,249,.94), rgba(255,248,242,.90));
  backdrop-filter: blur(8px);
}
.studio-editor-page .studio-editor-panel--mood {
  background: linear-gradient(155deg, rgba(248,242,251,.92), rgba(255,250,245,.88));
}
.studio-editor-page .studio-keepsakes {
  background: linear-gradient(155deg, rgba(255,247,247,.90), rgba(248,244,252,.88));
}

/* Exactly eight suggestions: four across on roomy screens, two across on phones. */
.studio-tag-suggestions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: .5rem;
}
.studio-tag-suggestions button {
  min-height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: .55rem .6rem;
  text-align: center;
}

/* Home Studio clock: obvious enough to be useful, small enough not to become a widget wall. */
.studio-home-clock {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: .18rem .65rem;
  margin: .2rem 0 .8rem;
  padding: .65rem .8rem;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: .82rem;
  background: rgba(255,255,255,.045);
  box-shadow: inset 0 1px rgba(255,255,255,.035);
  font-family: "DM Mono", monospace;
}
.studio-home-clock > span {
  color: #efb8cf;
  font-size: .66rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.studio-home-clock strong {
  color: #fff;
  font-size: 1rem;
}
.studio-home-clock small {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.52);
  font-size: .55rem;
  letter-spacing: .045em;
  text-transform: uppercase;
}

/* OPEN BASURA should read like an action, not tiny helper copy. */
.studio-basura-shortcut > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.55rem;
  padding: .68rem .85rem;
  border: 1px solid rgba(255,210,229,.22);
  border-radius: .66rem;
  background: rgba(255,255,255,.07);
  color: #ffe0ec;
  font: 800 .78rem/1 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Animated Studio footer: one soft saying, the live Pacific clock, and a few stars. */
.studio-private-footer--alive {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto auto;
  align-items: center;
  gap: 1rem;
  min-height: 4.25rem;
  padding-block: .9rem;
}
.studio-footer-saying {
  color: rgba(255,245,250,.76);
  font: italic 1rem/1.2 "Fraunces", Georgia, serif;
  transition: opacity .24s ease, translate .24s ease, filter .24s ease;
}
.studio-footer-saying.is-changing {
  opacity: 0;
  translate: 0 4px;
  filter: blur(2px);
}
.studio-footer-clock {
  display: grid;
  justify-items: end;
  gap: .12rem;
  color: #fff5fa;
  font-family: "DM Mono", monospace;
}
.studio-footer-clock strong {
  font-size: .72rem;
  letter-spacing: .04em;
}
.studio-footer-clock small {
  color: rgba(255,255,255,.46);
  font-size: .48rem;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.studio-footer-stars {
  color: #dfabc3;
  letter-spacing: .32em;
  animation: rtcStudioFooterTwinkle 4.8s ease-in-out infinite;
}
@keyframes rtcStudioFooterTwinkle {
  0%,100% { opacity: .48; transform: translateY(0); }
  50% { opacity: .9; transform: translateY(-2px); text-shadow: 0 0 15px rgba(225,155,193,.28); }
}

@media (max-width: 820px) {
  .studio-mode-identity { gap: .5rem; }
  .studio-clock-chip { min-width: 6.2rem; padding: .45rem .52rem; }
  .studio-clock-chip strong { font-size: .7rem; }
  .studio-private-logo { display: none; }
  .studio-tag-suggestions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-basura-shortcut > b { font-size: .7rem; }
  .studio-private-footer--alive { grid-template-columns: 1fr auto; }
  .studio-footer-stars { display: none; }
}

@media (max-width: 520px) {
  .studio-clock-chip {
    min-width: 5.7rem;
    padding: .42rem .48rem;
  }
  .studio-clock-chip strong { font-size: .66rem; }
  .studio-clock-chip small { font-size: .42rem; }
  .studio-mode-stamp small { max-width: 6.3rem; }
  .studio-home-clock { width: 100%; }
  .studio-basura-shortcut {
    grid-template-columns: auto minmax(0,1fr);
  }
  .studio-basura-shortcut > b {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 2.8rem;
    font-size: .76rem;
  }
  .studio-private-footer--alive {
    grid-template-columns: 1fr;
    gap: .45rem;
    text-align: center;
  }
  .studio-footer-clock { justify-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .studio-footer-stars { animation: none !important; }
  .studio-footer-saying { transition: none !important; }
}


/* =========================================================
   STUDIO CLARITY + LIGHTER GLASS + SIMPLE NOTES
   ========================================================= */
.studio-private-header {
  background: rgba(18, 10, 22, .76);
  border-color: rgba(255,255,255,.15);
  box-shadow: 0 18px 48px rgba(5,3,8,.28), inset 0 1px rgba(255,255,255,.055);
  -webkit-backdrop-filter: blur(24px) saturate(1.12);
  backdrop-filter: blur(24px) saturate(1.12);
}
.studio-private-nav a { background: rgba(255,255,255,.035); }
.studio-private-nav a:hover { background: rgba(255,255,255,.085); }
.studio-mode-stamp small { color: rgba(255,255,255,.62); }

/* The actual generated nudge is a touch easier to read. */
.studio-writing-prompt p {
  font-size: 1rem;
  line-height: 1.48;
}

/* A one-click choice instead of another text field Rachel has to understand. */
.studio-preview-choice {
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  margin-top:.85rem;
  padding:.78rem .85rem;
  border:1px solid rgba(111,78,133,.14);
  border-radius:.9rem;
  background:rgba(255,255,255,.5);
  cursor:pointer;
}
.studio-preview-choice input { margin-top:.16rem; accent-color:var(--violet); }
.studio-preview-choice span,.studio-preview-choice strong,.studio-preview-choice small { display:block; }
.studio-preview-choice strong { font-size:.88rem; }
.studio-preview-choice small { margin-top:.18rem; color:var(--ink-soft); font-size:.72rem; line-height:1.4; }

/* Notes are intentionally simpler than journal pages. */
.studio-editor-paper--letter { max-width: 900px; margin-inline:auto; }
.studio-note-music { max-width:900px; margin-inline:auto; }
.studio-song-keepsake--note { max-width:none; padding:1rem; border:1px solid rgba(111,78,133,.13); border-radius:1rem; background:rgba(255,255,255,.56); }
.studio-letter-view__excerpt { max-width:42rem; margin:1rem auto 0; color:var(--ink-soft); font:italic 1rem/1.55 "Fraunces",serif; }
.studio-letter-view__body p { margin:0 0 .95rem; }

/* A tiny global soundtrack controller near the top of every public page. */
.site-soundtrack-dock {
  position:relative;
  z-index:32;
  display:grid;
  grid-template-columns:auto minmax(240px,520px);
  gap:.7rem;
  align-items:center;
  width:min(calc(100% - 2rem),1180px);
  margin:.55rem auto 0;
  padding:.42rem .5rem .42rem .75rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:.9rem;
  background:rgba(22,12,27,.72);
  box-shadow:0 10px 30px rgba(8,3,10,.18);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.site-soundtrack-dock__label { display:grid; grid-template-columns:auto 1fr; gap:.08rem .45rem; min-width:9.5rem; color:#f8ebf4; }
.site-soundtrack-dock__label > span { grid-row:1/3; align-self:center; color:#e9a9c4; font-size:1rem; }
.site-soundtrack-dock__label strong { font:700 .62rem/1.15 "DM Mono",monospace; letter-spacing:.045em; text-transform:uppercase; }
.site-soundtrack-dock__label small { color:rgba(255,255,255,.48); font:.5rem/1.2 "DM Mono",monospace; }
.site-soundtrack-dock iframe { display:block; min-width:0; border:0; border-radius:.7rem; }

@media (max-width:720px) {
  .studio-private-header { background:rgba(18,10,22,.72); }
  .studio-writing-prompt p { font-size:.97rem; }
  .site-soundtrack-dock {
    grid-template-columns:1fr;
    width:calc(100% - .8rem);
    gap:.32rem;
    margin-top:.35rem;
    padding:.45rem;
  }
  .site-soundtrack-dock__label { grid-template-columns:auto auto 1fr; min-width:0; align-items:center; }
  .site-soundtrack-dock__label > span { grid-row:auto; }
  .site-soundtrack-dock__label small { justify-self:end; }
  .site-soundtrack-dock iframe { height:80px; }
}


/* Notes mode has fewer controls, so its archive should not look like a journal filter wall. */
.studio-posts-page .studio-filter-bar:has(select[name="tag"]) { align-items:center; }
@media (max-width:720px) {
  .studio-posts-page .studio-filter-bar { gap:.42rem; }
}


/* =========================================================
   SHOP SHELF + CONTACT PASS — compact, selectable, direct-sale friendly
   ========================================================= */
.shop-page-main { padding-bottom: clamp(3rem,6vw,5rem); }
.shop-page-intro { padding-top: clamp(2.4rem,5vw,4rem) !important; padding-bottom: clamp(2rem,4vw,3.5rem) !important; }
.shop-page-intro__lede a { color:#f1bfd3; font-weight:700; text-underline-offset:.18em; }
.shop-library-ribbon { margin-bottom:clamp(2rem,4vw,3.4rem); padding:clamp(.85rem,2vw,1.15rem); }
.shop-library-ribbon__track { grid-template-columns:repeat(5,minmax(0,1fr)); gap:.7rem; }
.shop-library-ribbon__photo { aspect-ratio:1.05; }
.shop-library-ribbon__photo span { font-size:.78rem; }
.shop-product-grid--editorial { gap:clamp(1rem,2.5vw,1.7rem); }
.shop-product-card--editorial:nth-child(even) { margin-top:1.15rem; }
.shop-product-card--editorial .shop-product-card__body { padding:clamp(1rem,2vw,1.45rem); }
.shop-product-card--editorial h2,.shop-product-card h2 { margin:.75rem 0 .55rem; padding-bottom:.08em; font-size:clamp(1.75rem,3vw,2.8rem); line-height:1.04; overflow:visible; }
.shop-product-card--editorial h2 a,.shop-product-card h2 a { line-height:inherit; }
.shop-product-card--editorial .shop-product-card__body>p { margin-bottom:.65rem; line-height:1.55; }
.shop-product-card__foot { margin-top:.85rem; }
.shop-product-card__top { line-height:1.35; }

.shop-direct-contact { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:center; margin-top:clamp(2rem,4vw,3.4rem); padding:clamp(1.1rem,2.5vw,1.65rem); border:1px solid var(--j-line); border-radius:1.2rem; background:linear-gradient(145deg,rgba(79,42,76,.78),rgba(41,29,53,.9)); box-shadow:0 18px 48px rgba(0,0,0,.2); }
.shop-direct-contact>span { display:grid; width:3rem; aspect-ratio:1; place-items:center; border-radius:50%; color:#351d35; background:#e7aec7; font-size:1.25rem; }
.shop-direct-contact h2 { margin:.15rem 0 .3rem; font-size:clamp(1.6rem,3vw,2.35rem); }
.shop-direct-contact p:not(.eyebrow) { margin:0; color:var(--j-muted); }

.shop-product-detail { padding-top:clamp(2rem,4vw,3.2rem); padding-bottom:clamp(3rem,6vw,5rem); }
.shop-product-detail__back { margin-bottom:1.4rem; }
.shop-product-detail__grid { gap:clamp(1.4rem,4vw,3rem); }
.shop-product-detail__copy { top:1rem; padding:clamp(1.25rem,3vw,2rem); }
.shop-product-detail__copy h1 { max-width:100%; padding-bottom:.08em; font-size:clamp(2.55rem,6vw,5rem); line-height:1; overflow-wrap:anywhere; }
.shop-product-detail__status { margin-bottom:1.1rem; }
.shop-product-detail__description p { line-height:1.6; }
.shop-product-thumbs { grid-template-columns:repeat(6,minmax(0,1fr)); }

.shop-variant-selector { margin-top:1.25rem; padding-top:1.15rem; border-top:1px solid var(--j-line); }
.shop-variant-selector__heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; }
.shop-variant-selector__heading h2 { margin:0 0 .7rem; font-size:clamp(1.55rem,3vw,2.3rem); }
.shop-variant-selector__options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.shop-variant-choice { appearance:none; display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:.65rem; align-items:center; min-width:0; padding:.5rem; border:1px solid rgba(255,255,255,.14); border-radius:.8rem; color:#f6edf6; background:rgba(255,255,255,.055); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.shop-variant-choice:hover,.shop-variant-choice.is-active { transform:translateY(-2px); border-color:rgba(235,172,199,.55); background:rgba(225,160,190,.13); }
.shop-variant-choice img { display:block; width:3.5rem; aspect-ratio:1; object-fit:cover; border-radius:.6rem; }
.shop-variant-choice span { min-width:0; }
.shop-variant-choice strong,.shop-variant-choice small,.shop-variant-choice em { display:block; overflow-wrap:anywhere; }
.shop-variant-choice strong { font:600 1rem/1.12 "Fraunces",serif; }
.shop-variant-choice small { margin-top:.18rem; color:#cfbfd2; font-size:.76rem; line-height:1.25; }
.shop-variant-choice em { margin-top:.18rem; color:#f2abc4; font:.65rem/1.2 "DM Mono",monospace; font-style:normal; text-transform:uppercase; }
.shop-variant-choice.is-sold-out { opacity:.48; cursor:not-allowed; }
.shop-variant-selector__picked { margin:.65rem 0 0; color:#d8c9dc; font-size:.82rem; }
.shop-variant-selector__picked strong { color:#f3c1d5; }
.shop-checkout-placeholder { opacity:.92; cursor:pointer; }

.shop-direct-sale-modal[hidden] { display:none; }
.shop-direct-sale-modal { position:fixed; inset:0; z-index:15000; display:grid; place-items:center; padding:1rem; opacity:0; transition:opacity .22s ease; }
.shop-direct-sale-modal.is-open { opacity:1; }
.shop-direct-sale-modal__backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(12,6,16,.74); backdrop-filter:blur(8px); cursor:pointer; }
.shop-direct-sale-modal__card { position:relative; z-index:1; width:min(34rem,100%); padding:clamp(1.5rem,5vw,2.6rem); border:1px solid rgba(255,255,255,.16); border-radius:1.5rem; color:#fff; background:linear-gradient(150deg,#3a1d3b,#21142b 60%,#213b39); box-shadow:0 38px 100px rgba(0,0,0,.48); transform:translateY(18px) scale(.97); transition:transform .26s cubic-bezier(.2,.8,.2,1); }
.shop-direct-sale-modal.is-open .shop-direct-sale-modal__card { transform:translateY(0) scale(1); }
.shop-direct-sale-modal__card h2 { margin:.45rem 0 .7rem; font-size:clamp(2rem,5vw,3.5rem); line-height:.98; }
.shop-direct-sale-modal__card>p:not(.eyebrow) { color:#dfd2e1; line-height:1.65; }
.shop-direct-sale-modal__spark { display:block; margin-bottom:.8rem; color:#edb4cc; letter-spacing:.4em; }
.shop-direct-sale-modal__x { position:absolute; top:.7rem; right:.8rem; display:grid; width:2.6rem; aspect-ratio:1; place-items:center; border:1px solid rgba(255,255,255,.13); border-radius:50%; color:#fff; background:rgba(255,255,255,.06); font-size:1.4rem; cursor:pointer; }
.shop-direct-sale-modal__actions { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.2rem; }

/* Tiny About-page mailbox rather than another large section. */
.about-contact-blip { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:1rem; align-items:center; max-width:64rem; margin:1.4rem auto 0; padding:1rem 1.15rem; border-top:1px solid var(--j-line); border-bottom:1px solid var(--j-line); }
.about-contact-blip>span { color:#e9aec8; font-size:1.5rem; }
.about-contact-blip h2 { margin:.1rem 0 .18rem; font-size:clamp(1.55rem,3vw,2.2rem); }
.about-contact-blip p:not(.eyebrow) { margin:0; color:var(--j-muted); font-size:.92rem; }

/* Contact page uses the visitor's own email app: no card processing or mail server required. */
.contact-page-main { min-height:65vh; padding-top:clamp(2.5rem,6vw,5rem); padding-bottom:clamp(4rem,8vw,7rem); }
.contact-card { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1fr); gap:clamp(1.5rem,5vw,4rem); max-width:70rem; margin:auto; padding:clamp(1.4rem,4vw,2.8rem); border:1px solid var(--j-line); border-radius:1.6rem; background:linear-gradient(145deg,rgba(57,32,67,.9),rgba(28,43,45,.82)); box-shadow:0 28px 80px rgba(0,0,0,.25); }
.contact-card__intro h1 { max-width:8ch; margin:.35rem 0 .8rem; font-size:clamp(3.2rem,7vw,6rem); line-height:.92; }
.contact-card__intro>p:not(.eyebrow) { color:var(--j-muted); line-height:1.7; }
.contact-card__intro>span { display:block; margin-top:1rem; color:#e8aec8; letter-spacing:.45em; }
.contact-form { display:grid; gap:.8rem; padding:clamp(1rem,3vw,1.5rem); border:1px solid rgba(255,255,255,.12); border-radius:1.1rem; background:rgba(255,255,255,.055); }
.contact-form label { display:grid; gap:.35rem; color:#e9d9eb; font:.72rem/1.2 "DM Mono",monospace; text-transform:uppercase; }
.contact-form input,.contact-form textarea { width:100%; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.14); border-radius:.72rem; outline:none; color:#fff; background:rgba(15,10,20,.42); font:400 1rem/1.5 "DM Sans",sans-serif; text-transform:none; }
.contact-form input:focus,.contact-form textarea:focus { border-color:rgba(235,172,199,.58); box-shadow:0 0 0 4px rgba(235,172,199,.09); }
.contact-form>small { color:var(--j-faint); line-height:1.45; }
.contact-order-chip { display:flex; flex-wrap:wrap; gap:.35rem .65rem; align-items:center; padding:.7rem .8rem; border-radius:.75rem; background:rgba(232,174,200,.1); }
.contact-order-chip span { color:#cdbbce; font:.64rem/1 "DM Mono",monospace; text-transform:uppercase; }
.contact-order-chip strong { color:#fff; }.contact-order-chip small{color:#efbad0;}
.contact-not-ready { align-self:center; padding:2rem; text-align:center; border:1px dashed rgba(255,255,255,.2); border-radius:1.2rem; background:rgba(255,255,255,.04); }
.contact-not-ready>span { font-size:2rem; }.contact-not-ready h2{margin:.6rem 0;font-size:2rem}.contact-not-ready p{color:var(--j-muted);}

/* Studio shop options: plain rows instead of separate product listings. */
.studio-product-variants-panel { display:grid; gap:1rem; }
.studio-product-variants-panel .studio-panel-heading p:not(.eyebrow) { max-width:46rem; color:var(--ink-soft); }
.studio-variant-rows { display:grid; gap:.6rem; }
.studio-variant-row { position:relative; display:grid; grid-template-columns:1fr 1.1fr 1fr .7fr auto; gap:.55rem; align-items:end; padding:.7rem; border:1px solid var(--line); border-radius:.9rem; background:rgba(255,255,255,.55); }
.studio-variant-row label { display:grid; gap:.3rem; min-width:0; color:var(--violet-deep); font:.58rem/1.2 "DM Mono",monospace; text-transform:uppercase; }
.studio-variant-row label span em { color:var(--ink-soft); font-style:italic; text-transform:none; }
.studio-variant-row input,.studio-variant-row select { min-width:0; padding:.72rem .75rem !important; font-size:.86rem !important; }
.studio-variant-remove { display:grid; width:2.55rem; aspect-ratio:1; place-items:center; border:1px solid rgba(104,54,73,.18); border-radius:.7rem; color:#75445b; background:#f1dce5; font-size:1.25rem; cursor:pointer; }
.studio-add-variant { justify-self:start; }

@media (max-width:900px) {
  .shop-library-ribbon__track { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .shop-variant-selector__options { grid-template-columns:1fr; }
  .studio-variant-row { grid-template-columns:repeat(2,minmax(0,1fr)) auto; }
  .studio-variant-remove { grid-column:3; grid-row:1; }
}
@media (max-width:720px) {
  .shop-library-ribbon__heading { align-items:flex-start; flex-direction:column; gap:.35rem; }
  .shop-library-ribbon__track { grid-auto-flow:column; grid-template-columns:none; grid-template-rows:repeat(2,7.6rem); grid-auto-columns:minmax(7.6rem,38vw); overflow-x:auto; overscroll-behavior-inline:contain; padding:.15rem .1rem .55rem; scrollbar-width:thin; }
  .shop-library-ribbon__photo { aspect-ratio:auto; }
  .shop-product-card--editorial:nth-child(even) { margin-top:.45rem; }
  .shop-product-card--editorial h2,.shop-product-card h2 { font-size:clamp(1.75rem,8vw,2.35rem); line-height:1.04; }
  .shop-direct-contact,.about-contact-blip,.contact-card { grid-template-columns:1fr; }
  .shop-direct-contact .button { width:100%; text-align:center; }
  .shop-product-thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .shop-variant-choice { grid-template-columns:3.2rem minmax(0,1fr); }
  .shop-direct-sale-modal__actions { display:grid; grid-template-columns:1fr; }
  .shop-direct-sale-modal__actions .button { width:100%; text-align:center; }
  .about-contact-blip { gap:.45rem; padding:.9rem 0; }
  .about-contact-blip>span { display:none; }
  .studio-variant-row { grid-template-columns:1fr; padding:1rem; }
  .studio-variant-remove { position:absolute; top:.55rem; right:.55rem; width:2.25rem; }
}

/* Homepage shop photos now open their matching selector directly. */
.home-shop-showcase__tile { text-decoration:none; }
.home-shop-showcase__cta { text-decoration:none; }


/* =========================================================
   PUBLIC HEADER + SPOTIFY POLISH — AUGUST 2026
   Same width, softer light mode, larger brand, more motion
   without adding heavyweight JS or layout-thrashing effects.
   ========================================================= */

/* Header and player share the exact same visual rail. */
.public-jewel-page .site-header,
.site-soundtrack-dock {
  width: min(calc(100% - 2rem), var(--max));
}

.public-jewel-page .site-header {
  position: relative;
  overflow: hidden;
  margin-top: .7rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(235,207,232,.13);
  border-radius: 1.25rem;
  box-shadow: 0 13px 35px rgba(7,3,10,.16);
}

/* Bigger name + the tiny flower gets to be a real little mascot. */
.public-jewel-page .logo {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  font-size: clamp(1.8rem, 3.55vw, 2.65rem);
  line-height: .92;
  letter-spacing: -.06em;
}

.public-jewel-page .logo::after {
  margin-left: .08em;
  font-size: .92em;
  transform-origin: 50% 65%;
  animation: rtcLogoFlowerBloom 4.8s ease-in-out infinite;
}

/* Two tiny points of moving light in the header. Pure transform/opacity. */
.public-jewel-page .site-header::before,
.public-jewel-page .site-header::after {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  color: rgba(236,188,220,.38);
  text-shadow: 0 0 16px rgba(224,135,197,.35);
}

.public-jewel-page .site-header::before {
  content: "✦";
  left: 38%;
  top: .35rem;
  font-size: .7rem;
  animation: rtcHeaderStarA 6.5s ease-in-out infinite;
}

.public-jewel-page .site-header::after {
  content: "· ☾ ·";
  right: 1.1rem;
  bottom: .25rem;
  font: 500 .52rem/1 "DM Mono", monospace;
  letter-spacing: .18em;
  animation: rtcHeaderStarB 8s ease-in-out infinite;
}

.public-jewel-page .site-header > * {
  position: relative;
  z-index: 1;
}

/* Dark stays sultry; light becomes translucent blush-plum instead of black. */
html[data-theme="dark"] .public-jewel-page .site-header {
  background:
    radial-gradient(circle at 8% 20%, rgba(188,93,151,.13), transparent 17rem),
    linear-gradient(180deg, rgba(25,10,30,.83), rgba(13,7,18,.62));
  border-color: rgba(235,205,238,.13);
}

html[data-theme="light"] .public-jewel-page .site-header {
  color: #4c3654;
  background:
    radial-gradient(circle at 12% 15%, rgba(196,112,157,.13), transparent 18rem),
    linear-gradient(145deg, rgba(255,248,252,.86), rgba(237,220,237,.78) 62%, rgba(226,238,235,.72));
  border-color: rgba(104,70,112,.14);
  box-shadow: 0 13px 32px rgba(92,62,99,.10);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  backdrop-filter: blur(18px) saturate(1.08);
}

html[data-theme="light"] .public-jewel-page .site-header::before,
html[data-theme="light"] .public-jewel-page .site-header::after {
  color: rgba(121,70,123,.38);
  text-shadow: 0 0 14px rgba(177,93,149,.18);
}

/* Keep the Spotify widget aligned, polished, and tall enough for Spotify's
   standard embedded controls rather than visually clipping the player. */
.site-soundtrack-dock {
  grid-template-columns: minmax(9.5rem, auto) minmax(0, 1fr);
  margin-top: .55rem;
  padding: .5rem .55rem .5rem .8rem;
  border-radius: 1.15rem;
}

.site-soundtrack-dock iframe {
  width: 100%;
  height: 152px;
  border-radius: .85rem;
}

.site-soundtrack-dock__label > span {
  transform-origin: 50% 65%;
  animation: rtcMusicNoteSway 3.9s ease-in-out infinite;
}

.site-soundtrack-dock__label strong {
  font-size: .68rem;
}

/* Lightweight ambient motion: transform + opacity only. */
@keyframes rtcLogoFlowerBloom {
  0%, 100% { transform: rotate(-5deg) scale(.94); opacity: .86; }
  45% { transform: rotate(6deg) scale(1.11); opacity: 1; }
  62% { transform: rotate(1deg) scale(1.02); opacity: .96; }
}

@keyframes rtcHeaderStarA {
  0%, 100% { transform: translate3d(0,2px,0) rotate(0deg) scale(.82); opacity: .26; }
  50% { transform: translate3d(8px,-3px,0) rotate(24deg) scale(1.15); opacity: .7; }
}

@keyframes rtcHeaderStarB {
  0%, 100% { transform: translate3d(0,0,0); opacity: .24; }
  50% { transform: translate3d(-7px,-2px,0); opacity: .58; }
}

@keyframes rtcMusicNoteSway {
  0%, 100% { transform: rotate(-7deg) translateY(1px); opacity: .82; }
  50% { transform: rotate(8deg) translateY(-2px); opacity: 1; }
}

/* A little more life on interactive public controls, without constant motion. */
@media (hover: hover) and (pointer: fine) {
  .public-jewel-page .site-nav a,
  .public-jewel-page .theme-toggle,
  .site-soundtrack-dock {
    transition: transform .24s ease, box-shadow .24s ease, background .24s ease, border-color .24s ease;
  }
  .site-soundtrack-dock:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 42px rgba(8,3,10,.24), 0 0 28px rgba(149,69,125,.08);
  }
}

@media (max-width: 720px) {
  .public-jewel-page .site-header,
  .site-soundtrack-dock {
    width: calc(100% - .8rem);
  }

  .public-jewel-page .site-header {
    margin-top: .4rem;
    padding: .78rem .82rem;
    border-radius: 1.05rem;
  }

  .public-jewel-page .logo {
    font-size: clamp(1.6rem, 8vw, 2.15rem);
  }

  .public-jewel-page .site-header::before { left: 72%; }
  .public-jewel-page .site-header::after { display: none; }

  .site-soundtrack-dock {
    grid-template-columns: 1fr;
    padding: .48rem;
  }

  .site-soundtrack-dock iframe {
    height: 152px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-jewel-page .logo::after,
  .public-jewel-page .site-header::before,
  .public-jewel-page .site-header::after,
  .site-soundtrack-dock__label > span {
    animation: none !important;
  }
}


/* =========================================================
   THEME ORB — AUGUST 2026
   The light/dark control should read as a utility switch,
   not another navigation tab.
   ========================================================= */
.public-jewel-page .site-nav .theme-toggle {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.72rem;
  height: 2.72rem;
  min-height: 2.72rem;
  padding: 0;
  border: 1px solid rgba(240, 201, 229, .26);
  border-radius: 50%;
  color: #fff3fb;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.28), transparent 24%),
    radial-gradient(circle at 58% 62%, rgba(190,106,167,.30), transparent 48%),
    linear-gradient(145deg, rgba(103,57,116,.78), rgba(37,20,49,.92));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.05),
    0 7px 18px rgba(12,5,17,.20),
    0 0 0 3px rgba(215,151,198,.035);
  text-transform: none;
  letter-spacing: 0;
  overflow: visible;
  cursor: pointer;
}

.public-jewel-page .site-nav .theme-toggle::before {
  content: "";
  position: absolute;
  inset: .28rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  pointer-events: none;
}

.public-jewel-page .theme-toggle__icon {
  display: block;
  font-size: 1.15rem;
  line-height: 1;
  filter: drop-shadow(0 2px 5px rgba(0,0,0,.22));
  transition: transform .28s ease, filter .28s ease;
}

.public-jewel-page .theme-toggle__label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (hover: hover) and (pointer: fine) {
  .public-jewel-page .site-nav .theme-toggle:hover {
    color: #fff;
    background:
      radial-gradient(circle at 35% 28%, rgba(255,255,255,.34), transparent 25%),
      radial-gradient(circle at 58% 62%, rgba(214,123,184,.36), transparent 50%),
      linear-gradient(145deg, rgba(123,69,137,.88), rgba(45,23,58,.96));
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.07),
      0 10px 24px rgba(12,5,17,.25),
      0 0 22px rgba(209,128,181,.16);
    transform: translateY(-2px) rotate(2deg);
  }
  .public-jewel-page .site-nav .theme-toggle:hover .theme-toggle__icon {
    transform: scale(1.10) rotate(-7deg);
  }
}

html[data-theme="light"] .public-jewel-page .site-nav .theme-toggle {
  color: #5d3b67;
  border-color: rgba(109,74,119,.20);
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.92), transparent 28%),
    radial-gradient(circle at 62% 64%, rgba(215,164,198,.34), transparent 52%),
    linear-gradient(145deg, rgba(250,239,247,.94), rgba(225,207,231,.92));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.58),
    0 7px 17px rgba(82,53,91,.11),
    0 0 0 3px rgba(126,91,139,.035);
}

html[data-theme="light"] .public-jewel-page .site-nav .theme-toggle:hover {
  color: #412a4a;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,1), transparent 28%),
    radial-gradient(circle at 62% 64%, rgba(208,147,190,.42), transparent 52%),
    linear-gradient(145deg, rgba(255,245,251,.98), rgba(220,198,228,.96));
}

@media (max-width: 720px) {
  .public-jewel-page .site-nav .theme-toggle {
    width: 2.55rem;
    height: 2.55rem;
    min-height: 2.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .public-jewel-page .theme-toggle__icon { transition: none; }
}

/* =========================================================
   NATIVE SITE SOUNDTRACK — AUGUST 2026
   Local MP3 player replacing the Spotify embed.
   ========================================================= */
.site-soundtrack-dock--native {
  display:block;
  width:min(calc(100% - 2rem), var(--max));
  margin:.55rem auto 0;
  padding:.62rem .72rem;
  overflow:visible;
  border:1px solid rgba(238,201,230,.14);
  border-radius:1.15rem;
  background:
    radial-gradient(circle at 12% 0%, rgba(193,89,151,.12), transparent 18rem),
    linear-gradient(145deg, rgba(25,11,31,.88), rgba(14,8,20,.74));
  box-shadow:0 12px 34px rgba(8,3,10,.19);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
}

.native-player__main {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:.7rem;
  align-items:center;
}

.native-player__play {
  position:relative;
  display:grid;
  place-items:center;
  width:3rem;
  height:3rem;
  padding:0;
  border:1px solid rgba(255,220,242,.24);
  border-radius:50%;
  color:#fff8fd;
  background:
    radial-gradient(circle at 34% 28%, rgba(255,255,255,.26), transparent 25%),
    linear-gradient(145deg, #a95084, #63366f 72%, #392242);
  box-shadow:0 7px 19px rgba(7,3,10,.25), inset 0 0 0 1px rgba(255,255,255,.05);
  font:800 1rem/1 system-ui,sans-serif;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.native-player__play span { transform:translateX(.05em); }
.site-soundtrack-dock--native.is-playing .native-player__play span { transform:none; letter-spacing:-.18em; margin-left:-.14em; }
.site-soundtrack-dock--native.is-playing .native-player__play {
  box-shadow:0 8px 22px rgba(7,3,10,.27), 0 0 0 4px rgba(220,121,180,.07), 0 0 24px rgba(214,103,170,.18);
}
.site-soundtrack-dock--native.is-playing .native-player__play::after {
  content:"";
  position:absolute;
  inset:-.32rem;
  border:1px solid rgba(232,156,203,.2);
  border-radius:50%;
  animation:rtcNativeMusicPulse 2.4s ease-out infinite;
}

.native-player__identity { min-width:0; display:grid; gap:.08rem; }
.native-player__eyebrow {
  color:#df9fc3;
  font:700 .53rem/1.1 "DM Mono",monospace;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.native-player__identity strong {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff6fc;
  font:700 clamp(.88rem,1.6vw,1.05rem)/1.18 "DM Sans",sans-serif;
}
.native-player__identity small {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,241,250,.54);
  font:500 .63rem/1.2 "DM Mono",monospace;
}

.native-player__transport { display:flex; align-items:center; gap:.28rem; }
.native-player__transport button,
.native-player__mute,
.native-player__playlist-head button {
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  padding:0;
  border:1px solid rgba(255,225,244,.12);
  border-radius:.72rem;
  color:rgba(255,246,252,.82);
  background:rgba(255,255,255,.045);
  font:700 1.05rem/1 system-ui,sans-serif;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
}
.native-player__transport button.is-active {
  color:#ffd7ea;
  border-color:rgba(236,151,202,.28);
  background:rgba(187,91,148,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}

.native-player__timeline {
  display:grid;
  grid-template-columns:2.4rem minmax(5rem,1fr) 2.4rem auto 5.7rem;
  gap:.45rem;
  align-items:center;
  margin-top:.45rem;
  padding-top:.45rem;
  border-top:1px solid rgba(255,255,255,.065);
}
.native-player__timeline > span {
  color:rgba(255,240,249,.48);
  font:500 .53rem/1 "DM Mono",monospace;
  text-align:center;
}
.native-player__timeline input[type="range"] {
  min-width:0;
  height:.34rem;
  margin:0;
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:999px;
  outline:none;
  background:linear-gradient(90deg, #da83b3 var(--track-progress,0%), rgba(255,255,255,.11) var(--track-progress,0%));
  cursor:pointer;
}
.native-player__timeline input[type="range"]::-webkit-slider-thumb {
  appearance:none;
  -webkit-appearance:none;
  width:.72rem;
  height:.72rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:#f7d2e5;
  box-shadow:0 1px 7px rgba(0,0,0,.3);
}
.native-player__timeline input[type="range"]::-moz-range-thumb {
  width:.72rem;
  height:.72rem;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:#f7d2e5;
  box-shadow:0 1px 7px rgba(0,0,0,.3);
}
.native-player__volume { --track-progress:72%; }
.native-player__mute { width:1.8rem; height:1.8rem; border-radius:50%; font-size:.78rem; }
.native-player__mute.is-muted { opacity:.5; }

.native-player__playlist {
  position:absolute;
  z-index:80;
  left:0;
  right:0;
  top:calc(100% + .42rem);
  max-height:min(60vh,31rem);
  overflow:hidden;
  border:1px solid rgba(237,199,229,.16);
  border-radius:1.1rem;
  background:rgba(17,8,21,.96);
  box-shadow:0 20px 60px rgba(5,2,8,.48);
  -webkit-backdrop-filter:blur(22px) saturate(1.1);
  backdrop-filter:blur(22px) saturate(1.1);
  opacity:0;
  transform:translateY(-7px) scale(.995);
  transform-origin:top center;
  transition:opacity .18s ease, transform .18s ease;
}
.site-soundtrack-dock--native.playlist-open .native-player__playlist { opacity:1; transform:none; }
.native-player__playlist-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.8rem .9rem .68rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.native-player__playlist-head > div { display:grid; gap:.12rem; }
.native-player__playlist-head strong { color:#fff3fa; font:700 .9rem/1.2 "DM Sans",sans-serif; }
.native-player__playlist-head small { color:rgba(255,240,249,.5); font:500 .56rem/1.2 "DM Mono",monospace; }
.native-player__playlist-head button { border-radius:50%; font-size:1rem; }
.native-player__playlist-scroll { max-height:min(48vh,24rem); overflow:auto; padding:.35rem; scrollbar-width:thin; }
.native-player__track {
  display:grid;
  grid-template-columns:2rem minmax(0,1fr) 1.7rem;
  gap:.55rem;
  align-items:center;
  width:100%;
  padding:.58rem .62rem;
  border:0;
  border-radius:.75rem;
  color:inherit;
  background:transparent;
  text-align:left;
  cursor:pointer;
  transition:background .16s ease, transform .16s ease;
}
.native-player__track-number { color:rgba(255,237,247,.32); font:600 .55rem/1 "DM Mono",monospace; text-align:center; }
.native-player__track-copy { min-width:0; display:grid; gap:.08rem; }
.native-player__track-copy strong,
.native-player__track-copy small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.native-player__track-copy strong { color:#f9edf5; font:650 .78rem/1.18 "DM Sans",sans-serif; }
.native-player__track-copy small { color:rgba(255,239,248,.45); font:500 .58rem/1.2 "DM Mono",monospace; }
.native-player__track-play { color:rgba(240,164,208,.46); font-size:.65rem; text-align:center; }
.native-player__track.is-current { background:rgba(187,91,148,.16); box-shadow:inset 0 0 0 1px rgba(236,151,202,.12); }
.native-player__track.is-current .native-player__track-number,
.native-player__track.is-current .native-player__track-play { color:#f0a8cf; }
.native-player__credit { margin:0; padding:.55rem .9rem .65rem; border-top:1px solid rgba(255,255,255,.06); color:rgba(255,239,248,.42); font:500 .52rem/1.25 "DM Mono",monospace; }
.site-soundtrack-dock--native.has-audio-error::after {
  content:"skipping a sleepy track…";
  position:absolute;
  right:.75rem;
  bottom:.52rem;
  color:#efb1d2;
  font:600 .52rem/1 "DM Mono",monospace;
}

html[data-theme="light"] .site-soundtrack-dock--native {
  color:#4d3554;
  border-color:rgba(101,65,108,.14);
  background:
    radial-gradient(circle at 12% 0%, rgba(196,110,160,.11), transparent 18rem),
    linear-gradient(145deg, rgba(255,249,252,.9), rgba(238,224,239,.84) 70%, rgba(226,238,235,.78));
  box-shadow:0 12px 30px rgba(78,50,85,.1);
}
html[data-theme="light"] .native-player__identity strong { color:#4c3654; }
html[data-theme="light"] .native-player__identity small,
html[data-theme="light"] .native-player__timeline > span { color:rgba(76,54,84,.55); }
html[data-theme="light"] .native-player__transport button,
html[data-theme="light"] .native-player__mute { color:#583e61; border-color:rgba(88,58,96,.13); background:rgba(103,68,111,.055); }
html[data-theme="light"] .native-player__timeline { border-top-color:rgba(88,58,96,.1); }
html[data-theme="light"] .native-player__timeline input[type="range"] { background:linear-gradient(90deg, #a55788 var(--track-progress,0%), rgba(85,58,94,.13) var(--track-progress,0%)); }
html[data-theme="light"] .native-player__playlist { background:rgba(250,242,248,.97); border-color:rgba(88,58,96,.14); box-shadow:0 20px 50px rgba(72,48,78,.18); }
html[data-theme="light"] .native-player__playlist-head { border-bottom-color:rgba(88,58,96,.1); }
html[data-theme="light"] .native-player__playlist-head strong,
html[data-theme="light"] .native-player__track-copy strong { color:#4c3654; }
html[data-theme="light"] .native-player__playlist-head small,
html[data-theme="light"] .native-player__track-copy small,
html[data-theme="light"] .native-player__track-number,
html[data-theme="light"] .native-player__credit { color:rgba(76,54,84,.5); }
html[data-theme="light"] .native-player__track.is-current { background:rgba(173,92,139,.11); box-shadow:inset 0 0 0 1px rgba(143,72,113,.12); }

@media (hover:hover) and (pointer:fine) {
  .native-player__play:hover { transform:translateY(-1px) scale(1.035); filter:saturate(1.08); }
  .native-player__transport button:hover,
  .native-player__mute:hover,
  .native-player__playlist-head button:hover { transform:translateY(-1px); border-color:rgba(238,162,206,.3); background:rgba(191,91,149,.14); }
  .native-player__track:hover { background:rgba(255,255,255,.055); transform:translateX(2px); }
  html[data-theme="light"] .native-player__track:hover { background:rgba(108,70,117,.06); }
}

@keyframes rtcNativeMusicPulse {
  0% { transform:scale(.88); opacity:.45; }
  75%,100% { transform:scale(1.3); opacity:0; }
}

@media (max-width:720px) {
  .site-soundtrack-dock--native { width:calc(100% - .8rem); padding:.55rem .58rem; border-radius:1.02rem; }
  .native-player__main { grid-template-columns:auto minmax(0,1fr) auto; gap:.5rem; }
  .native-player__play { width:2.72rem; height:2.72rem; }
  .native-player__identity strong { font-size:.86rem; }
  .native-player__identity small { font-size:.54rem; }
  .native-player__eyebrow { font-size:.48rem; }
  .native-player__transport { gap:.18rem; }
  .native-player__transport button { width:1.78rem; height:1.78rem; border-radius:.62rem; font-size:.93rem; }
  .native-player__timeline { grid-template-columns:2rem minmax(3rem,1fr) 2rem auto; gap:.35rem; }
  .native-player__volume { display:none; }
  .native-player__mute { width:1.7rem; height:1.7rem; }
  .native-player__playlist { left:-.02rem; right:-.02rem; max-height:58vh; }
  .native-player__playlist-scroll { max-height:46vh; }
}

@media (max-width:430px) {
  .native-player__transport button[data-soundtrack-prev] { display:none; }
  .native-player__identity strong { font-size:.82rem; }
  .native-player__play { width:2.55rem; height:2.55rem; }
}

@media (prefers-reduced-motion:reduce) {
  .site-soundtrack-dock--native.is-playing .native-player__play::after { animation:none !important; display:none; }
}
.site-footer__music-credit { display:block; margin-top:.55rem; color:var(--ink-soft); opacity:.68; font:500 .58rem/1.35 "DM Mono",monospace; }

/* Autoplay fallback: only appears when a browser blocks audible autoplay. */
.native-player__autoplay-note {
  display:none;
  margin:.42rem 0 0;
  padding:.42rem .62rem;
  border:1px solid rgba(241,178,214,.18);
  border-radius:.72rem;
  color:#f4bedb;
  background:rgba(175,77,136,.1);
  font:700 .56rem/1.25 "DM Mono",monospace;
  letter-spacing:.03em;
  text-align:center;
  animation:rtcAutoplayNudge 1.9s ease-in-out infinite;
}
.site-soundtrack-dock--native.autoplay-blocked .native-player__autoplay-note:not([hidden]) { display:block; }
html[data-theme="light"] .native-player__autoplay-note {
  color:#7c3f69;
  border-color:rgba(126,68,106,.14);
  background:rgba(161,86,131,.08);
}
@keyframes rtcAutoplayNudge {
  0%,100% { opacity:.72; transform:translateY(0); }
  50% { opacity:1; transform:translateY(-1px); }
}
@media (prefers-reduced-motion:reduce) {
  .native-player__autoplay-note { animation:none !important; }
}


/* =========================================================
   AUGUST 2026 — CLEAN PAPER + CONTINUOUS SOUND PASS
   ========================================================= */
.archive-card__tape,
.journal-entry__tape,
.journal-entry__featured-tape { display:none !important; }

.public-jewel-page .logo {
  font-family:"DM Sans",system-ui,sans-serif;
  font-weight:850;
  letter-spacing:-.065em;
}
html[data-theme="dark"] .public-jewel-page .logo,
html[data-theme="light"] .public-jewel-page .logo { font-weight:850; }

.public-jewel-page .site-nav .theme-toggle {
  width:3.08rem;
  height:3.08rem;
  min-height:3.08rem;
  margin-inline:.22rem .08rem;
  border-width:1px;
  isolation:isolate;
}
.public-jewel-page .site-nav .theme-toggle::before {
  inset:.34rem;
  border-style:dashed;
  border-color:rgba(255,255,255,.2);
  animation:rtcThemeOrbit 10s linear infinite;
}
.public-jewel-page .site-nav .theme-toggle::after {
  content:"✦";
  position:absolute;
  z-index:2;
  right:-.12rem;
  top:-.22rem;
  color:#f3b6d7;
  font:700 .72rem/1 Georgia,serif;
  text-shadow:0 0 10px rgba(238,160,207,.45);
  animation:rtcThemeSpark 3.3s ease-in-out infinite;
}
.public-jewel-page .theme-toggle__icon {
  font-family:Georgia,serif;
  font-size:1.42rem;
  font-weight:700;
}
@keyframes rtcThemeOrbit { to { transform:rotate(360deg); } }
@keyframes rtcThemeSpark { 0%,100%{opacity:.42;transform:scale(.82) rotate(-7deg)} 50%{opacity:1;transform:scale(1.18) rotate(11deg)} }

html[data-theme="light"] .public-jewel-page {
  --j-text:#251b2a;
  --j-muted:#4c3d52;
  --j-faint:#67566d;
  --j-line:rgba(50,31,57,.20);
  --j-card:rgba(255,252,254,.94);
  --j-card-solid:#fffafd;
  color:#251b2a;
  background:
    radial-gradient(circle at 8% 6%,rgba(198,111,154,.18),transparent 26rem),
    radial-gradient(circle at 90% 18%,rgba(70,147,137,.15),transparent 29rem),
    linear-gradient(155deg,#f8f0f6 0%,#f3e8f0 52%,#e7f0ed 130%);
}
html[data-theme="light"] .public-jewel-page .site-header {
  color:#251b2a;
  background:rgba(255,251,253,.93);
  border-color:rgba(58,34,65,.18);
  box-shadow:0 12px 30px rgba(66,43,72,.11);
}
html[data-theme="light"] .public-jewel-page .site-nav a {
  color:#45364b;
  background:rgba(255,255,255,.62);
  border-color:rgba(65,40,72,.10);
}
html[data-theme="light"] .public-jewel-page .site-nav a:hover,
html[data-theme="light"] .public-jewel-page .site-nav a[aria-current="page"] {
  color:#261a2d;
  background:#ead9e8;
  box-shadow:inset 0 0 0 1px rgba(77,44,82,.08);
}
html[data-theme="light"] .public-jewel-page .site-nav .site-nav__studio {
  color:#fff;
  background:linear-gradient(135deg,#6f456f,#4b3558);
  border-color:rgba(51,31,59,.18);
}
html[data-theme="light"] .public-jewel-page :is(
  .current-life-strip,.latest-entry__card--jewel,.home-keepsake-link,.home-shop-spotlight,
  .journal-editorial-card,.archive-card,.journal-filter-room--dark,.friends-unlock-card--dark,
  .journal-entry-card,.journal-keepsake-card,.journal-song-card,.shop-product-card--editorial,
  .shop-page-intro__note--dark,.shop-library-ribbon,.home-shop-showcase__mosaic,.shop-product-detail,
  .shop-checkout-placeholder,.about-story-card,.about-manifesto,.about-values > div,.about-contact-blip,
  .contact-card,.policy-grid article,.policy-note
) {
  color:#251b2a;
  background:#fffafd;
  border-color:rgba(57,35,64,.16);
  box-shadow:0 16px 42px rgba(66,42,73,.095);
}
html[data-theme="light"] .public-jewel-page :is(.current-life-strip,.home-keepsake-link.is-latest,.home-shop-spotlight,.latest-entry__card--jewel) {
  background:linear-gradient(145deg,#fffafd,#f7edf5 68%,#edf4f1);
}
html[data-theme="light"] .public-jewel-page :is(
  .journal-editorial-card__body p,.archive-card__body p,.journal-entry__content p,.journal-entry__excerpt,
  .shop-product-card__body > p,.shop-product-detail__description,.about-story-card p,.about-manifesto p,
  .about-values small,.contact-card p,.contact-form > small
) { color:#4b3d50; }
html[data-theme="light"] .public-jewel-page :is(h1,h2,h3,strong,.text-link,.journal-entry__meta,.archive-card__topline) { color:#251b2a; }
html[data-theme="light"] .public-jewel-page :is(input,textarea,select) {
  color:#251b2a;
  background:#fff;
  border-color:rgba(55,34,62,.22);
}
html[data-theme="light"] .public-jewel-page :is(input,textarea)::placeholder { color:#88778c; }
html[data-theme="light"] .public-jewel-page .site-footer { color:#4d3f52; border-color:rgba(54,34,61,.16); }

.contact-form-status {
  margin:0 0 1rem;
  padding:.82rem 1rem;
  border:1px solid rgba(232,164,204,.18);
  border-radius:.9rem;
  font:650 .72rem/1.45 "DM Sans",sans-serif;
}
.contact-form-status--success { color:#eec6dc; background:rgba(95,149,132,.12); }
.contact-form-status--error { color:#f2bfd0; background:rgba(166,70,102,.14); }
.contact-honeypot {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
}
html[data-theme="light"] .contact-form-status--success { color:#315f52; background:#e7f3ee; border-color:#bfd9cf; }
html[data-theme="light"] .contact-form-status--error { color:#7d334d; background:#fae8ef; border-color:#e8c4d2; }

.studio-soundtrack-wrap {
  position:relative;
  z-index:18;
  width:min(calc(100% - 2rem),1180px);
  margin:.45rem auto 0;
}
.studio-soundtrack-wrap .site-soundtrack-dock--native {
  width:100%;
  margin:0;
  background:linear-gradient(145deg,rgba(30,16,37,.76),rgba(16,10,22,.62));
  border-color:rgba(238,205,232,.13);
  box-shadow:0 10px 28px rgba(7,3,10,.18);
}
.studio-page .native-player__playlist { z-index:250; }
.loader { z-index:99999 !important; }
.site-soundtrack-dock--native { position:relative; z-index:18; }

@media (max-width:720px) {
  .public-jewel-page .site-nav .theme-toggle { width:2.88rem;height:2.88rem;min-height:2.88rem; }
  .studio-soundtrack-wrap { width:calc(100% - .8rem); }
}
@media (prefers-reduced-motion:reduce) {
  .public-jewel-page .site-nav .theme-toggle::before,
  .public-jewel-page .site-nav .theme-toggle::after { animation:none !important; }
}

/* Extra light-mode contrast for the remaining dark editorial blocks. */
html[data-theme="light"] .public-jewel-page :is(
  .shop-feature-card--dark,
  .shop-direct-contact,
  .shop-direct-sale-modal__card,
  .latest-entry__photo-wrap--dark,
  .home-product-card,
  .home-product-card__copy
) {
  color:#251b2a;
  background:#fffafd;
  border-color:rgba(57,35,64,.16);
  box-shadow:0 16px 42px rgba(66,42,73,.10);
}
html[data-theme="light"] .public-jewel-page .home-product-card__copy {
  background:linear-gradient(145deg,#fffafd,#f1e4ef);
}
html[data-theme="light"] .public-jewel-page :is(
  .shop-feature-card--dark p,
  .shop-direct-contact p,
  .shop-direct-sale-modal__card p,
  .latest-entry__photo-wrap--dark figcaption,
  .home-product-card__copy small
) { color:#4b3d50; }
html[data-theme="light"] .public-jewel-page :is(
  .shop-feature-card--dark h2,
  .shop-direct-contact strong,
  .shop-direct-sale-modal__card h2,
  .home-product-card__copy strong
) { color:#251b2a; }
html[data-theme="light"] .public-jewel-page .journal-entry-card .journal-entry__tags a,
html[data-theme="light"] .public-jewel-page .archive-card--editorial .archive-card__tags a,
html[data-theme="light"] .public-jewel-page .tag-browser a {
  color:#49374f;
  border-color:rgba(67,42,75,.18);
  background:#f4eaf3;
}
html[data-theme="light"] .public-jewel-page .journal-entry-card .journal-mood-badge {
  color:#56365f;
  background:#ead9ec;
  border-color:rgba(91,54,99,.14);
}
html[data-theme="light"] .public-jewel-page .contact-form {
  background:#f8eff6;
  border-color:rgba(57,35,64,.14);
}
html[data-theme="light"] .public-jewel-page .contact-form label { color:#3b2c41; }


/* === RTC next build: private music, Memory Box, boutique shelves, deeper motion === */
.studio-spotify{position:fixed;right:clamp(.7rem,2vw,1.4rem);top:5.1rem;z-index:1150;width:min(330px,calc(100vw - 1.4rem));font-family:"DM Sans",sans-serif}.studio-spotify__toggle{margin-left:auto;display:flex;align-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(30,13,38,.82);backdrop-filter:blur(18px);color:#fff;padding:.58rem .85rem;box-shadow:0 10px 35px rgba(12,4,18,.22);cursor:pointer}.studio-spotify__toggle span{font-size:1.05rem;animation:rtcMusicPulse 2.8s ease-in-out infinite}.studio-spotify__toggle i{font-style:normal;opacity:.65}.studio-spotify__drawer{margin-top:.45rem;padding:.85rem;border-radius:20px;background:rgba(31,14,38,.94);border:1px solid rgba(255,255,255,.13);box-shadow:0 20px 55px rgba(13,5,18,.35);color:#fff}.studio-spotify__connect{display:flex;gap:.8rem;align-items:center;justify-content:space-between}.studio-spotify__connect p{margin:0}.studio-spotify__now{display:grid;grid-template-columns:54px 1fr;gap:.7rem;align-items:center}.studio-spotify__art{width:54px;height:54px;border-radius:14px;background:radial-gradient(circle at 35% 25%,#d9a7db,#5f386c 48%,#21112b);background-size:cover;background-position:center;display:grid;place-items:center}.studio-spotify__now div:last-child{min-width:0}.studio-spotify__now strong,.studio-spotify__now span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-spotify__now small,.studio-spotify__now span{opacity:.68}.studio-spotify__controls{display:flex;justify-content:center;gap:.7rem;margin:.85rem 0 .5rem}.studio-spotify__controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:white;font-size:1.2rem;cursor:pointer}.studio-spotify__controls .studio-spotify__play{width:48px;height:48px;background:#f0d5ef;color:#2b1735}.studio-spotify__controls button[aria-pressed="true"]{box-shadow:0 0 0 2px rgba(218,162,220,.35)}.studio-spotify__foot{display:flex;justify-content:space-between;gap:1rem;font-size:.72rem;opacity:.72}.studio-spotify__foot a{color:inherit}.studio-footer-admin{color:inherit;opacity:.6;text-decoration:none;font-size:.72rem;border-bottom:1px dotted currentColor}.studio-big-choices--four{grid-template-columns:repeat(4,minmax(0,1fr))}.studio-choice-card--memory{background:linear-gradient(145deg,rgba(222,193,223,.15),rgba(120,164,155,.10))}.studio-memory-shell{max-width:1180px}.studio-memory-count{padding:.65rem .9rem;border-radius:999px;background:rgba(255,255,255,.08)}.studio-memory-drop{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px dashed rgba(221,178,222,.4);border-radius:22px;background:rgba(255,255,255,.045)}.studio-memory-drop label{display:grid;gap:.2rem;cursor:pointer}.studio-memory-drop input{margin-top:.5rem}.studio-memory-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin-top:1rem}.studio-memory-card{position:relative;overflow:hidden;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);aspect-ratio:1/1}.studio-memory-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.studio-memory-card:hover img{transform:scale(1.055)}.studio-memory-card>div{position:absolute;inset:auto .45rem .45rem;display:flex;align-items:center;justify-content:space-between;padding:.35rem .45rem;border-radius:12px;background:rgba(22,9,28,.76);backdrop-filter:blur(10px);color:#fff}.studio-memory-card button{border:0;background:transparent;color:#f1bdcf;font-weight:800;font-size:.68rem;cursor:pointer}.studio-memory-trash{margin-top:1.2rem}.studio-memory-trash>div{display:flex;gap:.5rem;overflow:auto;padding:.6rem 0}.studio-memory-trash-item img{width:90px;height:90px;object-fit:cover;border-radius:14px;display:block;margin-bottom:.3rem}.studio-memory-picker{margin:.8rem 0;border:1px solid rgba(176,119,181,.25);border-radius:18px;padding:.75rem;background:rgba(255,255,255,.045)}.studio-memory-picker summary{cursor:pointer;font-weight:800}.studio-memory-picker__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;margin:.7rem 0}.studio-memory-picker__grid label{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer}.studio-memory-picker__grid input{position:absolute;top:.3rem;left:.3rem;z-index:2}.studio-memory-picker__grid img{width:100%;height:100%;object-fit:cover}.studio-memory-picker__grid span{position:absolute;inset:auto 0 0;background:rgba(30,12,37,.75);color:#fff;font-size:.64rem;text-align:center;padding:.25rem}.studio-memory-picker__grid label:has(input:checked){outline:3px solid #d7a8da;outline-offset:2px}.studio-category-suggestion{margin-top:.4rem;font-size:.8rem;font-style:italic}.studio-category-suggestion button{border:0;background:transparent;color:inherit;text-decoration:underline;font-weight:800;cursor:pointer}.studio-product-category{display:inline-block;margin-bottom:.2rem;opacity:.65}.shop-primary-doors{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.shop-primary-doors>a{position:relative;min-height:170px;padding:1.2rem;border-radius:28px;overflow:hidden;text-decoration:none;color:#f8edf5;background:radial-gradient(circle at 80% 20%,rgba(204,154,210,.22),transparent 35%),linear-gradient(145deg,#2a1235,#49244f);border:1px solid rgba(238,201,236,.2);box-shadow:0 18px 55px rgba(25,10,31,.18);transition:transform .45s ease,box-shadow .45s ease}.shop-primary-doors>a:hover{transform:translateY(-5px) rotate(-.3deg);box-shadow:0 25px 65px rgba(25,10,31,.28)}.shop-primary-doors span{position:absolute;right:1.1rem;top:.8rem;font-size:2rem;animation:rtcCelestialFloat 4s ease-in-out infinite}.shop-primary-doors small,.shop-primary-doors strong,.shop-primary-doors em{display:block}.shop-primary-doors small{text-transform:uppercase;letter-spacing:.12em;opacity:.6}.shop-primary-doors strong{font-size:clamp(1.8rem,4vw,3rem);margin:.4rem 0}.shop-primary-doors em{opacity:.75}.shop-category-chips{display:flex;gap:.45rem;overflow:auto;margin:.4rem 0 1rem;padding:.2rem}.shop-category-chips a{white-space:nowrap;padding:.55rem .75rem;border-radius:999px;background:rgba(101,55,112,.12);text-decoration:none;color:inherit;border:1px solid rgba(125,76,136,.15)}
@keyframes rtcMusicPulse{50%{transform:rotate(-8deg) scale(1.12);filter:drop-shadow(0 0 8px rgba(231,183,229,.8))}}@keyframes rtcCelestialFloat{50%{transform:translateY(-7px) rotate(8deg);opacity:.72}}
.hero-photo,.shop-crystal-altar__ball,.journal-card,.shop-product-card{will-change:transform}.hero-photo:nth-child(2){animation:rtcPhotoBreathe 8s ease-in-out infinite}.hero-photo:nth-child(3){animation:rtcPhotoBreathe 9.5s ease-in-out infinite reverse}@keyframes rtcPhotoBreathe{50%{transform:translateY(-5px) rotate(.35deg)}}
@media (max-width:900px){.studio-big-choices--four{grid-template-columns:1fr 1fr}.studio-memory-grid{grid-template-columns:repeat(3,1fr)}.studio-memory-picker__grid{grid-template-columns:repeat(4,1fr)}.studio-spotify{top:4.65rem}}@media (max-width:620px){.studio-big-choices--four{grid-template-columns:1fr}.studio-memory-drop{align-items:stretch;flex-direction:column}.studio-memory-grid{grid-template-columns:repeat(2,1fr)}.studio-memory-picker__grid{grid-template-columns:repeat(3,1fr)}.shop-primary-doors{grid-template-columns:1fr}.studio-spotify{top:auto;bottom:1rem;right:.7rem}.studio-spotify__drawer{max-height:65vh;overflow:auto}}@media (prefers-reduced-motion:reduce){.hero-photo,.shop-primary-doors span,.studio-spotify__toggle span{animation:none!important}}

/* === RTC polish pass: compact About, brighter light mode, vault shelves, unified loaders === */
.loader p,
.studio-private-page .loader p,
body[class*="studio-"] .loader p {
  font-family:"DM Sans",sans-serif!important;
  font-weight:800!important;
  font-size:clamp(.92rem,2vw,1.12rem)!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}
.loader small,
.studio-private-page .loader small,
body[class*="studio-"] .loader small {
  font-family:"DM Mono",monospace!important;
  font-size:.72rem!important;
  letter-spacing:.08em!important;
}
.loader.is-internal-skip{display:none!important}

/* Public journal alignment + faces stay visible. */
.journal-section .section-heading--wide{align-items:flex-end;gap:1.2rem}
.journal-section .section-heading--wide>div{min-width:0}
.journal-section .section-kicker{max-width:36rem;margin-left:auto;text-align:right}
.journal-editorial-card__image img,
.archive-card__image img,
.latest-entry__photo-wrap img{object-position:center 22%!important}

/* Memory Box has distinct receptacles without becoming another huge page. */
.memory-receptacles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:.9rem 0}
.memory-receptacle{display:grid;gap:.18rem;min-height:112px;padding:.85rem;border-radius:20px;text-decoration:none;color:inherit;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);transition:transform .25s ease,background .25s ease,border-color .25s ease}
.memory-receptacle:hover,.memory-receptacle.is-active{transform:translateY(-3px);background:rgba(218,169,220,.12);border-color:rgba(230,190,229,.32)}
.memory-receptacle>span{font-size:1.3rem}.memory-receptacle strong{font-size:.98rem}.memory-receptacle small{opacity:.65}
.studio-memory-drop--sorted{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(260px,1.4fr) auto;align-items:end}
.memory-upload-fields{display:grid;gap:.55rem}.memory-upload-fields label{display:grid;gap:.28rem}.memory-upload-fields select,.memory-upload-fields input,.memory-card-meta select,.memory-card-meta input{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.07);color:inherit;padding:.62rem .7rem;font:inherit}
.memory-file-pick{min-height:86px;align-content:center}.memory-filter-row{display:flex;gap:.4rem;overflow:auto;padding:.1rem 0 .5rem}.memory-filter-row a{white-space:nowrap;text-decoration:none;color:inherit;padding:.5rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.04);font-weight:700;font-size:.75rem}.memory-filter-row a.is-active{background:#d8b0d9;color:#2c1734}
.studio-memory-grid--vault .studio-memory-card{aspect-ratio:auto;overflow:visible;background:rgba(255,255,255,.05)}
.studio-memory-grid--vault .studio-memory-card>img{aspect-ratio:1/1;border-radius:17px 17px 0 0;object-fit:cover}
.memory-card-meta{position:static!important;inset:auto!important;display:grid!important;gap:.38rem!important;padding:.55rem!important;border-radius:0 0 17px 17px!important;background:transparent!important;backdrop-filter:none!important;color:inherit!important}
.memory-card-meta>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.memory-card-meta button,.memory-card-trash button{border:0;background:transparent;color:#efb7d2;font-weight:800;cursor:pointer}.memory-card-trash{position:absolute;top:.4rem;right:.4rem;padding:.28rem .4rem;border-radius:999px;background:rgba(26,9,32,.8);backdrop-filter:blur(8px)}

/* Keep the Studio shelves exactly eight and visually button-like. */
.studio-shelf-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.studio-shelf-card{min-height:150px}

/* About: much less scrolling, contact is part of About. */
.about-page-main--compact{display:grid;gap:1rem;padding-bottom:1.5rem}
.about-hero--compact{min-height:0!important;padding-block:clamp(1.2rem,3vw,2rem)!important}
.about-hero--compact .about-hero__lead{max-width:42rem}
.about-mini-story{display:grid;grid-template-columns:minmax(240px,.78fr) 1.22fr;gap:1rem;align-items:center;padding:1rem;border-radius:28px;background:var(--paper,#2d1b35);border:1px solid rgba(255,255,255,.08)}
.about-mini-story figure{margin:0;min-height:290px;height:100%;border-radius:22px;overflow:hidden}.about-mini-story img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.about-mini-story h2{margin:.2rem 0 .45rem}.about-mini-story p{margin:.35rem 0}.about-mini-story blockquote{margin:.75rem 0;font-size:clamp(1.1rem,2vw,1.55rem)}
.about-contact-form{display:grid;grid-template-columns:.72fr 1.28fr;gap:1rem;padding:1rem;border-radius:28px;background:linear-gradient(145deg,rgba(111,63,119,.18),rgba(66,115,105,.09));border:1px solid rgba(255,255,255,.09)}
.about-contact-form__intro{padding:.6rem}.about-contact-form__intro h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.2rem 0}.about-contact-form__intro p{max-width:30rem}.contact-form--compact{padding:.85rem!important}.contact-form__two{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.contact-form--compact textarea{min-height:110px!important}

/* Light mode gets its own finished palette instead of diluted dark mode. */
html[data-theme="light"] body{background:#f7eff3;color:#281d2b}
html[data-theme="light"] .site-header{background:rgba(255,250,252,.9)!important;border-color:rgba(69,43,75,.14)!important;box-shadow:0 12px 35px rgba(78,49,79,.10)!important}
html[data-theme="light"] .site-nav a:not(.site-nav__studio){color:#3d2b43!important}
html[data-theme="light"] :is(.journal-filter-room--dark,.friends-unlock-card--dark,.shop-primary-doors>a,.shop-feature-card--dark,.shop-direct-contact){background:linear-gradient(145deg,#fffafd,#f0e3eb)!important;color:#291d2d!important;border-color:rgba(75,47,82,.14)!important;box-shadow:0 15px 38px rgba(79,48,80,.09)!important}
html[data-theme="light"] .journal-filter-room--dark .studio-control-label{color:#3a283f!important}
html[data-theme="light"] .mood-browser a,html[data-theme="light"] .tag-browser a{background:#fff!important;color:#3d2944!important;border:1px solid rgba(74,45,81,.16)!important;box-shadow:0 3px 12px rgba(78,48,82,.05)}
html[data-theme="light"] .mood-browser a:hover,html[data-theme="light"] .tag-browser a:hover,html[data-theme="light"] .mood-browser a.is-active,html[data-theme="light"] .tag-browser a.is-active{background:#5b3463!important;color:#fff!important;border-color:#5b3463!important}
html[data-theme="light"] .shop-primary-doors>a :is(small,strong,em),html[data-theme="light"] .shop-primary-doors>a span{color:#2f2034!important}
html[data-theme="light"] :is(.about-mini-story,.about-contact-form,.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.shop-product-card,.contact-form){background:#fffafd!important;color:#2c2030!important;border-color:rgba(72,43,78,.12)!important;box-shadow:0 14px 36px rgba(76,46,78,.08)!important}
html[data-theme="light"] :is(.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.about-mini-story,.about-contact-form) :is(h1,h2,h3,strong){color:#25192a!important}
html[data-theme="light"] :is(.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.about-mini-story,.about-contact-form) :is(p,small,em,span){--light-ink:#514057;color:var(--light-ink)}
html[data-theme="light"] .memory-receptacle{background:#fffafd;border-color:rgba(74,45,81,.12)}
html[data-theme="light"] .memory-receptacle.is-active{background:#ead7e8;color:#2c1b31}

/* Slightly stronger contrast for mystical shop tiles specifically. */
html[data-theme="light"] .home-shop-showcase__tile span{background:rgba(255,250,252,.94)!important;color:#2d1d32!important;border:1px solid rgba(72,43,78,.12)!important;text-shadow:none!important}
html[data-theme="light"] .home-shop-showcase__cta{background:linear-gradient(145deg,#f6e8f1,#ead9e7)!important;color:#2b1d30!important}

@media (max-width:900px){
  .memory-receptacles{grid-template-columns:1fr 1fr}.studio-memory-drop--sorted{grid-template-columns:1fr}.studio-shelf-grid{grid-template-columns:1fr 1fr!important}.about-contact-form{grid-template-columns:1fr}.about-mini-story{grid-template-columns:.8fr 1.2fr}.journal-section .section-kicker{text-align:left;margin-left:0}
}
@media (max-width:620px){
  .about-mini-story{grid-template-columns:1fr}.about-mini-story figure{min-height:220px}.contact-form__two{grid-template-columns:1fr}.memory-receptacles{grid-template-columns:1fr 1fr}.studio-memory-grid--vault{grid-template-columns:1fr 1fr}.studio-shelf-grid{grid-template-columns:1fr 1fr!important}.studio-shelf-card{min-height:132px}.journal-section .section-heading--wide{align-items:flex-start}
}


/* =========================================================
   AUG 20 POLISH — alignment, studio player, vaults, light/dark
   ========================================================= */

/* Tape: keep it only where tape exists, and make every scrap unmistakably pink. */
.archive-card__tape,.journal-entry__tape,.journal-entry__featured-tape,[class*="tape"]{
  background:linear-gradient(90deg,rgba(249,170,205,.78),rgba(232,148,190,.7))!important;
  border-color:rgba(255,225,239,.5)!important;
}

/* Public cards: orderly grid, playful movement only inside each slot. */
.journal-editorial-grid,.journal-archive__grid--editorial{align-items:stretch!important;grid-auto-rows:1fr!important}
.journal-editorial-card,.archive-card--editorial{height:100%!important;min-height:0!important;transform:translateZ(0);transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s ease!important}
.journal-editorial-card:hover,.archive-card--editorial:hover{transform:translateY(-7px) rotate(.35deg) scale(1.012)!important}
.journal-editorial-card:nth-child(even):hover,.archive-card--editorial:nth-child(even):hover{transform:translateY(-7px) rotate(-.35deg) scale(1.012)!important}
.journal-editorial-card__image,.archive-card__image{overflow:hidden!important}
.journal-editorial-card__image img,.archive-card__image img,.latest-entry__photo-wrap img,.about-photo img,.about-mini-story img,.home-about-teaser__photo img{object-position:center 18%!important}
.journal-editorial-card__body>a,.journal-all-link,.journal-section .button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:.72rem 1rem;border-radius:999px;font-weight:800}
.journal-editorial-card__body>a{margin-top:auto!important;width:100%;border:1px solid currentColor;text-decoration:none}
.journal-editorial-card__body{display:flex!important;flex-direction:column!important;height:100%!important}
.journal-card__tags{margin-bottom:.6rem}
.section-heading--wide{align-items:end!important}.section-heading--wide>div,.section-heading--wide .section-kicker{width:100%}.journal-section .section-kicker{text-align:right;max-width:42rem;margin-left:auto}

/* About: minimal, readable in BOTH themes. */
.about-page-main--compact{display:grid;gap:1rem!important;padding-block:1rem 2rem!important}
.about-hero--compact{padding:1rem!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(76,39,86,.88),rgba(34,27,39,.76))!important;border:1px solid rgba(255,255,255,.12)!important}
.about-hero--compact .about-hero__copy{padding:.5rem!important}
.about-hero--compact h1{font-family:"DM Sans",sans-serif!important;font-weight:800!important;color:#fff5fb!important;font-size:clamp(2rem,4vw,4rem)!important}
.about-hero--compact .about-hero__lead{font-family:"DM Sans",sans-serif!important;color:rgba(255,245,251,.82)!important;font-size:1rem!important;line-height:1.55!important}
.about-mini-story{padding:.8rem!important;min-height:0!important;background:rgba(52,29,60,.84)!important;color:#f9eef7!important}
.about-mini-story h2,.about-mini-story p,.about-mini-story blockquote,.about-mini-story .eyebrow{color:inherit!important}
.about-mini-story figure{min-height:220px!important;max-height:330px!important}
.about-contact-form{padding:.85rem!important;background:rgba(52,29,60,.84)!important;color:#f9eef7!important}
.about-contact-form h2,.about-contact-form p,.about-contact-form .eyebrow{color:inherit!important}
.about-contact-form .contact-form{background:rgba(255,255,255,.075)!important}
.contact-form-status--success{font-size:clamp(1.05rem,2vw,1.35rem)!important;font-weight:900!important;padding:1rem 1.15rem!important;border-radius:18px!important;background:rgba(118,185,154,.22)!important;border:2px solid rgba(156,226,190,.5)!important;animation:rtcSentPop .5s cubic-bezier(.2,.9,.2,1)}
@keyframes rtcSentPop{0%{transform:scale(.92);opacity:0}65%{transform:scale(1.035)}100%{transform:scale(1);opacity:1}}
html[data-theme="light"] .about-hero--compact,html[data-theme="light"] .about-mini-story,html[data-theme="light"] .about-contact-form{background:linear-gradient(145deg,#fffafd,#f5e8f0)!important;color:#332337!important;border-color:rgba(78,46,84,.14)!important;box-shadow:0 18px 45px rgba(71,40,75,.09)!important}
html[data-theme="light"] .about-hero--compact h1,html[data-theme="light"] .about-hero--compact .about-hero__lead,html[data-theme="light"] .about-mini-story :is(h2,p,blockquote,.eyebrow),html[data-theme="light"] .about-contact-form :is(h2,p,.eyebrow){color:#332337!important}
html[data-theme="light"] .about-contact-form .contact-form{background:#fff!important;color:#332337!important}

/* Light mode: full once-over with readable controls and mystical tiles. */
html[data-theme="light"] body{background:#fbf4f8!important;color:#2e2232!important}
html[data-theme="light"] :is(.journal-filter-room--dark,.friends-unlock-card--dark,.shop-primary-doors>a,.shop-feature-card--dark,.shop-direct-contact,.shop-product-card,.journal-editorial-card,.archive-card--editorial,.latest-entry__card){background:linear-gradient(150deg,#fffefe,#f6eaf1)!important;color:#2d2032!important;border-color:rgba(72,42,79,.16)!important}
html[data-theme="light"] :is(.journal-filter-room--dark,.friends-unlock-card--dark,.shop-primary-doors>a,.shop-feature-card--dark,.shop-direct-contact) :is(h1,h2,h3,strong,p,small,em,span){color:#2d2032!important}
html[data-theme="light"] .studio-control-label{color:#5d3a65!important;font-weight:900!important}
html[data-theme="light"] .mood-browser a,html[data-theme="light"] .tag-browser a{background:#fff!important;color:#3b2741!important;border:1px solid rgba(70,42,77,.18)!important;font-weight:800!important}
html[data-theme="light"] .mood-browser a.is-active,html[data-theme="light"] .tag-browser a.is-active,html[data-theme="light"] .mood-browser a:hover,html[data-theme="light"] .tag-browser a:hover{background:#613b6a!important;color:#fff!important}

/* Studio: bigger identity, centered constant Spotify player, minimizable chrome. */
.studio-private-header{position:sticky!important;top:0!important;z-index:1200!important;min-height:86px!important;padding:.8rem clamp(.75rem,2vw,1.4rem)!important;background:rgba(24,10,31,.72)!important;backdrop-filter:blur(24px) saturate(135%)!important;border-radius:0 0 24px 24px!important;transition:min-height .35s ease,padding .35s ease,background .35s ease!important}
.studio-mode-stamp strong{font-size:clamp(.9rem,1.4vw,1.15rem)!important;letter-spacing:.05em}.studio-mode-stamp small{font-size:.72rem!important}
.studio-private-logo{font-size:clamp(1.3rem,2.3vw,2rem)!important;font-weight:900!important}.studio-private-logo span{font-size:1.35em;color:#f0b8d6;display:inline-block;animation:rtcFlowerBreath 3s ease-in-out infinite}
.studio-clock-chip{min-width:132px!important}.studio-clock-chip strong{font-size:1.02rem!important}
.studio-header-minimize{position:absolute;right:.55rem;bottom:-.8rem;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#351740;color:#fff;cursor:pointer;z-index:4}
.studio-spotify{position:fixed!important;top:.55rem!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;z-index:1300!important;width:min(440px,42vw)!important}
.studio-spotify__toggle{width:100%!important;justify-content:center!important;padding:.72rem 1rem!important;font-size:.95rem!important;background:rgba(50,19,61,.93)!important;border:1px solid rgba(245,188,226,.3)!important;box-shadow:0 12px 36px rgba(11,3,16,.32),0 0 24px rgba(219,147,205,.08)!important}
.studio-spotify__drawer{max-height:70vh;overflow:auto}
.studio-header-is-minimized .studio-private-header{min-height:58px!important;padding:.42rem .75rem!important}
.studio-header-is-minimized .studio-private-nav,.studio-header-is-minimized .studio-account-strip,.studio-header-is-minimized .studio-mode-stamp,.studio-header-is-minimized .studio-private-logo,.studio-header-is-minimized .studio-view-site{opacity:0;pointer-events:none;height:0;overflow:hidden;margin:0;padding:0;border:0}
.studio-header-is-minimized .studio-mode-identity{display:block!important}.studio-header-is-minimized .studio-clock-chip{display:grid!important;position:relative!important;z-index:2}.studio-header-is-minimized .studio-spotify{top:.38rem!important}

/* Empty cards remain visible in dark mode. */
.studio-empty-state,.studio-choice-card{border-color:rgba(242,195,229,.18)!important}.studio-empty-state{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(214,156,210,.045))!important}.studio-empty-state h2{color:#fff4fb!important}.studio-empty-state p{color:rgba(255,240,249,.68)!important}.studio-choice-card--notes,.studio-choice-card--memory{background:linear-gradient(145deg,rgba(96,48,109,.32),rgba(43,67,63,.2))!important;color:#fff2fa!important}.studio-choice-card--notes :is(h2,p,strong,.tiny-label),.studio-choice-card--memory :is(h2,p,strong,.tiny-label){color:inherit!important}

/* Bigger prompt + 10 even hashtag choices. */
.studio-writing-prompt{padding:1rem 1.1rem!important}.studio-writing-prompt span{font-size:.68rem!important}.studio-writing-prompt button{font-size:1.08rem!important;font-weight:800!important;padding:.38rem .62rem!important;border-radius:999px!important;background:rgba(255,255,255,.48)!important}.studio-writing-prompt p{font-size:1.12rem!important;line-height:1.45!important}
.studio-tag-suggestions{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.5rem!important}.studio-tag-suggestions button{min-height:44px!important;font-size:.69rem!important;font-weight:800!important;text-align:center!important}

/* Quote jar + a wide song card across the bottom. */
.studio-keepsake-grid--tray{grid-template-columns:repeat(2,minmax(0,1fr))!important}.studio-song-keepsake{grid-column:1/-1!important}.studio-quote-keepsake{position:relative}.quote-generator-button,.quote-use-button{border:1px solid rgba(109,66,119,.16);border-radius:999px;padding:.55rem .75rem;background:#fff;color:#603a69;font-weight:850;cursor:pointer}.studio-generated-quote{margin:.7rem 0;padding:.75rem;border-radius:14px;background:rgba(117,87,141,.08);font:600 1.15rem/1.35 "Caveat",cursive}.quote-use-button{margin-bottom:.55rem;background:#613b6a;color:#fff}

/* Vault receptacles: clearer, larger iconography. */
.memory-receptacle span{font-size:clamp(2rem,4vw,3.2rem)!important}.memory-receptacle strong{font-size:1rem!important}.memory-receptacle{min-height:128px!important;display:grid!important;place-items:center!important;text-align:center!important}
.studio-memory-card img{object-position:center 20%!important}

/* Bigger visual language throughout, without making the page longer. */
.intro-doodle,.card-doodle,.shop-feature-card__doodle,.home-shop-showcase__tile span,.keepsake-icon,.studio-choice-card__icon{font-size:clamp(1.8rem,4vw,3.2rem)!important}
[data-burst] .card-doodle,[data-burst] .intro-doodle{filter:drop-shadow(0 0 12px rgba(238,178,220,.2))}

/* Footer animation: softer, lower contrast, more like a whisper. */
.studio-private-footer--alive{background:linear-gradient(90deg,rgba(31,13,37,.5),rgba(49,26,55,.42),rgba(31,13,37,.5))!important;border-top:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(16px)}
.studio-footer-saying{font-family:"Caveat",cursive!important;font-size:1.05rem!important;color:rgba(255,230,245,.78)!important;letter-spacing:.01em!important}.studio-footer-stars{opacity:.55!important;font-size:1.1rem!important;animation:rtcFooterTwinkle 5s ease-in-out infinite!important}@keyframes rtcFooterTwinkle{50%{opacity:.85;transform:translateY(-2px)}}

/* Public/login native soundtrack stays visually subordinate in Studio login. */
.studio-login-page .site-soundtrack-dock{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:1250;width:min(620px,calc(100vw - 2rem))}

@media(max-width:900px){.studio-spotify{width:min(390px,48vw)!important}.studio-tag-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.journal-section .section-kicker{text-align:left;margin-left:0}}
@media(max-width:680px){.studio-private-header{min-height:74px!important}.studio-spotify{top:auto!important;bottom:.75rem!important;left:50%!important;width:min(94vw,430px)!important}.studio-header-is-minimized .studio-spotify{top:auto!important;bottom:.75rem!important}.studio-private-logo{font-size:1.15rem!important}.studio-mode-stamp strong{font-size:.82rem!important}.studio-tag-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.studio-keepsake-grid--tray{grid-template-columns:1fr!important}.journal-editorial-card:hover,.archive-card--editorial:hover{transform:none!important}.journal-editorial-card:active,.archive-card--editorial:active{transform:scale(.985)!important}.about-hero--compact{padding:.8rem!important}.about-mini-story{grid-template-columns:1fr!important}.about-mini-story figure{min-height:190px!important;max-height:240px!important}}

/* Cute brand lockup + loader consistency. */
.public-jewel-page .logo{
  font-family:"DM Sans",sans-serif!important;
  font-weight:950!important;
  letter-spacing:-.075em!important;
  text-shadow:0 2px 0 rgba(255,255,255,.04),0 8px 28px rgba(233,156,209,.12);
}
.public-jewel-page .logo::before{content:"☾";display:inline-grid;place-items:center;margin-right:.18em;width:1.05em;height:1.05em;border-radius:50%;font-size:.58em;color:#f5c4df;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.35),rgba(206,120,190,.16) 42%,transparent 68%);box-shadow:0 0 20px rgba(224,139,201,.18);animation:rtcLogoMoon 5s ease-in-out infinite}
.public-jewel-page .logo::after{content:"✿"!important;font-size:1.18em!important;margin-left:.12em!important;color:#f2afd3!important;filter:drop-shadow(0 0 8px rgba(240,150,209,.24))}
@keyframes rtcLogoMoon{50%{transform:translateY(-2px) rotate(-7deg);box-shadow:0 0 28px rgba(224,139,201,.27)}}
html[data-theme="light"] .public-jewel-page .logo{color:#522d5c!important;text-shadow:0 8px 24px rgba(123,72,127,.12)}
html[data-theme="dark"] .public-jewel-page .logo{color:#fff0f8!important}

.loader>p,.loader--studio>p,body[class*="studio-"] .loader>p{font-family:"DM Sans",sans-serif!important;font-size:clamp(1.45rem,3.2vw,2.2rem)!important;font-weight:900!important;letter-spacing:-.04em!important;text-transform:none!important;color:#fff0f8!important}
.loader>small,.loader--studio>small,body[class*="studio-"] .loader>small{font-family:"DM Mono",monospace!important;font-size:.72rem!important;letter-spacing:.08em!important;color:rgba(255,235,247,.68)!important}

/* Faces before crops. */
.journal-editorial-card__image img,.archive-card__image img,.latest-entry__photo-wrap img,.about-photo img,.about-mini-story img,.home-about-teaser__photo img{object-position:center top!important}

/* Make all primary/selectable card actions visually even. */
:is(.journal-editorial-card__body,.latest-entry__copy,.home-about-teaser__copy,.shop-section__copy) > a.button,
.journal-editorial-card__body>a,.journal-all-link{min-height:48px!important;padding:.76rem 1rem!important;font-size:.86rem!important;font-weight:850!important}


/* =========================================================
   AUGUST 20 2026 — SOURCE-TRUTH STABILITY PASS
   One loader, one logo system, quiet stars, clean Studio chrome,
   mellow light mode. This block intentionally replaces all later
   emergency/star/logo overrides.
   ========================================================= */

:root {
  --rtc-logo-pink: #ffd0e6;
  --rtc-logo-pink-strong: #f0a4ca;
  --rtc-logo-glow: 0 0 5px rgba(255,208,232,.30), 0 0 13px rgba(238,159,203,.18);
}

/* ---------------------------------------------------------
   BACKGROUND STARFIELD — sparse, tiny, far away
   --------------------------------------------------------- */
.rtc-starfield {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.rtc-starfield__star {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--star-size);
  height: var(--star-size);
  color: rgba(255,232,244,var(--star-opacity));
  background: currentColor;
  clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%);
  transform: translate3d(var(--star-x),var(--star-y),0);
  filter: drop-shadow(0 0 1px rgba(255,220,239,.16));
  animation: rtcFarStarFloat var(--star-duration) ease-in-out var(--star-delay) infinite alternate;
}
@keyframes rtcFarStarFloat {
  from { transform: translate3d(var(--star-x),var(--star-y),0); opacity:.7; }
  to { transform: translate3d(calc(var(--star-x) + var(--star-drift)),calc(var(--star-y) + 34px),0); opacity:1; }
}
body > header,
body > main,
body > footer,
body > .site-soundtrack-dock,
body > .studio-private-header,
body > .studio-private-shell,
body > .studio-private-footer { position:relative; z-index:1; }
/* The page-transition curtain keeps body::after; stars never touch it. */

/* ---------------------------------------------------------
   ONE CONSISTENT LOADING SCREEN — public + Studio
   --------------------------------------------------------- */
.loader,
.loader--studio,
.public-jewel-page .loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: grid !important;
  place-content: center !important;
  gap: .72rem !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  overflow: hidden !important;
  isolation: isolate !important;
  color: #fff3fa !important;
  background:
    radial-gradient(circle at 50% 72%, rgba(135,74,123,.20), transparent 34rem),
    radial-gradient(circle at 22% 16%, rgba(92,62,119,.15), transparent 27rem),
    linear-gradient(155deg,#160e1d 0%,#24122c 54%,#17131f 100%) !important;
}
.loader.is-hidden { pointer-events:none !important; }
.loader > p,
.loader--studio > p,
body[class*="studio-"] .loader > p {
  position: relative !important;
  z-index: 60 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .36rem !important;
  margin: 0 !important;
  color: var(--rtc-logo-pink) !important;
  font-family: "Lobster Two", "Caveat", cursive !important;
  font-size: clamp(1.65rem,3vw,2.3rem) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: -.012em !important;
  text-transform: none !important;
  text-shadow: var(--rtc-logo-glow) !important;
}
.loader > p::before,
.loader--studio > p::before {
  content: "";
  width: 1.05em;
  height: 1.05em;
  flex: 0 0 auto;
  background: url("/favicon-crystal-ball.png?v=20260820") center/contain no-repeat;
  filter: drop-shadow(0 0 3px rgba(246,176,216,.18));
}
.loader > p::after,
.loader--studio > p::after {
  content: "✿  ✦";
  color: var(--rtc-logo-pink-strong);
  font: .55em/1 Georgia, serif;
  letter-spacing: .08em;
}
.loader > small,
.loader--studio > small,
body[class*="studio-"] .loader > small {
  position:relative !important;
  z-index:60 !important;
  margin:0 !important;
  color:rgba(255,230,244,.58) !important;
  font:500 .64rem/1.35 "DM Mono",monospace !important;
  letter-spacing:.055em !important;
  text-transform:none !important;
}
/* The actual source flower garden stays anchored to the center/bottom on every viewport. */
.loader .rtc-source-flower-field {
  position:absolute !important;
  inset:0 !important;
  z-index:8 !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  background:transparent !important;
}
.loader .rtc-source-flower-field .night {
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  transform:none !important;
  background:
    radial-gradient(circle at 50% 92%, rgba(104,151,136,.09), transparent 35%),
    radial-gradient(circle at 50% 62%, rgba(196,107,158,.07), transparent 30%) !important;
}
.loader .rtc-source-flower-field .flowers {
  position:absolute !important;
  left:50% !important;
  bottom:3.5vh !important;
  width:0 !important;
  height:0 !important;
  transform:translateX(-50%) scale(.50) !important;
  transform-origin:center bottom !important;
}
/* Subtle pinprick stars inside the loader, independent from the page starfield. */
.loader .rtc-source-flower-field .night::after {
  content:"";
  position:absolute;
  inset:0;
  opacity:.24;
  background-image:
    radial-gradient(circle at 14% 18%,rgba(255,236,246,.9) 0 1px,transparent 1.3px),
    radial-gradient(circle at 33% 31%,rgba(255,236,246,.7) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 61% 17%,rgba(255,236,246,.8) 0 .9px,transparent 1.25px),
    radial-gradient(circle at 78% 38%,rgba(255,236,246,.75) 0 .8px,transparent 1.2px),
    radial-gradient(circle at 89% 13%,rgba(255,236,246,.7) 0 1px,transparent 1.3px);
}
/* One bunny treatment everywhere. */


/* ---------------------------------------------------------
   BRAND — logo font only; never page headings
   --------------------------------------------------------- */
.logo,
.footer-logo,
.public-jewel-page .logo,
.studio-private-logo {
  color:var(--rtc-logo-pink) !important;
  font-family:"Lobster Two","Caveat",cursive !important;
  font-size:clamp(1.62rem,2.6vw,2.05rem) !important;
  font-weight:700 !important;
  font-style:normal !important;
  line-height:1 !important;
  letter-spacing:-.012em !important;
  text-transform:none !important;
  text-shadow:var(--rtc-logo-glow) !important;
}
.logo::before,
.footer-logo::before {
  content:"" !important;
  display:inline-block !important;
  width:.92em !important;
  height:.92em !important;
  margin-right:.28em !important;
  vertical-align:-.08em !important;
  background:url("/favicon-crystal-ball.png?v=20260820") center/contain no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 0 3px rgba(246,176,216,.16)) !important;
}
.logo::after {
  content:"  ✿ ✦" !important;
  color:var(--rtc-logo-pink-strong) !important;
  font:.58em/1 Georgia,serif !important;
  letter-spacing:.05em !important;
  text-shadow:0 0 5px rgba(241,161,205,.18) !important;
}
.studio-private-logo .logo-crystal {
  display:inline-block;
  width:.92em;
  height:.92em;
  margin-right:.28em;
  background:url("/favicon-crystal-ball.png?v=20260820") center/contain no-repeat;
  filter:drop-shadow(0 0 3px rgba(246,176,216,.16));
}
.studio-private-logo::before { content:none !important; }
.studio-private-logo::after { content:"  ✿ ✦" !important; color:var(--rtc-logo-pink-strong) !important; font:.58em/1 Georgia,serif !important; }
.footer-logo { display:inline-flex !important; align-items:center; width:max-content; }
.footer-logo::after {
  content:"  ✿  ❀" !important;
  color:#efa7ca !important;
  font:.62em/1 Georgia,serif !important;
  transform-origin:center;
  animation:rtcFooterFlowers 6.8s ease-in-out infinite;
}
@keyframes rtcFooterFlowers {
  0%,100% { transform:translateY(0) rotate(-1deg); opacity:.72; }
  50% { transform:translateY(-3px) rotate(2deg); opacity:.96; }
}
html[data-theme="light"] :is(.logo,.footer-logo,.public-jewel-page .logo) {
  color:#6d3f66 !important;
  text-shadow:0 0 5px rgba(198,119,164,.16) !important;
}

/* ---------------------------------------------------------
   ROUNDED FOOTERS + softer Studio saying
   --------------------------------------------------------- */
.site-footer,
.studio-private-footer--alive {
  border-radius:1.35rem !important;
}
.public-jewel-page .site-footer {
  margin-bottom:1.25rem !important;
  padding:1.4rem !important;
  background:rgba(31,18,39,.44) !important;
  border:1px solid rgba(238,205,225,.10) !important;
  box-shadow:0 14px 40px rgba(8,3,12,.13) !important;
}
.studio-private-footer--alive {
  width:min(calc(100% - 2rem),1180px) !important;
  margin:2.2rem auto 1.6rem !important;
  padding:1.15rem 1.35rem !important;
  border:1px solid rgba(255,255,255,.09) !important;
  background:linear-gradient(90deg,rgba(47,18,54,.52),rgba(68,30,72,.42),rgba(47,18,54,.52)) !important;
  box-shadow:0 14px 40px rgba(16,5,21,.16) !important;
  backdrop-filter:blur(18px) saturate(115%) !important;
  text-transform:none !important;
}
.studio-footer-saying {
  display:inline-flex !important;
  align-items:center !important;
  gap:.58rem !important;
  color:rgba(255,226,242,.80) !important;
  font:600 1.13rem/1.2 "Caveat",cursive !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-shadow:0 0 7px rgba(255,184,220,.20) !important;
  transition:opacity .65s ease,transform .65s ease,filter .65s ease !important;
}
.studio-footer-saying::before {
  content:"•";
  color:#efa7ca;
  font:1.1rem/1 Georgia,serif;
  opacity:.72;
  text-shadow:0 0 4px rgba(255,166,207,.18);
}
.studio-footer-saying.is-changing { opacity:.18 !important; transform:translateY(3px) !important; filter:blur(1px) !important; }
.studio-footer-stars { opacity:.28 !important; }

/* ---------------------------------------------------------
   STUDIO HEADER — nothing overlaps; player gets its own row
   --------------------------------------------------------- */
.studio-private-header {
  position:sticky !important;
  top:.35rem !important;
  z-index:1200 !important;
  width:min(calc(100% - 1rem),1240px) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto auto !important;
  grid-template-areas:
    "identity account utility"
    "nav nav nav"
    "music music music" !important;
  gap:.48rem .7rem !important;
  align-items:center !important;
  margin:.35rem auto 0 !important;
  padding:.62rem .72rem .7rem !important;
  border:1px solid rgba(255,216,242,.13) !important;
  border-radius:1rem !important;
  background:rgba(54,19,61,.84) !important;
  box-shadow:0 12px 34px rgba(12,4,18,.25) !important;
  backdrop-filter:blur(22px) saturate(125%) !important;
}
.studio-mode-identity { grid-area:identity !important; min-width:0; }
.studio-account-strip { grid-area:account !important; align-self:center !important; }
.studio-view-site { grid-area:utility !important; }
.studio-private-nav { grid-area:nav !important; }
.studio-header-music { grid-area:music !important; display:flex !important; justify-content:center !important; min-width:0 !important; width:100% !important; }
.studio-header-music .site-soundtrack-dock--native {
  position:relative !important;
  inset:auto !important;
  z-index:1 !important;
  width:min(100%,720px) !important;
  margin:0 auto !important;
  padding:.44rem .52rem !important;
  border-radius:.9rem !important;
  box-shadow:0 9px 24px rgba(12,4,18,.18) !important;
}
.studio-header-music .native-player__play { width:2.45rem !important; height:2.45rem !important; }
.studio-header-music .native-player__timeline { margin-top:.28rem !important; padding-top:.3rem !important; }
.studio-private-nav { padding-top:.46rem !important; }
.studio-private-nav a { min-height:2.1rem !important; padding:.48rem .6rem !important; font-size:.66rem !important; }
.studio-private-nav .studio-nav-lock {
  min-height:2.1rem !important;
  padding:.45rem .58rem !important;
  font-size:.57rem !important;
  font-weight:700 !important;
  opacity:.78;
}
.studio-private-nav .studio-nav-lock span { font-size:.78rem !important; }
.studio-user-badge span {
  display:inline !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  color:rgba(255,239,248,.76) !important;
  font:700 .57rem/1.2 "DM Mono",monospace !important;
  letter-spacing:.055em !important;
  text-transform:uppercase !important;
  white-space:nowrap;
}
/* The page cue is intentionally the one different accent. */
.studio-mode-stamp small {
  color:#c7ff63 !important;
  text-shadow:0 0 5px rgba(190,255,84,.14) !important;
  font-weight:650 !important;
}
.studio-view-site,
.studio-login-back-site {
  border:1px solid rgba(255,190,220,.58) !important;
  border-radius:999px !important;
  background:linear-gradient(145deg,#f1bfd4,#d99ab9) !important;
  color:#4b203b !important;
  box-shadow:0 0 0 3px rgba(244,171,209,.06),0 0 16px rgba(245,153,205,.22),0 8px 19px rgba(21,6,25,.15) !important;
  font-weight:800 !important;
  text-decoration:none !important;
  animation:rtcBackSiteFloat 4s ease-in-out infinite !important;
}
.studio-view-site { min-height:2.25rem !important; padding:.52rem .74rem !important; font-size:.56rem !important; }
.studio-site-spark { color:#fff1f8 !important; }
@keyframes rtcBackSiteFloat { 0%,100%{translate:0 0} 50%{translate:0 -2px} }

/* Flipped-up header still says where she is and keeps the useful buttons. */
.studio-header-is-minimized .studio-private-header {
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:
    "identity utility"
    "nav nav"
    "music music" !important;
  padding:.42rem .58rem !important;
}
.studio-header-is-minimized .studio-private-logo,
.studio-header-is-minimized .studio-mode-stamp,
.studio-header-is-minimized .studio-clock-chip,
.studio-header-is-minimized .studio-private-nav,
.studio-header-is-minimized .studio-header-music { display:flex !important; }
.studio-header-is-minimized .studio-account-strip { display:none !important; }
.studio-header-is-minimized .studio-private-nav { overflow-x:auto; flex-wrap:nowrap !important; }
.studio-header-is-minimized .studio-header-music .native-player__timeline { display:none !important; }

/* Login header has the same small player, never bisecting the login card. */
.studio-login-page .studio-private-header {
  grid-template-columns:minmax(0,1fr) auto !important;
  grid-template-areas:"identity utility" "music music" !important;
}
.studio-login-page .studio-mode-stamp,
.studio-login-page .studio-clock-chip { display:none !important; }

/* ---------------------------------------------------------
   MOBILE STUDIO — compact player + tactile navigation
   --------------------------------------------------------- */
@media (max-width:760px) {
  .rtc-starfield__star {
    animation-name:rtcFarStarSnow;
    animation-timing-function:linear;
    animation-iteration-count:infinite;
  }
  @keyframes rtcFarStarSnow {
    from { transform:translate3d(var(--star-x),var(--star-y),0); opacity:.55; }
    to { transform:translate3d(calc(var(--star-x) + var(--star-drift)),calc(var(--star-y) + 118vh),0); opacity:.9; }
  }
  .studio-private-header,
  .studio-login-page .studio-private-header {
    width:calc(100% - .5rem) !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "identity utility"
      "nav nav"
      "music music" !important;
    gap:.42rem !important;
    padding:.52rem !important;
  }
  .studio-account-strip { display:none !important; }
  .studio-mode-identity { display:grid !important; grid-template-columns:auto minmax(0,1fr) !important; gap:.36rem .5rem !important; }
  .studio-clock-chip { grid-row:1 / span 2; }
  .studio-private-logo { display:inline-flex !important; align-items:center; font-size:1.35rem !important; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .studio-mode-stamp { min-width:0; }
  .studio-mode-stamp strong { font-size:.74rem !important; }
  .studio-mode-stamp small { font-size:.5rem !important; max-width:13rem !important; }
  .studio-view-site { min-height:2.22rem !important; padding:.48rem .62rem !important; font-size:.51rem !important; white-space:nowrap; }
  .studio-private-nav {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.34rem !important;
    overflow:visible !important;
    border-top:1px solid rgba(255,255,255,.08) !important;
  }
  .studio-private-nav a {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.3rem !important;
    min-height:2.75rem !important;
    padding:.58rem .35rem !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:.75rem !important;
    background:rgba(255,255,255,.045) !important;
    font-size:.58rem !important;
    text-align:center;
  }
  .studio-private-nav a.is-active { background:rgba(214,130,180,.15) !important; border-color:rgba(235,169,206,.24) !important; }
  .studio-private-nav .studio-nav-lock { font-size:.52rem !important; opacity:.76; }
  .studio-header-music .site-soundtrack-dock--native {
    width:100% !important;
    padding:.42rem .46rem !important;
    border-radius:.82rem !important;
  }
  .studio-header-music .native-player__main { grid-template-columns:auto minmax(0,1fr) auto !important; gap:.42rem !important; }
  .studio-header-music .native-player__play { width:2.35rem !important; height:2.35rem !important; }
  .studio-header-music .native-player__eyebrow { display:none !important; }
  .studio-header-music .native-player__identity strong { font-size:.78rem !important; }
  .studio-header-music .native-player__identity small { display:none !important; }
  .studio-header-music .native-player__timeline { display:none !important; }
  .studio-header-music .native-player__transport { gap:.16rem !important; }
  .studio-header-music .native-player__transport button { width:1.9rem !important; height:1.9rem !important; border-radius:.58rem !important; }
  .studio-header-music .native-player__transport [data-soundtrack-prev] { display:none !important; }
  .studio-header-music .native-player__playlist { left:0 !important; right:0 !important; top:calc(100% + .28rem) !important; max-height:55vh !important; }
  .loader .rtc-source-flower-field .flowers { bottom:5vh !important; transform:translateX(-50%) scale(.43) !important; }
  
  .site-footer,
  .studio-private-footer--alive { width:calc(100% - 1rem) !important; margin-left:auto !important; margin-right:auto !important; }
}

/* ---------------------------------------------------------
   SHOP HOME STICKER + Studio shop button
   --------------------------------------------------------- */
.shop-sticker {
  margin-top:2rem !important;
  padding:.75rem 1rem !important;
  font-size:clamp(1.18rem,2vw,1.42rem) !important;
  line-height:1.05 !important;
}
.studio-shop-page .studio-list-intro > .button.button-primary {
  min-height:3.45rem !important;
  padding:.94rem 1.35rem !important;
  border-color:rgba(84,37,79,.68) !important;
  background:linear-gradient(135deg,#f4b5d0,#dc8fb7) !important;
  color:#3b1834 !important;
  box-shadow:0 7px 0 rgba(65,24,62,.25),0 12px 27px rgba(17,5,20,.18) !important;
  font-size:.8rem !important;
  font-weight:800 !important;
}

/* ---------------------------------------------------------
   BASURA shortcut — OPEN BASURA centered between two cans
   --------------------------------------------------------- */
.studio-basura-shortcut { grid-template-columns:auto minmax(0,1fr) !important; }
.studio-basura-shortcut > b {
  grid-column:1 / -1 !important;
  justify-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.58rem !important;
  min-height:2.55rem !important;
  padding:.65rem 1rem !important;
  font-size:.72rem !important;
}
.studio-basura-shortcut > b span { font-size:1rem; }

/* ---------------------------------------------------------
   MEMORY BOX / BASURA forms stay readable
   --------------------------------------------------------- */
.memory-folder-stack { display:grid; gap:1rem; }
.memory-folder { padding:.9rem; border:1px solid rgba(255,255,255,.10); border-radius:1.2rem; background:rgba(255,255,255,.05); }
.memory-folder__head { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:.85rem; }
.memory-folder__head h2 { margin:0; color:#fff7fb; font-size:clamp(1.6rem,2.6vw,2.25rem); }
.memory-folder__head small { color:rgba(255,235,245,.72); }
.memory-card-meta,
.memory-card-meta input,
.memory-card-meta select,
.memory-card-meta button { color:#412945 !important; }
.memory-card-meta input,
.memory-card-meta select { background:#fff7fb !important; border-color:rgba(110,71,101,.18) !important; }
.memory-card-meta input::placeholder { color:#976e8b !important; }
.studio-trash-batch { display:grid; gap:.9rem; margin-bottom:1.15rem; }
.studio-trash-batch__actions { display:flex; justify-content:space-between; align-items:center; gap:.8rem; padding:.8rem .9rem; border:1px solid rgba(255,255,255,.10); border-radius:1rem; background:rgba(255,255,255,.05); }
.studio-trash-batch__actions div:last-child { display:flex; gap:.5rem; flex-wrap:wrap; }
.studio-trash-select { display:grid; justify-items:center; gap:.28rem; color:rgba(255,240,247,.76); font:.62rem/1.2 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.07em; }
.studio-trash-select input { width:1.05rem; height:1.05rem; accent-color:#e7a1c4; }
.studio-trash-list article { grid-template-columns:auto 5.5rem minmax(0,1fr) !important; }

/* ---------------------------------------------------------
   MELLOW LIGHT MODE — dusty pink/violet, never white-hot
   --------------------------------------------------------- */
html[data-theme="light"] .public-jewel-page {
  --j-text:#392c3d;
  --j-muted:#645568;
  --j-faint:#7c6a7f;
  --j-line:rgba(83,57,87,.15);
  --j-card:rgba(239,226,237,.88);
  --j-card-solid:#ead9e6;
  color:var(--j-text) !important;
  background:
    radial-gradient(circle at 10% 8%,rgba(192,119,158,.15),transparent 27rem),
    radial-gradient(circle at 90% 20%,rgba(130,105,169,.12),transparent 30rem),
    radial-gradient(circle at 50% 78%,rgba(159,112,156,.11),transparent 35rem),
    linear-gradient(160deg,#e9dce6 0%,#e3d5e1 48%,#ddd6e7 112%) !important;
}
html[data-theme="light"] .public-jewel-page::before { opacity:.08 !important; }
html[data-theme="light"] .public-jewel-page .site-header {
  background:rgba(226,207,220,.78) !important;
  border-color:rgba(91,62,94,.14) !important;
  box-shadow:0 11px 30px rgba(79,51,79,.08) !important;
}
html[data-theme="light"] .site-soundtrack-dock--native {
  color:#4d3554 !important;
  border-color:rgba(101,65,108,.13) !important;
  background:linear-gradient(145deg,rgba(236,219,232,.92),rgba(225,211,231,.90),rgba(217,220,232,.84)) !important;
  box-shadow:0 10px 27px rgba(78,50,85,.08) !important;
}
html[data-theme="light"] :is(.journal-filter-room--dark,.friends-unlock-card--dark,.shop-primary-doors>a,.shop-feature-card--dark,.shop-direct-contact,.shop-page-intro__note--dark,.shop-library-ribbon) {
  background:linear-gradient(145deg,#eadbe7,#e2d5e7) !important;
  color:#37283b !important;
  border-color:rgba(83,56,88,.14) !important;
  box-shadow:0 13px 32px rgba(78,48,78,.07) !important;
}
html[data-theme="light"] :is(.shop-primary-doors>a,.shop-page-intro__note--dark,.shop-library-ribbon) :is(small,strong,em,p,span) { color:#3e2e42 !important; }
html[data-theme="light"] :is(.about-hero--compact,.about-mini-story,.about-contact-form,.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.shop-product-card,.policy-grid article) {
  background:linear-gradient(145deg,#efe3eb,#e7dbe7) !important;
  color:#382a3d !important;
  border-color:rgba(83,55,89,.13) !important;
  box-shadow:0 13px 34px rgba(76,46,78,.07) !important;
}
html[data-theme="light"] :is(.about-hero--compact,.about-mini-story,.about-contact-form,.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.shop-product-card,.policy-grid article) :is(h1,h2,h3,strong) { color:#302236 !important; }
html[data-theme="light"] :is(.about-hero--compact,.about-mini-story,.about-contact-form,.archive-card--editorial,.journal-editorial-card,.latest-entry__card,.shop-product-card,.policy-grid article) :is(p,small,em) { color:#5d4e62 !important; }
html[data-theme="light"] .about-contact-form .contact-form,
html[data-theme="light"] .contact-form input,
html[data-theme="light"] .contact-form textarea {
  background:#eadde8 !important;
  color:#382a3d !important;
  border-color:rgba(83,55,89,.15) !important;
}
html[data-theme="light"] .contact-form input::placeholder,
html[data-theme="light"] .contact-form textarea::placeholder { color:#8a7486 !important; }
html[data-theme="light"] .public-jewel-page .site-footer {
  background:rgba(220,202,216,.60) !important;
  border-color:rgba(87,60,90,.13) !important;
  color:#625267 !important;
}
html[data-theme="light"] .shop-sticker { color:#70445f !important; background:rgba(226,197,214,.72) !important; }

@media (max-width:600px) {
  .studio-trash-batch__actions,
  .memory-folder__head { flex-direction:column; align-items:flex-start; }
  .studio-shop-page .studio-list-intro > .button.button-primary { width:100%; min-height:3.6rem !important; font-size:.84rem !important; }
  .studio-private-footer--alive { margin:1.45rem auto 1rem !important; padding:1rem !important; }
  .studio-footer-saying { font-size:1.04rem !important; }
}

@media (prefers-reduced-motion:reduce) {
  .rtc-starfield__star,
  .footer-logo::after,
  .studio-view-site,
  .studio-login-back-site { animation:none !important; }
}

/* =========================================================
   AUGUST 20 2026 — RABBIT RESTORE + SOFT STAR CASCADE
   Final safeguard: keep the handmade rabbit visible and let
   the small four-point stars drift/twinkle gently in back.
   ========================================================= */

.rtc-starfield {
  z-index: 0 !important;
  opacity: 1 !important;
}
.rtc-starfield__star {
  display: block !important;
  visibility: visible !important;
  opacity: var(--star-opacity) !important;
  width: var(--star-size) !important;
  height: var(--star-size) !important;
  color: rgba(255,232,244,var(--star-opacity)) !important;
  background: currentColor !important;
  clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%) !important;
  filter: drop-shadow(0 0 .65px rgba(255,224,241,.14)) !important;
  animation:
    rtcSoftStarCascade var(--star-duration) linear var(--star-delay) infinite,
    rtcSoftStarTwinkle var(--star-twinkle-duration) ease-in-out var(--star-twinkle-delay) infinite alternate !important;
  will-change: transform, opacity;
}
@keyframes rtcSoftStarCascade {
  from {
    transform: translate3d(var(--star-x),var(--star-y),0) rotate(var(--star-rotation));
  }
  to {
    transform: translate3d(calc(var(--star-x) + var(--star-drift)),calc(var(--star-y) + 138vh),0) rotate(calc(var(--star-rotation) + 8deg));
  }
}
@keyframes rtcSoftStarTwinkle {
  0%, 100% { opacity: var(--star-opacity-low); filter: drop-shadow(0 0 .45px rgba(255,224,241,.08)); }
  45% { opacity: var(--star-opacity); filter: drop-shadow(0 0 .65px rgba(255,224,241,.14)); }
  68% { opacity: var(--star-opacity-mid); filter: drop-shadow(0 0 .5px rgba(255,224,241,.10)); }
}

/* Rabbit is intentionally independent of the flower animation and loader text. */





@media (max-width: 760px) {
  
}

@media (prefers-reduced-motion: reduce) {
  .rtc-starfield__star { animation: none !important; opacity: var(--star-opacity-mid) !important; }
  
}

/* =========================================================
   AUGUST 20 2026 — RABBIT / DISTANT STAR CASCADE / WORKTABLE
   Small, final overrides only. No loader stacking changes.
   ========================================================= */

/* Keep the starfield behind every real UI layer. */
.rtc-starfield {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  opacity: 1 !important;
}
.rtc-starfield__star {
  display: block !important;
  visibility: visible !important;
  width: var(--star-size) !important;
  height: var(--star-size) !important;
  color: rgba(255,235,247,var(--star-opacity)) !important;
  background: currentColor !important;
  clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%) !important;
  filter: drop-shadow(0 0 .6px rgba(255,232,246,.10)) !important;
  animation:
    rtcDistantStarCascade var(--star-duration) linear var(--star-delay) infinite,
    rtcDistantStarTwinkle var(--star-twinkle-duration) ease-in-out var(--star-twinkle-delay) infinite alternate !important;
  will-change: transform, opacity;
}
@keyframes rtcDistantStarCascade {
  from {
    transform: translate3d(var(--star-x),var(--star-y),0) rotate(var(--star-rotation));
  }
  to {
    transform: translate3d(calc(var(--star-x) + var(--star-drift)),calc(var(--star-y) + 142vh),0) rotate(calc(var(--star-rotation) + 7deg));
  }
}
@keyframes rtcDistantStarTwinkle {
  0%,100% { opacity: var(--star-opacity-low); }
  42% { opacity: var(--star-opacity); }
  68% { opacity: var(--star-opacity-mid); }
}

/*
  IMPORTANT: the previous rabbit used !important on left while its keyframes
  also animated left. The important declaration wins, leaving the rabbit
  permanently offscreen. The runner now stays at left:0 and only animates
  transform, so the handmade bunny cannot get pinned outside the viewport.
*/










/* The worktable showcase was being visually crushed by the huge global tile
   label rule. Give the photos more room and keep PENS / SOAPS fully readable. */
.home-page .shop-section--editorial,
.public-jewel-page.home-page .shop-section--editorial {
  grid-template-columns:minmax(250px,.60fr) minmax(0,1.40fr) !important;
  gap:clamp(2rem,5vw,4.5rem) !important;
}
.home-page .shop-section__copy { max-width:34rem; }
.home-page .home-shop-showcase,
.home-page .home-shop-showcase__mosaic {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
}
.home-page .home-shop-showcase__tile span {
  left:.48rem !important;
  right:auto !important;
  bottom:.48rem !important;
  max-width:calc(100% - .96rem) !important;
  padding:.34rem .5rem !important;
  border-radius:999px !important;
  font:700 clamp(.68rem,1vw,.92rem)/1 "DM Mono",monospace !important;
  letter-spacing:.02em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-shadow:none !important;
}

@media (max-width: 900px) {
  .home-page .shop-section--editorial,
  .public-jewel-page.home-page .shop-section--editorial { grid-template-columns:1fr !important; }
  .home-page .shop-section__copy { max-width:42rem; }
}
@media (max-width: 760px) {
  
  .home-page .home-shop-showcase__tile span { font-size:.72rem !important; }
}
@media (prefers-reduced-motion: reduce) {
  .rtc-starfield__star { animation:none !important; opacity:var(--star-opacity-mid) !important; }
  
}


/* =========================================================
   AUGUST 20 2026 — STAR VISIBILITY + LOGIN PLAYER CENTER
   Authoritative final overrides only. The rabbit/flowers are untouched.
   ========================================================= */

/* The star color is intentionally opaque here; opacity is controlled once by
   the animation. Older rules applied alpha twice, making the stars effectively
   invisible on the dark plum background. */
.rtc-starfield {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  user-select: none !important;
}

.rtc-starfield__star {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  display: block !important;
  visibility: visible !important;
  width: var(--star-size) !important;
  height: var(--star-size) !important;
  color: rgb(255 238 248) !important;
  background: currentColor !important;
  clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0% 50%, 40% 40%) !important;
  filter: drop-shadow(0 0 .55px rgba(255,226,242,.12)) !important;
  opacity: var(--star-opacity-mid) !important;
  animation:
    rtcSpaceTravelCascade var(--star-duration) linear var(--star-delay) infinite,
    rtcSpaceTravelTwinkle var(--star-twinkle-duration) ease-in-out var(--star-twinkle-delay) infinite alternate !important;
  will-change: transform, opacity !important;
}

@keyframes rtcSpaceTravelCascade {
  0% {
    transform: translate3d(var(--star-x), var(--star-y), 0) rotate(var(--star-rotation)) scale(.88);
  }
  55% {
    transform: translate3d(var(--star-x), calc(var(--star-y) + 70vh), 0) rotate(var(--star-rotation)) scale(.98);
  }
  100% {
    transform: translate3d(calc(var(--star-x) + var(--star-drift)), calc(var(--star-y) + 136vh), 0) rotate(var(--star-rotation)) scale(1.08);
  }
}

@keyframes rtcSpaceTravelTwinkle {
  0%, 100% { opacity: var(--star-opacity-low); }
  33% { opacity: var(--star-opacity-mid); }
  58% { opacity: var(--star-opacity); }
  76% { opacity: var(--star-opacity-mid); }
}

/* In mellow light mode the stars are dusty violet instead of bright white. */
html[data-theme="light"] .rtc-starfield__star {
  color: rgb(111 83 126) !important;
  filter: drop-shadow(0 0 .45px rgba(111,83,126,.08)) !important;
}

/* The login soundtrack belongs to the center of its own header row. This also
   neutralizes an older fixed-position login rule still present earlier in CSS. */
.studio-login-page .studio-header-music {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  place-items: center !important;
  justify-self: stretch !important;
}

.studio-login-page .studio-header-music .site-soundtrack-dock--native,
.studio-login-page .site-soundtrack-dock--native {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: min(680px, 100%) !important;
  margin: .1rem auto 0 !important;
}

@media (max-width: 760px) {
  .studio-login-page .studio-header-music .site-soundtrack-dock--native,
  .studio-login-page .site-soundtrack-dock--native {
    width: min(100%, 430px) !important;
    margin-inline: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rtc-starfield__star {
    animation: none !important;
    opacity: var(--star-opacity-mid) !important;
    transform: translate3d(var(--star-x), calc(var(--star-y) + 76vh), 0) rotate(var(--star-rotation)) !important;
  }
}

/* =========================================================
   RACHEL TAKES CARE — CANONICAL HOPPING RABBIT
   SOURCE OF TRUTH: user-supplied rabbit.css (2026-08-20)

   The rabbit/cloud CSS and hop/kick/cloudy keyframes below are
   the supplied Compass/SCSS translated only into browser CSS.
   Do not redesign, substitute, retime, or reinterpret this bunny.
   ========================================================= */

/* Outer screen travel is separate from the supplied bunny animation. */
.loader .rtc-source-bunny-runner,
.loader--studio .rtc-source-bunny-runner,
.public-jewel-page .loader .rtc-source-bunny-runner {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  z-index: 85 !important;
  left: 0 !important;
  bottom: clamp(1.15rem, 3vh, 2rem) !important;
  width: 8rem !important;
  height: 7rem !important;
  overflow: visible !important;
  font-size: 15px !important;
  pointer-events: none !important;
  animation: rtcCanonicalRabbitCross 5.15s linear -1.05s both !important;
}

/* Exact browser-CSS translation of the supplied .rabbit rule. */
.loader .rtc-source-bunny-runner .rabbit,
.loader--studio .rtc-source-bunny-runner .rabbit,
.public-jewel-page .loader .rtc-source-bunny-runner .rabbit {
  width: 5em;
  height: 3em;
  background: #ffffff;
  border-radius: 70% 90% 60% 50%;
  position: relative;
  box-shadow: -0.2em 1em 0 -0.75em rgba(30, 11, 38, .38);
  transform: rotate(0deg) translate(-2em, 0);
  animation: hop 1s infinite linear !important;
  z-index: 1;
}

/* tail, eye, feet */
.loader .rtc-source-bunny-runner .rabbit::before,
.loader--studio .rtc-source-bunny-runner .rabbit::before,
.public-jewel-page .loader .rtc-source-bunny-runner .rabbit::before {
  content: "";
  position: absolute;
  width: 1em;
  height: 1em;
  background: white;
  border-radius: 100%;
  top: 0.5em;
  left: -0.3em;
  box-shadow:
    4em 0.4em 0 -0.35em #3f3334,
    0.5em 1em 0 white,
    4em 1em 0 -0.3em white,
    4em 1em 0 -0.3em white,
    4em 1em 0 -0.4em white;
  animation: kick 1s infinite linear !important;
}

/* ears */
.loader .rtc-source-bunny-runner .rabbit::after,
.loader--studio .rtc-source-bunny-runner .rabbit::after,
.public-jewel-page .loader .rtc-source-bunny-runner .rabbit::after {
  content: "";
  position: absolute;
  width: .75em;
  height: 2em;
  background: white;
  border-radius: 50% 100% 0 0;
  transform: rotate(-30deg);
  right: 1em;
  top: -1em;
  border-top: 1px solid #f7f5f4;
  border-left: 1px solid #f7f5f4;
  box-shadow: -0.5em 0em 0 -0.1em white;
}

/* Rabbit trail: the bunny stays canonical, but the former white cloud shapes
   are now a light dust kick-up. We keep the existing .clouds markup hook. */
.loader .rtc-source-bunny-runner .clouds,
.loader--studio .rtc-source-bunny-runner .clouds,
.public-jewel-page .loader .rtc-source-bunny-runner .clouds {
  position: relative;
  top: -1.15em;
  left: .25em;
  width: .42em;
  height: .42em;
  border-radius: 50%;
  background: rgba(224, 199, 216, .26);
  opacity: 0;
  transform: translate(0, 0) scale(.7);
  box-shadow:
    -1.1em .45em 0 -.06em rgba(209, 182, 201, .18),
    -.35em .72em 0 -.09em rgba(235, 213, 226, .22),
    .55em .5em 0 -.11em rgba(190, 162, 186, .16),
    1.35em .82em 0 -.13em rgba(236, 216, 228, .18),
    2.05em .46em 0 -.14em rgba(195, 167, 191, .15);
  animation: rtcRabbitDustRise 1s infinite linear !important;
}

.loader .rtc-source-bunny-runner .clouds::before,
.loader .rtc-source-bunny-runner .clouds::after,
.loader--studio .rtc-source-bunny-runner .clouds::before,
.loader--studio .rtc-source-bunny-runner .clouds::after,
.public-jewel-page .loader .rtc-source-bunny-runner .clouds::before,
.public-jewel-page .loader .rtc-source-bunny-runner .clouds::after {
  content: '';
  position: absolute;
  border-radius: 50%;
  background: rgba(229, 207, 221, .22);
}
.loader .rtc-source-bunny-runner .clouds::before,
.loader--studio .rtc-source-bunny-runner .clouds::before,
.public-jewel-page .loader .rtc-source-bunny-runner .clouds::before {
  width: .32em;
  height: .32em;
  left: -.75em;
  top: .18em;
  box-shadow: 1.1em .32em 0 -.05em rgba(218, 191, 209, .17), 2.5em .15em 0 -.08em rgba(241, 221, 232, .15);
}
.loader .rtc-source-bunny-runner .clouds::after,
.loader--studio .rtc-source-bunny-runner .clouds::after,
.public-jewel-page .loader .rtc-source-bunny-runner .clouds::after {
  width: .22em;
  height: .22em;
  left: .2em;
  top: .55em;
  box-shadow: 1.65em -.12em 0 -.03em rgba(213, 185, 204, .16), 2.9em .15em 0 -.04em rgba(235, 214, 226, .15);
}

@keyframes rtcRabbitDustRise {
  0%, 18% { opacity: 0; transform: translate(.8em, .55em) scale(.58); }
  34% { opacity: .72; transform: translate(-.15em, .08em) scale(.9); }
  52% { opacity: .42; transform: translate(-1.2em, -.48em) scale(1.18); }
  72%, 100% { opacity: 0; transform: translate(-2.35em, -1.05em) scale(1.5); }
}

@keyframes hop {
  20% {
    transform: rotate(-10deg) translate(1em, -2em);
    box-shadow: -0.2em 3em 0 -1em rgba(30, 11, 38, .38);
  }
  40% {
    transform: rotate(10deg) translate(3em, -4em);
    box-shadow: -0.2em 3.25em 0 -1.1em rgba(30, 11, 38, .38);
  }
  60%, 75% {
    transform: rotate(0) translate(4em, 0);
    box-shadow: -0.2em 1em 0 -0.75em rgba(30, 11, 38, .38);
  }
}

@keyframes kick {
  20%, 50% {
    box-shadow:
      4em 0.4em 0 -0.35em #3f3334,
      0.5em 1.5em 0 white,
      4em 1.75em 0 -0.3em white,
      4em 1.75em 0 -0.3em white,
      4em 1.9em 0 -0.4em white;
  }
  40% {
    box-shadow:
      4em 0.4em 0 -0.35em #3f3334,
      0.5em 2em 0 white,
      4em 1.75em 0 -0.3em white,
      4.2em 1.75em 0 -0.2em white,
      4.4em 1.9em 0 -0.2em white;
  }
}

@keyframes rtcCanonicalRabbitCross {
  from { transform: translate3d(-7rem, 0, 0); }
  to { transform: translate3d(calc(100vw + 8rem), 0, 0); }
}

@media (max-width: 760px) {
  .loader .rtc-source-bunny-runner,
  .loader--studio .rtc-source-bunny-runner,
  .public-jewel-page .loader .rtc-source-bunny-runner {
    bottom: 1rem !important;
    width: 7rem !important;
    height: 6.5rem !important;
    font-size: 12.5px !important;
    animation-duration: 5.35s !important;
    animation-delay: -1.1s !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .loader .rtc-source-bunny-runner,
  .loader--studio .rtc-source-bunny-runner,
  .public-jewel-page .loader .rtc-source-bunny-runner {
    left: 50% !important;
    transform: translateX(-50%) !important;
    animation: none !important;
  }
  .loader .rtc-source-bunny-runner .rabbit,
  .loader--studio .rtc-source-bunny-runner .rabbit,
  .public-jewel-page .loader .rtc-source-bunny-runner .rabbit,
  .loader .rtc-source-bunny-runner .rabbit::before,
  .loader--studio .rtc-source-bunny-runner .rabbit::before,
  .public-jewel-page .loader .rtc-source-bunny-runner .rabbit::before,
  .loader .rtc-source-bunny-runner .clouds,
  .loader--studio .rtc-source-bunny-runner .clouds,
  .public-jewel-page .loader .rtc-source-bunny-runner .clouds {
    animation: none !important;
  }
}


/* =========================================================
   AUGUST 20 2026 — QUIET SPACE + JOURNAL LOCK + LOGIN POLISH
   ========================================================= */

/* Login/lock headline: lighter, more romantic, less chunky than Fraunces. */
.studio-login-card h1,
.friends-entry-gate h1 {
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-weight:600 !important;
  line-height:.88 !important;
  letter-spacing:-.045em !important;
}
.studio-login-card .studio-door-choice strong {
  font-family:"Cormorant Garamond", Georgia, serif !important;
  font-weight:600 !important;
  letter-spacing:-.018em !important;
}

/* The Studio login/lock header is deliberately vertical so the player can never
   sit on top of the logo or clock. */
.studio-login-page .studio-private-header {
  grid-template-columns:1fr !important;
  grid-template-areas:
    "identity"
    "music"
    "utility" !important;
  justify-items:center !important;
  align-items:center !important;
  gap:.58rem !important;
}
.studio-login-page .studio-mode-identity {
  grid-area:identity !important;
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.studio-login-page .studio-private-logo { justify-content:center !important; }
.studio-login-page .studio-header-music,
.studio-login-page .studio-header-music--guest {
  grid-area:music !important;
  width:min(100%,760px) !important;
  justify-self:center !important;
  display:grid !important;
  place-items:center !important;
}
.studio-login-page .studio-header-music .site-soundtrack-dock--native,
.studio-login-page .site-soundtrack-dock--native {
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  width:min(100%,680px) !important;
  margin:0 auto !important;
}
.studio-login-page .studio-view-site--guest {
  grid-area:utility !important;
  justify-self:center !important;
}

/* Public journal lock/unlock screens get the same genuinely centered player. */
.journal-page > .site-soundtrack-dock--native {
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  width:min(680px,calc(100% - 1rem)) !important;
  margin:.65rem auto 1rem !important;
}

/* Small, obvious relock control once the inner-circle journal has been opened. */
.site-nav__journal-lock {
  display:inline-flex;
  margin:0;
  padding:0;
}
.site-nav__journal-lock button {
  min-height:2.15rem;
  padding:.48rem .7rem;
  border:1px solid rgba(236,167,205,.26);
  border-radius:999px;
  color:#f6dbe9;
  background:rgba(177,81,137,.12);
  cursor:pointer;
  font:700 .66rem/1 "DM Mono",monospace;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.site-nav__journal-lock button:hover { background:rgba(190,91,148,.20); transform:translateY(-1px); }
html[data-theme="light"] .site-nav__journal-lock button {
  color:#633f62;
  border-color:rgba(104,62,101,.18);
  background:rgba(196,139,174,.16);
}

@media (max-width:760px) {
  .studio-login-page .studio-private-header {
    grid-template-columns:1fr !important;
    grid-template-areas:"identity" "music" "utility" !important;
  }
  .studio-login-page .studio-header-music,
  .studio-login-page .studio-header-music--guest { width:100% !important; }
  .studio-login-page .studio-header-music .site-soundtrack-dock--native,
  .studio-login-page .site-soundtrack-dock--native { width:min(100%,430px) !important; }
  .site-nav__journal-lock { width:100%; }
  .site-nav__journal-lock button { width:100%; min-height:2.55rem; }
}

/* =========================================================
   AUGUST 20 2026 — LOCKED POLISH PASS
   IMPORTANT: the established loading-screen composition, flowers,
   loader typography, colors, timing, and desktop rabbit treatment
   above are intentionally frozen. Only the requested mobile rabbit
   motion is refined below; no other loader styling is changed here.
   ========================================================= */

/* Journal filter room: bring it away from the page edges and soften the box. */
.journal-filter-room--dark {
  width: calc(100% - clamp(1rem, 2.8vw, 2.4rem)) !important;
  margin-inline: auto !important;
  padding: 1.05rem clamp(.9rem, 2vw, 1.35rem) !important;
  border: 1px solid var(--j-line) !important;
  border-radius: 1.25rem !important;
  overflow: hidden !important;
}

/* "Shared with my ppl" needs real contrast in mellow light mode. */
html[data-theme="light"] .friends-unlock-card--dark {
  background: linear-gradient(145deg, #d9c5d9, #cbb8d3) !important;
  color: #2f2035 !important;
  border-color: rgba(72, 42, 79, .22) !important;
  box-shadow: 0 13px 30px rgba(77, 47, 82, .12) !important;
}
html[data-theme="light"] .friends-unlock-card--dark :is(h2, strong) {
  color: #2a1b30 !important;
}
html[data-theme="light"] .friends-unlock-card--dark :is(p, span) {
  color: #46324b !important;
}
html[data-theme="light"] .friends-unlock-card--dark small {
  color: #683f61 !important;
  font-weight: 750 !important;
}
html[data-theme="light"] .friends-unlock-card--dark input {
  color: #34233a !important;
  background: rgba(255, 250, 253, .88) !important;
  border-color: rgba(74, 44, 82, .24) !important;
}
html[data-theme="light"] .friends-unlock-card--dark .button,
html[data-theme="light"] .friends-unlock-card--dark button {
  color: #fff8fc !important;
  background: linear-gradient(135deg, #74466f, #5a3864) !important;
  border-color: rgba(62, 34, 70, .30) !important;
}

/* Footer wordmark: same flowers, brighter text, breathing glow, gentle float. */
.footer-logo {
  color: #ffe4f1 !important;
  text-shadow:
    0 0 5px rgba(255, 218, 238, .48),
    0 0 13px rgba(244, 164, 207, .34),
    0 0 24px rgba(224, 123, 184, .16) !important;
  animation: rtcFooterLogoBreath 5.4s ease-in-out infinite !important;
  transform-origin: left center;
}
.footer-logo::before {
  animation: rtcFooterCrystalFloat 5.9s ease-in-out infinite !important;
  filter:
    brightness(1.08)
    drop-shadow(0 0 4px rgba(248, 181, 220, .26)) !important;
}
@keyframes rtcFooterLogoBreath {
  0%, 100% {
    transform: translateY(0);
    text-shadow:
      0 0 5px rgba(255, 218, 238, .42),
      0 0 12px rgba(244, 164, 207, .28),
      0 0 22px rgba(224, 123, 184, .12);
  }
  50% {
    transform: translateY(-2px);
    text-shadow:
      0 0 7px rgba(255, 226, 243, .72),
      0 0 17px rgba(248, 170, 214, .48),
      0 0 31px rgba(224, 123, 184, .22);
  }
}
@keyframes rtcFooterCrystalFloat {
  0%, 100% { transform: translateY(0) rotate(-1deg) scale(1); }
  50% { transform: translateY(-3px) rotate(1.5deg) scale(1.035); }
}
html[data-theme="light"] .footer-logo {
  color: #75486f !important;
  text-shadow:
    0 0 5px rgba(179, 93, 145, .20),
    0 0 12px rgba(176, 92, 145, .14) !important;
}

/* Studio wordmark: smaller crystal ball, lighter lettering, darker flower details. */
.studio-private-logo {
  color: #ffe7f3 !important;
  text-shadow:
    0 0 6px rgba(255, 216, 238, .58),
    0 0 15px rgba(246, 163, 208, .40),
    0 0 28px rgba(226, 119, 183, .18) !important;
}
.studio-private-logo .logo-spell {
  font-size: .81em !important;
  line-height: 1 !important;
  margin-right: .18em !important;
  margin-left: 0 !important;
  vertical-align: .05em !important;
  filter: brightness(.92) saturate(.9) drop-shadow(0 0 2px rgba(239, 171, 211, .14));
  animation: rtcStudioCrystalFloat 6.2s ease-in-out infinite !important;
}
.studio-private-logo > span:not(.logo-spell),
.studio-private-logo::after {
  color: #d987b3 !important;
  text-shadow: 0 0 5px rgba(219, 121, 174, .18) !important;
}
@keyframes rtcStudioCrystalFloat {
  0%, 100% { transform: translateY(0) rotate(-1deg); }
  50% { transform: translateY(-2px) rotate(1deg); }
}

/* Studio playlist chevron: brighter on desktop; larger touch target on mobile. */
.studio-header-music [data-soundtrack-list-toggle] {
  color: #ffe1f0 !important;
  border-color: rgba(255, 214, 236, .24) !important;
  background: rgba(255, 230, 243, .08) !important;
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  text-shadow: 0 0 5px rgba(255, 202, 231, .24);
}
.studio-header-music [data-soundtrack-list-toggle]:hover,
.studio-header-music [data-soundtrack-list-toggle]:focus-visible {
  color: #fff7fb !important;
  border-color: rgba(255, 225, 241, .42) !important;
  background: rgba(255, 230, 243, .14) !important;
}

/* The only loader-related adjustment in this pass: on small screens the
   rabbit hops in place while the existing runner carries it forward. This
   removes the tiny backward snap at the end of the canonical hop cycle. */
@keyframes rtcMobileRabbitHopSmooth {
  0%, 100% {
    transform: rotate(0deg) translate(0, 0);
    box-shadow: -0.2em 1em 0 -0.75em rgba(30, 11, 38, .38);
  }
  20% {
    transform: rotate(-10deg) translate(0, -2em);
    box-shadow: -0.2em 3em 0 -1em rgba(30, 11, 38, .38);
  }
  40% {
    transform: rotate(10deg) translate(0, -4em);
    box-shadow: -0.2em 3.25em 0 -1.1em rgba(30, 11, 38, .38);
  }
  60%, 75% {
    transform: rotate(0deg) translate(0, 0);
    box-shadow: -0.2em 1em 0 -0.75em rgba(30, 11, 38, .38);
  }
}

@media (max-width: 760px) {
  .journal-filter-room--dark {
    width: calc(100% - .7rem) !important;
    border-radius: 1.1rem !important;
  }

  .studio-header-music [data-soundtrack-list-toggle] {
    width: 2.38rem !important;
    min-width: 2.38rem !important;
    height: 2.38rem !important;
    min-height: 2.38rem !important;
    padding: 0 !important;
    border-radius: .72rem !important;
    font-size: 1.18rem !important;
    touch-action: manipulation;
  }

  .loader .rtc-source-bunny-runner .rabbit,
  .loader--studio .rtc-source-bunny-runner .rabbit,
  .public-jewel-page .loader .rtc-source-bunny-runner .rabbit {
    animation-name: rtcMobileRabbitHopSmooth !important;
    animation-duration: 1s !important;
    animation-timing-function: linear !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-logo,
  .footer-logo::before,
  .studio-private-logo .logo-spell { animation: none !important; }
}

/* =========================================================
   AUG 21 FINAL MICRO-POLISH — alignment, about type, logos,
   Studio login button, player rail, and starfield accents.
   This pass only expands the uploaded style.css / script.js.
   ========================================================= */

/* Make the filter rail and "shared with my ppl" card feel like one system. */
.public-jewel-page .journal-filter-room--dark,
.public-jewel-page .friends-unlock-card--dark {
  width: min(100%, calc(100% - 1.6rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 1.35rem !important;
}
.public-jewel-page .journal-filter-room--dark {
  padding: 1rem 1.05rem !important;
}
.public-jewel-page .friends-unlock-card--dark {
  margin-top: 1rem !important;
  padding: 1rem 1.05rem !important;
}
@media (max-width: 760px) {
  .public-jewel-page .journal-filter-room--dark,
  .public-jewel-page .friends-unlock-card--dark {
    width: calc(100% - 1rem) !important;
  }
}

/* About heading: swap out the current font for a softer editorial serif. */
.public-jewel-page .about-copy h2,
.public-jewel-page .home-about-teaser__copy h2,
.about-copy h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: -.028em !important;
  line-height: .92 !important;
}
.public-jewel-page .about-copy h2 em,
.public-jewel-page .home-about-teaser__copy h2 em,
.about-copy h2 em {
  color: #d3a5dc !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

/* Header wordmark should match the prettier footer treatment. */
.logo,
.footer-logo,
.studio-private-logo {
  color: #ffe4f2 !important;
  text-shadow:
    0 0 7px rgba(255, 214, 236, .55),
    0 0 17px rgba(245, 152, 204, .34),
    0 0 30px rgba(222, 104, 176, .16) !important;
}
.logo::after,
.footer-logo::after,
.studio-private-logo::after {
  content: "  ✿  ❀" !important;
  color: #e99bc0 !important;
  font: .62em/1 Georgia, serif !important;
  animation: rtcFooterFlowers 6.8s ease-in-out infinite !important;
}
.logo::before,
.footer-logo::before,
.studio-private-logo .logo-crystal,
.studio-private-logo .logo-spell {
  filter: brightness(.96) saturate(.92) drop-shadow(0 0 5px rgba(248, 188, 222, .22)) !important;
}

/* Back-to-site on Studio/login should read as a real button. */
.studio-login-page .studio-view-site,
.studio-login-page .studio-login-back-site,
.studio-login-page .studio-view-site--guest {
  min-height: 2.9rem !important;
  padding: .76rem 1.18rem !important;
  font-size: .68rem !important;
  letter-spacing: .05em !important;
}
@media (max-width: 760px) {
  .studio-login-page .studio-view-site,
  .studio-login-page .studio-login-back-site,
  .studio-login-page .studio-view-site--guest {
    min-height: 2.75rem !important;
    padding: .72rem 1.02rem !important;
    font-size: .64rem !important;
  }
}

/* Remove the little line underneath the Studio player rail. */
.studio-header-music .native-player__timeline {
  border-top: 0 !important;
  padding-top: 0 !important;
  margin-top: .12rem !important;
}
.studio-header-music .site-soundtrack-dock--native {
  box-shadow: 0 9px 24px rgba(12, 4, 18, .18) !important;
}

/* Shelf cards: keep the action buttons aligned and readable across rows. */
.studio-shelf-grid {
  align-items: stretch !important;
}
.studio-shelf-card {
  height: 100% !important;
  align-content: start !important;
}
.studio-shelf-card__actions {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .5rem !important;
  margin-top: 1rem !important;
}
.studio-shelf-card__actions a {
  min-height: 3rem !important;
  justify-content: center !important;
  text-align: center !important;
  padding: .72rem .52rem !important;
}

/* Mobile shop mosaic: cleaner alignment for pens/soap blocks. */
@media (max-width: 760px) {
  .home-page .home-shop-showcase__mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 7rem !important;
    min-height: 0 !important;
  }
  .home-page .home-shop-showcase__tile--1,
  .home-page .home-shop-showcase__tile--6 {
    grid-column: 1 / -1 !important;
    grid-row: span 2 !important;
  }
  .home-page .home-shop-showcase__tile--2,
  .home-page .home-shop-showcase__tile--3,
  .home-page .home-shop-showcase__tile--4,
  .home-page .home-shop-showcase__tile--5 {
    grid-column: auto !important;
    grid-row: span 1 !important;
  }
}

/* Starfield: 20% brighter, 10% bigger is driven from JS. Here we add a few moons
   and slightly stronger glow while preserving the same drifting system. */
.rtc-starfield__star {
  filter: drop-shadow(0 0 1.2px rgba(255, 231, 244, .22)) !important;
}
.rtc-starfield__star[data-shape="moon"] {
  clip-path: none !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 68% 50%, transparent 0 37%, currentColor 39% 100%) !important;
  opacity: var(--star-opacity) !important;
}
html[data-theme="light"] .rtc-starfield__star[data-shape="moon"] {
  background: radial-gradient(circle at 68% 50%, transparent 0 37%, currentColor 39% 100%) !important;
}


/* =========================================================
   AUG 21 — NO SPACE GROTESK + STUDIO CENTERING + HEADER ARROWS
   Cumulative final overrides. Loader composition/timing/rabbit/flowers untouched.
   ========================================================= */

/* Neutral UI/body type is now DM Sans; editorial headings stay serif and Rachel Takes Care wordmarks stay Lobster Two. */
body,
input,
textarea,
select,
button {
  font-family: "DM Sans", Arial, sans-serif;
}

/* About: never use the chunky geometric sans for the big statement again. */
.about-hero--compact h1,
.public-jewel-page .about-hero--compact h1,
.public-jewel-page .about-hero__copy h1,
.public-jewel-page .about-copy h2,
.public-jewel-page .home-about-teaser__copy h2,
.about-copy h2 {
  font-family: "Fraunces", Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: -.045em !important;
  line-height: .93 !important;
}
.about-hero--compact h1 em,
.public-jewel-page .about-hero--compact h1 em,
.public-jewel-page .about-hero__copy h1 em,
.public-jewel-page .about-copy h2 em,
.public-jewel-page .home-about-teaser__copy h2 em,
.about-copy h2 em {
  font-family: inherit !important;
  font-style: italic !important;
  font-weight: 600 !important;
}

/* The loading-screen wordmark remains a Rachel Takes Care wordmark, not UI type. */
.loader > p,
.loader--studio > p,
body[class*="studio-"] .loader > p {
  font-family: "Lobster Two", "Caveat", cursive !important;
}

/* Studio archive / diary: force the desktop shell and every archive rail back to true center. */
@media (min-width: 901px) {
  .studio-page .studio-private-shell {
    width: min(1080px, calc(100vw - 3rem)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    translate: none !important;
  }
  .studio-page .studio-list-intro,
  .studio-page .studio-filter-bar,
  .studio-page .studio-post-card-grid,
  .studio-page .studio-product-grid,
  .studio-page .studio-empty-state,
  .studio-page .studio-receptacle-link {
    width: 100% !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    translate: none !important;
  }
  .studio-page .studio-post-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: center !important;
    justify-items: stretch !important;
    align-items: start !important;
  }
  .studio-page .studio-post-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Slightly larger general header typography without making the chrome bulky. */
.site-nav {
  font-size: .88rem !important;
}
.studio-mode-stamp strong {
  font-size: clamp(.98rem, 1.5vw, 1.22rem) !important;
}
.studio-mode-stamp small {
  font-size: .78rem !important;
}
.studio-clock-chip strong {
  font-size: 1.10rem !important;
}
.studio-clock-chip small {
  font-size: .62rem !important;
}
.studio-private-nav a {
  font-size: .74rem !important;
}
.studio-user-badge span {
  font-size: .64rem !important;
}
.studio-view-site {
  font-size: .62rem !important;
}

/* Main Studio collapse / expand arrow: bigger, pink, obvious, still compact. */
.studio-header-minimize {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  right: .9rem !important;
  bottom: -1rem !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 184, 221, .42) !important;
  border-radius: 50% !important;
  color: #ffafd6 !important;
  background: #4a1d50 !important;
  box-shadow: 0 7px 20px rgba(16, 5, 22, .28), 0 0 15px rgba(240, 130, 193, .16) !important;
  font: 900 1.42rem/1 "DM Sans", Arial, sans-serif !important;
  text-shadow: 0 0 6px rgba(255, 174, 216, .25) !important;
  cursor: pointer !important;
  touch-action: manipulation;
}
.studio-header-minimize:hover,
.studio-header-minimize:focus-visible {
  color: #ffe4f2 !important;
  border-color: rgba(255, 203, 230, .68) !important;
  background: #5b235e !important;
}

/* Player playlist arrow: pinker everywhere; genuinely finger-sized on mobile. */
.studio-header-music [data-soundtrack-list-toggle] {
  color: #ffb2d8 !important;
  border-color: rgba(255, 181, 219, .34) !important;
  background: rgba(236, 124, 187, .10) !important;
  text-shadow: 0 0 6px rgba(255, 174, 216, .26) !important;
}

@media (max-width: 760px) {
  .studio-private-nav a {
    font-size: .64rem !important;
  }
  .studio-mode-stamp strong {
    font-size: .82rem !important;
  }
  .studio-mode-stamp small {
    font-size: .56rem !important;
  }

  .studio-header-minimize {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    right: .72rem !important;
    bottom: -1.02rem !important;
    font-size: 1.55rem !important;
  }

  .studio-header-music .site-soundtrack-dock--native {
    width: calc(100% - .65rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-right: .62rem !important;
  }
  .studio-header-music [data-soundtrack-list-toggle] {
    width: 2.82rem !important;
    min-width: 2.82rem !important;
    height: 2.82rem !important;
    min-height: 2.82rem !important;
    margin-right: .12rem !important;
    padding: 0 !important;
    border-radius: .82rem !important;
    color: #ffadd6 !important;
    border-color: rgba(255, 184, 221, .46) !important;
    background: rgba(239, 132, 193, .13) !important;
    font-size: 1.38rem !important;
    line-height: 1 !important;
    touch-action: manipulation !important;
  }
  .studio-header-music .native-player__transport {
    padding-right: .08rem !important;
  }
}


/* =========================================================
   AUG 20 STUDIO CENTER + BOUNCE + MOBILE SCROLL FIX
   Loader is intentionally untouched.
   ========================================================= */

/* Hard-center the journal editor on wide screens. This targets the actual
   edit-post main rail instead of relying on older generic Studio width rules. */
@media (min-width: 901px) {
  html,
  body.studio-page {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.studio-page > main.studio-private-shell.studio-editor-shell,
  body.studio-page > .studio-private-shell.studio-editor-shell,
  .studio-page .studio-editor-shell {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    width: min(1080px, calc(100% - 3rem)) !important;
    max-width: 1080px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
    place-self: auto center !important;
    transform: none !important;
    translate: none !important;
  }

  .studio-page .studio-editor-shell > .studio-editor-topbar,
  .studio-page .studio-editor-shell > .studio-message,
  .studio-page .studio-editor-shell > .studio-real-editor,
  .studio-page .studio-editor-shell > .studio-letter-view,
  .studio-page .studio-editor-shell > .studio-letter-thread,
  .studio-page .studio-real-editor,
  .studio-page .studio-real-editor > section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Header controls line up on one visual baseline with USERNAME: RACHEL. */
.studio-account-strip {
  align-items: center !important;
  align-self: center !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
.studio-user-badge,
.studio-user-badge span,
.studio-lock-link,
.studio-view-site {
  align-items: center !important;
  align-self: center !important;
}
.studio-user-badge span {
  display: inline-flex !important;
  min-height: 2.25rem !important;
  padding: 0 .3rem !important;
  border: 0 !important;
  background: transparent !important;
}
.studio-lock-link {
  display: inline-flex !important;
  min-height: 2.25rem !important;
}

/* The Studio nav gets a tiny playful bounce on desktop; mobile bounces on tap
   only so scrolling stays smooth. */
@keyframes rtcStudioNavBounce {
  0%, 82%, 100% { transform: translate3d(0,0,0); }
  88% { transform: translate3d(0,-3px,0); }
  93% { transform: translate3d(0,1px,0); }
  97% { transform: translate3d(0,-1px,0); }
}
@keyframes rtcStudioTapBounce {
  0% { transform: scale(1); }
  45% { transform: scale(.94) translateY(1px); }
  75% { transform: scale(1.035) translateY(-1px); }
  100% { transform: scale(1); }
}
@media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
  .studio-private-nav a {
    animation: rtcStudioNavBounce 6.6s ease-in-out infinite !important;
  }
  .studio-private-nav a:nth-child(2) { animation-delay: -.65s !important; }
  .studio-private-nav a:nth-child(3) { animation-delay: -1.3s !important; }
  .studio-private-nav a:nth-child(4) { animation-delay: -1.95s !important; }
  .studio-private-nav a:nth-child(5) { animation-delay: -2.6s !important; }
  .studio-private-nav a:nth-child(6) { animation-delay: -3.25s !important; }
}
.studio-private-nav a:active,
.studio-view-site:active,
.studio-shelf-card__actions a:active {
  animation: rtcStudioTapBounce .28s ease-out 1 !important;
}

/* Keep Start One / Browse buttons level across Studio shelf cards too. */
.studio-shelf-card {
  grid-template-rows: auto 1fr auto !important;
}
.studio-shelf-card__actions {
  align-self: end !important;
  margin-top: .85rem !important;
}
.studio-shelf-card__actions a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3rem !important;
}

/* Mobile scroll performance: preserve the stars and look, but remove the
   expensive effects that repaint every frame while a finger is moving. */
@media (max-width: 760px), (pointer: coarse) {
  html,
  body {
    overscroll-behavior-x: none;
  }

  .rtc-parallax-soft {
    transform: none !important;
    will-change: auto !important;
  }

  .rtc-starfield {
    contain: strict !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
  }
  .rtc-starfield__star {
    filter: none !important;
    will-change: transform, opacity !important;
  }

  .studio-private-header,
  .studio-header-music .site-soundtrack-dock--native,
  .studio-private-footer--alive,
  .studio-today-mood,
  .studio-editor-actions,
  .studio-memory-card > div {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .studio-private-header {
    background: rgba(54,19,61,.97) !important;
  }
  .studio-header-music .site-soundtrack-dock--native {
    background: linear-gradient(145deg, rgba(31,12,38,.97), rgba(17,9,24,.96)) !important;
  }

  .studio-private-nav a {
    animation: none !important;
    will-change: auto !important;
  }
  .studio-private-nav a:active,
  .studio-view-site:active,
  .studio-shelf-card__actions a:active {
    animation: rtcStudioTapBounce .26s ease-out 1 !important;
  }

  .studio-page .rtc-motion-item {
    will-change: auto !important;
  }
}

/* =========================================================
   STUDIO JOURNAL EDITOR — VIEWPORT-CENTER LOCK
   This is intentionally specific to edit-post.php. The editor must stay
   centered in the browser viewport regardless of older shell/grid rules.
   ========================================================= */
@media (min-width: 901px) {
  body.studio-page.studio-editor-page {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: clip !important;
  }

  body.studio-page.studio-editor-page > .studio-private-header,
  body.studio-page.studio-editor-page > main.studio-editor-shell,
  body.studio-page.studio-editor-page > .studio-private-footer,
  body.studio-page.studio-editor-page > .studio-private-footer--alive {
    grid-column: 1 !important;
    justify-self: center !important;
  }

  body.studio-page.studio-editor-page > main.studio-private-shell.studio-editor-shell {
    box-sizing: border-box !important;
    display: block !important;
    position: relative !important;
    float: none !important;
    clear: both !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    width: min(1120px, calc(100vw - 3rem)) !important;
    min-width: 0 !important;
    max-width: 1120px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    translate: none !important;
    align-self: start !important;
    justify-self: center !important;
  }

  body.studio-page.studio-editor-page > main.studio-editor-shell > .studio-editor-topbar,
  body.studio-page.studio-editor-page > main.studio-editor-shell > .studio-message,
  body.studio-page.studio-editor-page > main.studio-editor-shell > form.studio-real-editor,
  body.studio-page.studio-editor-page > main.studio-editor-shell > .studio-letter-view,
  body.studio-page.studio-editor-page > main.studio-editor-shell > .studio-letter-thread,
  body.studio-page.studio-editor-page > main.studio-editor-shell > .studio-editor-secondary {
    box-sizing: border-box !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    translate: none !important;
    justify-self: stretch !important;
  }

  body.studio-page.studio-editor-page form.studio-real-editor {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: .65rem !important;
    overflow: visible !important;
  }

  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-paper,
  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-panel,
  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-actions {
    box-sizing: border-box !important;
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
    translate: none !important;
  }
}

/* Keep the editor comfortably centered on tablets/phones too. */
@media (max-width: 900px) {
  body.studio-page.studio-editor-page > main.studio-private-shell.studio-editor-shell {
    width: calc(100% - 1rem) !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  body.studio-page.studio-editor-page form.studio-real-editor,
  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-paper,
  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-panel,
  body.studio-page.studio-editor-page form.studio-real-editor > .studio-editor-actions {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* =========================================================
   STUDIO HEADER DRAWER — KEEP IDENTITY RAIL VISIBLE
   When the drawer is collapsed, only navigation + music tuck away.
   Time, Rachel Takes Care, Studio Mode, username, lock, and the
   public-site button remain visible at all times.
   Loading screen / rabbit / flowers are intentionally untouched.
   ========================================================= */

/* Desktop / tablet collapsed state. */
.studio-header-is-minimized .studio-private-header {
  min-height: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  grid-template-areas: "identity account utility" !important;
  gap: .5rem .7rem !important;
  align-items: center !important;
  padding: .55rem .78rem !important;
}

/* Undo old collapse rules that zeroed out the actual Studio identity. */
.studio-header-is-minimized .studio-mode-identity,
.studio-header-is-minimized .studio-private-logo,
.studio-header-is-minimized .studio-mode-stamp,
.studio-header-is-minimized .studio-clock-chip,
.studio-header-is-minimized .studio-account-strip,
.studio-header-is-minimized .studio-user-badge,
.studio-header-is-minimized .studio-lock-link,
.studio-header-is-minimized .studio-view-site {
  opacity: 1 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-width: initial;
}

.studio-header-is-minimized .studio-mode-identity {
  grid-area: identity !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, auto) minmax(0, 1fr) !important;
  align-items: center !important;
  gap: .38rem .58rem !important;
  min-width: 0 !important;
}
.studio-header-is-minimized .studio-clock-chip {
  display: grid !important;
  position: relative !important;
  z-index: 2 !important;
}
.studio-header-is-minimized .studio-private-logo {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  white-space: nowrap !important;
}
.studio-header-is-minimized .studio-mode-stamp {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

/* Username + lock stay together as the permanent account rail. */
.studio-header-is-minimized .studio-account-strip {
  grid-area: account !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .48rem !important;
  width: auto !important;
  padding: 0 !important;
}
.studio-header-is-minimized .studio-user-badge {
  display: grid !important;
  justify-items: end !important;
  width: auto !important;
}
.studio-header-is-minimized .studio-lock-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.35rem !important;
  padding: .55rem .72rem !important;
}
.studio-header-is-minimized .studio-view-site {
  grid-area: utility !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.35rem !important;
  padding: .55rem .78rem !important;
}

/* These are what the drawer actually hides now. */
.studio-header-is-minimized .studio-private-nav,
.studio-header-is-minimized .studio-header-music {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Keep the pink drawer handle easy to find in both states. */
.studio-header-is-minimized .studio-header-minimize {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  color: #ffb2d8 !important;
  background: #4a1d50 !important;
  z-index: 25 !important;
}

/* Mobile: keep every required identity item visible, but allow two tidy rows. */
@media (max-width: 760px) {
  .studio-header-is-minimized .studio-private-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "identity identity"
      "account utility" !important;
    gap: .42rem .48rem !important;
    padding: .5rem .56rem .58rem !important;
  }

  .studio-header-is-minimized .studio-mode-identity {
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "clock logo"
      "clock mode" !important;
    gap: .16rem .45rem !important;
    width: 100% !important;
  }
  .studio-header-is-minimized .studio-clock-chip { grid-area: clock !important; }
  .studio-header-is-minimized .studio-private-logo {
    grid-area: logo !important;
    font-size: 1.28rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .studio-header-is-minimized .studio-mode-stamp {
    grid-area: mode !important;
    width: 100% !important;
  }

  .studio-header-is-minimized .studio-account-strip {
    justify-content: flex-start !important;
    min-width: 0 !important;
    gap: .38rem !important;
  }
  .studio-header-is-minimized .studio-user-badge {
    justify-items: start !important;
  }
  .studio-header-is-minimized .studio-user-badge span {
    white-space: nowrap !important;
  }
  .studio-header-is-minimized .studio-lock-link {
    min-height: 2.5rem !important;
    padding: .56rem .64rem !important;
    white-space: nowrap !important;
  }
  .studio-header-is-minimized .studio-view-site {
    min-height: 2.5rem !important;
    padding: .56rem .68rem !important;
    white-space: nowrap !important;
  }

  .studio-header-is-minimized .studio-header-minimize {
    right: .66rem !important;
    bottom: -.92rem !important;
  }
}

/* =========================================================
   AUG 21 — JOURNAL GLASS / MEME VAULT / BASURA / MOBILE HEADER
   Loader is LOCKED. No loader, rabbit, flower-field, or loader timing rules
   are changed anywhere in this block.
   ========================================================= */

/* ---------------- Journal editor: translucent, witchier, warmer ---------------- */
body.studio-editor-page--journal .studio-editor-paper,
body.studio-editor-page--journal .studio-editor-panel {
  color: #fff0f8 !important;
  border-color: rgba(255, 205, 232, .16) !important;
  background:
    radial-gradient(circle at 10% 4%, rgba(212, 119, 177, .10), transparent 20rem),
    linear-gradient(155deg, rgba(65, 32, 76, .72), rgba(40, 29, 56, .68) 56%, rgba(27, 54, 55, .58)) !important;
  box-shadow: 0 24px 70px rgba(9, 3, 14, .20), inset 0 1px 0 rgba(255,255,255,.035) !important;
  -webkit-backdrop-filter: blur(14px) saturate(112%) !important;
  backdrop-filter: blur(14px) saturate(112%) !important;
}
body.studio-editor-page--journal .studio-editor-paper::before {
  background: rgba(238, 151, 198, .38) !important;
}
body.studio-editor-page--journal :is(.studio-editor-paper__heading h1,.studio-panel-heading h2,.studio-main-field,.studio-panel-heading strong) {
  color: #fff1f8 !important;
}
body.studio-editor-page--journal :is(.studio-panel-helper,.studio-control-hint,.studio-sub-field small,.studio-featured-date-card p,.studio-keepsake-grid p) {
  color: rgba(255, 231, 244, .70) !important;
}
body.studio-editor-page--journal .eyebrow {
  color: #efb5d3 !important;
}
body.studio-editor-page--journal .studio-main-field > input,
body.studio-editor-page--journal .studio-main-field > textarea,
body.studio-editor-page--journal .studio-sub-field > input,
body.studio-editor-page--journal .studio-sub-field > textarea,
body.studio-editor-page--journal .studio-hashtag-field input,
body.studio-editor-page--journal .studio-keepsake-grid :is(input,textarea),
body.studio-editor-page--journal .studio-photo-upload-row label {
  color: #fff4fa !important;
  border-color: rgba(255, 210, 235, .17) !important;
  background: rgba(20, 9, 27, .34) !important;
}
body.studio-editor-page--journal .studio-main-field > input::placeholder,
body.studio-editor-page--journal .studio-main-field > textarea::placeholder,
body.studio-editor-page--journal .studio-hashtag-field input::placeholder,
body.studio-editor-page--journal .studio-keepsake-grid :is(input,textarea)::placeholder {
  color: rgba(255, 215, 236, .48) !important;
  opacity: 1 !important;
}
body.studio-editor-page--journal .studio-main-field > input[name="title"] {
  color: #fff5fb !important;
  border-bottom-color: rgba(255, 194, 226, .36) !important;
  background: transparent !important;
  font-family: "Fraunces", Georgia, serif !important;
}
body.studio-editor-page--journal .studio-writing-prompt {
  color: #ffd5e9 !important;
  border-left-color: #e995c2 !important;
  background: rgba(214, 116, 173, .11) !important;
}
body.studio-editor-page--journal .studio-writing-prompt button {
  color: #ffc9e2 !important;
}
body.studio-editor-page--journal .studio-writing-prompt p {
  color: rgba(255, 235, 246, .86) !important;
}
body.studio-editor-page--journal .studio-mood-choice span,
body.studio-editor-page--journal .studio-special-tags button,
body.studio-editor-page--journal .studio-keepsake-grid article,
body.studio-editor-page--journal .studio-privacy-picker span {
  color: #fbeef7 !important;
  border-color: rgba(255, 212, 235, .15) !important;
  background: rgba(255, 241, 249, .055) !important;
}
body.studio-editor-page--journal .studio-mood-choice input:checked + span,
body.studio-editor-page--journal .studio-special-tags button.is-active,
body.studio-editor-page--journal .studio-privacy-picker input:checked + span {
  color: #fff7fb !important;
  border-color: rgba(246, 158, 207, .48) !important;
  background: linear-gradient(145deg, rgba(189, 92, 149, .22), rgba(119, 83, 145, .18)) !important;
  box-shadow: 0 0 0 3px rgba(236, 144, 198, .07) !important;
}
body.studio-editor-page--journal .studio-special-tags button strong,
body.studio-editor-page--journal .studio-keepsake-grid h3,
body.studio-editor-page--journal .studio-privacy-picker strong {
  color: #fff0f8 !important;
}
body.studio-editor-page--journal .studio-special-tags button small,
body.studio-editor-page--journal .studio-privacy-picker small {
  color: rgba(255, 226, 242, .68) !important;
}
body.studio-editor-page--journal .studio-special-tags button > span,
body.studio-editor-page--journal .keepsake-icon,
body.studio-editor-page--journal .studio-privacy-picker b {
  color: #efa5ca !important;
}
body.studio-editor-page--journal .studio-special-tags {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
body.studio-editor-page--journal .studio-special-tags button {
  height: 100% !important;
}

/* Featured date: no gray utility font, no default calendar icon. */
body.studio-editor-page--journal .studio-featured-date-card {
  grid-template-columns: auto minmax(0, 1fr) minmax(13rem, .45fr) !important;
  color: #fff0f8 !important;
  border-color: rgba(240, 161, 205, .22) !important;
  background: linear-gradient(135deg, rgba(152, 78, 137, .18), rgba(87, 72, 137, .13), rgba(42, 111, 109, .10)) !important;
}
body.studio-editor-page--journal .studio-featured-date-card__icon {
  display: grid !important;
  width: 3rem !important;
  aspect-ratio: 1 !important;
  place-items: center !important;
  border: 1px solid rgba(255, 198, 228, .18) !important;
  border-radius: 50% !important;
  color: #ffc4df !important;
  background: rgba(255, 228, 242, .055) !important;
  font: 500 2rem/1 Georgia, serif !important;
  text-shadow: 0 0 9px rgba(244, 153, 205, .22) !important;
}
body.studio-editor-page--journal .studio-featured-date-card strong {
  color: #fff1f8 !important;
  font-family: "Fraunces", Georgia, serif !important;
}
.studio-featured-date-control {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: .45rem !important;
  align-items: stretch !important;
  min-width: 0 !important;
}
body.studio-editor-page--journal .studio-featured-date-card input[type="date"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  min-height: 3.7rem !important;
  padding: .78rem .9rem !important;
  color: #ffe8f4 !important;
  -webkit-text-fill-color: #ffe8f4 !important;
  border: 1px solid rgba(248, 179, 217, .25) !important;
  background: rgba(22, 10, 29, .46) !important;
  font: 600 1.12rem/1 "Fraunces", Georgia, serif !important;
  letter-spacing: .01em !important;
  color-scheme: dark !important;
}
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit,
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit-fields-wrapper,
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit-text,
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit-month-field,
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit-day-field,
body.studio-editor-page--journal .studio-featured-date-card input[type="date"]::-webkit-datetime-edit-year-field {
  color: #ffe8f4 !important;
}
.studio-date-picker-button {
  display: grid !important;
  grid-auto-flow: column !important;
  gap: .16rem !important;
  place-content: center !important;
  min-width: 3.7rem !important;
  min-height: 3.7rem !important;
  padding: 0 .72rem !important;
  border: 1px solid rgba(255, 184, 221, .35) !important;
  border-radius: .9rem !important;
  color: #ffc1df !important;
  background: linear-gradient(145deg, rgba(154, 70, 131, .34), rgba(91, 48, 108, .40)) !important;
  box-shadow: 0 8px 20px rgba(11, 4, 16, .20), 0 0 13px rgba(239, 135, 194, .10) !important;
  font: 700 1.28rem/1 Georgia, serif !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}
.studio-date-picker-button span {
  color: #f39bc8 !important;
  font-size: .72em !important;
}
.studio-date-picker-button:hover,
.studio-date-picker-button:focus-visible {
  color: #fff0f8 !important;
  border-color: rgba(255, 209, 233, .56) !important;
  background: linear-gradient(145deg, rgba(178, 82, 149, .45), rgba(104, 57, 122, .48)) !important;
}

/* Meme rail remains a swipe/cycle rail, but its source is now Memory Box. */
body.studio-editor-page--journal .studio-meme-library--rail {
  overscroll-behavior-x: contain !important;
  scroll-snap-type: x proximity !important;
  scrollbar-color: rgba(235, 151, 199, .42) rgba(255,255,255,.04) !important;
}
body.studio-editor-page--journal .studio-meme-library__choice {
  scroll-snap-align: start !important;
}

/* ---------------- Journal archive: true center + even card wall ---------------- */
@media (min-width: 901px) {
  body.studio-posts-page--journal > main.studio-private-shell {
    display: block !important;
    position: relative !important;
    float: none !important;
    inset: auto !important;
    width: min(1120px, calc(100vw - 3rem)) !important;
    max-width: 1120px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  body.studio-posts-page--journal > main.studio-private-shell > :is(.studio-list-intro,.studio-smart-shelves,.studio-filter-bar,.studio-post-card-grid,.studio-empty-state,.studio-journal-basura) {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
    translate: none !important;
  }
  body.studio-posts-page--journal .studio-post-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: center !important;
  }
  body.studio-posts-page--journal .studio-post-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  body.studio-posts-page--journal .studio-post-card__body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
  }
  body.studio-posts-page--journal .studio-card-trash {
    margin-top: auto !important;
  }
}
@media (min-width: 701px) and (max-width: 900px) {
  body.studio-posts-page--journal .studio-post-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 700px) {
  body.studio-posts-page--journal .studio-post-card-grid { grid-template-columns: 1fr !important; }
}

/* Journal-only BASURA portal: always visible, centered between two cans. */
.studio-journal-basura {
  position: relative !important;
  z-index: 2 !important;
  margin: 1.4rem auto .5rem !important;
}
.studio-journal-basura__door {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: .9rem !important;
  align-items: center !important;
  width: min(100%, 48rem) !important;
  margin: 0 auto !important;
  padding: .9rem 1.05rem !important;
  border: 1px solid rgba(255, 201, 230, .15) !important;
  border-radius: 1.2rem !important;
  color: #ffeaf5 !important;
  background: linear-gradient(135deg, rgba(77, 35, 85, .68), rgba(43, 26, 55, .62)) !important;
  box-shadow: 0 14px 34px rgba(10, 3, 14, .17) !important;
  text-decoration: none !important;
}
.studio-journal-basura__copy {
  display: grid !important;
  gap: .24rem !important;
  min-width: 0 !important;
  text-align: center !important;
}
.studio-journal-basura__copy strong {
  color: #ffd9eb !important;
  font: 800 .9rem/1.1 "DM Sans", Arial, sans-serif !important;
  letter-spacing: .08em !important;
}
.studio-journal-basura__copy small {
  color: rgba(255, 229, 242, .62) !important;
  font: 600 .72rem/1.35 "DM Sans", Arial, sans-serif !important;
}
.studio-journal-basura__can {
  font-size: 1.5rem !important;
  animation: rtcStudioNavBounce 6.4s ease-in-out infinite !important;
}
.studio-journal-basura__can:last-child { animation-delay: -2.2s !important; }
.studio-journal-basura__door:hover {
  border-color: rgba(255, 195, 226, .28) !important;
  background: linear-gradient(135deg, rgba(92, 43, 101, .78), rgba(52, 30, 66, .70)) !important;
}

/* ---------------- BASURA buttons: contrast + actual readable button type ---------------- */
.studio-trash-batch__actions {
  align-items: center !important;
  gap: .75rem !important;
  background: rgba(255, 238, 247, .055) !important;
  border-color: rgba(255, 219, 238, .12) !important;
}
.studio-trash-action-buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: .5rem !important;
}
.studio-trash-action-buttons button {
  min-height: 2.85rem !important;
  padding: .72rem .9rem !important;
  border: 1px solid transparent !important;
  border-radius: .8rem !important;
  font: 800 .82rem/1 "DM Sans", Arial, sans-serif !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  cursor: pointer !important;
  box-shadow: 0 7px 18px rgba(9, 3, 13, .18) !important;
}
.studio-trash-select-all-button {
  color: #4e2242 !important;
  border-color: rgba(255, 224, 239, .45) !important;
  background: linear-gradient(145deg, #f6c5dc, #dda1c4) !important;
}
.studio-trash-select-all-button.is-all-selected {
  color: #fff5fa !important;
  background: linear-gradient(145deg, #7a4774, #5b355f) !important;
}
.studio-trash-rescue-button {
  color: #fff7fb !important;
  border-color: rgba(206, 180, 239, .26) !important;
  background: linear-gradient(145deg, #77538d, #5e3e73) !important;
}
.studio-trash-delete-button,
.studio-trash-action-buttons .danger {
  color: #fff8fb !important;
  border-color: rgba(255, 166, 198, .34) !important;
  background: linear-gradient(145deg, #a64268, #7e2e52) !important;
}
.studio-trash-selection-count {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 2.4rem !important;
  padding: .45rem .58rem !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 999px !important;
  color: rgba(255, 235, 246, .72) !important;
  background: rgba(255,255,255,.04) !important;
  font: 700 .7rem/1 "DM Sans", Arial, sans-serif !important;
}
.studio-trash-select {
  color: #ffe6f2 !important;
  font-family: "DM Sans", Arial, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  text-transform: none !important;
  letter-spacing: .01em !important;
}
.studio-trash-select span { color: #ffe6f2 !important; }
.studio-trash-select input { width: 1.2rem !important; height: 1.2rem !important; accent-color: #ed99c4 !important; }

/* ---------------- Preview/published: edit access at top AND bottom ---------------- */
.studio-preview-toolbar {
  position: sticky !important;
  top: .6rem !important;
  z-index: 1100 !important;
}
.studio-preview-bottom-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .65rem !important;
  width: min(100%, 920px) !important;
  margin: 1.4rem auto 0 !important;
  padding: .9rem !important;
  border: 1px solid rgba(255, 212, 235, .12) !important;
  border-radius: 1rem !important;
  background: rgba(48, 25, 58, .72) !important;
}
.studio-preview-bottom-actions form { margin: 0 !important; }
.studio-published-edit-top {
  position: relative !important;
  z-index: 4 !important;
  display: inline-flex !important;
  margin-bottom: 1rem !important;
  color: #71466d !important;
  font: 800 .8rem/1 "DM Sans", Arial, sans-serif !important;
  text-decoration: none !important;
}

/* ---------------- Mobile Studio header: compact, complete, not clipped ---------------- */
@media (max-width: 760px) {
  .studio-private-header,
  .studio-login-page .studio-private-header {
    width: calc(100% - .5rem) !important;
    max-width: calc(100vw - .5rem) !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "identity identity"
      "account utility"
      "nav nav"
      "music music" !important;
    gap: .34rem .42rem !important;
    padding: .46rem .5rem .56rem !important;
    overflow: visible !important;
  }

  .studio-mode-identity {
    grid-area: identity !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "clock logo"
      "clock mode" !important;
    gap: .1rem .4rem !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .studio-clock-chip {
    grid-area: clock !important;
    min-width: 4.35rem !important;
    padding: .4rem .46rem !important;
  }
  .studio-clock-chip strong { font-size: .9rem !important; }
  .studio-clock-chip small { display: none !important; }

  .studio-private-logo {
    grid-area: logo !important;
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    font-size: 1.14rem !important;
  }
  .studio-private-logo .logo-spell { font-size: .64em !important; margin-right: .12em !important; }
  .studio-private-logo > span:not(.logo-spell),
  .studio-private-logo::after { font-size: .48em !important; }

  .studio-mode-stamp {
    grid-area: mode !important;
    display: flex !important;
    align-items: center !important;
    gap: .3rem !important;
    min-width: 0 !important;
  }
  .studio-mode-stamp strong { font-size: .68rem !important; white-space: nowrap !important; }
  .studio-mode-stamp small {
    display: block !important;
    max-width: 9rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .48rem !important;
  }

  .studio-account-strip {
    grid-area: account !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: .28rem !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .studio-user-badge { display: flex !important; min-width: 0 !important; }
  .studio-user-badge span {
    min-height: 2.1rem !important;
    padding: 0 .2rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .52rem !important;
  }
  .studio-lock-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 2.1rem !important;
    padding: .45rem .5rem !important;
    white-space: nowrap !important;
    font-size: .54rem !important;
  }

  .studio-view-site {
    grid-area: utility !important;
    min-height: 2.1rem !important;
    padding: .44rem .55rem !important;
    font-size: .54rem !important;
    white-space: nowrap !important;
  }
  .studio-page:not(.studio-login-page) .studio-view-site .studio-view-site__label { display: none !important; }
  .studio-page:not(.studio-login-page) .studio-view-site::after {
    content: "Site" !important;
    color: inherit !important;
    font: inherit !important;
  }
  .studio-login-page .studio-view-site .studio-view-site__label { display: inline !important; }

  /* Five useful nav buttons fit in one tidy row; lock lives above beside username. */
  .studio-private-nav {
    grid-area: nav !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: .25rem !important;
    padding-top: .3rem !important;
    overflow: visible !important;
  }
  .studio-private-nav .studio-nav-lock { display: none !important; }
  .studio-private-nav a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .12rem !important;
    min-width: 0 !important;
    min-height: 2.55rem !important;
    padding: .35rem .12rem !important;
    overflow: hidden !important;
    font-size: .48rem !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }
  .studio-private-nav a span { font-size: .9rem !important; }

  .studio-header-music {
    grid-area: music !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .studio-header-music .site-soundtrack-dock--native {
    width: calc(100% - .25rem) !important;
    margin: 0 auto !important;
  }

  /* Collapsed: exactly the permanent identity rail, nothing else. */
  .studio-header-is-minimized .studio-private-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "identity identity"
      "account utility" !important;
  }
  .studio-header-is-minimized .studio-private-nav,
  .studio-header-is-minimized .studio-header-music { display: none !important; }

  /* Keep glass appearance without re-introducing expensive mobile blur. */
  body.studio-editor-page--journal .studio-editor-paper,
  body.studio-editor-page--journal .studio-editor-panel {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: linear-gradient(155deg, rgba(65, 32, 76, .94), rgba(40, 29, 56, .94) 56%, rgba(27, 54, 55, .92)) !important;
  }
  body.studio-editor-page--journal .studio-featured-date-card {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }
  body.studio-editor-page--journal .studio-featured-date-control {
    grid-column: 1 / -1 !important;
  }

  .studio-trash-batch__actions { align-items: stretch !important; flex-direction: column !important; }
  .studio-trash-action-buttons {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  .studio-trash-selection-count { justify-content: center !important; }
  .studio-trash-rescue-button,
  .studio-trash-delete-button { grid-column: span 1 !important; }

  .studio-preview-toolbar { position: relative !important; top: auto !important; }
  .studio-preview-bottom-actions { align-items: stretch !important; flex-direction: column !important; }
  .studio-preview-bottom-actions > *,
  .studio-preview-bottom-actions form,
  .studio-preview-bottom-actions .button { width: 100% !important; }
}


/* =========================================================
   AUG 21 — SITE PHOTO VAULT / GLOBAL BASURA / LOGIN DRAWER
   Loader remains locked and untouched.
   ========================================================= */

/* BASURA is a first-class Studio destination now. */
.studio-private-nav .studio-nav-basura {
  color: #f4bfd9 !important;
  border-color: rgba(240, 151, 201, .18) !important;
}
.studio-private-nav .studio-nav-basura:hover,
.studio-private-nav .studio-nav-basura.is-active {
  color: #fff1f8 !important;
  border-color: rgba(255, 185, 221, .34) !important;
  background: rgba(195, 78, 143, .14) !important;
}
.studio-private-nav .studio-nav-basura span { color: #f2a8cc !important; }

/* Memory Box always has an obvious path to the full rescue room. */
.studio-memory-basura-access {
  width: min(100%, 44rem);
  margin: 1rem auto 1.35rem;
}
.studio-memory-basura-access a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
  padding: .9rem 1rem;
  border: 1px solid rgba(255, 185, 221, .16);
  border-radius: 1rem;
  color: #ffe8f4;
  background: linear-gradient(135deg, rgba(92, 34, 91, .52), rgba(48, 31, 65, .56));
  box-shadow: 0 10px 30px rgba(12, 4, 18, .12);
  text-decoration: none;
}
.studio-memory-basura-access a:hover { transform: translateY(-2px); border-color: rgba(255, 185, 221, .34); }
.studio-memory-basura-access strong { display: block; font: 800 .78rem/1.1 "DM Sans", Arial, sans-serif; letter-spacing: .04em; }
.studio-memory-basura-access small { display: block; margin-top: .18rem; color: rgba(255, 232, 244, .62); font-size: .72rem; }
.studio-memory-basura-access > a > span { color: #f1a8cd; font-size: 1.15rem; }

/* Login player gets the same pink drawer handle as the signed-in header. */
.studio-login-page .studio-header-minimize--guest {
  display: grid !important;
  right: .7rem !important;
  bottom: -.9rem !important;
}
body.studio-login-page.studio-header-is-minimized .studio-private-header {
  grid-template-columns: 1fr !important;
  grid-template-areas:
    "identity"
    "utility" !important;
  gap: .4rem !important;
  padding-bottom: .58rem !important;
}
body.studio-login-page.studio-header-is-minimized .studio-header-music,
body.studio-login-page.studio-header-is-minimized .studio-header-music--guest {
  display: none !important;
  height: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.studio-login-page.studio-header-is-minimized .studio-view-site--guest {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  height: auto !important;
  justify-self: center !important;
}

/* Admin landing is intentionally one simple Settings door. */
.studio-admin-home-simple { max-width: 980px !important; }
.studio-admin-settings-door {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  min-height: 10rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgba(255, 205, 232, .14);
  border-radius: 1.45rem;
  color: #fff4fa;
  background: linear-gradient(145deg, rgba(91, 45, 99, .58), rgba(35, 52, 61, .52));
  box-shadow: 0 20px 55px rgba(8, 3, 12, .18);
  text-decoration: none;
}
.studio-admin-settings-door:hover { transform: translateY(-3px); border-color: rgba(255, 190, 222, .32); }
.studio-admin-settings-door > span { font-size: 2rem; }
.studio-admin-settings-door small { color: #e5afd0; font: 800 .68rem/1 "DM Sans", Arial, sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.studio-admin-settings-door h2 { margin: .25rem 0 .4rem; color: #fff; font-size: clamp(2rem, 4vw, 3.25rem); }
.studio-admin-settings-door p { margin: 0; color: rgba(255, 240, 248, .64); }
.studio-admin-settings-door b { color: #f3acd0; font-size: 1.6rem; }

@media (max-width: 760px) {
  /* Six destinations, still one compact row. Lock stays in the account rail. */
  .studio-private-nav {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
  .studio-private-nav a {
    font-size: .43rem !important;
    padding-inline: .06rem !important;
  }
  .studio-private-nav a span { font-size: .82rem !important; }
  .studio-memory-basura-access { width: 100%; }
  .studio-memory-basura-access a { padding: .8rem .82rem; }
  .studio-login-page .studio-header-minimize--guest {
    right: .62rem !important;
    bottom: -.98rem !important;
  }
  body.studio-login-page.studio-header-is-minimized .studio-private-header {
    width: calc(100% - .5rem) !important;
    grid-template-columns: 1fr !important;
    grid-template-areas: "identity" "utility" !important;
  }
}


/* =========================================================
   AUG 21 — RACHEL-ONLY JOURNAL / MEMORY PICKER / MOBILE FIT
   Loader remains locked: no loader, rabbit, flower or timing rules here.
   ========================================================= */

/* Give the pink Studio drawer handle its own breathing room below the header. */
.studio-private-header { margin-bottom: 1.25rem !important; }
.studio-header-minimize { bottom: -1.48rem !important; }
.studio-header-music [data-soundtrack-list-toggle] { transform: translateY(.16rem) !important; }

/* Active Studio destination should be unmistakable, especially Home/Settings on mobile. */
.studio-private-nav a.is-active,
.studio-private-nav a[aria-current="page"] {
  color: #fff6fb !important;
  border-color: rgba(255, 184, 222, .52) !important;
  background: linear-gradient(145deg, rgba(205, 91, 154, .32), rgba(121, 72, 145, .28)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.055), 0 0 14px rgba(238, 120, 188, .12) !important;
}
.studio-private-nav a.is-active span,
.studio-private-nav a[aria-current="page"] span { color: #ffc0df !important; }

/* Journal preview choice: clearly pink, not a gray afterthought. */
body.studio-editor-page--journal .studio-preview-choice {
  border-color: rgba(255, 180, 219, .28) !important;
}
body.studio-editor-page--journal .studio-preview-choice > span {
  padding: .8rem .9rem !important;
  border: 1px solid rgba(255, 176, 217, .24) !important;
  border-radius: .9rem !important;
  color: #ffeaf5 !important;
  background: linear-gradient(145deg, rgba(194, 79, 145, .22), rgba(117, 69, 139, .18)) !important;
}
body.studio-editor-page--journal .studio-preview-choice strong { color: #ffc3e0 !important; }
body.studio-editor-page--journal .studio-preview-choice small { color: rgba(255, 232, 245, .68) !important; }
body.studio-editor-page--journal .studio-preview-choice input { accent-color: #eb82b8 !important; }

/* Mood helper should never get clipped against the panel edge. */
body.studio-editor-page--journal .studio-editor-panel--mood .studio-panel-heading > span {
  flex: 0 0 auto !important;
  margin: .3rem .25rem .3rem .6rem !important;
  padding: .48rem .68rem !important;
  border: 1px solid rgba(255, 190, 224, .16) !important;
  border-radius: 999px !important;
  color: rgba(255, 229, 244, .72) !important;
  line-height: 1.15 !important;
}

/* Full Memory Box picker: finite pages, tag search, and a clean route back to the draft. */
.memory-journal-picker-bar {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto auto !important;
  gap: .7rem !important;
  align-items: center !important;
  margin: 0 auto 1rem !important;
  padding: 1rem !important;
  border: 1px solid rgba(255, 186, 222, .16) !important;
  border-radius: 1.2rem !important;
  background: linear-gradient(135deg, rgba(76, 35, 88, .62), rgba(31, 57, 61, .50)) !important;
}
.memory-journal-picker-bar strong,
.memory-journal-picker-bar small { display: block !important; }
.memory-journal-picker-bar strong { color: #fff2f9 !important; font-size: 1.05rem !important; }
.memory-journal-picker-bar small { margin-top: .22rem !important; color: rgba(255,235,247,.66) !important; }
.memory-search-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto auto !important;
  gap: .55rem !important;
  width: 100% !important;
  margin: .8rem 0 1rem !important;
}
.memory-search-row input {
  min-width: 0 !important;
  width: 100% !important;
  padding: .76rem .9rem !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: .85rem !important;
  color: #fff !important;
  background: rgba(255,255,255,.065) !important;
}
.memory-filter-meta { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:.7rem !important; min-width:0 !important; }
.memory-filter-meta > small { flex:0 0 auto !important; color:rgba(255,235,247,.58) !important; font-size:.72rem !important; }
.memory-pagination { display:flex !important; align-items:center !important; justify-content:center !important; gap:.7rem !important; margin:1.25rem auto !important; }
.memory-pagination > span { color:rgba(255,235,247,.66) !important; font-size:.78rem !important; }
.memory-picker-bottom-return { display:flex !important; justify-content:center !important; margin:1.2rem 0 !important; }
.memory-picker-check {
  position:absolute !important;
  z-index:8 !important;
  left:.5rem !important;
  top:.5rem !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:.3rem !important;
  padding:.36rem .48rem !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:999px !important;
  color:#fff !important;
  background:rgba(42,15,51,.84) !important;
  box-shadow:0 5px 15px rgba(0,0,0,.18) !important;
  cursor:pointer !important;
}
.memory-picker-check input { accent-color:#e986bb !important; }
.memory-picker-check span { font:800 .66rem/1 "DM Sans",Arial,sans-serif !important; }
.studio-memory-card.is-journal-pickable:has(.memory-picker-check input:checked) {
  border-color:rgba(255,182,221,.58) !important;
  box-shadow:0 0 0 3px rgba(232,126,184,.13),0 18px 45px rgba(10,4,15,.18) !important;
}

/* Memory BASURA tile: explicit grid areas stop the copy colliding with its icons. */
.studio-memory-basura-access a {
  grid-template-columns: auto minmax(0,1fr) auto !important;
  grid-template-areas: "trash title recycle" "trash description recycle" !important;
  align-items:center !important;
}
.studio-memory-basura-access a > .studio-memory-basura-access__icon:first-child { grid-area:trash !important; }
.studio-memory-basura-access a > strong { grid-area:title !important; min-width:0 !important; text-align:center !important; }
.studio-memory-basura-access a > small { grid-area:description !important; min-width:0 !important; text-align:center !important; overflow-wrap:anywhere !important; }
.studio-memory-basura-access a > .studio-memory-basura-access__icon:last-child { grid-area:recycle !important; }
.studio-memory-basura-access__icon { display:grid !important; width:2.2rem !important; height:2.2rem !important; place-items:center !important; font-size:1.15rem !important; }

/* Memory editor controls: no clipped text, no selector escaping its card. */
.memory-card-meta,
.memory-card-meta > *,
.memory-upload-fields,
.memory-upload-fields > *,
.memory-upload-fields input,
.memory-upload-fields select,
.memory-card-meta input,
.memory-card-meta select {
  min-width: 0 !important;
  max-width: 100% !important;
}
.memory-card-meta input,
.memory-card-meta select,
.memory-upload-fields input,
.memory-upload-fields select {
  width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.memory-card-meta > div { min-width:0 !important; flex-wrap:wrap !important; }

/* The full-Memory-Box button is a save-and-go control, not a fragile plain link. */
.studio-open-memory-box {
  appearance:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(238,145,196,.62) !important;
  color:#ffc2df !important;
  background:transparent !important;
  cursor:pointer !important;
}
.studio-open-memory-note { display:block !important; margin-top:.45rem !important; color:rgba(255,232,245,.58) !important; }

@media (max-width: 760px) {
  /* User asked for the actual words, not the tiny generic "Site" label. */
  .studio-page:not(.studio-login-page) .studio-view-site .studio-view-site__label { display:none !important; }
  .studio-page:not(.studio-login-page) .studio-view-site::after {
    content:"Back to Site" !important;
    color:inherit !important;
    font:inherit !important;
  }

  .studio-private-header { margin-bottom: 1.15rem !important; }
  .studio-header-minimize { right:.82rem !important; bottom:-1.34rem !important; }
  .studio-header-music [data-soundtrack-list-toggle] { transform:translateY(.22rem) !important; margin-right:.28rem !important; }

  /* Journal selectors stay inside the glass panels. */
  body.studio-editor-page--journal .studio-mood-picker,
  body.studio-editor-page--journal .studio-special-tags,
  body.studio-editor-page--journal .studio-privacy-picker,
  body.studio-editor-page--journal .studio-tag-suggestions,
  body.studio-editor-page--journal .studio-photo-upload-row,
  body.studio-editor-page--journal .studio-keepsake-grid--tray {
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  body.studio-editor-page--journal .studio-special-tags { grid-template-columns:1fr 1fr !important; }
  body.studio-editor-page--journal .studio-special-tags button,
  body.studio-editor-page--journal .studio-special-tags button > *,
  body.studio-editor-page--journal .studio-mood-choice,
  body.studio-editor-page--journal .studio-mood-choice > span,
  body.studio-editor-page--journal .studio-privacy-picker label,
  body.studio-editor-page--journal .studio-privacy-picker label > span {
    min-width:0 !important;
    max-width:100% !important;
  }
  body.studio-editor-page--journal .studio-special-tags button strong,
  body.studio-editor-page--journal .studio-special-tags button small,
  body.studio-editor-page--journal .studio-privacy-picker small { overflow-wrap:anywhere !important; }
  body.studio-editor-page--journal .studio-editor-panel--mood .studio-panel-heading { align-items:flex-start !important; }
  body.studio-editor-page--journal .studio-editor-panel--mood .studio-panel-heading > span { margin:.45rem 0 0 !important; }

  .memory-journal-picker-bar { grid-template-columns:1fr !important; align-items:stretch !important; }
  .memory-journal-picker-bar form,
  .memory-journal-picker-bar .button { width:100% !important; }
  .memory-search-row { grid-template-columns:1fr 1fr !important; }
  .memory-search-row input { grid-column:1 / -1 !important; }
  .memory-filter-meta { align-items:flex-start !important; flex-direction:column !important; }
  .memory-filter-row { width:100% !important; max-width:100% !important; }
  .studio-memory-grid--vault { grid-template-columns:1fr !important; }
  .studio-memory-card { width:100% !important; min-width:0 !important; }
  .memory-card-meta { padding:.7rem !important; overflow:hidden !important; }
  .memory-card-meta input,
  .memory-card-meta select { font-size:.92rem !important; padding:.72rem .75rem !important; }
  .memory-upload-fields { grid-template-columns:1fr !important; width:100% !important; }
  .studio-memory-drop--sorted { width:100% !important; max-width:100% !important; overflow:hidden !important; }
  .studio-memory-basura-access { width:100% !important; max-width:100% !important; }
  .studio-memory-basura-access a {
    grid-template-columns:2.1rem minmax(0,1fr) 2.1rem !important;
    gap:.4rem !important;
    padding:.85rem .72rem !important;
  }
  .studio-memory-basura-access a > strong { font-size:.84rem !important; }
  .studio-memory-basura-access a > small { font-size:.7rem !important; line-height:1.35 !important; }
  .studio-memory-basura-access__icon { width:2rem !important; height:2rem !important; font-size:1rem !important; }
  .memory-pagination { flex-wrap:wrap !important; }
}

@media (max-width: 430px) {
  body.studio-editor-page--journal .studio-special-tags { grid-template-columns:1fr !important; }
  .studio-memory-basura-access a {
    grid-template-columns:1fr !important;
    grid-template-areas:"trash" "title" "description" "recycle" !important;
    justify-items:center !important;
    text-align:center !important;
  }
  .studio-memory-basura-access__icon { margin-inline:auto !important; }
}

/* =========================================================
   AUG 21 — FINAL JOURNAL-CONTAINED MEMORY PICKER POLISH
   Loader/rabbit/flower animation remains untouched.
   ========================================================= */

/* The private shelves are a full ten-card collection. Never crop the last row. */
.studio-shelves,
.studio-shelf-grid {
  max-height: none !important;
  overflow: visible !important;
}
.studio-shelf-grid > .studio-shelf-card {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Give the soundtrack playlist control enough vertical separation that its
   arrow never sits on top of the player identity/transport. */
.studio-header-music [data-soundtrack-list-toggle] {
  position: relative !important;
  transform: translateY(.52rem) !important;
  align-self: end !important;
}

/* The native date input remains visible; the moon is now a real associated
   label as well, so tapping it reliably reaches the date control on mobile. */
.studio-date-picker-button {
  user-select: none !important;
  -webkit-user-select: none !important;
}

/* Memory Box as an in-journal modal. The draft page remains mounted beneath it. */
.studio-memory-picker-dialog {
  width: min(96vw, 1180px) !important;
  max-width: 1180px !important;
  height: min(90dvh, 900px) !important;
  max-height: 900px !important;
  margin: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 189, 224, .26) !important;
  border-radius: 1.35rem !important;
  color: #fff !important;
  background: #251b2d !important;
  box-shadow: 0 30px 90px rgba(5, 2, 8, .62), 0 0 0 1px rgba(255,255,255,.04) inset !important;
}
.studio-memory-picker-dialog::backdrop {
  background: rgba(12, 7, 17, .72) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}
.studio-memory-picker-dialog__shell {
  display: grid !important;
  grid-template-rows: auto minmax(0,1fr) !important;
  width: 100% !important;
  height: 100% !important;
}
.studio-memory-picker-dialog__topbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: .82rem 1rem !important;
  border-bottom: 1px solid rgba(255,255,255,.09) !important;
  background: linear-gradient(135deg, rgba(82, 39, 94, .96), rgba(35, 66, 68, .94)) !important;
}
.studio-memory-picker-dialog__topbar p { margin: 0 0 .18rem !important; }
.studio-memory-picker-dialog__topbar strong { color: #fff1f8 !important; font-size: .9rem !important; }
.studio-memory-picker-dialog__topbar button {
  display: grid !important;
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  place-items: center !important;
  border: 1px solid rgba(255, 199, 228, .24) !important;
  border-radius: 50% !important;
  color: #ffc2df !important;
  background: rgba(255,255,255,.07) !important;
  font-size: 1.5rem !important;
  cursor: pointer !important;
}
.studio-memory-picker-dialog iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: #241a2c !important;
}

/* Embedded picker is the Memory Box itself, minus the duplicate Studio chrome. */
body.studio-memory-page--embedded .studio-private-header {
  display: none !important;
}
body.studio-memory-page--embedded .studio-private-shell {
  width: min(100% - 1rem, 1120px) !important;
  max-width: 1120px !important;
  padding-top: .75rem !important;
  padding-bottom: 2rem !important;
}
body.studio-memory-page--embedded .studio-list-intro {
  margin-top: 0 !important;
}
body.studio-memory-page--embedded .memory-journal-picker-bar {
  position: sticky !important;
  top: .45rem !important;
  z-index: 40 !important;
  box-shadow: 0 14px 34px rgba(9,4,13,.28) !important;
}

/* Tags are first-class browsing controls instead of requiring Rachel to know
   what to type into search. */
.memory-tag-browser {
  margin: .85rem 0 1rem !important;
  padding: .75rem !important;
  border: 1px solid rgba(255, 188, 222, .12) !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,.035) !important;
}
.memory-tag-browser summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  color: #ffd6e9 !important;
  font: 800 .76rem/1.2 "DM Sans", Arial, sans-serif !important;
  cursor: pointer !important;
}
.memory-tag-browser summary span {
  color: rgba(255,232,244,.52) !important;
  font-size: .68rem !important;
}
.memory-tag-browser > div {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .42rem !important;
  margin-top: .7rem !important;
}
.memory-tag-browser a {
  display: inline-flex !important;
  align-items: center !important;
  gap: .35rem !important;
  max-width: 100% !important;
  padding: .48rem .62rem !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 999px !important;
  color: rgba(255,241,248,.78) !important;
  background: rgba(255,255,255,.045) !important;
  text-decoration: none !important;
  overflow-wrap: anywhere !important;
}
.memory-tag-browser a small { color: rgba(255,228,242,.45) !important; }
.memory-tag-browser a.is-active {
  color: #fff !important;
  border-color: rgba(255, 174, 216, .48) !important;
  background: rgba(202, 83, 151, .27) !important;
}

/* The Memory Box editor should never clip labels, tags, captions, or selects. */
.memory-card-meta,
.memory-card-meta input,
.memory-card-meta select,
.memory-upload-fields,
.memory-upload-fields input,
.memory-upload-fields select {
  min-width: 0 !important;
  max-width: 100% !important;
}
.memory-card-meta input,
.memory-card-meta select,
.memory-upload-fields input,
.memory-upload-fields select {
  min-height: 2.8rem !important;
  line-height: 1.3 !important;
}

@media (max-width: 760px) {
  /* Exact mobile wording requested. */
  .studio-page:not(.studio-login-page) .studio-view-site::after {
    content: "Back to Site" !important;
  }

  /* Push the playlist arrow farther down on the compact player. */
  .studio-header-music [data-soundtrack-list-toggle] {
    transform: translateY(.66rem) !important;
  }

  /* Strong selected-state contrast, including Home. */
  .studio-private-nav a.is-active,
  .studio-private-nav a[aria-current="page"] {
    color: #fff !important;
    border-color: rgba(255, 194, 226, .7) !important;
    background: linear-gradient(145deg, rgba(185, 67, 136, .58), rgba(99, 52, 124, .56)) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 16px rgba(240,115,184,.2) !important;
  }

  /* "one is enough" gets breathing room instead of touching/clipping the edge. */
  body.studio-editor-page--journal .studio-editor-panel--mood .studio-panel-heading > span {
    margin: .7rem 0 .2rem !important;
    padding: .56rem .72rem .62rem !important;
    line-height: 1.25 !important;
  }

  .studio-memory-picker-dialog {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .studio-memory-picker-dialog__topbar {
    padding: max(.72rem, env(safe-area-inset-top)) .72rem .72rem !important;
  }
  .studio-memory-picker-dialog__topbar strong { font-size: .78rem !important; }
  body.studio-memory-page--embedded .studio-private-shell {
    width: calc(100% - .5rem) !important;
    padding-top: .3rem !important;
  }
  body.studio-memory-page--embedded .memory-journal-picker-bar {
    top: .2rem !important;
  }
  .memory-tag-browser > div {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .memory-tag-browser a {
    justify-content: space-between !important;
    min-width: 0 !important;
    border-radius: .75rem !important;
  }
}

@media (max-width: 430px) {
  .memory-tag-browser > div { grid-template-columns: 1fr !important; }
}

/* In picker mode Rachel is browsing/selecting, not editing or trashing the vault. */
body.studio-memory-page--embedded .studio-memory-basura-access,
body.studio-memory-page--embedded .studio-memory-drop,
body.studio-memory-page--embedded .memory-card-meta,
body.studio-memory-page--embedded .memory-card-trash,
body.studio-memory-page--embedded .studio-memory-trash {
  display: none !important;
}
body.studio-memory-page--embedded .studio-memory-card {
  overflow: hidden !important;
}
body.studio-memory-page--embedded .memory-card-image {
  margin-bottom: 0 !important;
}


/* =========================================================
   AUG 21 MOBILE STUDIO PLAYER + HEADER CLEARANCE
   Keep all transport controls available on phones and move the Studio
   collapse control completely below the Back to Site button.
   ========================================================= */
@media (max-width: 760px) {
  .studio-header-music .native-player__transport [data-soundtrack-prev],
  .studio-header-music .native-player__transport button[data-soundtrack-prev] {
    display: inline-grid !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .studio-header-music .native-player__main {
    grid-template-columns: auto minmax(0,1fr) auto !important;
  }

  .studio-header-minimize {
    top: calc(100% + .72rem) !important;
    right: .82rem !important;
    bottom: auto !important;
    z-index: 12 !important;
  }

  .studio-view-site {
    position: relative !important;
    z-index: 13 !important;
    padding-right: 1rem !important;
  }
}


/* =========================================================
   AUG 21 — MOBILE BROWSE + CONTROL POLISH
   ========================================================= */

html { scroll-behavior: smooth; }

/* Always-available return-to-top control across Studio, desktop and mobile. */
.studio-scroll-top {
  position: fixed !important;
  right: max(.85rem, env(safe-area-inset-right)) !important;
  bottom: max(.9rem, env(safe-area-inset-bottom)) !important;
  z-index: 1180 !important;
  display: grid !important;
  width: 2.9rem !important;
  height: 2.9rem !important;
  place-items: center !important;
  border: 1px solid rgba(255,190,224,.38) !important;
  border-radius: 50% !important;
  color: #ffd4e9 !important;
  background: rgba(71,27,79,.92) !important;
  box-shadow: 0 10px 28px rgba(12,5,18,.28) !important;
  text-decoration: none !important;
  font: 900 1.35rem/1 "DM Sans",Arial,sans-serif !important;
}
.studio-scroll-top:hover,
.studio-scroll-top:focus-visible { background: #60245f !important; color:#fff !important; }

/* The little BASURA can gets a tiny mischievous wobble. */
@keyframes rtcTrashJiggle {
  0%, 72%, 100% { transform: rotate(0deg) translateY(0); }
  78% { transform: rotate(-9deg) translateY(-1px); }
  83% { transform: rotate(8deg) translateY(0); }
  88% { transform: rotate(-5deg) translateY(-1px); }
  93% { transform: rotate(4deg) translateY(0); }
}
.studio-basura-jiggle {
  display:inline-block !important;
  transform-origin:50% 90% !important;
  animation:rtcTrashJiggle 2.8s ease-in-out infinite !important;
}

/* Memory Box card editor: keep controls inside the card and make the action
   compact instead of letting a long button shove the inputs off the right. */
.memory-card-meta > div {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:.35rem !important;
  width:100% !important;
  max-width:100% !important;
}
.memory-card-meta > div small {
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.memory-card-meta > div button {
  width:auto !important;
  max-width:7rem !important;
  min-width:0 !important;
  padding:.38rem .46rem !important;
  white-space:nowrap !important;
  font-size:.66rem !important;
}

/* Journal meme picker: three visible choices across instead of a one-at-a-time
   horizontal rail. It scrolls vertically, so a large Meme Vault is browsable. */
body.studio-editor-page--journal .studio-meme-library--rail {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.48rem !important;
  width:100% !important;
  max-width:100% !important;
  max-height:min(62vh,34rem) !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  padding:.32rem .2rem .55rem !important;
  scroll-snap-type:none !important;
  -webkit-overflow-scrolling:touch !important;
}
body.studio-editor-page--journal .studio-meme-library__choice {
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  scroll-snap-align:none !important;
}
body.studio-editor-page--journal .studio-meme-library__choice > span {
  width:100% !important;
  min-width:0 !important;
}
body.studio-editor-page--journal .studio-meme-library__choice img {
  width:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
}

/* Photo selector can never widen the journal panel on a phone. */
body.studio-editor-page--journal .studio-memory-picker,
body.studio-editor-page--journal .studio-memory-picker > *,
body.studio-editor-page--journal .studio-memory-picker__grid,
body.studio-editor-page--journal .studio-memory-picker__grid > label,
body.studio-editor-page--journal .studio-photo-upload-row,
body.studio-editor-page--journal .studio-photo-upload-row > label,
body.studio-editor-page--journal .studio-photo-upload-row input[type="file"] {
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
}
body.studio-editor-page--journal .studio-memory-picker { overflow:hidden !important; }
body.studio-editor-page--journal .studio-memory-picker__grid { width:100% !important; }
body.studio-editor-page--journal .studio-memory-picker__grid > label { overflow:hidden !important; }
body.studio-editor-page--journal .studio-photo-upload-row input[type="file"] { width:100% !important; }

@media (max-width:760px), (pointer:coarse) {
  /* Don't let reveal-on-intersection leave empty holes while finger-scrolling. */
  .studio-page .reveal-soft,
  .studio-page .rtc-motion-item,
  .studio-page .rtc-motion-item:not(.reveal-soft) {
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }

  /* Reserve a real gutter beneath the header and put the collapse arrow in it.
     This keeps it off Back to Site AND off Shop draft/status markers. */
  .studio-private-header { margin-bottom:3.15rem !important; }
  .studio-header-minimize {
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:-2.55rem !important;
    transform:translateX(-50%) !important;
    z-index:14 !important;
  }
  .studio-header-is-minimized .studio-header-minimize {
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
  }

  .studio-scroll-top {
    width:3.05rem !important;
    height:3.05rem !important;
    right:max(.72rem,env(safe-area-inset-right)) !important;
    bottom:max(.72rem,env(safe-area-inset-bottom)) !important;
  }

  .memory-card-meta > div button {
    max-width:5.6rem !important;
    padding:.34rem .38rem !important;
    font-size:.61rem !important;
  }

  body.studio-editor-page--journal .studio-memory-picker__grid {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.36rem !important;
  }
  body.studio-editor-page--journal .studio-memory-picker__grid span {
    font-size:.54rem !important;
    line-height:1.15 !important;
    padding:.2rem !important;
    overflow-wrap:anywhere !important;
  }
}

@media (max-width:420px) {
  body.studio-editor-page--journal .studio-meme-library--rail {
    gap:.34rem !important;
  }
  body.studio-editor-page--journal .studio-meme-library__choice b {
    font-size:.58rem !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .studio-basura-jiggle { animation:none !important; }
  html { scroll-behavior:auto; }
}
