/* Northern Preserve — private passage. Decorative concealment, not an access-control mechanism. */
.footer-tools{display:flex;align-items:center;gap:12px}
.footer-tools>a{font-size:10px;letter-spacing:.12em;color:var(--quiet);white-space:nowrap}
.footer-tools>a:hover{color:var(--text)}
.private-seal{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--quiet);cursor:pointer;display:grid;place-items:center;transition:color .25s,background .25s}
.private-seal svg{width:13px;height:13px;display:block;transition:transform .25s}
.private-seal:hover{background:var(--surface-2);color:var(--accent-strong)}
.private-seal:hover svg{transform:translateY(-1px)}
.private-access[hidden]{display:none!important}
.private-access{position:fixed;inset:0;z-index:200;display:flex;justify-content:flex-end;isolation:isolate}
.private-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);border:0;width:100%;height:100%;opacity:0;cursor:default;transition:opacity .42s;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
.private-access.is-open .private-backdrop{opacity:1;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.private-panel{position:relative;z-index:1;overflow-y:auto;overscroll-behavior:contain;width:min(100%,470px);height:100%;background:#101a23;color:#eef2ef;box-shadow:-24px 0 90px rgba(0,0,0,.32);transform:translateX(100%);transition:transform .6s cubic-bezier(.21,.83,.19,1)}
.private-access.is-open .private-panel{transform:translateX(0)}
.private-edge{position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,#87a9a0 23%,#87a9a0 65%,transparent);opacity:.45}
.private-panel-inner{max-width:430px;min-height:100%;margin:auto;padding:33px 41px 28px;display:flex;flex-direction:column}
.private-header,.private-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.private-micro,.private-foot,.private-eyebrow{color:#90a9b1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.16em}
.private-close{border:1px solid #31424a;display:grid;place-items:center;border-radius:50%;background:none;color:#c5d3ce;width:38px;height:38px;cursor:pointer}
.private-close:hover{background:#21323b;color:#fff}
.private-close svg{height:16px;width:16px}
.private-lock{width:76px;height:86px;margin:95px 0 36px;color:#aec9c0;display:flex;align-items:center}
.private-lock svg{width:60px;height:66px;overflow:visible}
.private-shackle{transform-origin:39px 29px;transition:transform .65s cubic-bezier(.2,.75,.2,1)}
.private-access.is-unlocked .private-shackle{transform:rotate(-30deg) translate(-1px,-3px)}
.private-access.is-unlocked .private-lock-body{stroke:#d3e2d0}
.private-eyebrow{margin:0 0 22px;color:#b3c9c2}
.private-panel h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(50px,5vw,65px);line-height:1.04;letter-spacing:-.055em;margin:0 0 22px}
.private-panel h2 em{font-weight:400;color:#b1c9bf}
.private-description{font-size:15px;line-height:1.75;color:#b6c5c8;margin:0 0 40px;max-width:320px}
#private-access-form{width:100%}
#private-access-form label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;color:#c0d0d0;display:block;margin-bottom:12px}
.private-field{display:flex;align-items:center;min-height:54px;border:1px solid #5b737e;background:#0d151c;transition:border-color .2s}
.private-field:focus-within{border-color:#c0d8d0;box-shadow:0 0 0 1px #c0d8d0}
.private-field input{width:100%;min-width:0;flex:1;border:0;background:transparent;color:#f1f4f2;font-size:16px;outline:0;min-height:52px;padding:14px 15px}
.private-field input::placeholder{color:#92a4a9;opacity:1}
.private-reveal{border:0;background:transparent;color:#b5c7c6;font-size:10px;letter-spacing:.06em;font-weight:600;cursor:pointer;padding:18px 12px}
.private-reveal:hover{color:white}
.private-error{min-height:24px;font-size:12px;color:#ecc8bc;margin:10px 0 3px;line-height:1.4}
.private-enter{width:100%;min-height:55px;background:#b7d3c9;border:1px solid #b7d3c9;color:#0b151b;cursor:pointer;font-weight:650;font-size:13px;display:flex;justify-content:space-between;align-items:center;padding:0 18px;transition:background .2s}
.private-enter:hover{background:#d1e6dc}
.private-enter:disabled{opacity:.66;cursor:wait}
.private-enter span:last-child{font-size:20px;font-weight:400}
.private-foot{border-top:1px solid #31414a;margin-top:auto;padding-top:26px;line-height:1.6;letter-spacing:.06em;font-size:9px}
.private-panel :focus-visible{outline:2px solid #d1e6dc;outline-offset:3px}
@media(max-width:760px){
 .footer-tools{gap:5px}
 .private-panel{width:min(100%,430px)}
 .private-panel-inner{padding:26px 25px 24px}
 .private-lock{margin-top:65px}
 .private-description{margin-bottom:30px}
 .private-foot{padding-top:22px}
}
@media(max-width:410px){.private-panel-inner{padding-left:19px;padding-right:19px}.private-panel h2{font-size:52px}.private-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){.private-backdrop,.private-panel,.private-shackle,.private-seal,.private-seal svg,.private-enter{transition:none!important}}

/* v2: discrete owner entrance, deliberately without hover/cursor affordances. */
.private-seal,.private-seal:hover,.private-seal:active{
  cursor:default;
  color:var(--quiet);
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.private-seal svg,.private-seal:hover svg,.private-seal:active svg{transform:none;transition:none}
.private-seal:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}
#private-access-form .private-email-field{margin-bottom:23px}
#private-email{font:inherit;font-size:16px}
#private-access-form input:focus{outline:0}

/* Keep original Northern star passage during the identity migration. */
.np-legacy-access-link{color:#b5cec5;text-decoration:underline;text-underline-offset:4px;font:10px ui-monospace,monospace;letter-spacing:.06em}
.private-mfa-wrapper{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.private-mfa-wrapper label{color:#a4b6bc;font-size:11px;letter-spacing:.06em}
.private-mfa-wrapper .private-field input{width:100%;min-height:48px;padding:12px 15px;background:#0e171e;color:#f0f2ef;border:1px solid #52616a;font-size:16px}

/* Single-door Northern identity / sequential authentication + private workspace picker */
.private-access [hidden]{display:none!important}
.private-panel-inner{padding:27px 39px 29px}
.private-lock{height:69px;width:69px;margin:26px 0 25px}
.private-lock svg{width:55px;height:62px}
.private-eyebrow{margin-bottom:17px}
.private-panel h2{font-size:clamp(44px,4.7vw,61px);line-height:1.055;margin-bottom:19px}
.private-description{font-size:14px;line-height:1.65;margin-bottom:25px}
#private-access-form .private-email-field{margin-bottom:18px}
#private-access-form label{margin-bottom:10px}
.private-stage-indicator{display:flex;align-items:center;gap:10px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.095em;color:#b7dfd0;margin:2px 0 22px}
.private-stage-dot{flex:0 0 auto;display:inline-block;height:7px;width:7px;background:#9ad6bc;border-radius:50%;box-shadow:0 0 12px rgba(154,214,188,.46)}
.private-back{border:0;background:none;color:#b3c9c7;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:17px 0 0}
.private-back:hover{color:#f0f6f1}
.private-workspace-choices{display:grid;gap:12px;width:100%;animation:np-choices-enter .28s ease both}
@keyframes np-choices-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.private-workspace-choices h3{font:400 clamp(30px,4vw,37px) Georgia,serif;color:#edf4ef;letter-spacing:-.045em;margin:0}
.private-workspace-choices .private-stage-indicator{margin-bottom:2px}
.private-choose-copy{font-size:13px;color:#b6c9c8;line-height:1.7;margin:0 0 12px}
.private-workspace-link{display:flex;flex-direction:column;gap:18px;border:1px solid #44636a;padding:20px 20px 18px;background:#14242c;min-height:142px;transition:border-color .18s,background .18s,transform .18s;color:#edf3ee;text-decoration:none}
.private-workspace-link:hover,.private-workspace-link:focus-visible{border-color:#b7d8ca;background:#1b333a;transform:translateY(-2px);outline-offset:3px}
.private-workspace-num{font:10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;color:#9cb5bb}
.private-workspace-name{font:400 30px Georgia,serif;letter-spacing:-.035em;line-height:1.1}
.private-workspace-name em{font-weight:400;color:#b8d8c9}
.private-workspace-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:#b5c7c9}
.private-workspace-bottom b{font-weight:400;font-size:20px;color:#c2dfd5}
.private-foot{margin-top:auto;padding-top:22px;gap:8px}
@media(max-height:850px){.private-lock{margin-top:15px;margin-bottom:12px;height:50px}.private-lock svg{height:50px}.private-description{margin-bottom:17px}.private-panel-inner{padding-top:20px}.private-panel h2{font-size:48px}}
@media(max-width:760px){.private-panel-inner{padding:22px 24px 24px}.private-lock{margin-top:18px;margin-bottom:18px}.private-panel h2{font-size:clamp(45px,10vw,58px)}}
@media(max-width:410px){.private-panel-inner{padding-left:19px;padding-right:19px}.private-workspace-link{min-height:126px;padding:17px}.private-workspace-name{font-size:27px}}
@media(prefers-reduced-motion:reduce){.private-workspace-choices{animation:none}.private-workspace-link{transition:none}}
