@import url("/assets/refinement.css");
@import url("/assets/site-shell.css");
:root {
  --paper: #f5efe5;
  --surface: #fffaf2;
  --ink: #111820;
  --text: #24272a;
  --muted: #777069;
  --amber: #c98648;
  --clay: #c77863;
  --sage: #cbd5cc;
  --line: rgba(20, 28, 34, 0.13);
  --green: #438568;
  --red: #b85b5b;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  background: var(--paper);
  color: var(--text);
  font-family: Manrope, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a {
  color: inherit;
  text-decoration: none;
}
button,
input,
textarea,
select {
  font: inherit;
}
button {
  cursor: pointer;
}
.serif,
h1,
h2,
h3 {
  font-family: Newsreader, serif;
  font-weight: 400;
}
.shell {
  width: min(1180px, calc(100% - 40px));
  margin: auto;
}
.topbar {
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.logo {
  font:
    500 25px Newsreader,
    serif;
}
.toplinks {
  display: flex;
  gap: 24px;
  font-size: 10px;
  color: #656661;
}
.button {
  border: 0;
  border-radius: 12px;
  padding: 12px 15px;
  background: var(--ink);
  color: white;
  font-size: 10px;
  display: inline-flex;
  align-items: center;
  gap: 22px;
}
.button.light {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
}
.button.warm {
  background: var(--clay);
}
.eyebrow {
  font-size: 8px;
  letter-spacing: 0.23em;
  text-transform: uppercase;
  color: #777b76;
}
.page-head {
  padding: 75px 0 45px;
}
.page-head h1 {
  font-size: clamp(49px, 6vw, 78px);
  line-height: 0.93;
  letter-spacing: -0.055em;
  margin: 15px 0;
}
.page-head p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
  max-width: 600px;
}
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.field {
  display: grid;
  gap: 8px;
}
.field label {
  font-size: 9px;
  color: #6e716c;
}
.field input,
.field textarea,
.field select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fffdf9;
  border-radius: 11px;
  padding: 14px;
  color: var(--text);
  outline: none;
}
.field textarea {
  min-height: 120px;
  resize: vertical;
}
.field input:focus,
.field textarea:focus {
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(201, 134, 72, 0.1);
}
.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pill {
  padding: 9px 13px;
  border: 1px solid var(--line);
  background: transparent;
  border-radius: 99px;
  font-size: 9px;
}
.pill.active {
  background: var(--ink);
  color: #fff;
}
.progress {
  display: flex;
  gap: 6px;
}
.progress i {
  height: 3px;
  flex: 1;
  background: #d9d5cd;
  border-radius: 4px;
}
.progress i.done {
  background: var(--amber);
}
.wizard {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 30px;
  padding-bottom: 90px;
}
.wizard-aside {
  padding: 25px;
  height: max-content;
  position: sticky;
  top: 20px;
}
.step-list {
  display: grid;
  gap: 18px;
  margin-top: 30px;
}
.step-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  font-size: 10px;
  color: #878782;
}
.step-item b {
  width: 27px;
  height: 27px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 9px;
}
.step-item.active {
  color: var(--ink);
}
.step-item.active b {
  background: var(--ink);
  color: white;
}
.wizard-main {
  padding: 38px;
}
.wizard-main h2 {
  font-size: 42px;
  margin: 0 0 10px;
}
.wizard-main > p {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.6;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 32px;
}
.form-grid .wide {
  grid-column: 1/-1;
}
.actions {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.result-hero {
  text-align: center;
  padding: 85px 0 45px;
}
.result-hero h1 {
  font-size: 72px;
  line-height: 0.92;
  margin: 14px 0;
}
.result-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  padding-bottom: 100px;
}
.lyric-card {
  padding: 38px;
}
.lyric-card blockquote {
  font:
    400 32px/1.3 Newsreader,
    serif;
  margin: 30px 0;
  color: #53504b;
}
.lyric-card blockquote b {
  color: var(--amber);
  font-weight: 400;
}
.player-card {
  min-height: 570px;
  background: var(--ink);
  color: white;
  padding: 38px;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.rings {
  width: 250px;
  height: 250px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  margin: auto;
  display: grid;
  place-items: center;
  position: relative;
}
.rings:before,
.rings:after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(201, 134, 72, 0.55);
}
.rings:before {
  inset: 28px;
  border-style: dashed;
}
.rings:after {
  inset: 58px;
}
.play {
  width: 65px;
  height: 65px;
  border: 0;
  border-radius: 50%;
  background: var(--surface);
  font-size: 16px;
  z-index: 2;
}
.result-choice {
  margin-top: 28px;
  padding: 22px;
  background: #edf1ec;
  border-radius: 14px;
  text-align: left;
  color: var(--ink);
}
.result-choice h3 {
  font-size: 25px;
  margin: 0 0 7px;
}
.result-choice p {
  font-size: 9px;
  color: #68706b;
  line-height: 1.55;
}
.price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
}
.price {
  font:
    400 28px Newsreader,
    serif;
}
.gift-body {
  background: var(--ink);
  color: white;
  min-height: 100vh;
}
.gift-open {
  min-height: 100vh;
  display: grid;
  place-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(0deg, rgba(8, 14, 19, 0.76), rgba(8, 14, 19, 0.2)),
    url("hero-poster.png") center/cover;
}
.gift-open.cover-heirloom { background: linear-gradient(0deg, rgba(20,20,19,.72), rgba(37,35,31,.22)), linear-gradient(145deg, #bba88f, #624f43); }
.gift-open.cover-midnight { background: linear-gradient(0deg, rgba(8,14,19,.8), rgba(8,14,19,.3)), linear-gradient(145deg, #111a21, #45524d); }
.gift-open.cover-resonance { background: linear-gradient(0deg, rgba(20,29,27,.76), rgba(20,29,27,.24)), radial-gradient(circle at 70% 28%, #ffe0ae, transparent 30%), linear-gradient(145deg, #81958c, #e9d8bf); }
.gift-open.cover-first-light { background: linear-gradient(0deg, rgba(38,25,25,.74), rgba(38,25,25,.22)), linear-gradient(145deg, #efd4cc, #d8aa83); }
.gift-open[data-effect="soft-lights"]::after,
.gift-open[data-effect="petals"]::after,
.gift-open[data-effect="stars"]::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; z-index:1; }
.gift-open[data-effect="soft-lights"]::after { background:radial-gradient(ellipse at 18% 28%,rgba(255,230,190,.24),transparent 32%),radial-gradient(ellipse at 85% 72%,rgba(234,190,155,.2),transparent 35%); animation:gift-lights 9s ease-in-out infinite alternate; }
.gift-open[data-effect="petals"]::after { background:radial-gradient(ellipse 7px 13px at 20% 28%,rgba(247,211,203,.54) 45%,transparent 55%),radial-gradient(ellipse 6px 11px at 78% 38%,rgba(247,211,203,.45) 45%,transparent 55%),radial-gradient(ellipse 7px 12px at 68% 80%,rgba(247,211,203,.42) 45%,transparent 55%),radial-gradient(ellipse 6px 10px at 32% 70%,rgba(247,211,203,.36) 45%,transparent 55%); animation:gift-petals 14s ease-in-out infinite; }
.gift-open[data-effect="stars"]::after { background:radial-gradient(circle at 18% 24%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 77% 31%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 83% 75%,#fff8e8 0 1.5px,transparent 2.5px),radial-gradient(circle at 27% 80%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 61% 17%,#fff8e8 0 1px,transparent 2px); animation:gift-twinkle 4s ease-in-out infinite alternate; }
@keyframes gift-lights { to { opacity:.9; transform:scale(1.04); } }
@keyframes gift-petals { 50% { transform:translate3d(8px,12px,0) rotate(2deg); } }
@keyframes gift-twinkle { to { opacity:.8; } }
.gift-open:before {
  content: "";
  position: absolute;
  width: 650px;
  height: 650px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 50%;
  box-shadow:
    inset 0 0 0 70px rgba(255, 255, 255, 0.015),
    inset 0 0 0 140px rgba(201, 134, 72, 0.07);
}
.gift-content {
  position: relative;
  z-index: 2;
}
.gift-content h1 {
  font-size: 78px;
  line-height: 0.9;
  margin: 15px 0;
}
.gift-content p {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
}
.gift-content .gift-title { margin:20px 0 10px; color:rgba(255,255,255,.85); font:400 23px/1.2 Newsreader,serif; }
.gift-content .gift-lyric { max-width:460px; margin:18px auto 0; color:rgba(255,255,255,.76); font:400 18px/1.5 Newsreader,serif; }
.gift-content .play {
  margin-top: 30px;
}
.app-layout {
  display: grid;
  grid-template-columns: 230px 1fr;
  min-height: 100vh;
}
.sidebar {
  padding: 25px 18px;
  border-right: 1px solid var(--line);
  background: #f7f4ed;
}
.side-logo {
  padding: 0 10px 24px;
}
.side-nav {
  display: grid;
  gap: 4px;
}
.side-nav a {
  padding: 11px 12px;
  border-radius: 10px;
  font-size: 10px;
  color: #666b68;
}
.side-nav a.active {
  background: white;
  color: var(--ink);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.side-nav small {
  padding: 20px 12px 8px;
  font-size: 8px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #999;
}
.app-main {
  padding: 28px 34px;
  background: #f7f6f2;
}
.app-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}
.app-header h1 {
  font-family: Manrope, sans-serif;
  font-weight: 600;
  font-size: 22px;
  margin: 0;
}
.avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(145deg, #d8aa8c, #6b4742);
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.stat {
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 18px;
}
.stat span {
  font-size: 9px;
  color: #777;
}
.stat b {
  display: block;
  font-size: 24px;
  margin-top: 9px;
}
.dash-grid {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 17px;
  margin-top: 17px;
}
.panel {
  background: white;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 20px;
}
.panel h2 {
  font-family: Manrope, sans-serif;
  font-size: 13px;
  font-weight: 600;
  margin: 0 0 18px;
}
.order {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr 0.8fr auto;
  gap: 14px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid #eceae5;
  font-size: 9px;
}
.status {
  display: inline-flex;
  padding: 6px 9px;
  border-radius: 99px;
  background: #edf3ef;
  color: #3f725b;
}
.status.wait {
  background: #fff3de;
  color: #906927;
}
.task {
  padding: 13px 0;
  border-top: 1px solid #eceae5;
  font-size: 10px;
}
.task small {
  display: block;
  color: #888;
  margin-top: 4px;
}
.admin .sidebar {
  background: #f3f3f1;
}
.admin .app-main {
  background: #f5f5f3;
}
.admin .side-nav a.active {
  box-shadow: none;
  background: #e7e7e4;
}
.admin .button {
  border-radius: 9px;
}
.admin .stat,
.admin .panel {
  border-radius: 12px;
}
.toolbar {
  display: flex;
  gap: 8px;
}
.search {
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
  padding: 10px 12px;
  font-size: 9px;
  width: 230px;
}
@media (max-width: 800px) {
  .toplinks {
    display: none;
  }
  .wizard,
  .result-grid,
  .dash-grid {
    grid-template-columns: 1fr;
  }
  .wizard-aside {
    position: static;
  }
  .form-grid {
    grid-template-columns: 1fr;
  }
  .form-grid .wide {
    grid-column: auto;
  }
  .app-layout {
    grid-template-columns: 1fr;
  }
  .sidebar {
    display: none;
  }
  .app-main {
    padding: 20px 15px;
  }
  .stats {
    grid-template-columns: 1fr 1fr;
  }
  .order {
    grid-template-columns: 1fr auto;
  }
  .order > *:nth-child(2),
  .order > *:nth-child(3) {
    display: none;
  }
  .result-hero h1,
  .gift-content h1 {
    font-size: 52px;
  }
  .player-card {
    min-height: 520px;
  }
  .shell {
    width: calc(100% - 30px);
  }
}
.portal {
  min-height: 100vh;
  background: #f6f1e8;
}
.portal-nav {
  position: relative;
  height: 76px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.portal-menu-toggle {
  display: none;
  align-items: center;
  gap: 9px;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: var(--ink);
  font-size: 11px;
}
.portal-menu-toggle svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.portal-links {
  display: flex;
  gap: 7px;
  padding: 5px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid var(--line);
  border-radius: 99px;
}
.portal-links a {
  font-size: 11px;
  color: #7b7770;
  padding: 10px 14px;
  border-radius: 99px;
}
.portal-links a.active {
  background: var(--ink);
  color: #fff;
}
.portal-order-switcher { display:flex; align-items:center; justify-content:flex-end; gap:10px; width:min(1060px,calc(100% - 40px)); margin:16px auto -25px; color:var(--muted); }
.portal-order-switcher label { font-size:10px; }
.portal-order-switcher select { width:min(340px,65vw); min-height:39px; border:1px solid var(--line); border-radius:10px; padding:8px 12px; background:rgba(255,250,242,.88); color:var(--ink); font:inherit; font-size:11px; }
.portal-user {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: linear-gradient(145deg, #d6a88d, #72504b);
  border: 3px solid #fff;
  box-shadow: 0 2px 12px rgba(32, 25, 20, 0.12);
}
.portal-main {
  width: min(940px, calc(100% - 40px));
  margin: auto;
  padding: 70px 0 100px;
}
.portal-intro {
  text-align: center;
  max-width: 690px;
  margin: auto;
}
.portal-intro h1 {
  font-size: clamp(50px, 7vw, 74px);
  line-height: 0.92;
  letter-spacing: -0.05em;
  margin: 15px 0 12px;
}
.portal-intro p {
  font-size: 10px;
  color: var(--muted);
}
.song-stage {
  margin: 48px auto 28px;
  max-width: 760px;
  padding: 38px;
  background: linear-gradient(135deg, #e2e7df 0%, #f6e3d3 100%);
  box-shadow: 0 18px 55px rgba(64, 50, 38, 0.08);
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 30px;
}
.song-stage h2 {
  font-size: 42px;
  line-height: 1;
  margin: 10px 0;
}
.song-stage p {
  max-width: 480px;
  font-size: 10px;
  line-height: 1.65;
  color: #62645f;
}
.portal-progress {
  max-width: 760px;
  margin: 0 auto 28px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 7px;
}
.portal-progress div {
  height: 4px;
  border-radius: 9px;
  background: #ddd7ce;
}
.portal-progress div.done {
  background: var(--green);
}
.portal-progress div.now {
  background: var(--amber);
}
.progress-labels {
  max-width: 760px;
  margin: -18px auto 42px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  font-size: 8px;
  color: #928b82;
}
.progress-labels span:last-child {
  text-align: right;
}
.portal-actions {
  max-width: 760px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}
.portal-action {
  padding: 22px;
  background: rgba(255, 250, 242, 0.82);
  transition: 0.3s var(--ease);
}
.portal-action:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(46, 37, 30, 0.08);
}
.portal-action .num {
  width: 30px;
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font:
    400 14px Newsreader,
    serif;
}
.portal-action h3 {
  font-size: 22px;
  margin: 28px 0 7px;
}
.portal-action p {
  font-size: 9px;
  line-height: 1.55;
  color: #79746e;
  min-height: 42px;
}
.portal-action b {
  font-size: 9px;
  font-weight: 500;
}
.content-page {
  max-width: 850px;
  margin: auto;
  padding: 60px 0 100px;
}
.back {
  font-size: 9px;
  color: #777;
}
.content-head {
  text-align: center;
  padding: 42px 0;
}
.content-head h1 {
  font-size: 58px;
  line-height: 0.95;
  margin: 12px 0;
}
.content-head p {
  font-size: 10px;
  color: #777;
}
.work-card {
  padding: 34px;
}
.version-tabs {
  display: flex;
  gap: 7px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
}
.version-tabs button {
  border: 0;
  background: transparent;
  padding: 8px 12px;
  border-radius: 99px;
  font-size: 9px;
  color: #888;
}
.version-tabs button.active {
  background: var(--ink);
  color: #fff;
}
.lyrics-editor {
  font:
    400 25px/1.65 Newsreader,
    serif;
  white-space: pre-line;
  padding: 30px 6px;
  color: #4d4a45;
}
.memory-note {
  background: #edf1ec;
  padding: 17px;
  border-radius: 12px;
  font-size: 9px;
  line-height: 1.55;
}
.review-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}
.song-option {
  padding: 27px;
}
.song-option.selected {
  border-color: var(--amber);
  box-shadow: 0 0 0 3px rgba(201, 134, 72, 0.12);
}
.song-art {
  aspect-ratio: 1;
  border-radius: 15px;
  background:
    radial-gradient(circle at 50% 48%, #f5e8d6 0 12%, transparent 13%),
    repeating-radial-gradient(circle, #d3ab78 0 1px, transparent 2px 18px),
    linear-gradient(145deg, #1a242a, #43524e);
  display: grid;
  place-items: center;
}
.song-art .play {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
}
.song-option h2 {
  font-size: 30px;
  margin: 22px 0 4px;
}
.song-option p {
  font-size: 9px;
  color: #777;
  line-height: 1.55;
}
.settings-grid {
  display: grid;
  gap: 14px;
}
.setting-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid var(--line);
}
.setting-row:first-child {
  border-top: 0;
}
.setting-row b {
  font-size: 10px;
}
.setting-row small {
  display: block;
  font-size: 8px;
  color: #888;
  margin-top: 4px;
}
.toggle {
  width: 41px;
  height: 23px;
  border: 0;
  border-radius: 99px;
  background: var(--green);
  padding: 3px;
}
.toggle:after {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background: #fff;
  border-radius: 50%;
  margin-left: auto;
}
.download-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  font-size: 9px;
}
.page-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
}
.notice {
  padding: 14px 17px;
  border-radius: 11px;
  background: #edf3ef;
  color: #3f725b;
  font-size: 9px;
  margin-bottom: 16px;
  display: none;
}
.notice.show {
  display: block;
}
@media (max-width: 700px) {
  .portal-links a {
    display: none;
  }
  .portal-links a.active {
    display: block;
  }
  .portal-main {
    padding-top: 45px;
  }
  .song-stage {
    grid-template-columns: 1fr;
    padding: 26px;
  }
  .song-stage .button {
    justify-self: start;
  }
  .portal-actions,
  .review-grid {
    grid-template-columns: 1fr;
  }
  .portal-action p {
    min-height: 0;
  }
  .content-page {
    width: calc(100% - 30px);
  }
  .content-head h1 {
    font-size: 44px;
  }
  .work-card {
    padding: 23px;
  }
}
.account-note {
  max-width: 760px;
  margin: 0 auto 16px;
  padding: 14px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #eee7db;
  border-radius: 13px;
  font-size: 9px;
}
.song-library {
  max-width: 760px;
  margin: 32px auto 0;
}
.library-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 14px;
}
.library-head h2 {
  font-size: 31px;
  margin: 0;
}
.song-record {
  padding: 26px;
}
.song-record-top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.song-record h3 {
  font-size: 29px;
  margin: 7px 0;
}
.song-record p {
  font-size: 9px;
  color: #777;
}
.ready-badge {
  height: max-content;
  padding: 7px 10px;
  border-radius: 99px;
  background: #e8f1eb;
  color: #3f725b;
  font-size: 8px;
}
.record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.mini-button {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: transparent;
  padding: 10px 12px;
  font-size: 8px;
}
.mini-button.primary {
  background: var(--clay);
  color: #fff;
  border-color: transparent;
}
.growth-grid {
  max-width: 760px;
  margin: 14px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.growth-card {
  padding: 24px;
  min-height: 180px;
  background: linear-gradient(135deg, #fffaf2, #eee4d5);
  position: relative;
  overflow: hidden;
}
.growth-card.dark {
  background: linear-gradient(145deg, #1a2228, #35433f);
  color: white;
}
.growth-card h3 {
  font-size: 27px;
  margin: 25px 0 8px;
}
.growth-card p {
  font-size: 9px;
  line-height: 1.55;
  color: inherit;
  opacity: 0.65;
}
.growth-card a {
  position: absolute;
  right: 20px;
  bottom: 20px;
}
.studio-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  align-items: start;
}
.studio-controls {
  padding: 28px;
}
.preview-phone {
  position: sticky;
  top: 25px;
  min-height: 650px;
  border-radius: 29px;
  padding: 26px;
  color: white;
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 4%, color-mix(in srgb, var(--gift-accent, #d09a62) 42%, transparent), transparent 43%),
    linear-gradient(180deg, rgba(15, 20, 24, 0.1), rgba(11, 14, 17, 0.92)),
    url("hero-poster.png") center/cover;
  box-shadow: 0 35px 80px rgba(30, 25, 20, 0.22);
  display: flex;
  flex-direction: column;
}
.preview-phone.cover-heirloom { background:radial-gradient(ellipse at 50% 4%,color-mix(in srgb,var(--gift-accent,#d09a62) 42%,transparent),transparent 43%),linear-gradient(180deg,rgba(15,20,24,.1),rgba(11,14,17,.92)),linear-gradient(145deg,#bba88f,#624f43); }
.preview-phone.cover-midnight { background:radial-gradient(ellipse at 50% 4%,color-mix(in srgb,var(--gift-accent,#d09a62) 42%,transparent),transparent 43%),linear-gradient(180deg,rgba(15,20,24,.1),rgba(11,14,17,.92)),linear-gradient(145deg,#111a21,#45524d); }
.preview-phone.cover-resonance { background:radial-gradient(ellipse at 50% 4%,color-mix(in srgb,var(--gift-accent,#d09a62) 42%,transparent),transparent 43%),linear-gradient(180deg,rgba(15,20,24,.1),rgba(11,14,17,.92)),radial-gradient(circle at 70% 28%,#ffe0ae,transparent 30%),linear-gradient(145deg,#81958c,#e9d8bf); }
.preview-phone.cover-first-light { background:radial-gradient(ellipse at 50% 4%,color-mix(in srgb,var(--gift-accent,#d09a62) 42%,transparent),transparent 43%),linear-gradient(180deg,rgba(15,20,24,.1),rgba(11,14,17,.92)),linear-gradient(145deg,#efd4cc,#d8aa83); }
.preview-phone { isolation:isolate; }
.preview-phone::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1; opacity:0; }
.preview-phone[data-effect="soft-lights"]::after { opacity:.6; background:radial-gradient(ellipse at 18% 28%,rgba(255,230,190,.24),transparent 32%),radial-gradient(ellipse at 85% 72%,rgba(234,190,155,.2),transparent 35%); }
.preview-phone[data-effect="petals"]::after { opacity:.65; background:radial-gradient(ellipse 7px 13px at 20% 28%,rgba(247,211,203,.54) 45%,transparent 55%),radial-gradient(ellipse 6px 11px at 78% 38%,rgba(247,211,203,.45) 45%,transparent 55%),radial-gradient(ellipse 7px 12px at 68% 80%,rgba(247,211,203,.42) 45%,transparent 55%); }
.preview-phone[data-effect="stars"]::after { opacity:.75; background:radial-gradient(circle at 18% 24%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 77% 31%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 83% 75%,#fff8e8 0 1.5px,transparent 2.5px),radial-gradient(circle at 27% 80%,#fff8e8 0 1px,transparent 2px); }
.preview-phone > * { position:relative; z-index:2; }
.preview-phone #giftStudioAudio { display:none; }
.preview-phone h2 {
  font-size: 38px;
  margin: 10px 0;
}
.preview-phone .play {
  margin: auto;
}
.preview-phone p {
  font:
    400 20px/1.4 Newsreader,
    serif;
  color: rgba(255, 255, 255, 0.75);
}
.studio-versions { display:grid; gap:9px; }
.studio-versions > p { margin:9px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }
.studio-version-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; border:1px solid var(--line); border-radius:11px; background:rgba(255,255,255,.54); font-size:11px; }
.studio-version-row > div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.studio-version-row button { white-space:nowrap; }
.swatches {
  display: flex;
  gap: 10px;
  margin-top: 12px;
}
.swatch {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 3px solid transparent;
  background: var(--swatch);
}
.swatch.active {
  border-color: #fff;
  box-shadow: 0 0 0 1px var(--ink);
}
.upload-box {
  border: 1px dashed #bbb3a9;
  border-radius: 12px;
  padding: 22px;
  text-align: center;
  font-size: 9px;
  color: #777;
  background: #fffdf9;
}
.effect-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.effect-pills button {
  border: 1px solid var(--line);
  background: transparent;
  border-radius: 99px;
  padding: 9px 12px;
  font-size: 8px;
}
.effect-pills button.active {
  background: var(--ink);
  color: white;
}
.share-box {
  padding: 22px;
  background: #edf1ec;
  border-radius: 14px;
  margin-top: 18px;
}
.share-url {
  display: flex;
  gap: 7px;
}
.share-url input {
  min-width: 0;
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  padding: 11px;
  font-size: 8px;
}
.qr {
  width: 112px;
  height: 112px;
  margin: 18px auto 8px;
  border: 9px solid white;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.09);
}
.qr svg {
  display: block;
  width: 100%;
  height: 100%;
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.product-card {
  padding: 20px;
}
.product-art {
  aspect-ratio: 1;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #e1d4c3, #fbf6ed);
}
.product-art.dark {
  background: linear-gradient(145deg, #172027, #45534e);
  color: white;
}
.product-art span {
  font:
    400 31px Newsreader,
    serif;
  text-align: center;
}
.product-card h3 {
  font-size: 24px;
  margin: 18px 0 5px;
}
.product-card p {
  font-size: 9px;
  line-height: 1.5;
  color: #777;
  min-height: 42px;
}
.product-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 17px;
}
.product-price {
  font:
    400 23px Newsreader,
    serif;
}
.reminder-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding: 28px;
}
.copy-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  padding: 13px 18px;
  background: var(--ink);
  color: white;
  border-radius: 10px;
  font-size: 9px;
  opacity: 0;
  transform: translateY(10px);
  transition: 0.25s;
}
.copy-toast.show {
  opacity: 1;
  transform: none;
}
@media (max-width: 700px) {
  .growth-grid,
  .studio-grid,
  .product-grid,
  .reminder-card {
    grid-template-columns: 1fr;
  }
  .song-record-top {
    display: block;
  }
  .ready-badge {
    display: inline-flex;
    margin-top: 10px;
  }
  .preview-phone {
    position: relative;
    min-height: 550px;
  }
  .growth-card {
    min-height: 200px;
  }
}

@media (max-width: 840px) {
  .portal-nav {
    height: 70px;
    z-index: 20;
  }
  .portal-menu-toggle {
    display: inline-flex;
    margin-left: auto;
    margin-right: 12px;
  }
  .portal-links {
    display: none;
    position: absolute;
    top: calc(100% + 7px);
    right: 44px;
    width: min(260px, calc(100vw - 42px));
    padding: 7px;
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
    border-radius: 16px;
    background: #fffaf2;
    box-shadow: 0 18px 48px rgba(31, 29, 25, 0.17);
  }
  .portal-nav.menu-open .portal-links {
    display: flex;
  }
  .portal-links a,
  .portal-links a.active {
    display: block !important;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 12px;
  }
  .portal-account {
    max-width: 42px;
    padding: 0;
  }
  .portal-account > span:last-child {
    display: none;
  }
}
@media (max-width: 560px) {
  .portal-order-switcher { width:calc(100% - 30px); justify-content:stretch; align-items:stretch; flex-direction:column; gap:6px; margin:14px auto -18px; }
  .portal-order-switcher select { width:100%; }
  .studio-controls { padding:20px; }
  .studio-version-row { align-items:flex-start; flex-direction:column; }
  .studio-version-row > div { justify-content:flex-start; }
}
.create-body {
  background: #f4efe6;
}
.create-save {
  font-size: 8px;
  color: #777;
}
.create-shell {
  width: min(1120px, calc(100% - 40px));
  margin: 55px auto 100px;
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 34px;
}
.create-aside {
  min-height: 680px;
  padding: 20px 12px;
  display: flex;
  flex-direction: column;
}
.create-aside h1 {
  font-size: 48px;
  line-height: 0.96;
  margin: 18px 0;
}
.create-aside > div > p {
  font-size: 10px;
  line-height: 1.65;
  color: #777;
  max-width: 270px;
}
.create-steps {
  display: grid;
  gap: 5px;
  margin: 42px 0;
}
.create-steps button {
  border: 0;
  background: transparent;
  text-align: left;
  border-radius: 12px;
  padding: 12px;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 10px;
  color: #999;
}
.create-steps button.active {
  background: rgba(255, 255, 255, 0.64);
  color: var(--ink);
  box-shadow: 0 6px 20px rgba(35, 29, 24, 0.04);
}
.create-steps b {
  font:
    400 14px Newsreader,
    serif;
}
.create-steps span {
  font-size: 10px;
}
.create-steps small {
  display: block;
  font-size: 7px;
  color: #999;
  margin-top: 4px;
}
.create-trust {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 8px;
  line-height: 1.8;
  color: #888;
}
.create-card {
  min-height: 680px;
  padding: 42px 48px;
  background: #fffaf3;
}
.create-progress {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin-bottom: 55px;
}
.create-progress i {
  height: 3px;
  background: #e5dfd6;
  border-radius: 5px;
}
.create-progress i.active {
  background: var(--amber);
}
.create-step {
  display: none;
  animation: stepin 0.45s var(--ease);
}
.create-step.active {
  display: block;
}
@keyframes stepin {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.create-step h2 {
  font-size: 51px;
  line-height: 0.96;
  margin: 13px 0;
}
.create-step > p {
  font-size: 10px;
  line-height: 1.6;
  color: #777;
  max-width: 570px;
  margin-bottom: 30px;
}
.choice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.choice {
  border: 1px solid var(--line);
  background: #fffdf9;
  border-radius: 13px;
  padding: 19px;
  text-align: left;
  color: var(--text);
}
.choice span {
  font:
    400 21px Newsreader,
    serif;
  display: block;
}
.choice small {
  font-size: 8px;
  color: #888;
}
.choice.active,
.mood.active {
  border-color: var(--clay);
  box-shadow: 0 0 0 3px rgba(199, 120, 99, 0.1);
  background: #fff8f3;
}
.field-hint {
  font-size: 8px;
  color: #999;
}
.prompt-chips {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.prompt-chips button {
  border: 1px solid var(--line);
  background: transparent;
  border-radius: 99px;
  padding: 8px 11px;
  font-size: 8px;
  color: #777;
}
.truth-check {
  display: flex;
  gap: 9px;
  margin-top: 25px;
  padding: 15px;
  background: #edf1ec;
  border-radius: 11px;
  font-size: 9px;
  line-height: 1.5;
}
.mood-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 24px;
}
.mood {
  border: 1px solid var(--line);
  background: #fffdf9;
  border-radius: 13px;
  padding: 18px;
  text-align: left;
}
.mood b {
  display: block;
  font:
    400 22px Newsreader,
    serif;
}
.mood span {
  font-size: 8px;
  color: #888;
}
.review-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.review-summary > div {
  padding: 17px;
  background: #f4f0e8;
  border-radius: 11px;
}
.review-summary .wide {
  grid-column: 1/-1;
}
.review-summary span {
  display: block;
  font-size: 7px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #999;
  margin-bottom: 7px;
}
.review-summary b {
  font:
    400 19px Newsreader,
    serif;
}
.review-summary p {
  font-size: 9px;
  line-height: 1.6;
  margin: 0;
}
.privacy-note {
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 11px;
  font-size: 8px;
  line-height: 1.6;
  color: #777;
}
.create-actions {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  margin-top: 35px;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}
.create-actions span {
  text-align: center;
  font-size: 8px;
  color: #999;
}
@media (max-width: 800px) {
  .create-shell {
    grid-template-columns: 1fr;
    margin-top: 25px;
  }
  .create-aside {
    min-height: 0;
    padding: 10px 0;
  }
  .create-aside h1,
  .create-aside > div > p,
  .create-trust {
    display: none;
  }
  .create-steps {
    display: flex;
    margin: 8px 0;
    overflow: auto;
  }
  .create-steps button {
    display: block;
    min-width: 52px;
    text-align: center;
    padding: 10px;
  }
  .create-steps span {
    display: none;
  }
  .create-card {
    padding: 28px 22px;
    min-height: 620px;
  }
  .create-step h2 {
    font-size: 40px;
  }
  .choice-grid,
  .mood-grid {
    grid-template-columns: 1fr;
  }
  .create-actions {
    grid-template-columns: auto 1fr auto;
  }
  .create-actions .button {
    gap: 5px;
    padding: 11px;
  }
  .review-summary {
    grid-template-columns: 1fr 1fr;
  }
}
.commerce-shell {
  width: min(1080px, calc(100% - 40px));
  margin: 75px auto;
  display: grid;
  place-items: center;
}
.commerce-card {
  width: min(560px, 100%);
  padding: 44px;
}
.commerce-card h1 {
  font-size: 57px;
  line-height: 0.94;
  margin: 17px 0;
}
.commerce-card > p {
  font-size: 10px;
  color: #777;
  margin-bottom: 28px;
}
.commerce-card form {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.sandbox-note {
  padding: 14px 17px;
  background: #fff1d8;
  border-radius: 11px;
  font-size: 9px;
  margin: 20px 0;
  color: #775b29;
}
.form-error {
  padding: 13px 15px;
  background: #f9e1df;
  color: #954b45;
  border-radius: 10px;
  font-size: 9px;
  margin: 12px 0;
}
.status-screen {
  min-height: 100vh;
  width: min(700px, calc(100% - 40px));
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.status-screen h1 {
  font-size: 62px;
  line-height: 0.95;
  margin: 20px 0;
}
.status-screen > p {
  font-size: 10px;
  color: #777;
  line-height: 1.65;
  max-width: 520px;
}
.status-screen > .logo {
  position: absolute;
  top: 30px;
}
.making-rings {
  width: 150px;
  height: 150px;
  border: 1px solid var(--line);
  border-radius: 50%;
  position: relative;
  margin-bottom: 35px;
  animation: spin 12s linear infinite;
}
.making-rings i {
  position: absolute;
  border: 1px solid rgba(201, 134, 72, 0.5);
  border-radius: 50%;
  inset: 20px;
}
.making-rings i:nth-child(2) {
  inset: 43px;
}
.making-rings i:nth-child(3) {
  inset: 64px;
  background: var(--amber);
}
.success-mark {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #e2eee6;
  color: var(--green);
  font:
    400 44px Newsreader,
    serif;
  margin-bottom: 30px;
}
.checkout-shell {
  width: min(1060px, calc(100% - 40px));
  margin: 65px auto 100px;
  display: grid;
  grid-template-columns: 1fr 390px;
  gap: 65px;
}
.checkout-includes {
  padding: 28px;
}
.checkout-includes h2,
.order-summary h2 {
  font-size: 30px;
  margin-top: 0;
}
.checkout-includes ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 13px;
  font-size: 9px;
}
.checkout-includes li:before {
  content: "✓";
  color: var(--green);
  margin-right: 10px;
}
.order-summary {
  padding: 28px;
  height: max-content;
  position: sticky;
  top: 25px;
}
.summary-row {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  border-top: 1px solid var(--line);
  font-size: 9px;
}
.summary-row.total {
  font-size: 14px;
}
.summary-row.total b {
  font:
    400 26px Newsreader,
    serif;
}
.order-summary form {
  padding: 18px 0;
  border-top: 1px solid var(--line);
}
.order-summary form label {
  font-size: 8px;
  color: #777;
}
.coupon-input {
  display: flex;
  gap: 7px;
  margin-top: 8px;
}
.coupon-input input {
  min-width: 0;
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 11px;
  background: #fffdf9;
}
.coupon-message {
  font-size: 8px;
  margin-top: 7px;
}
.coupon-message.good {
  color: var(--green);
}
.coupon-message.bad {
  color: var(--red);
}
.order-summary > .button {
  width: 100%;
  justify-content: center;
  margin-top: 16px;
}
.secure-note {
  font-size: 7px;
  line-height: 1.5;
  color: #999;
  text-align: center;
}
.delivery-note {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.7;
  margin: 15px 0 0;
}
.status-title {
  font-size: 43px;
  text-transform: capitalize;
  margin: 12px 0 30px;
}
.event-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.event-list li {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
  border-top: 1px solid var(--line);
  font-size: 9px;
}
.event-list b {
  text-transform: capitalize;
}
.event-list span {
  color: #888;
}
@media (max-width: 760px) {
  .checkout-shell {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .order-summary {
    position: relative;
    top: auto;
  }
  .commerce-card {
    padding: 30px 22px;
  }
  .status-screen h1 {
    font-size: 48px;
  }
}

/* Avera's single wordmark and full-width account navigation */
.avera-lockup {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}
.avera-mark {
  display: block;
  width: 44px;
  height: 44px;
  flex: none;
  filter: none;
}
.avera-wordmark {
  display: inline-block;
  font: 400 31px/1 Italiana, Newsreader, Georgia, serif;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #27332f;
  text-shadow: none;
  transform: none;
}
.avera-wordmark em {
  margin: 0;
  position: static;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}
.avera-wordmark > span::after {
  display: none;
}
.logo::before {
  content: none;
  display: none;
}
.portal-nav.shell {
  width: min(1380px, calc(100% - 64px));
  height: 86px;
  min-height: 86px;
  margin: 0 auto;
  padding: 0 0;
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(500px, 3.1fr) minmax(145px, 1fr);
  align-items: center;
  gap: clamp(18px, 2.4vw, 42px);
  border-bottom: 1px solid rgba(45, 51, 45, 0.12);
  background: rgba(246, 241, 232, 0.92);
  backdrop-filter: blur(16px);
}
.portal-nav .logo {
  justify-self: start;
  min-width: 0;
  margin: 0;
  letter-spacing: 0;
}
.portal .portal-links {
  display: flex;
  width: 100%;
  max-width: none;
  min-width: 0;
  justify-self: center;
  justify-content: space-between;
  align-items: center;
  gap: clamp(3px, 0.65vw, 10px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.portal .portal-links a,
.portal .portal-links a.active {
  display: inline-flex;
  flex: 1 1 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-width: 0;
  min-height: 46px;
  padding: 9px clamp(8px, 1.2vw, 17px);
  border: 1px solid transparent;
  border-radius: 13px;
  color: #676a63;
  background: transparent;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}
.portal .portal-links a:hover {
  color: #25312e;
  background: rgba(255, 250, 242, 0.78);
  border-color: rgba(45, 51, 45, 0.08);
}
.portal .portal-links a.active {
  color: #fffaf2;
  background: linear-gradient(145deg, #192522, #2b3933);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: 0 5px 14px rgba(27, 37, 33, 0.12);
}
.portal-nav-icon {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.78;
}
.portal .portal-links a.active .portal-nav-icon {
  opacity: 1;
}
.portal-account {
  justify-self: end;
  width: auto;
  max-width: 190px;
  min-height: 46px;
  padding: 5px 12px 5px 6px;
  border: 1px solid rgba(45, 51, 45, 0.1);
  border-radius: 999px;
  background: rgba(255, 250, 242, 0.76);
  color: #656861;
  font-size: 12px;
  transition: border-color 180ms ease, background 180ms ease;
}
.portal-account:hover {
  border-color: rgba(168, 103, 84, 0.3);
  background: #fffaf2;
}
.portal-user {
  width: 33px;
  height: 33px;
  flex: none;
  border: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.48);
}
.account-popover {
  top: 74px;
  right: max(32px, calc((100vw - 1380px) / 2));
}
.content-page {
  width: min(1160px, calc(100% - 48px));
  max-width: 1160px;
  padding: 44px 0 92px;
}
.content-page > .portal-order-switcher {
  width: 100%;
  margin: 0 0 24px;
}
.portal-main {
  width: min(1160px, calc(100% - 48px));
  padding: 54px 0 92px;
}
.portal-menu-toggle {
  color: #27332f;
  font-size: 12px;
  min-height: 44px;
}

/* Song review: artwork, playback and lyric typography */
.song-review-page {
  --review-ink: #1b2525;
  --review-muted: #aab0aa;
  --review-copper: #d5a47a;
  --review-paper: #fffaf2;
}
.review-content {
  padding-top: 35px;
}
.review-back {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 25px;
  color: #73766f;
  font-size: 12px;
  transition: color 180ms ease, transform 180ms ease;
}
.review-back:hover {
  color: #24312d;
  transform: translateX(-2px);
}
.review-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 32px;
  margin: 0 0 33px;
}
.review-heading h1 {
  margin: 9px 0 8px;
  color: #242b2a;
  font: 400 clamp(39px, 5vw, 59px)/0.96 Newsreader, serif;
  letter-spacing: -0.04em;
}
.review-heading p {
  max-width: 590px;
  margin: 0;
  color: #74766f;
  font-size: 14px;
  line-height: 1.65;
}
.review-for {
  display: grid;
  gap: 5px;
  min-width: 180px;
  padding: 12px 16px;
  border-left: 1px solid rgba(53, 62, 54, 0.18);
}
.review-for span {
  color: #85857d;
  font-size: 10px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.review-for strong {
  color: #33413a;
  font: 400 20px/1.2 Newsreader, serif;
}
.review-version-section {
  margin-bottom: 22px;
}
.review-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 20px;
  margin-bottom: 13px;
}
.review-section-heading h2 {
  margin: 4px 0 0;
  color: #2d3430;
  font: 400 27px/1.1 Newsreader, serif;
  letter-spacing: -0.02em;
}
.review-private-note {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 4px;
  color: #75766e;
  font-size: 11px;
}
.review-private-note svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: #69756c;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.review-version-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.review-version-card {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  min-width: 0;
  padding: 11px 14px 11px 11px;
  border: 1px solid rgba(49, 55, 47, 0.12);
  border-radius: 18px;
  background: rgba(255, 250, 242, 0.78);
  box-shadow: 0 8px 24px rgba(62, 49, 35, 0.035);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.review-version-card.is-current {
  border-color: rgba(178, 126, 86, 0.6);
  box-shadow: 0 0 0 2px rgba(178, 126, 86, 0.08), 0 10px 25px rgba(62, 49, 35, 0.06);
}
.version-art {
  position: relative;
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  overflow: hidden;
  border-radius: 13px;
  background: linear-gradient(145deg, #344640, #1a2725 72%);
}
.review-version-card[data-variant="cinematic"] .version-art {
  background: linear-gradient(145deg, #57616a, #212c35 72%);
}
.version-art::before,
.version-art::after {
  content: "";
  position: absolute;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(226, 197, 162, 0.48);
  border-radius: 50%;
  transform: rotate(-24deg) scaleX(0.78);
}
.version-art::after {
  width: 50px;
  height: 50px;
  border-color: rgba(250, 236, 214, 0.24);
  transform: rotate(36deg) scaleX(1.18);
}
.version-record {
  position: absolute;
  z-index: 1;
  width: 43px;
  height: 43px;
  border: 1px solid rgba(250, 232, 204, 0.7);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, #283632 0 2px, #c59a6f 2.5px 3px, #283632 3.5px 5px);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2);
}
.version-record i {
  position: absolute;
  inset: 16px;
  border: 1px solid rgba(250, 238, 218, 0.75);
  border-radius: 50%;
  background: #bd8762;
}
.version-wave {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
  opacity: 0.5;
  transform: rotate(-32deg);
}
.version-wave-bar {
  width: 1.5px;
  height: calc(7px + var(--bar-height) * 21px);
  border-radius: 5px;
  background: #f2d8b5;
}
.version-listen {
  position: absolute;
  z-index: 3;
  right: 5px;
  bottom: 5px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: rgba(255, 250, 242, 0.95);
  color: #27342f;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}
.version-listen svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}
.version-listen:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.version-card-copy {
  min-width: 0;
}
.version-card-index {
  display: block;
  margin-bottom: 5px;
  color: #9a8c7b;
  font-size: 9px;
  letter-spacing: 0.15em;
}
.version-card-copy h3 {
  overflow: hidden;
  margin: 0 0 4px;
  color: #303832;
  font: 400 21px/1.05 Newsreader, serif;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.version-card-copy p {
  overflow: hidden;
  margin: 0;
  color: #777970;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.version-select {
  min-height: 39px;
  padding: 0 13px;
  border: 1px solid rgba(42, 54, 47, 0.18);
  border-radius: 999px;
  background: transparent;
  color: #4c5a4f;
  font-size: 10px;
  white-space: nowrap;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.version-select:hover:not(:disabled) {
  border-color: #34443b;
  background: #34443b;
  color: #fffaf2;
}
.version-select:disabled {
  opacity: 0.6;
  cursor: default;
}
.review-loading {
  grid-column: 1 / -1;
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(49, 55, 47, 0.12);
  border-radius: 16px;
  background: rgba(255, 250, 242, 0.76);
  color: #777970;
  font-size: 13px;
}
.review-notice:not([hidden]) {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid rgba(85, 119, 92, 0.16);
  border-radius: 12px;
  background: #edf2eb;
  color: #476b4f;
  font-size: 12px;
}
.review-listening-layout {
  display: grid;
  grid-template-columns: minmax(350px, 0.91fr) minmax(420px, 1.09fr);
  align-items: stretch;
  gap: 16px;
}
.review-player-card,
.review-lyrics-card {
  min-width: 0;
  border-radius: 24px;
}
.review-player-card {
  position: relative;
  overflow: hidden;
  padding: 23px 25px 19px;
  color: #f5eee3;
  background:
    radial-gradient(420px circle at 50% -15%, rgba(210, 173, 127, 0.16), transparent 64%),
    linear-gradient(153deg, #1d2928 0%, #111a1a 66%, #182322 100%);
  border: 1px solid rgba(26, 35, 33, 0.34);
  box-shadow: 0 18px 42px rgba(44, 39, 31, 0.13), inset 0 1px rgba(255, 255, 255, 0.06);
}
.review-player-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.16;
  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(239, 224, 200, 0.025) 4px 5px);
  mask-image: linear-gradient(180deg, transparent, #000 28%, #000 100%);
}
.review-player-top,
.review-player-footer,
.review-track-copy,
.review-transport,
.lyrics-card-top,
.lyrics-card-bottom {
  position: relative;
  z-index: 1;
}
.review-player-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 17px;
}
.review-kicker,
.review-private-dot {
  color: rgba(248, 240, 226, 0.64);
  font-size: 9px;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.review-private-dot {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 8px;
  letter-spacing: 0.13em;
}
.review-private-dot i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #d6a87c;
  box-shadow: 0 0 0 3px rgba(214, 168, 124, 0.12);
}
.review-artwork {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 205px;
  overflow: hidden;
  border: 1px solid rgba(238, 224, 202, 0.11);
  border-radius: 18px;
  background: linear-gradient(143deg, #263933, #17211f 72%);
  isolation: isolate;
}
.review-artwork[data-variant="cinematic"] {
  background: linear-gradient(143deg, #39444b, #1a242a 72%);
}
.review-artwork::before,
.review-artwork::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 320px;
  height: 145px;
  border: 1px solid rgba(220, 184, 143, 0.3);
  border-radius: 50%;
  transform: rotate(-24deg);
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1), border-color 500ms ease;
}
.review-artwork::after {
  width: 250px;
  height: 205px;
  border-color: rgba(241, 226, 203, 0.16);
  transform: rotate(33deg);
}
.review-artwork[data-variant="cinematic"]::before { border-color: rgba(174, 195, 201, 0.35); }
.review-artwork[data-variant="cinematic"]::after { border-color: rgba(235, 214, 185, 0.18); }
.art-halo {
  position: absolute;
  border: 1px solid rgba(239, 215, 182, 0.25);
  border-radius: 50%;
  transform: rotate(24deg) scaleX(1.55);
}
.art-halo-one { width: 180px; height: 180px; }
.art-halo-two { width: 145px; height: 145px; border-color: rgba(239, 215, 182, 0.12); transform: rotate(-37deg) scaleX(0.7); }
.record-disc {
  position: relative;
  display: grid;
  place-items: center;
  width: 126px;
  height: 126px;
  border: 1px solid rgba(242, 222, 194, 0.66);
  border-radius: 50%;
  background: repeating-radial-gradient(circle, #1b2925 0 3px, #8b775e 3.5px 4px, #202c28 4.5px 7px);
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26), inset 0 0 20px rgba(0, 0, 0, 0.42);
  transition: transform 800ms cubic-bezier(0.22, 1, 0.36, 1);
}
.review-artwork[data-variant="cinematic"] .record-disc { background: repeating-radial-gradient(circle, #202a30 0 3px, #77878a 3.5px 4px, #202a30 4.5px 7px); }
.record-label {
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  border: 1px solid rgba(250, 236, 213, 0.78);
  border-radius: 50%;
  background: linear-gradient(145deg, #c38c67, #87634e);
}
.record-label i { width: 5px; height: 5px; border-radius: 50%; background: #f7ebd9; }
.dancing-notes {
  position: absolute;
  z-index: 2;
  inset: 22px 12%;
  pointer-events: none;
  color: #ead4b6;
}
.dancing-notes span {
  position: absolute;
  opacity: 0.45;
  font: 400 28px/1 Newsreader, serif;
}
.dancing-notes span:nth-child(1) { top: 5px; left: 8%; }
.dancing-notes span:nth-child(2) { top: 18px; right: 8%; font-size: 22px; }
.dancing-notes span:nth-child(3) { bottom: 2px; left: 22%; font-size: 19px; }
.art-caption {
  position: absolute;
  right: 17px;
  bottom: 15px;
  display: grid;
  gap: 3px;
  color: rgba(244, 232, 211, 0.53);
  font-size: 7px;
  letter-spacing: 0.16em;
  text-align: right;
}
.review-track-copy {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 14px;
  margin: 16px 1px 8px;
}
.review-track-copy .eyebrow {
  color: #d0a67b;
  font-size: 8px;
  letter-spacing: 0.15em;
}
.review-track-copy h2 {
  overflow: hidden;
  max-width: 100%;
  margin: 5px 0 3px;
  color: #f5eee3;
  font: 400 25px/1 Newsreader, serif;
  letter-spacing: -0.02em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-track-copy p {
  margin: 0;
  color: rgba(245, 238, 227, 0.59);
  font-size: 10px;
  line-height: 1.45;
}
.review-track-index {
  padding-bottom: 2px;
  color: rgba(245, 238, 227, 0.52);
  font-size: 9px;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.review-waveform {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 29px;
  margin: 9px 0 3px;
  overflow: hidden;
  opacity: 0.72;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.wave-bar {
  display: block;
  width: 2px;
  min-height: 4px;
  height: calc(4px + var(--bar-height) * 24px);
  border-radius: 3px;
  background: linear-gradient(180deg, #e1c29c, #8c9a88);
  transform: scaleY(0.48);
  transform-origin: center;
}
.review-transport {
  display: grid;
  grid-template-columns: 47px minmax(0, 1fr) 34px;
  align-items: center;
  gap: 14px;
  padding: 5px 0 7px;
}
.review-play {
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  background: #f5eee3;
  color: #1e2b27;
  box-shadow: 0 5px 17px rgba(0, 0, 0, 0.22);
  transition: transform 180ms ease, background 180ms ease;
}
.review-play:hover:not(:disabled) { transform: scale(1.04); background: #fffaf2; }
.review-play:active:not(:disabled) { transform: scale(0.97); }
.review-play:disabled { opacity: 0.45; cursor: not-allowed; }
.review-play svg { width: 21px; height: 21px; fill: currentColor; }
.review-play .pause-shape { display: none; }
.review-player-card.is-playing .review-play .play-shape { display: none; }
.review-player-card.is-playing .review-play .pause-shape { display: block; }
.review-seek-wrap { min-width: 0; }
.review-seek-wrap input[type="range"] {
  display: block;
  width: 100%;
  height: 22px;
  margin: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
}
.review-seek-wrap input[type="range"]::-webkit-slider-runnable-track { height: 3px; border-radius: 99px; background: linear-gradient(90deg, #d8b18a 0%, #d8b18a var(--seek-progress, 0%), rgba(255,255,255,.23) var(--seek-progress, 0%), rgba(255,255,255,.23) 100%); }
.review-seek-wrap input[type="range"]::-moz-range-track { height: 3px; border-radius: 99px; background: rgba(255,255,255,.23); }
.review-seek-wrap input[type="range"]::-webkit-slider-thumb { width: 10px; height: 10px; margin-top: -3.5px; appearance: none; border: 0; border-radius: 50%; background: #f5eee3; box-shadow: 0 0 0 3px rgba(225, 194, 156, 0.18); }
.review-seek-wrap input[type="range"]::-moz-range-thumb { width: 10px; height: 10px; border: 0; border-radius: 50%; background: #f5eee3; box-shadow: 0 0 0 3px rgba(225, 194, 156, 0.18); }
.review-time { display: flex; justify-content: space-between; gap: 8px; color: rgba(245, 238, 227, 0.55); font-size: 9px; font-variant-numeric: tabular-nums; }
.review-volume {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  color: rgba(245, 238, 227, 0.76);
}
.review-volume svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.review-player-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
  padding-top: 13px;
  border-top: 1px solid rgba(244, 232, 211, 0.12);
}
.review-player-footer > span { color: rgba(245, 238, 227, 0.53); font-size: 9px; line-height: 1.4; }
.review-keep-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 39px;
  padding: 0 15px;
  border: 1px solid rgba(238, 214, 184, 0.35);
  border-radius: 999px;
  background: rgba(239, 218, 192, 0.09);
  color: #f4e8d6;
  font-size: 10px;
  white-space: nowrap;
  transition: background 180ms ease, border-color 180ms ease;
}
.review-keep-button:hover:not(:disabled) { background: rgba(239, 218, 192, 0.18); border-color: rgba(238, 214, 184, 0.65); }
.review-keep-button:disabled { opacity: 0.62; cursor: default; }
.review-lyrics-card {
  display: flex;
  flex-direction: column;
  min-height: 550px;
  padding: 25px 29px 20px;
  border: 1px solid rgba(51, 58, 51, 0.1);
  background:
    radial-gradient(380px circle at 90% 0%, rgba(210, 185, 151, 0.16), transparent 65%),
    linear-gradient(145deg, #fffaf2, #f8f1e7);
  box-shadow: 0 12px 32px rgba(67, 53, 40, 0.06);
}
.lyrics-card-top {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 15px;
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(52, 59, 51, 0.1);
}
.lyrics-card-top h2 { margin: 4px 0 0; color: #2c3630; font: 400 32px/1 Newsreader, serif; letter-spacing: -0.025em; }
.lyrics-status { margin-top: 8px; color: #788376; font-size: 8px; letter-spacing: 0.12em; text-align: right; }
.review-lyrics-scroll { flex: 1; padding: 19px 2px 18px; }
.lyric-stanza { margin: 0 0 22px; }
.lyric-section-label { display: block; margin: 0 0 8px; color: #9c7b5f; font-size: 8px; letter-spacing: 0.17em; text-transform: uppercase; }
.lyric-stanza p { margin: 0; color: #4b514a; font: 400 clamp(18px, 1.8vw, 23px)/1.48 Newsreader, serif; letter-spacing: -0.012em; }
.lyrics-loading { max-width: 360px; margin: 15px 0; color: #777970; font: 400 19px/1.5 Newsreader, serif; }
.lyrics-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px solid rgba(52, 59, 51, 0.1); color: #858278; }
.lyrics-card-bottom span:first-child { display: inline-flex; align-items: center; gap: 7px; color: #657365; font: 400 13px Newsreader, serif; }
.lyrics-card-bottom svg { width: 15px; height: 15px; fill: none; stroke: #a97d58; stroke-width: 1.2; stroke-linejoin: round; }
.lyrics-card-bottom span:last-child { font-size: 8px; letter-spacing: 0.12em; text-align: right; }
.review-player-card.is-playing .record-disc { animation: reviewRecordTurn 16s linear infinite; }
.review-player-card.is-playing .review-artwork::before { transform: rotate(-10deg) scale(1.12); }
.review-player-card.is-playing .review-artwork::after { transform: rotate(58deg) scale(0.94); }
.review-player-card.is-playing .dancing-notes span { animation: reviewNoteLift 1.8s ease-in-out infinite; opacity: 0.9; }
.review-player-card.is-playing .dancing-notes span:nth-child(2) { animation-delay: -0.6s; }
.review-player-card.is-playing .dancing-notes span:nth-child(3) { animation-delay: -1.1s; }
.review-player-card.is-playing .wave-bar { animation: reviewWave 760ms ease-in-out infinite alternate; animation-delay: var(--bar-delay); }
.review-player-card.is-playing .wave-bar:nth-child(3n) { animation-duration: 930ms; }
.review-player-card.is-playing .wave-bar:nth-child(4n) { animation-duration: 640ms; }
@keyframes reviewRecordTurn { to { transform: rotate(360deg); } }
@keyframes reviewNoteLift { 0%, 100% { transform: translateY(5px) rotate(-7deg); } 50% { transform: translateY(-9px) rotate(8deg); } }
@keyframes reviewWave { from { transform: scaleY(0.28); opacity: 0.55; } to { transform: scaleY(1); opacity: 1; } }
.review-player-card button:focus-visible,
.review-version-card button:focus-visible,
.review-seek-wrap input:focus-visible,
.portal-links a:focus-visible,
.portal-menu-toggle:focus-visible {
  outline: 2px solid #b77d5e;
  outline-offset: 3px;
}
@media (max-width: 1080px) {
  .portal-nav.shell { grid-template-columns: minmax(165px, 0.9fr) minmax(445px, 2.6fr) minmax(120px, 0.75fr); gap: 16px; }
  .avera-mark { width: 38px; height: 38px; }
  .avera-wordmark { font-size: 26px; }
  .portal .portal-links a, .portal .portal-links a.active { gap: 6px; padding-inline: 6px; font-size: 11px; }
  .portal-nav-icon { width: 16px; height: 16px; }
  .review-listening-layout { grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1.1fr); }
}
@media (max-width: 900px) {
  .portal-nav.shell { grid-template-columns: minmax(160px, 1fr) minmax(0, 2.8fr) minmax(105px, 0.7fr); gap: 10px; }
  .portal .portal-links a, .portal .portal-links a.active { min-height: 43px; font-size: 10px; }
  .review-listening-layout { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); }
  .review-player-card { padding-inline: 19px; }
  .review-lyrics-card { padding-inline: 22px; }
}
@media (max-width: 840px) {
  .portal-nav.shell {
    position: relative;
    width: calc(100% - 34px);
    height: auto;
    min-height: 72px;
    margin: 0 auto;
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    gap: 10px;
  }
  .portal-nav .logo { margin-right: auto; }
  .portal-menu-toggle { display: inline-flex; order: 2; margin: 0 3px 0 0; }
  .portal .portal-links,
  .portal .portal-links a,
  .portal .portal-links a.active { display: none; }
  .portal-nav.menu-open .portal-links {
    position: absolute;
    z-index: 70;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: flex;
    width: 100%;
    max-width: none;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding: 8px;
    border: 1px solid rgba(45, 51, 45, 0.12);
    border-radius: 17px;
    background: #fffaf2;
    box-shadow: 0 18px 42px rgba(43, 37, 29, 0.16);
  }
  .portal-nav.menu-open .portal-links a,
  .portal-nav.menu-open .portal-links a.active {
    display: flex;
    width: 100%;
    min-height: 48px;
    justify-content: flex-start;
    padding: 10px 13px;
    border-radius: 11px;
    color: #4e554d;
    background: transparent;
    box-shadow: none;
    font-size: 13px;
  }
  .portal-nav.menu-open .portal-links a.active { color: #fffaf2; background: #24312d; }
  .portal-nav-icon { width: 18px; height: 18px; }
  .portal-account { order: 3; min-height: 42px; width: 42px; padding: 4px; justify-content: center; }
  .portal-account > span:last-child { display: none; }
  .portal-user { width: 32px; height: 32px; }
  .account-popover { top: 65px; right: 17px; }
}
@media (max-width: 760px) {
  .content-page, .portal-main { width: calc(100% - 32px); }
  .content-page { padding-top: 31px; }
  .review-heading { align-items: start; flex-direction: column; gap: 16px; margin-bottom: 26px; }
  .review-for { min-width: 0; padding: 8px 0 0 12px; }
  .review-section-heading { align-items: center; }
  .review-listening-layout { grid-template-columns: 1fr; }
  .review-player-card { padding: 20px; }
  .review-lyrics-card { min-height: 0; padding: 21px 22px 18px; }
  .review-lyrics-scroll { min-height: 200px; }
}
@media (max-width: 560px) {
  .avera-lockup { gap: 8px; }
  .avera-mark { width: 35px; height: 35px; }
  .avera-wordmark { font-size: 23px; letter-spacing: .085em; }
  .avera-mark { width: 35px; height: 35px; }
  .avera-wordmark { font-size: 23px; letter-spacing: .085em; }
  .portal-menu-toggle { min-height: 42px; gap: 7px; padding: 9px 11px; }
  .portal-nav.shell { width: calc(100% - 28px); min-height: 66px; }
  .portal-order-switcher { width: 100%; }
  .review-content { padding-top: 24px; }
  .review-back { margin-bottom: 19px; }
  .review-heading h1 { max-width: 350px; font-size: 40px; }
  .review-heading p { font-size: 13px; }
  .review-section-heading h2 { font-size: 24px; }
  .review-private-note { font-size: 9px; white-space: nowrap; }
  .review-version-grid { grid-template-columns: 1fr; gap: 9px; }
  .review-version-card { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 11px; padding: 9px; border-radius: 15px; }
  .version-art { width: 70px; height: 70px; }
  .version-record { width: 38px; height: 38px; }
  .version-record i { inset: 14px; }
  .version-art::before { width: 58px; height: 58px; }
  .version-art::after { width: 43px; height: 43px; }
  .version-card-copy h3 { display: -webkit-box; min-height: 2.05em; overflow: hidden; font-size: 17px; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .version-card-copy p { display: -webkit-box; max-width: 150px; overflow: hidden; font-size: 10px; white-space: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .version-card-index { font-size: 8px; }
  .version-select { min-height: 37px; padding: 0 10px; font-size: 9px; }
  .review-player-card { padding: 17px 16px 15px; border-radius: 20px; }
  .review-artwork { min-height: 190px; }
  .record-disc { width: 113px; height: 113px; }
  .review-track-copy h2 { font-size: 23px; }
  .review-track-copy p { max-width: 220px; font-size: 10px; }
  .review-transport { grid-template-columns: 44px minmax(0, 1fr) 31px; gap: 10px; }
  .review-play { width: 44px; height: 44px; }
  .review-volume { width: 31px; height: 31px; }
  .review-player-footer { align-items: flex-start; flex-direction: column; }
  .review-keep-button { min-height: 42px; }
  .review-lyrics-card { padding: 19px 18px 16px; border-radius: 20px; }
  .lyrics-card-top h2 { font-size: 29px; }
  .lyrics-status { max-width: 110px; font-size: 7px; }
  .lyric-stanza p { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .review-player-card.is-playing .record-disc,
  .review-player-card.is-playing .dancing-notes span,
  .review-player-card.is-playing .wave-bar { animation: none; }
  .portal .portal-links a,
  .review-version-card,
  .review-play,
  .review-back { transition: none; }
}

/* Distinct, preselected cover artwork for each completed recording */
.version-art[data-art="heirloom"],
.review-artwork[data-art="heirloom"] { background: radial-gradient(ellipse at 50% 38%, rgba(210,165,121,.46), transparent 38%), linear-gradient(145deg,#3c5146,#17231f 76%); }
.version-art[data-art="midnight"],
.review-artwork[data-art="midnight"] { background: radial-gradient(ellipse at 65% 32%,rgba(151,180,203,.4),transparent 37%),linear-gradient(145deg,#354b5d,#151d28 78%); }
.version-art[data-art="resonance"],
.review-artwork[data-art="resonance"] { background: radial-gradient(ellipse at 30% 72%,rgba(225,197,150,.37),transparent 36%),linear-gradient(145deg,#54665d,#202b29 78%); }
.version-art[data-art="first-light"],
.review-artwork[data-art="first-light"] { background: radial-gradient(ellipse at 72% 28%,rgba(230,169,151,.39),transparent 36%),linear-gradient(145deg,#755950,#302629 80%); }
.version-art[data-art="midnight"] .version-record { background: repeating-radial-gradient(circle,#1b2732 0 2px,#89a8bb 2.5px 3px,#1b2732 3.5px 5px); }
.version-art[data-art="resonance"] .version-record { background: repeating-radial-gradient(circle,#1f302b 0 2px,#bdc8a6 2.5px 3px,#1f302b 3.5px 5px); }
.version-art[data-art="first-light"] .version-record { background: repeating-radial-gradient(circle,#34282a 0 2px,#d19a80 2.5px 3px,#34282a 3.5px 5px); }
.review-artwork[data-art="midnight"] .record-disc { background: repeating-radial-gradient(circle,#1a2731 0 3px,#819cad 3.5px 4px,#1a2731 4.5px 7px); }
.review-artwork[data-art="resonance"] .record-disc { background: repeating-radial-gradient(circle,#1c2b27 0 3px,#b7c1a1 3.5px 4px,#1c2b27 4.5px 7px); }
.review-artwork[data-art="first-light"] .record-disc { background: repeating-radial-gradient(circle,#332729 0 3px,#ce967e 3.5px 4px,#332729 4.5px 7px); }

/* English date controls keep month and time labels consistent across devices */
.english-date-picker { display:grid; grid-template-columns:1.2fr .72fr 1fr; gap:8px; width:100%; margin-top:7px; }
.english-date-picker select { min-width:0; width:100%; height:44px; padding:0 11px; border:1px solid rgba(53,59,51,.15); border-radius:10px; background:#fffdf8; color:#414941; font:500 12px/1.2 Manrope,Arial,sans-serif; }
.english-date-time { grid-column:1/-1; display:grid; grid-template-columns:.8fr 1.1fr 1.1fr; gap:8px; }
.english-date-picker select:focus-visible { outline:2px solid #b77d5e; outline-offset:2px; }

/* Customer portal footer and gift studio sharing controls */
.portal-footer { width:min(1180px,calc(100% - 48px)); margin:48px auto 0; padding:19px 0 24px; display:flex; justify-content:space-between; align-items:center; gap:18px; border-top:1px solid rgba(45,51,45,.12); color:#777970; font-size:10px; }
.portal-footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.portal-footer a { color:inherit; text-decoration:none; }
.portal-footer a:hover { color:#26342f; }
.studio-share-panel { margin-top:auto; padding-top:24px; display:grid; gap:11px; text-align:left; }
.studio-share-panel > span { color:rgba(255,250,242,.62); font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.studio-share-panel > div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.studio-share-panel .button { min-height:42px; padding-inline:10px; font-size:10px; }
.studio-share-panel button:disabled { opacity:.45; cursor:not-allowed; }
#giftPreviewLink[aria-disabled="true"] { opacity:.52; cursor:not-allowed; }

/* Saved gift page: branded reveal, horizontally scrollable film and lyrics */
.gift-body { background:#111a18; color:#f5efe6; }
.gift-brandbar { width:min(1320px,calc(100% - 64px)); min-height:88px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(248,239,226,.11); }
.gift-brandbar .avera-wordmark { color:#f3ecdf; }
.gift-private-label { display:inline-flex; align-items:center; gap:9px; color:rgba(245,239,230,.58); font-size:10px; letter-spacing:.08em; }
.gift-private-label i { width:6px; height:6px; border-radius:50%; background:#b78a65; box-shadow:0 0 12px rgba(183,138,101,.65); }
.gift-page { width:min(1200px,calc(100% - 64px)); min-height:calc(100vh - 88px); margin:0 auto; padding:62px 0 30px; }
.gift-loading { padding:16vh 0; text-align:center; color:rgba(245,239,230,.6); font-size:13px; }
.gift-locked { max-width:680px; margin:11vh auto 16vh; padding:50px; text-align:center; border:1px solid rgba(245,239,230,.14); border-radius:25px; background:radial-gradient(ellipse at 50% 0%,rgba(193,145,104,.16),transparent 55%),#18221f; }
.gift-locked h1 { margin:18px 0; font:400 clamp(44px,7vw,76px)/.98 Newsreader,serif; }
.gift-locked p { color:rgba(245,239,230,.65); font-size:13px; }
.gift-hero-grid { display:grid; grid-template-columns:minmax(340px,.95fr) minmax(360px,1.05fr); align-items:center; gap:clamp(36px,7vw,100px); }
.gift-open.gift-hero-artwork { min-height:540px; display:grid; place-items:center; padding:35px; border:1px solid rgba(246,235,220,.17); border-radius:28px; text-align:center; isolation:isolate; box-shadow:0 36px 95px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.12); }
.gift-hero-artwork.cover-heirloom { background:radial-gradient(ellipse at 50% 28%,rgba(209,170,130,.36),transparent 40%),linear-gradient(145deg,#374b42,#17201d 78%); }
.gift-hero-artwork.cover-midnight { background:radial-gradient(ellipse at 67% 28%,rgba(147,181,205,.34),transparent 41%),linear-gradient(145deg,#34485a,#141b25 80%); }
.gift-hero-artwork.cover-resonance { background:radial-gradient(ellipse at 30% 76%,rgba(223,202,152,.34),transparent 40%),linear-gradient(145deg,#53665c,#1c2824 80%); }
.gift-hero-artwork.cover-first-light { background:radial-gradient(ellipse at 72% 27%,rgba(226,161,143,.37),transparent 38%),linear-gradient(145deg,#73584f,#292324 80%); }
.gift-hero-artwork::before { width:min(75%,380px); height:360px; border-color:rgba(238,211,179,.22); box-shadow:0 0 90px rgba(200,158,119,.1),inset 0 0 65px rgba(200,158,119,.04); }
.gift-hero-artwork::after { content:""; position:absolute; width:min(60%,300px); height:250px; border:1px solid rgba(245,233,214,.16); border-radius:50%; transform:rotate(46deg); }
.gift-hero-orbit { position:absolute; width:min(65%,330px); height:210px; border:1px solid rgba(225,192,155,.35); border-radius:50%; transform:rotate(-34deg); }
.gift-hero-orbit-two { width:min(58%,290px); height:310px; border-color:rgba(245,235,219,.16); transform:rotate(33deg); }
.gift-album-face { position:relative; z-index:2; width:min(72%,310px); aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:17px; padding:28px; border:1px solid rgba(247,235,216,.45); border-radius:50%; background:radial-gradient(circle at 50% 45%,rgba(215,171,127,.17),transparent 57%),rgba(13,22,19,.42); box-shadow:0 20px 60px rgba(0,0,0,.25),inset 0 0 38px rgba(244,221,190,.07); }
.gift-album-face img { width:48px; height:48px; opacity:.86; filter:brightness(1.45); }
.gift-album-face span,.gift-album-face small { color:rgba(246,236,221,.65); font-size:8px; letter-spacing:.19em; }
.gift-album-face strong { max-width:95%; color:#f4e8d7; font:400 clamp(21px,3vw,30px)/1.08 Newsreader,serif; }
.gift-album-face i { width:39px; height:1px; background:rgba(226,190,151,.72); }
.gift-art-number { position:absolute; z-index:2; bottom:25px; color:rgba(247,237,223,.62); font-size:8px; letter-spacing:.18em; }
.gift-art-number b { padding:0 7px; color:#d7a677; }
.gift-hero-copy { max-width:480px; }
.gift-hero-copy > .eyebrow { color:#c7a17c; }
.gift-hero-copy .gift-title { margin:19px 0 8px; color:rgba(245,239,230,.7); font:400 19px/1.35 Newsreader,serif; }
.gift-hero-copy h1 { margin:0; color:#f7f0e7; font:400 clamp(43px,6vw,68px)/.98 Newsreader,serif; letter-spacing:-.025em; }
.gift-message { max-width:420px; margin:20px 0 28px; color:rgba(245,239,230,.62); font-size:13px; line-height:1.8; }
.gift-player { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:8px 15px; padding:16px; border:1px solid rgba(248,239,226,.13); border-radius:17px; background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025)); box-shadow:inset 0 1px rgba(255,255,255,.06); }
.gift-play-button { width:52px; height:52px; border:0; border-radius:50%; background:#f2e7d7; color:#17211e; font-size:17px; box-shadow:0 6px 18px rgba(0,0,0,.17); }
.gift-player.is-playing .gift-play-button { background:#d3a47a; }
.gift-player-details { min-width:0; display:grid; grid-template-columns:1fr auto; gap:7px 10px; }
.gift-player-details > span { grid-column:1/-1; color:rgba(248,239,226,.55); font-size:8px; letter-spacing:.18em; }
.gift-player-track { grid-column:1/-1; height:2px; overflow:hidden; background:rgba(255,255,255,.17); }
.gift-player-track i { display:block; width:0; height:100%; background:#d2a078; transition:width .12s linear; }
.gift-player-time { grid-column:1/-1; display:flex; justify-content:space-between; color:rgba(248,239,226,.51); font-size:9px; }
.gift-player #giftSeek { grid-column:2; width:100%; height:15px; margin-top:-3px; accent-color:#d2a078; }
.gift-player audio { display:none; }
.gift-share-actions { display:flex; gap:9px; margin-top:16px; }
.gift-share-actions .button { min-height:46px; padding-inline:18px; }
.gift-share-note { display:block; margin-top:14px; color:rgba(245,239,230,.44); font-size:10px; }
.gift-filmstrip-section { margin-top:100px; }
.gift-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:23px; }
.gift-section-heading h2 { margin:9px 0 0; color:#f4ede3; font:400 clamp(31px,4vw,47px)/1.05 Newsreader,serif; }
.gift-film-controls { display:flex; gap:8px; }
.gift-film-controls button { width:40px; height:40px; border:1px solid rgba(248,239,226,.2); border-radius:50%; background:rgba(255,255,255,.04); color:#efe5d7; font-size:18px; }
.gift-filmstrip { display:grid; grid-auto-columns:minmax(270px,34%); grid-auto-flow:column; gap:14px; overflow-x:auto; overscroll-behavior-inline:contain; padding:4px 3px 17px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:rgba(214,170,129,.55) rgba(255,255,255,.06); }
.gift-film-frame { min-height:205px; display:grid; grid-template-rows:20px 1fr 20px; overflow:hidden; border:1px solid rgba(246,235,220,.2); border-radius:17px; background:linear-gradient(145deg,#33463d,#18221f); color:#f4eadb; scroll-snap-align:start; }
.gift-film-frame.cover-midnight { background:linear-gradient(145deg,#35485a,#18202a); }
.gift-film-frame.cover-resonance { background:linear-gradient(145deg,#596c60,#202a25); }
.gift-film-frame.cover-first-light { background:linear-gradient(145deg,#795a50,#302526); }
.film-perforations { display:flex; justify-content:space-around; align-items:center; padding:0 8px; background:rgba(0,0,0,.15); }
.film-perforations i { width:10px; height:6px; border-radius:2px; background:rgba(248,239,226,.16); }
.gift-film-copy { min-height:165px; display:flex; flex-direction:column; justify-content:center; gap:13px; padding:22px 25px; background:radial-gradient(ellipse at 82% 20%,rgba(231,196,159,.16),transparent 43%); }
.gift-film-copy span { color:rgba(244,234,219,.58); font-size:8px; letter-spacing:.2em; text-transform:uppercase; }
.gift-film-copy p { margin:0; color:#f7efe4; font:400 22px/1.28 Newsreader,serif; }
.gift-lyrics-section { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:clamp(30px,8vw,110px); margin:96px 0 70px; padding:58px clamp(22px,5vw,64px); border:1px solid rgba(246,235,220,.11); border-radius:26px; background:linear-gradient(140deg,rgba(255,255,255,.045),rgba(255,255,255,.015)); }
.gift-lyrics-intro { position:sticky; top:35px; align-self:start; }
.gift-lyrics-intro h2 { margin:14px 0; color:#f4ede3; font:400 clamp(39px,5vw,60px)/.98 Newsreader,serif; }
.gift-lyrics-intro p { max-width:240px; color:rgba(245,239,230,.52); font-size:11px; line-height:1.7; }
.gift-lyrics { display:grid; gap:30px; }
.gift-lyric-stanza { padding:0 0 28px; border-bottom:1px solid rgba(246,235,220,.1); }
.gift-lyric-label { color:#c59b77; font-size:8px; letter-spacing:.2em; text-transform:uppercase; }
.gift-lyric-words { margin:14px 0 0; color:#f1e6d8; font:400 clamp(20px,2.5vw,27px)/1.6 Newsreader,serif; }
.gift-lyrics-empty { color:rgba(245,239,230,.57); font-size:13px; }
.gift-reveal { opacity:0; transform:translateY(18px); transition:opacity 650ms ease,transform 650ms cubic-bezier(.2,.8,.2,1); transition-delay:var(--line-delay,0ms); }
.gift-reveal.is-visible { opacity:1; transform:translateY(0); }
.gift-page-footer { padding:22px 0 12px; display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(246,235,220,.11); color:rgba(245,239,230,.45); font-size:9px; }
.gift-page-footer a { color:inherit; text-decoration:none; }
@media (max-width:760px) {
  .portal-footer { width:calc(100% - 32px); align-items:flex-start; flex-direction:column; gap:13px; }
  .portal-footer nav { gap:16px; }
  .studio-share-panel > div { grid-template-columns:1fr; }
  .gift-brandbar { width:calc(100% - 34px); min-height:72px; }
  .gift-private-label { font-size:8px; }
  .gift-page { width:calc(100% - 34px); padding-top:30px; }
  .gift-hero-grid { grid-template-columns:1fr; gap:32px; }
  .gift-open.gift-hero-artwork { min-height:390px; padding:24px; border-radius:22px; }
  .gift-album-face { width:min(70%,260px); }
  .gift-hero-copy { padding:0 5px; }
  .gift-hero-copy h1 { font-size:48px; }
  .gift-filmstrip-section { margin-top:68px; }
  .gift-filmstrip { grid-auto-columns:minmax(250px,82%); }
  .gift-lyrics-section { grid-template-columns:1fr; gap:24px; margin:65px 0 45px; padding:29px 22px; }
  .gift-lyrics-intro { position:static; }
  .gift-lyrics-intro h2 br { display:none; }
  .gift-page-footer { flex-direction:column; }
}
@media (max-width:420px) {
  .gift-private-label { max-width:140px; text-align:right; line-height:1.4; }
  .gift-share-actions { flex-direction:column; }
  .english-date-picker { grid-template-columns:1fr 1fr; }
  .english-date-picker > select:first-child { grid-column:1/-1; }
  .english-date-time { grid-template-columns:1fr 1fr 1.2fr; }
}
@media (prefers-reduced-motion:reduce) {
  .gift-reveal { opacity:1; transform:none; transition:none; }
  .gift-hero-artwork[data-effect]::after { animation:none!important; }
}

/* Clear lyric layout, line-following playback, and saved gift styling */
.visually-hidden {
  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;
}
.review-listening-layout { align-items:start; grid-template-columns:minmax(350px,.92fr) minmax(0,1.08fr); }
.review-lyrics-card { height:clamp(560px,68vh,720px); min-height:560px; }
.lyrics-card-actions { display:grid; justify-items:end; gap:9px; }
.lyrics-copy,
.gift-copy-lyrics {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:36px;
  padding:0 12px;
  border:1px solid rgba(47,58,50,.15);
  border-radius:999px;
  background:rgba(255,255,255,.56);
  color:#4d5b50;
  font:500 10px/1 Manrope,Arial,sans-serif;
  transition:background 180ms ease,border-color 180ms ease,transform 180ms ease;
}
.lyrics-copy:hover:not(:disabled),
.gift-copy-lyrics:hover:not(:disabled) { border-color:rgba(167,122,88,.42); background:#fffaf2; transform:translateY(-1px); }
.lyrics-copy:disabled,
.gift-copy-lyrics:disabled { opacity:.42; cursor:not-allowed; }
.lyrics-copy svg,
.gift-copy-lyrics svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.review-lyrics-scroll { min-height:0; max-height:none; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(171,128,92,.45) transparent; scroll-padding-block:45%; }
.lyric-stanza { margin:0 0 27px; }
.lyric-stanza p.lyric-line { margin:2px 0; padding:4px 8px; border-radius:8px; color:#5a5d55; font:400 clamp(18px,1.65vw,22px)/1.45 Newsreader,Georgia,serif; letter-spacing:-.01em; transition:color 220ms ease,background 220ms ease,box-shadow 220ms ease; }
.lyric-stanza p.lyric-line.is-active { color:#724a32; background:linear-gradient(90deg,rgba(209,154,98,.2),rgba(209,154,98,.07) 72%,transparent); box-shadow:inset 2px 0 0 #b77d56; }
.review-lyrics-card .lyrics-card-bottom { flex:none; }
.review-lyrics-card .lyrics-card-top { align-items:center; }
.review-lyrics-card .lyrics-status { margin-top:0; }

.gift-hero-artwork::before { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 43%,transparent); box-shadow:0 0 100px color-mix(in srgb,var(--gift-accent,#d09a62) 18%,transparent),inset 0 0 65px color-mix(in srgb,var(--gift-accent,#d09a62) 8%,transparent); }
.gift-hero-orbit { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 48%,transparent); }
.gift-album-face { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 68%,rgba(247,235,216,.25)); box-shadow:0 20px 60px rgba(0,0,0,.25),inset 0 0 38px color-mix(in srgb,var(--gift-accent,#d09a62) 12%,transparent); }
.gift-album-face i { background:var(--gift-accent,#d09a62); }
.gift-player { position:relative; grid-template-columns:58px minmax(0,1fr); gap:10px 16px; padding:19px 20px 15px; overflow:hidden; border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 34%,rgba(248,239,226,.13)); border-radius:21px; background:radial-gradient(ellipse at 12% 0%,color-mix(in srgb,var(--gift-accent,#d09a62) 19%,transparent),transparent 54%),linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025)); box-shadow:0 18px 45px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.08); }
.gift-play-button { position:relative; z-index:1; display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(255,255,255,.72); background:linear-gradient(145deg,#fff9ed,#ead8bf); color:#222d28; box-shadow:0 7px 20px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.9); transition:transform 180ms ease,background 180ms ease,box-shadow 180ms ease; }
.gift-play-button:hover { transform:scale(1.04); box-shadow:0 10px 27px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.9); }
.gift-play-button svg { width:21px; height:21px; fill:currentColor; }
.gift-pause-shape { display:none; }
.gift-player.is-playing .gift-play-button { background:var(--gift-accent,#d09a62); color:#17211e; }
.gift-player.is-playing .gift-play-shape { display:none; }
.gift-player.is-playing .gift-pause-shape { display:block; }
.gift-player-details { gap:8px 10px; }
.gift-player-details > span { color:rgba(248,239,226,.58); font-size:8px; letter-spacing:.15em; }
.gift-player-track { height:3px; border-radius:99px; background:rgba(255,255,255,.18); }
.gift-player-track i { background:var(--gift-accent,#d09a62); box-shadow:0 0 12px color-mix(in srgb,var(--gift-accent,#d09a62) 62%,transparent); }
.gift-player-waveform { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; height:27px; padding:0 2px; overflow:hidden; opacity:.76; mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.gift-player-waveform i { display:block; width:2px; min-height:3px; height:calc(3px + var(--bar-height)*22px); border-radius:5px; background:linear-gradient(180deg,color-mix(in srgb,var(--gift-accent,#d09a62) 83%,white),rgba(245,231,210,.54)); transform:scaleY(.42); transform-origin:center; }
.gift-player.is-playing .gift-player-waveform i { animation:giftWave 760ms ease-in-out infinite alternate; animation-delay:var(--bar-delay); }
.gift-player.is-playing .gift-player-waveform i:nth-child(3n) { animation-duration:930ms; }
.gift-player.is-playing .gift-player-waveform i:nth-child(4n) { animation-duration:640ms; }
.gift-player #giftSeek { grid-column:1/-1; width:100%; height:20px; margin:0; accent-color:var(--gift-accent,#d09a62); cursor:pointer; }
.gift-player audio { display:none; }
.gift-share-actions .button.warm { border-color:transparent; background:var(--gift-accent,#d09a62); color:#17211e; }
.gift-lyrics-section { grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr); align-items:start; gap:clamp(25px,5vw,70px); border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 25%,rgba(246,235,220,.11)); background:radial-gradient(ellipse at 88% 0%,color-mix(in srgb,var(--gift-accent,#d09a62) 11%,transparent),transparent 49%),linear-gradient(140deg,rgba(255,255,255,.052),rgba(255,255,255,.016)); }
.gift-lyrics-intro { position:static; }
.gift-lyrics-panel { min-width:0; max-height:660px; overflow:auto; padding:22px 26px 12px; border:1px solid rgba(248,239,226,.1); border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.018)); scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--gift-accent,#d09a62) 62%,transparent) transparent; overscroll-behavior:contain; }
.gift-lyrics-panel-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:25px; padding-bottom:14px; border-bottom:1px solid rgba(246,235,220,.12); }
.gift-lyrics-panel-top > span { color:rgba(245,239,230,.48); font-size:8px; letter-spacing:.18em; }
.gift-lyrics-panel .gift-lyrics { gap:25px; }
.gift-lyrics-panel .gift-lyric-stanza { padding-bottom:23px; border-bottom-color:rgba(246,235,220,.1); }
.gift-lyrics-panel .gift-lyric-label { color:color-mix(in srgb,var(--gift-accent,#d09a62) 82%,white); font-size:9px; letter-spacing:.17em; }
.gift-lyrics-panel .gift-lyric-words { display:grid; gap:3px; margin-top:12px; color:#efe6d9; font:400 clamp(19px,2.1vw,25px)/1.5 Newsreader,Georgia,serif; letter-spacing:-.008em; }
.gift-lyric-line { margin:0; padding:4px 9px; border-radius:8px; color:rgba(245,239,230,.79); transition:color 220ms ease,background 220ms ease,box-shadow 220ms ease; }
.gift-lyric-line.is-active { color:#fff8ed; background:linear-gradient(90deg,color-mix(in srgb,var(--gift-accent,#d09a62) 24%,transparent),color-mix(in srgb,var(--gift-accent,#d09a62) 5%,transparent) 78%,transparent); box-shadow:inset 2px 0 0 var(--gift-accent,#d09a62); }
.gift-copy-lyrics { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 40%,rgba(255,255,255,.12)); background:color-mix(in srgb,var(--gift-accent,#d09a62) 10%,rgba(255,255,255,.035)); color:#f1e6d8; }
.gift-copy-lyrics:hover:not(:disabled) { border-color:var(--gift-accent,#d09a62); background:color-mix(in srgb,var(--gift-accent,#d09a62) 19%,rgba(255,255,255,.035)); }
.gift-film-frame { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 34%,rgba(246,235,220,.2)); }
@keyframes giftWave { from { transform:scaleY(.24); opacity:.55; } to { transform:scaleY(1); opacity:1; } }
@media (max-width:760px) {
  .review-listening-layout { grid-template-columns:1fr; }
  .review-lyrics-card { height:auto; min-height:0; }
  .review-lyrics-scroll { max-height:560px; }
  .lyrics-card-actions { gap:7px; }
  .lyrics-copy { min-height:40px; }
  .gift-player { padding:16px; grid-template-columns:54px minmax(0,1fr); }
  .gift-lyrics-panel { max-height:600px; padding:18px 17px 8px; }
  .gift-lyrics-panel .gift-lyric-words { font-size:21px; }
  .gift-copy-lyrics { min-height:40px; }
}
@media (prefers-reduced-motion:reduce) {
  .gift-player.is-playing .gift-player-waveform i { animation:none; }
  .lyric-stanza p.lyric-line,.gift-lyric-line,.lyrics-copy,.gift-copy-lyrics { transition:none; }
}

/* Full-screen private listening page: personal note, spinning vinyl, live lyrics. */
.gift-fullscreen-body { min-height:100svh; overflow:hidden; background:#101715; color:#f5efe6; }
.gift-fullscreen-header { width:min(1600px,calc(100% - 88px)); min-height:76px; margin:0 auto; }
.gift-fullscreen-header .avera-lockup { gap:10px; }
.gift-fullscreen-header .avera-mark { width:38px; height:38px; }
.gift-fullscreen-header .avera-wordmark { color:#f4ecdf; font-size:25px; letter-spacing:.1em; }
.gift-header-actions { display:flex; align-items:center; gap:10px; }
.gift-header-actions .gift-private-label { margin-right:11px; }
.gift-header-share,.gift-header-whatsapp { min-height:40px; padding:0 15px; border:1px solid rgba(245,239,230,.17); border-radius:999px; background:rgba(255,255,255,.035); color:#f2e9dc; font:500 10px/1 "DM Sans",Arial,sans-serif; letter-spacing:.015em; transition:background .2s ease,border-color .2s ease,transform .2s ease; }
.gift-header-share:hover,.gift-header-whatsapp:hover { transform:translateY(-1px); border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 65%,rgba(245,239,230,.22)); background:rgba(255,255,255,.08); }
.gift-header-whatsapp { border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 40%,rgba(255,255,255,.15)); background:color-mix(in srgb,var(--gift-accent,#d09a62) 12%,rgba(255,255,255,.035)); }
.gift-header-whatsapp span { margin-left:4px; color:var(--gift-accent,#d09a62); }
.gift-fullscreen-page { width:min(1600px,calc(100% - 88px)); height:calc(100svh - 76px); min-height:0; margin:0 auto; padding:12px 0 8px; }
.gift-experience.gift-fullscreen { display:grid; grid-template-rows:minmax(0,1fr) auto; height:100%; min-height:0; }
.gift-experience[hidden] { display:none !important; }
.gift-stage { display:grid; grid-template-columns:minmax(220px,.77fr) minmax(330px,1.1fr) minmax(295px,.92fr); align-items:center; gap:clamp(22px,3.2vw,52px); min-height:0; }
.gift-story-column { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:20px 0 18px; }
.gift-stage-label { display:inline-flex; align-items:center; gap:9px; color:rgba(239,229,213,.52); font:500 8px/1.3 "DM Sans",Arial,sans-serif; letter-spacing:.19em; text-transform:uppercase; }
.gift-stage-label i { width:6px; height:6px; border-radius:50%; background:var(--gift-accent,#d09a62); box-shadow:0 0 12px color-mix(in srgb,var(--gift-accent,#d09a62) 75%,transparent); }
.gift-story-column h1 { max-width:100%; margin:23px 0 0; color:#f4eee4; font:400 clamp(36px,4.1vw,62px)/.99 Newsreader,Georgia,serif; letter-spacing:-.045em; overflow-wrap:anywhere; }
.gift-letter-rule { display:flex; align-items:center; gap:10px; width:100%; margin:23px 0 15px; color:var(--gift-accent,#d09a62); }
.gift-letter-rule::before { content:""; width:55px; height:1px; background:color-mix(in srgb,var(--gift-accent,#d09a62) 66%,transparent); }
.gift-letter-rule::after { content:""; flex:1; height:1px; background:rgba(245,239,230,.11); }
.gift-letter-rule span { font-size:12px; }
.gift-message { max-width:350px; margin:0; color:rgba(245,239,230,.72); font:400 clamp(17px,1.55vw,21px)/1.55 Newsreader,Georgia,serif; white-space:pre-line; }
.gift-fullscreen .gift-message { max-height:30vh; overflow:auto; padding-right:7px; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--gift-accent,#d09a62) 52%,transparent) transparent; }
.gift-story-details { display:grid; gap:18px; width:100%; margin-top:clamp(30px,5vh,54px); padding-top:20px; border-top:1px solid rgba(245,239,230,.12); }
.gift-story-details > div { display:grid; gap:6px; }
.gift-story-details span { color:rgba(245,239,230,.4); font:500 8px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.17em; }
.gift-story-details strong { color:#eee5d8; font:400 16px/1.25 Newsreader,Georgia,serif; }
.gift-story-private { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:25px; color:rgba(245,239,230,.43); font:400 9px/1.5 "DM Sans",Arial,sans-serif; letter-spacing:.04em; }
.gift-story-private i { width:5px; height:5px; border-radius:50%; background:var(--gift-accent,#d09a62); }
.gift-record-column { display:grid; grid-template-rows:auto auto auto auto auto; align-content:center; justify-items:stretch; min-width:0; padding:8px 0; }
.gift-record-caption { display:flex; justify-content:space-between; gap:10px; margin:0 8px 15px; color:rgba(245,239,230,.39); font:500 8px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.17em; }
.gift-vinyl-scene { position:relative; display:grid; place-items:center; justify-self:center; width:min(100%,48vh,520px); aspect-ratio:1; isolation:isolate; }
.gift-vinyl-scene::before { position:absolute; inset:3%; border:1px solid color-mix(in srgb,var(--gift-accent,#d09a62) 24%,transparent); border-radius:50%; box-shadow:0 0 85px color-mix(in srgb,var(--gift-accent,#d09a62) 12%,transparent); content:""; }
.gift-vinyl-scene::after { position:absolute; inset:7%; border-radius:50%; pointer-events:none; opacity:.52; content:""; }
.gift-vinyl-scene[data-effect="soft-lights"]::after { background:radial-gradient(ellipse at 18% 28%,rgba(255,230,190,.3),transparent 34%),radial-gradient(ellipse at 85% 72%,rgba(234,190,155,.25),transparent 38%); animation:gift-lights 9s ease-in-out infinite alternate; }
.gift-vinyl-scene[data-effect="petals"]::after { background:radial-gradient(ellipse 8px 14px at 20% 28%,rgba(247,211,203,.65) 45%,transparent 56%),radial-gradient(ellipse 7px 13px at 78% 38%,rgba(247,211,203,.55) 45%,transparent 56%),radial-gradient(ellipse 8px 13px at 68% 80%,rgba(247,211,203,.5) 45%,transparent 56%),radial-gradient(ellipse 7px 12px at 32% 70%,rgba(247,211,203,.44) 45%,transparent 56%); animation:gift-petals 14s ease-in-out infinite; }
.gift-vinyl-scene[data-effect="stars"]::after { background:radial-gradient(circle at 18% 24%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 77% 31%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 83% 75%,#fff8e8 0 1.5px,transparent 2.5px),radial-gradient(circle at 27% 80%,#fff8e8 0 1px,transparent 2px),radial-gradient(circle at 61% 17%,#fff8e8 0 1px,transparent 2px); animation:gift-twinkle 4s ease-in-out infinite alternate; }
.gift-vinyl-scene.cover-heirloom { --cover-glow:rgba(209,170,130,.22); }
.gift-vinyl-scene.cover-midnight { --cover-glow:rgba(147,181,205,.24); }
.gift-vinyl-scene.cover-resonance { --cover-glow:rgba(223,202,152,.22); }
.gift-vinyl-scene.cover-first-light { --cover-glow:rgba(226,161,143,.23); }
.gift-vinyl-record { position:relative; z-index:1; width:88%; aspect-ratio:1; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:50%; background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.13),transparent 21%),radial-gradient(circle at center,#222523 0 18%,#090b0a 19% 100%); box-shadow:0 32px 75px rgba(0,0,0,.5),0 0 45px var(--cover-glow,rgba(209,170,130,.13)),inset 0 0 0 1px rgba(255,255,255,.04); transition:filter .3s ease; }
.gift-vinyl-record::before { position:absolute; inset:4%; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 0 1px rgba(0,0,0,.7); content:""; }
.gift-vinyl-record::after { position:absolute; inset:7%; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 5px,rgba(255,255,255,.055) 5.4px 5.8px,transparent 6.2px 10px); opacity:.62; content:""; }
.gift-vinyl-grooves { position:absolute; z-index:1; inset:12%; border:1px solid rgba(255,255,255,.08); border-radius:50%; box-shadow:0 0 0 16px rgba(255,255,255,.012),0 0 0 32px rgba(255,255,255,.018),0 0 0 48px rgba(255,255,255,.012),0 0 0 64px rgba(255,255,255,.018),0 0 0 80px rgba(255,255,255,.012); }
.gift-vinyl-label { position:absolute; z-index:2; inset:33%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; overflow:hidden; border:1px solid color-mix(in srgb,var(--gift-accent,#d09a62) 54%,rgba(255,255,255,.15)); border-radius:50%; background:radial-gradient(circle at 35% 24%,color-mix(in srgb,var(--gift-accent,#d09a62) 39%,#31332e),#151916 72%); text-align:center; box-shadow:inset 0 0 22px rgba(0,0,0,.3); }
.gift-vinyl-label img { width:22px; height:22px; opacity:.9; filter:brightness(1.6); }
.gift-vinyl-label span,.gift-vinyl-label small { color:rgba(249,239,221,.6); font:500 6px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.16em; }
.gift-vinyl-label strong { max-width:82%; color:#f8efe1; font:400 clamp(10px,1vw,14px)/1.05 Newsreader,Georgia,serif; }
.gift-vinyl-play { position:absolute; z-index:4; display:grid; place-items:center; width:67px; height:67px; border:1px solid rgba(255,255,255,.75); border-radius:50%; background:linear-gradient(145deg,rgba(248,241,229,.96),color-mix(in srgb,var(--gift-accent,#d09a62) 66%,#f2e4d1)); color:#1a201c; box-shadow:0 8px 30px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.9); cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.gift-vinyl-play:hover { transform:scale(1.07); box-shadow:0 13px 35px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.9); }
.gift-vinyl-play svg { width:23px; height:23px; fill:currentColor; }
.gift-pause-shape { display:none; }
.gift-fullscreen.is-playing .gift-vinyl-record { animation:giftRecordSpin 18s linear infinite; }
.gift-fullscreen.is-playing .gift-play-shape { display:none; }
.gift-fullscreen.is-playing .gift-pause-shape { display:block; }
@keyframes giftRecordSpin { to { transform:rotate(360deg); } }
.gift-now-playing { display:flex; justify-content:space-between; gap:15px; margin:13px 10px 3px; color:rgba(245,239,230,.68); font:400 13px/1.35 Newsreader,Georgia,serif; }
.gift-now-playing span:last-child { color:rgba(245,239,230,.43); font:500 7px/1.5 "DM Sans",Arial,sans-serif; letter-spacing:.14em; white-space:nowrap; }
.gift-record-waveform { display:flex; align-items:center; justify-content:space-between; height:24px; margin:1px 9px 0; overflow:hidden; opacity:.7; mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.gift-record-waveform i { flex:0 0 2px; height:calc(3px + var(--bar-height)*20px); border-radius:3px; background:linear-gradient(180deg,color-mix(in srgb,var(--gift-accent,#d09a62) 85%,white),rgba(246,231,210,.45)); transform:scaleY(.35); transform-origin:center; }
.gift-fullscreen.is-playing .gift-record-waveform i { animation:giftWave 750ms ease-in-out infinite alternate; animation-delay:var(--bar-delay); }
.gift-fullscreen.is-playing .gift-record-waveform i:nth-child(3n) { animation-duration:930ms; }
.gift-fullscreen.is-playing .gift-record-waveform i:nth-child(4n) { animation-duration:630ms; }
.gift-seek-row { display:grid; grid-template-columns:33px 1fr 33px; align-items:center; gap:9px; margin:0 9px; color:rgba(245,239,230,.43); font:500 8px/1 "DM Sans",Arial,sans-serif; font-variant-numeric:tabular-nums; }
.gift-seek-row input { width:100%; height:18px; margin:0; accent-color:var(--gift-accent,#d09a62); cursor:pointer; }
.gift-seek-row input:disabled { cursor:not-allowed; opacity:.45; }
.gift-fullscreen #giftAudio { display:none; }
.gift-audio-hidden { display:none; }
.gift-filmstrip-section { min-width:0; margin:15px 0 0; padding-top:10px; border-top:1px solid rgba(245,239,230,.1); }
.gift-filmstrip-heading { display:flex; align-items:center; justify-content:space-between; margin:0 2px 8px; color:rgba(245,239,230,.38); font:500 7px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.17em; }
.gift-film-controls { display:flex; gap:5px; }
.gift-film-controls button { width:23px; height:23px; border:1px solid rgba(245,239,230,.14); border-radius:50%; background:rgba(255,255,255,.03); color:#eee3d2; font-size:15px; line-height:1; }
.gift-filmstrip { display:grid; grid-auto-columns:minmax(135px,39%); grid-auto-flow:column; gap:8px; overflow:auto hidden; padding:1px 1px 5px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--gift-accent,#d09a62) 60%,transparent) transparent; }
.gift-film-frame { min-height:74px; grid-template-rows:8px 1fr 8px; border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 28%,rgba(246,235,220,.13)); border-radius:8px; background:linear-gradient(145deg,#27362f,#131917); }
.gift-film-frame.cover-midnight { background:linear-gradient(145deg,#293747,#13191f); }
.gift-film-frame.cover-resonance { background:linear-gradient(145deg,#3d4b41,#171d1a); }
.gift-film-frame.cover-first-light { background:linear-gradient(145deg,#4c3c39,#1d1919); }
.film-perforations { display:flex; align-items:center; justify-content:space-around; gap:4px; padding:0 6px; }
.film-perforations i { width:5px; height:3px; border-radius:1px; background:rgba(245,239,230,.28); }
.gift-film-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:4px; padding:5px 9px; }
.gift-film-copy span { color:var(--gift-accent,#d09a62); font:500 6px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; }
.gift-film-copy p { display:-webkit-box; overflow:hidden; margin:0; color:rgba(245,239,230,.7); font:400 10px/1.25 Newsreader,Georgia,serif; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.gift-lyrics-panel { display:flex; flex-direction:column; min-width:0; height:min(76vh,760px); max-height:none; padding:25px 23px 18px; overflow:hidden; border:1px solid rgba(246,235,220,.1); border-color:color-mix(in srgb,var(--gift-accent,#d09a62) 22%,rgba(246,235,220,.1)); border-radius:22px; background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--gift-accent,#d09a62) 8%,transparent),transparent 48%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); box-shadow:0 24px 70px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.035); }
.gift-lyrics-panel-top { display:flex; flex:none; align-items:flex-end; justify-content:space-between; gap:12px; margin:0 0 9px; padding:0 0 18px; border-bottom:1px solid rgba(246,235,220,.1); }
.gift-lyrics-panel-top h2 { max-width:250px; margin:10px 0 0; color:#f4ede3; font:400 clamp(24px,2.25vw,32px)/1.04 Newsreader,Georgia,serif; letter-spacing:-.025em; }
.gift-copy-lyrics { flex:none; min-height:34px; padding:0 10px; font-size:9px; }
.gift-lyrics-panel .gift-lyrics { display:grid; flex:1; align-content:start; gap:20px; min-height:0; padding:14px 4px 16px 0; overflow:auto; overscroll-behavior:contain; scroll-padding-block:42%; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--gift-accent,#d09a62) 58%,transparent) transparent; }
.gift-lyrics-panel .gift-lyric-stanza { padding:0 0 18px; border-bottom:1px solid rgba(246,235,220,.08); }
.gift-lyrics-panel .gift-lyric-label { color:color-mix(in srgb,var(--gift-accent,#d09a62) 82%,white); font:500 7px/1.4 "DM Sans",Arial,sans-serif; letter-spacing:.19em; }
.gift-lyrics-panel .gift-lyric-words { display:grid; gap:3px; margin-top:10px; color:#eee5d8; font:400 clamp(18px,1.7vw,22px)/1.47 Newsreader,Georgia,serif; letter-spacing:-.009em; }
.gift-lyrics-panel .gift-lyric-line { margin:0; padding:4px 8px; border-radius:7px; color:rgba(245,239,230,.66); transition:color .25s ease,background .25s ease,box-shadow .25s ease,transform .25s ease; }
.gift-lyrics-panel .gift-lyric-line.is-active { color:#fff9ee; background:linear-gradient(90deg,color-mix(in srgb,var(--gift-accent,#d09a62) 23%,transparent),color-mix(in srgb,var(--gift-accent,#d09a62) 5%,transparent) 85%,transparent); box-shadow:inset 2px 0 var(--gift-accent,#d09a62); transform:translateX(2px); }
.gift-fullscreen .gift-page-footer { padding:12px 2px 0; font-size:8px; }
@media (max-width:1180px) {
  .gift-fullscreen-body { overflow:auto; }
  .gift-fullscreen-header,.gift-fullscreen-page { width:calc(100% - 52px); }
  .gift-fullscreen-page { height:auto; min-height:calc(100svh - 76px); padding-top:22px; }
  .gift-experience.gift-fullscreen { height:auto; min-height:calc(100svh - 110px); }
  .gift-stage { grid-template-columns:minmax(220px,.76fr) minmax(300px,1fr); grid-template-rows:auto auto; gap:20px 34px; }
  .gift-story-column { grid-column:1; grid-row:1; }
  .gift-record-column { grid-column:2; grid-row:1; }
  .gift-lyrics-panel { grid-column:1/-1; grid-row:2; height:48vh; min-height:360px; margin-bottom:20px; }
  .gift-vinyl-scene { width:min(100%,45vw,440px); }
  .gift-story-details { margin-top:24px; }
}
@media (max-width:700px) {
  .gift-fullscreen-body { overflow:auto; }
  .gift-fullscreen-header { width:calc(100% - 32px); min-height:66px; }
  .gift-fullscreen-header .avera-mark { width:31px; height:31px; }
  .gift-fullscreen-header .avera-wordmark { font-size:19px; letter-spacing:.08em; }
  .gift-header-actions { gap:6px; }
  .gift-header-actions .gift-private-label { display:none; }
  .gift-header-share,.gift-header-whatsapp { min-height:34px; padding:0 9px; font-size:8px; }
  .gift-fullscreen-page { width:calc(100% - 32px); padding-top:7px; }
  .gift-experience.gift-fullscreen { min-height:calc(100svh - 80px); }
  .gift-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:23px; }
  .gift-story-column { grid-column:1; grid-row:1; padding:10px 2px 0; }
  .gift-story-column h1 { margin-top:12px; font-size:clamp(37px,10vw,52px); }
  .gift-letter-rule { margin:13px 0 10px; }
  .gift-message { font-size:18px; }
  .gift-fullscreen .gift-message { max-height:none; overflow:visible; }
  .gift-story-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:18px; padding-top:13px; }
  .gift-story-details strong { font-size:14px; }
  .gift-story-private { display:none; }
  .gift-record-column { grid-column:1; grid-row:2; padding:0; }
  .gift-record-caption { margin-bottom:10px; font-size:7px; }
  .gift-vinyl-scene { width:min(82vw,390px); }
  .gift-vinyl-play { width:58px; height:58px; }
  .gift-lyrics-panel { grid-column:1; grid-row:3; height:60vh; min-height:390px; margin:0 0 17px; padding:19px 15px 12px; border-radius:18px; }
  .gift-lyrics-panel-top { align-items:center; padding-bottom:14px; }
  .gift-lyrics-panel-top h2 { font-size:25px; }
  .gift-copy-lyrics { min-height:37px; padding:0 9px; }
  .gift-lyrics-panel .gift-lyric-words { font-size:20px; }
  .gift-filmstrip { grid-auto-columns:minmax(140px,47%); }
  .gift-fullscreen .gift-page-footer { flex-direction:column; gap:7px; padding:12px 0 18px; }
}
@media (max-height:760px) and (min-width:1181px) {
  .gift-fullscreen-body { overflow:auto; }
  .gift-fullscreen-page { height:auto; min-height:calc(100svh - 76px); }
  .gift-experience.gift-fullscreen { min-height:620px; }
  .gift-stage { min-height:590px; }
  .gift-vinyl-scene { width:min(100%,42vh,450px); }
  .gift-lyrics-panel { height:560px; }
}
@media (prefers-reduced-motion:reduce) {
  .gift-fullscreen.is-playing .gift-vinyl-record,.gift-fullscreen.is-playing .gift-record-waveform i { animation:none; }
  .gift-vinyl-play,.gift-lyrics-panel .gift-lyric-line,.gift-header-share,.gift-header-whatsapp { transition:none; }
}

/* Refined external-link arrows for private gift sharing. */
.gift-header-whatsapp,#giftStudioWhatsApp,#giftPreviewLink { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.gift-external-arrow { display:block; width:14px; height:14px; flex:none; margin:0; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease; }
.gift-header-whatsapp .gift-external-arrow { color:var(--gift-accent,#cfaa7a); }
#giftPreviewLink .gift-external-arrow,#giftStudioWhatsApp .gift-external-arrow { color:currentColor; }
.gift-header-whatsapp:hover .gift-external-arrow,#giftPreviewLink:hover .gift-external-arrow,#giftStudioWhatsApp:hover:not(:disabled) .gift-external-arrow { transform:translate(1px,-1px); }
.gift-header-whatsapp:focus-visible,#giftPreviewLink:focus-visible,#giftStudioWhatsApp:focus-visible { outline:2px solid color-mix(in srgb,var(--gift-accent,#c49b70) 55%,#fff); outline-offset:3px; }
@media (max-width:700px) {
  .gift-fullscreen-header .gift-header-actions { gap:7px; }
  .gift-fullscreen-header .gift-header-share,.gift-fullscreen-header .gift-header-whatsapp { min-height:36px; padding:0 11px; gap:7px; border-radius:999px; font-size:9px; letter-spacing:.01em; }
  .gift-fullscreen-header .gift-external-arrow { width:13px; height:13px; }
}
@media (max-width:390px) {
  .gift-fullscreen-header .gift-header-share,.gift-fullscreen-header .gift-header-whatsapp { min-height:34px; padding:0 9px; gap:6px; font-size:8px; }
  .gift-fullscreen-header .gift-external-arrow { width:12px; height:12px; }
}
@media (prefers-reduced-motion:reduce) { .gift-external-arrow { transition:none; } }

/* Clear, editorial lyric layout in the account listening room. */
.song-review-page .review-lyrics-card { overflow:hidden; }
.song-review-page .review-lyrics-scroll { padding:22px 10px 26px; scroll-padding-block:42%; }
.song-review-page .lyric-stanza { position:relative; margin:0 0 29px; padding:0 0 19px; border-bottom:1px solid rgba(81,78,66,.09); }
.song-review-page .lyric-stanza:last-child { margin-bottom:8px; padding-bottom:0; border-bottom:0; }
.song-review-page .lyric-section-label { display:inline-flex; align-items:center; min-height:23px; margin:0 0 12px; padding:4px 9px; border:1px solid rgba(164,125,92,.17); border-radius:999px; background:rgba(240,228,212,.42); color:#96795f; font:600 8px/1.2 "DM Sans",Manrope,sans-serif; letter-spacing:.15em; }
.song-review-page .lyric-stanza p.lyric-line { margin:3px 0; padding:5px 10px; color:#51564e; font:400 clamp(19px,1.7vw,23px)/1.55 Newsreader,Georgia,serif; letter-spacing:-.012em; text-wrap:pretty; overflow-wrap:anywhere; }
.song-review-page .lyric-stanza p.lyric-line.is-active { color:#704b34; background:linear-gradient(90deg,rgba(209,154,98,.19),rgba(209,154,98,.065) 76%,transparent); box-shadow:inset 2px 0 0 #b77d56; }
@media (max-width:700px) {
  .song-review-page .review-lyrics-card { padding:19px 17px 16px; }
  .song-review-page .lyrics-card-top { gap:10px; }
  .song-review-page .lyrics-card-actions { gap:7px; }
  .song-review-page .lyrics-status { max-width:130px; font-size:7px; letter-spacing:.1em; }
  .song-review-page .review-lyrics-scroll { max-height:min(64svh,620px); min-height:220px; padding:18px 2px 22px; }
  .song-review-page .lyric-stanza { margin-bottom:25px; padding-bottom:16px; }
  .song-review-page .lyric-section-label { margin-bottom:9px; }
  .song-review-page .lyric-stanza p.lyric-line { padding:5px 8px; font-size:20px; line-height:1.58; }
  .song-review-page .lyrics-card-bottom { align-items:flex-start; flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) {
  .song-review-page .lyric-stanza p.lyric-line { transition:none; }
}

/* Avera site navigation for the create flow. */
.create-site-header { position:relative; z-index:30; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:78px; border-bottom:1px solid var(--line); }
.create-site-header.account-create-mode { grid-template-columns:minmax(175px,auto) minmax(0,1fr) auto; gap:clamp(14px,2vw,30px); }
.create-brand,.create-footer-brand { display:inline-flex; justify-self:start; align-items:center; width:max-content; text-decoration:none; }
.create-brand .avera-lockup,.create-footer-brand .avera-lockup { gap:9px; }
.create-brand .avera-mark,.create-footer-brand .avera-mark { width:39px; height:39px; }
.create-brand .avera-wordmark,.create-footer-brand .avera-wordmark { color:#26342e; font:400 25px/1 Italiana,Newsreader,Georgia,serif; letter-spacing:.09em; }
.create-main-nav { display:flex; align-items:center; justify-content:center; gap:clamp(17px,2.5vw,34px); }
.create-main-nav a,.create-account-link { color:#5f645d; font:500 10px/1.2 "DM Sans",Manrope,sans-serif; letter-spacing:.025em; text-decoration:none; transition:color .18s ease; }
.create-main-nav a:hover,.create-account-link:hover { color:#26342e; }
.account-create-mode .create-main-nav { justify-content:space-between; gap:3px; }
.account-create-mode .create-main-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:45px; padding:8px clamp(7px,1vw,13px); border:1px solid transparent; border-radius:12px; color:#666b64; white-space:nowrap; }
.account-create-mode .create-main-nav a:hover { background:rgba(255,250,242,.78); border-color:rgba(45,51,45,.08); }
.account-create-mode .create-main-nav a.active { color:#fffaf2; background:linear-gradient(145deg,#192522,#2b3933); box-shadow:0 5px 14px rgba(27,37,33,.12); }
.account-create-mode .create-main-nav .mobile-menu-actions { display:none; }
.account-create-mode .create-main-nav.portal-links { width:100%; max-width:none; min-width:0; padding:0; border:0; border-radius:0; background:transparent; }
.create-nav-actions { display:flex; justify-self:end; align-items:center; gap:17px; }
.create-header-cta { display:inline-flex; align-items:center; gap:15px; min-height:41px; padding:0 14px; border:1px solid rgba(45,58,49,.13); border-radius:999px; background:linear-gradient(145deg,#34453d,#202c27); color:#f8f0e5; box-shadow:0 7px 18px rgba(35,47,40,.11),inset 0 1px rgba(255,255,255,.15); font:500 9px/1 "DM Sans",Manrope,sans-serif; text-decoration:none; transition:transform .18s ease,box-shadow .18s ease; }
.create-header-cta:hover { transform:translateY(-1px); box-shadow:0 10px 22px rgba(35,47,40,.16),inset 0 1px rgba(255,255,255,.15); }
.create-header-cta span { color:#dfbd92; font-size:15px; }
.create-menu-toggle { display:none; }
.create-site-footer { min-height:116px; margin:0 auto; padding:22px 0; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:22px; border-top:1px solid var(--line); color:#777970; }
.create-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 20px; }
.create-footer-links a { color:#777970; font:500 9px/1.4 "DM Sans",Manrope,sans-serif; text-decoration:none; }
.create-footer-links a:hover { color:#26342e; }
.create-footer-copyright { justify-self:end; color:#858278; font:400 8px/1.4 "DM Sans",Manrope,sans-serif; }
@media (max-width:920px) {
  .create-site-header { grid-template-columns:1fr auto; min-height:70px; }
  .create-site-header.account-create-mode { grid-template-columns:minmax(0,1fr) auto; }
  .create-main-nav { position:absolute; top:calc(100% + 8px); right:0; left:0; display:none; align-items:stretch; padding:9px; border:1px solid rgba(44,54,46,.12); border-radius:15px; background:rgba(255,250,242,.98); box-shadow:0 18px 45px rgba(48,43,36,.14); }
  .create-site-header.menu-open .create-main-nav { display:grid; gap:2px; }
  .create-main-nav a { padding:13px 12px; border-radius:9px; }
  .account-create-mode .create-main-nav a { justify-content:flex-start; min-height:46px; padding:13px 12px; }
  .create-main-nav a:hover { background:#f1e8dc; }
  .create-nav-actions { gap:12px; }
  .create-menu-toggle { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 11px; border:1px solid rgba(45,58,49,.15); border-radius:999px; background:rgba(255,250,242,.72); color:#35423b; font:500 9px "DM Sans",Manrope,sans-serif; }
  .create-menu-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; }
  .create-site-footer { grid-template-columns:1fr; justify-items:start; gap:15px; padding:25px 0 30px; }
  .create-footer-links { justify-content:flex-start; gap:10px 17px; }
  .create-footer-copyright { justify-self:start; }
}
@media (max-width:560px) {
  .create-site-header { width:calc(100% - 32px); min-height:65px; }
  .create-brand .avera-lockup,.create-footer-brand .avera-lockup { gap:7px; }
  .create-brand .avera-mark,.create-footer-brand .avera-mark { width:33px; height:33px; }
  .create-brand .avera-wordmark,.create-footer-brand .avera-wordmark { font-size:21px; letter-spacing:.075em; }
  .create-account-link,.create-header-cta { display:none; }
  .create-site-footer { width:calc(100% - 40px); }
  .create-footer-links { gap:10px 15px; }
}

/* Consistent typography and controls for every native select menu. */
body select {
  min-height:43px;
  padding:10px 39px 10px 13px;
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(44,54,46,.16);
  border-radius:11px;
  background-color:#fffaf2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23776b5c' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 13px center;
  background-size:14px 14px;
  color:#313a34;
  font:500 12px/1.35 "DM Sans",Manrope,system-ui,sans-serif;
  letter-spacing:.008em;
  box-shadow:inset 0 1px rgba(255,255,255,.82);
}
body select option {
  background:#fffaf2;
  color:#313a34;
  font:400 13px/1.5 "DM Sans",Manrope,system-ui,sans-serif;
}
body select:focus-visible { outline:2px solid rgba(183,125,94,.62); outline-offset:2px; border-color:#b77d5e; }
body select:disabled { cursor:not-allowed; opacity:.58; }
.field select { min-height:48px; padding-right:42px; }
.portal-order-switcher select { padding-right:38px; }
.english-date-picker select { padding-right:36px; }

/* Logo baseline and sizing in the homepage footer. */
.footer .brand { display:inline-flex; align-items:center; min-height:44px; line-height:1; }
.footer .brand .avera-lockup { display:inline-flex; align-items:center; gap:9px; line-height:1; }
.footer .brand .avera-mark { display:block; width:39px; height:39px; flex:none; }
.footer .brand .avera-wordmark { display:block; margin:0; font:400 25px/1 Italiana,Newsreader,Georgia,serif; letter-spacing:.09em; vertical-align:baseline; }
.public-footer .avera-lockup,.showcase-footer .avera-lockup,.portal-footer .avera-lockup,.create-site-footer .avera-lockup { display:inline-flex; align-items:center; gap:9px; line-height:1; }
.public-footer .avera-mark,.showcase-footer .avera-mark,.portal-footer .avera-mark,.create-site-footer .avera-mark { display:block; width:39px; height:39px; flex:none; }
.public-footer .avera-wordmark,.showcase-footer .avera-wordmark,.portal-footer .avera-wordmark,.create-site-footer .avera-wordmark { display:block; margin:0; color:#29362f; font:400 25px/1 Italiana,Newsreader,Georgia,serif; letter-spacing:.09em; vertical-align:baseline; }
.portal-footer-brand .avera-lockup { display:inline-flex; align-items:center; gap:8px; line-height:1; }
.portal-footer-brand .avera-mark { display:block; width:34px; height:34px; flex:none; }
.portal-footer-brand .avera-wordmark { display:block; color:#2d3932; font:400 21px/1 Italiana,Newsreader,Georgia,serif; letter-spacing:.08em; }
@media (max-width:900px) {
  .footer.wrap { height:auto; min-height:0; padding:31px 0; display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:16px; }
  .footer-links { display:flex; flex-wrap:wrap; gap:10px 17px; margin:0; }
  .footer > span { margin:0; }
  .content-site .public-footer { display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:15px; padding:30px 20px; }
  .content-site .public-footer div { display:flex; flex-wrap:wrap; gap:10px 17px; }
  .content-site .public-footer p { display:block; margin:0; }
  .showcase-page .showcase-footer { display:flex; align-items:flex-start; justify-content:flex-start; flex-direction:column; gap:15px; padding:30px 20px; }
  .showcase-page .showcase-footer div { display:flex; flex-wrap:wrap; gap:10px 17px; order:1; }
  .showcase-page .showcase-footer p { display:block; order:2; margin:0; }
  .portal-footer { width:calc(100% - 40px); margin-top:32px; align-items:flex-start; flex-direction:column; gap:14px; padding:22px 0 27px; }
  .portal-footer nav { gap:10px 17px; }
  .gift-fullscreen .gift-page-footer { align-items:flex-start; }
}

/* Keepsake reveal: warm gallery lighting around the record, lyrics on ivory. */
.gift-fullscreen-body {
  min-height:100svh;
  overflow:auto;
  color:#292e29;
  background:
    radial-gradient(ellipse at 50% 43%,rgba(255,252,245,.96) 0%,rgba(248,242,232,.88) 44%,transparent 75%),
    linear-gradient(135deg,#f7f2e9 0%,#efe8dc 55%,#e9e1d5 100%);
}
.gift-fullscreen-body::before {
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 10% 12%,rgba(210,161,128,.12),transparent 33%),
    radial-gradient(ellipse at 92% 18%,rgba(176,192,174,.17),transparent 36%),
    radial-gradient(ellipse at 51% 100%,rgba(221,190,155,.13),transparent 40%);
  content:"";
}
.gift-fullscreen-header {
  width:min(1510px,calc(100% - 88px));
  min-height:78px;
  border-bottom-color:rgba(82,69,53,.13);
}
.gift-fullscreen-header .avera-wordmark { color:#29362f; }
.gift-private-label { color:#756c60; }
.gift-private-label i { background:#a98767; box-shadow:0 0 10px rgba(169,135,103,.35); }
.gift-header-share,.gift-header-whatsapp {
  min-height:39px;
  border-color:rgba(87,72,56,.17);
  background:rgba(255,252,246,.64);
  color:#43483f;
  box-shadow:0 4px 13px rgba(82,67,49,.04),inset 0 1px rgba(255,255,255,.8);
}
.gift-header-share:hover,.gift-header-whatsapp:hover { background:#fffdf9; box-shadow:0 8px 20px rgba(82,67,49,.09); }
.gift-header-whatsapp { border-color:color-mix(in srgb,var(--gift-accent,#bd9870) 42%,rgba(87,72,56,.12)); background:color-mix(in srgb,var(--gift-accent,#bd9870) 11%,#fffdf9); }
.gift-header-whatsapp span { color:#9f7552; }
.gift-fullscreen-page {
  width:min(1510px,calc(100% - 88px));
  height:auto;
  min-height:calc(100svh - 78px);
  padding:22px 0 14px;
}
.gift-experience.gift-fullscreen { height:auto; min-height:calc(100svh - 115px); }
.gift-stage {
  position:relative;
  grid-template-columns:minmax(240px,.78fr) minmax(380px,1.1fr) minmax(340px,1fr);
  gap:clamp(24px,3vw,48px);
  min-height:min(760px,calc(100svh - 152px));
  padding:clamp(24px,3vw,44px);
  overflow:hidden;
  border:1px solid rgba(96,78,57,.13);
  border-radius:30px;
  background:
    radial-gradient(ellipse at 51% 48%,rgba(227,208,180,.3),transparent 36%),
    linear-gradient(135deg,rgba(255,253,249,.92),rgba(248,243,235,.87) 56%,rgba(250,246,239,.95));
  box-shadow:0 30px 90px rgba(91,72,50,.09),inset 0 1px rgba(255,255,255,.95);
}
.gift-stage::before {
  position:absolute;
  top:-220px;
  left:38%;
  width:620px;
  height:620px;
  border:1px solid rgba(181,145,108,.08);
  border-radius:50%;
  pointer-events:none;
  box-shadow:0 0 0 24px rgba(181,145,108,.025),0 0 0 48px rgba(181,145,108,.02);
  content:"";
}
.gift-story-column { position:relative; z-index:1; min-height:100%; padding:10px 5px 5px; }
.gift-stage-label { color:#8a7b68; font-size:8px; letter-spacing:.18em; }
.gift-stage-label i { background:#ad8967; box-shadow:0 0 9px rgba(173,137,103,.35); }
.gift-story-column h1 { margin:22px 0 0; color:#29352f; font-size:clamp(39px,4.05vw,59px); line-height:.98; }
.gift-letter-rule { color:#a8805e; }
.gift-letter-rule::before { background:linear-gradient(90deg,#b68b65,rgba(182,139,101,.28)); }
.gift-letter-rule::after { background:rgba(91,77,61,.12); }
.gift-message { color:#64635b; font-size:clamp(18px,1.55vw,21px); line-height:1.55; }
.gift-fullscreen .gift-message { max-height:28vh; scrollbar-color:rgba(173,137,103,.42) transparent; }
.gift-story-details { border-top-color:rgba(91,77,61,.14); }
.gift-story-details span { color:#a39482; }
.gift-story-details strong { color:#394039; font-size:16px; }
.gift-story-private { color:#958a7a; }
.gift-story-private i { background:#b18b67; }
.gift-record-column { position:relative; z-index:1; }
.gift-record-caption { color:#a09687; }
.gift-vinyl-scene { width:min(100%,49vh,510px); }
.gift-vinyl-scene::before {
  inset:1%;
  border-color:color-mix(in srgb,var(--gift-accent,#c89f77) 30%,rgba(255,255,255,.7));
  background:radial-gradient(circle,color-mix(in srgb,var(--gift-accent,#c89f77) 15%,transparent),transparent 67%);
  box-shadow:0 0 0 15px rgba(255,255,255,.36),0 18px 60px color-mix(in srgb,var(--gift-accent,#c89f77) 16%,transparent);
}
.gift-vinyl-scene.cover-heirloom { --cover-glow:rgba(204,165,126,.28); }
.gift-vinyl-scene.cover-midnight { --cover-glow:rgba(145,169,190,.31); }
.gift-vinyl-scene.cover-resonance { --cover-glow:rgba(171,185,153,.32); }
.gift-vinyl-scene.cover-first-light { --cover-glow:rgba(219,161,144,.32); }
.gift-vinyl-record {
  width:86%;
  border-color:rgba(255,255,255,.28);
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.18),transparent 21%),
    radial-gradient(circle at center,#282a27 0 18%,#101211 19% 100%);
  box-shadow:0 26px 60px rgba(45,39,32,.3),0 0 50px var(--cover-glow,rgba(204,165,126,.22)),inset 0 0 0 1px rgba(255,255,255,.09);
}
.gift-vinyl-record::before { border-color:rgba(255,255,255,.12); }
.gift-vinyl-record::after { background:repeating-radial-gradient(circle,transparent 0 5px,rgba(255,255,255,.075) 5.4px 5.8px,transparent 6.2px 10px); opacity:.55; }
.gift-vinyl-grooves { border-color:rgba(255,255,255,.11); box-shadow:0 0 0 16px rgba(255,255,255,.018),0 0 0 32px rgba(255,255,255,.023),0 0 0 48px rgba(255,255,255,.018),0 0 0 64px rgba(255,255,255,.023),0 0 0 80px rgba(255,255,255,.018); }
.gift-vinyl-label {
  border-color:color-mix(in srgb,var(--gift-accent,#c89f77) 72%,#f8eee1);
  background:radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--gift-accent,#c89f77) 65%,#fff1dc),color-mix(in srgb,var(--gift-accent,#c89f77) 55%,#625248) 78%);
  box-shadow:inset 0 0 0 5px rgba(255,249,238,.08),inset 0 0 22px rgba(67,50,35,.24),0 0 0 1px rgba(37,35,30,.32);
}
.gift-vinyl-label img { filter:brightness(1.7) sepia(.16); }
.gift-vinyl-label span,.gift-vinyl-label small { color:rgba(255,249,238,.78); }
.gift-vinyl-label strong { color:#fff9ed; text-shadow:0 1px 8px rgba(40,31,23,.22); }
.gift-vinyl-play {
  width:72px;
  height:72px;
  border-color:rgba(255,255,255,.96);
  background:linear-gradient(145deg,#fffdf8,color-mix(in srgb,var(--gift-accent,#c89f77) 55%,#fbf4e9));
  color:#303831;
  box-shadow:0 12px 34px rgba(48,39,29,.24),inset 0 1px #fff;
}
.gift-now-playing { color:#4a5049; }
.gift-now-playing span:last-child { color:#9b9082; }
.gift-record-waveform { opacity:.76; }
.gift-record-waveform i { background:linear-gradient(180deg,color-mix(in srgb,var(--gift-accent,#bd9870) 72%,#fff),color-mix(in srgb,var(--gift-accent,#bd9870) 48%,#b7aa96)); }
.gift-seek-row { color:#918779; }
.gift-seek-row input { accent-color:#a98260; }
.gift-filmstrip-section { border-top-color:rgba(91,77,61,.13); }
.gift-filmstrip-heading { color:#a09687; }
.gift-film-controls button { border-color:rgba(91,77,61,.18); background:rgba(255,253,248,.72); color:#51564e; }
.gift-film-controls button:hover { border-color:color-mix(in srgb,var(--gift-accent,#bd9870) 60%,rgba(91,77,61,.15)); background:#fffdf9; }
.gift-filmstrip { scrollbar-color:rgba(161,127,93,.45) transparent; }
.gift-film-frame,.gift-film-frame.cover-midnight,.gift-film-frame.cover-resonance,.gift-film-frame.cover-first-light {
  border-color:rgba(110,88,65,.16);
  background:linear-gradient(145deg,#fffdf8,#eee5d8);
  box-shadow:0 5px 16px rgba(78,61,43,.06),inset 0 1px #fff;
}
.film-perforations i { background:rgba(113,91,68,.22); }
.gift-film-copy span { color:#9a7655; }
.gift-film-copy p { color:#55564f; }
.gift-lyrics-panel {
  position:relative;
  z-index:1;
  height:min(72vh,690px);
  padding:clamp(22px,2.1vw,32px) clamp(19px,2vw,30px) 18px;
  border-color:rgba(94,77,58,.14);
  background:
    radial-gradient(ellipse at 88% 0%,color-mix(in srgb,var(--gift-accent,#bd9870) 10%,transparent),transparent 47%),
    linear-gradient(155deg,rgba(255,254,250,.96),rgba(249,245,237,.94));
  box-shadow:0 18px 50px rgba(75,59,41,.08),inset 0 1px #fff;
}
.gift-lyrics-panel-top { border-bottom-color:rgba(94,77,58,.13); }
.gift-lyrics-panel-top h2 { color:#343b34; }
.gift-copy-lyrics {
  border-color:rgba(119,93,66,.19);
  background:rgba(255,253,248,.76);
  color:#75634f;
}
.gift-copy-lyrics:hover:not(:disabled) { border-color:#b99573; background:#fffdf9; }
.gift-lyrics-panel .gift-lyrics { scrollbar-color:rgba(161,127,93,.45) transparent; }
.gift-lyrics-panel .gift-lyric-stanza { border-bottom-color:rgba(94,77,58,.1); }
.gift-lyrics-panel .gift-lyric-label { color:#a0805e; }
.gift-lyrics-panel .gift-lyric-words { color:#373d37; }
.gift-lyrics-panel .gift-lyric-line { color:#7e7b72; }
.gift-lyrics-panel .gift-lyric-line.is-active {
  color:#34382f;
  background:linear-gradient(90deg,color-mix(in srgb,var(--gift-accent,#bd9870) 19%,#fffaf2),rgba(255,250,242,.28) 88%,transparent);
  box-shadow:inset 2px 0 color-mix(in srgb,var(--gift-accent,#bd9870) 78%,#80624a);
}
.gift-fullscreen .gift-page-footer { color:#8c8377; }
.gift-fullscreen .gift-page-footer a { color:#796a59; }
.gift-fullscreen .gift-page-footer a:hover { color:#383f37; }
.gift-fullscreen-body .gift-loading { color:#867967; }
.gift-fullscreen-body .gift-locked { border-color:rgba(95,76,56,.16); background:radial-gradient(ellipse at 50% 0%,rgba(211,180,145,.2),transparent 56%),linear-gradient(145deg,#fffdf9,#f0e8dc); box-shadow:0 24px 75px rgba(75,59,41,.1); }
.gift-fullscreen-body .gift-locked h1 { color:#303a32; }
.gift-fullscreen-body .gift-locked p { color:#777167; }
@media (max-width:1180px) {
  .gift-fullscreen-header,.gift-fullscreen-page { width:calc(100% - 56px); }
  .gift-stage { grid-template-columns:minmax(215px,.78fr) minmax(300px,1fr); grid-template-rows:auto auto; gap:24px 34px; min-height:0; padding:28px; }
  .gift-story-column { grid-column:1; grid-row:1; }
  .gift-record-column { grid-column:2; grid-row:1; }
  .gift-lyrics-panel { grid-column:1/-1; grid-row:2; height:52vh; min-height:390px; margin:0 0 3px; }
}
@media (max-width:700px) {
  .gift-fullscreen-header { width:calc(100% - 34px); min-height:64px; }
  .gift-fullscreen-header .avera-mark { width:31px; height:31px; }
  .gift-fullscreen-header .avera-wordmark { font-size:19px; letter-spacing:.075em; }
  .gift-header-actions { gap:5px; }
  .gift-header-actions .gift-private-label { display:none; }
  .gift-header-share,.gift-header-whatsapp { min-height:34px; padding:0 8px; font-size:8px; }
  .gift-fullscreen-page { width:calc(100% - 24px); padding:12px 0 8px; }
  .gift-stage {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:21px;
    min-height:0;
    padding:20px 15px 16px;
    border-radius:23px;
    background:linear-gradient(155deg,rgba(255,253,249,.95),rgba(246,239,228,.95));
    box-shadow:0 18px 46px rgba(91,72,50,.08),inset 0 1px #fff;
  }
  .gift-stage::before { top:-190px; left:5%; width:430px; height:430px; }
  .gift-story-column { grid-column:1; grid-row:1; min-height:0; padding:3px 2px 0; }
  .gift-stage-label { font-size:7px; }
  .gift-story-column h1 { margin-top:13px; font-size:clamp(36px,10vw,48px); }
  .gift-letter-rule { margin:12px 0 9px; }
  .gift-fullscreen .gift-message { max-height:none; margin:0; overflow:visible; font-size:17px; line-height:1.5; }
  .gift-story-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin-top:15px; padding-top:13px; }
  .gift-story-details span { font-size:7px; }
  .gift-story-details strong { font-size:14px; }
  .gift-story-private { display:none; }
  .gift-record-column { grid-column:1; grid-row:2; padding:0; }
  .gift-record-caption { margin:0 5px 9px; font-size:6px; }
  .gift-vinyl-scene { width:min(78vw,350px); }
  .gift-vinyl-record { width:87%; }
  .gift-vinyl-play { width:60px; height:60px; }
  .gift-now-playing { margin:10px 7px 3px; font-size:12px; }
  .gift-record-waveform { height:20px; margin-inline:6px; }
  .gift-seek-row { margin-inline:6px; }
  .gift-filmstrip-section { margin-top:10px; }
  .gift-lyrics-panel {
    grid-column:1;
    grid-row:3;
    height:min(62vh,590px);
    min-height:370px;
    margin:0;
    padding:19px 14px 12px;
    border-radius:17px;
    background:rgba(255,253,248,.91);
  }
  .gift-lyrics-panel-top { align-items:center; gap:8px; padding-bottom:13px; }
  .gift-lyrics-panel-top h2 { max-width:190px; margin-top:8px; font-size:23px; }
  .gift-copy-lyrics { min-height:36px; padding:0 8px; font-size:8px; }
  .gift-lyrics-panel .gift-lyrics { gap:15px; padding-top:12px; }
  .gift-lyrics-panel .gift-lyric-words { font-size:19px; line-height:1.48; }
  .gift-fullscreen .gift-page-footer { align-items:flex-start; gap:7px; padding:14px 4px 18px; }
}
@media (max-width:380px) {
  .gift-fullscreen-header { width:calc(100% - 24px); }
  .gift-fullscreen-header .avera-lockup { gap:6px; }
  .gift-fullscreen-header .avera-mark { width:27px; height:27px; }
  .gift-fullscreen-header .avera-wordmark { font-size:17px; letter-spacing:.055em; }
  .gift-header-share,.gift-header-whatsapp { padding-inline:6px; font-size:7px; }
  .gift-header-actions { gap:4px; }
}

/* Optical alignment for the homepage wordmark in desktop and mobile footers. */
.footer > .brand { display:flex; align-items:center; justify-self:start; width:max-content; min-height:46px; margin:0; padding:0; line-height:1; }
.footer > .brand .avera-lockup { display:flex; align-items:center; justify-content:flex-start; gap:9px; width:max-content; min-height:44px; margin:0; padding:0; line-height:1; }
.footer > .brand .avera-mark { display:block; width:40px; height:40px; margin:0; padding:0; flex:none; object-fit:contain; vertical-align:middle; }
.footer > .brand .avera-wordmark { display:block; width:max-content; margin:0; padding:1px 0 0; color:#29362f; font:400 25px/1 Italiana,Newsreader,Georgia,serif; letter-spacing:.09em; text-align:left; white-space:nowrap; vertical-align:middle; }
@media (max-width:540px) {
  .footer > .brand { min-height:41px; }
  .footer > .brand .avera-lockup { min-height:40px; gap:8px; }
  .footer > .brand .avera-mark { width:34px; height:34px; }
  .footer > .brand .avera-wordmark { font-size:21px; letter-spacing:.075em; }
}

/* Full Preview: a bespoke record jacket and a printed lyric folio. */
.gift-fullscreen-body {
  --gift-paper:#f6f0e5;
  --gift-ink:#303a32;
  min-height:100svh;
  color:var(--gift-ink);
  background:
    radial-gradient(ellipse at 47% 38%,rgba(255,255,255,.92),transparent 37%),
    radial-gradient(ellipse at 88% 78%,rgba(209,181,145,.16),transparent 34%),
    linear-gradient(116deg,#f4eee3 0%,#fbf8f1 47%,#eee7db 100%);
}
.gift-fullscreen-body::before {
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.14' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
  opacity:.14;
  content:"";
}
.gift-fullscreen-header {
  width:min(1640px,calc(100% - 112px));
  min-height:82px;
  border-bottom:1px solid rgba(72,65,52,.15);
}
.gift-fullscreen-header .logo { display:flex; align-items:center; min-height:48px; }
.gift-fullscreen-header .avera-mark { width:34px; height:34px; }
.gift-fullscreen-header .avera-wordmark { color:#303a32; font-size:22px; letter-spacing:.085em; }
.gift-private-label { color:#827967; font-size:9px; letter-spacing:.07em; }
.gift-private-label i { background:#ad8a63; box-shadow:0 0 9px rgba(173,138,99,.32); }
.gift-header-share,.gift-header-whatsapp {
  min-height:39px;
  border-color:rgba(72,65,52,.2);
  background:rgba(255,253,247,.56);
  color:#42493f;
  box-shadow:0 4px 14px rgba(66,53,34,.035),inset 0 1px rgba(255,255,255,.92);
}
.gift-header-share:hover,.gift-header-whatsapp:hover { background:#fffdf8; box-shadow:0 8px 20px rgba(66,53,34,.09); }
.gift-header-whatsapp { border-color:color-mix(in srgb,var(--gift-accent,#c49b70) 45%,rgba(72,65,52,.15)); background:color-mix(in srgb,var(--gift-accent,#c49b70) 12%,#fffdf8); }
.gift-header-whatsapp span { color:#967351; }
.gift-fullscreen-page {
  width:min(1640px,calc(100% - 112px));
  height:auto;
  min-height:calc(100svh - 82px);
  padding:28px 0 16px;
}
.gift-experience.gift-fullscreen { height:auto; min-height:calc(100svh - 126px); }
.gift-stage {
  grid-template-columns:minmax(220px,.76fr) minmax(400px,1.3fr) minmax(330px,.96fr);
  align-items:center;
  gap:clamp(28px,3.6vw,58px);
  min-height:min(770px,calc(100svh - 142px));
  padding:16px 0 22px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.gift-stage::before { display:none; }
.gift-story-column {
  min-height:0;
  padding:27px 24px 24px;
  border:1px solid rgba(125,99,68,.23);
  border-radius:2px 26px 2px 2px;
  background:
    radial-gradient(ellipse at 12% 0%,rgba(255,255,255,.92),transparent 58%),
    linear-gradient(152deg,rgba(255,253,248,.88),rgba(241,233,219,.77));
  box-shadow:0 19px 42px rgba(81,62,39,.075),inset 0 1px rgba(255,255,255,.92);
}
.gift-story-column::after {
  position:absolute;
  top:9px;
  right:9px;
  bottom:9px;
  left:9px;
  border:1px solid rgba(177,146,108,.18);
  border-radius:1px 19px 1px 1px;
  pointer-events:none;
  content:"";
}
.gift-story-column > * { position:relative; z-index:1; }
.gift-story-column .gift-stage-label { color:#8b7357; font-size:9px; letter-spacing:.18em; }
.gift-story-column .gift-stage-label i { background:#b28b61; box-shadow:none; }
.gift-story-for { margin-top:34px; color:#a18c70; font:500 9px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.2em; }
.gift-story-column h1 { margin:10px 0 0; color:#313d34; font:400 clamp(39px,3.55vw,55px)/.98 Newsreader,Georgia,serif; letter-spacing:-.055em; overflow-wrap:anywhere; }
.gift-letter-rule { margin:21px 0 16px; }
.gift-letter-rule::before { width:43px; background:#b39570; }
.gift-letter-rule::after { background:rgba(104,84,58,.17); }
.gift-letter-rule span { font-size:13px; }
.gift-fullscreen .gift-message { max-height:26vh; color:#605e54; font:italic 400 clamp(17px,1.35vw,20px)/1.57 Newsreader,Georgia,serif; }
.gift-letter-signoff { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:21px; padding-bottom:18px; border-bottom:1px solid rgba(100,81,56,.16); color:#9a876d; font:500 7px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.16em; }
.gift-letter-signoff span:last-child { color:#b88c61; font-size:14px; }
.gift-story-details { gap:13px; margin-top:17px; padding-top:0; border:0; }
.gift-story-details > div { gap:4px; }
.gift-story-details span { color:#a09079; font-size:8px; letter-spacing:.15em; }
.gift-story-details strong { color:#394239; font-size:15px; }
.gift-story-private { display:none; }
.gift-record-column { padding:10px 0 4px; }
.gift-record-caption { margin:0 8px 12px; color:#8e826d; font-size:9px; letter-spacing:.16em; }
.gift-vinyl-scene {
  width:min(100%,55vh,570px);
  overflow:visible;
  background:none;
}
.gift-vinyl-scene::before {
  inset:5%;
  border:1px solid rgba(170,138,99,.27);
  box-shadow:0 0 0 14px rgba(255,255,255,.26),0 0 72px color-mix(in srgb,var(--gift-accent,#c49b70) 18%,transparent);
}
.gift-vinyl-scene::after { z-index:3; inset:4%; opacity:.68; }
.gift-vinyl-scene.cover-heirloom { --sleeve:#ede2ce; --sleeve-ink:#61513d; --sleeve-gold:#a9875e; --cover-glow:rgba(204,165,126,.24); }
.gift-vinyl-scene.cover-midnight { --sleeve:#dce3e3; --sleeve-ink:#465456; --sleeve-gold:#819294; --cover-glow:rgba(145,169,190,.27); }
.gift-vinyl-scene.cover-resonance { --sleeve:#e4e5d7; --sleeve-ink:#4d5748; --sleeve-gold:#89916f; --cover-glow:rgba(171,185,153,.28); }
.gift-vinyl-scene.cover-first-light { --sleeve:#f1e0d9; --sleeve-ink:#694f4b; --sleeve-gold:#b48a78; --cover-glow:rgba(219,161,144,.3); }
.gift-album-sleeve {
  position:absolute;
  top:9%;
  left:1%;
  z-index:1;
  display:flex;
  width:75%;
  height:82%;
  flex-direction:column;
  align-items:center;
  padding:8% 8% 7%;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:3px 5px 5px 3px;
  background:
    radial-gradient(ellipse at 50% 38%,rgba(255,255,255,.72),transparent 56%),
    linear-gradient(140deg,color-mix(in srgb,var(--sleeve,#ede2ce) 90%,#fff),var(--sleeve,#ede2ce) 62%,color-mix(in srgb,var(--sleeve,#ede2ce) 76%,#ad9679));
  box-shadow:0 29px 55px rgba(73,56,37,.2),inset 0 0 0 1px rgba(103,78,51,.08),inset 7px 0 9px rgba(84,62,38,.07);
  transform:rotate(-6deg);
}
.gift-sleeve-frame { position:absolute; inset:13px; border:1px solid color-mix(in srgb,var(--sleeve-gold,#a9875e) 53%,transparent); box-shadow:inset 0 0 0 4px rgba(255,255,255,.12); }
.gift-sleeve-frame::before,.gift-sleeve-frame::after { position:absolute; left:50%; width:17px; height:17px; border:1px solid color-mix(in srgb,var(--sleeve-gold,#a9875e) 62%,transparent); border-radius:50%; content:""; transform:translateX(-50%); }
.gift-sleeve-frame::before { top:-9px; background:var(--sleeve,#ede2ce); }
.gift-sleeve-frame::after { bottom:-9px; background:var(--sleeve,#ede2ce); }
.gift-sleeve-brand,.gift-sleeve-edition,.gift-sleeve-occasion { position:relative; z-index:1; color:var(--sleeve-ink,#61513d); font:500 7px/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.19em; text-align:center; text-transform:uppercase; }
.gift-sleeve-brand { display:flex; align-self:flex-start; align-items:center; gap:8px; width:43%; margin:1% 0 0 7%; font-size:9px; }
.gift-sleeve-brand i { color:var(--sleeve-gold,#a9875e); font-size:10px; font-style:normal; }
.gift-sleeve-ornament { position:absolute; top:19%; left:50%; width:42%; height:42%; overflow:visible; stroke:color-mix(in srgb,var(--sleeve-gold,#a9875e) 74%,transparent); stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; opacity:.82; transform:translateX(-50%); }
.gift-sleeve-edition { align-self:flex-start; width:43%; margin:auto 0 0 7%; color:var(--sleeve-gold,#a9875e); font-size:7px; letter-spacing:.16em; text-align:left; }
.gift-album-sleeve > strong { position:relative; z-index:1; align-self:flex-start; display:-webkit-box; width:43%; margin:7px 0 0 7%; overflow:hidden; color:var(--sleeve-ink,#61513d); font:400 clamp(17px,1.8vw,25px)/.98 Newsreader,Georgia,serif; letter-spacing:-.04em; text-align:left; text-wrap:balance; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.gift-album-sleeve > small { position:relative; z-index:1; align-self:flex-start; width:43%; margin:7px 0 0 7%; color:color-mix(in srgb,var(--sleeve-ink,#61513d) 75%,transparent); font:400 8px/1.3 Newsreader,Georgia,serif; letter-spacing:.035em; text-align:left; }
.gift-sleeve-occasion { align-self:flex-start; width:43%; margin:7px 0 0 7%; color:color-mix(in srgb,var(--sleeve-gold,#a9875e) 80%,var(--sleeve-ink,#61513d)); font-size:7px; letter-spacing:.1em; text-align:left; }
.gift-vinyl-record {
  position:absolute;
  top:10%;
  left:36%;
  z-index:2;
  width:73%;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 22%),
    radial-gradient(circle at 50% 50%,#4a4238 0 16%,#b4a27e 16.2% 16.5%,#191a18 16.7% 18%,#0e100f 18.4% 100%);
  box-shadow:0 32px 62px rgba(45,39,32,.35),0 0 45px var(--cover-glow,rgba(204,165,126,.22)),inset 0 0 0 1px rgba(255,255,255,.14);
}
.gift-vinyl-record::before { border-color:rgba(255,255,255,.15); }
.gift-vinyl-record::after { background:repeating-radial-gradient(circle,transparent 0 4.8px,rgba(255,255,255,.11) 5.1px 5.35px,transparent 5.7px 9.5px); opacity:.62; }
.gift-vinyl-grooves { border-color:rgba(255,255,255,.14); box-shadow:0 0 0 16px rgba(255,255,255,.025),0 0 0 32px rgba(255,255,255,.026),0 0 0 48px rgba(255,255,255,.021),0 0 0 64px rgba(255,255,255,.024),0 0 0 80px rgba(255,255,255,.018); }
.gift-vinyl-label {
  border:1px solid rgba(240,223,190,.72);
  background:radial-gradient(circle at 33% 25%,color-mix(in srgb,var(--gift-accent,#c49b70) 70%,#fff4dd),color-mix(in srgb,var(--gift-accent,#c49b70) 54%,#67523d) 77%);
  box-shadow:inset 0 0 0 4px rgba(255,249,238,.13),inset 0 0 22px rgba(67,50,35,.2),0 0 0 1px rgba(37,35,30,.26);
}
.gift-vinyl-label img,.gift-vinyl-label span,.gift-vinyl-label strong,.gift-vinyl-label small { display:none; }
.gift-vinyl-play {
  top:49.5%;
  left:72.5%;
  width:68px;
  height:68px;
  border:1px solid rgba(255,255,255,.98);
  background:linear-gradient(145deg,#fffefa,color-mix(in srgb,var(--gift-accent,#c49b70) 47%,#fff8ec));
  color:#3c4039;
  box-shadow:0 12px 29px rgba(39,32,22,.34),0 0 0 7px rgba(255,255,255,.13),inset 0 1px #fff;
  transform:translate(-50%,-50%);
}
.gift-vinyl-play:hover { transform:translate(-50%,-50%) scale(1.06); box-shadow:0 15px 34px rgba(39,32,22,.36),0 0 0 8px rgba(255,255,255,.17),inset 0 1px #fff; }
.gift-vinyl-play svg { width:22px; height:22px; }
.gift-now-playing { margin:10px 11px 3px; color:#41473f; font-size:13px; }
.gift-now-playing span:last-child { color:#988c79; }
.gift-record-waveform { opacity:.86; }
.gift-record-waveform i { background:linear-gradient(180deg,color-mix(in srgb,var(--gift-accent,#c49b70) 74%,#fff),color-mix(in srgb,var(--gift-accent,#c49b70) 38%,#9a8465)); }
.gift-seek-row { color:#928774; }
.gift-seek-row input { accent-color:#9c7b54; }
.gift-filmstrip-section { margin-top:17px; border-top-color:rgba(91,77,61,.16); }
.gift-filmstrip-heading { color:#8e826d; font-size:8px; }
.gift-film-controls button { width:27px; height:27px; border-color:rgba(91,77,61,.2); background:rgba(255,253,248,.67); color:#596055; }
.gift-filmstrip { grid-auto-columns:minmax(145px,38%); }
.gift-film-frame,.gift-film-frame.cover-midnight,.gift-film-frame.cover-resonance,.gift-film-frame.cover-first-light {
  min-height:82px;
  border-color:rgba(130,104,71,.22);
  border-radius:3px 10px 3px 3px;
  background:linear-gradient(145deg,#fffcf5,#eee5d7);
  box-shadow:0 5px 13px rgba(78,61,43,.055),inset 0 1px #fff;
}
.film-perforations { padding:0 7px; }
.film-perforations i { background:rgba(118,94,65,.26); }
.gift-film-copy span { color:#a17d55; font-size:8px; }
.gift-film-copy p { color:#4d524b; font-size:11px; }
.gift-lyrics-panel {
  height:min(73vh,700px);
  padding:28px 27px 20px;
  border:1px solid rgba(125,99,68,.23);
  border-radius:2px 26px 2px 2px;
  background:
    radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--gift-accent,#c49b70) 13%,transparent),transparent 45%),
    linear-gradient(150deg,rgba(255,254,249,.96),rgba(247,241,230,.95));
  box-shadow:0 20px 48px rgba(81,62,39,.075),inset 0 1px rgba(255,255,255,.95);
}
.gift-lyrics-panel::before { position:absolute; inset:9px; border:1px solid rgba(177,146,108,.18); border-radius:1px 19px 1px 1px; pointer-events:none; content:""; }
.gift-lyrics-panel-top { position:relative; z-index:1; padding-bottom:17px; border-bottom-color:rgba(94,77,58,.17); }
.gift-lyrics-panel-top .gift-stage-label { color:#8b7357; }
.gift-lyrics-panel-top .gift-stage-label i { background:#b28b61; box-shadow:none; }
.gift-lyrics-panel-top h2 { max-width:245px; color:#333e35; font-size:clamp(27px,2.3vw,34px); line-height:1; }
.gift-copy-lyrics { border-color:rgba(119,93,66,.2); background:rgba(255,253,248,.72); color:#75634f; }
.gift-copy-lyrics:hover:not(:disabled) { border-color:#aa8965; background:#fffdf9; }
.gift-lyrics-panel .gift-lyrics { position:relative; z-index:1; padding:20px 7px 18px 0; scrollbar-color:rgba(161,127,93,.4) transparent; }
.gift-lyrics-panel .gift-lyric-stanza { padding:0 0 19px; border-bottom-color:rgba(94,77,58,.13); }
.gift-lyrics-panel .gift-lyric-label { color:#a0805e; font-size:9px; letter-spacing:.18em; }
.gift-lyrics-panel .gift-lyric-words { gap:3px; margin-top:12px; color:#41463e; font-size:clamp(19px,1.65vw,23px); line-height:1.48; }
.gift-lyrics-panel .gift-lyric-line { padding:4px 10px; color:#77766c; transition:color .3s ease,background .3s ease,box-shadow .3s ease; }
.gift-lyrics-panel .gift-lyric-line.is-active { color:#343b33; background:linear-gradient(90deg,color-mix(in srgb,var(--gift-accent,#c49b70) 16%,#fffaf1),rgba(255,250,241,.18) 88%,transparent); box-shadow:inset 2px 0 color-mix(in srgb,var(--gift-accent,#c49b70) 82%,#796044); transform:none; }
.gift-fullscreen .gift-page-footer { width:100%; padding:16px 0 8px; color:#918778; font-size:9px; }
.gift-fullscreen .gift-page-footer a { color:#756b5c; }
.gift-fullscreen .gift-page-footer a:hover { color:#384139; }
.gift-fullscreen-body .gift-loading { color:#867967; }
.gift-fullscreen-body .gift-locked { border-color:rgba(95,76,56,.16); background:linear-gradient(145deg,#fffdf9,#f0e8dc); box-shadow:0 24px 75px rgba(75,59,41,.1); }
.gift-fullscreen-body .gift-locked h1 { color:#303a32; }
.gift-fullscreen-body .gift-locked p { color:#777167; }
.gift-fullscreen.is-playing .gift-vinyl-record { animation:giftRecordSpin 23s linear infinite; }
@keyframes giftRecordSpin { to { transform:rotate(360deg); } }
@media (max-width:1240px) {
  .gift-fullscreen-header,.gift-fullscreen-page { width:calc(100% - 64px); }
  .gift-stage { grid-template-columns:minmax(220px,.86fr) minmax(370px,1.2fr); grid-template-rows:auto auto; gap:24px 42px; min-height:0; padding:20px 0; }
  .gift-story-column { grid-column:1; grid-row:1; }
  .gift-record-column { grid-column:2; grid-row:1; }
  .gift-lyrics-panel { grid-column:1/-1; grid-row:2; height:56vh; min-height:420px; margin:0 0 16px; }
  .gift-vinyl-scene { width:min(100%,50vw,510px); }
}
@media (max-width:700px) {
  .gift-fullscreen-header { width:calc(100% - 32px); min-height:67px; }
  .gift-fullscreen-header .avera-mark { width:30px; height:30px; }
  .gift-fullscreen-header .avera-wordmark { font-size:18px; letter-spacing:.07em; }
  .gift-header-actions { gap:6px; }
  .gift-header-actions .gift-private-label { display:none; }
  .gift-header-share,.gift-header-whatsapp { min-height:35px; padding:0 10px; font-size:8px; }
  .gift-fullscreen-page { width:calc(100% - 28px); padding:13px 0 8px; }
  .gift-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto auto; gap:20px; padding:0 0 14px; }
  .gift-story-column { grid-column:1; grid-row:1; padding:23px 22px 20px; border-radius:2px 21px 2px 2px; }
  .gift-story-column::after { inset:8px; border-radius:1px 14px 1px 1px; }
  .gift-story-for { margin-top:23px; font-size:8px; }
  .gift-story-column h1 { margin-top:8px; font-size:clamp(36px,10vw,49px); }
  .gift-letter-rule { margin:15px 0 12px; }
  .gift-fullscreen .gift-message { max-height:none; margin:0; font-size:18px; line-height:1.48; }
  .gift-letter-signoff { margin-top:15px; padding-bottom:13px; }
  .gift-story-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; margin-top:13px; }
  .gift-story-details strong { font-size:14px; }
  .gift-record-column { grid-column:1; grid-row:2; padding:0; }
  .gift-record-caption { margin:2px 4px 10px; font-size:7px; }
  .gift-vinyl-scene { width:min(100%,410px); }
  .gift-album-sleeve { top:9%; left:2%; width:74%; height:82%; padding:8% 8% 7%; }
  .gift-sleeve-brand { font-size:8px; }
  .gift-album-sleeve > strong { width:46%; margin-left:6%; font-size:clamp(17px,5vw,23px); }
  .gift-album-sleeve > small,.gift-sleeve-edition,.gift-sleeve-occasion { width:46%; margin-left:6%; }
  .gift-vinyl-record { top:10%; left:31%; width:69%; }
  .gift-vinyl-play { top:49.5%; left:65.5%; width:58px; height:58px; }
  .gift-now-playing { margin:10px 7px 3px; font-size:12px; }
  .gift-record-waveform { height:20px; margin-inline:6px; }
  .gift-seek-row { margin-inline:6px; }
  .gift-filmstrip-section { margin-top:12px; }
  .gift-filmstrip { grid-auto-columns:minmax(142px,55%); }
  .gift-lyrics-panel { grid-column:1; grid-row:3; height:min(66svh,610px); min-height:400px; margin:0; padding:22px 19px 15px; border-radius:2px 21px 2px 2px; }
  .gift-lyrics-panel::before { inset:8px; border-radius:1px 14px 1px 1px; }
  .gift-lyrics-panel-top { align-items:center; gap:9px; padding-bottom:14px; }
  .gift-lyrics-panel-top h2 { max-width:205px; margin-top:8px; font-size:26px; }
  .gift-copy-lyrics { min-height:36px; padding:0 9px; font-size:8px; }
  .gift-lyrics-panel .gift-lyrics { gap:16px; padding-top:16px; }
  .gift-lyrics-panel .gift-lyric-words { font-size:20px; line-height:1.48; }
  .gift-fullscreen .gift-page-footer { flex-direction:column; align-items:flex-start; gap:7px; padding:15px 2px 20px; }
}
@media (max-width:380px) {
  .gift-fullscreen-header { width:calc(100% - 24px); }
  .gift-fullscreen-header .avera-lockup { gap:6px; }
  .gift-fullscreen-header .avera-mark { width:27px; height:27px; }
  .gift-fullscreen-header .avera-wordmark { font-size:16px; letter-spacing:.05em; }
  .gift-header-share,.gift-header-whatsapp { min-height:33px; padding-inline:7px; font-size:7px; }
  .gift-header-actions { gap:4px; }
  .gift-story-column { padding-inline:18px; }
  .gift-lyrics-panel { padding-inline:15px; }
}
@media (prefers-reduced-motion:reduce) {
  .gift-fullscreen.is-playing .gift-vinyl-record { animation:none; }
  .gift-vinyl-play,.gift-lyrics-panel .gift-lyric-line,.gift-header-share,.gift-header-whatsapp { transition:none; }
}

/* The original Avera gift page, rebuilt as a vinyl-first listening experience. */
.gift-fullscreen-body {
  --gift-accent:#c99b6c;
  min-height:100svh;
  overflow-x:hidden;
  color:#f4eee4;
  background:
    radial-gradient(ellipse at 50% 24%,rgba(65,75,69,.3),transparent 37%),
    radial-gradient(ellipse at 50% 95%,rgba(47,55,51,.26),transparent 47%),
    #0e1415;
}
.gift-fullscreen-body::before { position:fixed; inset:0; z-index:-1; opacity:.08; pointer-events:none; background-image:radial-gradient(rgba(255,255,255,.3) .45px,transparent .45px); background-size:5px 5px; content:""; }
.gift-fullscreen-header { width:min(1480px,calc(100% - 88px)); min-height:78px; border-bottom-color:rgba(240,232,218,.1); }
.gift-fullscreen-header .avera-lockup { gap:9px; }
.gift-fullscreen-header .avera-mark { width:34px; height:34px; }
.gift-fullscreen-header .avera-wordmark { color:#f0e8db; font-size:21px; letter-spacing:.095em; }
.gift-private-label { color:rgba(236,226,210,.5); }
.gift-header-share,.gift-header-whatsapp { border-color:rgba(240,232,218,.15); background:rgba(255,255,255,.035); color:#efe6d8; box-shadow:inset 0 1px rgba(255,255,255,.035); }
.gift-header-share:hover,.gift-header-whatsapp:hover { border-color:color-mix(in srgb,var(--gift-accent) 60%,rgba(240,232,218,.2)); background:rgba(255,255,255,.075); }
.gift-header-whatsapp { border-color:color-mix(in srgb,var(--gift-accent) 45%,rgba(240,232,218,.12)); background:color-mix(in srgb,var(--gift-accent) 10%,rgba(255,255,255,.025)); }
.gift-fullscreen-page { width:min(1060px,calc(100% - 64px)); height:auto; min-height:0; margin:0 auto; padding:16px 0 12px; }
.gift-experience.gift-fullscreen { display:flex; flex-direction:column; align-items:center; height:auto; min-height:0; }
.gift-stage.gift-vinyl-first { display:flex; flex-direction:column; align-items:center; gap:0; width:100%; min-height:0; padding:14px 0 0; }
.gift-vinyl-first .gift-record-caption { width:min(690px,100%); margin:0 0 13px; padding:0 10px; color:rgba(232,220,201,.42); font-size:8px; letter-spacing:.2em; }
.gift-vinyl-first .gift-vinyl-scene { width:min(690px,74vw); margin:0 auto; overflow:visible; }
.gift-vinyl-first .gift-vinyl-scene::before { inset:1.5%; border-color:color-mix(in srgb,var(--gift-accent) 27%,transparent); box-shadow:0 0 95px color-mix(in srgb,var(--gift-accent) 9%,transparent); }
.gift-vinyl-first .gift-vinyl-scene::after { inset:3%; }
.gift-vinyl-first .gift-vinyl-record { position:relative; top:auto; left:auto; z-index:1; width:100%; overflow:hidden; border-color:rgba(255,255,255,.09); background:radial-gradient(circle at 27% 21%,rgba(255,255,255,.075),transparent 23%),radial-gradient(circle at center,#202323 0 17%,#080a0a 18% 100%); box-shadow:0 28px 85px rgba(0,0,0,.52),0 0 55px var(--cover-glow,rgba(201,155,108,.09)),inset 0 0 0 1px rgba(255,255,255,.025); }
.gift-vinyl-first .gift-vinyl-record::before { inset:3.5%; border-color:rgba(255,255,255,.075); box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 0 0 1px rgba(0,0,0,.8); }
.gift-vinyl-first .gift-vinyl-record::after { inset:6%; background:repeating-radial-gradient(circle,transparent 0 5px,rgba(255,255,255,.05) 5.3px 5.7px,transparent 6px 10px); opacity:.64; }
.gift-vinyl-first .gift-vinyl-grooves { inset:9%; border-color:rgba(255,255,255,.075); box-shadow:0 0 0 17px rgba(255,255,255,.012),0 0 0 34px rgba(255,255,255,.018),0 0 0 51px rgba(255,255,255,.012),0 0 0 68px rgba(255,255,255,.017),0 0 0 85px rgba(255,255,255,.012),0 0 0 102px rgba(255,255,255,.015); }
.gift-vinyl-first .gift-vinyl-label { inset:25%; gap:clamp(5px,1vw,10px); padding:12px; overflow:hidden; border-color:color-mix(in srgb,var(--gift-accent) 58%,rgba(247,238,224,.2)); background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--gift-accent) 19%,#30251e),#1c1c1a 74%); box-shadow:0 12px 35px rgba(0,0,0,.32),inset 0 0 0 4px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.13); }
.gift-vinyl-first .gift-vinyl-label > img { display:block; width:clamp(23px,3vw,34px); height:clamp(23px,3vw,34px); opacity:.84; filter:brightness(1.25); }
.gift-vinyl-first .gift-label-overline { display:block; color:rgba(250,238,220,.62); font:500 clamp(6px,.67vw,9px)/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.21em; text-align:center; }
.gift-vinyl-first .gift-vinyl-label > strong { display:-webkit-box; max-width:100%; max-height:2.06em; overflow:hidden; color:#fff8ed; font:400 clamp(25px,4.4vw,58px)/.93 Newsreader,Georgia,serif; letter-spacing:-.045em; text-align:center; text-wrap:balance; overflow-wrap:anywhere; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.gift-vinyl-first .gift-vinyl-label > p { display:-webkit-box; max-width:83%; max-height:3.5em; margin:0; overflow:hidden; color:rgba(247,237,221,.62); font:400 clamp(8px,.82vw,11px)/1.35 "DM Sans",Arial,sans-serif; text-align:center; text-wrap:balance; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.gift-vinyl-first .gift-vinyl-play { position:relative; top:auto; left:auto; z-index:3; display:grid; flex:none; width:clamp(43px,5.2vw,62px); height:clamp(43px,5.2vw,62px); margin:1px 0; transform:none; border:1px solid rgba(255,255,255,.58); background:#f5ecde; color:#171a18; box-shadow:0 5px 20px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.95); }
.gift-vinyl-first .gift-vinyl-play:hover { transform:scale(1.04); background:#fff8eb; }
.gift-vinyl-first .gift-vinyl-play svg { width:20px; height:20px; }
.gift-vinyl-first .gift-vinyl-label > small { display:block; max-width:90%; overflow:hidden; color:rgba(247,237,221,.45); font:500 clamp(5px,.57vw,7px)/1.2 "DM Sans",Arial,sans-serif; letter-spacing:.13em; text-align:center; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.gift-vinyl-first .gift-record-orbit { border-color:color-mix(in srgb,var(--gift-accent) 16%,transparent); }
.gift-vinyl-first .gift-player-block { width:min(500px,100%); margin:18px auto 0; }
.gift-vinyl-first .gift-track-meta { display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; }
.gift-vinyl-first .gift-track-meta > strong { color:#f3ecdf; font:400 clamp(23px,2.6vw,32px)/1.1 Newsreader,Georgia,serif; letter-spacing:-.02em; }
.gift-vinyl-first .gift-track-meta > span { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; color:rgba(236,226,210,.48); font:400 10px/1.5 "DM Sans",Arial,sans-serif; }
.gift-vinyl-first .gift-track-meta i { font-style:normal; }
.gift-vinyl-first .gift-track-meta b { color:var(--gift-accent); font-weight:400; }
.gift-vinyl-first .gift-record-waveform { height:27px; margin:12px 0 3px; opacity:.72; }
.gift-vinyl-first .gift-record-waveform i { background:linear-gradient(180deg,color-mix(in srgb,var(--gift-accent) 66%,#f2dfc1),rgba(255,255,255,.22)); }
.gift-vinyl-first .gift-seek-row { grid-template-columns:36px minmax(80px,1fr) 36px; margin:0; color:rgba(236,226,210,.42); }
.gift-vinyl-first .gift-seek-row input { accent-color:var(--gift-accent); }
.gift-vinyl-first .gift-lyrics-panel { display:flex; flex-direction:column; width:min(850px,100%); height:clamp(550px,68vh,720px); max-height:none; margin:68px auto 38px; padding:26px 30px 19px; overflow:hidden; border:1px solid rgba(51,58,51,.1); border-radius:24px; background:radial-gradient(380px circle at 90% 0%,rgba(210,185,151,.16),transparent 65%),linear-gradient(145deg,#fffaf2,#f8f1e7); box-shadow:0 18px 48px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.9); }
.gift-vinyl-first .gift-lyrics-panel::before { display:none; }
.gift-vinyl-first .gift-lyrics-panel-top { flex:none; align-items:center; margin:0; padding:0 0 17px; border-color:rgba(52,59,51,.1); }
.gift-vinyl-first .gift-lyrics-panel-top .gift-stage-label { color:#788376; }
.gift-vinyl-first .gift-lyrics-panel-top .gift-stage-label i { background:#a97d58; box-shadow:none; }
.gift-vinyl-first .gift-lyrics-panel-top h2 { max-width:none; margin:6px 0 0; color:#2c3630; font-size:32px; letter-spacing:-.025em; }
.gift-vinyl-first .gift-copy-lyrics { min-height:40px; border-color:rgba(119,93,66,.2); background:rgba(255,253,248,.72); color:#75634f; }
.gift-vinyl-first .gift-copy-lyrics:hover:not(:disabled) { border-color:#aa8965; background:#fffdf9; }
.gift-vinyl-first .gift-lyrics-panel .gift-lyrics { display:grid; flex:1; align-content:start; gap:21px; min-height:0; max-height:none; padding:20px 3px 18px; overflow:auto; overscroll-behavior:contain; scroll-padding-block:42%; scrollbar-color:rgba(171,128,92,.45) transparent; }
.gift-vinyl-first .gift-lyrics-panel .gift-lyric-stanza { padding:0 0 21px; border-color:rgba(94,77,58,.1); }
.gift-vinyl-first .gift-lyrics-panel .gift-lyric-label { color:#9c7b5f; font-size:8px; letter-spacing:.17em; text-transform:uppercase; }
.gift-vinyl-first .gift-lyrics-panel .gift-lyric-words { gap:3px; margin-top:9px; color:#4b514a; font-size:clamp(19px,1.85vw,24px); line-height:1.52; }
.gift-vinyl-first .gift-lyrics-panel .gift-lyric-line { --lyric-progress:0%; padding:5px 10px; color:#5a5d55; background-image:none; background-position:left center; background-size:var(--lyric-progress) 100%; background-repeat:no-repeat; transition:color 360ms ease,background-size 160ms linear,box-shadow 360ms ease; }
.gift-vinyl-first .gift-lyrics-panel .gift-lyric-line.is-active { color:#724a32; background-image:linear-gradient(90deg,rgba(209,154,98,.24),rgba(209,154,98,.12) 72%,rgba(209,154,98,.035)); box-shadow:inset 2px 0 0 #b77d56; }
.gift-lyrics-card-bottom { display:flex; flex:none; justify-content:space-between; align-items:center; gap:12px; padding-top:14px; border-top:1px solid rgba(52,59,51,.1); color:#858278; }
.gift-lyrics-card-bottom span:first-child { display:inline-flex; align-items:center; gap:7px; color:#657365; font:400 13px Newsreader,Georgia,serif; }
.gift-lyrics-card-bottom svg { width:15px; height:15px; fill:none; stroke:#a97d58; stroke-width:1.2; stroke-linejoin:round; }
.gift-lyrics-card-bottom span:last-child { font-size:8px; letter-spacing:.12em; text-align:right; }
.gift-vinyl-first .gift-lyrics-empty { color:#777970; font:400 19px/1.5 Newsreader,Georgia,serif; }
.gift-experience.gift-fullscreen .gift-page-footer { width:min(1060px,100%); border-color:rgba(239,229,213,.1); color:rgba(236,226,210,.38); }
.gift-experience.gift-fullscreen .gift-page-footer a { color:rgba(236,226,210,.54); }
.gift-experience.gift-fullscreen .gift-page-footer a:hover { color:#f3ebdf; }
.gift-fullscreen-body .gift-locked { border-color:rgba(239,229,213,.12); background:linear-gradient(145deg,#1a2221,#111818); box-shadow:0 24px 75px rgba(0,0,0,.28); }
.gift-fullscreen-body .gift-locked h1 { color:#f4eee4; }
.gift-fullscreen-body .gift-locked p { color:rgba(245,239,230,.65); }
.gift-fullscreen-body .gift-loading { color:rgba(236,226,210,.62); }
.dashboard-page .record-actions .mini-button { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:0 15px; border-radius:999px; font-size:10px; line-height:1; text-decoration:none; white-space:nowrap; }
.dashboard-page .record-actions .mini-button.primary { background:#9f7050; color:#fffaf4; border-color:#9f7050; }
.dashboard-page .record-actions .mini-button.primary:hover { background:#875b3d; border-color:#875b3d; }
.dashboard-page .record-actions .mini-button:not(.primary) { background:rgba(255,253,248,.62); }
.dashboard-page .record-actions .mini-button:not(.primary):hover { border-color:#aa8965; background:#fffdf8; }
@media (max-width:700px) {
  .gift-fullscreen-header { width:calc(100% - 30px); min-height:65px; }
  .gift-fullscreen-header .avera-lockup { gap:6px; }
  .gift-fullscreen-header .avera-mark { width:28px; height:28px; }
  .gift-fullscreen-header .avera-wordmark { font-size:16px; letter-spacing:.065em; }
  .gift-header-actions { gap:5px; }
  .gift-header-actions .gift-private-label { display:none; }
  .gift-header-share,.gift-header-whatsapp { min-height:32px; padding:0 8px; font-size:8px; }
  .gift-fullscreen-page { width:calc(100% - 34px); padding-top:20px; }
  .gift-stage.gift-vinyl-first { padding-top:5px; }
  .gift-vinyl-first .gift-record-caption { margin-bottom:8px; font-size:7px; }
  .gift-vinyl-first .gift-vinyl-scene { width:min(88vw,440px); }
  .gift-vinyl-first .gift-vinyl-label { inset:22%; gap:3px; padding:8px; }
  .gift-vinyl-first .gift-vinyl-label > img { width:20px; height:20px; }
  .gift-vinyl-first .gift-label-overline { font-size:6px; }
  .gift-vinyl-first .gift-vinyl-label > strong { font-size:clamp(23px,7.4vw,33px); }
  .gift-vinyl-first .gift-vinyl-label > p { max-width:90%; font-size:8px; }
  .gift-vinyl-first .gift-vinyl-play { width:42px; height:42px; }
  .gift-vinyl-first .gift-vinyl-play svg { width:17px; height:17px; }
  .gift-vinyl-first .gift-vinyl-label > small { font-size:6px; }
  .gift-vinyl-first .gift-player-block { margin-top:15px; }
  .gift-vinyl-first .gift-track-meta > strong { font-size:25px; }
  .gift-vinyl-first .gift-track-meta > span { gap:5px; font-size:9px; }
  .gift-vinyl-first .gift-record-waveform { height:22px; margin-top:10px; }
  .gift-vinyl-first .gift-lyrics-panel { margin:48px auto 22px; }
  .gift-vinyl-first .gift-lyrics-panel-top { align-items:center; gap:8px; }
  .gift-vinyl-first .gift-lyrics-panel-top h2 { font-size:32px; }
  .gift-vinyl-first .gift-lyrics-panel .gift-lyrics { max-height:64vh; padding:19px 14px; border-radius:17px; }
  .gift-vinyl-first .gift-lyrics-panel .gift-lyric-words { font-size:21px; }
  .gift-experience.gift-fullscreen .gift-page-footer { flex-direction:column; align-items:flex-start; gap:7px; padding:15px 2px 20px; }
}
@media (max-width:390px) {
  .gift-fullscreen-header { width:calc(100% - 22px); }
  .gift-fullscreen-header .avera-mark { width:25px; height:25px; }
  .gift-fullscreen-header .avera-wordmark { font-size:14px; }
  .gift-header-share,.gift-header-whatsapp { min-height:30px; padding-inline:6px; font-size:7px; }
  .gift-fullscreen-page { width:calc(100% - 26px); }
  .gift-vinyl-first .gift-vinyl-scene { width:min(90vw,360px); }
  .gift-vinyl-first .gift-vinyl-label { inset:21%; gap:2px; padding:7px; }
  .gift-vinyl-first .gift-vinyl-label > strong { font-size:clamp(22px,7vw,28px); }
  .gift-vinyl-first .gift-vinyl-label > p { font-size:7px; }
  .gift-vinyl-first .gift-vinyl-play { width:38px; height:38px; }
}
@media (prefers-reduced-motion:reduce) {
  .gift-vinyl-first.is-playing .gift-vinyl-record { animation:none; }
}
.admin-proposed-lyrics { white-space: pre-wrap; max-width: 360px; font: inherit; line-height: 1.6; }
.review-revision { flex:none; margin-top:18px; padding-top:16px; border-top:1px solid rgba(52,59,51,.1); }
.review-revision-toggle { display:flex; width:100%; min-height:42px; align-items:center; justify-content:space-between; padding:0 2px; border:0; background:transparent; color:#665b4f; cursor:pointer; font:500 11px/1.4 "DM Sans",Manrope,sans-serif; }
.review-revision-toggle span { display:grid; width:27px; height:27px; place-items:center; border:1px solid rgba(169,125,88,.25); border-radius:50%; color:#9b7052; font-size:16px; }
.review-revision-toggle:disabled { color:#928b80; cursor:default; }
.review-revision-panel { display:grid; gap:10px; padding:13px 0 3px; }
.review-revision-panel > p { margin:0 0 3px; color:#777970; font:400 11px/1.6 "DM Sans",Manrope,sans-serif; }
.review-revision-panel label { margin-top:5px; color:#5f645d; font:500 10px/1.4 "DM Sans",Manrope,sans-serif; }
.review-revision-panel textarea { width:100%; min-height:86px; resize:vertical; padding:12px 13px; border:1px solid rgba(65,67,59,.15); border-radius:11px; background:#fffdf9; color:#303832; font:400 12px/1.6 "DM Sans",Manrope,sans-serif; outline:none; }
.review-revision-panel textarea:focus { border-color:#b58a67; box-shadow:0 0 0 3px rgba(181,138,103,.1); }
.review-revision-panel .button,.review-revision-approve { justify-self:start; min-height:42px; margin-top:4px; padding:0 16px; font-size:10px; }
.review-revision-status { margin:0 0 10px; padding:11px 13px; border:1px solid rgba(141,119,92,.15); border-radius:11px; background:rgba(246,241,232,.7); color:#6f665c; font:400 10px/1.6 "DM Sans",Manrope,sans-serif; white-space:pre-line; }
.review-revision-status[hidden],.review-revision-panel[hidden],.review-revision-approve[hidden] { display:none!important; }
@media (max-width:840px) {
  .account-create-mode .create-main-nav.portal-links { flex-direction:column; align-items:stretch; gap:3px; padding:8px; border:1px solid rgba(44,54,46,.12); border-radius:15px; background:rgba(255,250,242,.98); box-shadow:0 18px 45px rgba(48,43,36,.14); }
  .account-create-mode .create-main-nav a { justify-content:flex-start; width:100%; }
}
.create-actions #nextStep[hidden],.create-actions #generateStep[hidden] { display:none!important; }
.review-revision-toggle { min-height:50px; padding:0 15px 0 18px; border:1px solid rgba(173,133,91,.4); border-radius:13px; background:linear-gradient(135deg,#f8efe4,#fffaf2 62%,#f3e7d9); color:#3b493f; box-shadow:0 8px 20px rgba(95,69,45,.08),inset 0 1px rgba(255,255,255,.95); font:600 12px/1.2 "DM Sans",Manrope,sans-serif; letter-spacing:.01em; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.review-revision-toggle:hover:not(:disabled) { transform:translateY(-1px); border-color:rgba(157,112,74,.62); box-shadow:0 11px 25px rgba(95,69,45,.12),inset 0 1px rgba(255,255,255,.95); }
.review-revision-toggle span { width:30px; height:30px; border:1px solid rgba(157,112,74,.2); background:#fffaf2; color:#9b7052; }
.admin-coupon-form { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:13px; margin:18px 0 24px; padding:18px; border:1px solid rgba(62,68,60,.12); border-radius:15px; background:linear-gradient(145deg,#fffdf8,#f7f2e9); }
.admin-coupon-form label { display:grid; gap:6px; color:#6e7169; font-size:10px; }
.admin-coupon-form input,.admin-coupon-form select { min-width:0; min-height:39px; padding:8px 10px; border:1px solid rgba(65,67,59,.16); border-radius:9px; background:#fff; color:#303832; font:400 11px Manrope,sans-serif; }
.admin-coupon-form .admin-check { display:flex; align-items:center; gap:8px; }
.admin-coupon-form .admin-check input { min-height:0; }
.admin-coupon-actions { display:flex; align-items:center; gap:10px; grid-column:1/-1; }
.admin-coupon-actions .button { min-height:39px; font-size:10px; }
.payment-settings-module { display:grid; grid-template-columns:minmax(180px,1fr) minmax(240px,1.2fr); gap:12px 24px; align-items:center; margin-top:17px; padding:20px; border:1px solid rgba(62,68,60,.12); border-radius:15px; background:linear-gradient(145deg,#fffdf8,#f7f2e9); }
.payment-settings-module h3 { margin:5px 0; color:#303832; font:400 25px/1.1 Newsreader,Georgia,serif; }
.payment-settings-module .admin-help { margin:4px 0; color:#73766e; font:400 11px/1.6 Manrope,sans-serif; }
.payment-settings-module > p { grid-column:1/-1; }
.payment-settings-module code { color:#48554c; font-size:10px; }
@media(max-width:700px) { .admin-coupon-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .payment-settings-module { grid-template-columns:1fr; } }
