/* Continuous access stage: immediate form, native overflow and persistent gallery. */
.auth-page{--access-paper:#eee8dd;--access-dim:#bbb6ac;--access-metal:var(--primary);background:#0a0c0d;color:var(--access-paper)}
.auth-page #main{position:relative;isolation:isolate;min-height:100svh}
.access-header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 4.2vw;pointer-events:none}
.access-header a,.access-header button{pointer-events:auto}
.access-header .brand{font-size:25px;letter-spacing:.12em;gap:8px}
.access-header .brand-symbol{font-size:27px;color:var(--access-metal)}
.access-header__caption{position:fixed;left:50%;top:43px;z-index:4;pointer-events:none;white-space:nowrap;margin:0;font-size:9px;letter-spacing:.26em;color:#c3b9a5;transform:translate(-50%,-50%);transition:left .55s cubic-bezier(.22,.7,.3,1),top .55s cubic-bezier(.22,.7,.3,1),opacity .3s}
.access-header__caption.is-moving{opacity:0}
.access-header__actions{display:flex;align-items:center;gap:24px}
.motion-control{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid rgba(var(--accent-rgb),0.1216);border-radius:40px;background:#141718c9;color:#d2c8b8;font-size:11px}
.motion-control[hidden]{display:none}.motion-control:hover{border-color:rgba(var(--accent-rgb),0.4392);background:#242624}
.motion-control .play-symbol{display:none}.motion-control[aria-pressed=true] .play-symbol{display:block}.motion-control[aria-pressed=true] .pause-symbol{display:none}
.access-world{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 62% 37%,#27272266,transparent 55%),#0a0c0d}
.cinema-wall{position:absolute;top:-25%;left:-20%;width:140%;height:150%;transform:perspective(1300px) rotateY(-8deg) rotateZ(-12deg) scale(1.08);filter:blur(6px) saturate(.65);opacity:.66;contain:layout}
.access-gallery-pending .cinema-wall{visibility:hidden}
.cinema-track{display:flex;width:max-content;margin:0 0 18px;animation:cinema-drift 102s linear infinite;animation-play-state:paused;will-change:transform}
.cinema-sequence{display:flex;gap:18px;padding-right:18px;flex-shrink:0}
.cinema-frame{position:relative;width:clamp(310px,32vw,580px);aspect-ratio:1.5;flex-shrink:0;border:1px solid rgba(var(--accent-rgb),0.1176);background:#161c1c;padding:10px 0;box-shadow:0 12px 40px #0009}
.cinema-frame:before,.cinema-frame:after{content:'';position:absolute;left:8px;right:8px;height:4px;background:repeating-linear-gradient(90deg,#8b867755 0 7px,transparent 7px 20px)}
.cinema-frame:before{top:3px}.cinema-frame:after{bottom:3px}.cinema-frame img{width:100%;height:100%;object-fit:cover}
.frame-edge{position:absolute;bottom:16px;left:16px;font-size:7px;letter-spacing:.15em;color:#e4d4b7aa}
.cinema-track--one{margin-left:-290px}.cinema-track--two{margin-left:-570px;animation-direction:reverse;animation-duration:116s}.cinema-track--three{margin-left:-150px;animation-duration:94s}
.cinema-live .cinema-track{position:relative;display:block;width:100%;height:calc(clamp(310px,32vw,580px) / 1.5);margin-left:0;animation:none;will-change:auto}
.cinema-live .cinema-sequence{display:contents}.cinema-live .cinema-frame{position:absolute;top:0;left:0;will-change:transform}
.cinema-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#080b0dbb,transparent 24%,transparent 78%,#080a0bc9),radial-gradient(ellipse at 50% 48%,#090c0d12 25%,#090c0d4d 66%,#090c0dbb 100%)}
.aperture-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 62% 35%,#d8c79809,transparent 42%)}
.access-spotlight{position:absolute;inset:0;opacity:0;transition:opacity .5s;mix-blend-mode:screen;background:radial-gradient(280px circle at var(--light-x,50%) var(--light-y,50%),#dcc89a29,#dac69a0c 38%,transparent 75%)}
.access-pointer .access-spotlight{opacity:1}
.access-section{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:99px 24px 27px;outline:none}
.access-card.is-arriving{animation:form-arrive .3s cubic-bezier(.2,.7,.3,1) both}
.access-card.is-navigating{opacity:.68;transition:opacity .15s}
.access-card{position:relative;width:100%;max-width:470px;padding:26px 39px 24px;background:linear-gradient(150deg,#202321f5,#111617f5 62%);border:1px solid #b9a47b36;border-radius:16px;box-shadow:0 25px 90px #0009,0 2px 0 #e5c79009 inset;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:border-color .2s,box-shadow .3s}
.access-card:before{content:'';position:absolute;inset:-1px 12% auto;height:1px;background:linear-gradient(90deg,transparent,#d0b17a90,transparent);pointer-events:none}
.access-section:focus-within .access-card{opacity:1;transform:none}
.access-card__topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:#b6af9f;font-size:8px;letter-spacing:.19em}
.access-card__mark{font:25px/1 var(--display);color:#e1ceac;letter-spacing:-3px}.access-card__mark span{font-size:14px;vertical-align:baseline;margin-left:2px}
.access-lock{color:#bda986}.access-lock svg{width:13px;height:15px}
.access-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #93866b36;margin-bottom:24px}
.access-tabs a{position:relative;display:grid;place-items:center;min-height:46px;padding:11px 8px;color:#b5b3aa;font-size:12px}
.access-tabs a:after{content:'';position:absolute;left:10%;right:10%;bottom:-1px;height:1px;transform:scaleX(0);background:#d3bb90;transition:transform .25s}
.access-tabs a[aria-current]{color:#efe7d9}.access-tabs a[aria-current]:after,.access-tabs a:hover:after{transform:scaleX(1)}
.access-kicker{text-align:center;color:var(--primary);font-size:8px;letter-spacing:.24em;margin:4px 0 10px}
.access-card h2{font-size:clamp(42px,4vw,51px);line-height:1.02;letter-spacing:-.045em;text-align:center;margin-bottom:13px}.access-card h2 em{color:#d3c09e}
.access-description{text-align:center;font-size:13px;line-height:1.65;color:var(--access-dim);margin-bottom:22px}
.access-card .auth-form .field{font-size:12px;gap:8px;margin-bottom:18px;color:#dad6cc}
.access-card .auth-form input:not([type=checkbox]){background:#0d1314aa;border:1px solid #7c7f7247;border-radius:7px;min-height:54px;font-size:14px;padding:13px 15px;transition:background .2s,border-color .2s,box-shadow .2s}
.access-card .auth-form input::placeholder{color:#999e96}
.access-card .auth-form input:hover{border-color:#a39d8d88}
.access-card .auth-form input:focus{background:#101718;border-color:var(--primary);outline:2px solid var(--primary);outline-offset:3px;box-shadow:0 0 0 5px rgba(var(--accent-rgb),0.0314)}
.access-card .password-label{font-size:12px;margin-bottom:8px;color:#dad6cc}.access-card .password-label a{font-size:11px;color:#d0bb98}
.access-card .password-input{margin-bottom:20px}.access-card .password-input input{padding-right:80px!important}
.access-card .access-terms{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:11px;margin:4px 0 21px;font-size:12px;line-height:1.65;color:#c3beb2}.access-card .access-terms input[type=checkbox]{position:static;align-self:start;transform:none;min-height:0;width:17px;height:17px;flex:none;margin:2px 0 0;accent-color:var(--primary)}.access-terms a{text-decoration:underline;text-underline-offset:3px}
.access-card .auth-form>.button{height:54px;min-height:54px;justify-content:center;position:relative;background:var(--primary);border-color:#dfc8a0;border-radius:7px;color:#1a211f;font-size:14px;letter-spacing:.025em}
.access-submit .button-arrow{position:absolute;right:18px;transition:transform .25s}
.access-submit:hover .button-arrow{transform:translateX(4px)}
.access-submit.is-submitting .button-arrow{opacity:0}
.access-extra{font-size:11px;line-height:1.8;color:#b5b3a8;margin:18px 0 0;text-align:center}.access-extra a{color:#d5c3a2;text-decoration:underline;text-decoration-color:#d5c3a255;text-underline-offset:4px}.access-extra a:hover{color:#f1dfba}
.access-back{display:flex;justify-content:center;margin-top:15px}
.access-card .field-help{font-size:11px}.access-card .notice{font-size:13px;padding:12px 14px;margin:16px 0 20px}
.access-development{color:#b4b1a5;font-size:10px;line-height:1.7;margin-top:14px}.access-development summary{cursor:pointer;padding:3px 0;width:max-content;max-width:100%;margin:auto}.access-development p{padding:10px 12px;background:#202723;border-radius:4px;margin:6px 0 0}
.access-card__foot{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:18px;font:italic 14px/1.3 var(--display);color:#bcb4a4}.access-card__foot>span:first-child,.access-card__foot>span:last-child{height:1px;width:25px;background:#bdad882e}
.access-footer{display:flex;flex-direction:column;align-items:center;gap:13px;margin:42px auto 0;color:#b0ab9f;text-align:center}.access-footer>span{font-size:7px;letter-spacing:.25em}.access-footer>div{display:flex;gap:22px;font-size:10px}.access-footer a{padding:5px}.access-footer a:hover{color:#e4cda6}

.access-legal-dialog{position:fixed;inset:0;margin:auto;width:min(680px,calc(100% - 32px));max-height:calc(100svh - 48px);padding:0;border:1px solid #b9a47b55;border-radius:16px;background:#141a1af7;color:var(--access-paper);box-shadow:0 30px 100px #000b;overflow:auto;overscroll-behavior:contain}
.access-legal-dialog::backdrop{background:#0508089e;backdrop-filter:blur(6px)}
.access-legal-toolbar{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;background:#141a1af7;border-bottom:1px solid #a3916e2e;color:#d0be9c;font-size:12px}
.access-dialog-close{position:relative;display:grid;place-items:center;border:1px solid #a3916e55;border-radius:50%;width:38px;height:38px;background:#202626;color:#e5ddcd;cursor:pointer}.access-dialog-close svg{width:18px}
.access-legal-content{padding:8px 26px 30px}.access-legal-content .legal-copy{max-width:none;width:auto;padding:16px 0;margin:0}.access-legal-content h1{font-size:36px}.access-legal-content h2{font-size:23px}.access-legal-content p{font-size:14px;line-height:1.8}
.recovery-delivery{position:absolute;inset:0;pointer-events:none;overflow:hidden}.delivery-cat{position:absolute;right:44px;top:10px;width:50px;height:32px;opacity:0;transform:translateX(-14px)}.delivery-arrow{position:absolute;right:18px;top:17px}.delivery-arrow svg{width:20px;height:20px}
.recovery-submit.is-submitting .delivery-cat{animation:cat-deliver .46s cubic-bezier(.2,.65,.4,1) both}.recovery-submit.is-submitting .delivery-arrow{animation:arrow-deliver .46s cubic-bezier(.2,.65,.4,1) both}.recovery-submit.is-submitting:after{left:14px;right:auto}
.access-paused .password-guardian *{animation-play-state:paused!important}.access-paused .access-spotlight,.access-static .access-spotlight{opacity:0!important}
@keyframes cinema-drift{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes form-arrive{from{opacity:.35;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes cat-deliver{0%{opacity:0;transform:translateX(-18px)}18%{opacity:1;transform:translateX(-10px) rotate(-5deg)}45%{transform:translateX(0) rotate(4deg)}70%{opacity:1;transform:translateX(12px) rotate(-3deg)}100%{opacity:0;transform:translateX(62px)}}
@keyframes arrow-deliver{0%,35%{transform:translateX(0)}65%{transform:translateX(10px)}100%{transform:translateX(50px)}}
@media(min-width:1700px){.access-card{max-width:500px;padding:32px 44px}.access-card h2{font-size:56px}.access-description{font-size:14px}.access-card .auth-form .field{font-size:13px}.access-card .auth-form input:not([type=checkbox]){font-size:15px}}
@media(max-width:900px){.access-header{padding:21px 26px}.cinema-wall{left:-45%;width:190%;top:-12%}.cinema-frame{width:390px}.cinema-live .cinema-track{height:260px}.access-section{padding-top:98px}.access-header__caption{font-size:8px;letter-spacing:.18em}}
@media(max-width:600px){.access-header{padding:16px 20px;gap:10px}.access-header .brand{font-size:19px;letter-spacing:.1em}.access-header .brand-symbol{font-size:23px}.access-header__actions{gap:8px}.motion-control{width:40px;min-height:40px;justify-content:center;padding:8px}.motion-control>span{display:none}.cinema-wall{width:220%;left:-65%;top:-4%;filter:blur(5px) saturate(.6);transform:rotate(-14deg)}.cinema-frame{width:310px}.cinema-track{margin-bottom:12px}.cinema-live .cinema-track{height:207px}.cinema-sequence{gap:12px;padding-right:12px}.access-section{padding:91px 18px 27px;justify-content:flex-start}.access-card{max-width:430px;padding:23px 25px;border-radius:13px;background:linear-gradient(155deg,#1d2321f7,#0f1516f7);backdrop-filter:none;-webkit-backdrop-filter:none}.access-card__topline{font-size:7px;letter-spacing:.13em;margin-bottom:15px}.access-tabs{margin-bottom:24px}.access-tabs a{font-size:12px}.access-kicker{font-size:7px}.access-card h2{font-size:45px}.access-description{font-size:13px;margin-bottom:23px}.access-card .auth-form input:not([type=checkbox]){font-size:16px}.access-card .password-label a{font-size:11px}.access-card__foot{font-size:13px}.access-footer{margin-top:42px}.access-footer>span{font-size:6px}.access-footer>div{font-size:10px}.access-header__caption{font-size:6px;letter-spacing:.15em;top:74px}.access-legal-dialog{max-height:calc(100svh - 24px)}}
@media(max-width:360px){.access-header{padding-inline:15px}.access-section{padding-inline:12px}.access-card{padding-inline:21px}.access-card h2{font-size:40px}}
@media(max-height:700px) and (min-width:601px){.access-section{padding-top:86px}}
@media(prefers-reduced-motion:reduce){.access-spotlight{display:none!important}.cinema-track,.access-card.is-arriving,.delivery-cat,.delivery-arrow{animation:none!important;will-change:auto}.cinema-live .cinema-frame{will-change:auto}.access-card,.access-header__caption{transition:none!important}.access-header__caption.is-moving{opacity:1}.delivery-cat{display:none}.delivery-arrow{opacity:0}.access-section{min-height:100svh}}
@media(forced-colors:active){.access-world{display:none}.access-card,.access-legal-dialog{border:1px solid CanvasText;background:Canvas;box-shadow:none}.access-tabs a[aria-current]{border-bottom:2px solid Highlight}.access-card .auth-form input{border:1px solid CanvasText}.access-card__topline,.access-kicker,.access-description{color:CanvasText}}
/* Laptop heights keep the primary action in the first viewport. Natural overflow
   remains available for validation messages, zoom, and the on-screen keyboard. */
@media (max-height:900px) and (min-width:601px){
 .access-card{padding:20px 36px}.access-card__topline,.access-card__foot,.access-kicker{display:none}
 .access-tabs{margin-bottom:17px}.access-card h2{font-size:44px;margin-bottom:9px}
 .access-description{margin-bottom:16px}.access-card .auth-form .field{margin-bottom:15px}
 .access-card .password-input{margin-bottom:16px}.access-extra{margin-top:12px}
 .access-section{padding-top:87px;padding-bottom:18px}.access-footer{margin-top:26px;gap:9px}
}
@media (max-height:720px) and (min-width:601px){
 .access-description{display:none}.access-footer>span{display:none}.access-footer{margin-top:20px}
 .access-card h2{margin-bottom:18px}
}

.recovery-flyout{position:fixed;z-index:60;pointer-events:none;color:#19211f;opacity:1!important;overflow:hidden;border-radius:7px}.recovery-flyout:after{display:none!important}.delivery-in-flight>.recovery-delivery{visibility:hidden}
/* The session notice uses normal grid flow; legacy absolute notice icons cannot cover its copy. */
.auth-page .access-card .notice.session-expired{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;padding:13px 14px;line-height:1.65}
.auth-page .access-card .notice.session-expired::before{content:none;display:none}
.auth-page .access-card .notice.session-expired>.icon{position:static;display:block;width:20px;height:20px;min-width:20px;margin:1px 0 0;color:var(--primary)}
.auth-page .access-card .notice.session-expired>span{min-width:0;overflow-wrap:anywhere}
