/* THE MEADOW EDITION — illustration, depth and a little theatre. */
.welcome-open{overflow:hidden}
.earth-welcome[hidden]{display:none}
.earth-welcome{position:fixed;inset:0;z-index:200;background:#f7f4e9;color:#284838;display:flex;flex-direction:column;align-items:center;justify-content:center;isolation:isolate;padding:30px 5%;overflow:hidden;transition:opacity .65s,visibility .65s}
.earth-welcome:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 46%,#fffdf3 0%,#f7f4e9 65%,#e9ecdf 100%)}
.earth-welcome.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.welcome-topline{position:absolute;top:30px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.welcome-wordmark{font-family:var(--serif);font-size:30px;letter-spacing:-1px}
.welcome-topline .button{font-size:11px;min-height:43px;padding:10px 19px;border:1px solid #bdc6b2;gap:18px}
.welcome-topline .button:hover{background:#284838;color:#fffdf0}
.welcome-illustration{width:min(1060px,100%);margin-top:6vh;position:relative}
.welcome-illustration:after{content:'';position:absolute;bottom:3%;height:12%;left:-4%;right:-4%;background:linear-gradient(transparent,#f7f4e9)}
.welcome-meadow{display:block;width:100%;height:auto;overflow:visible}
.welcome-copy{text-align:center;margin-top:-1.5%;position:relative;max-width:660px}
.welcome-scene-label{font-size:9px;letter-spacing:.23em;color:#88916e;font-weight:600}
.welcome-story-name{font-family:var(--serif);font-size:clamp(29px,3.7vw,48px);font-weight:400;line-height:1.14;letter-spacing:-1.5px;margin:15px 0 12px}
.welcome-description{font-size:12px;color:#7c816a;line-height:1.7;max-width:440px;margin:auto}
.welcome-bottomline{display:flex;align-items:center;gap:15px;margin-top:24px;font-size:8px;letter-spacing:.14em;color:#91977c}
.welcome-track{width:105px;height:1px;background:#d8ddc9;overflow:hidden}
.welcome-track:after{content:'';display:block;height:100%;background:#829268;transform-origin:left;animation:welcome-line var(--welcome-duration,7.8s) linear both}
.welcome-bottom-note{position:absolute;bottom:24px;text-align:center;left:20px;right:20px;font-size:9px;letter-spacing:.1em;color:#969a82}
.welcome-meadow .mother{animation:mother-breathe 3s ease-in-out infinite;transform-origin:130px 150px}
.welcome-meadow .mother .animal-head{animation:mother-graze var(--welcome-duration,7.8s) ease-in-out both;transform-origin:210px 100px}
.welcome-meadow .tail{animation:tail-swish 3s ease-in-out infinite;transform-origin:45px 105px}
.welcome-meadow .eye{animation:eye-blink 4s infinite;transform-box:fill-box;transform-origin:center}
.welcome-meadow .calf-travel{animation:calf-arrive var(--welcome-duration,7.8s) cubic-bezier(.35,0,.25,1) both}
.welcome-meadow .calf-bounce{animation:calf-leap var(--welcome-duration,7.8s) ease-in-out both;transform-origin:260px 455px}
.welcome-meadow .calf-shadow{animation:calf-shadow var(--welcome-duration,7.8s) ease-in-out both}
.welcome-meadow .calf .leg{animation:calf-step 1s ease-in-out 5;transform-box:fill-box;transform-origin:50% 0}
.welcome-meadow .calf .leg-front,.welcome-meadow .calf .leg-near-back{animation-direction:reverse}
.welcome-meadow .calf .animal-head{animation:calf-nurse var(--welcome-duration,7.8s) ease-in-out both;transform-origin:230px 115px}
.welcome-meadow .cloud{animation:cloud-drift 16s ease-in-out infinite alternate}
.welcome-meadow .butterfly{opacity:0;animation:butterfly-away var(--welcome-duration,7.8s) ease-in-out both;transform-origin:323px 325px}
.welcome-meadow .butterfly ellipse{animation:wing-flutter .24s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
.welcome-meadow .love-spark{opacity:0;animation:love-rise var(--welcome-duration,7.8s) ease-in-out both}
.earth-welcome[data-scene=butterfly] .butterfly{opacity:1}
.earth-welcome[data-scene=butterfly] .calf-bounce{animation-name:calf-chase}
.earth-welcome[data-scene=butterfly] .calf-travel{animation-name:calf-chase-travel}
.earth-welcome[data-scene=nuzzle] .meadow-sun{fill:#d8a985}
.earth-welcome[data-scene=nuzzle] .calf-travel{animation-name:calf-nuzzle-travel}
.earth-welcome[data-scene=nuzzle] .calf-bounce{animation-name:calf-stroll}
.earth-welcome[data-scene=nuzzle] .mother .animal-head{animation-name:mother-nuzzle}
.earth-welcome[data-scene=nuzzle] .calf .animal-head{animation-name:calf-nuzzle}
.earth-welcome[data-scene=nuzzle] .calf-shadow{animation-name:nuzzle-shadow}
@keyframes welcome-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mother-breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.015)}}
@keyframes mother-graze{0%,25%{transform:rotate(40deg)}42%,100%{transform:rotate(0)}}
@keyframes mother-nuzzle{0%,35%{transform:rotate(8deg)}65%,100%{transform:rotate(45deg)}}
@keyframes tail-swish{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(12deg)}}
@keyframes eye-blink{0%,44%,48%,100%{transform:scaleY(1)}46%{transform:scaleY(.05)}}
@keyframes calf-arrive{0%,8%{transform:translateX(0)}60%,100%{transform:translateX(255px)}}
@keyframes calf-leap{0%,10%,30%,50%,64%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(-47px) rotate(-7deg)}40%{transform:translateY(-31px) rotate(4deg)}}
@keyframes calf-chase{0%,9%,25%,44%,62%,100%{transform:translateY(0)}17%{transform:translateY(-28px) rotate(-5deg)}35%{transform:translateY(-53px) rotate(-9deg)}53%{transform:translateY(-24px) rotate(4deg)}}
@keyframes calf-chase-travel{0%,8%{transform:translateX(-45px)}35%{transform:translateX(80px)}68%,100%{transform:translateX(255px)}}
@keyframes calf-nuzzle-travel{0%{transform:translateX(150px)}65%,100%{transform:translateX(445px)}}
@keyframes calf-stroll{0%,20%,40%,60%,100%{transform:translateY(0)}10%,30%,50%{transform:translateY(-5px)}}
@keyframes calf-step{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(8deg)}}
@keyframes calf-nurse{0%,58%{transform:rotate(0)}72%,83%,94%,100%{transform:rotate(-17deg)}77%,88%,97%{transform:rotate(-12deg)}}
@keyframes calf-nuzzle{0%,60%{transform:rotate(-5deg)}75%,100%{transform:rotate(-27deg)}}
@keyframes calf-shadow{0%{transform:translateX(0)}60%,100%{transform:translateX(255px)}}
@keyframes nuzzle-shadow{0%{transform:translateX(150px)}65%,100%{transform:translateX(445px)}}
@keyframes cloud-drift{from{transform:translateX(-8px)}to{transform:translateX(14px)}}
@keyframes butterfly-away{0%{opacity:0;transform:translate(-45px,10px)}15%,60%{opacity:1}30%{transform:translate(60px,-70px)}55%{transform:translate(190px,-30px)}85%,100%{opacity:0;transform:translate(280px,-160px)}}
@keyframes wing-flutter{to{scale:.35 1}}
@keyframes love-rise{0%,69%{opacity:0;transform:translateY(14px)}82%{opacity:.8}100%{opacity:0;transform:translateY(-18px)}}

/* One coherent perspective system for programme, gallery and film cards. */
.depth-deck{position:relative;--deck-card:390px;--deck-gap:330px;--deck-height:560px}
.deck-controls{display:none}
.depth-deck.depth-ready{padding-top:8px}
.depth-ready.depth-deck .depth-stage{display:block;position:relative;height:var(--deck-height);perspective:1400px;isolation:isolate;touch-action:pan-y;overflow:hidden;margin:0 -2%;padding:0}
.depth-ready.depth-deck .depth-stage:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:8px}
.depth-ready.depth-deck .depth-stage>*{position:absolute;top:18px;left:50%;width:var(--deck-card);height:auto;margin:0;opacity:1!important;transition:transform .8s cubic-bezier(.22,.8,.2,1),filter .8s,opacity .8s;transform:translateX(calc(-50% + var(--slot) * var(--deck-gap))) translateY(30px) translateZ(-130px) rotateY(calc(var(--slot) * -24deg)) scale(.91);filter:brightness(.72) saturate(.65);transform-origin:center;will-change:transform}
.depth-ready.depth-deck .depth-stage>.is-current{transform:translateX(-50%) translateY(0) translateZ(0) rotateY(0) scale(1);filter:none}
.depth-ready.depth-deck .depth-stage>*[data-position='2'],.depth-ready.depth-deck .depth-stage>*[data-position='-2']{opacity:0!important;pointer-events:none}
.depth-ready .workshop-card{background:#f5f1e5;color:var(--forest);border:1px solid #fff3;border-radius:7px;overflow:hidden;box-shadow:0 22px 35px #0e231a25}
.depth-ready .workshop-card-copy{padding:23px 27px 28px}
.depth-ready .workshop-card h3{font-size:35px;line-height:1.12;letter-spacing:-.7px;margin:12px 0}
.depth-ready .workshop-card p{font-size:12px!important;color:#74816b!important;max-width:none;line-height:1.8;min-height:65px}
.depth-ready .workshop-card .text-link{font-size:10px;color:#294737;margin-top:15px}
.depth-ready .workshop-status{color:#849476!important;font-size:9px;letter-spacing:.08em}
.depth-ready .workshop-image-button{aspect-ratio:1.48;border-radius:0}
.depth-ready .workshop-index{font-size:7px;max-width:75%;left:22px;bottom:20px}
.depth-ready .round-arrow{width:33px;height:33px;bottom:15px;right:16px}
.depth-ready .deck-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:0;position:relative;z-index:12}
.deck-arrow{width:48px;height:48px;border:1px solid currentColor;border-radius:50%;font-size:22px;line-height:1;display:grid;place-items:center;transition:background .2s,transform .2s;color:inherit;opacity:.75}
.deck-arrow:hover{opacity:1;transform:scale(1.06)}
.deck-arrow:active{transform:scale(.96)}
.deck-position{min-width:110px;text-align:center}
.deck-counter{display:block;font-size:10px;letter-spacing:.14em;font-variant-numeric:tabular-nums}
.deck-dots{display:flex;justify-content:center;gap:1px;margin-top:5px}
.deck-dots button{width:26px;height:25px;display:grid;place-items:center;padding:8px}
.deck-dots button:after{content:'';height:5px;width:5px;border-radius:50%;background:currentColor;opacity:.3;transition:width .3s,opacity .3s}
.deck-dots button[aria-pressed=true]:after{width:18px;border-radius:3px;opacity:1}
.deck-play{font-size:9px;letter-spacing:.07em;text-decoration:underline;text-underline-offset:5px;display:block;margin:15px auto 0;opacity:.7;min-height:32px}
.deck-hint{text-align:center;font-size:9px;letter-spacing:.06em;opacity:.6;margin:12px 0 0}
.workshops .workshop-note{margin-top:26px}
.workshops .section-heading{margin-bottom:28px}
.gallery-deck{--deck-card:440px;--deck-gap:360px;--deck-height:510px;margin-top:35px}
.gallery-deck.depth-ready .moment{height:460px;border-radius:42% 42% 7px 7px;box-shadow:0 20px 35px #203d3214}
.gallery-deck.depth-ready .moment>span{bottom:34px;left:32px;right:32px;font-size:26px;text-align:left}
.gallery-deck.depth-ready .moment:after{border-radius:inherit}
.gallery-deck.depth-ready .moment img{transition:transform 1.1s ease}
.gallery-deck.depth-ready .moment.is-current:hover img{transform:scale(1.06)}
.moments .imagery-note{margin-top:27px}
.films{padding-top:30px;padding-bottom:95px}
.films .section-heading{margin-bottom:30px}
.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.film-card{background:#e9ecdf;border:1px solid #dce1d0;border-radius:8px;overflow:hidden}
.film-button{width:100%;display:block;text-align:left;padding:0}
.film-poster{display:block;position:relative;aspect-ratio:1.65;overflow:hidden;background:#d9dfc8}
.film-poster img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.film-poster:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#1b362d33)}
.film-play{position:absolute;z-index:1;left:50%;top:50%;translate:-50% -50%;width:64px;height:64px;border:1px solid #fff9;border-radius:50%;display:grid;place-items:center;color:#fffdf3;background:#ffffff20;backdrop-filter:blur(5px);font-size:20px;box-shadow:0 0 0 10px #ffffff10}
.film-poster-label{position:absolute;left:20px;bottom:15px;z-index:1;color:white;font-size:7px;letter-spacing:.12em}
.film-copy{padding:24px 26px 29px;display:block}
.film-category{font-size:8px;letter-spacing:.14em;color:#7c886a;text-transform:uppercase}
.film-copy strong{display:block;min-height:2.4em;font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.2;margin:12px 0 16px;letter-spacing:-.6px}
.film-availability{font-size:10px;color:#728261;display:flex;align-items:center;gap:9px}
.film-availability:before{content:'';width:5px;height:5px;background:#b18a53;border-radius:50%}
.film-button:hover .film-poster img{transform:scale(1.05)}
.film-deck{--deck-card:440px;--deck-gap:350px;--deck-height:460px}
.earth-film-player{display:block;width:100%;max-height:65dvh;border-radius:6px;background:#152b21;margin:22px 0}
.film-note{text-align:center;font-size:10px;color:#8b927c;line-height:1.7;margin-top:22px}
.replay-welcome{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:var(--muted);font-size:9px;letter-spacing:.08em;min-height:40px}
.replay-welcome span{font-size:17px;color:var(--orange)}
.hero-photo-wrap{transform:translate(var(--hero-x,0),var(--hero-y,0));transition:transform .55s ease-out}
.hero-caption{transition:transform .55s ease-out;transform:translate(calc(var(--hero-x,0px) * -.6),calc(var(--hero-y,0px) * -.6))}
.day-scene{position:relative;overflow:hidden}
.day-scene:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 25% 15%,#fff7cf25,transparent 65%);pointer-events:none;transition:opacity 1.2s}
.day-scene[data-period=evening]:after{opacity:0}
.rhythm-panel{transition:background .65s ease}

@media(min-width:1500px){.depth-deck{--deck-gap:370px}.gallery-deck{--deck-gap:400px}.film-deck{--deck-gap:400px}}
@media(max-width:1100px){.depth-deck{--deck-card:350px;--deck-gap:275px;--deck-height:545px}.gallery-deck{--deck-card:380px;--deck-gap:300px;--deck-height:475px}.gallery-deck.depth-ready .moment{height:430px}.film-deck{--deck-card:380px;--deck-gap:295px;--deck-height:430px}}
@media(max-width:900px){.depth-deck{--deck-card:340px;--deck-gap:275px;--deck-height:545px}.depth-ready .workshop-card p{font-size:12px}.depth-ready.depth-deck .depth-stage{margin:0 calc(-7vw + 2px)}.gallery-deck{--deck-card:360px;--deck-gap:300px;--deck-height:465px}.gallery-deck.depth-ready .moment{height:420px}.film-deck{--deck-card:360px;--deck-gap:300px;--deck-height:420px}.film-grid{grid-template-columns:1fr}.films{padding-bottom:70px}.welcome-illustration{width:110%;margin-top:0}.welcome-description{font-size:11px}.welcome-topline{top:23px}.welcome-wordmark{font-size:27px}.welcome-story-name{font-size:36px}.replay-welcome{margin-top:17px}}
@media(max-width:600px){.depth-deck{--deck-card:77vw;--deck-gap:66vw;--deck-height:520px}.depth-ready.depth-deck .depth-stage>*{top:15px;transform:translateX(calc(-50% + var(--slot) * var(--deck-gap))) translateY(20px) translateZ(-90px) rotateY(calc(var(--slot) * -22deg)) scale(.9)}.depth-ready.depth-deck .depth-stage>.is-current{transform:translateX(-50%) translateY(0) translateZ(0) rotateY(0) scale(1)}.depth-ready .workshop-card-copy{padding:22px 22px 25px}.depth-ready .workshop-card h3{font-size:30px}.depth-ready .workshop-card p{min-height:73px;font-size:11px!important}.depth-ready .workshop-card .text-link{font-size:10px}.depth-ready .workshop-status{font-size:8px}.depth-ready .workshop-image-button{aspect-ratio:1.25}.gallery-deck{--deck-card:76vw;--deck-gap:64vw;--deck-height:435px}.gallery-deck.depth-ready .moment{height:390px}.gallery-deck.depth-ready .moment>span{left:23px;right:23px;bottom:30px;font-size:25px}.film-deck{--deck-card:77vw;--deck-gap:66vw;--deck-height:390px}.film-copy{padding:21px 23px 25px}.film-copy strong{font-size:29px}.film-category{font-size:7px}.film-availability{font-size:9px}.film-play{width:53px;height:53px;font-size:17px}.films{padding-top:5px;padding-bottom:65px}.films .section-heading h2{font-size:49px}.welcome-topline{top:22px;left:6%;right:6%;gap:12px}.welcome-wordmark{font-size:25px}.welcome-topline .button{padding:8px 13px;font-size:9px;gap:10px;min-height:40px}.welcome-illustration{width:140%;flex-shrink:0;margin-top:0}.welcome-copy{margin-top:12px;max-width:90%}.welcome-story-name{font-size:31px;letter-spacing:-1px;margin-top:13px}.welcome-description{font-size:11px;max-width:280px}.welcome-scene-label{font-size:8px}.welcome-bottomline{margin-top:24px}.welcome-bottom-note{font-size:8px;bottom:22px;line-height:1.7}.deck-arrow{width:45px;height:45px}.depth-ready .deck-controls{gap:20px}.deck-hint{font-size:8px}}
@media(max-width:380px){.depth-deck{--deck-height:505px}.depth-ready .workshop-card h3{font-size:26px}.depth-ready .workshop-card-copy{padding:20px 18px}.depth-ready .workshop-card p{min-height:79px}.depth-ready .workshop-index{font-size:6px;left:16px}.gallery-deck{--deck-height:385px}.gallery-deck.depth-ready .moment{height:340px}.film-deck{--deck-height:370px}.welcome-wordmark{font-size:22px}.welcome-story-name{font-size:28px}.welcome-copy{max-width:95%}.welcome-topline .button{padding:8px 11px}}
@media(max-height:650px) and (min-width:700px){.welcome-illustration{width:min(640px,80%);margin-top:25px}.welcome-copy{margin-top:-12px}.welcome-story-name{font-size:29px;margin:9px 0}.welcome-description{font-size:10px}.welcome-bottomline{margin-top:12px}.welcome-bottom-note{bottom:12px}.welcome-topline{top:17px}}
@media(prefers-reduced-motion:reduce){.earth-welcome *,.depth-deck *{animation:none!important;transition:none!important}.welcome-meadow .calf-travel{transform:translateX(255px)}.welcome-meadow .mother .animal-head{transform:none}.welcome-meadow .butterfly{opacity:0}.depth-ready.depth-deck .depth-stage>*{will-change:auto}.hero-photo-wrap,.hero-caption{transform:none!important}}
.motion-paused .welcome-meadow *{animation-play-state:paused!important}.motion-paused .depth-stage>*{transition:none!important;will-change:auto}.motion-paused .hero-photo-wrap,.motion-paused .hero-caption{transform:none!important}
@media print{.earth-welcome,.deck-controls,.deck-hint,.deck-play,.films,.replay-welcome{display:none!important}.depth-ready.depth-deck .depth-stage{height:auto;overflow:visible;display:block}.depth-ready.depth-deck .depth-stage>*{position:static;transform:none!important;filter:none;width:100%;margin:15px 0}}

.earth-welcome[data-scene=nuzzle] .calf{transform:translateX(450px) scaleX(-1)}
.earth-welcome[data-scene=nuzzle] .calf-shadow{cx:350px}

.depth-deck:not(.depth-ready) .deck-play,.depth-deck:not(.depth-ready) .deck-hint{display:none}
.workshops .deck-hint{color:#dce3ce;opacity:.75}
@media(max-height:500px) and (orientation:landscape){.earth-welcome{padding:12px 4%}.welcome-topline{top:10px}.welcome-topline .button{min-height:33px;padding:7px 12px;font-size:9px}.welcome-wordmark{font-size:24px}.welcome-illustration{width:min(440px,55vw);margin-top:12px}.welcome-copy{margin-top:-14px}.welcome-story-name{font-size:25px;margin:7px 0}.welcome-scene-label{font-size:7px}.welcome-description{font-size:9px;line-height:1.3}.welcome-bottomline{margin-top:8px;font-size:6px}.welcome-bottom-note{bottom:6px;font-size:7px}}
