
/* hive-fonts:start */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Manrope:wght@400;500&display=swap');
/* hive-fonts:end */






html:has(#architectural-purple-hive),body:has(#architectural-purple-hive){background-color:#c8b3dd!important;color:#180b26;color-scheme:light}
#architectural-purple-hive{--ah-ground:#c8b3dd;--ah-white:#f4ecff;--ah-ink:#180b26;--ah-muted:#795b91;--ah-purple:#653391;background:var(--ah-ground);color:var(--ah-ink);color-scheme:light}
#architectural-purple-hive .ah-page{background:var(--ah-ground);color:var(--ah-ink);font:400 15px/1.5 Arial,sans-serif;overflow:hidden}
#architectural-purple-hive .ah-stage{height:560px;position:relative;background:var(--ah-ground)}
#architectural-purple-hive .ah-projecting.ah-has-content .ah-stage{height:640px}
#architectural-purple-hive canvas{width:100%;height:100%;display:block;touch-action:none}
#architectural-purple-hive canvas:not(.cursor-interaction){cursor:grab}
#architectural-purple-hive canvas:active{cursor:grabbing}
#architectural-purple-hive .ah-targets{position:absolute;inset:0;pointer-events:none}
#architectural-purple-hive .ah-targets button{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;pointer-events:none;outline-color:#a87fc4}
#architectural-purple-hive .ah-targets button:focus-visible{outline:2px solid var(--ah-purple);outline-offset:1px;box-shadow:0 0 0 1px var(--ah-ground)}
#architectural-purple-hive .ah-collapse{position:absolute;top:20px;left:20px;z-index:3;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ah-purple)}
#architectural-purple-hive .ah-collapse[hidden]{display:none}
#architectural-purple-hive .ah-collapse svg{width:22px!important;height:22px!important}
#architectural-purple-hive .ah-collapse:hover{background:rgba(101,51,145,.09)}
#architectural-purple-hive .ah-collapse:focus-visible{outline:2px solid var(--ah-purple);outline-offset:2px}
#architectural-purple-hive .ah-collapse[aria-disabled="true"]{opacity:.55}
#architectural-purple-hive .ah-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#architectural-purple-hive .ah-failure{position:absolute;inset:40% 25px auto;text-align:center;color:#795b91}
#architectural-purple-hive .ah-beam{position:absolute;inset:0;pointer-events:none;opacity:var(--ah-ray-strength,0)}
#architectural-purple-hive .ah-light-field{display:block;width:100%;height:100%;overflow:visible}
#architectural-purple-hive .ah-ray-band{fill:#ddc4f1;opacity:.065}
#architectural-purple-hive .ah-ray-rim{fill:none;stroke:#e4cdf8;stroke-width:.8;opacity:.38}
#architectural-purple-hive .ah-receiving-plane{fill:#e8d6f8;fill-opacity:.22;stroke:#dfbff5;stroke-width:1.2;stroke-opacity:.55}
#architectural-purple-hive .ah-body-radiance{fill:#cfaaec;fill-opacity:.035;stroke:#ddbff3;stroke-width:1.4;stroke-opacity:.38}
#architectural-purple-hive .ah-projection{position:absolute;top:75px;right:24px;width:43%;max-width:360px;min-height:340px;box-sizing:border-box;padding:22px;background:#e8d6f8;border:1px solid rgba(124,77,163,.46);border-radius:0;box-shadow:0 0 40px rgba(129,74,178,.15),0 14px 42px rgba(62,24,94,.10);opacity:0;clip-path:inset(0 calc(100% * (1 - var(--ah-ui-formed,0))) 0 0);transform:perspective(900px) rotateY(calc(-14deg * (1 - var(--ah-ui-formed,0))));transform-origin:left;pointer-events:none}
#architectural-purple-hive .ah-projection[hidden]{display:none}
#architectural-purple-hive .ah-projecting .ah-projection{opacity:var(--ah-ui-formed,0)}
#architectural-purple-hive[data-projection-ready="true"] .ah-projection{pointer-events:auto}
#architectural-purple-hive .ah-message{font:400 29px/1.3 Georgia,serif;color:#341648;margin:20px 0 28px}
#architectural-purple-hive .ah-song{font:400 17px/1.4 Georgia,serif;color:#47295b;margin:18px 0;padding:16px 18px;min-height:220px;box-sizing:border-box;background:#dbc3ef;border:1px solid rgba(101,51,145,.3)}
#architectural-purple-hive .ah-signature{font:400 17px/1.4 Georgia,serif;color:#47295b;margin:26px 0 0}
@media(prefers-reduced-motion:reduce){#architectural-purple-hive .ah-projection,#architectural-purple-hive .ah-beam{transition:none}}
@media(max-width:480px){#architectural-purple-hive .ah-stage{height:400px}#architectural-purple-hive .ah-projecting.ah-has-content .ah-stage{height:740px}#architectural-purple-hive .ah-projecting.ah-has-content canvas{height:350px}#architectural-purple-hive .ah-projection{top:350px;left:16px;right:16px;width:auto;max-width:none;padding:20px;clip-path:inset(0 0 calc(100% * (1 - var(--ah-ui-formed,0))) 0);transform:perspective(900px) rotateX(calc(10deg * (1 - var(--ah-ui-formed,0))));transform-origin:top}#architectural-purple-hive .ah-message{font-size:25px;margin:15px 0 20px}}
@media(max-width:480px){#architectural-purple-hive .ah-returning-projection .ah-stage{height:740px}#architectural-purple-hive .ah-returning-projection canvas{height:350px}}
/* gift-ui:start */
html[data-theme="light"],
body[data-theme="light"] {
  background: #c8b3dd !important;
  color: #180b26;
  color-scheme: light;
}

html:has(#architectural-purple-hive[data-theme="dark"]),
body:has(#architectural-purple-hive[data-theme="dark"]),
html[data-theme="dark"],
body[data-theme="dark"] {
  background: #180b26 !important;
  color: #e6cff8;
  color-scheme: dark;
}

#architectural-purple-hive[data-gift-ui="ready"] {
  --ah-ground: #c8b3dd;
  --ah-ink: #180b26;
  --ah-muted: #634377;
  --ah-purple: #653391;
  --hg-rail-space: 72px;
  --hg-text: #341648;
  --hg-muted: #4e2c64;
  --hg-rule: rgba(94, 44, 129, .25);
  --hg-open: rgba(115, 54, 157, .09);
  --hg-current: rgba(110, 41, 165, .18);
  --hg-switch-track: #b69acd;
  --hg-switch-thumb: #eedfff;
  --hg-switch-edge: #8c5baa;
  --hg-switch-active: #4d2566;
  --hg-switch-inactive: #5d3478;
  background: var(--ah-ground);
  color: var(--hg-text);
}

#architectural-purple-hive .hg-shell {
  position: relative;
  max-width: 1680px;
  margin: 0 auto;
  min-width: 0;
}

#architectural-purple-hive[data-gift-ui="ready"] .ah-page {
  width: auto;
  min-width: 0;
  margin-right: var(--hg-rail-space);
  margin-left: var(--hg-rail-space);
  background: var(--ah-ground);
}

#architectural-purple-hive .hg-header {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 104px;
  padding: 18px 24px 12px 32px;
  margin-right: var(--hg-rail-space);
  margin-left: var(--hg-rail-space);
}

#architectural-purple-hive .hg-title {
  margin: 0;
  font: 400 clamp(42px, 4.4vw, 70px)/1.04 'Cormorant Garamond', Georgia, serif;
  letter-spacing: -.045em;
  color: #9467b6;
  opacity: .66;
  pointer-events: none;
}

#architectural-purple-hive .hg-theme-toggle {
  position: relative;
  box-sizing: border-box;
  display: inline-grid;
  grid-template-columns: 36px 36px;
  align-items: center;
  justify-content: start;
  flex-shrink: 0;
  gap: 0;
  width: 80px;
  min-width: 80px;
  height: 44px;
  min-height: 44px;
  padding: 3px;
  border: 1px solid var(--hg-switch-edge);
  border-radius: 999px;
  background: var(--hg-switch-track);
  color: var(--hg-switch-inactive);
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 180ms ease, border-color 180ms ease;
}

#architectural-purple-hive .hg-theme-thumb {
  position: absolute;
  left: 3px;
  top: 3px;
  z-index: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--hg-switch-thumb);
  box-shadow: 0 1px 5px rgba(65, 22, 87, .25);
  pointer-events: none;
  transform: translateX(0);
  transition: transform 180ms ease, background-color 180ms ease;
}

#architectural-purple-hive .hg-theme-toggle[aria-pressed="true"] .hg-theme-thumb {
  transform: translateX(36px);
}

#architectural-purple-hive .hg-theme-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  pointer-events: none;
  transition: color 180ms ease;
}

#architectural-purple-hive .hg-theme-toggle[aria-pressed="false"] .hg-theme-sun,
#architectural-purple-hive .hg-theme-toggle[aria-pressed="true"] .hg-theme-moon {
  color: var(--hg-switch-active);
}

#architectural-purple-hive .hg-theme-toggle svg {
  width: 20px;
  height: 20px;
  stroke-width: 1.8;
}

#architectural-purple-hive .hg-theme-toggle:hover {
  border-color: var(--ah-purple);
}

#architectural-purple-hive .hg-theme-toggle:focus-visible {
  outline: 2px solid var(--ah-purple);
  outline-offset: 4px;
}

#architectural-purple-hive .hg-rails {
  position: absolute;
  top: 160px;
  left: 12px;
  right: 12px;
  z-index: 6;
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

#architectural-purple-hive .hg-rail {
  position: relative;
  box-sizing: border-box;
  width: 44px;
  color: var(--hg-text);
  pointer-events: auto;
}

#architectural-purple-hive .hg-rail-label {
  margin: 0 0 14px;
  text-align: center;
  font: italic 400 14px/1.3 'Cormorant Garamond', Georgia, serif;
  color: var(--hg-muted);
}

#architectural-purple-hive .hg-rail-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#architectural-purple-hive .hg-rail-row {
  position: relative;
  width: 44px;
  height: 44px;
}

#architectural-purple-hive .hg-rail-row:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 32px;
  width: 5px;
  height: 1px;
  background: var(--hg-muted);
  box-shadow: 0 11px 0 var(--hg-muted), 0 22px 0 var(--hg-muted);
  opacity: .25;
  pointer-events: none;
}

#architectural-purple-hive .hg-rail-songs .hg-rail-row::after {
  left: auto;
  right: 6px;
}

#architectural-purple-hive .hg-rail-button {
  position: relative;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ah-purple);
  cursor: pointer;
  touch-action: manipulation;
}

#architectural-purple-hive .hg-rail-tick {
  position: absolute;
  left: 6px;
  width: 14px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  opacity: .32;
  transition: width 220ms ease, opacity 220ms ease, box-shadow 220ms ease;
}

#architectural-purple-hive .hg-rail-songs .hg-rail-tick {
  left: auto;
  right: 6px;
}

#architectural-purple-hive .hg-rail-row.is-opened .hg-rail-tick {
  width: 23px;
  opacity: .72;
}

#architectural-purple-hive .hg-rail-row.is-current .hg-rail-tick,
#architectural-purple-hive .hg-rail-row.is-previewing .hg-rail-tick {
  width: 34px;
  opacity: 1;
  box-shadow: 0 0 10px rgba(137, 64, 190, .25);
}

#architectural-purple-hive .hg-rail-button:focus-visible {
  outline: 2px solid var(--ah-purple);
  outline-offset: 1px;
}

#architectural-purple-hive .hg-rail-preview {
  position: absolute;
  z-index: 7;
  left: 52px;
  top: 50%;
  box-sizing: border-box;
  width: clamp(190px, 22vw, 290px);
  padding: 17px 20px;
  border: 1px solid var(--hg-rule);
  border-radius: 3px;
  background: var(--hg-preview, #dcc6ee);
  color: var(--hg-text);
  box-shadow: 0 8px 26px rgba(64, 24, 88, .12);
  transform: translateY(-50%);
  pointer-events: none;
  animation: hg-rail-reveal 200ms ease both;
}

#architectural-purple-hive .hg-rail-songs .hg-rail-preview {
  left: auto;
  right: 52px;
  --hg-preview-enter-x: 8px;
}

@keyframes hg-rail-reveal {
  from { opacity: 0; transform: translate(var(--hg-preview-enter-x, -8px), -50%); }
  to { opacity: 1; transform: translate(0, -50%); }
}

#architectural-purple-hive .hg-rail-preview[hidden] {
  display: none;
}

#architectural-purple-hive .hg-poem-line,
#architectural-purple-hive .hg-song-title {
  display: block;
  margin: 0;
  font: 500 23px/1.2 'Cormorant Garamond', Georgia, serif;
  overflow-wrap: anywhere;
}

#architectural-purple-hive .hg-song-title {
  font-style: italic;
}

#architectural-purple-hive .hg-song-artist {
  display: block;
  margin-top: 8px;
  font: 400 11px/1.4 'Manrope', Arial, sans-serif;
  color: var(--hg-muted);
  overflow-wrap: anywhere;
}

#architectural-purple-hive .hg-song-artist[hidden] {
  display: none;
}

#architectural-purple-hive .hg-signature {
  margin: 10px 0 0;
  font: italic 400 17px/1.4 'Cormorant Garamond', Georgia, serif;
  color: var(--hg-muted);
}

#architectural-purple-hive .hg-row-status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* The projection owns the frame; the native player keeps one enclosing border. */
#architectural-purple-hive[data-gift-ui="ready"] .hm-shell {
  border: 0;
}

#architectural-purple-hive[data-theme="dark"] {
  --ah-ground: #180b26;
  --ah-white: #ead5fb;
  --ah-ink: #ead5fb;
  --ah-muted: #b994d6;
  --ah-purple: #c681ff;
  --hg-text: #e6cff8;
  --hg-muted: #bc96d8;
  --hg-rule: rgba(194, 121, 246, .24);
  --hg-open: rgba(162, 83, 225, .10);
  --hg-current: rgba(177, 97, 238, .23);
  color-scheme: dark;
}

#architectural-purple-hive[data-theme="dark"] .hg-title {
  color: #9e5acf;
  opacity: .62;
}

#architectural-purple-hive[data-theme="dark"] .hg-theme-toggle {
  --hg-switch-track: #321642;
  --hg-switch-thumb: #e8cefc;
  --hg-switch-edge: #a273c8;
  --hg-switch-inactive: #cda5e8;
  box-shadow: 0 0 16px rgba(165, 78, 233, .18);
}

#architectural-purple-hive[data-theme="dark"] {
  --hg-preview: #321642;
}

#architectural-purple-hive[data-theme="dark"] .hg-rail-row.is-current .hg-rail-tick,
#architectural-purple-hive[data-theme="dark"] .hg-rail-row.is-previewing .hg-rail-tick {
  box-shadow: 0 0 12px rgba(198, 129, 255, .36);
}

#architectural-purple-hive[data-theme="dark"] .ah-projection {
  background: rgba(43, 17, 65, .95);
  border-color: rgba(195, 116, 250, .46);
  box-shadow: 0 0 35px rgba(145, 48, 218, .17), 0 14px 42px rgba(27, 8, 45, .3);
}

#architectural-purple-hive[data-theme="dark"] .ah-message,
#architectural-purple-hive[data-theme="dark"] .ah-signature,
#architectural-purple-hive[data-theme="dark"] .ah-song {
  color: #e6cff8;
}

#architectural-purple-hive[data-theme="dark"] .hm-shell,
#architectural-purple-hive[data-theme="dark"] .hm-footer {
  background: #2b1141;
}

#architectural-purple-hive[data-theme="dark"] .hm-heading {
  background: #442061;
}

#architectural-purple-hive[data-theme="dark"] .hm-screen,
#architectural-purple-hive[data-theme="dark"] .hm-player-slot,
#architectural-purple-hive[data-theme="dark"] .hm-player-slot:empty {
  background: #321748;
}

#architectural-purple-hive[data-theme="dark"] .hm-title {
  color: #ead5fb;
}

#architectural-purple-hive[data-theme="dark"] .hm-artist,
#architectural-purple-hive[data-theme="dark"] .hm-note,
#architectural-purple-hive[data-theme="dark"] .hm-source,
#architectural-purple-hive[data-theme="dark"] .hm-policy,
#architectural-purple-hive[data-theme="dark"] .ah-failure {
  color: #cba8e6;
}

#architectural-purple-hive[data-theme="dark"] a {
  color: #d4a9f5;
}

#architectural-purple-hive[data-theme="dark"] a:focus-visible {
  outline-color: #c681ff;
}

#architectural-purple-hive[data-theme="dark"] .ah-collapse:hover {
  background: rgba(176, 97, 238, .14);
}

@media (prefers-reduced-motion: reduce) {
  #architectural-purple-hive .hg-theme-toggle,
  #architectural-purple-hive .hg-theme-thumb,
  #architectural-purple-hive .hg-theme-icon,
  #architectural-purple-hive .hg-rail-tick,
  #architectural-purple-hive .hg-rail-preview {
    transition: none;
    animation: none;
  }
}

/* gift-ui:end */

html,body{margin:0;min-height:100%;background:#c8b3dd;color:#180b26}
body{overflow-x:hidden}
#architectural-purple-hive .ah-stage{height:max(620px,100svh)}
#architectural-purple-hive .ah-projecting.ah-has-content .ah-stage,#architectural-purple-hive .ah-returning-projection .ah-stage{height:max(620px,100svh,calc(120px + var(--hive-projection-height,620px)))}
#architectural-purple-hive .ah-projection{top:10%;right:4%;width:44%;max-width:520px;box-sizing:border-box;padding:26px;background:rgba(232,214,248,.94);border:1px solid rgba(124,77,163,.46);border-radius:0;box-shadow:0 0 40px rgba(129,74,178,.15),0 14px 42px rgba(62,24,94,.10);backdrop-filter:blur(6px)}
#architectural-purple-hive .ah-message{font-size:clamp(25px,2.6vw,38px);margin:12px 0 22px}
#architectural-purple-hive .hm-shell{background:#dbc3ef;border:1px solid rgba(101,51,145,.3);border-radius:0;overflow:hidden}
#architectural-purple-hive .hm-shell[hidden]{display:none}
#architectural-purple-hive .hm-heading{padding:16px 18px;background:#593577}
#architectural-purple-hive .hm-title{font:400 20px/1.3 Georgia,serif;margin:0;color:#f4ecff}
#architectural-purple-hive .hm-artist{font:400 12px/1.5 Arial,sans-serif;margin:5px 0 0;color:#ddc4f1}
#architectural-purple-hive .hm-screen{padding:10px;background:#ab84c8}
#architectural-purple-hive .hm-footer{padding:12px 18px 14px}
#architectural-purple-hive .hm-player-slot{width:100%;height:max(200px,22.5vw);max-height:270px;background:#a688c2}
#architectural-purple-hive .hm-player-slot:empty{background:#a688c2}
#architectural-purple-hive .hm-player-slot iframe{display:block;width:100%;height:100%;border:0}
#architectural-purple-hive .hm-note,#architectural-purple-hive .hm-source,#architectural-purple-hive .hm-policy{font:400 12px/1.5 Arial,sans-serif;color:#47295b}
#architectural-purple-hive .hm-note{margin:0 0 5px}
#architectural-purple-hive .hm-source{display:inline-block}
#architectural-purple-hive .hm-policy{margin:10px 0 0}
#architectural-purple-hive a{color:#542a72;text-underline-offset:3px}
#architectural-purple-hive a:focus-visible{outline:2px solid #653391;outline-offset:3px}
#architectural-purple-hive .ah-signature{margin-top:18px}
@media(max-width:680px){
 #architectural-purple-hive .ah-stage{height:100svh;min-height:480px}
 #architectural-purple-hive .ah-projecting.ah-has-content .ah-stage,#architectural-purple-hive .ah-returning-projection .ah-stage{height:max(850px,100svh,calc(390px + var(--hive-projection-height,500px)))}
 #architectural-purple-hive .ah-projecting.ah-has-content canvas,#architectural-purple-hive .ah-returning-projection canvas{height:350px}
 #architectural-purple-hive .ah-projection{top:350px;left:16px;right:16px;width:auto;max-width:none;padding:20px;clip-path:inset(0 0 calc(100% * (1 - var(--ah-ui-formed,0))) 0);transform:perspective(900px) rotateX(calc(10deg * (1 - var(--ah-ui-formed,0))));transform-origin:top}
 #architectural-purple-hive .ah-message{font-size:25px;margin:15px 0 20px}
 #architectural-purple-hive .hm-player-slot{height:max(200px,calc((100vw - 94px)*.5625));max-height:none}
}
@media(max-width:300px){#architectural-purple-hive .ah-projection{left:8px;right:8px;padding:10px}#architectural-purple-hive .hm-screen{padding:4px}}

/* Music sleeve surfaces. Decorative facets live in backgrounds, away from the player. */
#architectural-purple-hive {
  --hpa-serif: "Cormorant Garamond", Georgia, serif;
  --hpa-sans: "Manrope", Arial, sans-serif;
  --hpa-paper: #e9d9f5;
  --hpa-paper-shadow: #d6bce9;
  --hpa-facet: rgba(244, 236, 255, .42);
  --hpa-wash: rgba(141, 90, 178, .08);
  --hpa-ink: #37194c;
  --hpa-muted: #68427f;
  --hpa-edge: rgba(116, 65, 151, .38);
  --hpa-heading: #663b85;
  --hpa-heading-deep: #4d2869;
  --hpa-heading-light: #754791;
  --hpa-title: #f4ecff;
  --hpa-artist: #ebddfa;
  --hpa-screen: #b795d0;
  --hpa-screen-deep: #9a71b9;
  --hpa-screen-edge: rgba(92, 44, 124, .24);
  --hpa-footer: #ddc8ee;
  --hpa-footer-light: #e8d7f5;
  --hpa-link: #5e2f80;
  --hpa-focus: #723999;
}

#architectural-purple-hive[data-theme="dark"] {
  --hpa-paper: #29113f;
  --hpa-paper-shadow: #211031;
  --hpa-facet: rgba(166, 99, 216, .10);
  --hpa-wash: rgba(187, 124, 234, .045);
  --hpa-ink: #e6cff8;
  --hpa-muted: #c1a0d8;
  --hpa-edge: rgba(190, 119, 235, .40);
  --hpa-heading: #45225f;
  --hpa-heading-deep: #321346;
  --hpa-heading-light: #633282;
  --hpa-title: #f4ecff;
  --hpa-artist: #d9bce9;
  --hpa-screen: #3e2055;
  --hpa-screen-deep: #2d1542;
  --hpa-screen-edge: rgba(215, 164, 246, .17);
  --hpa-footer: #321945;
  --hpa-footer-light: #3a1c50;
  --hpa-link: #d8b0f4;
  --hpa-focus: #cf91ff;
}

#architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
  box-sizing: border-box;
  padding: 26px;
  border: 1px solid var(--hpa-edge);
  border-radius: 0;
  background:
    linear-gradient(128deg, var(--hpa-facet) 0 26%, transparent 26.15% 100%),
    linear-gradient(29deg, transparent 0 66%, var(--hpa-wash) 66.15% 100%),
    linear-gradient(155deg, var(--hpa-paper), var(--hpa-paper-shadow));
  box-shadow: 0 16px 44px rgba(51, 20, 76, .13), 0 0 34px rgba(134, 71, 178, .11);
}

#architectural-purple-hive[data-gift-ui="ready"] .ah-message,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-message {
  margin: 5px 0 24px;
  font-family: var(--hpa-serif);
  font-size: clamp(29px, 2.5vw, 38px);
  font-weight: 500;
  font-style: normal;
  line-height: 1.16;
  letter-spacing: -.014em;
  color: var(--hpa-ink);
  overflow-wrap: anywhere;
}

#architectural-purple-hive[data-gift-ui="ready"] .ah-signature,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-signature {
  margin: 21px 0 0;
  font-family: var(--hpa-serif);
  font-size: 21px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.3;
  color: var(--hpa-muted);
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-shell,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-shell {
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: var(--hpa-footer);
  overflow: visible;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-heading,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-heading {
  padding: 20px 19px 21px;
  background:
    linear-gradient(153deg, transparent 0 69%, rgba(215, 172, 243, .09) 69.2% 100%),
    linear-gradient(28deg, rgba(53, 22, 77, .15) 0 24%, transparent 24.2% 100%),
    linear-gradient(114deg, var(--hpa-heading-deep), var(--hpa-heading) 56%, var(--hpa-heading-light));
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-title,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-title {
  margin: 0;
  font-family: var(--hpa-serif);
  font-size: clamp(30px, 2.75vw, 42px);
  font-weight: 400;
  font-style: italic;
  line-height: 1.12;
  letter-spacing: -.012em;
  color: var(--hpa-title);
  overflow-wrap: anywhere;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-artist,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-artist {
  margin: 10px 0 0;
  font-family: var(--hpa-sans);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: .055em;
  color: var(--hpa-artist);
  overflow-wrap: anywhere;
}

/* The screen's padding is the only decoration surrounding the native rectangle. */
#architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  padding: 11px 10px;
  border-top: 1px solid var(--hpa-screen-edge);
  border-bottom: 1px solid var(--hpa-screen-edge);
  background: linear-gradient(118deg, var(--hpa-screen), var(--hpa-screen-deep));
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-player-slot,
#architectural-purple-hive[data-gift-ui="ready"] .hm-player-slot:empty,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-player-slot,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-player-slot:empty {
  min-height: 200px;
  border-radius: 0;
  background: var(--hpa-screen-deep);
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-player-slot iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-screen:focus-within {
  outline: 2px solid var(--hpa-focus);
  outline-offset: 3px;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-footer,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-footer {
  padding: 16px 19px 17px;
  background:
    linear-gradient(151deg, transparent 0 80%, var(--hpa-wash) 80.2% 100%),
    linear-gradient(112deg, var(--hpa-footer-light), var(--hpa-footer));
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-note,
#architectural-purple-hive[data-gift-ui="ready"] .hm-source,
#architectural-purple-hive[data-gift-ui="ready"] .hm-policy,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-note,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-source,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-policy {
  font-family: var(--hpa-sans);
  font-size: 11.5px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--hpa-muted);
  overflow-wrap: anywhere;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-note {
  margin: 0 0 8px;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-source,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-source,
#architectural-purple-hive[data-gift-ui="ready"] .hm-policy a,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-policy a {
  color: var(--hpa-link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-source {
  display: inline-block;
  max-width: 100%;
  font-weight: 500;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-policy {
  margin: 12px 0 0;
}

#architectural-purple-hive[data-gift-ui="ready"] .hm-source:focus-visible,
#architectural-purple-hive[data-gift-ui="ready"] .hm-policy a:focus-visible,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-source:focus-visible,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-policy a:focus-visible {
  outline: 2px solid var(--hpa-focus);
  outline-offset: 4px;
}

/* The inline preview has a song placeholder in place of the native player. */
#architectural-purple-hive[data-gift-ui="ready"] .ah-song,
#architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-song {
  box-sizing: border-box;
  min-height: 132px;
  margin: 18px 0 0;
  padding: 22px 19px;
  border: 0;
  border-top: 1px solid var(--hpa-edge);
  background:
    linear-gradient(149deg, transparent 0 67%, var(--hpa-facet) 67.2% 100%),
    linear-gradient(112deg, var(--hpa-heading-deep), var(--hpa-heading-light));
  font-family: var(--hpa-serif);
  font-size: 29px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.2;
  color: var(--hpa-title);
  overflow-wrap: anywhere;
}

@media (max-width: 680px) {
  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    padding: 20px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-message,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-message {
    margin: 4px 0 22px;
    font-size: clamp(29px, 6.6vw, 36px);
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-heading,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-heading {
    padding: 18px 16px 19px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-title,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-title {
    font-size: clamp(29px, 7.2vw, 39px);
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
    padding: 10px 8px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-footer,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-footer {
    padding: 15px 16px 16px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-signature,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-signature {
    font-size: 20px;
  }
}

@media (max-width: 340px) {
  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    padding: 14px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-heading,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-heading {
    padding: 17px 12px 18px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
    padding: 10px 6px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-footer,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-footer {
    padding: 14px 12px 15px;
  }
}

/* Append after the scene, gift UI, and sleeve styles. Geometry reads this flow marker. */
#architectural-purple-hive {
  --hive-mobile-flow: 0;
}

@media (max-width: 680px), (max-width: 1020px) and (max-height: 500px) and (pointer: coarse) {
  #architectural-purple-hive[data-gift-ui="ready"] {
    --hive-mobile-flow: 1;
    --hive-mobile-canvas-height: clamp(300px, min(115vw, 60svh), 460px);
    max-width: 100%;
    overflow-x: clip;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-shell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-header,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-header {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-sizing: border-box;
    height: auto;
    min-height: 72px;
    margin: 0;
    padding: max(10px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) 10px max(14px, env(safe-area-inset-left));
    border-bottom: 1px solid var(--hg-rule);
    background: var(--ah-ground);
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-title,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(26px, 7.3vw, 34px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -.035em;
    color: var(--hg-text);
    opacity: 1;
    white-space: normal;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-theme-toggle,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-theme-toggle {
    position: relative;
    top: auto;
    right: auto;
    flex: 0 0 auto;
    display: inline-grid;
    grid-template-columns: 36px 36px;
    align-items: center;
    justify-content: start;
    gap: 0;
    box-sizing: border-box;
    width: 80px;
    height: 44px;
    min-width: 80px;
    min-height: 44px;
    padding: 3px;
    border: 1px solid var(--hg-switch-edge);
    border-radius: 999px;
    background: var(--hg-switch-track);
    color: var(--hg-switch-inactive);
    font-family: "Manrope", Arial, sans-serif;
    font-size: 11.5px;
    font-weight: 500;
    line-height: 1.35;
    white-space: nowrap;
    touch-action: manipulation;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-theme-toggle svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-theme-icon {
    flex: 0 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-theme-toggle:focus-visible {
    outline: 2px solid var(--hpa-focus);
    outline-offset: 3px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-page {
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    overflow: visible;
  }

  /* A fixed canvas viewport inside an auto-height stage prevents framing jumps. */
  #architectural-purple-hive[data-gift-ui="ready"] .ah-stage,
  #architectural-purple-hive[data-gift-ui="ready"] .ah-projecting.ah-has-content .ah-stage,
  #architectural-purple-hive[data-gift-ui="ready"] .ah-returning-projection .ah-stage {
    display: flow-root;
    box-sizing: border-box;
    height: auto;
    min-height: var(--hive-mobile-canvas-height);
    padding: 0;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-stage > canvas,
  #architectural-purple-hive[data-gift-ui="ready"] .ah-projecting.ah-has-content .ah-stage > canvas,
  #architectural-purple-hive[data-gift-ui="ready"] .ah-returning-projection .ah-stage > canvas {
    display: block;
    width: 100%;
    max-width: 100%;
    height: var(--hive-mobile-canvas-height);
    min-height: 0;
    max-height: none;
    touch-action: pan-y pinch-zoom;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-collapse {
    top: 10px;
    left: max(10px, env(safe-area-inset-left));
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    margin: 0 12px 20px;
    padding: 18px 16px;
    clip-path: inset(0 0 calc(100% * (1 - var(--ah-ui-formed, 0))) 0);
    transform: perspective(900px) rotateX(calc(10deg * (1 - var(--ah-ui-formed, 0))));
    transform-origin: top;
    scroll-margin-top: 96px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-message,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-message {
    margin: 0 0 18px;
    font-size: clamp(27px, 6.6vw, 34px);
    line-height: 1.16;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-signature,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-signature {
    margin-top: 16px;
    font-size: 20px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-song,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-song {
    min-height: 104px;
    padding: 17px 14px;
    font-size: 28px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-heading,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-heading {
    padding: 16px 14px 17px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-title,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-title {
    font-size: clamp(28px, 6.8vw, 36px);
    line-height: 1.12;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-artist,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-artist {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.5;
    letter-spacing: .025em;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
    padding: 9px 8px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-player-slot,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-player-slot {
    width: 100%;
    min-width: 0;
    height: clamp(200px, calc((100vw - 88px) * .5625), 320px);
    min-height: 200px;
    max-height: none;
    scroll-margin-top: 96px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-player-slot iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 200px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-footer,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-footer {
    padding: 13px 14px 14px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-note,
  #architectural-purple-hive[data-gift-ui="ready"] .hm-source,
  #architectural-purple-hive[data-gift-ui="ready"] .hm-policy,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-note,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-source,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-policy {
    font-size: 12px;
    line-height: 1.55;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-source {
    min-height: 28px;
    padding-top: 3px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-policy {
    margin-top: 8px;
    line-height: 1.8;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-policy a {
    display: inline-block;
    padding: 3px 0;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rails {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    flex-direction: column;
    gap: 26px;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    max-width: 620px;
    margin: 0 auto;
    padding: 18px 16px max(28px, env(safe-area-inset-bottom));
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail {
    width: 100%;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-label {
    margin: 0 0 4px;
    text-align: left;
    font-size: 17px;
  }

  /* Four columns keep every preview target at least 44px at a 320px viewport. */
  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(44px, 1fr));
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-row {
    position: static;
    width: auto;
    height: 44px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-row::after {
    display: none;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-button {
    width: 100%;
    justify-content: center;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-tick,
  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-songs .hg-rail-tick {
    left: auto;
    right: auto;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-preview,
  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-songs .hg-rail-preview {
    top: auto;
    bottom: calc(100% + 8px);
    left: 0;
    right: 0;
    width: auto;
    max-width: 100%;
    padding: 16px 18px;
    transform: none;
    animation-name: hg-rail-mobile-reveal;
  }
}

@keyframes hg-rail-mobile-reveal {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  #architectural-purple-hive[data-gift-ui="ready"] .hg-rail-preview {
    animation: none;
    transition: none;
  }
}

@media (max-width: 380px) {
  #architectural-purple-hive[data-gift-ui="ready"] .hg-title,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-title {
    font-size: 29px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    padding: 16px 14px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
    padding: 8px 6px;
  }

}

@media (max-width: 300px) {
  #architectural-purple-hive[data-gift-ui="ready"] .hg-header,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-header {
    gap: 8px;
    padding-right: 10px;
    padding-left: 10px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-title,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-title {
    font-size: 24px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    margin-right: 8px;
    margin-left: 8px;
    padding-right: 12px;
    padding-left: 12px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hm-screen,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hm-screen {
    padding-right: 4px;
    padding-left: 4px;
  }
}

@media (max-width: 680px) and (max-height: 500px), (max-width: 1020px) and (max-height: 500px) and (pointer: coarse) {
  #architectural-purple-hive[data-gift-ui="ready"] {
    --hive-mobile-canvas-height: 240px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .hg-header,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .hg-header {
    min-height: 64px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  #architectural-purple-hive[data-gift-ui="ready"] .ah-projection,
  #architectural-purple-hive[data-gift-ui="ready"][data-theme="dark"] .ah-projection {
    width: calc(100% - 24px);
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
  }
}
