:root{color-scheme:dark;--navy:#071b2b;--navy-soft:#0b263d;--cream:#f5eedc;--gold:#e6c24d;--line:rgba(245,238,220,.22)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--navy)}
body{color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit}
.scene{position:relative;isolation:isolate;display:flex;min-height:100svh;flex-direction:column;overflow:hidden;background:var(--navy)}
.scene__image{position:absolute;z-index:-4;inset:-3%;background:url("/assets/images/kywest-fest-cinematic.png") 58% center/cover no-repeat;animation:drift 18s ease-in-out infinite alternate}
.scene__veil{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(4,17,29,.96) 0%,rgba(4,17,29,.83) 30%,rgba(4,17,29,.3) 62%,rgba(4,17,29,.2)),linear-gradient(180deg,rgba(4,17,29,.34),transparent 28%,transparent 58%,rgba(4,17,29,.9))}
.scene::after{position:absolute;z-index:-2;inset:0;content:"";pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E")}
.site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:6.2rem;padding:1rem clamp(1.2rem,3.5vw,4rem);border-bottom:1px solid var(--line)}
.brand{display:inline-flex;width:max-content;align-items:center;gap:.9rem;text-decoration:none}.brand img{width:4.1rem;height:auto;filter:brightness(0) invert(1)}.brand span{padding-left:.9rem;border-left:1px solid var(--line);font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;font-style:italic;letter-spacing:.02em}
.region,.status{margin:0;text-transform:uppercase;letter-spacing:.17em;font-size:.56rem;font-weight:800}.region{display:flex;align-items:center;gap:.8rem}.region i{width:2.8rem;height:1px;background:var(--line)}.status{display:flex;justify-self:end;align-items:center;gap:.65rem}.status i{width:.46rem;height:.46rem;border-radius:50%;background:var(--gold);box-shadow:0 0 0 .32rem rgba(230,194,77,.18);animation:pulse 2.2s ease-in-out infinite}
.hero{display:flex;flex:1;align-items:center;padding:clamp(3rem,8vh,7rem) clamp(1.2rem,7vw,8rem)}
.hero__copy{max-width:57rem;margin-top:-2vh;animation:arrive 1s cubic-bezier(.2,.8,.2,1) both}
.eyebrow{margin:0 0 1.3rem;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;font-size:.63rem;font-weight:850}.eyebrow span{padding:0 .45rem;color:rgba(255,255,255,.45)}
h1{max-width:11ch;margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(4.8rem,8vw,10.5rem);font-weight:400;line-height:.8;letter-spacing:-.06em;text-shadow:0 1rem 4rem rgba(0,0,0,.28)}h1 em{color:var(--gold);font-weight:400}
.lede{max-width:42rem;margin:2.2rem 0 0;color:rgba(245,238,220,.86);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,1.3vw,1.22rem);line-height:1.65}.lede a{text-decoration-color:rgba(230,194,77,.58);text-underline-offset:.25em}
.closing{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:1.2rem clamp(1.2rem,3.5vw,4rem) 1.5rem}
.signals{display:flex;flex-wrap:wrap;gap:.55rem 1.45rem;margin:0;padding:0;list-style:none;color:rgba(245,238,220,.68);text-transform:uppercase;letter-spacing:.17em;font-size:.52rem;font-weight:800}.signals li:not(:last-child)::after{margin-left:1.45rem;color:var(--gold);content:"·"}
.partner{display:flex;align-items:center;gap:1.25rem;text-align:right}.partner__copy{display:grid;gap:.27rem;text-transform:uppercase}.partner__copy strong{color:var(--gold);font-size:.57rem;letter-spacing:.2em}.partner__copy span{color:rgba(245,238,220,.78);font-size:.63rem;letter-spacing:.07em}.partner a{display:inline-flex;opacity:.92;transition:opacity 180ms ease,transform 180ms ease}.partner a:hover,.partner a:focus-visible{opacity:1;transform:translateY(-2px)}.partner img{display:block;width:auto;height:3.3rem;filter:drop-shadow(0 .35rem 1.2rem rgba(0,0,0,.2))}
.glow{position:absolute;z-index:-1;width:.32rem;height:.32rem;border-radius:50%;background:var(--gold);box-shadow:0 0 1.4rem .45rem rgba(230,194,77,.5);opacity:.4;pointer-events:none}.glow--one{top:31%;right:27%;animation:float-one 7s ease-in-out infinite}.glow--two{top:57%;right:16%;animation:float-two 9s ease-in-out infinite}
@keyframes drift{from{transform:scale(1.02) translate3d(-.3%,0,0)}to{transform:scale(1.075) translate3d(.6%,-.4%,0)}}
@keyframes pulse{50%{opacity:.45;transform:scale(.78)}}
@keyframes arrive{from{opacity:0;transform:translateY(1.4rem)}to{opacity:1;transform:none}}
@keyframes float-one{50%{opacity:.15;transform:translate(-1.4rem,-1.8rem)}}
@keyframes float-two{50%{opacity:.12;transform:translate(1.1rem,-2.5rem)}}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.region{display:none}.hero{align-items:flex-end;padding-bottom:3rem}.scene__veil{background:linear-gradient(180deg,rgba(4,17,29,.33),rgba(4,17,29,.12) 36%,rgba(4,17,29,.9) 76%,rgba(4,17,29,.98))}.closing{align-items:flex-start;flex-direction:column}.partner{width:100%;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--line)}}
@media(max-width:620px){.site-header{min-height:5.2rem}.brand img{width:3.35rem}.brand span{font-size:1.3rem}.status{font-size:.48rem}.hero{padding:5rem 1.2rem 2rem}.hero__copy{margin-top:auto}.eyebrow{font-size:.55rem}h1{font-size:clamp(4rem,19vw,6.2rem)}.lede{margin-top:1.5rem;font-size:1rem;line-height:1.5}.closing{padding-bottom:1rem}.signals{display:none}.partner{align-items:flex-start;flex-direction:column;gap:.5rem;text-align:left}.partner__copy span{max-width:19rem}.partner img{height:2.8rem}.scene__image{background-position:67% center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
