/* Taste: cinematic brand artwork + editorial type. UI UX Pro Max: touch,
   semantic contrast, predictable actions, responsive flow, reduced motion. */
.access-shell{--entry-ink:#243b31;--entry-muted:#56645b;--entry-ground:#f7f6f0;--entry-action:#285541;--entry-line:#c9d0c6;--entry-ease:cubic-bezier(.2,.8,.2,1)}
.access-art-directed{background:var(--entry-ground);color:var(--entry-ink)}
.access-art-directed .access-header{max-width:1488px;padding:24px 48px;min-height:96px}
.access-art-directed .access-main.is-welcome{width:100%;max-width:1488px;grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:0;padding:0 48px;margin:0 auto;flex:1;align-items:stretch}
.access-art-directed .access-story{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:520px;height:calc(100svh - 176px);max-height:840px;border-radius:24px;background:#173e32;padding:48px}
.access-landscape{display:none}
.access-art-directed .access-landscape{display:block;position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:64% center}
.access-art-directed .access-main.is-welcome .access-story h1{color:#fffaf0;font-size:clamp(40px,4.2vw,64px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0;max-width:650px;text-wrap:balance}
.access-art-directed .access-story>p{display:none}
.access-art-directed .access-main.is-welcome .access-panel{display:flex;align-items:center;justify-content:center;padding:40px 0 40px 64px}
.access-art-directed .access-welcome{width:100%;max-width:380px}
.access-art-directed .access-welcome h2{display:block;font-size:38px;font-weight:500;line-height:1.15;letter-spacing:-.04em;margin:0 0 20px;max-width:none}
.access-art-directed .access-welcome .access-lead{display:block;color:var(--entry-muted);font-size:16px;line-height:1.65;margin:0 0 32px;max-width:350px}
.access-art-directed .access-entry{min-height:56px;border-radius:12px;padding:16px 20px;transition:transform 140ms var(--entry-ease),background 140ms var(--entry-ease),border-color 140ms var(--entry-ease);cursor:pointer}
.access-art-directed .access-entry strong{font-size:15px;font-weight:500}
.access-art-directed .access-entry.primary{background:var(--entry-action);color:#fff;border-color:var(--entry-action)}
.access-art-directed .access-entry.secondary{background:transparent;color:var(--entry-ink);border-color:var(--entry-line)}
.access-art-directed .access-entry svg{transition:transform 140ms var(--entry-ease)}
.access-art-directed .access-existing{font-size:14px;color:var(--entry-muted);margin:24px 0 8px}
.access-art-directed .access-existing button{color:var(--entry-action);font-weight:600}
.access-art-directed .access-class-link{font-size:13px;color:var(--entry-muted);min-height:48px;margin:0}
.access-art-directed .access-footer{max-width:1488px;padding:16px 48px;min-height:80px;color:var(--entry-muted);font-size:12px}
.access-art-directed .access-footer a{display:inline-flex;align-items:center;min-height:44px}
.access-art-directed button:focus-visible,.access-art-directed a:focus-visible{outline:3px solid var(--entry-action);outline-offset:4px}
.access-art-directed .access-entry:active{transform:translateY(1px) scale(.985)}
@media(hover:hover) and (pointer:fine){.access-art-directed .access-entry:hover{transform:translateY(-1px);filter:none}.access-art-directed .access-entry.primary:hover{background:#1d4433}.access-art-directed .access-entry.secondary:hover{background:#eceee5;border-color:#8a9c8d}.access-art-directed .access-entry:hover svg{transform:translateX(3px)}.access-art-directed .access-existing button:hover,.access-art-directed .access-class-link:hover{text-decoration:underline;text-underline-offset:5px}}
@media(min-width:761px) and (max-width:1100px){.access-art-directed .access-header{padding:24px 32px}.access-art-directed .access-main.is-welcome{padding:0 32px;grid-template-columns:minmax(0,1fr) minmax(300px,1fr)}.access-art-directed .access-story{padding:32px;min-height:480px}.access-art-directed .access-main.is-welcome .access-panel{padding-left:40px}.access-art-directed .access-main.is-welcome .access-story h1{font-size:44px}.access-art-directed .access-welcome h2{font-size:34px}.access-art-directed .access-footer{padding-left:32px;padding-right:32px}}
@media(max-width:760px){
 .access-art-directed .access-header{padding:16px 24px;min-height:80px}
 .access-art-directed .access-main.is-welcome{display:flex;flex-direction:column;max-width:500px;padding:0 24px;gap:24px;flex:0;margin:0 auto}
 .access-art-directed .access-story{display:block;height:clamp(144px,23svh,200px);min-height:0;max-height:none;flex-shrink:0;padding:0;border-radius:16px}
 .access-art-directed .access-landscape{object-position:center 47%}
 .access-art-directed .access-main.is-welcome .access-story h1{display:none}
 .access-art-directed .access-main.is-welcome .access-panel{padding:0;display:block}
 .access-art-directed .access-welcome{max-width:none}
 .access-art-directed .access-welcome h2{font-size:34px;line-height:1.14;margin-bottom:16px;max-width:330px}
 .access-art-directed .access-welcome .access-lead{font-size:15px;line-height:1.6;margin-bottom:24px;max-width:none}
 .access-art-directed .access-entry{min-height:54px;padding:15px 16px}
 .access-art-directed .access-entry strong{font-size:14px}
 .access-art-directed .access-existing{margin:16px 0 0;font-size:13px}
 .access-art-directed .access-class-link{min-height:44px;font-size:13px}
 .access-art-directed .access-footer{margin-top:auto;padding:12px 16px max(12px,env(safe-area-inset-bottom));min-height:64px;font-size:11px}
 .access-art-directed .access-footer>div{gap:16px}
}
@media(max-width:360px){.access-art-directed .access-header{padding:12px 20px;min-height:72px}.access-art-directed .access-main.is-welcome{padding:0 20px;gap:20px}.access-art-directed .access-story{height:144px}.access-art-directed .access-welcome h2{font-size:30px}.access-art-directed .access-welcome .access-lead{font-size:14px;margin-bottom:20px}.access-art-directed .access-entry strong{font-size:13px}}
[data-theme="dark"] .access-art-directed{--entry-ink:#edf2e9;--entry-muted:#bbc7bc;--entry-ground:#192820;--entry-action:#b0d0b0;--entry-line:#5a7160}
[data-theme="dark"] .access-art-directed .access-entry.primary{color:#172b1d}
@media(hover:hover){[data-theme="dark"] .access-art-directed .access-entry.primary:hover{background:#c2dec1}[data-theme="dark"] .access-art-directed .access-entry.secondary:hover{background:#2a3e30}}
@media(prefers-reduced-motion:reduce){.access-art-directed .access-entry,.access-art-directed .access-entry svg{transition:none!important;transform:none!important}}

.access-art-directed .access-landscape{object-position:center 48%}
@media(max-width:760px){.access-art-directed .access-landscape{object-position:center 38%}}

@media(max-width:760px){.access-art-directed .access-story{height:clamp(160px,25svh,216px)}.access-art-directed .access-landscape{object-position:center 25%}}

.access-art-directed .access-welcome{text-align:center}
.access-art-directed .access-welcome h2{margin:0 auto 20px}
.access-art-directed .access-welcome .access-lead{margin:0 auto 32px;text-wrap:balance}
.access-art-directed .access-entry{justify-content:center;text-align:center}
.access-art-directed .access-existing{margin:24px 0 0}
@media(max-width:760px){.access-art-directed .access-welcome h2{margin-bottom:16px}.access-art-directed .access-welcome .access-lead{margin-bottom:24px}.access-art-directed .access-existing{margin-top:20px}}

@media(max-width:760px){.access-art-directed .access-landscape{object-position:center 24%}}

/* Separate composition preserves the whole scene on phones. */
.access-landscape-picture{display:contents}
@media(max-width:760px){.access-art-directed .access-story{height:auto;aspect-ratio:1672/941}.access-art-directed .access-landscape{object-fit:contain;object-position:center}}
