/* WEB-27: invitation and client downloads, no changes to Nocturne. */
.hero .hero-top{justify-content:flex-end}
.hero-invitation{max-width:410px;text-align:right}
.hero .hero-top .edition{display:block;color:#c4c5b3;font-size:9px;letter-spacing:2px}
.hero-invitation p{margin:12px 0 0;font:15px/1.55 Georgia,serif;letter-spacing:0;color:#b8bca9}
.hero-invitation em{color:#dfd4b6;font-style:italic}
.client-downloads{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.client-download{display:flex;align-items:center;gap:13px;padding:15px 18px;min-width:230px;max-width:100%;background:#bbaa7b0a;border:1px solid #bbaa7b42;color:#ddd6bf;text-decoration:none;text-align:left;font-family:inherit;transition:background .2s,border-color .2s}
.client-download strong{display:block;font-size:12px;font-weight:400;line-height:1.4}
.client-download small{display:block;font-size:10px;line-height:1.5;margin-top:4px;color:#a2aa94}
.download-emblem{display:flex;align-items:center;justify-content:center;width:30px;height:34px;flex:none;font:28px/1 Georgia,serif;color:#c8b88c;letter-spacing:-4px}
img.download-emblem{object-fit:contain;filter:grayscale(.3);letter-spacing:0}
.download-arrow{margin-left:auto;padding-left:12px;color:#c8b88c;font-size:20px}
a.client-download:hover{background:#bbaa7b14;border-color:#bbaa7b8c}
.client-download:focus-visible{outline:2px solid #c8b88c;outline-offset:4px}
.client-download:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:850px){.hero .hero-top{justify-content:flex-start}.hero-invitation{text-align:left;max-width:100%}.hero-invitation p{font-size:14px}.hero .hero-copy{padding-top:30px}}
@media(max-width:450px){.client-downloads{flex-direction:column}.client-download{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.client-download{transition:none}}

/* WEB-28: live-state indicators, readable invitation and return to top. */
.hero-status strong[data-state=online]{color:#53ff9b;text-shadow:0 0 8px #53ff9b45}
.hero-status strong[data-state=offline],.hero-status strong[data-state=unknown]{color:#ff555f;text-shadow:0 0 8px #ff555f45}
.hero-status .signal[data-state=online]{background:#53ff9b;box-shadow:0 0 8px #53ff9b66}
.hero-status .signal[data-state=offline],.hero-status .signal[data-state=unknown]{background:#ff555f;box-shadow:0 0 8px #ff555f66}
.hero-invitation p{color:#d6d8c8;text-shadow:0 1px 5px #000b,0 0 16px #07110be0}
.hero-invitation em{color:#e8dfc8}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:54px;height:62px;border:1px solid #bbaa7b55;background:#111a14e8;color:#d9ceb1;text-decoration:none;box-shadow:0 5px 22px #0003;transition:background .2s,border-color .2s}
.back-to-top[hidden]{display:none}
.back-to-top span{font:9px Arial,sans-serif;letter-spacing:.8px}
.back-to-top:hover{background:#263025;border-color:#d9ceb1}
.back-to-top:focus-visible{outline:2px solid #d9ceb1;outline-offset:4px}
@media(max-width:700px){.back-to-top{right:14px;bottom:14px;width:45px;height:52px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
