/* Shared, deliberately small: first-paint loading and access dialogs on every route. */
html{scrollbar-gutter:stable;scrollbar-width:thin}
::-webkit-scrollbar{width:6px;height:5px}
html.site-loading,html.has-access-modal,html.has-art-modal{overflow:hidden!important}
.site-loader{position:fixed;inset:0;z-index:1000;background:#fff;color:#101010;align-items:center;justify-content:center;flex-direction:column;gap:12px;pointer-events:auto;opacity:1;transition:opacity .32s ease}
.site-loading .site-loader{display:flex}
.site-loader img{position:absolute;left:50vw;top:50%;translate:-50% -50%;width:112px;height:87.111px;max-width:none;object-fit:contain;animation:orbit-breathe 1.6s ease-in-out infinite}
.site-releasing .site-loader{opacity:0;pointer-events:none}
@keyframes orbit-breathe{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}
.access-dialog{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:#101010;overflow:auto;overscroll-behavior:contain;align-items:center;justify-items:center;font-family:'Inter Tight',Arial,sans-serif}
.access-dialog[open]{display:grid}
.access-dialog::backdrop{background:rgba(16,16,16,.28);backdrop-filter:blur(7px);opacity:0;transition:opacity .3s ease}
.access-dialog.is-visible::backdrop{opacity:1}
.access-surface{position:relative;width:min(100%,640px);padding:54px 40px 38px;border:1px solid #e5e5e5;border-radius:14px;background:#fff;box-shadow:0 26px 100px rgba(0,0,0,.14);box-sizing:border-box;margin:auto;overflow:visible}
.access-arrival{position:fixed;pointer-events:none;background:#fff;border-radius:14px;box-shadow:0 26px 100px rgba(0,0,0,.14);visibility:hidden;transform-origin:center}
.access-close{position:absolute;top:17px;right:17px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid #e8e8e8;border-radius:50%;background:#fff;color:#101010;cursor:pointer;transition:background .2s,border-color .2s}
.access-close:hover{background:#f7f5f1;border-color:#e0c8a8}
.access-close svg{width:18px;height:18px}
.access-title{font-size:clamp(38px,min(5.4vw,8.7svh),64px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0 0 20px;padding:0 0 .07em;outline:none}
.access-copy{margin:0;color:#626262;font-size:19px;line-height:1.5;letter-spacing:-.02em;max-width:44ch}
.access-email-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 22px;padding:10px 0;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5}
.access-email{font-size:19px;line-height:1.4;color:#101010;text-decoration:none;overflow-wrap:anywhere;user-select:all}
.access-email:hover{text-decoration:underline;text-underline-offset:4px}
.access-copy-email{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid #e5e5e5;border-radius:50%;background:#fff;color:#101010;cursor:pointer;transition:background .2s}
.access-copy-email:hover{background:#f7f5f1}
.access-copy-email svg{width:18px;height:18px}
.access-copy-email .copy-tick{display:none}.access-copy-email.is-copied .copy-tick{display:block}.access-copy-email.is-copied .copy-glyph{display:none}
.access-action{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 20px;border-radius:7px;background:#101010;color:#fff;text-decoration:none;font-size:17px;line-height:1.4;transition:background .2s}
.access-action:hover{background:#282828}.access-action svg{width:23px;height:23px;flex-shrink:0;transition:transform .25s}.access-action:hover svg{transform:translate(2px,-2px)}
.access-feedback{position:absolute;left:24px;right:24px;bottom:13px;margin:0;color:#626262;font-size:12px;line-height:1.5;text-align:center}
.access-dialog button:focus-visible,.access-dialog a:focus-visible{outline:2px solid #9b7952;outline-offset:4px}
@media(max-width:600px){.access-dialog{padding:14px}.access-surface{padding:60px 24px 36px;border-radius:13px}.access-close{top:12px;right:12px}.access-title{font-size:clamp(36px,10.4vw,56px);margin-bottom:20px}.access-copy{font-size:17px}.access-email-row{margin:24px 0 20px;gap:8px}.access-email{font-size:17px}.access-action{font-size:16px}.access-feedback{font-size:11px}}
@media(max-height:650px) and (min-width:601px){.access-dialog{padding:16px}.access-surface{padding:50px 36px 34px}.access-title{font-size:clamp(36px,8.2svh,52px);margin-bottom:16px}.access-copy{font-size:17px}.access-email-row{margin:20px 0 18px;padding:7px 0}}
@media(max-height:470px){.access-surface{padding:55px 28px 30px}.access-title{font-size:36px;margin-bottom:12px;line-height:1}.access-copy{font-size:15px;line-height:1.4}.access-email-row{margin:15px 0 12px;padding:3px 0}.access-email{font-size:16px}.access-action{min-height:46px;font-size:15px;padding:11px 16px}.access-feedback{bottom:8px;font-size:11px}}
@media(max-height:600px) and (max-width:600px){.access-surface{padding:60px 22px 32px}.access-title{font-size:36px;margin-bottom:16px}.access-copy{font-size:15px;line-height:1.45}.access-email-row{margin:20px 0 16px;padding:6px 0}.access-action{min-height:48px;font-size:15px;padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.site-loader img{animation:none}.site-loader,.access-dialog::backdrop,.access-dialog button,.access-dialog a,.access-action svg{transition:none}}
html.motion-off .site-loader img{animation:none}
