:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;background:#0d213b;color-scheme:dark;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100svh;background:radial-gradient(ellipse at 50% 28%,#142e4d 0%,#0d213b 62%,#0a1b31 100%)}.entry{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px 36px}.entry-logo{position:relative;width:min(760px,100%);aspect-ratio:1600/360;overflow:hidden;margin-bottom:48px;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.entry-logo img{position:absolute;width:128%;max-width:none;left:0;top:-25%;height:auto}.access-form{width:min(380px,100%)}h1{font-size:24px;font-weight:600;letter-spacing:-.5px;text-align:center;margin:0 0 12px}label{display:block;font-size:14px;font-weight:600;margin-bottom:10px;color:#d1dfef}input,button{font:inherit;width:100%;min-height:56px;border-radius:8px}input{color-scheme:light;background:#fff;color:#10253f;border:2px solid transparent;padding:15px 17px;letter-spacing:2px;text-transform:uppercase;font-size:17px}input::placeholder{font-size:13px;letter-spacing:1.5px;color:#79899b}input:focus-visible,button:focus-visible{outline:3px solid #6ac6ff;outline-offset:4px}input[aria-invalid="true"]{border-color:#efa2a2}button{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:17px;background:#078bea;color:#fff;border:1px solid #249ef4;font-weight:600;cursor:pointer;transition:background .15s}button:hover{background:#159bf7}button:disabled{opacity:.7;cursor:wait}#access-error{min-height:44px;margin:14px 0 0;color:#ffbfc1;font-size:14px;line-height:1.5;text-align:center}@media(max-width:520px){.entry{padding:32px 24px}.entry-logo{margin-bottom:38px;width:100%}h1{font-size:22px}}

.remember-device{display:flex;align-items:flex-start;gap:10px;margin:17px 0 0;cursor:pointer;font-size:14px;line-height:1.45}.remember-device input{width:19px;height:19px;min-height:19px;padding:0;margin:2px 0 0;flex:none;accent-color:#168fea}.remember-device small{display:block;font-size:12px;font-weight:400;color:#b7c8db;margin-top:3px}



.remember-device[hidden]{display:none}

.visitor-fields{margin-top:20px}.visitor-fields[hidden]{display:none}#visitor-name{text-transform:none;letter-spacing:normal}#visitor-name::placeholder{letter-spacing:normal;font-size:15px}

@property --entry-orbit{syntax:"<angle>";initial-value:0deg;inherits:false}
.visitor-name-frame{position:relative;border-radius:8px;box-shadow:0 0 0 1px #ffb56b55}
.visitor-name-frame::after{content:"";position:absolute;inset:-2px;border-radius:10px;padding:2px;pointer-events:none;background:conic-gradient(from var(--entry-orbit),transparent 0deg,transparent 245deg,#f39c45 308deg,#ffe0b7 340deg,transparent 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:entry-border-trace 3s linear infinite}
#visitor-name:focus-visible{outline:2px solid #ffbd78;outline-offset:4px}
@keyframes entry-border-trace{to{--entry-orbit:360deg}}
.entry-success{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;margin-top:17px;padding:6px 16px;border:1px solid #ffb56b80;border-radius:8px;background:linear-gradient(110deg,#f4a44c14,#152433);box-shadow:0 0 16px #f4a44c10;animation:entry-confirm .2s ease-out both}
.entry-success[hidden],.access-form button[hidden]{display:none}
.entry-success img{width:40px;height:42px;object-fit:contain;flex:none}
.entry-success strong{display:block;color:#ffbd78;font-size:16px;font-weight:650;line-height:1.4}
.entry-success span{display:block;color:#b7c8db;font-size:12px;line-height:1.4}
.access-form[data-entry-state="granted"] .visitor-name-frame{box-shadow:0 0 0 1px #ffbd78,0 0 15px #f4a44c1c}
.access-form[data-entry-state="granted"] .visitor-name-frame::after{animation:none;opacity:0}
@keyframes entry-confirm{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.visitor-name-frame::after{animation:none;background:#ffb56b99}.entry-success{animation:none}}

/* Fixed HTML windows keep each moving letter on its own composited layer. */
.entry-reveal-logo{aspect-ratio:1600/480;margin-bottom:32px;mask-image:none;isolation:isolate}
.entry-brand-stage{position:relative;display:block;width:100%;height:100%;overflow:visible}
.entry-brand-stage svg{display:block;width:100%;height:100%;overflow:hidden}
.entry-brand-mark,.entry-letter-window{position:absolute}
.entry-brand-mark{transform:translate3d(168.067227%,0,0)}
.entry-letter-window{overflow:hidden;contain:paint}
.entry-brand-letter{width:100%;height:100%;transform:translate3d(0,108%,0);opacity:0}
.entry-brand-details{position:absolute;inset:0;opacity:0}
.entry-reveal-logo[data-entry-prepared] .entry-brand-mark,.entry-reveal-logo[data-entry-prepared] .entry-brand-letter{will-change:transform,opacity}
.entry-reveal-logo[data-entry-prepared] .entry-brand-details{will-change:opacity}
.entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-mark{animation:entry-mark-settle 640ms cubic-bezier(.25,.7,.25,1) both}
.entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-letter{animation:entry-letter-rise 780ms cubic-bezier(.25,.7,.25,1) var(--letter-delay) both}
.entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-details{animation:entry-lockup-finish 360ms ease 1400ms both}
.entry-logo.entry-reveal-logo::after{width:128%;aspect-ratio:2048/683;left:0;top:-19.791667%;animation:none}
.entry-reveal-logo[data-entry-reveal="granted"]::after{animation:entry-reveal-shimmer 1000ms ease-in-out 1850ms both}
.access-form{position:relative}
.access-form>.access-code-field,.access-form>.visitor-fields,.access-form>.remember-device{transition:opacity 250ms ease}
.access-form[data-entry-state="granted"]>.access-code-field,.access-form[data-entry-state="granted"]>.visitor-fields,.access-form[data-entry-state="granted"]>.remember-device{opacity:0;pointer-events:none}
.access-form[data-entry-state="granted"] .entry-success{position:absolute;top:12px;left:0;right:0;margin-top:0;min-height:76px;animation:entry-confirm 350ms ease-out both}
.access-form[data-entry-state="granted"] .entry-success img{width:48px;height:51px}
.access-form[data-entry-state="granted"] .entry-success span{font-size:14px;margin-top:2px}
@keyframes entry-mark-settle{from{transform:translate3d(168.067227%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes entry-letter-rise{0%{transform:translate3d(0,108%,0);opacity:0}18%{opacity:1}100%{transform:translate3d(0,0,0);opacity:1}}
@keyframes entry-lockup-finish{from{opacity:0}to{opacity:1}}
@keyframes entry-reveal-shimmer{0%{-webkit-mask-position:150% 0;mask-position:150% 0;opacity:0}15%{opacity:.75}80%{opacity:.75}100%{-webkit-mask-position:-50% 0;mask-position:-50% 0;opacity:0}}
@media(max-width:520px){.entry-reveal-logo{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){
 .entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-mark{animation:none;transform:translate3d(0,0,0)}
 .entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-letter{animation:none;transform:translate3d(0,0,0);opacity:1}
 .entry-reveal-logo[data-entry-reveal="granted"] .entry-brand-details{animation:none;opacity:1}
 .entry-reveal-logo[data-entry-reveal="granted"]::after{animation:none;opacity:0}
 .access-form[data-entry-state="granted"] .entry-success{animation:none}
 .access-form>.access-code-field,.access-form>.visitor-fields,.access-form>.remember-device{transition:none}
}

/* Access codes stay masked until the visitor deliberately reveals them. */
.access-code-field{position:relative}
#access-code{padding-right:62px}
#access-code[type="password"]{-webkit-text-security:disc}
#access-code[type="text"]{-webkit-text-security:none}
#access-code::-ms-reveal,#access-code::-ms-clear{display:none}
.access-code-field .access-code-toggle{position:absolute;right:6px;top:6px;width:44px;height:44px;min-height:44px;margin:0;padding:11px;border:0;border-radius:5px;background:transparent;color:#50647a;gap:0}
.access-code-field .access-code-toggle:hover{background:#eaf0f6;color:#10253f}
.access-code-field .access-code-toggle:focus-visible{outline:2px solid #087ac4;outline-offset:-2px}
.access-code-toggle svg{display:block;width:22px;height:22px;pointer-events:none}
.access-code-toggle .access-eye-slash{display:none}
.access-code-toggle[aria-pressed="true"] .access-eye-slash{display:block}
/* Keep the recognized NAM identity clear of the password focus outline. */
.access-form #nam-entry-identity{display:block;margin:14px 0 0;padding:0 2px;min-height:24px;line-height:1.5;font-size:15px;font-weight:600;color:#bdddf3;text-align:left;white-space:normal;overflow-wrap:anywhere}
.access-form #nam-entry-identity[hidden]{display:none}
.access-form #nam-entry-identity:not([hidden])+.remember-device{margin-top:14px}
