@font-face{font-family:Paralucent;src:url('../fonts/paralucent-light.otf') format('opentype');font-weight:300;font-display:swap}@font-face{font-family:Paralucent;src:url('../fonts/paralucent-bold.otf') format('opentype');font-weight:700;font-display:swap}
:root{--navy:#191b35;--lavender:#d1c4d5;--blue:#4860a8;--lime:#d4d657}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--navy);color:var(--lavender);font-family:Paralucent,sans-serif;font-weight:300}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid var(--lime);outline-offset:6px}img{display:block;width:100%;height:auto}button{font:inherit;cursor:pointer}h1,h2,h3,p{margin:0}h1,h2{font-size:clamp(22px,2.07vw,40px);font-weight:700;text-transform:uppercase;letter-spacing:.06em}section[id],footer[id]{scroll-margin-top:30px}.site-nav{padding:3.5vw 3.2vw 0;display:flex;align-items:flex-start;justify-content:space-between;position:relative;height:17vw;min-height:145px}.site-nav>a:not(.brand){margin-top:2vw;color:var(--lime);font-weight:300;font-size:clamp(13px,1.2vw,22px);letter-spacing:.18em;text-decoration:none;text-transform: lowercase}.brand{position:absolute;left:50%;transform:translateX(-50%);width:11vw;max-width:215px;min-width:100px}.brand img{aspect-ratio:448.2/482.3;object-fit:contain}.hero-line{display:grid;grid-template-columns:1fr 1.65fr 1fr;align-items:center;padding:0 8%;gap:3vw}.eyebrow{text-transform:uppercase;font-weight:800;letter-spacing:.2em;font-size:clamp(13px,1.47vw,29px)}.eyebrow:last-child{text-align:right}.hero-wave{width:100%;height:auto;overflow:visible;fill:var(--blue);font-size:39.7px;letter-spacing:.025em}.discover{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;margin:5.5vw auto 1.4vw;text-decoration:none;text-transform:uppercase;font-size:clamp(14px,1.47vw,28px)}.discover-arrow{position:absolute;top:1.5em;font-size:2.2em;font-weight:300}.hero-photo{width:51%;margin:auto;position:relative;z-index:1}.hero-photo img{aspect-ratio:980/839;object-fit:cover}.hero{background:linear-gradient(to bottom,var(--navy) 0,var(--navy) calc(100% - 22vw),var(--lavender) calc(100% - 22vw))}.star{position:absolute;font-size:5vw;line-height:1;font-weight:300;left:-2.5vw;top:18%}.lime{color:var(--lime)}.blue{color:#4ca5c7}.about{padding:5vw 6.5% 3.5vw;background:var(--lavender);color:var(--navy);text-align:center}.about-copy{font-size:clamp(18px,1.83vw,36px);font-weight:500;line-height:1.55;letter-spacing:.075em;color:var(--blue);max-width:1680px;margin:0 auto 4.7vw}.about-copy p+p{margin-top:1em}.about-copy a:hover,.site-footer a:hover{color:var(--navy)}.meetings-slider{position:relative}.slide{display:grid;grid-template-columns:59.17% 40.83%;width:84.5vw;min-height:53.8vw}.slide[hidden]{display:none}.slide-photo img,.slide-detail img{height:100%;object-fit:cover}.slide-photo{min-width:0}.slide-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:3vw 3vw 2.5vw;background:var(--navy)}.slide-copy h2{font-size:clamp(16px,1.47vw,29px);letter-spacing:.16em;margin-bottom:1vw}.slide-copy p{font-size:clamp(16px,1.45vw,28px);color:var(--blue);line-height:1.25;max-width:310px;font-weight:700}.slide-detail{overflow:hidden}.slider-controls{position:absolute;right:9%;top:47%;display:flex;align-items:center;gap:12px}.slider-controls button{border:0;background:transparent;color:var(--lavender);font-size:clamp(30px,4.2vw,80px);padding:8px}.slider-controls .previous{font-size:24px}.slide-status{font-size:12px}.schedule{padding:5.5vw 0 6.5vw;background:linear-gradient(var(--lavender) 0 16.2vw,var(--navy) 16.2vw);text-align:center}.schedule>h2{color:var(--navy);margin-bottom:5vw}.schedule-grid{display:grid;grid-template-columns:24% 52% 24%;align-items:start}.date-list{padding-top:18vw;letter-spacing:.17em;font-size:clamp(17px,1.8vw,35px)}.date-list h3{font-size:clamp(15px,1.45vw,28px);color:var(--lime);text-transform:uppercase;font-weight:700;margin-bottom:1.1vw}.date-list ul{padding:0;margin:0;list-style:none;line-height:1.65}.open{text-align:right;padding-right:3vw;grid-column:1;grid-row:1}.closed{text-align:left;padding-left:3vw;grid-column:3;grid-row:1}.schedule-photo{grid-column:2;grid-row:1;position:relative}.schedule-photo>img{aspect-ratio:990/1212;object-fit:cover}.schedule-photo .star{top:auto;bottom:17%}.photo-caption{display:block;fill:var(--lime);font-weight:700;letter-spacing:.08em;font-size:28px;width:60%;height:auto;margin:-1vw auto -3vw;overflow:visible;position:relative}.site-footer{padding:4vw 5%;text-align:center;color:var(--blue);background:var(--lavender);font-weight:700;letter-spacing:.08em;font-size:clamp(16px,1.47vw,28px);line-height:1.6}.site-footer a{text-decoration:none;overflow-wrap:anywhere}.document{max-width:1100px;margin:0 auto;padding:80px 24px;min-height:50vh;line-height:1.7}.document h1{margin-bottom:30px}.document p{margin-bottom:1em}.skip-link{position:absolute;top:-100px;left:20px;background:var(--lime);color:var(--navy);padding:16px;z-index:10}.skip-link:focus{top:10px}
@media(min-width:1920px){.hero-line,.about-copy{max-width:1920px;margin-left:auto;margin-right:auto}}
@media(max-width:700px){.site-nav{height:185px;padding:24px 20px}.site-nav>a:not(.brand){margin-top:10px;font-size:11px;letter-spacing:.08em}.brand{top:65px;width:85px;min-width:0}.hero-line{padding:0 20px;grid-template-columns:1fr 1fr;gap:12px}.hero-wave{grid-column:1/-1;grid-row:1;font-size:38px;max-width:510px;margin:auto}.eyebrow{font-size:12px}.hero-line .eyebrow:first-child{grid-column:1;grid-row:2;display: none;}.hero-line .eyebrow:last-child{grid-column:2;grid-row:2;display: none;}.discover{margin:38px auto 20px;font-size:13px}.hero-photo{width:80%}.hero{background:linear-gradient(var(--navy) calc(100% - 30vw),var(--lavender) 0)}.about{padding:36px 22px 30px}.about-copy{font-size:18px;line-height:1.55;letter-spacing:.035em;margin-bottom:34px}.about-copy br{display:none}.about h1{font-size:21px}.star{font-size:44px;left:-21px}.slide{grid-template-columns:1fr;min-height:0;width:90vw}.slide-photo img{aspect-ratio:1.1;object-position:center}.slide-copy{padding:30px 24px 70px;min-height:220px}.slide-copy h2{font-size:19px;margin-bottom:12px}.slide-copy p{font-size:18px;max-width:none}.slide-detail{display:none}.slider-controls{top:auto;bottom:10px;right:20px}.slider-controls button{font-size:36px}.schedule{padding:35px 18px 50px;background:linear-gradient(var(--lavender) 115px,var(--navy) 115px)}.schedule>h2{font-size:22px;margin-bottom:32px}.schedule-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.schedule-photo{grid-column:1/-1;grid-row:1;width:88%;margin:auto}.date-list{grid-row:2;padding:15px 0 0;font-size:18px;text-align:center}.open{grid-column:1}.closed{grid-column:2}.date-list h3{font-size:15px;margin-bottom:10px}.photo-caption{font-size:28px;width:85%;margin:-5px auto -12px}.site-footer{padding:30px 22px;font-size:16px;letter-spacing:.025em}.site-footer p{max-width:440px;margin:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep the first panel visible before Owl is initialized and without JavaScript. */
.meetings-slider .owl-carousel{display:block}
.meetings-slider .owl-carousel:not(.owl-loaded)>.slide:not(:first-child){display:none}
.meetings-slider .owl-carousel .owl-item img{height:100%;object-fit:cover}
.meetings-slider .owl-stage{display:flex}
.meetings-slider .owl-item{float:none;flex-shrink:0}
.meetings-slider .owl-item>.slide{height:100%}
.slider-controls{z-index:2}

@font-face{font-family:Paralucent;src:url('../fonts/paralucent-medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Paralucent;src:url('../fonts/paralucent-heavy.otf') format('opentype');font-weight:800;font-display:swap}
body{overflow-x:clip}html{scroll-padding-top:120px}.site-nav>a:not(.brand){font-weight:300}.hero-wave{font-weight:300}.slide-copy h2{font-weight:700}.date-list{font-weight:300}.site-footer{font-weight:700}
.discover{font-weight:300}.discover-arrow{width:20px;height:90px;object-fit:contain;position:absolute;top:1.25em;z-index:2}
.star{width:5vw;height:auto;pointer-events:none}.about{position:relative}.about-spark{position:absolute;width:3.5vw;right:14%;bottom:9vw;pointer-events:none}
.slider-controls{right:10%;gap:16px}.slider-controls button{padding:10px;width:85px;height:50px;display:grid;place-items:center}.slider-controls button img{width:100%;height:auto}.slider-controls .previous{width:50px}.slider-controls .previous img{transform:rotate(180deg)}
.footer-content p+p{margin-top:1em}.footer-content ul{display:inline-block;text-align:left}.footer-content a{text-decoration:underline}
.reveal-ready{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal-ready.is-revealed{opacity:1;transform:none}
a,button{transition:color .2s ease,opacity .2s ease}.site-nav a:hover{opacity:.7}.discover-arrow,.slider-controls button img{transition:translate .25s ease}
@media(max-width:782px){}
@media(max-width:700px){.discover-arrow{height:65px;width:16px}.star{width:44px}.about-spark{width:28px;right:7%;bottom:65px}.slider-controls{right:14%;bottom:15px}.slider-controls button{width:65px;height:40px}.slider-controls .previous{width:40px}.slide-copy{padding-bottom:75px}.photo-caption{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}

@media(min-width:701px){.slide{height:53.8vw;min-height:0}.slide-photo{min-height:0}}

/* Match the proportions and typography of the 1920px source composition. */
.hero-line{height:8vw;grid-template-columns:1fr 39.6vw 1fr;padding:0 8%;gap:2vw}
.hero-wave{font-size:39.7px;letter-spacing:0}
.discover{margin-top:6.5vw;font-size:clamp(14px,1.47vw,28.3px)}
.discover-arrow{height:80px;width:24px;top:1.1em}
.hero-photo{width:51.04%}.hero-photo .photo-frame{aspect-ratio:980/839}
.photo-frame{position:relative;overflow:hidden;isolation:isolate}
.photo-frame>img{width:100%;height:100%;object-fit:cover;translate:0 var(--photo-shift,0px);scale:1.045}
.hero-photo>img.star,.schedule-photo>img.star{aspect-ratio:auto;height:auto;object-fit:contain;width:3.8vw}
.hero-photo .star{top:19%;left:-2.7vw}.schedule-photo .star{left:-3vw;bottom:18%}
.about{padding-top:5.4vw;padding-bottom:3.7vw}.about-copy{font-size:clamp(18px,1.77vw,34px);line-height:1.58;letter-spacing:.08em;margin-bottom:6vw}
.about-copy p+p{margin-top:0}.about-copy span{font:inherit;letter-spacing:inherit}.about-spark{width:3vw;right:14.5%;bottom:8.2vw}
.slide-copy{padding:3vw 3vw 2.6vw}.slide-copy h2{font-size:clamp(20px,1.6vw,40px)}.slide-copy p{font-size:clamp(16px,1.375vw,32px);font-weight:300;max-width:19vw;line-height:1.22;letter-spacing: 0.06em;}
.slider-controls{right:10%;gap:10px}.slider-controls .previous,.slide-status{position:absolute;width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.slider-controls .previous:focus-visible{position:static;width:60px;height:45px;clip-path:none;overflow:visible}.slider-controls .next{width:10vw;height:55px;padding:10px 0}
.schedule{padding-top:6vw;padding-bottom:5.8vw}.schedule>h2{margin-bottom:4.7vw}.schedule-grid{grid-template-columns:24% 52% 24%}
.schedule-photo .photo-frame{aspect-ratio:990/1212}.date-list{padding-top:17.5vw;font-size:clamp(17px,1.77vw,34px);letter-spacing:.2em}.date-list ul{line-height:1.58}
.photo-caption{width:70%;font-size:28.3px;letter-spacing:0;margin:-4.3vw auto -5.7vw;pointer-events:none}
.site-footer{padding:3.6vw 5%;font-size:clamp(16px,1.475vw,28.3px)}
@media(max-width:700px){
 .hero-line{height:auto;grid-template-columns:1fr 1fr;padding:0 22px;gap:18px}.hero-wave{grid-column:1/-1;width:100%;max-width:510px;font-size:39.7px}.hero-line .eyebrow{font-size:11px;letter-spacing:.15em}
 .discover{margin-top:40px;margin-bottom:20px;font-size:13px}.discover-arrow{height:55px;width:17px}.hero-photo{width:80%}.hero-photo>img.star,.schedule-photo>img.star{width:38px}.hero-photo .star{left:-23px}.schedule-photo .star{left:-23px}
 .about{padding:36px 22px 30px}.about-copy{font-size:17px;line-height:1.6;letter-spacing:.04em;margin-bottom:35px}.about-copy p+p{margin-top:.65em}.about-spark{width:27px;right:8%;bottom:65px}
 .slide-photo{overflow:hidden;aspect-ratio: 1}.slide-copy{padding:28px 22px 70px;min-height:230px; justify-content: flex-start;}.slide-copy h2{font-size:18px}.slide-copy p{font-size:17px;max-width:none;line-height:1.4}.slider-controls{right:14%;bottom:20px}.slider-controls .next{width:80px;height:40px}
 .schedule{padding:35px 18px 45px}.schedule>h2{margin-bottom:32px}.schedule-grid{grid-template-columns:1fr 1fr}.date-list{padding-top:15px;font-size:17px;letter-spacing:.14em}.photo-caption{width:95%;font-size:28.3px;margin:-35px auto -35px}.site-footer{padding:30px 22px;font-size:16px}
}

/* Opening choreography: logo, navigation, curved title, then the photograph. */
@keyframes intro-mark{from{opacity:0;transform:translateY(24px) rotate(-9deg) scale(.88)}to{opacity:1;transform:none}}
@keyframes intro-rise{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes intro-left{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes intro-right{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes photo-open{from{opacity:0;clip-path:inset(12% 7% 5% 7% round 2px)}to{opacity:1;clip-path:inset(0)}}
@keyframes photo-settle{from{transform:scale(1.12)}to{transform:scale(1)}}



@media(prefers-reduced-motion:no-preference){
 .site-nav .brand img{animation:intro-mark 1.15s cubic-bezier(.16,1,.3,1) both}
 .site-nav>a:first-child{animation:intro-left .85s .15s both}.site-nav>a:last-child{animation:intro-right .85s .25s both}
 .hero-line .eyebrow:first-child{animation:intro-left 1s .35s both}.hero-line .eyebrow:last-child{animation:intro-right 1s .4s both}.hero-wave{animation:intro-left 1.1s .3s cubic-bezier(.16,1,.3,1) both}
 .discover{animation:intro-rise .9s .5s both}
 .hero-photo .photo-frame{animation:photo-open 1.4s .35s cubic-bezier(.16,1,.3,1) both}.hero-photo .photo-frame>img{animation:photo-settle 2s .35s cubic-bezier(.16,1,.3,1) both}
 .motion-word{display:inline-block;opacity:0;transform:translateY(110%) rotate(3deg);transition:opacity .7s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--word-index,0)*70ms)}
 .is-revealed .motion-word{opacity:1;transform:none}.reveal-heading{overflow:hidden;padding-bottom:.12em}
 .reveal-ready{transform:translateY(38px);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-revealed{transform:none}
 .date-list li{transition:translate .3s ease,color .3s ease}.date-list li:hover{translate:0 -3px;color:var(--lime)}
 .photo-frame>img{will-change:translate}
}
@media(prefers-reduced-motion:reduce){.motion-word{opacity:1;transform:none}.photo-frame>img{translate:none;scale:1}.hero-photo .photo-frame{clip-path:none}}

@media(min-width:701px){.meetings-slider .owl-item>.slide{height:80vh;min-height:0}.photo-caption{position:absolute;left:15%;top:calc(100% - 7vw);margin:0}.schedule{padding-bottom:7vw}}
@media(max-width:700px){.photo-caption{position:relative;left:auto;top:auto;width:100%;font-size:44px;margin:-60px auto -50px}.meetings-slider .owl-item>.slide{height:100%}.hero-wave{font-size:36px}}

/* The opening navigation belongs to the hero and scrolls with the page. */
html{scroll-padding-top:30px}
.hero-intro{height:27vw;position:relative}
.hero-intro .site-nav{height:auto;min-height:0;padding:4vw 4vw 0}
.hero-intro .site-nav>a:not(.brand){margin:0;font-size:clamp(13px,1.15vw,22px);letter-spacing:.16em}
.hero-intro .brand{top:5.15vw;width:14.9vw;max-width:none;min-width:0}
.hero-intro .hero-line{position:absolute;top:12.5vw;left:0;width:100%;height:6vw;padding:0 12%;grid-template-columns:1fr 35.5vw 1fr;gap:2vw}
.hero-intro .eyebrow{font-size:clamp(13px,1.15vw,22px);font-weight:300;letter-spacing:.14em;text-transform:lowercase;color:var(--blue)}
.hero-intro .hero-wave{font-size:32px;letter-spacing:.12em}
.hero .discover{margin:0 auto 1.65vw;font-size: clamp(13px, 1.15vw, 22px);;line-height:1.3;letter-spacing: .14em;}
.hero .discover-arrow{top:1.4em;width:16px;height:70px}
.hero-photo{width:51.4%}
.hero-photo .star{width:3.4vw;left:-2.5vw;top:19%}
@media(max-width:700px){
 .hero-intro{height:300px}
 .hero-intro .site-nav{padding:30px 22px 0}
 .hero-intro .site-nav>a:not(.brand){font-size:12px;letter-spacing:.09em}
 .hero-intro .brand{top:85px;width:145px}
 .hero-intro .hero-line{top:165px;height:auto;padding:0 22px;grid-template-columns:1fr 1fr;gap:18px}
 .hero-intro .hero-wave{width:100%;font-size:32px;grid-column:1/-1;grid-row:1}
 .hero-intro .eyebrow{font-size:12px}
 .hero .discover{margin:0 auto 22px;font-size:13px}
 .hero .discover-arrow{height:55px;width:14px}
 .hero-photo{width:80%}
 .hero-photo .star{width:38px;left:-23px}
}

/* Original Illustrator paths and type proportions for both curved captions. */
.hero-intro .hero-wave{font-size:39.7px;letter-spacing:0;font-weight:300}
.photo-caption{font-size:28.3px;letter-spacing:0;font-weight:700;overflow:visible}
@media(min-width:701px){
 .photo-caption{top:calc(100% - 9vw);width:70%;left:15%}
 .schedule{padding-bottom:9vw}
}
@media(max-width:700px){
 .hero-intro .hero-wave{font-size:3px}
 .photo-caption{position:absolute;top:86%;left:15%;width:70%;margin:0;font-size:28.3px}
 .schedule-photo{margin-bottom:3vw}
}

/* Fixed ornaments sit above the cropped photograph, at source-artwork scale. */
.star,.about-spark{animation:none;z-index:3}
.hero-photo>img.star,.schedule-photo>img.star{width:4vw;aspect-ratio:auto;height:auto}
.hero-photo .star{left:-2.5vw;top:19%}
.schedule-photo .star{left:-2.5vw;bottom:18%}
.about-spark{width:2.5vw}
/* Centre the arrow vertically on the top edge of the photograph. */
.hero .discover-arrow{height:70px;width:21px;top:calc(100% + 1.65vw - 35px)}
@keyframes arrow-prompt-down{
 0%,20%,40%,100%{translate:0 0}
 10%,30%{translate:0 10px}
}
@keyframes arrow-prompt-right{
 0%,20%,40%,100%{translate:0 0}
 10%,30%{translate:12px 0}
}
@media(prefers-reduced-motion:no-preference){
 .discover-arrow{animation:arrow-prompt-down 3.6s 1.4s ease-in-out infinite}
 .slider-controls .next img{animation:arrow-prompt-right 3.6s 1.4s ease-in-out infinite}
}
/* Paralucent weights and sizes from the original composition. */
.about-copy{font-weight:500}
.about h1,.schedule>h2{font-size:clamp(22px,2.068vw,39.7px);font-weight:700}
.about h1{letter-spacing:0}
.schedule>h2{letter-spacing:.1em}
.slide-copy h2,.date-list h3{font-weight:700;letter-spacing:.2em}
.slide-copy p,.date-list{font-weight:300}
.site-footer{font-weight:700;letter-spacing:0}
@media(max-width:700px){
 .hero-photo>img.star,.schedule-photo>img.star{width:38px}
 .hero-photo .star,.schedule-photo .star{left:-23px}
 .about-spark{width:25px}
 .hero .discover-arrow{height:55px;width:17px;top:calc(100% + 22px - 27.5px)}
 .about h1{font-size:21px}.schedule>h2{font-size:22px}
}

@font-face{font-family:Afacad;src:url('../fonts/afacad-variable.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
/* Keep the complete slogan spread along the source curve with Afacad metrics. */
.hero-intro .hero-wave{font-family:Afacad,sans-serif;font-size:39.7px;font-weight:400;letter-spacing:0}
/* Match the caption's source coordinates relative to the meeting photograph. */
.photo-caption{left:17.8%;top:86%;width:70%;height:auto;font-size:28.3px;line-height:1;font-weight:700}
@media(min-width:701px){
 .hero-intro .hero-wave{width:39.6vw;max-width:none;justify-self:center}
}
@media(max-width:700px){
 .hero-intro .hero-wave{width:100%;font-size:40px;margin-left: 6%;}
 .photo-caption{left:17.8%;top:86%;width:70%;font-size:28.3px}
}

/* Let the opening composition use the entire viewport, including wide displays. */
.hero,.hero-intro{width:100%;max-width:none}
.hero-intro .hero-line{max-width:none;margin:0}
/* Map the original caption coordinates onto the complete photo width. */
.schedule-photo .photo-caption{position:absolute;left:0;top:86.01%;width:100%;height:auto;margin:0;font-size:28.3px;letter-spacing:0}
.footer-content a,.site-footer a{text-decoration:none}
a{transition:color .25s ease,opacity .25s ease}
.site-nav a:not(.brand):hover,.site-nav a:not(.brand):focus-visible,.discover:hover,.discover:focus-visible{color:var(--lavender);opacity:1}
.about-copy a:hover,.about-copy a:focus-visible,.site-footer a:hover,.site-footer a:focus-visible{color:var(--navy)}
@keyframes slogan-enter{
 from{opacity:0;transform:translateX(-42vw)}
 to{opacity:1;transform:translateX(0)}
}
@media(prefers-reduced-motion:no-preference){
 .hero-intro .hero-wave{animation:slogan-enter 1.65s 1.85s cubic-bezier(.16,1,.3,1) both}
 .reveal-ready{transform:translateY(70px);transition:opacity 1.1s ease,transform 1.25s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,100ms)}
 .reveal-ready.is-revealed{transform:none}
 .motion-word{transform:translateY(145%) rotate(5deg);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:calc(120ms + var(--word-index,0)*100ms)}
 .is-revealed .motion-word{transform:none}
}

/* One restrained entrance treatment: opacity and a short upward movement. */
@keyframes fade-up{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@keyframes slogan-enter{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:translateX(0)}}
.photo-frame>img{translate:none;scale:1;will-change:auto}
.schedule-photo .photo-caption{font-size:40px}
@media(prefers-reduced-motion:no-preference){
 .site-nav .brand img{animation:fade-up .5s 0s ease both}
 .site-nav>a:first-child,.site-nav>a:last-child{animation:fade-up .5s .15s ease both}
 .hero-line .eyebrow:first-child,.hero-line .eyebrow:last-child{animation:fade-up .5s .3s ease both}
 .discover{animation:fade-up .5s .45s ease both}
 .hero-photo .photo-frame{animation:fade-up .5s .3s ease both;clip-path:none}
 .hero-photo .photo-frame>img{animation:none}
 .hero-intro .hero-wave{animation:slogan-enter 1.6s 1.85s ease both}
 .reveal-ready{opacity:0;transform:translateY(50px);transition:opacity .5s ease,transform .5s ease;transition-delay:var(--reveal-delay,100ms)}
 .reveal-ready.is-revealed{opacity:1;transform:translateY(0)}
 .date-list li:hover{translate:none}
}

/* Uploaded artwork replaces the generated address-on-path caption. */
.schedule-caption-image{position:absolute;left:22%;top:71%;width:31%;z-index:3;pointer-events:none}
.schedule-caption-image>img{width:100%;height:auto;object-fit:contain}

/* Reveal the slogan progressively along its own curved baseline. */
.hero-intro .hero-wave{animation:none}
.slogan-trace{stroke-dasharray:1 1;stroke-dashoffset:0}
@keyframes slogan-follow-curve{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:no-preference){
 .hero-intro .hero-wave{animation:none}
 .slogan-trace{animation:slogan-follow-curve 1.5s 0.5s cubic-bezier(.4,0,.2,1) both}
}

/* Decorations reveal once after their related content. */
@media(min-width:701px){
 .hero-photo>img.star,.schedule-photo>img.star,.about-spark{width:4vw}
}
@media(prefers-reduced-motion:no-preference){
 .ornament-ready{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
 .ornament-ready.ornament-shown{opacity:1;transform:translateY(0);animation:none}
}
@media(prefers-reduced-motion:reduce){
 .ornament-ready{opacity:1;transform:none;translate:none;rotate:none;animation:none}
}

/* Uniform entrances below the opening section, including text and artwork. */
@media(prefers-reduced-motion:no-preference){
 .about .reveal-ready,.schedule .reveal-ready,.site-footer .reveal-ready,.document .reveal-ready{
  opacity:0;transform:translateY(50px);
  transition:opacity .5s ease,transform .5s ease;
  transition-delay:var(--reveal-delay,100ms);
 }
 .about .reveal-ready.is-revealed,.schedule .reveal-ready.is-revealed,.site-footer .reveal-ready.is-revealed,.document .reveal-ready.is-revealed{opacity:1;transform:translateY(0)}
}

/* Scale the discover arrow with its label, keeping its centre on the photo edge. */
.hero .discover-arrow{
 font-size:inherit;
 height:2.5em;width:.967em;
 top:calc(100% + 1.65vw - 1.24em);
}
@media(max-width:700px){
 .hero .discover-arrow{top:calc(100% + 22px - 1.6em)}
}
