@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400&display=swap');
* { box-sizing:border-box; }
body { margin:0; background:#303030; color:#fff; font-family:Manrope,sans-serif; }
.entrance { position:relative; height:100svh; isolation:isolate; overflow:hidden; }
.entrance-anywhere { position:absolute; inset:0; z-index:0; display:block; cursor:pointer; touch-action:manipulation; }
.entrance-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; z-index:-3; transition:opacity 1700ms cubic-bezier(.22,.61,.36,1); }
.entrance-photo.is-visible { opacity:1; }
.entrance::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.06) 70%,rgba(0,0,0,.38)); pointer-events:none; }
.entry-brand { position:absolute; z-index:1; bottom:5%; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100% - 44px); display:flex; align-items:center; justify-content:center; gap:24px; margin:0; text-shadow:0 1px 8px #0005; pointer-events:none; }
.entry-brand img { display:block; width:40px; height:auto; margin:0; flex-shrink:0; }
.entry-name { display:flex; align-items:center; gap:20px; }
.entry-brand h1 { font-size:18px; font-weight:400; line-height:1.5; letter-spacing:.14em; margin:0; }
.entry-english { font:400 17px/1.6 "Day Navigation",sans-serif; letter-spacing:.12em; margin:0; white-space:nowrap; }
.entry-caption { font-size:11px; line-height:1.8; letter-spacing:.025em; margin:0 0 0 4px; opacity:.75; white-space:nowrap; }
.enter-link { position:absolute; z-index:2; top:76%; left:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; justify-content:center; min-width:104px; min-height:44px; padding:8px 20px; border:1px solid rgba(255,255,255,.85); border-radius:7px; background:rgba(255,255,255,.82); color:#333; font-family:"Day Navigation",sans-serif; font-size:17px; line-height:1.5; letter-spacing:.18em; text-indent:.18em; text-decoration:none; transition:background .25s ease,border-color .25s ease; }
.enter-link:hover { background:rgba(255,255,255,.96); border-color:#fff; }
a:focus-visible,button:focus-visible { outline:1px solid white; outline-offset:4px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
button.sr-only:focus { z-index:3; width:auto; height:auto; clip:auto; margin:0; padding:12px; left:20px; bottom:20px; background:#303030; color:white; }
@media(max-width:900px) { .entry-caption { display:none; } }
@media(max-width:600px) { .entry-brand { bottom:5%; gap:18px; } .entry-brand img { width:38px; } .entry-name { gap:15px; } .entry-brand h1 { font-size:15px; letter-spacing:.08em; } .entry-english { font-size:15px; letter-spacing:.07em; } }
@media(max-width:360px) { .entry-name { gap:10px; } .entry-brand img { width:32px; } .entry-brand h1 { font-size:14px; } .entry-english { font-size:14px; } }
@media(max-height:650px) and (min-width:601px) { .entry-brand { bottom:4%; } .entry-brand img { width:36px; } .entry-brand h1 { font-size:16px; } }
@media(prefers-reduced-motion:reduce) { .entrance-photo,.enter-link { transition:none; } }
