/* Film first, followed by a deliberate entrance into the website. */
body:has(> .intro-gate[open]){overflow:hidden;padding-bottom:0}
body:has(> .intro-gate[open]) #site-shell{display:none}
.intro-gate{position:fixed;inset:0;z-index:200;overflow:auto;background:#06070d;color:#f3f0eb;isolation:isolate}
.intro-gate:not([open]){display:none}
.intro-gate [hidden]{display:none!important}
.intro-skip{position:fixed;top:max(22px,env(safe-area-inset-top));right:max(6%,env(safe-area-inset-right));z-index:5;list-style:none;display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 16px;border:1px solid #dec38c6b;background:#080a12bf;color:#ecd7ac;cursor:pointer;font-size:.875rem;line-height:1.4}
.intro-skip::-webkit-details-marker{display:none}.intro-skip::marker{content:''}
.intro-skip:focus-visible{outline:2px solid #dec38c;outline-offset:5px}
.intro-skip svg,.intro-enter svg{width:24px;height:18px;flex-shrink:0}
.intro-skip-word{display:none}
.intro-stage{min-height:100svh;padding:90px 0 45px;background:radial-gradient(ellipse at 70% 45%,#38205c30,transparent 65%),#06070d}
.intro-film{display:block;width:100%;max-height:48svh;object-fit:contain;background:#030408}
.intro-end{text-align:center;padding:32px 7%;margin:auto;max-width:1150px}
.intro-end-logo{display:block;width:132px;height:104px;object-fit:contain;margin:0 auto 30px}
.intro-title{font-size:clamp(2.5rem,6.7vw,6.5rem);font-weight:650;letter-spacing:-.05em;line-height:1.04;margin:0;color:#f5f2eb}
.intro-title:focus{outline:none}
.intro-title em{font-style:normal;color:#e6ca91}
.intro-with{display:block;font-size:clamp(1.05rem,2.1vw,1.7rem);font-weight:400;letter-spacing:.015em;line-height:1.5;color:#b9b2c6;margin-top:25px}
.intro-with strong{font-weight:500;color:#f0d9a8}
.intro-actions{margin-top:38px;display:flex;flex-direction:column;align-items:center;gap:16px}
.intro-enter{min-width:240px;min-height:58px;font-size:1rem;gap:30px}
.intro-replay{min-height:44px;padding:8px 18px;border:0;background:none;color:#c2b5d7;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}
.intro-status{font-size:.875rem;color:#c8bdd6;line-height:1.6;margin:0;max-width:400px}
.intro-brand{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(6%,env(safe-area-inset-left));z-index:3;display:flex;align-items:center;gap:12px;font-size:.875rem;line-height:1.35;letter-spacing:.09em}
.intro-brand img{width:66px;height:52px;object-fit:contain}
.intro-brand span span{display:block;color:#dcc18a;letter-spacing:.14em;font-size:.75rem}
.intro-controls{position:absolute;z-index:3;left:max(6%,env(safe-area-inset-left));right:max(6%,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom))}
.intro-controls-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.intro-pause{min-height:44px;padding:9px 17px;border:1px solid #d3bb8e80;background:#080a12bf;color:#ede0c4;font-size:.875rem}
.intro-time{font-size:.875rem;font-variant-numeric:tabular-nums;color:#d7cedf}
.intro-progress{display:block;width:100%;height:2px;border:0;background:#9a89b642;accent-color:#e4c891}
.intro-progress::-webkit-progress-bar{background:#9a89b642}.intro-progress::-webkit-progress-value{background:#e4c891}.intro-progress::-moz-progress-bar{background:#e4c891}
.intro-services{font-size:.75rem;color:#bcb0cc;letter-spacing:.06em;line-height:1.8;text-align:center;margin:17px 0 0}
.intro-play{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:16px;background:#07080f4d}
.intro-play button{display:flex;align-items:center;gap:15px;min-height:60px;padding:16px 26px;border:1px solid #f0d8a4;background:#090b16e6;color:#f0d8a4;font-size:1rem}
.intro-play svg{width:20px;height:24px}
.intro-play p{max-width:290px;text-align:center;margin:0;color:#ece5f2;font-size:.875rem;background:#090b16d9;padding:6px 12px}
.intro-enhanced .intro-skip-word{display:inline}.intro-enhanced .intro-enter-word{display:none}
.intro-enhanced .intro-stage{position:relative;height:100dvh;min-height:320px;padding:0;overflow:hidden}
.intro-enhanced .intro-film{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;transition:opacity .9s ease}
.intro-enhanced .intro-end{position:absolute;inset:0;max-width:none;display:grid;place-items:center;overflow:auto;padding:36px 7%;background:radial-gradient(ellipse at 50% 45%,#45256538,transparent 65%)}
.intro-end-content{width:min(970px,100%);position:relative;padding:16px 0}
.intro-end-content:before{content:'';display:block;width:60px;height:1px;background:#ad89e2;box-shadow:0 0 22px #b38be8;margin:0 auto 32px}
.intro-enhanced[data-state=closing] .intro-film,.intro-enhanced[data-state=error] .intro-film{opacity:.1}
.intro-enhanced[data-state=closing] .intro-end,.intro-enhanced[data-state=error] .intro-end{animation:intro-arrive .6s ease both}
.intro-enhanced[data-state=closing] .intro-actions{display:none}
.intro-enhanced[data-state=closing] .intro-services{visibility:hidden}
.intro-enhanced[data-state=error] .intro-skip{display:none}
@keyframes intro-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){
 .intro-brand{left:20px;top:max(20px,env(safe-area-inset-top));gap:9px;font-size:.75rem;letter-spacing:.07em}.intro-brand img{width:48px;height:42px}.intro-brand span span{font-size:.65rem}
 .intro-skip{right:20px;top:max(21px,env(safe-area-inset-top));padding:10px 12px;font-size:.875rem;gap:9px}.intro-skip svg{width:18px}
 .intro-controls{left:22px;right:22px;bottom:calc(22px + env(safe-area-inset-bottom))}.intro-services{font-size:.75rem;max-width:330px;margin:20px auto 0;letter-spacing:.035em}
 .intro-enhanced .intro-end{padding:calc(24px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom))}
 .intro-end-logo{width:118px;height:94px;margin-bottom:28px}.intro-end-content:before{margin-bottom:25px;width:44px}.intro-title{font-size:clamp(2.35rem,10.7vw,4.6rem);line-height:1.09}.intro-with{font-size:1.05rem;max-width:300px;margin:23px auto 0}.intro-with strong{display:block;font-size:1.2rem;margin-top:3px}.intro-actions{margin-top:32px;gap:12px}.intro-enter{width:min(310px,100%);min-width:0}.intro-replay{font-size:.875rem}
}
@media(max-width:360px){.intro-brand>span{display:none}.intro-end-logo{height:78px;width:104px}.intro-title{font-size:2.25rem}}
@media(max-height:600px) and (min-width:600px){.intro-end-logo{width:86px;height:64px;margin-bottom:14px}.intro-title{font-size:clamp(2rem,7vh,3.8rem)}.intro-with{font-size:1rem;margin-top:15px}.intro-with strong{display:inline;font-size:inherit}.intro-end-content:before{display:none}.intro-actions{margin-top:20px;gap:6px}.intro-enhanced .intro-end{padding:15px 7%}.intro-services{display:none}}
@media(prefers-reduced-motion:reduce){.intro-gate *{animation:none!important;transition:none!important}}
