*{box-sizing:border-box}html{color-scheme:dark;background:#090a0b}body{margin:0;color:#eee;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #d5c5a7;outline-offset:5px}button{color:inherit}body.intro-active{overflow:hidden}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 0,#34363855,transparent 60%),repeating-linear-gradient(90deg,transparent 0 79px,#ffffff03 80px);z-index:-1}main{max-width:520px;margin:auto;padding:28px 24px 24px;opacity:0;transform:translateY(24px);transition:opacity 1s,transform 1s}.ready main{opacity:1;transform:none}.topline,.section-label,footer{display:flex;align-items:center;justify-content:space-between}.topline{font-size:9px;letter-spacing:2px;color:#939597}.topline button{background:none;border:0;font-size:11px;color:#9e9fa1;letter-spacing:.2px}.identity{text-align:center;padding:25px 0 32px}.brand{width:154px;height:154px;margin:0 auto 26px;position:relative}.brand img{width:100%;height:100%;object-fit:contain;mix-blend-mode:screen}.eyebrow{font-size:9px;letter-spacing:3.5px;color:#b7aa91}h1{font-size:43px;font-weight:400;line-height:1.12;letter-spacing:-1.9px;margin:17px 0}h1 em{font-style:normal;color:#989a9d}.description{font-size:12px;color:#949699;letter-spacing:.3px}.link{display:flex;position:relative;align-items:center;gap:16px;padding:21px 20px;margin-bottom:10px;border:1px solid #333638;background:linear-gradient(115deg,#24272a88,#111315);border-radius:4px;overflow:hidden;transition:transform .3s,border-color .3s,background .3s}.link:hover{transform:translateY(-3px);border-color:#9e9584;background:#25282a}.link:active{transform:scale(.98)}.link:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#ffffff0c,transparent 65%);transform:translateX(-120%);transition:transform .8s}.link:hover:before{transform:translateX(120%)}.link.primary{background:linear-gradient(115deg,#e2d9c7,#b6aa93);border-color:#ded3bf;color:#17191a}.link.primary small{color:#47463f}.link .icon{width:23px;flex-shrink:0}.icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.4}.link strong{display:block;font-size:14px;font-weight:500;letter-spacing:.1px}.link small{display:block;font-size:10px;color:#919598;margin-top:6px}.arrow{margin-left:auto;color:#a7a7a4;font-size:20px}.primary .arrow{color:#3c3e38}.section-label{font-size:8px;letter-spacing:2px;color:#939799;margin-bottom:17px}.film{margin-top:38px}.film-cover{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:#1c2023;border:1px solid #3b3e40;border-radius:4px;text-align:left;padding:0}.film-cover>img{width:100%;height:100%;object-fit:cover;filter:saturate(.55);transition:transform .8s}.film-cover:hover>img{transform:scale(1.045)}.film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#000e,transparent 100%)}.play{position:absolute;right:22px;top:22px;width:43px;height:43px;border:1px solid #ffffff77;border-radius:50%;display:grid;place-items:center;font-size:13px;backdrop-filter:blur(10px)}.film-caption{position:absolute;bottom:22px;left:22px}.film-caption small{font-size:8px;letter-spacing:2.5px;color:#d5c5a7}.film-caption strong{display:block;font-size:24px;line-height:1.15;font-weight:400;letter-spacing:-.5px;margin:10px 0 14px}.film-caption>span{font-size:10px;color:#bbb}iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:4px}.visit{border-top:1px solid #303235;margin-top:35px;padding-top:24px}.visit-title{display:flex;justify-content:space-between;align-items:center}h2{font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.6px;margin:0}.coordinate{font-family:monospace;font-size:9px;line-height:1.8;color:#7f8587}.visit p{font-size:11px;color:#8f9496;margin:12px 0 23px}.routes{display:flex;gap:10px}.routes a{flex:1;border:1px solid #363a3c;padding:16px 12px;font-size:11px;text-align:center;border-radius:3px;transition:background .3s}.routes a:hover{background:#25282a}footer{border-top:1px solid #25292b;margin-top:39px;padding-top:22px;font-size:9px;color:#707578}footer a{font-size:9px;letter-spacing:1px}.intro{position:fixed;inset:0;background:#000;z-index:10;transition:opacity .7s;overflow:hidden}.intro-stage{position:absolute;inset:0;max-width:calc(100svh * 9 / 16);margin:auto}.intro-stage>img,.intro-stage>video{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.intro-stage video{opacity:0}.intro.playing video{opacity:1}.final-frame{opacity:0;transition:opacity .18s}.intro.ending .final-frame{opacity:1}.intro.ending video{opacity:0}.intro-top,.intro-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:2px}.intro-top{top:max(24px,env(safe-area-inset-top))}.intro-top i{color:#777;font-style:normal;margin:0 8px}.intro-top button,.intro-bottom button{background:#101214aa;border:1px solid #ffffff33;border-radius:30px;padding:11px 16px;font-size:10px;letter-spacing:.3px;backdrop-filter:blur(12px)}.intro-bottom{bottom:max(30px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:18px;color:#aaa}.progress{width:90px;height:1px;background:#ffffff33}.progress span{display:block;height:100%;width:0;background:#ddd}.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s,transform .8s}.ready .reveal{opacity:1;transform:none}.ready .reveal:nth-child(2){transition-delay:.12s}.ready .reveal:nth-child(3){transition-delay:.24s}.ready .reveal:nth-child(4){transition-delay:.36s}.ready .link{transition-delay:var(--delay,0s)}.morph-logo{position:fixed;z-index:20;object-fit:contain;pointer-events:none;mix-blend-mode:screen}.intro.hidden{opacity:0;pointer-events:none}@media(min-width:800px){main{padding-top:40px}.identity{padding-top:32px}}@media(max-width:360px){main{padding:22px 18px}h1{font-size:37px}.link{padding:19px 14px}}@media(prefers-reduced-motion:reduce){*,*:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Integrated brand and dimensional glass controls */
.topline{justify-content:flex-end}.identity{padding:24px 0 34px}.brand{width:190px;height:190px;margin:0 auto}.brand img{mix-blend-mode:normal;filter:drop-shadow(0 12px 24px #ffffff10);will-change:transform}.morph-logo{mix-blend-mode:normal}.intro-top{gap:10px}.intro-top>span{margin-right:auto;font-size:9px;letter-spacing:1px}.intro-top button{padding:10px 12px;white-space:nowrap}#audioToggle[aria-pressed="true"]{background:#e0d5bd;color:#17191a;border-color:#e0d5bd}.link{min-height:72px;padding:22px;gap:17px;border:1px solid #ffffff24;border-top-color:#ffffff45;border-bottom-color:#0009;border-radius:13px;background:linear-gradient(135deg,#727a8135 0%,#33383c60 45%,#171a1e9c 100%);box-shadow:inset 0 1px 0 #ffffff24,inset 0 -2px 3px #0007,0 5px 0 #08090a,0 10px 21px #0005;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transform-style:preserve-3d}.link:hover{transform:perspective(700px) translateY(-4px) rotateX(4deg);background:linear-gradient(135deg,#8d969e45,#33383c80 60%,#171a1eaa);box-shadow:inset 0 1px 0 #ffffff40,0 7px 0 #08090a,0 16px 25px #0006}.link:active{transform:translateY(3px);box-shadow:inset 0 1px 0 #ffffff20,0 1px 0 #08090a}.link.primary{background:linear-gradient(135deg,#eee6d3df,#c9bea8b8 50%,#ad9e84cc);border-color:#eee4cc66;border-top-color:#fff7e9c9;box-shadow:inset 0 1px 1px #fff9,inset 0 -2px 4px #65523860,0 5px 0 #554d40,0 12px 24px #0006}.link.primary:hover{background:linear-gradient(135deg,#f3ebd9ed,#c9bea8cc 55%,#ad9e84dd)}.link strong{font-size:15px;letter-spacing:.2px}.link .icon{filter:drop-shadow(0 2px 2px #0002)}.routes a{border-radius:10px;background:linear-gradient(130deg,#747c8333,#191d2166);border-top-color:#ffffff40;box-shadow:inset 0 1px 0 #ffffff16,0 4px 0 #060708,0 8px 15px #0004;backdrop-filter:blur(16px)}
@media(max-width:390px){.intro-top{left:14px;right:14px;gap:6px}.intro-top>span{font-size:8px;letter-spacing:0}.intro-top button{font-size:9px;padding:10px}.brand{width:174px;height:174px}}
@supports not (backdrop-filter:blur(10px)){.link{background-color:#202428}}

/* Inline brand avoids SVG image loading restrictions in Safari and embedded browsers. */
.brand .brand-mark{display:block;width:100%;height:100%;overflow:visible;will-change:transform}.brand img,.brand .brand-mark{filter:none}.intro-stage{overflow:hidden}.intro-stage>img,.intro-stage>video{border:0;outline:0;box-shadow:none;transform:scale(1.012);transform-origin:center}.film-cover{border:0;box-shadow:none;background:#000}.film-cover>img{display:block}#player iframe{border:0;box-shadow:none}

/* Persistent glass highlights, including touch screens. */
.link:before{inset:0;transform:none;pointer-events:none;transition:none;background:linear-gradient(115deg,transparent 8%,#ffffff05 24%,#ffffff21 39%,#ffffff09 50%,transparent 65%),linear-gradient(180deg,#ffffff12 0%,transparent 43%);opacity:1}.link:hover:before{transform:none}.link{border-top-color:#ffffff65;border-left-color:#ffffff35;box-shadow:inset 0 1px 0 #ffffff45,inset 0 0 14px #ffffff07,inset 0 -2px 3px #0007,0 5px 0 #08090a,0 10px 21px #0005}.link.primary{box-shadow:inset 0 1px 1px #fffc,inset 0 0 18px #fff2,inset 0 -2px 4px #65523860,0 5px 0 #554d40,0 12px 24px #0006}.link>*{position:relative;z-index:1}.routes a{background:linear-gradient(115deg,transparent 10%,#ffffff13 40%,transparent 67%),linear-gradient(130deg,#747c8345,#191d2166);border-top-color:#ffffff60;box-shadow:inset 0 1px 0 #ffffff30,0 4px 0 #060708,0 8px 15px #0004}

/* Automatic moving glass reflection — no hover required. */
@keyframes glassSweep{0%{transform:translateX(-180%) skewX(-20deg);opacity:0}8%{opacity:0.95}48%{opacity:0.95}60%,100%{transform:translateX(480%) skewX(-20deg);opacity:0}}
.link:after{content:"";position:absolute;pointer-events:none;z-index:2;top:-50%;left:0;width:32%;height:200%;background:linear-gradient(90deg,transparent,#ffffff30 24%,#ffffff99 50%,#ffffff30 76%,transparent);mix-blend-mode:screen;transform:translateX(-180%) skewX(-20deg);animation:glassSweep 4.6s ease-in-out infinite;animation-delay:var(--shine-delay,0s);filter:blur(1px)}.link:nth-child(2){--shine-delay:.22s}.link:nth-child(3){--shine-delay:.44s}.link:nth-child(4){--shine-delay:.66s}.link.primary:after{background:linear-gradient(90deg,transparent,#ffffff55 28%,#ffffffd9 50%,#ffffff55 72%,transparent)}.link:before,.link:hover:before{background:linear-gradient(180deg,#ffffff26 0%,#ffffff08 38%,transparent 55%),linear-gradient(115deg,transparent 10%,#ffffff12 40%,transparent 68%);transform:none;opacity:1}
@media(prefers-reduced-motion:reduce){.link:after{animation:none;transform:translateX(110%) skewX(-20deg);opacity:.35}}

/* Map links share the automatic glass sweep. */
.routes a{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);border:1px solid #ffffff30;border-top-color:#ffffff65;background:linear-gradient(180deg,#ffffff1f,transparent 48%),linear-gradient(130deg,#747c8345,#191d2199);box-shadow:inset 0 1px 0 #ffffff40,inset 0 -2px 3px #0007,0 4px 0 #060708,0 8px 15px #0004}.routes a:after{content:"";position:absolute;pointer-events:none;z-index:1;top:-50%;left:0;width:32%;height:200%;background:linear-gradient(90deg,transparent,#ffffff30 24%,#ffffff99 50%,#ffffff30 76%,transparent);mix-blend-mode:screen;transform:translateX(-180%) skewX(-20deg);animation:glassSweep 4.6s ease-in-out infinite;filter:blur(1px)}.routes a:nth-child(2):after{animation-delay:.22s}.routes a:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff30,0 1px 0 #060708}
@media(prefers-reduced-motion:reduce){.routes a:after{animation:none;transform:translateX(110%) skewX(-20deg);opacity:.35}}

/* Deterministic poster -> video -> final frame -> inline logo handoff. */
.intro.playing .first-frame,.intro.ending .first-frame{visibility:hidden}.intro.ending .final-frame{opacity:1;transition:none}.intro.ending video{opacity:1}.handoff main{transform:none;transition:opacity .8s}.morph-logo{mix-blend-mode:normal}.morph-logo>svg{display:block;width:100%;height:100%;overflow:visible}

/* Subtle, horizontally centered intro progress. */
.intro-bottom{justify-content:center;flex-direction:column;gap:16px}.intro-bottom .progress{width:72px;height:1px;background:#ffffff18;opacity:.6}.intro-bottom .progress span{background:#ffffff80}
