/* Lucett prototype v63: shared site menu. Light by default; .is-dark over film. */
.sm-btn{flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #9aa5c0;background:#fff;display:grid;place-content:center;gap:5px;padding:0;cursor:pointer}
.sm-btn span{display:block;width:18px;height:1.5px;background:#303449;border-radius:2px;transition:transform .25s ease,opacity .2s ease}
@media(hover:hover){.sm-btn:hover{background:#f0f1f7}}
.sm-btn.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.sm-btn.is-open span:nth-child(2){opacity:0}
.sm-btn.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.sm-panel{position:fixed;z-index:200;width:min(340px,calc(100vw - 24px));background:#fff;border:1px solid #d9dce8;border-radius:14px;padding:8px;display:flex;flex-direction:column;box-shadow:0 18px 50px rgba(48,52,73,.22);opacity:0;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;font-family:"DM Sans",Arial,sans-serif}
.sm-panel[hidden]{display:none}
.sm-panel.is-open{opacity:1;transform:none}
.sm-panel a,.sm-panel button{display:block;text-align:left;width:100%;background:none;border:0;color:#303449;text-decoration:none;padding:12px 14px;border-radius:9px;font:inherit;cursor:pointer}
.sm-panel a:hover,.sm-panel button:hover{background:#f0f1f7}
.sm-panel strong{display:block;font:500 15.5px/1.3 "DM Sans",Arial,sans-serif;letter-spacing:.005em}
.sm-panel small{display:block;font:400 12.5px/1.4 "DM Sans",Arial,sans-serif;color:#6b7897;margin-top:3px}
.sm-panel .sm-sep{margin-top:4px;border-top:1px solid #e3e6ee;border-radius:0 0 9px 9px}
.n-links{align-items:center}
@media(prefers-reduced-motion:reduce){.sm-btn span,.sm-panel{transition:none}}
@media(max-width:820px){.n-links{flex:1 1 100%}.n-links .sm-btn{margin-left:auto}}
/* v66: the other menu pages along the top bar on wide screens */
.n-div{width:1px;height:22px;background:#c9cfe0}
@media(max-width:1180px){.n-page,.n-div{display:none}}
/* v88: six page links need a little more room */
@media(max-width:1320px){.n-page,.n-div{display:none}}
.n-links{gap:8px 22px}
/* v98: Sign in offers the two existing logins */
.sm-panel .sm-signin{display:flex;align-items:center;gap:8px;margin-top:4px;padding:12px 14px 8px;border-top:1px solid #e3e6ee}
.sm-panel .sm-signin span{font:500 15.5px/1.3 "DM Sans",Arial,sans-serif;color:#303449;margin-right:auto}
.sm-panel .sm-signin a{display:inline-block;width:auto;padding:8px 14px;border:1px solid #0031c8;border-radius:30px;color:#0031c8;font:500 13px "DM Sans",Arial,sans-serif;white-space:nowrap}
.sm-panel .sm-signin a:hover{background:#0031c8;color:#fff}
.sm-panel{overflow-y:auto}
/* v99: Sign in pop-up */
dialog.sm-dialog{width:min(360px,calc(100% - 32px));max-width:none;border:0;border-radius:14px;padding:28px 26px 26px;background:#fff;color:#303449;box-shadow:0 14px 65px rgba(0,0,0,.4);font-family:"DM Sans",Arial,sans-serif;text-align:center}
dialog.sm-dialog::backdrop{background:rgba(17,17,17,.6)}
.sm-dialog h2{font:400 30px/1.1 "Source Serif 4",Georgia,serif;margin:0 0 20px;color:#303449}
.sm-dialog .sm-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:26px;line-height:1;color:#303449;cursor:pointer;padding:6px 8px;border-radius:6px}
.sm-choices{display:grid;gap:10px}
.sm-choices a{display:flex;align-items:center;justify-content:center;min-height:49px;padding:12px 20px;border-radius:32px;background:#0031c8;color:#fff;text-decoration:none;font:500 15px "DM Sans",Arial,sans-serif}
.sm-choices a:hover{background:#0028a6}
html.story-boot body>dialog#signinDialog.sm-dialog{visibility:visible}

dialog.sm-intro{width:min(440px,calc(100% - 32px));padding:34px 30px 30px}
.sm-intro h2{font-size:28px;margin:0 0 14px}
.sm-intro p{font:400 16px/1.5 "DM Sans",Arial,sans-serif;color:#526181;margin:0 0 24px}
.sm-intro .sm-go{background:#0031c8;color:#fff;border:0;border-radius:32px;min-height:46px;padding:12px 26px;font:500 15px "DM Sans",Arial,sans-serif;cursor:pointer}
.sm-intro .sm-go:hover{background:#0029a8}
html.story-boot body>dialog#demoIntro{visibility:visible}
/* v129: gentle glow on demo buttons that lead somewhere, until used */
@keyframes lxGlow{0%,100%{box-shadow:0 0 0 0 rgba(0,54,228,0),0 0 0 0 rgba(0,54,228,0)}50%{box-shadow:0 0 0 2px rgba(0,54,228,0.245),0 0 14px 3px rgba(0,54,228,0.36)}}
.lx-glow{animation:lxGlow 4s ease-in-out infinite}
@keyframes lxGlowRef{0%,100%{background-color:rgba(0,54,228,0.065);box-shadow:0 0 0 1px rgba(0,54,228,0.216),0 0 0 0 rgba(0,54,228,0)}50%{background-color:rgba(0,54,228,0.158);box-shadow:0 0 0 1.5px rgba(0,54,228,0.504),0 0 14px 3px rgba(0,54,228,0.396)}}
.op-ref.lx-glow{display:inline-block;padding:2px 9px;margin-left:-9px;border-radius:6px;animation-name:lxGlowRef}
@media(prefers-reduced-motion:reduce){.op-ref.lx-glow{background-color:rgba(0,54,228,0.108)}.lx-glow{animation:none;box-shadow:0 0 0 2px rgba(0,54,228,0.187),0 0 10px 2px rgba(0,54,228,0.23)}}
/* v136: Contact us pop-up */
dialog.sm-contact{width:min(420px,calc(100% - 32px))}
.sm-contact .sm-lines{list-style:none;margin:0 0 24px;padding:0;text-align:left}
.sm-contact .sm-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 2px;border-top:1px solid #e3e6ee}
.sm-contact .sm-lines li:last-child{border-bottom:1px solid #e3e6ee}
.sm-contact .sm-lines span{font:400 14px "DM Sans",Arial,sans-serif;color:#6b7897}
.sm-contact .sm-lines a{font:500 15.5px "DM Sans",Arial,sans-serif;color:#0031c8;text-decoration:none;overflow-wrap:anywhere;text-align:right}
.sm-contact .sm-lines a:hover{text-decoration:underline}
.sm-contact .sm-go{background:#0031c8;color:#fff;border:0;border-radius:32px;min-height:46px;padding:12px 26px;font:500 15px "DM Sans",Arial,sans-serif;cursor:pointer}
.sm-contact .sm-go:hover{background:#0029a8}
html.story-boot body>dialog#contactDialog{visibility:visible}
/* v138: confirmation when an email address is copied */
.sm-toast{position:fixed;left:50%;bottom:28px;z-index:400;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#303449;color:#fff;font:500 14px "DM Sans",Arial,sans-serif;padding:11px 18px;border-radius:30px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:opacity .25s ease,transform .25s ease;max-width:calc(100vw - 32px);text-align:center}
.sm-toast.is-on{opacity:1;transform:translate(-50%,0)}
/* v139: contact link beside each closing button */
.n-close .n-alt{display:inline-block;margin:0 0 0 22px;font:500 15px "DM Sans",Arial,sans-serif;color:#0031c8;text-decoration:none;vertical-align:middle}
.n-close .n-alt:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.n-close .n-alt{display:block;margin:16px 0 0}}
/* v139: short cross-fade between pages, where the browser supports it */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-out}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
.sm-contact .sm-lines b{font:500 15.5px "DM Sans",Arial,sans-serif;color:#303449}
/* v142: no blue ring on the menu button, including the focus ring left after a tap */
.sm-btn:focus:not(:focus-visible){outline:none}
