/* The original brand artwork stays intact; depth is made by the scene. */
.gin-intro{display:none}
.gin-intro-active .gin-intro{position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;overflow:hidden;background:#eeece3;color:#173c37;isolation:isolate;perspective:1100px}
.gin-intro-active .cookie-banner{visibility:hidden;pointer-events:none}
.gin-intro-active{overflow:hidden}
.gin-intro-active body{overflow:hidden}
.gin-intro::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 50% 35%,#fff 0%,#f8f6edc0 28%,transparent 58%),radial-gradient(ellipse at 85% 15%,#f451271a,transparent 42%),radial-gradient(ellipse at 10% 80%,#173c3714,transparent 50%);z-index:-1}
.gin-intro-room{position:absolute;inset:-20%;perspective:800px;perspective-origin:50% 40%;pointer-events:none}
.gin-intro-floor{position:absolute;width:200%;height:200%;left:-50%;top:30%;background-image:linear-gradient(#173c3720 1px,transparent 1px),linear-gradient(90deg,#173c3720 1px,transparent 1px);background-size:100px 100px;transform:rotateX(73deg) translateZ(-90px);transform-origin:50% 0;mask-image:linear-gradient(transparent,#000 25%,#000 65%,transparent);animation:gin-intro-grid 6s linear infinite}
.gin-intro-portal{position:absolute;inset:14% 20%;border:1px solid #173c3729;transform:translateZ(-280px);box-shadow:0 0 70px #fff8,inset 0 0 70px #fff7;animation:gin-intro-portal 5s ease-in-out infinite}
.gin-intro-portal:nth-child(3){inset:5% 12%;transform:translateZ(-600px);animation-delay:-2.5s;border-color:#173c3715}
.gin-intro-glow{position:absolute;left:50%;top:49%;width:46vw;height:46vw;max-width:600px;max-height:600px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#fff 0%,#fff7 25%,transparent 66%);filter:blur(20px)}
.gin-intro-content{position:relative;display:flex;align-items:center;flex-direction:column;width:min(540px,calc(100% - 48px));padding:32px 0 56px;text-align:center;transform-style:preserve-3d}
.gin-intro-emblem{position:relative;width:clamp(168px,19vw,244px);aspect-ratio:182/170;transform-style:preserve-3d;transform:rotateX(10deg) rotateY(-14deg);animation:gin-intro-emblem 5.5s cubic-bezier(.45,0,.55,1) infinite;filter:drop-shadow(20px 30px 20px #173c371a)}
.gin-intro-emblem img{position:absolute;inset:0;width:100%;height:100%;display:block;backface-visibility:visible;transform:translateZ(24px)}
.gin-intro-emblem .gin-intro-depth{filter:brightness(.7);transform:translateZ(var(--depth));pointer-events:none}
.gin-intro-shadow{width:200px;height:28px;margin:8px 0 26px;border-radius:50%;background:#173c3719;filter:blur(15px);transform:rotateX(55deg);animation:gin-intro-shadow 5.5s ease-in-out infinite}
.gin-intro-wordmark{display:block;width:min(340px,90%);height:auto;max-height:80px;object-fit:contain}
.gin-intro-progress{width:min(310px,88%);margin:36px 0 0}
.gin-intro-progress-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;font-size:12px;line-height:1.45;letter-spacing:.035em}
.gin-intro-count{font-variant-numeric:tabular-nums;font-weight:600;font-size:16px}
.gin-intro-track{height:2px;background:#173c3719;overflow:hidden;border-radius:3px}
.gin-intro-track span{display:block;height:100%;width:0;background:#f45127;box-shadow:0 0 12px #f451274d;transition:width .35s ease}
.gin-intro-skip{position:absolute;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:transparent;border:0;border-bottom:1px solid #173c3730;padding:8px 2px;color:#36564f;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.gin-intro-skip:focus-visible{outline:2px solid #f45127;outline-offset:6px}
.gin-intro.is-departing{animation:gin-intro-exit .65s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
@keyframes gin-intro-emblem{0%,100%{transform:translateY(0) rotateX(10deg) rotateY(-14deg)}50%{transform:translateY(-12px) rotateX(-5deg) rotateY(15deg)}}
@keyframes gin-intro-shadow{0%,100%{opacity:.75;transform:scale(1) rotateX(55deg)}50%{opacity:.35;transform:scale(.8) rotateX(55deg)}}
@keyframes gin-intro-grid{to{background-position:0 100px,0 100px}}
@keyframes gin-intro-portal{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes gin-intro-exit{0%{opacity:1;transform:translateZ(0)}100%{opacity:0;transform:translateZ(130px) scale(1.12)}}
@media(max-width:600px){.gin-intro-content{padding-bottom:35px}.gin-intro-room{inset:-5% -30%}.gin-intro-portal{inset:18% 25%}.gin-intro-progress{margin-top:30px}.gin-intro-shadow{margin-bottom:22px}.gin-intro-emblem{width:196px}.gin-intro-wordmark{width:290px;max-width:94%}}
@media(max-height:480px){.gin-intro-content{padding:16px 0 35px}.gin-intro-emblem{width:110px}.gin-intro-shadow{margin:0 0 8px;height:15px}.gin-intro-wordmark{width:240px}.gin-intro-progress{margin-top:14px}.gin-intro-skip{bottom:8px}}
@media(prefers-reduced-motion:reduce){.gin-intro *,.gin-intro.is-departing{animation:none!important;transition:none!important}.gin-intro-emblem{transform:rotateX(8deg) rotateY(-8deg)}}
