/* Resolution-independent BETA trim, matched to the owner's violet/blue sign.
   The two small HH app/plinth labels deliberately do not use this component. */
.heaven-beta { display: inline-block; flex: 0 0 auto; line-height: 0; animation: heaven-beta-float 4.6s ease-in-out infinite; }
.heaven-beta > img { display: block; width: 100%; height: auto; object-fit: contain; image-rendering: auto; }
.heaven-wordmark > img { width: 76%; }
.heaven-wordmark > .wordmark-halo { left: 19%; width: 9.58%; }
.heaven-wordmark > .heaven-beta { position: absolute; left: 79%; top: -1%; width: 21%; }
.heaven-heading > div { container-type: inline-size; }
.heaven-page .project-heading h1.heaven-signature { font-size: clamp(26px, 15.7cqw, 50px); }
.heaven-title-top { display: flex; align-items: center; gap: .08em; white-space: nowrap; }
.heaven-title-word { display: inline-flex; align-items: center; gap: .15em; }
.heaven-title-word > .heaven-beta { width: 1.55em; }
.heaven-title-bottom { display: block; white-space: nowrap; }

/* The original black plaque is smaller than the previous overlaid label.
   Keep all four glyph groups inside its real interior, including both sigils. */
.home-heaven-wordmark { left: 29.68%; top: 60.36%; width: 7.08%; height: 2.34%; padding: .08% .18%; }
.inline-heaven-label { gap: .18em; font-size: 9.6cqw; letter-spacing: -.025em; }
.inline-heaven-label strong, .inline-heaven-label b { flex: 0 0 auto; }
.inline-heaven-label b { font-size: 1em; line-height: 1; }

/* A single email address, sized from its column instead of inserting a break. */
.contact-page .direct-line { container-type: inline-size; }
.contact-page .direct-line > .direct-email { display: inline-flex; flex-wrap: nowrap; align-items: baseline; gap: .2em; max-width: 100%; white-space: nowrap; font-size: clamp(26px, 9cqw, 39px); }
.contact-page .direct-email > .email-address { color: inherit; white-space: nowrap; }
.contact-page .direct-email > .email-arrow { color: inherit; flex: 0 0 auto; font-size: .72em; }

@keyframes heaven-beta-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5%); } }
@media (prefers-reduced-motion: reduce) { .heaven-beta { animation: none; } }
