/* Olive Years (anniversary): design motion on top of assets/scenes/scenes.css (generated by src/olive_years/gen_sections.py).
   Plain rules = the final/rest state (reduced motion, editor, still render). */

/* the outer dove hops once along the branch, closer to the other (2 s after the open), then stays there */
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=hop]{animation:sc-oy-hop .9s cubic-bezier(.45,0,.25,1) 2s both}
@keyframes sc-oy-hop{
  0%{transform:none}
  45%{transform:translate(calc(var(--hx) * .5),calc(var(--hy) * .5 - 9%))}
  100%{transform:translate(var(--hx),var(--hy))}}

/* falling leaves: born inside the crown (invisible), fall and turn slowly, fade out on the terrace */
.sc-piece.sc-olive_years [data-oy=leaf]{opacity:0;left:calc(16% + var(--r1,.5) * 64%)!important;top:calc(62% + var(--r3,.5) * 4%)!important}
.sc-js .sc-piece.sc-olive_years.sc-in [data-a=fall][data-oy=leaf]{animation:sc-oy-leaf calc(9s + var(--r3,.5) * 4s) linear calc(1.8s + var(--i,0) * 6.5s + var(--r2,.5) * 1.5s) infinite both}
@keyframes sc-oy-leaf{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}
  8%{opacity:1}
  30%{transform:translate3d(2.2cqw,4.6cqh,0) rotate(70deg)}
  55%{transform:translate3d(-1.4cqw,9.4cqh,0) rotate(150deg)}
  78%{opacity:1;transform:translate3d(1.6cqw,14cqh,0) rotate(235deg)}
  90%{opacity:0;transform:translate3d(.4cqw,16cqh,0) rotate(265deg)}
  100%{opacity:0;transform:translate3d(.4cqw,16cqh,0) rotate(265deg)}}

/* the sky above the crown is the text area: a lighter wash that stops above the tree (the page's default reached 56%) */
body.sc-olive_years .sc-hero + .sa-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.3) 24%,rgba(255,255,255,0) 38%)!important}

/* ---- programme: an olive branch grows from stop to stop; a pair of leaves opens at each stop ---- */
body.sc-olive_years .sc-p-program-head{width:min(78%,300px);margin:0 auto 2px}
body.sc-olive_years #program .sa-prog-line-v{display:none}
body.sc-olive_years #program .sa-prog-row{--node:19px}
[dir=rtl] body.sc-olive_years #program .sa-prog-row{--node:24px}
/* the stop: a linen medallion with a bark-ink ring (the page's icon stays inside it) */
body.sc-olive_years #program .sa-prog-row>div:first-child{background:var(--cz-section-bg,#FBF8F1)!important;border:1.5px solid var(--cz-divider,rgba(74,59,44,.55))!important;box-shadow:0 0 0 3px var(--cz-page-bg,#F3EEE3),0 1px 0 4px rgba(74,59,44,.08)!important;color:var(--cz-title,#5E6B3A)!important}
/* the branch: one segment per stop, from its node down to the next node */
body.sc-olive_years #program .sa-prog-row::before{content:"";position:absolute;inset-inline-start:calc(var(--node) - 8px);top:19px;bottom:-49px;width:16px;z-index:0;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 68%22%3E%3Cpath d=%22M8 0C5 20 11 44 8 68%22 fill=%22none%22 stroke=%22%238E7F68%22 stroke-width=%224.4%22/%3E%3Cpath d=%22M6 0C3 20 9 44 6 68%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-opacity=%22.6%22/%3E%3Cpath d=%22M10 0C7 20 13 44 10 68%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-opacity=%22.45%22/%3E%3C/svg%3E") center top/16px 68px repeat-y;pointer-events:none}
body.sc-olive_years #program .sa-prog-row:last-child::before{display:none}
/* the leaves: an opposite pair under every stop (fruit on every other one; the last one ends the branch) */
body.sc-olive_years #program .sa-prog-row::after{content:"";position:absolute;inset-inline-start:calc(var(--node) - 30px);top:33px;width:60px;height:44px;z-index:1;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 44%22%3E%3Cpath d=%22M30 2.5q4.6 14.4 21.9 19.2q-6.8-19.3-21.9-19.2Z%22 fill=%22%239AA67E%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M33.2 4.9Q41.4 12.3 49.4 18.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3Cpath d=%22M30 2.5q-15.1-.1-21.9 19.2q17.3-4.8 21.9-19.2Z%22 fill=%22%235E6B3A%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M26.8 4.9Q18.6 12.3 10.6 14.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3C/svg%3E") center top/60px 44px no-repeat;transform-origin:50% 0;pointer-events:none}
body.sc-olive_years #program .sa-prog-row:nth-child(even)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 44%22%3E%3Cpath d=%22M30 2.5q4.6 14.4 21.9 19.2q-6.8-19.3-21.9-19.2Z%22 fill=%22%239AA67E%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M33.2 4.9Q41.4 12.3 49.4 18.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3Cpath d=%22M30 2.5q-15.1-.1-21.9 19.2q17.3-4.8 21.9-19.2Z%22 fill=%22%235E6B3A%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M26.8 4.9Q18.6 12.3 10.6 14.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3Cpath d=%22M30 3Q32 10 36 15%22 fill=%22none%22 stroke=%22%236F614E%22 stroke-width=%221%22/%3E%3Cpath d=%22M32.3 20a4.2 5.3 0 1 0 8.4 0a4.2 5.3 0 1 0 -8.4 0Z%22 fill=%22%233E3A2A%22 stroke=%22%234A3B2C%22 stroke-width=%22.8%22/%3E%3Ccircle cx=%2235.2%22 cy=%2218.2%22 r=%221%22 fill=%22%23FBF8F1%22 fill-opacity=%22.8%22/%3E%3C/svg%3E")}
body.sc-olive_years #program .sa-prog-row:last-child::after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 60 44%22%3E%3Cpath d=%22M30 0C29 6 31 10 30 14%22 fill=%22none%22 stroke=%22%238E7F68%22 stroke-width=%223%22 stroke-linecap=%22round%22/%3E%3Cpath d=%22M30 13q-8.4 10.4-1.7 25q9.7-14.4 1.7-25Z%22 fill=%22%235E6B3A%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M30 2.5q4.6 14.4 21.9 19.2q-6.8-19.3-21.9-19.2Z%22 fill=%22%239AA67E%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M33.2 4.9Q41.4 12.3 49.4 18.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3Cpath d=%22M30 2.5q-15.1-.1-21.9 19.2q17.3-4.8 21.9-19.2Z%22 fill=%22%235E6B3A%22 stroke=%22%234A3B2C%22 stroke-width=%22.9%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M26.8 4.9Q18.6 12.3 10.6 14.6%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.6%22 stroke-opacity=%22.45%22/%3E%3C/svg%3E")}
body.sc-olive_years #program .sa-prog-row>div:first-child{position:relative;z-index:2}
body.sc-olive_years #program .sa-prog-time{color:var(--cz-title,#7A6A55)!important;letter-spacing:.06em}
/* entrance, per row as IT scrolls in: stop, then its leaves open, then the branch grows on to the next stop */
.sc-js body.sc-olive_years #program .sa-prog-row:not(.sc-in)>div:first-child{opacity:0;transform:scale(.72)}
.sc-js body.sc-olive_years #program .sa-prog-row.sc-in>div:first-child{animation:sc-oy-node .6s cubic-bezier(.23,1,.32,1) calc(.25s + var(--row,0) * .42s) both}
.sc-js body.sc-olive_years #program .sa-prog-row:not(.sc-in)::after{opacity:0;transform:scale(.35)}
.sc-js body.sc-olive_years #program .sa-prog-row.sc-in::after{animation:sc-oy-leaves .7s cubic-bezier(.23,1,.32,1) calc(.4s + var(--row,0) * .42s) both}
.sc-js body.sc-olive_years #program .sa-prog-row:not(.sc-in)::before{clip-path:inset(0 0 100% 0)}
.sc-js body.sc-olive_years #program .sa-prog-row.sc-in::before{animation:sc-unroll .44s cubic-bezier(.45,0,.55,1) calc(.4s + var(--row,0) * .42s) both}
.sc-js body.sc-olive_years #program .sa-prog-row:not(.sc-in)>div:last-child{opacity:0}
.sc-js body.sc-olive_years #program .sa-prog-row.sc-in>div:last-child{animation:sc-rise .7s cubic-bezier(.23,1,.32,1) calc(.35s + var(--row,0) * .42s) both}
@keyframes sc-oy-node{from{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}
@keyframes sc-oy-leaves{from{opacity:0;transform:scale(.35)}to{opacity:1;transform:none}}
body.sc-olive_years #program .sa-prog-row:nth-child(1){--row:0}body.sc-olive_years #program .sa-prog-row:nth-child(2){--row:1}body.sc-olive_years #program .sa-prog-row:nth-child(3){--row:2}body.sc-olive_years #program .sa-prog-row:nth-child(4){--row:3}body.sc-olive_years #program .sa-prog-row:nth-child(n+5){--row:3}
/* wide screens (the horizontal programme): linen medallions on a fine branch-coloured line */
body.sc-olive_years #program .sa-prog-line-h{background:var(--cz-divider,#8E7F68)!important;opacity:.55;height:2px}
body.sc-olive_years #program .sa-prog-item>div:nth-child(2){background:var(--cz-section-bg,#FBF8F1)!important;border:1.5px solid var(--cz-divider,rgba(74,59,44,.55))!important;color:var(--cz-title,#5E6B3A)!important}

/* ================= full build (2026-09-29): every section drawn; plain rules = the final state ================= */
body.sc-olive_years{--oy-e:cubic-bezier(.23,1,.32,1)}
/* Event Studio's own reveal would double these entrances: this design runs its own */
body.sc-olive_years .es-reveal{opacity:1!important;translate:none!important;transition:none!important}
@keyframes sc-oy-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes sc-oy-fade{from{opacity:0}to{opacity:1}}
/* section titles rise as their section arrives */
.sc-js body.sc-olive_years main section[id]:not(.sc-in) :is(h2,h2+p){opacity:0}
.sc-js body.sc-olive_years main section[id].sc-in h2{animation:sc-oy-rise .8s var(--oy-e) .12s both}
.sc-js body.sc-olive_years main section[id].sc-in h2+p{animation:sc-oy-rise .8s var(--oy-e) .26s both}

/* ---- welcome: the letter is written on a card (edge, inner rule, soft shadow on the page ground); a pressed olive sprig
   is taped to its head. The card takes the couple's section colour when they choose one (unset: none, as always) ---- */
body.sc-olive_years .es-welcome-inner{padding:14px 20px 26px;background-color:var(--cz-section-bg);border:1px solid rgba(74,59,44,.16);outline:1px solid rgba(74,59,44,.1);
  outline-offset:-9px;box-shadow:0 20px 34px -22px rgba(74,59,44,.4),0 2px 5px -2px rgba(74,59,44,.1)}
body.sc-olive_years .sc-p-welcome{width:min(84%,270px);margin:0 auto 4px}
.sc-js body.sc-olive_years .es-welcome:not(.sc-in) .es-welcome-inner{opacity:0;transform:translateY(18px)}
.sc-js body.sc-olive_years .es-welcome.sc-in .es-welcome-inner{animation:sc-oy-rise .9s var(--oy-e) both}
.sc-js body.sc-olive_years .es-welcome:not(.sc-in) :is(.sa-hero-guest,.sa-text-root){opacity:0}
.sc-js body.sc-olive_years .es-welcome.sc-in .sa-hero-guest{animation:sc-oy-rise .8s var(--oy-e) .55s both}
.sc-js body.sc-olive_years .es-welcome.sc-in .sa-text-root{animation:sc-oy-rise .9s var(--oy-e) .75s both}

/* ---- countdown: each digit on a slice of olive wood; the rings grow out from the pith as the board arrives ---- */
body.sc-olive_years .sc-p-countdown{width:min(62%,232px);margin:-8px auto 8px}
body.sc-olive_years #countdown .grid>div{position:relative;padding:17px 2px 2px!important;font-size:clamp(30px,9vw,48px)}
body.sc-olive_years #countdown .grid>div+div{border-inline-start:0!important}
body.sc-olive_years #countdown .grid>div::before{content:"";position:absolute;left:50%;top:calc(17px + .5em);width:1.96em;height:1.96em;translate:-50% -50%;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22%3E%3Cpath d=%22M2 50a48 48 0 1 0 96 0a48 48 0 1 0 -96 0Z%22 fill=%22%238E7F68%22 stroke=%22%234A3B2C%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M6.5 50a43.5 43.5 0 1 0 87 0a43.5 43.5 0 1 0 -87 0Z%22 fill=%22%23EAD9B9%22/%3E%3Cpath d=%22M94.5 48.8l2.5 0M93.4 59.7l2.6 .5M91.5 66.1l2.6 .8M86.7 75.2l2.5 1.4M78.6 84.1l1.6 2M73.6 87.7l1.4 2.5M63.7 92.4l.8 2.5M56.6 94l.4 2.6M46.2 94.3l-.1 2.9M36.4 92.4l-.9 2.7M26.9 88.1l-1.5 2M19.2 82.2l-1.6 2.1M13 74.8l-1.7 1.2M9.9 69.2l-2.7 1.1M6.4 58.7l-2.3 .5M5.5 50.5l-2.3 0M6.6 40.4l-2.9-.6M10.2 30.2l-2.6-1.4M14.5 23.2l-1.8-1.7M21.8 15.6l-1.8-2M28.6 11l-1.1-2.5M36.6 7.6l-.7-2M46.9 5.6l-.2-2.1M56 5.9l.3-2.1M62.9 7.4l.8-2.7M70.5 10.5l1.2-1.8M80.5 17.6l1.6-2.1M87.2 25.6l2.1-1.6M90.3 31.1l1.9-1.1M93 38.7l2.2-.6%22 fill=%22none%22 stroke=%22%236F614E%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M54.8 50.9q0 .9-.1 1.8q-.1 .9-.3 1.9q-.2 .9-.8 1.6q-.6 .8-1.4 1.4q-.7 .6-1.6 1q-.9 .5-1.9 .6q-1 .2-2 .1q-1.1-.2-1.9-.8q-.8-.6-1.4-1.2q-.7-.7-1.3-1.4q-.5-.6-1.2-1.4q-.6-.8-.9-1.7q-.3-1-.1-1.9q.3-1 .8-1.9q.5-.8 1.1-1.5q.7-.7 1.4-1.3q.7-.7 1.6-1q.9-.3 1.9-.3q1 0 1.9 0q1 .1 1.9 .3q1 .2 1.9 .7q1 .4 1.5 1.3q.6 .8 .7 1.8q.1 1 .2 1.9ZM61.3 49.9q0 1.8-.2 3.5q-.1 1.7-.6 3.4q-.5 1.7-1.5 3.2q-.9 1.6-2.5 2.7q-1.5 1.1-3.2 1.8q-1.7 .7-3.6 1.2q-1.9 .5-3.8 .1q-1.8-.4-3.4-1.5q-1.6-1.1-2.7-2.4q-1.2-1.3-2.5-2.4q-1.3-1.2-2.4-2.7q-1.1-1.5-1.7-3.3q-.5-1.8-.1-3.7q.4-1.9 1.4-3.4q1.1-1.6 2.2-3q1.2-1.4 2.7-2.4q1.4-1.1 3.2-1.6q1.7-.6 3.5-.6q1.7-.1 3.5 0q1.8 0 3.7 .3q1.9 .2 3.5 1.2q1.7 1 2.8 2.6q1.1 1.5 1.4 3.4q.2 1.9 .3 3.6ZM67.4 49q.1 2.5 .1 5q0 2.6-.9 5q-.8 2.5-2.5 4.5q-1.6 2-3.7 3.7q-2.1 1.6-4.5 3q-2.4 1.3-5.1 1.7q-2.8 .5-5.6 0q-2.7-.4-4.8-2.2q-2.2-1.8-4.1-3.4q-1.9-1.6-3.7-3.4q-1.9-1.7-3.4-3.9q-1.4-2.2-2.2-4.9q-.8-2.6-.1-5.3q.7-2.6 1.9-5q1.3-2.4 3-4.3q1.8-2 3.9-3.5q2.1-1.6 4.7-2.3q2.5-.7 5-1q2.6-.3 5.2-.1q2.6 .2 5.4 .5q2.8 .3 5.3 1.7q2.5 1.4 4 3.8q1.4 2.4 1.7 5.2q.3 2.7 .4 5.2ZM73.4 48.1q.4 3.2 .3 6.5q-.1 3.3-1.2 6.5q-1.1 3.2-3.4 5.8q-2.3 2.5-4.9 4.8q-2.5 2.4-5.6 4.2q-3.2 1.8-6.8 2.5q-3.6 .8-7.1-.5q-3.5-1.2-6.5-3q-2.9-1.9-5.2-4.3q-2.3-2.4-4.8-4.5q-2.5-2.2-4.7-5q-2.1-2.8-2.9-6.3q-.7-3.5 .2-6.9q1-3.4 2.3-6.6q1.4-3.2 3.6-5.9q2.2-2.7 5.2-4.6q2.9-1.9 6.3-2.7q3.3-.8 6.6-.9q3.4-.2 6.7-.2q3.4-.1 7 .4q3.6 .4 6.9 2.3q3.2 1.8 5.1 4.9q1.9 3.2 2.2 6.7q.4 3.5 .7 6.8ZM79.4 47.2q.4 4 .5 8.1q.1 4.1-1.6 7.9q-1.8 3.7-4.5 6.9q-2.6 3.2-5.8 6q-3.2 2.7-7 5.1q-3.7 2.5-8.2 3.3q-4.5 .9-8.8-.6q-4.3-1.5-7.7-4.1q-3.5-2.5-6.5-5.2q-2.9-2.6-6.3-5.1q-3.4-2.5-5.5-6.2q-2.1-3.7-2.9-7.9q-.9-4.2-.2-8.5q.8-4.2 2.8-8q1.9-3.8 4.3-7.4q2.4-3.5 6.1-5.9q3.6-2.3 7.9-3.1q4.2-.8 8.3-1.2q4-.4 8.2-.4q4.2 0 8.7 .5q4.5 .6 8.2 3.2q3.7 2.6 6 6.4q2.3 3.7 3 7.9q.7 4.3 1 8.3ZM85.9 46.2q.5 4.8 .3 9.7q-.1 4.9-2.3 9.3q-2.1 4.5-5.1 8.3q-3.1 3.9-6.9 7.2q-3.7 3.3-8.2 6.1q-4.5 2.9-9.9 3.7q-5.3 .9-10.4-1q-5-1.9-9.1-4.9q-4-3-7.8-5.8q-3.8-2.8-7.4-6q-3.7-3.3-6.4-7.5q-2.8-4.3-3.7-9.3q-1-5-.1-10q.9-5 3-9.7q2-4.7 5.2-8.7q3.1-4 7.6-6.5q4.6-2.4 9.5-3.3q4.9-.9 9.6-1.5q4.7-.6 9.8-1.3q5-.7 10.4 .1q5.3 .9 9.5 4.2q4.2 3.4 6.8 7.9q2.6 4.5 3.9 9.4q1.2 4.8 1.7 9.6Z%22 fill=%22none%22 stroke=%22%23A88C66%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.5%22/%3E%3Cpath d=%22M46.4 52a1.6 1.5 0 1 0 3.2 0a1.6 1.5 0 1 0 -3.2 0Z%22 fill=%22%236F614E%22/%3E%3Cpath d=%22M52 48q14-12 28-22%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.35%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
body.sc-olive_years #countdown [id^=cd_]{position:relative;color:#4A3B2C!important}
body.sc-olive_years #countdown .grid span:last-child{position:relative;margin-top:calc(.48 * clamp(30px,9vw,48px) + 9px)!important;color:var(--cz-text,#4A3B2C)!important}
.sc-js body.sc-olive_years #countdown .grid:not(.sc-in)>div::before{clip-path:circle(0 at 50% 50%)}
.sc-js body.sc-olive_years #countdown .grid.sc-in>div::before{animation:sc-oy-rings 1.2s cubic-bezier(.25,.6,.3,1) calc(var(--k,0) * 150ms) both}
.sc-js body.sc-olive_years #countdown .grid:not(.sc-in) :is([id^=cd_],span:last-child){opacity:0}
.sc-js body.sc-olive_years #countdown .grid.sc-in [id^=cd_]{animation:sc-oy-rise .7s var(--oy-e) calc(var(--k,0) * 150ms + 520ms) both}
.sc-js body.sc-olive_years #countdown .grid.sc-in [id^=cd_].sc-tick{animation:sc-oy-rise .7s var(--oy-e) calc(var(--k,0) * 150ms + 520ms) both,sc-oy-tick .45s var(--oy-e)}
.sc-js body.sc-olive_years #countdown .grid.sc-in span:last-child{animation:sc-oy-fade .6s var(--oy-e) calc(var(--k,0) * 150ms + 700ms) both}
@keyframes sc-oy-rings{from{clip-path:circle(0 at 50% 50%)}to{clip-path:circle(50% at 50% 50%)}}
@keyframes sc-oy-tick{from{translate:0 -7%}to{translate:none}}

/* ---- details: a dry-stone wall under an olive branch; the map sits in a drystone frame ---- */
body.sc-olive_years .sc-p-details{width:min(72%,272px);margin:-8px auto 6px}
body.sc-olive_years #details .sa-map-rows>div>div:first-child{background:var(--cz-section-bg,#FBF8F1)!important;border:1.5px solid var(--cz-divider,rgba(74,59,44,.5))!important;
  box-shadow:0 0 0 3px var(--cz-page-bg,#F3EEE3),0 1px 0 4px rgba(74,59,44,.08)!important;color:var(--cz-text,#5E6B3A)!important}
body.sc-olive_years #details .sa-map-actions a{border-color:var(--cz-divider,rgba(74,59,44,.4))!important;color:var(--cz-text,#4A3B2C)!important;background:var(--cz-section-bg,#FBF8F1)!important}
body.sc-olive_years #details :is(.sa-map-embed>.sa-gallery-card,.sa-venue-photo){border:13px solid transparent!important;border-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 96 96%22%3E%3Cpath d=%22M0 0H96V96H0ZM18 18V78H78V18Z%22 fill=%22%23B6AA92%22 fill-rule=%22evenodd%22/%3E%3Cpath d=%22M2.3 4q.1-1.7 2.9-2.2l10.2-1.5q2.9-.5 2.7 2.6l-.6 10.9q-.2 3-3.1 2.9l-10.4-.5q-2.9-.1-2.7-.9l.7-2.7q.2-.7 .2-2.5l.1-6.1Z%22 fill=%22%23E4DBC8%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M79.4 4.8q0-2.7 2.6-2.6l9.2 .1q2.5 0 2.8 2.5l.8 8.6q.2 2.4-2.6 2.6l-10 .7q-2.8 .1-2.8-2.5l0-9.4Z%22 fill=%22%23DAD0BA%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M.3 81q-.2-3.3 2.7-3.2l10.6 .2q3 .1 2.9 3.2l-.3 11.2q-.1 3.2-2.8 3.2l-9.5 .2q-2.7 .1-2.9-3.2l-.7-11.6Z%22 fill=%22%23EAE3D3%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M78.6 83q-.3-2.7 2.7-2.8l10.9-.2q3-.1 2.8 1.3l-.9 4.9q-.3 1.4-.3 2.7l.1 4.7q.1 1.4-2.5 1.4l-8.9 .3q-2.6 .1-2.9-2.6l-1-9.7Z%22 fill=%22%23D2C7AF%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M19.7 3.8q-.1-2.7 3-3l11.4-.7q3.2-.3 3.1 2.9l-.3 11q-.1 3.2-3.1 3l-10.4-.4q-3-.1-3.1-2.9l-.6-9.9Z%22 fill=%22%23E4DBC8%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M17.9 81.8q-.2-1.7 3.3-1.7l12.4 0q3.5 0 3.5 2.6l-.2 9.1q0 2.5-3.5 2.7l-12.1 .6q-3.4 .2-3.2-.9l.6-3.9q.1-1.1-.1-2.7l-.7-5.8Z%22 fill=%22%23DAD0BA%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M.9 23.2q.2-3 3.2-3l10.3 0q2.9 0 2.6 1.9l-1 6.5q-.2 1.8-.2 3.2l.1 4.9q0 1.4-2.9 1.2l-10.5-.9q-2.9-.2-2.6-3.2l1-10.6Z%22 fill=%22%23EAE3D3%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M80.2 23.1q.3-3.2 3.2-3.4l10.2-.5q2.8-.1 2.7 .9l-.6 3.8q-.2 1 0 3.3l.7 8.1q.2 2.3-3.1 2.4l-11.5 .3q-3.3 .1-2.9-3.2l1.3-11.7Z%22 fill=%22%23D2C7AF%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M38.4 4.1q-.2-3 3.4-3l12.5-.2q3.5 0 3.3 2.7l-1 9.7q-.3 2.7-3.3 3l-11 .8q-3.1 .3-3.3-2.7l-.6-10.3Z%22 fill=%22%23E4DBC8%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M39.4 80.3q-.2-2 2.8-2.1l10.5-.1q3 0 3 3.1l-.2 11.3q-.1 3.1-2.9 3l-10.2-.6q-2.9-.1-2.8-1.1l.5-3.4q.2-1 0-3l-.7-7.1Z%22 fill=%22%23DAD0BA%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M2.4 43.2q.1-3.1 2.8-3.3l9.8-.6q2.8-.2 2.6 3l-.7 11.1q-.1 3.1-1.1 3l-3.2-.4q-.9-.1-2.6 .1l-6.1 .9q-1.7 .3-1.7-2.8l.2-11Z%22 fill=%22%23EAE3D3%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M79.1 41.9q.3-3.4 3.2-3.1l10.1 .9q2.8 .2 2.6 3.5l-.6 11.6q-.2 3.3-3.2 3.1l-10.6-.6q-2.9-.2-2.6-3.5l1.1-11.9Z%22 fill=%22%23D2C7AF%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M58.4 3q-.2-1.8 3.1-1.9l12-.2q3.4 0 3.5 2.6l.6 9.6q.1 2.7-3.3 3l-12.3 1.2q-3.4 .4-3.3-.8l.6-4q.1-1.2-.1-3l-.8-6.5Z%22 fill=%22%23E4DBC8%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M59.5 81.2q.1-3.1 3.2-3l11 .5q3.1 .1 2.9 3.1l-.7 10.7q-.2 3-3.2 3l-10.8 0q-3 0-2.8-3.2l.4-11.1Z%22 fill=%22%23DAD0BA%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M1.4 62.3q-.2-3.2 2.5-3l9.7 .6q2.8 .2 2.6 3.4l-.4 11.4q-.1 3.2-2.6 3l-8.6-.5q-2.4-.2-2.6-3.4l-.6-11.5Z%22 fill=%22%23EAE3D3%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3Cpath d=%22M79.7 60.4q-.1-1.1 2.5-1.2l9.5-.6q2.6-.1 2.7 3.1l.1 11.6q0 3.2-2.5 3.2l-9 .1q-2.5 0-2.5-2l.1-7.3q0-2-.2-3.1l-.7-3.8Z%22 fill=%22%23D2C7AF%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.7%22/%3E%3C/svg%3E") 18 round!important;
  border-radius:0!important;background:var(--cz-section-bg,#E9E1CF)!important;box-shadow:0 16px 26px -18px rgba(74,59,44,.5)!important;padding:0!important}
.sc-js body.sc-olive_years #details .sa-map-rows>:not(.sc-in){opacity:0}
.sc-js body.sc-olive_years #details .sa-map-rows>.sc-in{animation:sc-oy-rise .8s var(--oy-e) calc(var(--k,0) * 110ms) both}
.sc-js body.sc-olive_years #details .sa-map-actions:not(.sc-in)>*{opacity:0}
.sc-js body.sc-olive_years #details .sa-map-actions.sc-in>*{animation:sc-oy-rise .7s var(--oy-e) calc(120ms + var(--k,0) * 90ms) both}
.sc-js body.sc-olive_years #details:not(.sc-in) .sa-map-embed,.sc-js body.sc-olive_years #details .sa-venue-photo:not(.sc-in){opacity:0}
.sc-js body.sc-olive_years #details.sc-in .sa-map-embed,.sc-js body.sc-olive_years #details .sa-venue-photo.sc-in{animation:sc-oy-rise .9s var(--oy-e) .45s both}

/* ---- gallery: the photos hang as polaroids from a twine, nailed between them; each sways from its peg ---- */
body.sc-olive_years .sc-p-gallery{width:min(76%,288px);margin:-8px auto 4px}
body.sc-olive_years #gallery .grid{gap:46px 18px!important;padding-top:24px}
body.sc-olive_years #gallery .sa-gallery-card{position:relative;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;transform:none!important}
body.sc-olive_years #gallery .sa-gallery-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border:8px solid var(--cz-section-bg,#FFFDF7);border-bottom-width:30px;
  box-shadow:0 14px 22px -14px rgba(74,59,44,.5),0 0 0 1px rgba(74,59,44,.07);transform-origin:50% -6px;rotate:var(--tilt,0deg)}
body.sc-olive_years #gallery .sa-gallery-card::before{content:"";position:absolute;left:-9px;right:-9px;top:-21px;height:22px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 10 10%22%3E%3Cpath d=%22M1.6 5a3.4 3.4 0 1 0 6.8 0a3.4 3.4 0 1 0 -6.8 0Z%22 fill=%22%236F614E%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M3.2 4.2a1 1 0 1 0 2 0a1 1 0 1 0 -2 0Z%22 fill=%22%23C9B79A%22/%3E%3C/svg%3E") 0 0/9px 9px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 10 10%22%3E%3Cpath d=%22M1.6 5a3.4 3.4 0 1 0 6.8 0a3.4 3.4 0 1 0 -6.8 0Z%22 fill=%22%236F614E%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M3.2 4.2a1 1 0 1 0 2 0a1 1 0 1 0 -2 0Z%22 fill=%22%23C9B79A%22/%3E%3C/svg%3E") 100% 0/9px 9px no-repeat,url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 200 22%22 preserveAspectRatio=%22none%22%3E%3Cpath d=%22M0 3C40 10 70 15 100 15S160 10 200 3%22 fill=%22none%22 stroke=%22%23B49A74%22 stroke-width=%222.2%22 vector-effect=%22non-scaling-stroke%22/%3E%3Cpath d=%22M0 3C40 10 70 15 100 15S160 10 200 3%22 fill=%22none%22 stroke=%22%236F614E%22 stroke-width=%22.8%22 stroke-dasharray=%221.4 4%22 vector-effect=%22non-scaling-stroke%22/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;pointer-events:none}
body.sc-olive_years #gallery .sa-gallery-card::after{content:"";position:absolute;left:50%;top:-13px;width:11px;height:17px;translate:-50% 0;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 30%22%3E%3Cpath d=%22M6 1H14L13 29H7Z%22 fill=%22%23D8C29C%22 stroke=%22%234A3B2C%22 stroke-width=%221.1%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M7 13H13%22 fill=%22none%22 stroke=%22%234A3B2C%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.6%22/%3E%3Cpath d=%22M10 2V12%22 fill=%22none%22 stroke=%22%23B59C74%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M8.4 18.5a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0 -3.2 0Z%22 fill=%22%239C8255%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:2}
body.sc-olive_years #gallery .sa-gallery-card:nth-child(4n+1){--tilt:-1.5deg}body.sc-olive_years #gallery .sa-gallery-card:nth-child(4n+2){--tilt:1.2deg}
body.sc-olive_years #gallery .sa-gallery-card:nth-child(4n+3){--tilt:.9deg}body.sc-olive_years #gallery .sa-gallery-card:nth-child(4n+4){--tilt:-1deg}
.sc-js body.sc-olive_years #gallery .sa-gallery-card:not(.sc-in)::before{clip-path:inset(0 100% 0 0);opacity:0}
.sc-js[dir=rtl] body.sc-olive_years #gallery .sa-gallery-card:not(.sc-in)::before{clip-path:inset(0 0 0 100%);opacity:0}
.sc-js body.sc-olive_years #gallery .sa-gallery-card.sc-in::before{animation:sc-oy-string .7s cubic-bezier(.45,0,.4,1) calc(var(--c,0) * 420ms) both}
.sc-js[dir=rtl] body.sc-olive_years #gallery .sa-gallery-card.sc-in::before{animation-name:sc-oy-string-rtl}
.sc-js body.sc-olive_years #gallery .sa-gallery-card:not(.sc-in) :is(img),.sc-js body.sc-olive_years #gallery .sa-gallery-card:not(.sc-in)::after{opacity:0}
.sc-js body.sc-olive_years #gallery .sa-gallery-card.sc-in::after{animation:sc-oy-fade .3s var(--oy-e) calc(var(--c,0) * 420ms + 520ms) both}
.sc-js body.sc-olive_years #gallery .sa-gallery-card.sc-in img{animation:sc-oy-hang .9s var(--oy-e) calc(var(--c,0) * 420ms + 560ms) both}
/* a gentle sway on the first six photos only (a long gallery stays within the loop budget) */
.sc-js body.sc-olive_years #gallery .sa-gallery-card.sc-in:nth-child(-n+6) img{animation:sc-oy-hang .9s var(--oy-e) calc(var(--c,0) * 420ms + 560ms) both,
  sc-oy-photo-sway var(--sp,7.4s) ease-in-out calc(var(--c,0) * 420ms + 1.46s) infinite}
body.sc-olive_years #gallery .sa-gallery-card:nth-child(even){--sp:8.3s;--c:1}
.sc-js body.sc-olive_years #gallery:not(.sc-run) .sa-gallery-card img{animation-play-state:paused}
@keyframes sc-oy-string{from{clip-path:inset(0 100% 0 0);opacity:0}6%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes sc-oy-string-rtl{from{clip-path:inset(0 0 0 100%);opacity:0}6%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}
@keyframes sc-oy-hang{from{opacity:0;translate:0 -12px;rotate:calc(var(--tilt,0deg) - 5deg)}to{opacity:1;translate:none;rotate:var(--tilt,0deg)}}
@keyframes sc-oy-photo-sway{0%,100%{rotate:var(--tilt,0deg)}25%{rotate:calc(var(--tilt,0deg) + .8deg)}75%{rotate:calc(var(--tilt,0deg) - .8deg)}}

/* ---- dress code: a fan of linen swatches opens; the note is a stitched linen label ---- */
body.sc-olive_years .sc-p-dress_code{width:min(52%,196px);margin:-8px auto 8px}
.sc-piece.sc-olive_years [data-oy=fan]{transform:rotate(var(--ang))}
.sc-js .sc-piece.sc-olive_years:not(.sc-in) [data-oy=fan]{opacity:0;transform:translateY(10px)}
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=fan]{animation:sc-oy-fan 1s var(--oy-e) calc(150ms + var(--k,0) * 55ms) both}
@keyframes sc-oy-fan{0%{opacity:0;transform:translateY(10px)}30%{opacity:1;transform:none}100%{opacity:1;transform:rotate(var(--ang))}}
body.sc-olive_years :is(#dress_code,#gifts) .sa-text-section__body{position:relative;padding:16px 20px;background:var(--cz-section-bg,#FBF8F1);border:1px solid rgba(74,59,44,.14);
  box-shadow:0 14px 26px -20px rgba(74,59,44,.42)}
body.sc-olive_years #dress_code .sa-text-section__body::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(94,107,58,.5);pointer-events:none}
body.sc-olive_years #gifts .sa-text-section__body::before{content:"";position:absolute;left:50%;top:-7px;width:44px;height:12px;translate:-50% 0;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 12%22%3E%3Cpath d=%22M2 6H42%22 fill=%22none%22 stroke=%22%23B49A74%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M17.6 6a4.4 3.4 0 1 0 8.8 0a4.4 3.4 0 1 0 -8.8 0Z%22 fill=%22%23B49A74%22 stroke=%22%234A3B2C%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E") center/contain no-repeat}
.sc-js body.sc-olive_years :is(#dress_code,#gifts,#closing) .sa-text-section__body:not(.sc-in){opacity:0}
.sc-js body.sc-olive_years :is(#dress_code,#gifts,#closing) .sa-text-section__body.sc-in{animation:sc-oy-rise .8s var(--oy-e) .1s both}

/* ---- gifts: a kraft parcel tied with twine ---- */
body.sc-olive_years .sc-p-gifts{width:min(54%,200px);margin:-8px auto 8px}

/* ---- rsvp: a gold seal with an olive wreath (a slow glint every 9 s); the form is a linen card ---- */
body.sc-olive_years .sc-p-rsvp{width:min(40%,150px);margin:-10px auto 2px}
.sc-piece.sc-olive_years [data-oy=glint]{border-radius:50%;overflow:hidden}
.sc-js .sc-piece.sc-olive_years:not(.sc-in) [data-oy=seal]{opacity:0;transform:scale(.88)}
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=seal]{animation:sc-oy-seal .8s var(--oy-e) both}
@keyframes sc-oy-seal{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}
.sc-js .sc-piece.sc-olive_years.sc-in [data-a=drift][data-oy=glintband]{animation:sc-oy-glint 9s linear 2.4s infinite}
@keyframes sc-oy-glint{0%{transform:none;animation-timing-function:cubic-bezier(.45,0,.35,1)}15%{transform:translateX(620%)}100%{transform:translateX(620%)}}
body.sc-olive_years #rsvp form{background:var(--cz-section-bg,#FBF8F1)!important;border:1px solid rgba(74,59,44,.18)!important;outline:1px solid rgba(74,59,44,.1);outline-offset:-9px;
  box-shadow:0 24px 40px -30px rgba(74,59,44,.5)!important}
.sc-js body.sc-olive_years #rsvp form>:not(.sc-in){opacity:0}
.sc-js body.sc-olive_years #rsvp form>.sc-in{animation:sc-oy-rise .7s var(--oy-e) calc(var(--k,0) * 45ms) both}

/* ---- closing: two coupes tilt in and clink once, a tiny sparkle where they meet; the names write themselves ---- */
body.sc-olive_years #closing>.sc-p-closing{order:0;width:min(78%,300px);margin:0 auto 14px}
.sc-piece.sc-olive_years [data-oy=coupe]{transform:rotate(var(--tilt))}
.sc-js .sc-piece.sc-olive_years:not(.sc-in) [data-oy=coupe]{opacity:0;transform:translateX(var(--from))}
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=coupe]{animation:sc-oy-coupe .9s var(--oy-e) .1s both}
@keyframes sc-oy-coupe{from{opacity:0;transform:translateX(var(--from))}to{opacity:1;transform:rotate(var(--tilt))}}
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=clink]{animation:sc-oy-clink .12s cubic-bezier(.3,0,.3,1) 1.04s both}
@keyframes sc-oy-clink{0%,100%{transform:none}50%{transform:translateX(var(--dx))}}
.sc-js .sc-piece.sc-olive_years:not(.sc-in) [data-oy=spark]{opacity:0;transform:scale(.3)}
.sc-js .sc-piece.sc-olive_years.sc-in [data-oy=spark]{animation:sc-oy-spark .8s var(--oy-e) 1.1s both}
@keyframes sc-oy-spark{0%{opacity:0;transform:scale(.3) rotate(-25deg)}45%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:none}}
.sc-js body.sc-olive_years #closing .sa-closing-sign:not(.sc-in){opacity:0}
.sc-js body.sc-olive_years #closing .sa-closing-sign.sc-in{-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);
  -webkit-mask-size:240% 100%;mask-size:240% 100%;animation:sc-oy-write 1.8s cubic-bezier(.45,0,.3,1) .5s both}
.sc-js[dir=rtl] body.sc-olive_years #closing .sa-closing-sign.sc-in{-webkit-mask-image:linear-gradient(270deg,#000 45%,transparent 55%);mask-image:linear-gradient(270deg,#000 45%,transparent 55%);animation-name:sc-oy-write-rtl}
@keyframes sc-oy-write{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes sc-oy-write-rtl{from{-webkit-mask-position:0 0;mask-position:0 0}to{-webkit-mask-position:100% 0;mask-position:100% 0}}
/* child order for the per-block cascades */
body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(2){--k:1}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(3){--k:2}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(4){--k:3}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(5){--k:4}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(6){--k:5}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(7){--k:6}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(8){--k:7}body.sc-olive_years :is(#countdown .grid,#details .sa-map-rows,#details .sa-map-actions,#gallery .grid,#rsvp form)>:nth-child(n+9){--k:8}
