.hero{background:var(--bg-primary,#111);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.grain-overlay{z-index:2;opacity:.01;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-overlay{z-index:1;background:#000000d6;position:absolute;inset:0}.hero-video-container{z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-video{object-fit:cover;width:100%;height:100%;animation:1.5s ease-out videoZoomIn}.hero-content{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative}.logo-wrapper{display:inline-block;position:relative}.hero-logo{opacity:0;transform-origin:50%;width:clamp(300px,45vw,600px);height:auto;transition:transform 1s ease-in-out,filter 1s ease-in-out;animation:1.2s ease-out .3s forwards logoReveal;transform:scale(1)}.hero-logo:hover{filter:brightness(0)invert()drop-shadow(0 0 35px #fff9);transform:scale(1.15)}.fallback-title{color:#fff;font-size:clamp(2rem,5vw,4rem)}.hero-tagline{color:#f0f0f0;letter-spacing:3px;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:300}.reveal-text span{opacity:0;animation:1s ease-out 1s forwards wordReveal,1s ease-out 1s forwards wordRevealGlow;display:inline-block}.frame-system{pointer-events:none;z-index:10;position:absolute;inset:0}.frame-line{background:var(--accent,#00d4d4);box-shadow:0 0 15px var(--accent,#00d4d4),0 0 30px #00d4d480;position:absolute}.frame-right{transform-origin:top;border-radius:5px;width:3px;height:0;animation:3s ease-in-out 2s infinite framePulse,1.5s ease-out 2s forwards frameGrowVertical;top:19%;right:10%}.frame-bottom{transform-origin:100%;border-radius:5px;width:0;height:3px;animation:3s ease-in-out 2s infinite framePulse,1.5s ease-out 2s forwards frameGrowHorizontal;bottom:15%;right:8%}.corner-br{border-right:3px solid var(--accent,#00d4d4);border-bottom:3px solid var(--accent,#00d4d4);opacity:0;width:20px;height:20px;animation:.5s ease-out 3.5s forwards fadeIn;position:absolute;bottom:15%;right:10%;box-shadow:inset -5px -5px 10px -5px #00d4d480}@keyframes videoZoomIn{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes logoReveal{0%{opacity:0}to{opacity:1}}@keyframes wordReveal{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes wordRevealGlow{0%{text-shadow:0 0 #00d4d400}50%{text-shadow:0 0 20px #fffc,0 0 10px #00d4d480}to{text-shadow:0 0 10px #00d4d466}}@keyframes framePulse{0%,to{opacity:.8;box-shadow:0 0 10px var(--accent,#00d4d4)}50%{opacity:1;box-shadow:0 0 20px var(--accent,#00d4d4),0 0 40px #00d4d499}}@keyframes frameGrowVertical{0%{opacity:0;height:0}to{opacity:1;height:70vh}}@keyframes frameGrowHorizontal{0%{opacity:0;width:0}to{opacity:1;width:80vw}}@keyframes fadeIn{to{opacity:1}}@media (width<=768px){.hero-logo{width:clamp(300px,75vw,550px)}.frame-right{right:15%}.frame-bottom{width:0;bottom:20%;right:10%}.corner-br{bottom:20%;right:15%}@keyframes frameGrowHorizontal{to{width:70vw}}}@media (width<=480px){.hero-logo{width:clamp(250px,85vw,400px)}.frame-right{right:10%}.frame-bottom{bottom:15%;right:5%}.corner-br{bottom:15%;right:10%}}.ch-intro{max-width:860px;margin-inline:auto;padding-block:clamp(3.5rem,8vw,6rem) clamp(6rem,11vw,9rem);padding-inline:clamp(1.5rem,6vw,2.5rem)}.ch-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(1.5rem,5vw,3.5rem);display:grid}.ch-text h1{margin-block-end:.9rem;font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:500;line-height:1.5}.ch-lead{color:var(--text-secondary);max-width:44ch;font-size:clamp(.95rem,1.4vw,1.02rem);line-height:2.1}.ch-cities{border-block-start:1px solid var(--bg-glass-border);color:var(--text-tertiary);margin-block-start:1.6rem;padding-block-start:1.3rem;font-size:.84rem;line-height:2.1}.ch-foot{color:var(--text-secondary);margin-block-start:1.4rem;font-size:.88rem}.ch-foot a{color:var(--text-secondary);transition:color var(--transition)}.ch-foot a:hover{color:var(--accent)}.ch-dot{color:var(--text-tertiary);margin-inline:.6rem}.ch-sou{flex-direction:column;justify-self:center;align-items:center;display:flex;position:relative}.ch-sou-clip{mix-blend-mode:screen;width:clamp(72px,9vw,104px);height:auto;display:block}[data-theme=light] .ch-sou-clip{filter:invert();mix-blend-mode:multiply}.ch-ground{background:linear-gradient(to left,transparent,var(--accent),transparent);opacity:.55;width:clamp(96px,12vw,140px);height:1px;margin-block-start:2px;display:block}@media (width<=620px){.ch-grid{grid-template-columns:1fr;justify-items:center;gap:2.5rem}.ch-text{order:1}.ch-sou{order:0}.ch-cities{text-align:start}}.hero-scroll{z-index:11;opacity:0;flex-direction:column;align-items:center;padding:8px 20px;animation:.9s ease-out 2.8s forwards heroCueIn;display:flex;position:absolute;bottom:calc(15% + 20px);left:50%;transform:translate(-50%)}.hero-scroll-rail{background:linear-gradient(#ffffff14,#ffffff8c);width:1px;height:68px;display:block;position:relative;overflow:hidden}.hero-scroll-light{inset-inline:0;background:linear-gradient(to bottom,transparent,var(--accent));height:26px;box-shadow:0 0 10px var(--accent);animation:2.2s cubic-bezier(.5,0,.5,1) infinite heroScrollDrift;position:absolute;top:0}.hero-scroll-bob{width:9px;height:9px;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);border:1px solid #fffc;margin-top:2px;display:block;transform:rotate(45deg)}.hero-scroll:hover .hero-scroll-bob{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent)}@keyframes heroScrollDrift{0%{opacity:0;transform:translateY(-100%)}30%{opacity:1}75%,to{opacity:0;transform:translateY(68px)}}@keyframes heroCueIn{to{opacity:1}}@media (width<=768px){.hero-scroll{bottom:calc(20% + 18px)}}@media (width<=480px){.hero-scroll{bottom:calc(15% + 16px)}.hero-scroll-rail{height:54px}@keyframes heroScrollDrift{0%{opacity:0;transform:translateY(-100%)}30%{opacity:1}75%,to{opacity:0;transform:translateY(54px)}}}@media (prefers-reduced-motion:reduce){.hero-scroll{opacity:1;animation:none}.hero-scroll-light{opacity:.9;animation:none;top:auto;bottom:0}}