/* Constructed nature programmes. Load after occasi-schedule-scenes.css. */
.nature-object{--nature-ink:var(--ink,#3e5448);--nature-paper:var(--paper,#fbf8ed);--nature-accent:var(--accent,#966d68);position:relative;isolation:isolate;max-width:850px;margin:0 auto 35px;color:var(--nature-ink);background:none;overflow:visible}
.nature-object,.nature-object *{box-sizing:border-box;min-width:0}
.nature-object svg{display:block;max-width:none;pointer-events:none;overflow:visible}
.nature-definitions{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important}
.nature-object .nature-events{position:relative;list-style:none!important;padding:0!important;margin:0!important;display:block!important}
.nature-object .nature-events>li{position:relative;list-style:none!important;border:0!important;box-shadow:none!important;margin:0!important;break-inside:avoid}
.nature-object .programme-lettering{position:relative!important;inset:auto!important;z-index:2;overflow:visible!important;max-height:none!important;height:auto!important;background:none!important;border:0!important;transform:none!important;opacity:1!important;filter:none!important;text-align:center;overflow-wrap:anywhere;word-break:normal;hyphens:none}
.nature-object .programme-lettering time{display:block;font:600 23px/1.3 var(--serif,'Cormorant Garamond',Georgia,serif)!important;letter-spacing:.03em!important;color:inherit!important;margin:0 0 13px!important}
.nature-object .programme-lettering h4{font:500 clamp(32px,4.9cqi,46px)/1.08 var(--serif,'Cormorant Garamond',Georgia,serif)!important;letter-spacing:-.018em!important;text-transform:none!important;color:inherit!important;margin:0 0 18px!important;overflow-wrap:anywhere}
.nature-object .programme-lettering p{font:400 18px/1.6 var(--sans,'DM Sans',Arial,sans-serif)!important;letter-spacing:0!important;color:inherit!important;margin:0!important;white-space:pre-line;overflow-wrap:anywhere}
.nature-index{display:block;font:500 16px/1.4 var(--serif,Georgia,serif);letter-spacing:.11em;margin-bottom:17px;opacity:.78}

/* Open botanical inscriptions, connected by a genuinely continuous winding stem. */
.crafted-garden{max-width:840px;color:var(--nature-ink)}
.crafted-garden .nature-garden-stop{min-height:360px;padding:78px 9% 92px!important;background:none!important}
.crafted-garden .programme-lettering{width:58%;margin-left:36%;text-align:left}
.crafted-garden .nature-garden-stop:nth-child(even) .programme-lettering{margin-left:6%;text-align:right}
.crafted-garden .programme-lettering h4{font-style:italic!important}
.nature-vine-part{position:absolute;left:0;width:100%;z-index:0}
.nature-vine-top{top:0;height:90px}.nature-vine-stem{top:90px;height:calc(100% - 180px)}.nature-vine-bottom{bottom:0;height:90px}
.nature-vine-part path{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:1.7px}
.nature-vine-under path{stroke:#9ca58e;opacity:.38}.nature-vine-grown path{stroke:#667d61}
.nature-sprig{position:absolute;z-index:1;left:2%;top:28%;width:29%;max-width:200px;height:auto;transform:rotate(-8deg);transform-origin:50% 90%}
.nature-garden-stop:nth-child(even) .nature-sprig{left:auto;right:2%;transform:scaleX(-1) rotate(-8deg)}
.nature-garden-blossom{position:absolute;z-index:1;width:66px;height:66px;left:calc(13.5% - 33px);bottom:51px;transform:rotate(-15deg)}
.nature-garden-stop:nth-child(even) .nature-garden-blossom{left:auto;right:calc(13.5% - 33px);transform:rotate(20deg)}
.nature-garden-finial{display:block;margin:0 auto;text-align:center;font:400 42px/1 Georgia;color:#748369}

/* Shallow engraved type is part of the sand; the animated sea occupies a separate strip. */
.crafted-shore{--nature-shore-ink:color-mix(in srgb,var(--ink,#685035) 18%,#685035);max-width:800px;color:var(--nature-shore-ink);padding:24px 0 30px;overflow:hidden;border-radius:14% 3% 12% 2% / 2% 2% 3% 3%;background:#f1e4cb}
.nature-sand{position:absolute;inset:0;width:100%;height:100%;z-index:-3}
.nature-sand-grain{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.63;background-image:radial-gradient(#826b4433 .5px,transparent .7px),radial-gradient(#fff8eaa3 .7px,transparent .9px),repeating-linear-gradient(167deg,transparent 0 33px,#9777410b 34px,#fff8 35px,transparent 37px 81px);background-position:0 0,3px 5px,0 0;background-size:7px 9px,11px 13px,100% 100%}
.nature-tide{position:absolute;z-index:0;right:-2%;top:-2%;width:26%;height:104%;transform-origin:right center}
.nature-foam-soft{fill:none;stroke:#f7fae1;stroke-width:10;opacity:.46}.nature-foam-edge{fill:none;stroke:#fffee9;stroke-width:1.7;stroke-dasharray:1 2.2 5 1.1;vector-effect:non-scaling-stroke}.nature-foam-thread{fill:none;stroke:#e6eed8;stroke-width:.9;stroke-dasharray:4 6 12 2;vector-effect:non-scaling-stroke;opacity:.8}
.crafted-shore .nature-shore-stop{min-height:340px;padding:74px 28% 70px 11%!important;background:none!important}
.crafted-shore .programme-lettering{color:var(--nature-shore-ink);text-align:left;text-shadow:0 1.1px .3px #fff8dc,-.4px -.6px .3px #59432373}
.crafted-shore .programme-lettering h4{font-style:italic!important;font-weight:500!important}
.crafted-shore .programme-lettering p{font:400 18px/1.6 var(--serif,Georgia,serif)!important}
.crafted-shore .nature-index{letter-spacing:.13em;opacity:.85}
.nature-shell{position:absolute;top:3px;left:8%;width:67px;height:67px;transform:rotate(-19deg);filter:drop-shadow(1px 2px 1px #6c573322)}
.nature-shore-stop:nth-child(even) .nature-shell{transform:rotate(13deg);left:13%}
.nature-footprints{position:absolute;z-index:1;right:17%;top:calc(50% - 107px);width:56px;height:214px;transform:rotate(7deg);fill:#a58b60;stroke:#fff0cb;stroke-width:.65;opacity:.62}
.nature-shore-stop:nth-child(even) .nature-footprints{right:15%;transform:rotate(-5deg)}
.nature-sand-ridge{position:absolute;left:7%;right:31%;bottom:23px;height:12px;border-top:1px solid #baa17b69;border-bottom:1px solid #fff1d172;border-radius:50%;transform:rotate(-3deg)}

/* Wedding constellations punctuate a continuous star trail between live inscriptions. */
.crafted-stars{--nature-gold:color-mix(in srgb,var(--accent,#dbc38a) 20%,#ead39d);max-width:820px;padding:35px 0;color:#f8edd2;background:radial-gradient(ellipse at 20% 12%,#33423c66,transparent 44%),radial-gradient(ellipse at 88% 81%,#72546c3d,transparent 45%),#151e2d;border-radius:48% 48% 47% 47% / 3% 3% 3% 3%;overflow:hidden;box-shadow:inset 0 0 55px #030b1466}
.nature-celestial-grain{position:absolute;inset:10px;pointer-events:none;opacity:.56;background-image:radial-gradient(#f1dfab 1px,transparent 1.5px),radial-gradient(#d4d2c6 .65px,transparent 1.1px),radial-gradient(#ceba905e .7px,transparent 1px);background-size:157px 179px,83px 137px,47px 63px;background-position:11px 29px,35px 76px,9px 37px}
.nature-celestial-meridian{position:absolute;inset:20px 4.5%;border:1px solid #cdbd8640;border-radius:50%;pointer-events:none}
.nature-celestial-meridian::before{content:'';position:absolute;inset:7px -7px;border:1px dashed #cdbd862b;border-radius:50%}
.crafted-stars .nature-star-stop{min-height:500px;padding:64px 20% 238px!important;background:none!important}
.crafted-stars .programme-lettering{color:#f8edd2;text-shadow:0 2px 8px #131e2d}
.crafted-stars .programme-lettering time{color:#efd49c!important;font-weight:500!important}
.crafted-stars .programme-lettering h4{font-style:italic!important}
.crafted-stars .programme-lettering p{font:400 18px/1.6 var(--serif,Georgia,serif)!important}
.crafted-stars .nature-index{color:#ddc890;opacity:1;letter-spacing:.13em}
.nature-constellation{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.nature-constellation path{fill:none;vector-effect:non-scaling-stroke;stroke-width:1px;stroke-linejoin:round}
.nature-star-under{stroke:#d1c7a859}.nature-star-trace{stroke:var(--nature-gold);stroke-dasharray:1;stroke-dashoffset:0}.nature-star-orbit{stroke:#b4c1b23b;stroke-dasharray:2 5}
.nature-constellation-thread{opacity:.7}
.nature-constellation-figure{position:absolute;z-index:2;width:280px;max-width:74%;height:auto;left:50%;bottom:18px;transform:translateX(-50%);color:var(--nature-gold)}
.nature-emblem-lines path{fill:none;stroke:currentColor;stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.nature-emblem-star{fill:#f1dca5;stroke:none;filter:drop-shadow(0 0 3px #e5cc9366)}
.nature-emblem-orbit{fill:none;stroke:#bea66f4d;stroke-width:.65;stroke-dasharray:2 6}
.nature-shooting-star{display:none!important;position:absolute;z-index:3;top:12%;left:9%;width:120px;height:24px;color:#f1dca5;pointer-events:none;opacity:0}
.nature-shooting-star-two{top:65%;left:42%;width:100px}

/* Connected pond basins with layered water, marginal reeds and drawn swans. */
.crafted-lake{--nature-lake-ink:color-mix(in srgb,var(--ink,#35564b) 18%,#35564b);max-width:830px;color:var(--nature-lake-ink);padding:0 1%}
.crafted-lake .nature-lake-stop{padding:80px 18% 325px!important;min-height:530px;background:none!important}
.nature-pond-basin{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.nature-waterline{fill:none;stroke:#7b9e8b;stroke-width:1;opacity:.55;vector-effect:non-scaling-stroke}.nature-waterline-fine{stroke:#f8ffe8;stroke-width:1.2;opacity:.7}
.crafted-lake .programme-lettering{color:var(--nature-lake-ink);text-shadow:0 1px 0 #fff7}
.crafted-lake .programme-lettering h4{font-style:italic!important}
.crafted-lake .programme-lettering p{font:400 18px/1.6 var(--serif,Georgia,serif)!important}
.crafted-lake .nature-index{opacity:.8;letter-spacing:.1em}
.nature-water-shimmer{position:absolute;z-index:1;left:8%;right:8%;top:13%;height:76%;pointer-events:none;border-radius:45%;background:repeating-linear-gradient(177deg,transparent 0 39px,#fff6 40px,transparent 41px 78px);opacity:.21;mask-image:linear-gradient(90deg,#000,transparent 22% 78%,#000)}
.nature-swan-pair{position:absolute;z-index:3;width:84%;max-width:500px;height:auto;left:50%;bottom:17px;transform:translateX(-50%);transform-origin:center 84%;filter:drop-shadow(0 3px 1px #456c5a18)}
.nature-swan-left,.nature-swan-right{transform-box:fill-box;transform-origin:center 80%}
.nature-swan-ripple{transform-box:fill-box;transform-origin:center;opacity:.65}
.nature-reeds{position:absolute;z-index:2;left:1%;bottom:67px;width:16%;max-width:100px;height:auto;transform-origin:bottom center;transform:rotate(-6deg)}
.nature-reeds-right{left:auto;right:1%;bottom:95px;transform:scaleX(-1) rotate(-4deg);width:13%}

@media(prefers-reduced-motion:no-preference){
  .programme-scroll-ready.crafted-garden .nature-vine-grown path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.45s cubic-bezier(.25,.6,.3,1)}
  .programme-scroll-ready.crafted-garden .inscription-seen .nature-vine-grown path{stroke-dashoffset:0}
  .crafted-garden .inscription-seen .nature-sprig{animation:nature-branch-settle 1.4s ease both}
  .crafted-garden .nature-garden-stop:nth-child(even).inscription-seen .nature-sprig{animation-name:nature-branch-settle-right}
  .crafted-shore .nature-tide{animation:nature-tide-breathe 9s ease-in-out infinite alternate}
  .programme-scroll-ready.crafted-shore .nature-shore-stop:not(.inscription-seen) .nature-footstep{opacity:0}
  .programme-scroll-ready.crafted-shore .inscription-seen .nature-footstep{animation:nature-footfall .7s ease-out both}
  .programme-scroll-ready.crafted-shore .inscription-seen .nature-print-one .nature-footstep:first-child{animation-delay:.12s}
  .programme-scroll-ready.crafted-shore .inscription-seen .nature-print-one .nature-footstep:last-child{animation-delay:.46s}
  .programme-scroll-ready.crafted-shore .inscription-seen .nature-print-two .nature-footstep:first-child{animation-delay:.92s}
  .programme-scroll-ready.crafted-shore .inscription-seen .nature-print-two .nature-footstep:last-child{animation-delay:1.28s}
  .programme-scroll-ready.crafted-stars .nature-star-trace{stroke-dashoffset:var(--trace,0);transition:stroke-dashoffset .2s linear}
  .programme-scroll-ready.crafted-stars .nature-star-stop:not(.inscription-seen) .nature-emblem-lines path{stroke-dashoffset:1}
  .programme-scroll-ready.crafted-stars .inscription-seen .nature-emblem-lines path{animation:nature-constellation-draw 2.2s ease-out .12s both}
  .programme-scroll-ready.crafted-stars .inscription-seen .nature-emblem-star{animation:nature-starlight 1.8s ease both;animation-delay:calc(var(--nature-node) * .06s)}
  .programme-scroll-ready.crafted-stars .nature-shooting-star{display:block!important;animation:nature-shooting-star 17s ease-in-out infinite}
  .programme-scroll-ready.crafted-stars .nature-shooting-star-two{animation-duration:23s;animation-delay:6s}
  .crafted-lake .inscription-seen .nature-swan-pair{animation:nature-swan-arrival 1.7s cubic-bezier(.2,.7,.2,1) both,nature-swan-heart-float 9s 1.7s ease-in-out infinite}
  .crafted-lake .inscription-seen .nature-swan-left{animation:none}
  .crafted-lake .inscription-seen .nature-swan-right{animation:none}
  .crafted-lake .inscription-seen .nature-swan-ripple-left{animation:nature-swan-wake 6s ease-in-out infinite alternate}
  .crafted-lake .inscription-seen .nature-swan-ripple-right{animation:nature-swan-wake 7s ease-in-out -2s infinite alternate}
  .crafted-lake .nature-water-shimmer{animation:nature-water-glint 7s ease-in-out infinite alternate}
}
@keyframes nature-branch-settle{from{opacity:.3;transform:rotate(-14deg) scale(.93)}to{opacity:1;transform:rotate(-8deg) scale(1)}}
@keyframes nature-branch-settle-right{from{opacity:.3;transform:scaleX(-1) rotate(-14deg) scale(.93)}to{opacity:1;transform:scaleX(-1) rotate(-8deg) scale(1)}}
@keyframes nature-tide-breathe{from{transform:translateX(5%) scaleX(.95)}to{transform:translateX(-7%) scaleX(1.05)}}
@keyframes nature-footfall{from{opacity:0}to{opacity:1}}
@keyframes nature-starlight{0%{opacity:.35;filter:drop-shadow(0 0 0 #eed69d00)}70%{opacity:1;filter:drop-shadow(0 0 9px #eed69dcc)}100%{opacity:1;filter:drop-shadow(0 0 4px #eed69d66)}}
@keyframes nature-constellation-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes nature-shooting-star{0%,71%{opacity:0;transform:translate(-70px,-23px) rotate(20deg)}74%{opacity:.8}83%,100%{opacity:0;transform:translate(90px,34px) rotate(20deg)}}
@keyframes nature-swan-arrival{from{opacity:.55;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes nature-swan-glide-left{from{transform:translate(-3px,1px) rotate(-.35deg)}to{transform:translate(3px,-1px) rotate(.4deg)}}
@keyframes nature-swan-glide-right{from{transform:translate(2px,-.5px) rotate(.25deg)}to{transform:translate(-2px,1px) rotate(-.3deg)}}
@keyframes nature-swan-wake{from{transform:scale(.98,.94);opacity:.4}to{transform:scale(1.04,1.04);opacity:.78}}
@keyframes nature-water-glint{from{opacity:.13;transform:translateY(-3px)}to{opacity:.36;transform:translateY(3px)}}

@container(max-width:600px){
  .nature-object .programme-lettering h4{font-size:34px!important;line-height:1.12!important}
  .nature-object .programme-lettering time{font-size:23px!important}
  .nature-object .programme-lettering p{font-size:17px!important;line-height:1.6!important}
  .nature-index{font-size:16px;letter-spacing:.07em}
  .crafted-garden .nature-garden-stop{padding:98px 18% 98px!important;min-height:390px}
  .crafted-garden .programme-lettering,.crafted-garden .nature-garden-stop:nth-child(even) .programme-lettering{width:auto;margin:0;text-align:center}
  .nature-sprig{top:7px;left:5%;width:83px;max-width:26%}
  .nature-garden-stop:nth-child(even) .nature-sprig{right:5%}
  .nature-garden-blossom{width:55px;height:55px;left:calc(13.5% - 27px);bottom:44px}
  .nature-garden-stop:nth-child(even) .nature-garden-blossom{right:calc(13.5% - 27px)}
  .crafted-shore .nature-shore-stop{padding:72px 27% 62px 9%!important;min-height:350px}
  .crafted-shore .programme-lettering h4{font-size:32px!important}
  .nature-shell{width:55px;height:55px;left:6%;top:4px}
  .nature-footprints{width:38px;height:165px;right:13%;top:calc(50% - 70px)}
  .nature-shore-stop:nth-child(even) .nature-footprints{right:12%}
  .nature-tide{width:23%;right:-3%}
  .crafted-stars{padding:26px 0;border-radius:48% 48% 47% 47% / 2% 2% 2% 2%}
  .crafted-stars .nature-star-stop{padding:64px 17% 205px!important;min-height:480px}
  .crafted-stars .programme-lettering h4{font-size:32px!important}
  .nature-constellation-figure{width:250px;max-width:79%;bottom:18px}
  .crafted-lake .nature-lake-stop{padding:77px 15% clamp(184px,60cqi,250px)!important;min-height:475px}
  .nature-swan-pair{width:94%;max-width:390px;bottom:15px}
  .nature-reeds{width:13%;left:1%;bottom:58px}.nature-reeds-right{width:11%;left:auto;right:1%;bottom:92px}
}
@container(max-width:350px){
  .nature-object .programme-lettering h4{font-size:30px!important}
  .nature-object .programme-lettering p{font-size:16px!important}
  .crafted-garden .nature-garden-stop{padding-inline:17%!important}
  .crafted-stars .nature-star-stop{padding-inline:16%!important}
  .crafted-lake .nature-lake-stop{padding-inline:14%!important}
  .nature-swan-pair{width:94%}
}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object *,body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object *::before,body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object *::after{animation:none!important;transition:none!important}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object :is(.nature-vine-grown path,.nature-star-trace){stroke-dashoffset:0!important}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object .programme-lettering{opacity:1!important;transform:none!important}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object .nature-footstep{opacity:1!important}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object .nature-emblem-lines path{stroke-dashoffset:0!important}
body:is(.motion-paused,[data-motion=paused],[data-site-motion=paused]) .nature-object .nature-shooting-star{display:none!important}
@media(prefers-reduced-motion:reduce){.nature-object *,.nature-object *::before,.nature-object *::after{animation:none!important;transition:none!important}.nature-object :is(.nature-vine-grown path,.nature-star-trace,.nature-emblem-lines path){stroke-dashoffset:0!important}.nature-object .nature-footstep{opacity:1!important}.nature-object .nature-shooting-star{display:none!important}.nature-object .programme-lettering{opacity:1!important;transform:none!important}}
@media print{.nature-object{overflow:visible!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.nature-object *{animation:none!important;transition:none!important}.nature-object :is(.nature-vine-grown path,.nature-star-trace,.nature-emblem-lines path){stroke-dashoffset:0!important}.nature-object .programme-lettering,.nature-object .nature-footstep{opacity:1!important}.nature-object .nature-events>li{break-inside:avoid}.nature-object :is(.nature-swan-pair,.nature-constellation-figure){transform:translateX(-50%)!important}.nature-object .nature-shooting-star{display:none!important}}

@keyframes nature-swan-heart-float{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-3px)}}
