/* Pulso access. The available height is a layout constraint, not a clipping mask. */
.access-page{padding:16px;min-height:100svh;background:var(--bg)}
.access-stage{height:calc(100svh - 32px);min-height:0;max-width:1680px;margin:auto;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--border);border-radius:26px;background:var(--bg);display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.access-header,.access-main,.access-footer{position:relative;z-index:1}
.access-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 40px}
.access-wordmark{display:flex;gap:9px;align-items:center;line-height:1;font:750 35px Outfit,sans-serif;letter-spacing:-1.6px}
.access-edition{display:grid;place-items:center;align-self:flex-start;width:22px;height:25px;margin-top:1px;border:1px solid var(--border-strong);border-radius:7px;font:12px 'JetBrains Mono',monospace;letter-spacing:0;color:var(--text-body)}
.access-product{padding-left:25px;margin-left:16px;border-left:1px solid var(--border-strong);font:9px/1.7 'JetBrains Mono',monospace;letter-spacing:1.25px;color:var(--text-muted)}
.access-controls{display:flex;align-items:center}.access-controls .icon-btn{width:44px;min-width:44px;height:44px;background:var(--bg-raised)}
.access-main{width:100%;max-width:1232px;justify-self:center;min-height:0;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:64px;padding:0 56px}
.access-story{min-width:0}.access-object{display:flex;align-items:center;gap:22px;perspective:700px;margin:0 0 20px -12px}
.access-object .jelly{width:clamp(130px,19vh,196px);height:clamp(130px,19vh,196px);object-fit:contain;animation:access-glass-turn 7.5s ease-in-out infinite alternate;transform-style:preserve-3d}
.access-object-caption{font:9px/1.8 'JetBrains Mono',monospace;letter-spacing:1.4px;white-space:nowrap;color:var(--text-muted);border-left:1px solid var(--border-strong);padding-left:18px}
.access-kicker{display:flex;align-items:center;gap:10px;font:9px/1.6 'JetBrains Mono',monospace;letter-spacing:1.2px;color:var(--text-muted);margin-bottom:18px}
.access-kicker>span{display:block;width:22px;height:1px;background:var(--text-muted)}
.access-story h1{font-size:clamp(58px,min(6.5vw,9.8vh),94px);font-weight:500;line-height:1.02;letter-spacing:-.05em}
.access-story h1>span{color:var(--text-body);font-weight:350;white-space:nowrap}
.access-story p{font-size:14px;line-height:1.8;max-width:34ch;margin-top:20px;color:var(--text-body)}
.access-sequence{display:flex;gap:22px;margin-top:28px;padding-top:20px;border-top:1px solid var(--border);max-width:410px}
.access-sequence>span{font-size:11px;color:var(--text-body);white-space:nowrap}.access-sequence b{font:9px 'JetBrains Mono',monospace;color:var(--text-muted);margin-right:7px;font-weight:400}
.access-entry{width:100%;max-width:460px;justify-self:end;min-width:0}
.access-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:26px;padding:32px 34px 16px;box-shadow:12px 16px 36px var(--shade),-1px -1px 0 var(--highlight);animation:access-arrive .4s ease-out both}
.access-card-top{display:flex;align-items:center;gap:18px;margin-bottom:24px}.access-key.neo{width:40px;height:40px;border-radius:13px}.access-key .ph{font-size:21px}.access-card-top .eyebrow{font-size:9px;letter-spacing:1.2px;color:var(--text-body)}
.access-card h2{font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-1.1px}.access-card .access-intro{font-size:12px;margin:8px 0 24px;color:var(--text-body)}
.access-field{margin-top:18px}.access-field label{font-size:12px;margin-bottom:8px}.access-field input{font-size:16px;height:50px;min-height:50px;line-height:24px;padding:12px 14px;transition:border-color .16s,box-shadow .16s}.access-field input::placeholder{font-size:13px}.access-field input[aria-invalid="true"]{border-color:var(--bad)}
.access-password{position:relative}.access-password input{padding-right:56px}.access-password button{position:absolute;right:3px;top:3px;width:44px;height:44px;border:0;border-radius:10px;background:transparent;color:var(--text-muted);display:grid;place-items:center}.access-password button:hover{color:var(--text);background:var(--bg-rest)}.access-password button .ph{font-size:19px}
.access-form .access-caps{font-size:11px;color:var(--warn-text);margin-top:8px}.access-form .form-error{line-height:1.6;margin-top:14px;padding:12px}.access-form .form-error:focus{outline:2px solid var(--bad-text);outline-offset:3px}
.access-form .access-submit{display:flex;width:100%;min-height:50px;justify-content:space-between;margin-top:24px;padding:12px 22px;font-size:15px;transition:background .18s}.access-submit .ph{font-size:20px;transition:transform .18s}@media(hover:hover){.access-submit:hover:not(:disabled) .ph{transform:translateX(3px)}}
.access-help{font-size:11px;text-align:center;margin-top:12px;color:var(--text-muted)}.access-help summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;list-style:none}.access-help summary::-webkit-details-marker{display:none}.access-help summary:hover,.access-help[open] summary{color:var(--text-body)}.access-help p{font-size:12px;text-align:left;border-top:1px solid var(--border);margin:8px 0 0;padding-top:12px}
.access-entry-note{font-size:10px;text-align:center;margin:16px 0 0;color:var(--text-muted)}
.access-footer{display:flex;align-items:center;gap:22px;padding:20px 40px}.access-footer .brand-logo{width:190px;height:27px;object-fit:contain}.access-footer>p{font-size:10px;margin:0;padding-left:22px;border-left:1px solid var(--border-strong);color:var(--text-muted)}.access-footer-label{margin-left:auto;font:8px/1.8 'JetBrains Mono',monospace;letter-spacing:1.2px;color:var(--text-muted)}
.access-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:strict}.access-contour{position:absolute;width:880px;height:580px;border:1px solid var(--border);border-radius:44%;opacity:.75}
.contour-one{top:-300px;right:-260px;box-shadow:0 0 0 32px var(--bg-raised),0 0 0 33px var(--border),0 0 0 75px var(--bg),0 0 0 76px var(--border);animation:access-contour-one 19s ease-in-out infinite alternate}
.contour-two{right:-450px;bottom:-290px;width:1100px;height:680px;box-shadow:0 0 0 42px var(--bg-raised),0 0 0 43px var(--border),0 0 0 86px var(--bg),0 0 0 87px var(--border);animation:access-contour-two 23s ease-in-out infinite alternate}
.contour-three{left:-550px;top:25%;opacity:.3;animation:access-contour-one 26s ease-in-out infinite alternate-reverse}
.access-skip{position:fixed;top:12px;left:24px;z-index:20;padding:12px 20px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:12px;transform:translateY(-150%)}.access-skip:focus{transform:translateY(0)}
@keyframes access-contour-one{from{transform:translate3d(0,0,0) rotate(-28deg)}to{transform:translate3d(-24px,28px,0) rotate(-20deg)}}
@keyframes access-contour-two{from{transform:translate3d(0,0,0) rotate(-28deg)}to{transform:translate3d(30px,-22px,0) rotate(-35deg)}}
@keyframes access-glass-turn{from{transform:translate3d(0,0,0) rotateX(-12deg) rotateY(-20deg) rotateZ(-3deg)}to{transform:translate3d(0,-6px,0) rotateX(10deg) rotateY(20deg) rotateZ(2deg)}}
@keyframes access-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.access-main{max-width:1392px;gap:100px}.access-entry{max-width:480px}.access-card{padding-left:40px;padding-right:40px}}
@media(max-width:1100px){.access-main{padding:0 32px;gap:32px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.access-story h1{font-size:clamp(48px,6vw,68px)}.access-card{padding:26px 24px 12px}.access-card h2{font-size:26px}.access-product,.access-object-caption,.access-footer-label{display:none}.access-sequence{gap:14px}.access-sequence b{display:block;margin-bottom:4px}.access-header,.access-footer{padding-left:28px;padding-right:28px}}
@media(max-height:800px) and (min-width:801px){.access-page{padding:12px}.access-stage{height:calc(100svh - 24px)}.access-header{padding-top:10px;padding-bottom:10px}.access-footer{padding-top:8px;padding-bottom:8px}.access-object{margin-bottom:12px}.access-object .jelly{width:112px;height:112px}.access-story h1{font-size:clamp(48px,5.5vw,68px)}.access-kicker{margin-bottom:12px}.access-story p{font-size:12px;margin-top:16px}.access-sequence{margin-top:20px;padding-top:16px}.access-card-top{display:none}.access-card{padding-top:24px;padding-bottom:12px}.access-card h2{font-size:26px}.access-card .access-intro{margin-bottom:18px}.access-field{margin-top:14px}.access-field input{height:48px;min-height:48px;padding:11px 14px}.access-password input{padding-right:55px}.access-password button{top:2px;right:2px}.access-submit{min-height:48px!important;margin-top:20px!important}.access-help{margin-top:8px}.access-entry-note{margin-top:12px}}
@media(max-height:620px) and (min-width:801px){.access-object .jelly{width:86px;height:86px}.access-story h1{font-size:54px}.access-story p,.access-sequence,.access-entry-note,.access-card .access-intro{display:none}.access-card{padding-top:20px;padding-bottom:10px}.access-field{margin-top:12px}.access-card h2{font-size:24px}.access-kicker{font-size:8px}.access-object-caption{font-size:8px}}
@media(max-width:800px){.access-page{padding:12px}.access-stage{height:auto;min-height:calc(100svh - 24px);grid-template-rows:auto 1fr auto;border-radius:24px}.access-header{padding:14px 22px}.access-wordmark{font-size:30px}.access-main{grid-template-columns:1fr;gap:22px;padding:10px 22px 12px;max-width:500px}.access-story{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center}.access-story-copy{display:contents}.access-kicker{grid-column:1/-1;grid-row:1;max-width:none;font-size:7px;letter-spacing:.75px;margin-bottom:10px;gap:8px}.access-kicker>span{width:12px}.access-story h1{grid-column:1;grid-row:2;font-size:44px;letter-spacing:-2.2px}.access-object{grid-column:2;grid-row:2;margin:0}.access-object .jelly{width:106px;height:106px;margin-left:-13px}.access-story p{grid-column:1/-1;grid-row:3;font-size:12px;max-width:42ch;margin-top:12px}.access-sequence,.access-card-top{display:none}.access-entry{max-width:none;justify-self:stretch}.access-card{padding:24px 24px 10px}.access-card h2{font-size:26px}.access-card .access-intro{margin-bottom:18px;font-size:11px}.access-field{margin-top:16px}.access-entry-note{font-size:9px;margin-top:12px}.access-footer{padding:14px 22px;justify-content:center}.access-footer>p,.contour-three{display:none}.contour-one{width:560px;height:400px;top:-300px;right:-400px}.contour-two{width:640px;height:500px;bottom:80px;right:-450px;opacity:.55}}
@media(max-width:800px) and (max-height:850px){.access-header{padding-top:10px;padding-bottom:10px}.access-main{gap:18px;padding-top:4px;padding-bottom:8px}.access-story p,.access-entry-note{display:none}.access-story h1{font-size:40px}.access-object .jelly{width:94px;height:94px}.access-card{padding-top:20px}.access-card .access-intro{margin-bottom:16px}.access-footer{padding-top:10px;padding-bottom:10px}}
@media(max-width:380px){.access-page{padding:8px}.access-stage{min-height:calc(100svh - 16px)}.access-header{padding-left:18px;padding-right:18px}.access-main{padding-left:16px;padding-right:16px;gap:16px}.access-story{grid-template-columns:minmax(0,1fr) 66px}.access-story h1{font-size:36px;letter-spacing:-1.8px}.access-object .jelly{width:86px;height:86px}.access-card{padding:20px 18px 8px}.access-card h2{font-size:24px}.access-card .access-intro{font-size:10px}}
/* Error/help states can grow instead of hiding required content. */
.access-stage:has(.access-help[open]),.access-stage:has(.form-error:not(:empty)){height:auto;min-height:calc(100svh - 32px);grid-template-rows:auto 1fr auto}.access-stage:has(.access-help[open]) .access-main,.access-stage:has(.form-error:not(:empty)) .access-main{padding-top:18px;padding-bottom:18px}
@media(max-height:479px){.access-stage{height:auto;min-height:calc(100svh - 24px);grid-template-rows:auto 1fr auto}.access-main{padding-top:12px;padding-bottom:12px}}
@media(prefers-reduced-motion:reduce){.access-contour,.access-object .jelly,.access-card{animation:none}}

.access-field[hidden]{display:none}.access-stage:has(#login-factor:not([hidden])){height:auto;min-height:calc(100svh - 32px)}
