/* Refinement pass: stronger type, all-ages positioning, dancer posters and illustrated maps. */
body{font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif}
.wordmark{font-family:"Arial Black",Impact,"Avenir Next",sans-serif;font-size:1.35rem;font-weight:950;line-height:.72;letter-spacing:-.105em;transform:skew(-3deg)}
.wordmark span:last-of-type{margin-left:1.05rem}.wordmark small{font-family:"Avenir Next",Arial,sans-serif;letter-spacing:.28em;font-weight:800;transform:skew(3deg)}
.hero h1,.section h2,.poster strong,.event-info h3,.location-card h3,.person-card h3{font-family:"Arial Black",Impact,"Avenir Next",sans-serif;font-weight:950}
.hero-image{background-image:url('assets/dancers-hero.png');background-position:59% center;clip-path:ellipse(83% 82% at 79% 50%)}
.hero h1 em{font-family:Georgia,serif;font-weight:normal}.hero-deck{max-width:570px}
.poster{border-right:0}.event-card{grid-template-columns:minmax(250px,.95fr) 1.05fr}.event-info{position:relative}.event-info:before{content:"";position:absolute;left:2.2rem;right:2.2rem;top:0;border-top:2px solid rgba(8,63,61,.45)}
.dancer{--skin:var(--orange);--clothes:var(--blue);position:absolute;display:block;width:112px;height:230px;left:48%;top:17%;transform:rotate(-8deg);z-index:1}.dancer i{display:block;position:absolute;background:var(--teal)}.dancer .head{width:42px;height:45px;border-radius:50%;background:var(--skin);left:35px;top:0}.dancer .body{width:68px;height:105px;background:var(--clothes);left:22px;top:40px;border-radius:55% 45% 28% 28%;transform:rotate(-4deg)}.dancer .arm,.dancer .leg{height:13px;border-radius:20px;transform-origin:8px center}.dancer .arm{width:86px;top:57px}.dancer .arm-l{left:28px;transform:rotate(-48deg)}.dancer .arm-r{left:76px;transform:rotate(-118deg)}.dancer .leg{width:100px;top:135px;left:45px}.dancer .leg-l{transform:rotate(105deg)}.dancer .leg-r{transform:rotate(56deg)}.dancer-small{width:75px;height:150px;transform:scale(.68) rotate(15deg);left:13%;top:38%;transform-origin:top left;--skin:var(--yellow);--clothes:var(--green)}.dancer-b{left:12%;top:26%;--clothes:var(--yellow);--skin:var(--orange)}.dancer-c{left:50%;top:18%;transform:rotate(12deg);--clothes:var(--pink);--skin:var(--orange)}.dancer-d{left:16%;top:34%;--clothes:var(--blue);--skin:var(--pink)}
.dancer .arm::after{content:"";position:absolute;right:-8px;top:-5px;width:22px;height:22px;border-radius:55% 45% 50% 45%;background:var(--skin);box-shadow:7px -3px 0 -5px var(--teal),8px 2px 0 -5px var(--teal),5px 7px 0 -5px var(--teal)}.dancer .leg::after{content:"";position:absolute;right:-9px;top:-3px;width:28px;height:17px;border-radius:70% 35% 45% 30%;background:var(--cream);border:3px solid var(--teal)}.dancer-a .head::before,.dancer-c .head::before{content:"";position:absolute;z-index:-1;background:var(--teal)}.dancer-a .head::before{width:58px;height:58px;border-radius:50% 50% 42% 45%;left:-8px;top:-7px;box-shadow:-14px 17px 0 -5px var(--teal),18px 12px 0 -4px var(--teal)}.dancer-c .head::before{width:63px;height:34px;border-radius:50% 50% 20% 20%;left:-10px;top:-8px;box-shadow:-13px 18px 0 -7px var(--teal),13px 20px 0 -5px var(--teal)}.dancer-b .arm-l{transform:rotate(-105deg)}.dancer-b .arm-r{transform:rotate(-18deg)}.dancer-c .arm-l{transform:rotate(-150deg)}.dancer-c .arm-r{transform:rotate(-76deg)}.dancer-d .arm-l{transform:rotate(-28deg)}.dancer-d .arm-r{transform:rotate(-136deg)}
.dancer svg{display:block;width:100%;height:100%;overflow:visible}.logo-figure .skin-fill{fill:var(--skin)}.logo-figure .flow-hair{fill:var(--teal)}.logo-figure .top-fill{fill:var(--clothes)}.logo-figure .leg-one{fill:var(--blue)}.logo-figure .leg-two{fill:var(--yellow)}.dancer-a{width:190px;height:270px;left:38%;top:9%;transform:rotate(-6deg)}.dancer-b{width:145px;height:218px;left:3%;top:27%;transform:rotate(10deg);--clothes:var(--yellow);--skin:var(--orange)}.dancer-b .leg-one{fill:var(--green)}.dancer-b .leg-two{fill:var(--blue)}.dancer-c{width:190px;height:270px;left:39%;top:9%;transform:rotate(7deg);--clothes:var(--pink);--skin:var(--orange)}.dancer-c .leg-one{fill:var(--green)}.dancer-c .leg-two{fill:var(--blue)}.dancer-d{width:142px;height:214px;left:4%;top:29%;transform:rotate(-9deg);--clothes:var(--blue);--skin:var(--orange)}.dancer-d .leg-one{fill:var(--pink)}.dancer-d .leg-two{fill:var(--green)}.dancer-small{transform-origin:center}.poster strong{font-size:clamp(3.6rem,5.6vw,6.1rem);text-shadow:2px 2px 0 rgba(246,237,221,.25)}.poster-place{z-index:4}.poster-dj{z-index:4}.poster-kicker{font-family:"Arial Black",Impact,sans-serif;font-size:1rem;letter-spacing:-.02em}
.dancer-b,.dancer-d{display:none}.poster .logo-figure{box-sizing:border-box;width:64%;height:52%;left:18%;top:12%;padding:10px 14px;background:var(--cream);border:3px solid var(--teal);border-radius:47% 53% 44% 56% / 56% 43% 57% 44%;transform:none;box-shadow:7px 7px 0 rgba(8,63,61,.9);z-index:1}.poster .logo-figure svg{position:relative;z-index:2}.card-pink .dancer-a{--skin:var(--orange);--clothes:var(--pink)}.card-pink .dancer-a .leg-one{fill:var(--blue)}.card-pink .dancer-a .leg-two{fill:var(--yellow)}.card-yellow .dancer-c{--skin:var(--orange);--clothes:var(--pink)}.card-yellow .dancer-c .leg-one{fill:var(--blue)}.card-yellow .dancer-c .leg-two{fill:var(--green)}.poster strong{z-index:3}.poster-place,.poster-dj,.poster-kicker{z-index:4}
.location-grid{grid-template-columns:.82fr 1fr 1fr}.location-card{padding:0;min-height:590px;overflow:hidden}.location-card>span,.location-card>h3,.location-card>.address,.location-card>a{margin-left:2rem;margin-right:2rem}.location-card>span{margin-top:2rem}.location-card h3{font-size:clamp(2.6rem,3.6vw,4.5rem);margin-bottom:1.2rem}.mini-map{height:225px;border-top:var(--border);border-bottom:var(--border);background:var(--cream);color:var(--teal);margin-top:.5rem}.mini-map svg{width:100%;height:100%}.mini-map .road{fill:none;stroke:currentColor;stroke-width:18}.mini-map .road.thin{stroke-width:8}.mini-map .water{fill:none;stroke:var(--blue);stroke-width:40;opacity:.9}.blue .mini-map .water{stroke:var(--pink)}.mini-map .pin-dot{fill:var(--yellow);stroke:var(--teal);stroke-width:3}.mini-map .pin{fill:var(--pink)}.mini-map text{font:800 12px "Avenir Next",Arial,sans-serif;letter-spacing:.08em;fill:var(--teal)}.mini-map .map-label{font-family:"Arial Black",Impact,sans-serif;font-size:20px;letter-spacing:-.03em}.address{font-weight:700;line-height:1.35;user-select:all}.location-card>a{margin-top:auto;margin-bottom:2rem}.blue .mini-map{color:var(--teal)}
.poster .dancer{display:none}.poster::before{content:"";position:absolute;z-index:1;left:10%;top:10%;width:80%;height:58%;background:url('assets/logo-dancer.png') center/contain no-repeat;filter:drop-shadow(4px 5px 0 rgba(8,63,61,.18))}.card-yellow .poster::before{transform:scaleX(-1);left:8%}.mini-map .water{stroke-width:34}.mini-map .water-label{font-size:9px;letter-spacing:.18em;fill:var(--cream);font-weight:900}
@media(max-width:1050px){.event-card{grid-template-columns:1fr}.poster{border-bottom:0}.location-grid{grid-template-columns:1fr 1fr}.location-intro{grid-column:1/-1}}
@media(max-width:760px){.hero-image{background-position:63% center}.event-card{grid-template-columns:1fr}.event-card .poster strong{font-size:clamp(3.8rem,18vw,5.6rem);line-height:.88;letter-spacing:-.06em}.location-grid{grid-template-columns:1fr}.location-intro{grid-column:auto}.location-card{min-height:540px}.dancer{left:50%}.dancer-small{left:12%}}
