.launch-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 20px;background:#39251d;color:#fff2de;font-size:12px;text-align:center;letter-spacing:.02em}
.launch-banner button{border:0;background:none;color:#ffd49b;text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}
.launch-banner--testing{background:#e9f2ee;color:#234d3b}
.auth-body>.launch-banner{width:100%;max-width:1100px;border-radius:12px;margin-bottom:16px}
.launch-dot{display:inline-block;width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#d49a58;box-shadow:0 0 0 4px #d49a5820}
.launch-dialog{position:fixed;inset:0;width:min(760px,calc(100% - 32px));max-width:760px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e4d4bd;border-radius:26px;background:#fffaf2;color:#39251d;box-shadow:0 32px 100px #160c0866;overflow:auto;font-family:'Plus Jakarta Sans',sans-serif}
.launch-dialog[open]{display:grid;grid-template-columns:.8fr 1.2fr;animation:launch-enter .35s ease-out}
.launch-dialog::backdrop{background:#1e140fd1;backdrop-filter:blur(7px)}
.launch-close{position:absolute;z-index:2;right:14px;top:14px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #dbc9b5;border-radius:50%;background:#fffaf2;color:#574332;font:24px/1 sans-serif;cursor:pointer}
.launch-art{display:flex;align-items:center;justify-content:center;min-width:0;padding:40px 24px;box-sizing:border-box;background:linear-gradient(145deg,#f4e8d8,#ead7be);border-right:1px solid #e4d4bd}

.launch-copy{padding:55px 35px 32px}.launch-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:3px;color:#8a562e}
.launch-copy h2{margin:22px 0 18px;font:clamp(29px,4vw,39px)/1.13 'Playfair Display',serif;letter-spacing:-.8px;color:#39251d;overflow-wrap:anywhere}
.launch-copy p{margin:0;color:#796757;font-size:13px;line-height:1.85;white-space:pre-line;overflow-wrap:anywhere}
.launch-note{display:flex;gap:10px;margin:22px 0;padding:14px 0;border-top:1px solid #e9dfd1;border-bottom:1px solid #e9dfd1;font-size:11px;line-height:1.7;color:#806448}
.launch-cta{display:flex;justify-content:space-between;align-items:center;gap:15px;width:100%;padding:15px 20px;border:0;border-radius:12px;background:#794b2e;color:#fff7ec;font:600 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer;transition:background .2s}.launch-cta:hover{background:#58321d}.launch-cta span{font-size:20px}
.launch-signoff{display:block;margin-top:16px;color:#8b7b6b;text-align:center;font-size:9px;line-height:1.6}
.launch-dialog button:focus-visible,.launch-banner button:focus-visible{outline:3px solid #c18a44;outline-offset:4px}
html:has(.launch-dialog[open]){overflow:hidden}
@keyframes launch-enter{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.launch-dialog[open]{grid-template-columns:1fr}.launch-art{display:flex;align-items:center;justify-content:center;min-width:0;padding:40px 24px;box-sizing:border-box;background:linear-gradient(145deg,#f4e8d8,#ead7be);border-right:1px solid #e4d4bd}.launch-copy{padding:28px 25px 25px}.launch-copy h2{margin:16px 0}.launch-close{background:#fffaf2ed}.launch-note{margin:18px 0}.launch-banner{font-size:11px}}
@media(prefers-reduced-motion:reduce){.launch-dialog[open]{animation:none}.launch-cta{transition:none}}

.maintenance-banner{background:#60452f}.maintenance-dialog{max-width:560px}.maintenance-dialog[open]{grid-template-columns:1fr}.maintenance-dialog .launch-eyebrow{letter-spacing:1px;line-height:1.7}.maintenance-dialog .maintenance-detail{margin-top:16px}.maintenance-dialog .launch-cta{margin-top:22px}

.launch-dialog--text-only{max-width:560px}.launch-dialog--text-only[open]{grid-template-columns:1fr}

.launch-logo-frame{display:flex;align-items:center;justify-content:center;width:100%;max-width:240px;aspect-ratio:1;padding:24px;box-sizing:border-box;border:1px solid #e4d4bd;border-radius:24px;background:#fff;box-shadow:0 12px 30px #65402d12}.launch-logo{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:600px){.launch-art{padding:28px 56px 24px;border-right:0;border-bottom:1px solid #e4d4bd}.launch-logo-frame{max-width:152px;padding:18px;border-radius:20px}}
