.hos-landing{--hos-bg:#05050a;--hos-surface:#ffffff0a;--hos-glass:#ffffff0f;--hos-glass-border:#ffffff1a;--hos-glass-hover:#ffffff1a;--hos-purple:#6d28d9;--hos-magenta:#f50f96;--hos-cyan:#00e5ff;--hos-gold:gold;--hos-text:#f0eef6;--hos-text-muted:#c8b9f0b3;--hos-gradient:linear-gradient(135deg, var(--hos-magenta), var(--hos-purple));--hos-gradient-reverse:linear-gradient(135deg, var(--hos-purple), var(--hos-magenta));font-family:var(--font-body);color:var(--hos-text);overflow-x:hidden}.hos-landing h1,.hos-landing h2,.hos-landing h3{font-family:var(--font-heading)}.reveal-fade,.reveal-slide-right,.reveal-slide-left,.reveal-slide-up,.reveal-scale,.reveal-collage{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}.reveal-fade{transform:translateY(30px)}.reveal-slide-right{transform:translate(-60px)}.reveal-slide-left{transform:translate(60px)}.reveal-slide-up{transform:translateY(50px)}.reveal-scale{transform:scale(.92)}.reveal-collage{transform:translateY(40px)scale(.95)}.reveal-fade.revealed,.reveal-slide-right.revealed,.reveal-slide-left.revealed,.reveal-slide-up.revealed,.reveal-scale.revealed,.reveal-collage.revealed{opacity:1;transform:translateY(0)translate(0)scale(1)}.reveal-delay-1{transition-delay:.15s}.reveal-delay-2{transition-delay:.3s}.reveal-delay-3{transition-delay:.45s}.reveal-slide-up[style*="--delay: 1"]{transition-delay:.1s}.reveal-slide-up[style*="--delay: 2"]{transition-delay:.2s}.reveal-slide-up[style*="--delay: 3"]{transition-delay:.3s}.collage-item.reveal-collage:nth-child(4n+1){transition-delay:0s}.collage-item.reveal-collage:nth-child(4n+2){transition-delay:80ms}.collage-item.reveal-collage:nth-child(4n+3){transition-delay:.16s}.collage-item.reveal-collage:nth-child(4n+4){transition-delay:.24s}@media (prefers-reduced-motion:reduce){.reveal-fade,.reveal-slide-right,.reveal-slide-left,.reveal-slide-up,.reveal-scale,.reveal-collage{opacity:1;transition:none;transform:none}}.orb{filter:blur(80px);pointer-events:none;z-index:0;border-radius:50%;position:absolute}.orb-1{background:#6d28d933;width:500px;height:500px;animation:12s ease-in-out infinite orbFloat1;top:-100px;left:-150px}.orb-2{background:#f50f9626;width:400px;height:400px;animation:15s ease-in-out infinite orbFloat2;top:20%;right:-100px}.orb-3{background:#00e5ff14;width:300px;height:300px;animation:18s ease-in-out infinite orbFloat3;bottom:10%;left:30%}@keyframes orbFloat1{0%,to{transform:translate(0)}50%{transform:translate(60px,40px)}}@keyframes orbFloat2{0%,to{transform:translate(0)}50%{transform:translate(-40px,60px)}}@keyframes orbFloat3{0%,to{transform:translate(0)}50%{transform:translate(30px,-50px)}}.hero-section{background:var(--hos-bg);justify-content:center;align-items:center;min-height:87vh;display:flex;position:relative;overflow:hidden}.hero-bg-image{z-index:0;opacity:.5;background-position:top;background-size:cover;position:absolute;inset:0}.hero-bg-layer{z-index:1;background:radial-gradient(at 20%,#6d28d940 0%,#0000 50%),radial-gradient(at 80%,#f50f9633 0%,#0000 50%),radial-gradient(at 50% 100%,#00e5ff14 0%,#0000 40%);position:absolute;inset:0}.hero-gradient-overlay{z-index:2;background:linear-gradient(#05050a99 0%,#05050ae6 100%);position:absolute;inset:0}.hero-noise{opacity:.03;z-index:3;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:10;text-align:center;max-width:800px;padding:2rem;position:relative}.hero-logo-wrapper{justify-content:center;margin-bottom:-.5rem;display:flex}.hero-logo{filter:drop-shadow(0 0 40px #f50f964d)drop-shadow(0 0 80px #6d28d933);width:100%;max-width:500px;height:auto;animation:4s ease-in-out infinite alternate logoGlow}@keyframes logoGlow{0%{filter:drop-shadow(0 0 30px #f50f964d)drop-shadow(0 0 60px #6d28d933)}to{filter:drop-shadow(0 0 50px #f50f9680)drop-shadow(0 0 100px #6d28d959)}}.hero-tagline{font-family:var(--font-body);letter-spacing:.08em;color:var(--hos-text-muted);text-shadow:0 1px 8px #0009;margin-bottom:.5rem;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400}.hero-subtitle{font-family:var(--font-body);letter-spacing:.15em;text-transform:uppercase;background:var(--hos-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:2.5rem;font-size:clamp(.85rem,1.5vw,1rem);font-weight:500}.hero-cta-group{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.cta-primary{background:var(--hos-gradient);color:#fff;font-family:var(--font-body);border-radius:9999px;align-items:center;gap:.5rem;padding:.9rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.22,1,.36,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 0 30px #f50f964d,0 4px 15px #0000004d}.cta-primary:before{content:"";background:var(--hos-gradient-reverse);opacity:0;border-radius:inherit;transition:opacity .3s;position:absolute;inset:0}.cta-primary:hover:before{opacity:1}.cta-primary:hover{transform:translateY(-2px)scale(1.03);box-shadow:0 0 50px #f50f9680,0 8px 25px #0000004d}.cta-primary span,.cta-primary .cta-arrow{z-index:1;position:relative}.cta-arrow{transition:transform .3s}.cta-primary:hover .cta-arrow{transform:translate(4px)}.cta-secondary{color:var(--hos-magenta);font-family:var(--font-body);-webkit-backdrop-filter:blur(10px);background:#f50f960d;border:1.5px solid #f50f9680;border-radius:9999px;align-items:center;padding:.9rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.cta-secondary:hover{background:var(--hos-gradient);color:#fff;border-color:#0000;transform:translateY(-2px);box-shadow:0 0 30px #f50f964d}.cta-large{padding:1.1rem 2.5rem;font-size:1.1rem}.hero-scroll-hint{justify-content:center;display:flex}.scroll-mouse{border:2px solid #ffffff40;border-radius:14px;width:26px;height:42px;position:relative}.scroll-wheel{background:var(--hos-magenta);border-radius:2px;width:4px;height:8px;animation:2s ease-in-out infinite scrollBounce;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #f50f9699}@keyframes scrollBounce{0%,to{opacity:1;transform:translate(-50%)translateY(0)}50%{opacity:.3;transform:translate(-50%)translateY(12px)}}.content-section{padding:3rem 0 6rem;position:relative;overflow:hidden}.section-container{z-index:5;max-width:1200px;margin:0 auto;padding:0 1.5rem;position:relative}.section-heading{color:#fff;margin-bottom:1.5rem;font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.05}.section-heading.text-center{text-align:center}.heading-accent{background:var(--hos-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-subtitle{font-family:var(--font-body);color:var(--hos-text-muted);text-align:center;margin-bottom:3rem;font-size:clamp(1rem,2vw,1.25rem);font-weight:300}.section-glow{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;width:600px;height:600px;position:absolute}.section-glow-left{background:#6d28d91f;top:0;left:-200px}.section-glow-right{background:#f50f961a;top:20%;right:-200px}.section-glow-center{background:radial-gradient(circle,#6d28d91a 0%,#f50f960d 50%,#0000 70%);width:800px;height:800px;top:50%;left:50%;transform:translate(-50%,-50%)}.glass-card{background:var(--hos-glass);-webkit-backdrop-filter:blur(15px);border:1px solid var(--hos-glass-border);border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.22,1,.36,1)}.glass-card:hover{background:var(--hos-glass-hover);border-color:#ffffff26;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff0d}.glass-card-plain{transition:all .4s cubic-bezier(.22,1,.36,1)}.glass-card p,.glass-card-plain p{color:var(--hos-text-muted);margin-bottom:1rem;font-size:1.05rem;line-height:1.8}.glass-card p:last-child{margin-bottom:0}.glass-card strong{color:#fff;font-weight:600}.image-frame{border-radius:16px;position:relative;overflow:hidden}.image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1);display:block}.image-frame:hover img{transform:scale(1.03)}.glow-frame{border:1px solid #ffffff14;box-shadow:0 0 40px #6d28d926,0 0 80px #f50f961a}.origin-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.origin-image .image-frame{aspect-ratio:auto}.origin-image .image-frame img{height:auto}.presence-section{justify-content:center;align-items:center;min-height:60vh;padding:8rem 0;display:flex;position:relative;overflow:hidden}.presence-bg{z-index:0;background-position:50%;background-size:cover;background-attachment:fixed;position:absolute;inset:-20px}@media (width<=768px){.presence-bg{background-attachment:scroll}}.presence-overlay{z-index:1;background:linear-gradient(#05050a99 0%,#05050a59 50%,#05050a99 100%);position:absolute;inset:0}.presence-content{z-index:5;text-align:center;max-width:900px;padding:0 2rem;position:relative}.presence-quote{font-family:var(--font-heading);color:#fff;text-shadow:0 1px 8px #0000008c;margin-bottom:1.5rem;font-size:clamp(1.5rem,3.5vw,2.5rem);line-height:1.2}.quote-highlight{background:linear-gradient(135deg,#ff4fbf,#ff0f96 50%,#c84dff);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px #f50f968c)drop-shadow(0 0 36px #c84dff59);-webkit-background-clip:text;background-clip:text;font-size:1.2em}.presence-text{color:#ffffffe6;text-shadow:0 2px 15px #000000b3,0 0 30px #0006;max-width:700px;margin:0 auto;font-size:clamp(1rem,2vw,1.2rem);line-height:1.8}.collage-section{padding:6rem 0;position:relative;overflow:hidden}.collage-header{text-align:center;margin-bottom:3rem;padding:0 1.5rem}.collage-grid{columns:4;column-gap:12px;max-width:1400px;margin:0 auto;padding:0 1rem}.collage-item{cursor:pointer;break-inside:avoid;border-radius:12px;margin-bottom:12px;position:relative;overflow:hidden}.collage-item img{width:100%;height:auto;transition:transform .6s cubic-bezier(.22,1,.36,1),filter .6s;display:block}.collage-item:hover img{filter:brightness(1.1);transform:scale(1.08)}.collage-shine{opacity:0;pointer-events:none;background:linear-gradient(135deg,#ffffff1a 0%,#0000 50% 100%);transition:opacity .4s;position:absolute;inset:0}.collage-item:hover .collage-shine{opacity:1}.collage-tall{grid-row:span 2}.collage-wide{grid-column:span 2}.roster-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem;display:grid}.stat-card{text-align:center}.stat-number{font-family:var(--font-heading);background:var(--hos-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:clamp(3rem,6vw,4.5rem);line-height:1}.stat-label{font-family:var(--font-body);color:#fff;letter-spacing:.02em;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.stat-card p{font-size:.95rem}.roster-text-block{text-align:center;max-width:800px;margin:0 auto}.accent-text{color:var(--hos-text-muted);margin-bottom:.75rem;font-size:clamp(1.1rem,2vw,1.3rem);line-height:1.8}.accent-subtext{font-family:var(--font-heading);background:var(--hos-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.2rem,2.5vw,1.6rem)}.costumes-grid{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;display:grid}.costumes-images .image-frame{aspect-ratio:auto;max-width:500px}.costumes-images .image-frame img{height:auto}.highlight-text{border-left:3px solid var(--hos-magenta);margin-top:1rem;padding-left:1.25rem;font-style:italic;color:#c8b9f0e6!important}.festivals-overlay{background:linear-gradient(#05050ae6 0%,#05050acc 50%,#05050ae6 100%)!important}.festivals-content{z-index:5;position:relative}.festivals-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem;display:grid}.festival-card{text-align:center;padding:2rem 1.5rem}.festival-icon{width:70px;height:70px;color:var(--hos-magenta);background:#f50f961a;border:1px solid #f50f9633;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.25rem;transition:all .4s;display:inline-flex}.festival-card:hover .festival-icon{background:var(--hos-gradient);color:#fff;border-color:#0000;transform:scale(1.1);box-shadow:0 0 30px #f50f964d}.festival-card h3{font-family:var(--font-heading);color:#fff;margin-bottom:.75rem;font-size:1.15rem}.festival-card p{color:var(--hos-text-muted);font-size:.9rem;line-height:1.6}.cta-section{text-align:center;padding:8rem 0;position:relative;overflow:hidden}.cta-bg-gradient{z-index:0;background:radial-gradient(at 30%,#6d28d933 0%,#0000 50%),radial-gradient(at 70%,#f50f9626 0%,#0000 50%);position:absolute;inset:0}.orb-cta-1{background:#6d28d926;width:400px;height:400px;animation:14s ease-in-out infinite orbFloat1;top:10%;left:-100px}.orb-cta-2{background:#f50f961a;width:350px;height:350px;animation:16s ease-in-out infinite orbFloat2;bottom:10%;right:-100px}.cta-content{z-index:5;position:relative}.cta-logo{margin-bottom:1.5rem}.cta-logo img{filter:drop-shadow(0 0 30px #f50f9633);width:100%;max-width:350px;height:auto;margin:0 auto;display:block}.cta-text{color:var(--hos-text-muted);max-width:750px;margin:0 auto 1rem;font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.8}.cta-subtext{font-family:var(--font-body);color:#c8b9f099;margin-bottom:2.5rem;font-size:clamp(1rem,1.8vw,1.15rem);font-style:italic;font-weight:300}.cta-buttons{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}@media (width<=1024px){.origin-grid,.costumes-grid{grid-template-columns:1fr;gap:2.5rem}.festivals-grid{grid-template-columns:repeat(2,1fr)}.roster-grid{grid-template-columns:1fr;gap:1.5rem}.collage-grid{columns:3}.costumes-images{order:-1}.costumes-images .image-frame{aspect-ratio:16/10;max-width:100%}}@media (width<=768px){.collage-grid{columns:2;column-gap:8px}.collage-item{margin-bottom:8px}.festivals-grid{grid-template-columns:1fr}.content-section{padding:4rem 0}.presence-section{min-height:50vh;padding:5rem 0}}@media (width<=480px){.collage-grid{columns:2;column-gap:6px}.collage-item{margin-bottom:6px}.hero-logo{max-width:320px}.hero-logo-wrapper{margin-bottom:-.5rem}.glass-card{padding:1.25rem}.cta-large{padding:.9rem 1.8rem;font-size:1rem}}
