.ski-hero{position:relative;display:grid;isolation:isolate;place-items:center;min-height:clamp(27rem,58svh,45rem);overflow:hidden;border-radius:1rem;margin-block:0 2rem;background:var(--navy-900)}
.ski-scene,.ski-scene img{position:absolute;inset:0;width:100%;height:100%}
.ski-scene{z-index:-2}
.ski-scene img{object-fit:cover}
.ski-curtain{position:absolute;top:0;bottom:0;width:24%;height:100%;object-fit:fill;pointer-events:none;z-index:-1}
.ski-curtain-left{left:0}
.ski-curtain-right{right:0}
.ski-event{max-width:min(34rem,90%);padding:clamp(1rem,4vw,2.5rem);border-radius:.75rem;text-align:center;background:var(--navy-900);color:var(--cream)}
.ski-event h1{font-size:clamp(2rem,6vw,4rem);line-height:1.05;margin:0 0 1rem}
.ski-event .btn{min-height:44px}
.ski-hero.event-preset-scene{min-height:clamp(12rem,35svh,25rem)}
.ski-release{display:none;color:var(--gold-300);font-weight:800;text-transform:uppercase}
.ski-revealed .ski-release{display:block}
@media(prefers-reduced-motion:no-preference){
  .ski-curtain{transition:transform 1.15s cubic-bezier(.45,.05,.25,1)}
  .ski-revealed .ski-curtain-left{transform:translateX(-100%)}
  .ski-revealed .ski-curtain-right{transform:translateX(100%)}
  .ski-revealed .ski-release{animation:ski-pop .45s cubic-bezier(.2,.8,.35,1.35) both}
}
@keyframes ski-pop{from{opacity:0;transform:translateY(.6rem) scale(.9)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ski-revealed .ski-curtain{visibility:hidden}}
@media(max-width:700px){
  .ski-hero{min-height:64svh;align-items:end;padding-bottom:clamp(1rem,5svh,3rem)}
  .ski-scene img{object-position:center 38%}
  .ski-curtain{width:31%}
}
.ski-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.esa-week ol{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;padding:0}
.esa-week li{min-height:4.5rem;display:flex;flex-direction:column;gap:.3rem;overflow-wrap:anywhere;padding:.35rem;background:var(--navy-800);color:var(--cream);border-radius:.375rem}
.esa-week [aria-current=date]{outline:2px solid var(--gold-300);outline-offset:-2px}
.esa-week time{font-variant-numeric:tabular-nums;font-size:.85rem}
.esa-week a{display:flex;align-items:center;min-height:44px;color:var(--gold-100)}
@media(max-width:700px){.esa-week li{padding:.25rem;font-size:.75rem}.esa-week time{font-size:.75rem}}
.esa-times{background:var(--paper);color:var(--ink);border-radius:.5rem;padding:clamp(1rem,4vw,3rem);margin-block:2rem}
.esa-times h2{font:700 clamp(2.2rem,6vw,4.75rem)/1.05 Georgia,serif;color:inherit;margin:0 0 1rem;border-bottom:2px solid currentColor;padding-bottom:.5rem}
.esa-times .news-list{margin-block:1rem}
.canvas-text [contenteditable]:focus{outline:2px solid currentColor;outline-offset:.2rem}
.canvas-format{display:none;flex-wrap:wrap;gap:var(--space-2);margin-block-start:var(--space-2)}
.canvas-text.is-editing .canvas-format{display:flex}
.canvas-format .btn{min-height:44px}
[data-countdown-style=neon] b{color:var(--gold-100);text-shadow:var(--glow-gold)}
[data-countdown-style=minimal] .countdown-tick b{font-size:1.15rem}
[data-countdown-style=flip] .countdown-tick b{border-bottom:2px solid var(--gold-300)}
@media(prefers-reduced-motion:no-preference){
  .ticket-revealed[data-reveal=spotlight],.ski-revealed[data-reveal=spotlight] .ski-event{animation:ski-pop .8s ease-out both;box-shadow:var(--glow-gold)}
  .ticket-revealed[data-reveal=neon],.ski-revealed[data-reveal=neon] .ski-event{text-shadow:var(--glow-gold)}
  .ticket-revealed[data-reveal=snow-globe],.ski-revealed[data-reveal=snow-globe] .ski-event{animation:ski-globe .8s ease-out both}
  .ticket-revealed[data-reveal=fade],.ski-revealed[data-reveal=fade] .ski-release{animation:ski-fade .45s ease-out both}
}
@keyframes ski-globe{from{clip-path:circle(12%);opacity:.35}to{clip-path:circle(100%);opacity:1}}
@keyframes ski-fade{from{opacity:0}to{opacity:1}}
.edition-page{box-sizing:border-box;margin-block:var(--edition-spacing,2rem);padding:var(--edition-padding,0);overflow-wrap:anywhere}
.edition-page[data-layout=column]{max-width:42rem;margin-inline:auto}
.edition-page[data-height=short]{min-height:12rem}
.edition-page[data-height=tall]{min-height:20rem}
.edition-page[data-colour=accent] > h3{color:var(--gold-700)}
.edition-page[data-colour=ink] > h3{color:var(--stage-ink)}
.edition-page[data-colour=muted] > h3{color:var(--muted)}
.edition-page[data-padding=small]{--edition-padding:.5rem}
.edition-page[data-padding=medium]{--edition-padding:1rem}
.edition-page[data-padding=large]{--edition-padding:2rem}
.edition-page[data-spacing=none]{--edition-spacing:0}
.edition-page[data-spacing=small]{--edition-spacing:.5rem}
.edition-page[data-spacing=medium]{--edition-spacing:1rem}
.edition-page[data-border=true]{border:1px solid currentColor}
@media(min-width:701px){
  .edition-page[data-width="50"]{width:50%;margin-inline:auto}
  .edition-page[data-width="75"]{width:75%;margin-inline:auto}
  .edition-page[data-columns="2"] > .blocks{display:block;column-count:2;column-gap:1.5rem}
  .edition-page[data-columns="2"] > .blocks > *{break-inside:avoid;margin-block-end:var(--space-4)}
}
.edition-page[data-type-style=masthead] h3{font:700 clamp(1.75rem,5vw,3.5rem)/1 Georgia,serif}
.edition-page[data-type-style=headline-2] > h3{font:700 1.5rem/1.15 var(--font-display)}
.edition-page[data-type-style=headline-3] > h3{font:700 1.25rem/1.2 var(--font-display)}
.edition-page[data-type-style=subhead] > h3{font:600 1.125rem/1.3 var(--font-ui)}
.edition-page[data-type-style=body] h3{font-size:1.125rem}
.edition-page[data-type-style=caption] h3{font-size:.9rem;text-transform:uppercase}
.edition-page[data-type-style=button] > h3{font:700 .875rem/1.2 var(--font-ui);letter-spacing:.06em;text-transform:uppercase}
@media(prefers-reduced-motion:no-preference){
  .edition-page[data-motion=fade-up]{animation-name:edition-fade-up;--edition-motion-default:650ms}
  .edition-page[data-motion=slide]{animation-name:edition-slide;--edition-motion-default:550ms}
  .edition-page[data-motion=zoom]{animation-name:edition-zoom;--edition-motion-default:450ms}
  .edition-page[data-motion=reveal]{animation-name:edition-reveal}
  .edition-page{
    animation-duration:var(--edition-duration,var(--edition-motion-default,600ms));
    animation-delay:var(--edition-delay,0ms);
    animation-timing-function:cubic-bezier(.23,1,.32,1);
    animation-fill-mode:both;
  }
  .edition-page[data-duration=fast]{--edition-duration:300ms}
  .edition-page[data-duration=normal]{--edition-duration:600ms}
  .edition-page[data-duration=slow]{--edition-duration:900ms}
  .edition-page[data-delay=short]{--edition-delay:150ms}
  .edition-page[data-delay=long]{--edition-delay:300ms}
}
@keyframes edition-fade-up{from{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:none}}
@keyframes edition-slide{from{opacity:0;transform:translateX(-1rem)}to{opacity:1;transform:none}}
@keyframes edition-zoom{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
@keyframes edition-reveal{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}
.event-video{display:block;width:100%;aspect-ratio:16/9;border:0}
.ski-lights{position:absolute;inset:.75rem 4% auto;display:flex;justify-content:space-around;pointer-events:none}
.ski-lights i{display:block;width:.35rem;height:.55rem;border-radius:50%;background:var(--gold-100);box-shadow:var(--glow-gold)}
.ski-lights[data-colours=cool] i,.ski-lights[data-colours=alternating] i:nth-child(even){background:var(--avatar-beanie)}
.ski-lights[data-brightness=dim]{opacity:.45}
.ski-lights[data-brightness=bright] i{width:.45rem;height:.65rem}
@media(prefers-reduced-motion:no-preference){
  .ski-lights i{animation:ski-twinkle 2.7s ease-in-out infinite alternate}
  .ski-lights i:nth-child(2n){animation-delay:-1.4s}
  .ski-lights i:nth-child(3n){animation-duration:3.6s}
  .ski-lights[data-speed=fast] i{animation-duration:1.4s}
  .ski-lights[data-speed=slow] i{animation-duration:5s}
}
@keyframes ski-twinkle{from{opacity:.5}to{opacity:1}}
.edition-page[data-align=center] h3{text-align:center}.edition-page[data-align=right] h3{text-align:right}
.ski-quiet .ski-curtain{visibility:hidden}
