/* Olive (classic wedding): drawn section pieces on top of the motion kit (generated by src/olive/gen.py).
   Plain rules = the final state (reduced motion, the editor); .sc-js ...:not(.sc-in) = the start; .sc-in runs it.
   The art keeps its own colours (it is drawn); cards, text and lines take the couple's colours (--paper, --ink ...). */
body.sc-olive{--ol-e:cubic-bezier(.23,1,.32,1)}
@keyframes ol-fade{from{opacity:0}}
@keyframes ol-bloom{from{opacity:0;transform:scale(.55)}}
@keyframes ol-unroll{from{clip-path:inset(-30% -30% 100% -30%)}to{clip-path:inset(-30% -30% -30% -30%)}}

/* ---- the pieces: size and place; a piece is its section's one ornament (the stock sprig and hairline step aside) ---- */
body.sc-olive #sa-sections section:has(>.sc-piece){padding-top:calc(var(--wd-space) - 10px)}
body.sc-olive #sa-sections #countdown:has(>.sc-piece){padding-top:26px}
body.sc-olive .sc-p-countdown{width:min(88%,320px);margin:0 auto 4px}
body.sc-olive .sc-p-details{width:min(62%,236px);margin:-10px auto 6px}
body.sc-olive .sc-p-program{width:min(72%,262px);margin:-10px auto 6px}
body.sc-olive .sc-p-gallery{width:min(86%,310px);margin:-4px auto 10px}
body.sc-olive .sc-p-dress_code{width:min(76%,280px);margin:-6px auto 4px}
body.sc-olive .sc-p-gifts{width:min(50%,190px);margin:-8px auto 4px}
body.sc-olive .sc-p-rsvp{width:min(58%,220px);margin:-8px auto 4px}
/* own entrances used by the pieces */
.sc-js .sc-piece.sc-olive:not(.sc-in) [data-m=hang]{clip-path:inset(-30% -30% 100% -30%)}
.sc-js .sc-piece.sc-olive.sc-in [data-m=hang]{animation:ol-unroll var(--d,600ms) var(--ol-e) var(--t,0ms) backwards}
.sc-js .sc-piece.sc-olive:not(.sc-in) [data-m=bloom]{opacity:0;transform:scale(.55)}
.sc-js .sc-piece.sc-olive.sc-in [data-m=bloom]{animation:ol-bloom var(--d,700ms) var(--ol-e) var(--t,0ms) backwards}

/* ---- countdown: each digit is cut into one of the wall's big sunlit stones; the stones are set one after another ---- */
body.sc-olive #countdown .grid{gap:6px!important}
body.sc-olive #countdown .grid>div{--fs:clamp(29px,8vw,44px);position:relative;isolation:isolate;padding:calc(var(--fs) * .25) 0 0!important}
body.sc-olive #countdown .grid>div+div{border-inline-start:0!important}
body.sc-olive #countdown .grid>div::before{content:"";position:absolute;z-index:-1;left:50%;top:0;width:calc(var(--fs) * 2.42);height:calc(var(--fs) * 1.74);
  translate:-50% 0;background:center/100% 100% no-repeat;pointer-events:none}
body.sc-olive #countdown [id^=cd_]{position:relative;color:#3B3324!important}
body.sc-olive #countdown .grid>div>span:last-child{margin-top:calc(var(--fs) * .32 + 6px)!important}
body.sc-olive #countdown .grid>div:nth-child(1){--k:0}body.sc-olive #countdown .grid>div:nth-child(1)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 72%22%3E%3Cpath d=%22M7.6 27q.3-16.9 26.3-17.4l34.6-.7q26-.5 26.9 17.2l1.2 23.6q.9 17.7-26.3 17.5l-36.3-.3q-27.2-.3-26.9-17.2l.5-22.7Z%22 fill=%22%237C6446%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M5.6 24q.3-16.9 26.3-17.4l34.6-.7q26-.5 26.9 17.2l1.2 23.6q.9 17.7-26.3 17.5l-36.3-.3q-27.2-.3-26.9-17.2l.5-22.7Z%22 fill=%22%23DBC495%22/%3E%3Cpath d=%22M5.6 24q.3-16.9 26.3-17.4l34.6-.7q26-.5 26.9 17.2l1.2 23.6q.9 17.7-26.3 17.5l-36.3-.3q-27.2-.3-26.9-17.2l.5-22.7%22 fill=%22none%22 stroke=%22%2343382A%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14 49.8Q50 58.1 88 48.6L90 58Q50 66 12 58Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.35%22/%3E%3Cpath d=%22M15 14.3Q40 9.3 61.9 10.9%22 fill=%22none%22 stroke=%22%23F2E6C4%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3Cpath d=%22M79.2 25.3A1.5 .7 166 1 0 76.4 26A1.5 .7 166 1 0 79.2 25.3Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M28.8 35.9A1.7 1.1 16.8 1 0 32 36.9A1.7 1.1 16.8 1 0 28.8 35.9Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M71.9 46.2A1.3 1 39 1 0 73.9 47.8A1.3 1 39 1 0 71.9 46.2Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M30.7 24A1.2 1 79.4 1 0 31.2 26.4A1.2 1 79.4 1 0 30.7 24Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M77.8 11.6l-2.3 6l3 5%22 fill=%22none%22 stroke=%22%23A88B5E%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3C/svg%3E")}body.sc-olive #countdown .grid>div:nth-child(2){--k:1}body.sc-olive #countdown .grid>div:nth-child(2)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 72%22%3E%3Cpath d=%22M7.8 25.8q-.2-17.6 26-17l34.9 .8q26.2 .6 26.6 17.7l.6 23q.3 17.2-26.1 16.9l-35.2-.3q-26.4-.2-26.6-17.7l-.2-23.4Z%22 fill=%22%237C6446%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M5.8 22.8q-.2-17.6 26-17l34.9 .8q26.2 .6 26.6 17.7l.6 23q.3 17.2-26.1 16.9l-35.2-.3q-26.4-.2-26.6-17.7l-.2-23.4Z%22 fill=%22%23CFB585%22/%3E%3Cpath d=%22M5.8 22.8q-.2-17.6 26-17l34.9 .8q26.2 .6 26.6 17.7l.6 23q.3 17.2-26.1 16.9l-35.2-.3q-26.4-.2-26.6-17.7l-.2-23.4%22 fill=%22none%22 stroke=%22%2343382A%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14 50.3Q50 61.1 88 47.6L90 58Q50 66 12 58Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.35%22/%3E%3Cpath d=%22M15 15.7Q40 8.9 54.5 10.3%22 fill=%22none%22 stroke=%22%23F2E6C4%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3Cpath d=%22M62.4 25.1A1.5 .9 10.2 1 0 65.4 25.6A1.5 .9 10.2 1 0 62.4 25.1Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M66.1 20A1.7 1 37.1 1 0 68.8 22.1A1.7 1 37.1 1 0 66.1 20Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M63.1 43A1.1 1 21.3 1 0 65.1 43.8A1.1 1 21.3 1 0 63.1 43Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M73.9 40.6A1.8 .7 54.6 1 0 76 43.5A1.8 .7 54.6 1 0 73.9 40.6Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M72.7 10.4l-2.5 6l3 5%22 fill=%22none%22 stroke=%22%23A88B5E%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3C/svg%3E")}body.sc-olive #countdown .grid>div:nth-child(3){--k:2}body.sc-olive #countdown .grid>div:nth-child(3)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 72%22%3E%3Cpath d=%22M8.7 25.2q-.3-17.5 25.8-17.4l34.7 .3q26.1 .1 26.5 17.9l.6 23.7q.5 17.7-25.8 17.3l-35-.6q-26.2-.4-26.5-17.9l-.3-23.3Z%22 fill=%22%237C6446%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M6.7 22.2q-.3-17.5 25.8-17.4l34.7 .3q26.1 .1 26.5 17.9l.6 23.7q.5 17.7-25.8 17.3l-35-.6q-26.2-.4-26.5-17.9l-.3-23.3Z%22 fill=%22%23E2D0A6%22/%3E%3Cpath d=%22M6.7 22.2q-.3-17.5 25.8-17.4l34.7 .3q26.1 .1 26.5 17.9l.6 23.7q.5 17.7-25.8 17.3l-35-.6q-26.2-.4-26.5-17.9l-.3-23.3%22 fill=%22none%22 stroke=%22%2343382A%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14 48.1Q50 58.9 88 47.0L90 58Q50 66 12 58Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.35%22/%3E%3Cpath d=%22M15 14.1Q40 8.4 62.4 11.1%22 fill=%22none%22 stroke=%22%23F2E6C4%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3Cpath d=%22M36 37.8A1.6 .7 138.5 1 0 33.6 39.9A1.6 .7 138.5 1 0 36 37.8Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M61.9 29.9A1.1 1.1 57.9 1 0 63.1 31.8A1.1 1.1 57.9 1 0 61.9 29.9Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M28.6 22A1.7 .9 138.7 1 0 26.1 24.2A1.7 .9 138.7 1 0 28.6 22Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M64.5 35.4A1.8 .9 94.9 1 0 64.2 38.9A1.8 .9 94.9 1 0 64.5 35.4Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M75.6 10.5l2.9 6l3 5%22 fill=%22none%22 stroke=%22%23A88B5E%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3C/svg%3E")}body.sc-olive #countdown .grid>div:nth-child(4){--k:3}body.sc-olive #countdown .grid>div:nth-child(4)::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 72%22%3E%3Cpath d=%22M8.1 17.6q-1.6-8.1 24.9-8.2l35.4-.3q26.5-.2 27 17.4l.6 23.6q.5 17.6-26.1 17.4l-35.4-.3q-26.6-.2-25.5-9.4l1.5-12.2q1.1-9.1-.4-17.2l-2-10.8Z%22 fill=%22%237C6446%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M6.1 14.6q-1.6-8.1 24.9-8.2l35.4-.3q26.5-.2 27 17.4l.6 23.6q.5 17.6-26.1 17.4l-35.4-.3q-26.6-.2-25.5-9.4l1.5-12.2q1.1-9.1-.4-17.2l-2-10.8Z%22 fill=%22%23C9AD7E%22/%3E%3Cpath d=%22M6.1 14.6q-1.6-8.1 24.9-8.2l35.4-.3q26.5-.2 27 17.4l.6 23.6q.5 17.6-26.1 17.4l-35.4-.3q-26.6-.2-25.5-9.4l1.5-12.2q1.1-9.1-.4-17.2l-2-10.8%22 fill=%22none%22 stroke=%22%2343382A%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14 50.5Q50 61.8 88 48.5L90 58Q50 66 12 58Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.35%22/%3E%3Cpath d=%22M15 15.9Q40 8.8 52.9 10.2%22 fill=%22none%22 stroke=%22%23F2E6C4%22 stroke-width=%223%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3Cpath d=%22M28.2 24.5A1.1 1 22.1 1 0 30.3 25.3A1.1 1 22.1 1 0 28.2 24.5Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M43.2 51.1A1.2 .8 10.9 1 0 45.6 51.5A1.2 .8 10.9 1 0 43.2 51.1Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M54.9 25.2A1 .8 47.3 1 0 56.3 26.7A1 .8 47.3 1 0 54.9 25.2Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M27.2 38.3A1.8 1 112.4 1 0 25.8 41.6A1.8 1 112.4 1 0 27.2 38.3Z%22 fill=%22%23A88B5E%22 fill-opacity=%220.6%22/%3E%3Cpath d=%22M73.1 8.2l2.8 6l3 5%22 fill=%22none%22 stroke=%22%23A88B5E%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3C/svg%3E")}
.sc-js body.sc-olive #countdown .grid.sc-in>div{animation:ol-set .8s var(--ol-e) calc(120ms + var(--k,0) * 150ms) backwards}
.sc-js body.sc-olive #countdown .grid.sc-in>div>span:last-child{animation:ol-fade .6s var(--ol-e) calc(600ms + var(--k,0) * 150ms) backwards}
@keyframes ol-set{from{opacity:0;transform:translateY(-12px)}}

/* ---- venue: the icons sit on linen roundels; a twig lies on the location rule; the map is a mounted print with an
   olive sprig tucked in its corner ---- */
body.sc-olive #details .sa-map-rows>div>div:first-child{position:relative;isolation:isolate;width:44px!important;height:44px!important}
body.sc-olive #details .sa-map-rows>div>div:first-child::before{content:"";position:absolute;z-index:-1;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 48 48%22%3E%3Cpath d=%22M3 24a21 21 0 1 0 42 0a21 21 0 1 0 -42 0Z%22 fill=%22%23FCF8EC%22 stroke=%22%23A6B592%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M6.4 24a17.6 17.6 0 1 0 35.2 0a17.6 17.6 0 1 0 -35.2 0Z%22 fill=%22none%22 stroke=%22%23DED3B8%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.9%22/%3E%3C/svg%3E") center/contain no-repeat}
.sc-js body.sc-olive #details .sa-map-rows>:not(.sc-in)>div:first-child::before{opacity:0;transform:scale(.5)}
.sc-js body.sc-olive #details .sa-map-rows>.sc-in>div:first-child::before{animation:ol-bloom .8s var(--ol-e) calc(var(--k,0) * 90ms + 120ms) backwards}
body.sc-olive #details .sa-map-rows .sa-map-location{position:relative;border-top:0!important;background:linear-gradient(var(--wd-border),var(--wd-border)) 0 0/calc(50% - 28px) 1px no-repeat,
  linear-gradient(var(--wd-border),var(--wd-border)) 100% 0/calc(50% - 28px) 1px no-repeat}
body.sc-olive #details .sa-map-rows .sa-map-location::before{content:"";position:absolute;left:50%;top:-7px;width:46px;height:14px;translate:-50% 0;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 46 14%22%3E%3Cpath d=%22M2 8q6-.3 9-.4q3-.1 6-.3q3-.1 6-.3q3-.1 6-.2q3-.2 6-.3q3-.2 6-.3q3-.2 3-.2%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M6 7.8q3.3 .2 5.5-3.1q-4.3 .1-5.5 3.1ZM44 6q2 1.6 4.9 .5q-2.8-1.9-4.9-.5Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.4%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M14 7.5q.9 3.1 4.8 4.2q-1.5-4.1-4.8-4.2ZM26 6.9q.3 2.6 3.3 4q-.7-3.5-3.3-4ZM34 6.5q2.7-.6 3.3-4.3q-3 1.5-3.3 4.3Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.4%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M20 7.2q3.4-.3 4.7-4.5q-3.9 1.2-4.7 4.5ZM40 6.2q.4 2.5 3.5 3.3q-1.1-2.9-3.5-3.3Z%22 fill=%22%23A6B592%22 stroke=%22%232E3D2B%22 stroke-width=%22.4%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M6.6 7.4l3.7-2.3M14.6 7.9l3.4 2.8M20.6 6.7l3.4-2.9M26.4 7.4l2.4 2.5M34.4 6l2.5-2.7M40.4 6.6l2.3 2.3%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3C/svg%3E") center/contain no-repeat}
body.sc-olive #details :is(.sa-map-embed,.sa-venue-photo){position:relative;overflow:visible!important;padding:8px!important;background:var(--paper)!important;border:1px solid var(--wd-border)!important;
  border-radius:3px!important;box-shadow:0 18px 30px -24px rgba(67,56,42,.5)}
body.sc-olive #details .sa-map-embed .sa-gallery-card{border-radius:2px!important;overflow:hidden}
body.sc-olive #details :is(.sa-map-embed,.sa-venue-photo)::after{content:"";position:absolute;right:-16px;top:-14px;width:96px;height:42px;rotate:22deg;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 44%22%3E%3Cpath d=%22M4 36q5.7-1.8 8.6-2.7q2.8-.9 5.7-1.8q2.9-.9 5.7-1.8q2.9-.9 5.8-1.8q2.8-.9 5.7-1.7q2.9-.9 5.7-1.8q2.9-.8 5.8-1.7q2.9-.8 5.8-1.6q2.8-.9 5.7-1.7q2.9-.9 5.8-1.7q2.9-.9 5.7-1.7q2.9-.9 5.8-1.8q2.8-.8 5.7-1.7q2.9-.9 5.7-1.8q2.9-.9 5.8-1.8q2.8-.8 2.8-.8%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M11.6 33.6q6.3-2.7 8.2-11.2q-7.7 4.4-8.2 11.2ZM61.4 18.5q3.4 5 10.8 5.6q-4.8-6.4-10.8-5.6ZM71 15.7q4.9-1.4 7-7.5q-6.1 2.5-7 7.5ZM92 9.2q3.6-1.9 3.6-7.4q-3.7 3.4-3.6 7.4Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M21.2 30.6q2.8 5 10.6 5q-4.9-5.3-10.6-5Z%22 fill=%22%233F5B42%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M32.6 27q5.1-3.2 5-11q-5.6 5.1-5 11ZM42.2 24.1q2.5 5.7 10.8 6.5q-4.6-6.2-10.8-6.5ZM51.8 21.3q5-2.9 4.8-10.8q-5.2 5-4.8 10.8ZM80.6 12.8q2.4 4 8.1 4.9q-3.5-5.3-8.1-4.9Z%22 fill=%22%23A6B592%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M95.8 8.1q4.6 1.6 9.8-1.5q-6.2-1.9-9.8 1.5Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M12.6 32.2l5.4-7.6M22.4 31.3l6.9 3.8M33.3 25.7l3.6-7.4M43.4 25l7.1 4.8M52.5 20.1l3.7-7.1M62.7 19.1l7.6 3.4M71.8 14.8l4.8-5.2M81.6 13.3l5.7 2.9M92.5 8.4l2.9-4.9%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:2;scale:-1 1}
[dir=rtl] body.sc-olive #details :is(.sa-map-embed,.sa-venue-photo)::after{right:auto;left:-16px;rotate:-22deg;scale:1 1}

/* ---- programme: the line is the chair's linen ribbon falling down the day; every stop wears a small olive wreath that
   opens as its row arrives ---- */
body.sc-olive #program .sa-prog-line-v{width:16px!important;inset-inline-start:11px!important;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 40%22%3E%3Cpath d=%22M4.8 0H11.2V40H4.8Z%22 fill=%22%23E2D8C0%22/%3E%3Cpath d=%22M6.6 0H9V40H6.6Z%22 fill=%22%23FBF7EC%22 fill-opacity=%220.95%22/%3E%3Cpath d=%22M11.2 0V40%22 fill=%22none%22 stroke=%22%23B9AA87%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.8%22/%3E%3C/svg%3E") center top/16px 40px repeat-y!important;opacity:1!important}
body.sc-olive #program .sa-prog-row>div:first-child{position:relative;isolation:isolate;overflow:visible}
body.sc-olive #program .sa-prog-row>div:first-child::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:64px;height:64px;translate:-50% -50%;
  background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cpath d=%22M41.9 54.3q-5.7 1.7-8.7 1.9q-3 .1-5.9-.4q-2.9-.6-5.7-1.9q-2.7-1.3-5-3.2q-2.3-1.9-4.1-4.3q-1.7-2.4-2.9-5.2q-1.1-2.7-1.6-5.7q-.4-3-.1-5.9q.3-3 1.3-5.8q1-2.8 2.7-5.3q1.7-2.5 3.9-4.5q2.2-2 4.9-3.4q2.6-1.4 6.2-2.5%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M34.2 56.3q-4.4 .8-5.8 6q5.7-1.5 5.8-6ZM26.3 55.7q.8-4.3-4.2-6.9q.2 5.2 4.2 6.9Z%22 fill=%22%233F5B42%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M18.9 52.6q-3.2-1.3-6.1 2q4.2 .9 6.1-2ZM11.8 45.7q2.3-2.4 .2-6.1q-2.1 3.4-.2 6.1ZM10.2 21q1.5-2.3-.1-5.1q-1.8 3.1 .1 5.1ZM15 14.5q2.5 2.3 6.2-.1q-3.5-1.8-6.2 .1ZM21.5 10q2.9-1.2 2.8-5.2q-3.4 2.1-2.8 5.2ZM26.9 8.1q2.6 1.5 5.5-.5q-3.5-1.7-5.5 .5Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M8.5 38.5q-.9-3.1-4.6-3.9q1.4 4.1 4.6 3.9ZM7.6 30.5q3.5-.8 3.7-5.6q-3.8 2-3.7 5.6Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M33.6 57.1l-3.8 4.2M25.8 54.9l-2.5-4.9M18.2 52.8l-4.2 1.4M11.9 45l.3-4.2M7.9 38.1l-3.3-2.4M8.1 29.9l2.8-3.6M10.2 20.4l-.4-3.5M15.7 14.6l4.2 .2M21.8 9.4l1.9-3.5%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3Cpath d=%22M22.1 54.3q5.7 1.7 8.7 1.9q3 .1 5.9-.4q2.9-.6 5.7-1.9q2.7-1.3 5-3.2q2.3-1.9 4.1-4.3q1.7-2.4 2.9-5.2q1.1-2.7 1.6-5.7q.4-3 .1-5.9q-.3-3-1.3-5.8q-1-2.8-2.7-5.3q-1.7-2.5-3.9-4.5q-2.2-2-4.9-3.4q-2.6-1.4-6.2-2.5%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M29.8 56.3q4.6-.3 6.3-5.7q-5.6 1.2-6.3 5.7ZM37.7 55.7q2.1 3.1 6.5 2.1q-3.1-3.4-6.5-2.1ZM55.5 38.5q1.3-3.4-1.7-6.4q-1.3 4.5 1.7 6.4ZM53.8 21q-1.2-2.6-4.6-2.6q1.8 3.2 4.6 2.6ZM49 14.5q1.5-2.2-.8-4.8q-1 3 .8 4.8ZM42.5 10q-2.1-1.3-4.6 .1q2.9 1.6 4.6-.1Z%22 fill=%22%23A6B592%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M45.1 52.6q2.9-1.7 2.2-5.9q-3.3 2.7-2.2 5.9ZM37.1 8.1q-1.6-2.5-5.1-2.1q2.2 3.1 5.1 2.1Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M52.2 45.7q3.1 1.8 6.6-1.1q-4.2-1.6-6.6 1.1Z%22 fill=%22%233F5B42%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M56.4 30.5q3.4-.5 3.8-5.1q-3.7 1.7-3.8 5.1Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M30.5 55.6l4.3-3.9M38.5 56l4.4 1.3M45.3 51.9l1.5-4M53 45.6l4.5-.8M55.3 37.7l-1.5-4.2M56.9 30l2.8-3.3M53.2 20.7l-3.2-1.6M49 14l-.4-3.4M42 10l-3.1 .4%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3Cpath d=%22M25.9 57.4A3.2 2.6 17.2 1 0 32.1 59.4A3.2 2.6 17.2 1 0 25.9 57.4Z%22 fill=%22%233B3F2A%22 stroke=%22%2343382A%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M27.3 57.2A.8 .6 17.2 1 0 28.9 57.7A.8 .6 17.2 1 0 27.3 57.2Z%22 fill=%22%23FFFFFF%22 fill-opacity=%220.45%22/%3E%3Cpath d=%22M32.7 59A3 2.4 157.1 1 0 38.3 56.6A3 2.4 157.1 1 0 32.7 59Z%22 fill=%22%233B3F2A%22 stroke=%22%2343382A%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M34 57.3A.8 .5 157.1 1 0 35.4 56.7A.8 .5 157.1 1 0 34 57.3Z%22 fill=%22%23FFFFFF%22 fill-opacity=%220.45%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.sc-js body.sc-olive #program .sa-prog-row:not(.sc-in)>div:first-child::before{opacity:0;transform:scale(.6) rotate(-30deg)}
.sc-js body.sc-olive #program .sa-prog-row.sc-in>div:first-child::before{animation:ol-wreath .9s var(--ol-e) calc(var(--k,0) * 60ms + 220ms) backwards}
@keyframes ol-wreath{from{opacity:0;transform:scale(.6) rotate(-30deg)}}
body.sc-olive #program .sa-program-grid .sa-prog-item>div:has(svg){position:relative;isolation:isolate;overflow:visible}
body.sc-olive #program .sa-program-grid .sa-prog-item>div:has(svg)::before{content:"";position:absolute;z-index:-1;inset:-14px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 64 64%22%3E%3Cpath d=%22M41.9 54.3q-5.7 1.7-8.7 1.9q-3 .1-5.9-.4q-2.9-.6-5.7-1.9q-2.7-1.3-5-3.2q-2.3-1.9-4.1-4.3q-1.7-2.4-2.9-5.2q-1.1-2.7-1.6-5.7q-.4-3-.1-5.9q.3-3 1.3-5.8q1-2.8 2.7-5.3q1.7-2.5 3.9-4.5q2.2-2 4.9-3.4q2.6-1.4 6.2-2.5%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M34.2 56.3q-4.4 .8-5.8 6q5.7-1.5 5.8-6ZM26.3 55.7q.8-4.3-4.2-6.9q.2 5.2 4.2 6.9Z%22 fill=%22%233F5B42%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M18.9 52.6q-3.2-1.3-6.1 2q4.2 .9 6.1-2ZM11.8 45.7q2.3-2.4 .2-6.1q-2.1 3.4-.2 6.1ZM10.2 21q1.5-2.3-.1-5.1q-1.8 3.1 .1 5.1ZM15 14.5q2.5 2.3 6.2-.1q-3.5-1.8-6.2 .1ZM21.5 10q2.9-1.2 2.8-5.2q-3.4 2.1-2.8 5.2ZM26.9 8.1q2.6 1.5 5.5-.5q-3.5-1.7-5.5 .5Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M8.5 38.5q-.9-3.1-4.6-3.9q1.4 4.1 4.6 3.9ZM7.6 30.5q3.5-.8 3.7-5.6q-3.8 2-3.7 5.6Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M33.6 57.1l-3.8 4.2M25.8 54.9l-2.5-4.9M18.2 52.8l-4.2 1.4M11.9 45l.3-4.2M7.9 38.1l-3.3-2.4M8.1 29.9l2.8-3.6M10.2 20.4l-.4-3.5M15.7 14.6l4.2 .2M21.8 9.4l1.9-3.5%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3Cpath d=%22M22.1 54.3q5.7 1.7 8.7 1.9q3 .1 5.9-.4q2.9-.6 5.7-1.9q2.7-1.3 5-3.2q2.3-1.9 4.1-4.3q1.7-2.4 2.9-5.2q1.1-2.7 1.6-5.7q.4-3 .1-5.9q-.3-3-1.3-5.8q-1-2.8-2.7-5.3q-1.7-2.5-3.9-4.5q-2.2-2-4.9-3.4q-2.6-1.4-6.2-2.5%22 fill=%22none%22 stroke=%22%237A5836%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M29.8 56.3q4.6-.3 6.3-5.7q-5.6 1.2-6.3 5.7ZM37.7 55.7q2.1 3.1 6.5 2.1q-3.1-3.4-6.5-2.1ZM55.5 38.5q1.3-3.4-1.7-6.4q-1.3 4.5 1.7 6.4ZM53.8 21q-1.2-2.6-4.6-2.6q1.8 3.2 4.6 2.6ZM49 14.5q1.5-2.2-.8-4.8q-1 3 .8 4.8ZM42.5 10q-2.1-1.3-4.6 .1q2.9 1.6 4.6-.1Z%22 fill=%22%23A6B592%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M45.1 52.6q2.9-1.7 2.2-5.9q-3.3 2.7-2.2 5.9ZM37.1 8.1q-1.6-2.5-5.1-2.1q2.2 3.1 5.1 2.1Z%22 fill=%22%236E8764%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M52.2 45.7q3.1 1.8 6.6-1.1q-4.2-1.6-6.6 1.1Z%22 fill=%22%233F5B42%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M56.4 30.5q3.4-.5 3.8-5.1q-3.7 1.7-3.8 5.1Z%22 fill=%22%23D9E0C2%22 stroke=%22%232E3D2B%22 stroke-width=%22.5%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M30.5 55.6l4.3-3.9M38.5 56l4.4 1.3M45.3 51.9l1.5-4M53 45.6l4.5-.8M55.3 37.7l-1.5-4.2M56.9 30l2.8-3.3M53.2 20.7l-3.2-1.6M49 14l-.4-3.4M42 10l-3.1 .4%22 fill=%22none%22 stroke=%22%23F1F3E4%22 stroke-width=%22.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.55%22/%3E%3Cpath d=%22M25.9 57.4A3.2 2.6 17.2 1 0 32.1 59.4A3.2 2.6 17.2 1 0 25.9 57.4Z%22 fill=%22%233B3F2A%22 stroke=%22%2343382A%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M27.3 57.2A.8 .6 17.2 1 0 28.9 57.7A.8 .6 17.2 1 0 27.3 57.2Z%22 fill=%22%23FFFFFF%22 fill-opacity=%220.45%22/%3E%3Cpath d=%22M32.7 59A3 2.4 157.1 1 0 38.3 56.6A3 2.4 157.1 1 0 32.7 59Z%22 fill=%22%233B3F2A%22 stroke=%22%2343382A%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M34 57.3A.8 .5 157.1 1 0 35.4 56.7A.8 .5 157.1 1 0 34 57.3Z%22 fill=%22%23FFFFFF%22 fill-opacity=%220.45%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}

/* ---- gallery: each photo is a mounted print hung by a small linen bow ---- */
body.sc-olive #gallery .grid{row-gap:26px!important}
body.sc-olive #gallery .sa-gallery-card{position:relative;overflow:visible!important;padding:6px;border:0!important;border-radius:2px!important;background:var(--paper)!important;
  box-shadow:0 0 0 1px var(--wd-border),0 16px 26px -20px rgba(67,56,42,.55)!important}
body.sc-olive #gallery .sa-gallery-card img{display:block;border-radius:1px}
body.sc-olive #gallery .sa-gallery-card::before{content:"";position:absolute;left:50%;top:-13px;width:40px;height:27px;translate:-50% 0;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 44 30%22%3E%3Cpath d=%22M22 11C19.8 5 16 1.6 10 7.2C8.6 10 12.6 15.1 16.6 13.6C19.4 12.7 21 11.6 22 11Z%22 fill=%22%23FCF8EC%22 stroke=%22%2343382A%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M22 11C19.6 8.1 16 7.4 14.3 9.6C16 10.8 19.1 11.2 22 11Z%22 fill=%22%23DED3B8%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M18.4 4.8Q14.1 3.8 11.7 6.9%22 fill=%22none%22 stroke=%22%23FFFFFF%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.9%22/%3E%3Cpath d=%22M22 11C24.2 5 28 1.6 34 7.2C35.4 10 31.4 15.1 27.4 13.6C24.6 12.7 23 11.6 22 11Z%22 fill=%22%23FCF8EC%22 stroke=%22%2343382A%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M22 11C24.4 8.1 28 7.4 29.7 9.6C28 10.8 24.9 11.2 22 11Z%22 fill=%22%23DED3B8%22 fill-opacity=%220.55%22/%3E%3Cpath d=%22M25.6 4.8Q29.9 3.8 32.3 6.9%22 fill=%22none%22 stroke=%22%23FFFFFF%22 stroke-width=%221%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.9%22/%3E%3Cpath d=%22M19.6 11A2.4 2 0 1 0 24.4 11A2.4 2 0 1 0 19.6 11Z%22 fill=%22%23FCF8EC%22 stroke=%22%2343382A%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M20.6 10.5A.8 .6 0 1 0 22.2 10.5A.8 .6 0 1 0 20.6 10.5Z%22 fill=%22%23FFFFFF%22 fill-opacity=%220.9%22/%3E%3Cpath d=%22M20 11.3C19.9 11.4 19.5 11.7 19.2 12C18.9 12.3 18.7 12.6 18.4 12.9C18.2 13.1 18 13.4 17.8 13.8C17.6 14.1 17.4 14.4 17.2 14.7C17.1 15 16.9 15.4 16.8 15.7C16.7 16 16.6 16.4 16.5 16.7C16.4 17.1 16.4 17.4 16.4 17.8C16.3 18.1 16.3 18.5 16.3 18.9C16.3 19.2 16.3 19.6 16.4 20C16.4 20.4 16.5 20.7 16.6 21.1C16.6 21.5 16.8 21.9 16.9 22.2C17 22.6 17.2 23.2 17.3 23.4L17.9 21.4L19.5 22.6C19.5 22.5 19.3 21.9 19.2 21.6C19.2 21.3 19.1 20.9 19 20.6C19 20.3 19 20 18.9 19.7C18.9 19.5 18.9 19.2 18.9 18.9C19 18.6 19 18.4 19 18.1C19.1 17.9 19.1 17.6 19.2 17.4C19.3 17.2 19.4 16.9 19.4 16.7C19.5 16.5 19.7 16.3 19.8 16C19.9 15.8 20 15.6 20.2 15.4C20.3 15.2 20.5 15 20.7 14.8C20.9 14.6 21.1 14.4 21.3 14.2C21.5 14 21.9 13.7 22.1 13.6Z%22 fill=%22%23FCF8EC%22 stroke=%22%2343382A%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M19.6 13.8q-.6 .8-.9 1.2q-.2 .4-.4 .8q-.2 .4-.3 .8q-.1 .5-.2 .9q-.1 .5-.2 1.4%22 fill=%22none%22 stroke=%22%23DED3B8%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.5%22/%3E%3Cpath d=%22M21.9 13.6C22.1 13.7 22.5 14 22.7 14.2C22.9 14.4 23.1 14.6 23.3 14.8C23.5 15 23.7 15.2 23.8 15.4C24 15.6 24.1 15.8 24.2 16C24.3 16.3 24.5 16.5 24.6 16.7C24.6 16.9 24.7 17.2 24.8 17.4C24.9 17.6 24.9 17.9 25 18.1C25 18.4 25 18.6 25.1 18.9C25.1 19.2 25.1 19.5 25.1 19.7C25 20 25 20.3 25 20.6C24.9 20.9 24.8 21.3 24.8 21.6C24.7 21.9 24.5 22.5 24.5 22.6L26.1 21.4L26.7 23.4C26.8 23.2 27 22.6 27.1 22.2C27.2 21.9 27.4 21.5 27.4 21.1C27.5 20.7 27.6 20.4 27.6 20C27.7 19.6 27.7 19.2 27.7 18.9C27.7 18.5 27.7 18.1 27.6 17.8C27.6 17.4 27.6 17.1 27.5 16.7C27.4 16.4 27.3 16 27.2 15.7C27.1 15.4 26.9 15 26.8 14.7C26.6 14.4 26.4 14.1 26.2 13.8C26 13.4 25.8 13.1 25.6 12.9C25.3 12.6 25.1 12.3 24.8 12C24.5 11.7 24.1 11.4 24 11.3Z%22 fill=%22%23FCF8EC%22 stroke=%22%2343382A%22 stroke-width=%22.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3Cpath d=%22M24.4 13.8q.6 .8 .9 1.2q.2 .4 .4 .8q.2 .4 .3 .8q.1 .5 .2 .9q.1 .5 .2 1.4%22 fill=%22none%22 stroke=%22%23DED3B8%22 stroke-width=%22.6%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 stroke-opacity=%220.5%22/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none;z-index:1}
.sc-js body.sc-olive #gallery .grid>:not(.sc-in)::before{opacity:0}
.sc-js body.sc-olive #gallery .grid>.sc-in::before{animation:ol-fade .6s var(--ol-e) calc(var(--k,0) * 110ms + 650ms) backwards}

/* ---- dress code and gifts: the note sits on a paper card under its drawing ---- */
body.sc-olive :is(#dress_code,#gifts) .sa-text-section__body{position:relative;padding:18px 22px;background:var(--paper);border:1px solid var(--wd-border);border-radius:3px;
  box-shadow:0 16px 28px -24px rgba(67,56,42,.5)}

/* ---- rsvp: the reply card (the form keeps every field and focus ring as they are) ---- */
body.sc-olive #rsvp form{outline:1px solid var(--wd-border);outline-offset:-8px;box-shadow:0 22px 40px -32px rgba(67,56,42,.55)!important}

/* ---- closing: two olive branches hold the names as they write themselves on ---- */
body.sc-olive #sa-sections #closing>.sc-p-closing{order:2;width:min(88%,340px);padding:0;margin:calc(-1 * clamp(64px,18vw,78px)) auto 16px}
body.sc-olive #closing .sa-closing-sign{position:relative;z-index:1}
