/* Stage one launch notice. Bar on every page, one dialog on the homepage. Brand tokens from site.css. */
.launch-bar{background:var(--jade-soft,#E5EBE5);border-bottom:1px solid var(--brass,#A98A51);color:var(--ink,#102B36);font-family:var(--sans);font-size:15px;line-height:1.45}
.launch-bar .container-wide{display:flex;align-items:center;justify-content:center;gap:10px 18px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px;text-align:center}
.launch-bar strong{font-weight:700;color:var(--ink,#102B36)}
.launch-bar a{color:var(--jade-deep,#164D44);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.launch-bar a:hover{color:var(--ink,#102B36)}

.launch-dialog{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.launch-dialog[hidden]{display:none}
.launch-scrim{position:absolute;inset:0;background:rgba(16,43,54,.46)}
.launch-card{position:relative;background:#fff;color:var(--ink,#102B36);border-top:3px solid var(--brass,#A98A51);width:100%;max-width:560px;padding:36px 36px 30px;box-shadow:0 24px 64px rgba(16,43,54,.22)}
.launch-card .eyebrow{margin-bottom:12px}
.launch-card h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,36px);line-height:1.12;margin:0 0 14px;color:var(--ink,#102B36)}
.launch-card p{font-size:17px;line-height:1.6;color:var(--ink-2,#2B3F48);margin:0 0 6px}
.launch-card .btn-row{margin-top:24px;animation:none}
.launch-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:var(--ink,#102B36);cursor:pointer}
.launch-close svg{width:18px;height:18px}
.launch-close:hover{background:var(--ivory,#F3F0E8)}
.launch-card .launch-note{font-size:14px;line-height:1.5;color:var(--muted,#55666E);margin:20px 0 0}

@media (prefers-reduced-motion:no-preference){
  .launch-dialog.is-open .launch-scrim{animation:launchFade 220ms ease-out both}
  .launch-dialog.is-open .launch-card{animation:launchRise 260ms cubic-bezier(.23,1,.32,1) both}
  .launch-dialog.is-closing .launch-scrim{animation:launchFade 160ms ease-in reverse both}
  .launch-dialog.is-closing .launch-card{animation:launchRise 160ms ease-in reverse both}
}
@keyframes launchFade{from{opacity:0}to{opacity:1}}
@keyframes launchRise{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

@media (max-width:640px){
  .launch-bar{font-size:14px}
  .launch-bar .container-wide{padding-top:8px;padding-bottom:8px}
  .launch-card{padding:30px 22px 24px}
  .launch-card .btn-row{flex-direction:column;align-items:stretch}
  .launch-card .btn{width:100%;justify-content:center}
}
