@import url("/fonts.css");


:root{--paper:#f8f5ee;--ink:#24221f;--gold:#b49a65;--muted:#76736c}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Open Sans",sans-serif}button,input,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #b49a65;outline-offset:5px}button,a{min-height:44px}
.login{min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.left{background:#24221f;color:#f8f5ee;position:relative;min-height:100svh;padding:48px 56px;overflow:hidden}.identity{width:160px;display:block}.headline{position:absolute;left:10%;top:50%;transform:translateY(-50%);margin:0;font-size:clamp(46px,5.3vw,86px);font-weight:400;line-height:1.08;letter-spacing:-.055em}.left-foot{position:absolute;left:10%;bottom:42px;font-size:10px;color:#b6b1a6;letter-spacing:.06em}.right{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:80px 48px}.access{width:310px;text-align:center;position:relative}.entry-brand{position:static;width:200px;max-width:100%;margin:0 auto 38px;transform:none}.entry-brand img{width:100%;height:auto;display:block}.signin{border:1px solid #b3a080;background:#b49a65;color:#24221f;border-radius:3px;padding:0 20px;height:50px;width:100%;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 5px 14px #28251f08}.arrow{font-size:19px;font-weight:400}.provider{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:9px 0 41px;font-size:8px;color:#726f69}.provider img{width:84px;height:14px;object-fit:contain}.invite{width:100%;background:none;border:0;color:#565149;font-size:12px;min-height:44px}.invite span{color:#9c8455;margin-left:9px}.invite-form{margin:10px 0 0;text-align:left;font-size:12px}.invite-form label{display:block;margin-bottom:8px}.invite-form input{width:100%;height:44px;border:1px solid #c8bdac;background:#fffdf8;border-radius:3px;padding:8px}.invite-form button{margin-top:10px;border:1px solid #c8bdac;background:transparent;width:100%;font-size:12px}.support{position:absolute;bottom:40px;right:44px;text-align:right;font-size:10px;line-height:1.8;color:#76716a}.support p{margin:0 0 5px}.support a{display:inline-flex;align-items:center;color:#59544c;text-decoration:none;font-size:11px}.legal{position:absolute;bottom:40px;left:42px;font-size:10px;color:#76716a}.legal a{display:inline-flex;align-items:center;color:inherit;text-decoration:none}.legal span{margin:0 7px;color:#b0a79a}
.intro{position:fixed;inset:0;z-index:5;background:#24221f;color:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden}.intro-inner{width:min(760px,85vw);text-align:center;position:relative;z-index:1}.welcome{margin:0 0 22px;font-size:13px;font-weight:400;letter-spacing:.14em;color:#c5c0b5;animation:rise 1.5s cubic-bezier(.16,1,.3,1) .25s both}.intro-logo{width:min(390px,65vw);height:auto;animation:logoIn 2.1s cubic-bezier(.16,1,.3,1) .5s both}.words{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 1.6fr;margin:46px auto 0;max-width:650px;gap:28px}.word{overflow:hidden;border-top:1px solid #b49a654a;padding-top:20px;text-align:center}.word span{display:block;color:#d3bc8f;font-size:clamp(18px,2vw,27px);font-weight:400;letter-spacing:-.025em;animation:unfold 2.2s cubic-bezier(.16,1,.3,1) both;animation-delay:1.55s}.word:nth-child(2) span{animation-delay:1.75s}.word:nth-child(3) span{animation-delay:1.95s}.watermark{position:absolute;width:75vw;height:75vw;max-width:1000px;max-height:1000px;right:-24vw;bottom:-39vw;opacity:.035;transform:rotate(-16deg)}.skip{position:absolute;bottom:34px;right:44px;border:0;background:none;color:#bfb7a9;font-size:11px;padding:10px}.intro{animation:exit .85s cubic-bezier(.4,0,.2,1) 7s both}.intro.skipped{animation:none;opacity:0;visibility:hidden;pointer-events:none}.preview-note{display:none}dialog{max-width:330px;background:var(--paper);border:1px solid #c9bea9;padding:28px;font-size:13px}dialog::backdrop{background:#24221f88}dialog button{display:block;margin-top:16px;background:none;border:1px solid #c9bea9;padding:8px 16px}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes logoIn{from{opacity:0;transform:scale(.94) translateY(15px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes unfold{from{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}@keyframes exit{from{opacity:1;visibility:visible}to{opacity:0;visibility:hidden;pointer-events:none}}
@media(max-width:760px){.login{grid-template-columns:minmax(0,1fr)}.left{min-height:280px;padding:25px 28px}.identity{width:125px}.headline{position:static;transform:none;font-size:47px;margin:28px 0 4px;line-height:1.07;letter-spacing:-.05em}.left-foot{display:none}.right{min-height:calc(100svh - 280px);padding:54px 28px 140px}.access{width:100%;max-width:310px}.support{bottom:19px;right:25px;font-size:9px}.support a{font-size:10px}.legal{bottom:19px;left:25px;font-size:9px}.words{gap:14px;margin-top:34px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 1.6fr}.word{padding-top:15px}.word span{font-size:clamp(14px,4vw,22px);white-space:nowrap}.welcome{font-size:11px;margin-bottom:18px}.skip{right:20px;bottom:20px}.watermark{width:130vw;height:130vw;right:-55vw;bottom:-45vw}.intro-logo{width:74vw}.provider{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.intro{display:none}*{animation:none!important}}

/* Shared public sign-in and recovery components. */
.login-card{position:relative;width:310px;max-width:100%;min-width:0}.login-footer{position:absolute;left:0;right:0;bottom:40px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 44px;font-size:10px;color:#76716a}.login-footer nav{display:flex;align-items:center;gap:10px}.login-footer button{background:transparent;border:0;color:inherit;font:inherit;padding:0;min-height:44px}.support-block{text-align:right}.support-block p{margin:0;font-size:10px;line-height:1.6}.support-block .signin-help{font-size:11px;display:block;margin-left:auto}.invitation-box{margin:0}.invitation-box summary{min-height:44px;display:flex;align-items:center;justify-content:center;list-style:none;font-size:12px;color:#565149;cursor:pointer}.invitation-box summary::-webkit-details-marker{display:none}.invitation-box form{text-align:left;font-size:12px;padding-top:14px}.invitation-box label{display:block;margin-bottom:8px}.invitation-box input{display:block;width:100%;min-height:44px;padding:10px;border:1px solid #c8bdac;background:#fffdf8;border-radius:3px;font-size:16px}.invitation-box form button{margin-top:12px;min-height:44px;width:100%;border:1px solid #b49a65;border-radius:3px;background:#b49a65;color:#24221f;font-size:12px}.login-error{font-size:13px;line-height:1.5;color:#8d3028;text-align:left;margin:0 0 18px}.entry-dialog{width:min(520px,calc(100vw - 32px));max-width:520px;max-height:85svh;overflow:auto;border:1px solid #c9bea9;padding:28px;border-radius:4px;background:#f8f5ee;color:#24221f}.entry-dialog h2{font-size:23px;font-weight:400;margin:0 0 18px}.entry-dialog p{font-size:14px;line-height:1.65;white-space:pre-wrap}.entry-dialog button{min-width:80px}.state-title{font-size:21px;font-weight:400;letter-spacing:-.025em;margin:0 0 16px}.state-copy{font-size:13px;line-height:1.65;color:#76716a;margin:0 0 22px}.intro[hidden]{display:none}.intro{animation:none}.intro.playing{animation:none}.intro:not(.playing) .intro-inner *{animation-play-state:paused}.intro.playing .intro-inner *{animation-play-state:running}.intro:not([hidden]) .intro-inner{pointer-events:none}.left a{color:inherit}.signin:hover{filter:brightness(1.035)}.signin:active{filter:brightness(.97)}button:disabled{opacity:.55;cursor:wait}body.intro-active{overflow:hidden}body.intro-active .login-layout{opacity:0;visibility:visible}.intro{height:100svh}.intro .skip{z-index:2}
@media(max-width:760px){.left{display:flex;flex-direction:column;justify-content:center}.headline{margin:0}.right{padding-top:141px;padding-bottom:135px;min-height:calc(100svh - 280px)}.login-footer{bottom:18px;padding:0 24px;font-size:9px;gap:10px}.support-block p{font-size:9px;max-width:170px}.support-block .signin-help{font-size:10px}.entry-brand{width:200px;margin-bottom:38px}.entry-dialog{padding:22px}.state-title{font-size:19px}}
@media(max-height:620px) and (min-width:761px){.right{min-height:620px}.left{min-height:620px}.intro{min-height:100svh}}
@media(prefers-reduced-motion:reduce){body.intro-active{overflow:auto}body.intro-active .login-layout{visibility:visible}}

/* v088-r2: one shared center line for headline and primary brand/sign-in group. */
.login-card{height:calc(200px * 166 / 507 + 88px)}
.entry-primary{position:relative}
.session-expired .login-card,.login-card:has(.login-error),.login-card:has(.invitation-box[open]){height:auto}
.right:has(.invitation-box[open]){align-items:flex-start;padding-top:max(80px,calc(50svh - 76.75px));padding-bottom:150px}
html.intro-pending body{background:#24221f}
html.intro-pending .login-layout{opacity:0;visibility:hidden}
html.intro-pending #praxis-intro[hidden]{display:flex}
html.intro-pending .intro-inner{visibility:hidden}
.intro-lockup{position:relative;width:min(390px,65vw);margin:0 auto;transform-origin:0 0;will-change:transform}
.intro-lockup .intro-logo{display:block;width:100%;height:auto}
.intro-logo-dark{position:absolute;inset:0;display:block;width:100%;height:auto;opacity:0}
body.intro-ending .login-layout{opacity:1;transition:opacity 1050ms cubic-bezier(.22,1,.36,1)}
body.intro-active .entry-brand{visibility:hidden}
.intro.ending{background:transparent;transition:background-color 1050ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.intro.ending .welcome,.intro.ending .words,.intro.ending .watermark,.intro.ending .skip{opacity:0;transition:opacity 450ms ease}
.intro.ending .intro-logo{animation:none;transform:none;opacity:0;transition:opacity 800ms ease}
.intro.ending .intro-logo-dark{opacity:1;transition:opacity 800ms ease}
body.intro-ending .entry-brand{visibility:hidden}
@media(max-width:760px){.right{padding:80px 28px 130px}.right:has(.invitation-box[open]){padding-top:90px;padding-bottom:150px}.intro-lockup{width:74vw}}
@media(prefers-reduced-motion:reduce){html.intro-pending .login-layout,body.intro-active .login-layout{opacity:1;visibility:visible}body.intro-active .entry-brand{visibility:visible}}

/* r3: grid children must shrink below their intrinsic content width. */
.left,.right{min-width:0}.login-card{flex:0 1 310px}
@media(min-width:761px) and (max-width:1000px){.right{padding-left:24px;padding-right:24px}.login-footer{padding-left:24px;padding-right:24px;gap:12px}.login-footer nav{gap:8px}.support-block p{max-width:180px}}

/* Mobile footer participates in layout so invitation content cannot overlap it. */
@media(max-width:760px){
 .right,.right:has(.invitation-box[open]){display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:80px 28px 24px;gap:32px}
 .login-card{flex-shrink:0}
 .login-footer{position:static;width:100%;padding:0;flex:none;align-items:flex-start;gap:16px;flex-wrap:wrap}
 .support-block{margin-left:auto;max-width:100%}
 .support-block p{max-width:100%;line-height:1.6}
}
