/* Banner designs, Nov 2026. Each screen is its own full color field. */
.njcb,.njcb *{box-sizing:border-box}
.njcb{display:block;font-family:Archivo,'Helvetica Neue',Arial,sans-serif;font-size:18px;line-height:1.5}
.njcb a{color:inherit}
.njcb a:hover{opacity:.85}
.njcb section{max-width:none;margin:0;padding:0}
.js .njcb .flow-screen{display:none}
.js .njcb .flow-screen.on{display:flex}
.njcb .flow-screen{flex-direction:column;overflow:hidden;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px)}
.njcb .flow-screen>div{flex:1 0 auto}
.njcb .msg{font-family:'IBM Plex Mono','Courier New',monospace;font-size:12px;letter-spacing:.06em;margin-top:6px;min-height:18px}
.njcb input.bad{border-color:#8a3d2e!important}
.njcb button{font:inherit}
.njcb .day{width:100%;max-width:76px;aspect-ratio:1/1;border-radius:50%;cursor:pointer;font-family:'IBM Plex Mono','Courier New',monospace;font-size:13px;letter-spacing:.08em;transition:background-color 240ms ease-out,transform 240ms ease-out}
.njcb .day.is-cur{background:#C7C3F0;color:#1E4A46;border:1px solid #0E0E0E;transform:scale(1.14)}
.njcb .day.is-past{background:#EFEBE4;color:#1E4A46;border:1px solid #0E0E0E}
.njcb .day.is-next{background:transparent;color:#EFEBE4;border:1px solid #EFEBE4}
.njcb .ig-tile img{object-fit:cover}
/* shorter screens: keep the arrows in view */
@media(max-height:820px) and (min-width:701px){.njcb p[style*="font-size: 26px"],.njcb p[style*="font-size: 24px"]{font-size:21px!important}.njcb h1,.njcb h2{font-size:clamp(30px,3.2vw,44px)!important}.njcb main>div,.njcb .flow-screen>div{padding-top:16px!important;padding-bottom:16px!important;gap:16px!important}.njcb section{gap:32px!important}.njcb section>div>svg,.njcb section>div[class*=enter2]{max-height:420px}}
/* phones: the words first, the graphic smaller */
@media(max-width:700px){
header nav a{padding:4px 0!important}header nav .btn{display:none!important}header>div{padding-top:12px!important;padding-bottom:12px!important;gap:8px 32px!important}
.njcb .flow-screen{min-height:calc(100vh - 118px);min-height:calc(100svh - 118px)}
.njcb .flow-screen>div{padding-top:14px!important;padding-bottom:12px!important;gap:14px!important}
.njcb section{gap:14px!important}
.njcb section>div{flex-basis:100%!important}
.njcb h1,.njcb h2{font-size:30px!important}
.njcb p[style*="font-size: 26px"],.njcb p[style*="font-size: 24px"]{font-size:19px!important}
}
@media(prefers-reduced-motion:reduce){.njcb *{animation:none!important}.njcb .draw{stroke-dasharray:none!important}.njcb .fade{opacity:.2!important}}
.d-Banner01 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner01 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner01 .btn:hover{background:#1E4A46;opacity:1}
.d-Banner01 .lnk{display:inline-flex;align-items:center;min-height:44px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:6px}
@keyframes njc-enter-d-Banner01{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner01{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner01{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-18px)}}
.d-Banner01 .enter{animation:njc-enter-d-Banner01 420ms ease-out both}
.d-Banner01 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner01 80s linear infinite}
.d-Banner01 .spin-rev{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner01 120s linear infinite reverse}
.d-Banner01 .drift{animation:njc-drift-d-Banner01 9s ease-in-out infinite}
.d-Banner02 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner02 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner02 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner02{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner02{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner02{0%,100%{transform:translate(0,0)}50%{transform:translate(6px,-6px)}}
@keyframes njc-pulse-d-Banner02{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
.d-Banner02 .enter{animation:njc-enter-d-Banner02 420ms ease-out both}
.d-Banner02 .enter2{animation:njc-enter-d-Banner02 520ms ease-out 120ms both}
.d-Banner02 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner02 30s linear infinite}
.d-Banner02 .spin-rev{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner02 45s linear infinite reverse}
.d-Banner02 .drift{animation:njc-drift-d-Banner02 6s ease-in-out infinite}
.d-Banner02 .drift-rev{animation:njc-drift-d-Banner02 7s ease-in-out infinite reverse}
.d-Banner02 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Banner02 4s ease-in-out infinite}
.d-Banner03 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner03 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner03 .btn:hover{background:#13332F;opacity:1}
.d-Banner03 .day{transition:background-color 240ms ease-out,transform 240ms ease-out}
.d-Banner03 .day:hover{transform:translateY(-3px)}
@keyframes njc-enter-d-Banner03{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.d-Banner03 .enter{animation:njc-enter-d-Banner03 420ms ease-out both}
.d-Banner03 .enter2{animation:njc-enter-d-Banner03 520ms ease-out 120ms both}
.d-Banner04 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner04 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner04 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner04{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner04{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner04{0%,100%{transform:translate(0,0)}50%{transform:translate(-14px,14px)}}
@keyframes njc-sway-d-Banner04{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(2deg) translateY(-12px)}}
.d-Banner04 .enter{animation:njc-enter-d-Banner04 420ms ease-out both}
.d-Banner04 .enter2{animation:njc-enter-d-Banner04 520ms ease-out 120ms both}
.d-Banner04 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner04 80s linear infinite}
.d-Banner04 .drift{animation:njc-drift-d-Banner04 11s ease-in-out infinite}
.d-Banner04 .sway{transform-origin:50% 60%;animation:njc-sway-d-Banner04 8s ease-in-out infinite}
.d-Banner05 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner05 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner05 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner05{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner05{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner05{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-10px)}}
.d-Banner05 .enter{animation:njc-enter-d-Banner05 420ms ease-out both}
.d-Banner05 .enter2{animation:njc-enter-d-Banner05 520ms ease-out 120ms both}
.d-Banner05 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner05 80s linear infinite}
.d-Banner05 .drift{animation:njc-drift-d-Banner05 7s ease-in-out infinite}
.d-Banner05 .drift-rev{animation:njc-drift-d-Banner05 9s ease-in-out infinite reverse}
.d-Banner06 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner06 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner06 .btn:hover{background:#13332F;opacity:1}
.d-Banner06 .lnk{display:inline-flex;align-items:center;min-height:44px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:6px}
@keyframes njc-enter-d-Banner06{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner06{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner06{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,0)}}
.d-Banner06 .enter{animation:njc-enter-d-Banner06 420ms ease-out both}
.d-Banner06 .enter2{animation:njc-enter-d-Banner06 520ms ease-out 120ms both}
.d-Banner06 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner06 60s linear infinite}
.d-Banner06 .drift{animation:njc-drift-d-Banner06 8s ease-in-out infinite}
.d-Banner07 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner07 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner07 .btn:hover{background:#1E4A46;opacity:1}
.d-Banner07 .lnk{display:inline-flex;align-items:center;min-height:44px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:6px}
@keyframes njc-enter-d-Banner07{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner07{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner07{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-14px)}}
.d-Banner07 .enter{animation:njc-enter-d-Banner07 420ms ease-out both}
.d-Banner07 .enter2{animation:njc-enter-d-Banner07 520ms ease-out 120ms both}
.d-Banner07 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner07 90s linear infinite}
.d-Banner07 .drift{animation:njc-drift-d-Banner07 10s ease-in-out infinite}
.d-Banner08 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner08 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner08 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner08{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-pulse-d-Banner08{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
.d-Banner08 .enter{animation:njc-enter-d-Banner08 420ms ease-out both}
.d-Banner08 .enter2{animation:njc-enter-d-Banner08 520ms ease-out 120ms both}
.d-Banner08 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Banner08 3s ease-in-out infinite}
.d-Banner08 .pulse2{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Banner08 3s ease-in-out 1.5s infinite}
.d-Banner09 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner09 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner09 .btn:hover{background:#13332F;opacity:1}
.d-Banner09 .lnk{display:inline-flex;align-items:center;min-height:44px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:6px}
@keyframes njc-enter-d-Banner09{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-drift-d-Banner09{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-10px)}}
.d-Banner09 .enter{animation:njc-enter-d-Banner09 420ms ease-out both}
.d-Banner09 .enter2{animation:njc-enter-d-Banner09 520ms ease-out 120ms both}
.d-Banner09 .drift{animation:njc-drift-d-Banner09 10s ease-in-out infinite}
.d-Banner10 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner10 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner10 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner10{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-pulse-d-Banner10{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.25);opacity:.1}}
.d-Banner10 .enter{animation:njc-enter-d-Banner10 420ms ease-out both}
.d-Banner10 .enter2{animation:njc-enter-d-Banner10 520ms ease-out 120ms both}
.d-Banner10 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Banner10 2.6s ease-in-out infinite}
.d-Banner11 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner11 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner11 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Banner11{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-drift-d-Banner11{0%,100%{transform:translate(12px,-12px)}50%{transform:translate(20px,-4px)}}
@keyframes njc-drift2-d-Banner11{0%,100%{transform:translate(-12px,12px)}50%{transform:translate(-4px,20px)}}
.d-Banner11 .enter{animation:njc-enter-d-Banner11 420ms ease-out both}
.d-Banner11 .enter2{animation:njc-enter-d-Banner11 520ms ease-out 120ms both}
.d-Banner11 .drift{animation:njc-drift-d-Banner11 8s ease-in-out infinite}
.d-Banner11 .drift2{animation:njc-drift2-d-Banner11 9s ease-in-out infinite}
.d-Banner12 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Banner12 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Banner12 .btn:hover{background:#1E4A46;opacity:1}
.d-Banner12 .lnk{display:inline-flex;align-items:center;min-height:44px;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-underline-offset:6px}
@keyframes njc-enter-d-Banner12{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Banner12{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Banner12{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-16px)}}
.d-Banner12 .enter{animation:njc-enter-d-Banner12 420ms ease-out both}
.d-Banner12 .enter2{animation:njc-enter-d-Banner12 520ms ease-out 120ms both}
.d-Banner12 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Banner12 80s linear infinite}
.d-Banner12 .drift{animation:njc-drift-d-Banner12 9s ease-in-out infinite}
.d-Reset01 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset01 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset01 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset01{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-rise-d-Reset01{0%,100%{transform:translateY(10px)}50%{transform:translateY(-6px)}}
@keyframes njc-spin-d-Reset01{to{transform:rotate(360deg)}}
@keyframes njc-blink-d-Reset01{0%,100%{opacity:.25}50%{opacity:1}}
.d-Reset01 .enter{animation:njc-enter-d-Reset01 420ms ease-out both}
.d-Reset01 .enter2{animation:njc-enter-d-Reset01 520ms ease-out 120ms both}
.d-Reset01 .rise{animation:njc-rise-d-Reset01 9s ease-in-out infinite}
.d-Reset01 .spin{transform-origin:50% 100%;transform-box:view-box;animation:njc-spin-d-Reset01 120s linear infinite}
.d-Reset01 .b1{animation:njc-blink-d-Reset01 3s ease-in-out infinite}
.d-Reset01 .b2{animation:njc-blink-d-Reset01 3s ease-in-out .3s infinite}
.d-Reset01 .b3{animation:njc-blink-d-Reset01 3s ease-in-out .6s infinite}
.d-Reset01 .b4{animation:njc-blink-d-Reset01 3s ease-in-out .9s infinite}
.d-Reset01 .b5{animation:njc-blink-d-Reset01 3s ease-in-out 1.2s infinite}
.d-Reset01 .b6{animation:njc-blink-d-Reset01 3s ease-in-out 1.5s infinite}
.d-Reset01 .b7{animation:njc-blink-d-Reset01 3s ease-in-out 1.8s infinite}
.d-Reset01 .b8{animation:njc-blink-d-Reset01 3s ease-in-out 2.1s infinite}
.d-Reset01 .b9{animation:njc-blink-d-Reset01 3s ease-in-out 2.4s infinite}
.d-Reset01 .b10{animation:njc-blink-d-Reset01 3s ease-in-out 2.7s infinite}
.d-Reset02 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset02 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset02 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset02{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Reset02{to{transform:rotate(360deg)}}
@keyframes njc-bob-d-Reset02{0%,100%{transform:translate(0,0)}50%{transform:translate(-8px,8px)}}
.d-Reset02 .enter{animation:njc-enter-d-Reset02 420ms ease-out both}
.d-Reset02 .enter2{animation:njc-enter-d-Reset02 520ms ease-out 120ms both}
.d-Reset02 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Reset02 90s linear infinite}
.d-Reset02 .bob{animation:njc-bob-d-Reset02 6s ease-in-out infinite}
.d-Reset03 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset03 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset03 .btn:hover{background:#13332F;opacity:1}
@keyframes njc-enter-d-Reset03{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-fill-d-Reset03{0%,8%{opacity:0}18%,100%{opacity:1}}
.d-Reset03 .enter{animation:njc-enter-d-Reset03 420ms ease-out both}
.d-Reset03 .enter2{animation:njc-enter-d-Reset03 520ms ease-out 120ms both}
.d-Reset03 .f{animation:njc-fill-d-Reset03 10s ease-out infinite}
.d-Reset03 .f1{animation-delay:0s}
.d-Reset03 .f2{animation-delay:.6s}
.d-Reset03 .f3{animation-delay:1.2s}
.d-Reset03 .f4{animation-delay:1.8s}
.d-Reset03 .f5{animation-delay:2.4s}
.d-Reset03 .f6{animation-delay:3s}
.d-Reset03 .f7{animation-delay:3.6s}
.d-Reset03 .f8{animation-delay:4.2s}
.d-Reset03 .f9{animation-delay:4.8s}
.d-Reset03 .f10{animation-delay:5.4s}
.d-Reset04 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset04 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset04 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset04{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-draw-d-Reset04{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
@keyframes njc-pulse-d-Reset04{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.8);opacity:0}}
.d-Reset04 .enter{animation:njc-enter-d-Reset04 420ms ease-out both}
.d-Reset04 .enter2{animation:njc-enter-d-Reset04 520ms ease-out 120ms both}
.d-Reset04 .draw{stroke-dasharray:600;animation:njc-draw-d-Reset04 1800ms ease-out 300ms both}
.d-Reset04 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Reset04 2.4s ease-out infinite}
.d-Reset05 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset05 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset05 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset05{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-draw-d-Reset05{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
@keyframes njc-pulse-d-Reset05{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.8);opacity:0}}
.d-Reset05 .enter{animation:njc-enter-d-Reset05 420ms ease-out both}
.d-Reset05 .enter2{animation:njc-enter-d-Reset05 520ms ease-out 120ms both}
.d-Reset05 .draw{stroke-dasharray:600;animation:njc-draw-d-Reset05 1800ms ease-out 300ms both}
.d-Reset05 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Reset05 2.4s ease-out infinite}
.d-Reset06 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset06 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset06 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset06{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-draw-d-Reset06{from{stroke-dashoffset:600}to{stroke-dashoffset:0}}
@keyframes njc-pulse-d-Reset06{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.8);opacity:0}}
.d-Reset06 .enter{animation:njc-enter-d-Reset06 420ms ease-out both}
.d-Reset06 .enter2{animation:njc-enter-d-Reset06 520ms ease-out 120ms both}
.d-Reset06 .draw{stroke-dasharray:600;animation:njc-draw-d-Reset06 1800ms ease-out 300ms both}
.d-Reset06 .pulse{transform-origin:50% 50%;transform-box:fill-box;animation:njc-pulse-d-Reset06 2.4s ease-out infinite}
.d-Reset07 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset07 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset07 .btn:hover{background:#13332F;opacity:1}
@keyframes njc-enter-d-Reset07{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-fade-d-Reset07{0%,30%{opacity:.9}70%,100%{opacity:.15}}
@keyframes njc-grow-d-Reset07{0%,30%{transform:scale(1)}70%,100%{transform:scale(1.35)}}
.d-Reset07 .enter{animation:njc-enter-d-Reset07 420ms ease-out both}
.d-Reset07 .enter2{animation:njc-enter-d-Reset07 520ms ease-out 120ms both}
.d-Reset07 .fade{animation:njc-fade-d-Reset07 6s ease-in-out infinite alternate}
.d-Reset07 .grow{transform-origin:50% 50%;transform-box:fill-box;animation:njc-grow-d-Reset07 6s ease-in-out infinite alternate}
.d-Reset08 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset08 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset08 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset08{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.d-Reset08 .enter{animation:njc-enter-d-Reset08 420ms ease-out both}
.d-Reset08 .row{animation:njc-enter-d-Reset08 420ms ease-out both}
.d-Reset08 .r1{animation-delay:.1s}
.d-Reset08 .r2{animation-delay:.2s}
.d-Reset08 .r3{animation-delay:.3s}
.d-Reset08 .r4{animation-delay:.4s}
.d-Reset08 .r5{animation-delay:.5s}
.d-Reset09 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset09 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset09 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset09{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.d-Reset09 .enter{animation:njc-enter-d-Reset09 420ms ease-out both}
.d-Reset09 .row{animation:njc-enter-d-Reset09 420ms ease-out both}
.d-Reset09 .r1{animation-delay:.1s}
.d-Reset09 .r2{animation-delay:.2s}
.d-Reset09 .r3{animation-delay:.3s}
.d-Reset09 .r4{animation-delay:.4s}
.d-Reset09 .r5{animation-delay:.5s}
.d-Reset10 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset10 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset10 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset10{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Reset10{to{transform:rotate(360deg)}}
@keyframes njc-drift-d-Reset10{0%,100%{transform:translate(0,0)}50%{transform:translate(14px,-16px)}}
.d-Reset10 .enter{animation:njc-enter-d-Reset10 420ms ease-out both}
.d-Reset10 .enter2{animation:njc-enter-d-Reset10 520ms ease-out 120ms both}
.d-Reset10 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Reset10 80s linear infinite}
.d-Reset10 .drift{animation:njc-drift-d-Reset10 9s ease-in-out infinite}
.d-Reset11 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset11 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset11 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset11{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Reset11{to{transform:rotate(360deg)}}
.d-Reset11 .enter{animation:njc-enter-d-Reset11 420ms ease-out both}
.d-Reset11 .row{animation:njc-enter-d-Reset11 420ms ease-out both}
.d-Reset11 .r1{animation-delay:.1s}
.d-Reset11 .r2{animation-delay:.25s}
.d-Reset11 .r3{animation-delay:.4s}
.d-Reset11 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Reset11 60s linear infinite}
.d-Reset12 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset12 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset12 .btn:hover{background:#1E4A46;opacity:1}
@keyframes njc-enter-d-Reset12{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-spin-d-Reset12{to{transform:rotate(360deg)}}
.d-Reset12 .enter{animation:njc-enter-d-Reset12 420ms ease-out both}
.d-Reset12 .row{animation:njc-enter-d-Reset12 420ms ease-out both}
.d-Reset12 .r1{animation-delay:.1s}
.d-Reset12 .r2{animation-delay:.25s}
.d-Reset12 .r3{animation-delay:.4s}
.d-Reset12 .spin{transform-origin:50% 50%;transform-box:fill-box;animation:njc-spin-d-Reset12 60s linear infinite}
.d-Reset13 .mono{font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.d-Reset13 .btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;background:#0E0E0E;color:#EFEBE4;text-decoration:none;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;transition:background-color 240ms ease-out}
.d-Reset13 .btn:hover{background:#13332F;opacity:1}
@keyframes njc-enter-d-Reset13{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes njc-rise-d-Reset13{0%{transform:translateY(60px)}100%{transform:translateY(0)}}
@keyframes njc-spin-d-Reset13{to{transform:rotate(360deg)}}
.d-Reset13 .enter{animation:njc-enter-d-Reset13 420ms ease-out both}
.d-Reset13 .enter2{animation:njc-enter-d-Reset13 520ms ease-out 120ms both}
.d-Reset13 .rise{animation:njc-rise-d-Reset13 2.4s ease-out 300ms both}
.d-Reset13 .spin{transform-origin:240px 320px;animation:njc-spin-d-Reset13 90s linear infinite}
/* phones: arrows stay in view, graphics stay small */
@media(max-width:700px){
.njcb .flow-screen>div{background:inherit}
.njcb .flow-screen>div>div:last-child{position:sticky;bottom:0;z-index:3;background:inherit;flex-wrap:wrap;padding:10px 0 6px!important;gap:8px 12px!important}
.njcb .flow-screen>div>div:last-child>div{display:contents}
.njcb .flow-screen>div>div:last-child>div>span:last-child{order:3;flex:0 0 100%;font-size:11px!important;line-height:1.35;text-align:left}
.njcb [data-next],.njcb [data-back]{width:48px!important;height:48px!important}
.njcb section>.enter2>div[style*="position: relative"]{max-width:190px!important;margin:0 auto}
.njcb section>.enter2>svg{max-height:180px;display:block;margin:0 auto}
.njcb p[style*="font-size: 19px"],.njcb span[style*="font-size: 19px"]{font-size:16px!important}
.njcb span[style*="font-size: 22px"]{font-size:17px!important}
.njcb li[style*="padding: 18px 0"]{padding:8px 0!important;gap:12px!important}
.njcb span[style*="flex: 0 0 56px"]{flex-basis:36px!important;height:36px!important;font-size:11px!important}
.njcb #dayGrid{gap:8px!important}
.njcb #dayTip{font-size:18px!important}
.njcb .day{max-width:48px}
}
header a{color:inherit}
@media(max-width:700px){
.njcb .flow-screen{overflow:visible;overflow-x:clip}
.njcb .flow-screen>div>div:last-child{display:flex!important;flex-direction:row;justify-content:space-between;align-items:center}
.njcb .flow-screen>div>div:last-child>div{display:contents!important}
.njcb .flow-screen>div>div:last-child [data-next]{order:2}
.njcb .flow-screen>div>div:last-child [data-back]{order:0}
.njcb .flow-screen>div>div:last-child>div>span:first-child{order:1}
.njcb section>div:last-child>div[style*="position: relative"]{max-width:180px!important;margin:0 auto}
.njcb section>div:last-child>svg{max-height:170px;display:block;margin:0 auto}
}
.njcb h1.mono,.njcb h2.mono{font-size:11px!important;font-weight:400!important}
@media(max-width:700px){.njcb .flow-screen{min-height:calc(100vh - var(--hh,118px));min-height:calc(100svh - var(--hh,118px))}.njcb section{flex:1 1 auto!important;align-content:flex-start}.njcb section>div:last-child>div[style*="position: relative"]{width:180px!important;max-width:180px!important}}
/* real photos of Yvette, slowly alive */
.njcb .ph{position:relative;width:100%;max-width:470px;aspect-ratio:1/1}
.njcb .ph svg{position:absolute;inset:0;width:100%;height:100%}
.njcb .ph-c{position:absolute;left:0;bottom:0;width:78%;aspect-ratio:1/1;border-radius:50%;overflow:hidden}
.njcb .ph-c img{width:100%;height:100%;object-fit:cover;display:block;animation:ph-zoom 22s ease-in-out infinite alternate}
.njcb .ph-d{animation:ph-drift 10s ease-in-out infinite}
.njcb .ph-s{transform-origin:50% 50%;transform-box:fill-box;animation:ph-spin 90s linear infinite}
.njcb .ph-sm{position:relative;width:clamp(150px,17vw,230px);aspect-ratio:1/1;border-radius:50%;overflow:hidden;flex:none}
.njcb .ph-sm img{width:100%;height:100%;object-fit:cover;display:block;animation:ph-zoom 22s ease-in-out infinite alternate}
@keyframes ph-zoom{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes ph-spin{to{transform:rotate(360deg)}}
@keyframes ph-drift{0%,100%{transform:translate(0,0)}50%{transform:translate(12px,-12px)}}
@media(max-width:700px){.njcb .ph{width:190px!important;max-width:190px!important;margin:0 auto}.njcb .ph-sm{width:104px}}
@media(prefers-reduced-motion:reduce){.njcb .ph-c img,.njcb .ph-sm img,.njcb .ph-d,.njcb .ph-s{animation:none!important}}
.njcb .part-off{display:none!important}
@media(max-height:820px) and (min-width:701px){
.njcb .d-Banner02 .enter2 svg{width:52px!important;height:52px!important}
.njcb .d-Banner02 .enter2 h3{font-size:18px!important}
.njcb .d-Banner02 .enter2 p{font-size:14px!important;line-height:1.35!important}
.njcb .d-Banner02 .enter2{gap:14px 28px!important}
.njcb .d-Banner02 .enter2>div{gap:6px!important}
.njcb .d-Banner02 .ph-sm{width:130px}
}
@media(max-height:820px) and (min-width:701px){.njcb .d-Banner09 .ph-sm{width:96px}}
@media(max-width:700px){.njcb .ph,.njcb section>div:last-child>div[style*="position: relative"]{width:min(76vw,300px)!important;max-width:300px!important}.njcb .ph-sm{width:128px}}
/* photos centered inside the dotted ring */
.njcb .ph-c{left:11%;top:11%;bottom:auto;width:78%}
/* alive: hello button, quotes, AI Yvette box */
.njcb .hello{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;background:transparent;color:inherit;border:1px solid #0E0E0E;border-radius:0;cursor:pointer;font-family:'IBM Plex Mono','Courier New',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.njcb .hello[hidden]{display:none}
.njcb .d-Banner08.quotes-on figure.enter blockquote{min-height:5.2em}
.njcb .aiy-try{width:100%;max-width:560px;background:#EFEBE4;color:#1E4A46;border:1px solid #0E0E0E;padding:22px;gap:12px}
.njcb .aiy-try textarea{min-height:64px;background:#fff;color:#1E4A46;border:1px solid #0E0E0E;border-radius:0;font-size:16px}
.njcb .aiy-chips button{background:transparent;color:#1E4A46;border:1px solid #1E4A46;border-radius:0;font-size:13px;line-height:1.3;padding:6px 10px}
.njcb .aiy-log{max-height:30vh;overflow:auto}
.njcb .aiy-log:empty{display:none}
.njcb .aiy-a{font-size:15px;border-left-color:#1E4A46}
.njcb .aiy-note{font-size:12px;line-height:1.4;margin:0}
.njcb .aiy-done{background:#C7C3F0;color:#1E4A46}
.njcb .d-Banner06 section>div:first-child p{font-size:21px!important}
@media(max-width:700px){.njcb .d-Banner08.quotes-on .enter2{display:none}.njcb .d-Banner08.quotes-on figure.enter blockquote{font-size:24px!important;min-height:7em}.njcb .aiy-try{padding:14px}}
@media(max-height:820px) and (min-width:701px){.njcb .aiy-chips button{font-size:12px;padding:4px 8px}.njcb .aiy-try{padding:14px;gap:8px}.njcb .aiy-try textarea{min-height:48px}}
/* phones: the 10 day circles are a desktop extra */
@media(max-width:700px){.njcb .d-Banner03 #dayGrid{display:none}.njcb .d-Banner03 #dayGrid~div{display:none}.njcb .d-Banner03 section>div.enter2:has(#dayGrid){display:none!important}}
@media(max-width:700px){.njcb .tapday{display:none}}
