/* Winter Window (Christmas): design motion on top of assets/scenes/scenes.css.
   Plain rules = frame 0 of the hero (= the still) and the FINAL state of section pieces (reduced motion, editor). */

/* ---- hero ---- */
/* frost ferns: their new growth is not there at frame 0; it creeps on a second after the open, slowly */
.sc-piece.sc-winter_window [data-ww=creep]{stroke-dasharray:1 1;stroke-dashoffset:1}
.sc-js .sc-piece.sc-winter_window.sc-in [data-ww=creep]{animation:sc-ww-creep var(--d,2600ms) cubic-bezier(.33,0,.2,1) var(--t,1000ms) forwards}
@keyframes sc-ww-creep{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
/* snow: spread across the stage by the runtime's seeded --r1; three sizes, the big near flakes fall faster */
.sc-piece.sc-winter_window [data-ww^=snow]{left:calc(1% + var(--r1,.5) * 96%)!important;--turn:40deg}
.sc-piece.sc-winter_window [data-ww=snow-s]{--p:calc(17s + var(--r3,.5) * 7s);--sw:calc(5px + var(--r3,.5) * 7px);opacity:.62}
.sc-piece.sc-winter_window [data-ww=snow-m]{--p:calc(13s + var(--r3,.5) * 5s);--sw:calc(8px + var(--r3,.5) * 10px);opacity:.82}
.sc-piece.sc-winter_window [data-ww=snow-l]{--p:calc(10s + var(--r3,.5) * 4s);--sw:calc(10px + var(--r3,.5) * 14px)}
/* the page's dark-tone scrim is made for photos; over this drawing (only when the design's own art is shown) the
   night sky already carries the text, so keep the scrim to the sky and leave the lit window at full warmth */
body.sc-winter_window.es-stock-hero.es-tone-dark .sa-hero .sa-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.12) 24%,rgba(0,0,0,0) 36%)}

/* ---- countdown: an advent board. Four arched doors (the hero window's shape) open, one after another, onto
   warm-lit little windows that hold the page's own numbers, when the board itself scrolls in (its own .sc-in).
   Without motion (reduced motion, editor, no script) the doors are open. ---- */
body.sc-winter_window #sa-sections #countdown{background:radial-gradient(ellipse 80% 60% at 50% 38%,rgba(255,217,160,.08),rgba(255,217,160,0) 70%)!important}
body.sc-winter_window #countdown .sc-p-countdown{width:min(44vw,172px);margin:-12px auto 4px}
body.sc-winter_window #sa-sections #countdown h2{color:var(--cz-title,#D4AF5A)!important}
body.sc-winter_window #sa-sections #countdown>div>p{color:var(--cz-text,rgba(238,244,250,.74))!important}
/* the board: an oxblood card with a gold double rule */
body.sc-winter_window #sa-sections #countdown .grid{position:relative;gap:6px;max-width:400px;padding:16px 10px 12px;border-radius:16px;
  background:radial-gradient(ellipse 90% 80% at 50% 30%,#8E2A3A,#7E2231 60%,#661A27);box-shadow:0 18px 38px rgba(6,10,22,.5),inset 0 1px 0 rgba(255,255,255,.08)}
body.sc-winter_window #sa-sections #countdown .grid::before{content:"";position:absolute;inset:5px;border:1px solid rgba(212,175,90,.75);border-radius:12px;
  box-shadow:inset 0 0 0 3px #7E2231,inset 0 0 0 4px rgba(212,175,90,.45);pointer-events:none}
body.sc-winter_window #sa-sections #countdown .grid>div{position:relative;padding:0;border:0;min-width:0}
/* each number sits in a warm-lit arched window */
body.sc-winter_window #sa-sections #countdown [id^=cd_]{position:relative;isolation:isolate;display:block;width:62px;height:80px;margin:0 auto;box-sizing:border-box;
  padding-top:14px;border:2.5px solid #F6EFE3;border-radius:31px 31px 6px 6px;background:#E8B06E;
  box-shadow:inset 0 4px 10px rgba(90,34,14,.35),0 2px 0 rgba(40,8,14,.35);
  font:600 28px/62px var(--font-display);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em;color:#1B2A44!important;text-shadow:0 1px 0 rgba(255,244,218,.6)}
body.sc-winter_window #sa-sections #countdown [id^=cd_]::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
  background:radial-gradient(ellipse 80% 70% at 50% 62%,#FFF4DA,#FBDDA6 48%,#EDB575 100%)}
body.sc-winter_window #sa-sections #countdown .grid span:last-child{margin-top:8px;font:600 9px/1.3 var(--font-body);letter-spacing:.14em;color:rgba(246,239,227,.82)!important}
html[dir=rtl] body.sc-winter_window #sa-sections #countdown .grid span:last-child{font-size:11px;letter-spacing:0}
/* the doors: a pair of pine-green leaves with a gold rule, the motif printed across both, a knob on each; each leaf
   is hinged at its outer edge and folds out toward the guest. Plain = open. */
body.sc-winter_window #sa-sections #countdown .grid>div::before,body.sc-winter_window #sa-sections #countdown .grid>div::after{content:"";position:absolute;top:0;z-index:2;
  width:31px;height:80px;box-sizing:border-box;border:2.5px solid #D4AF5A;box-shadow:inset 0 0 0 2px #1F4D3A,inset 0 0 0 3px rgba(212,175,90,.45)}
body.sc-winter_window #sa-sections #countdown .grid>div::before{left:50%;margin-left:-31px;border-right-width:1px;border-radius:31px 0 0 6px/31px 0 0 6px;
  background:radial-gradient(circle at 78% 60%,#EACB7E 0 2.3px,#A8843A 2.7px,transparent 3.2px),var(--ww-m) 9px 16px/40px 48px no-repeat,linear-gradient(95deg,#2B6448,#1F4D3A 70%,#1A4232);
  transform-origin:0 50%;transform:perspective(300px) rotateY(-100deg)}
body.sc-winter_window #sa-sections #countdown .grid>div::after{left:50%;border-left-width:1px;border-radius:0 31px 6px 0/0 31px 6px 0;
  background:radial-gradient(circle at 22% 60%,#EACB7E 0 2.3px,#A8843A 2.7px,transparent 3.2px),var(--ww-m) -21px 16px/40px 48px no-repeat,linear-gradient(265deg,#2B6448,#1F4D3A 70%,#1A4232);
  transform-origin:100% 50%;transform:perspective(300px) rotateY(100deg)}
body.sc-winter_window #countdown .grid>div:nth-child(1){--ww-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M20.0 12.0L23.2 20.6L32.4 21.0L25.1 26.7L27.6 35.5L20.0 30.4L12.4 35.5L14.9 26.7L7.6 21.0L16.8 20.6Z' fill='%23D4AF5A' stroke='%23EACB7E' stroke-width='1.2' stroke-linejoin='round'/%3E%3Cpath d='M31 11l1.2 2.8 2.8 1.2-2.8 1.2-1.2 2.8-1.2-2.8-2.8-1.2 2.8-1.2z' fill='%23EACB7E'/%3E%3C/svg%3E");--ww-k:0}
body.sc-winter_window #countdown .grid>div:nth-child(2){--ww-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M20 8v6' stroke='%23D4AF5A' stroke-width='1.6'/%3E%3Crect x='16.5' y='13' width='7' height='5' rx='1' fill='%23D4AF5A'/%3E%3Ccircle cx='20' cy='29' r='11' fill='%23D4AF5A' stroke='%23EACB7E' stroke-width='1.2'/%3E%3Cpath d='M13 26a7.5 7.5 0 0 1 6-6' stroke='%23F6EFE3' stroke-width='1.8' fill='none' stroke-linecap='round' opacity='.8'/%3E%3Cpath d='M9.5 30h21' stroke='%237E2231' stroke-width='2.2'/%3E%3C/svg%3E");--ww-k:1}
body.sc-winter_window #countdown .grid>div:nth-child(3){--ww-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Cpath d='M20 7c3 5 5 8 4.5 11.5-.5 3-2.5 4.5-4.5 4.5s-4-1.5-4.5-4.5c-.5-3.5 1.5-6.5 4.5-11.5z' fill='%23EACB7E'/%3E%3Crect x='15.5' y='24' width='9' height='16' rx='1.5' fill='%23F6EFE3'/%3E%3Cpath d='M11 41h18' stroke='%23D4AF5A' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");--ww-k:2}
body.sc-winter_window #countdown .grid>div:nth-child(4){--ww-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 48'%3E%3Crect x='9' y='21' width='22' height='19' rx='1.5' fill='%23D4AF5A'/%3E%3Crect x='7.5' y='17' width='25' height='6' rx='1.5' fill='%23EACB7E'/%3E%3Cpath d='M20 17v23' stroke='%237E2231' stroke-width='3'/%3E%3Cpath d='M20 17c-5-6-11-4-8 0zM20 17c5-6 11-4 8 0z' fill='%237E2231' stroke='%237E2231' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E");--ww-k:3}
/* closed until the board is in view; then each pair swings open (slow, calm) and the light inside comes up */
/* (2,4,3): must outrank the plain open state above (2,2,3), or the doors show open until the entrance starts */
.sc-js body.sc-winter_window #sa-sections #countdown .grid:not(.sc-in)>div::before,.sc-js body.sc-winter_window #sa-sections #countdown .grid:not(.sc-in)>div::after{transform:perspective(300px) rotateY(0)}
.sc-js body.sc-winter_window #countdown .grid:not(.sc-in) [id^=cd_]::before{opacity:.3}
.sc-js body.sc-winter_window #countdown .grid.sc-in>div::before{animation:sc-ww-door-l 1300ms cubic-bezier(.45,.05,.2,1) calc(var(--ww-k) * 320ms + 450ms) both}
.sc-js body.sc-winter_window #countdown .grid.sc-in>div::after{animation:sc-ww-door-r 1300ms cubic-bezier(.45,.05,.2,1) calc(var(--ww-k) * 320ms + 530ms) both}
.sc-js body.sc-winter_window #countdown .grid.sc-in [id^=cd_]::before{animation:sc-ww-light 1100ms cubic-bezier(.23,1,.32,1) calc(var(--ww-k) * 320ms + 770ms) both}
@keyframes sc-ww-door-l{from{transform:perspective(300px) rotateY(0)}to{transform:perspective(300px) rotateY(-100deg)}}
@keyframes sc-ww-door-r{from{transform:perspective(300px) rotateY(0)}to{transform:perspective(300px) rotateY(100deg)}}
@keyframes sc-ww-light{from{opacity:.3}to{opacity:1}}

/* ================================= FULL BUILD: one snowy night under the whole page ================================= */
body.sc-winter_window{--ww-ease:cubic-bezier(.23,1,.32,1);--ww-io:cubic-bezier(.65,0,.35,1)}
body.sc-winter_window main{background-color:var(--cz-page-bg,#1B2A44)!important;background-image:radial-gradient(circle,rgba(238,244,250,.28) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(238,244,250,.15) 0 1px,transparent 1.6px)!important;
  background-size:38px 38px,38px 38px!important;background-position:0 0,19px 19px!important}
body.sc-winter_window :is(.es-welcome,#sa-sections,#sa-sections>[data-sa-section],#sa-sections section:not(#countdown)){background:transparent!important}
/* the drawing's own entrances replace Event Studio's generic reveal (it would double them) */
body.sc-winter_window .es-reveal{opacity:1!important;translate:none!important;transition:none!important}
@keyframes sc-ww-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes sc-ww-in{from{opacity:0}to{opacity:1}}
.sc-js body.sc-winter_window main section[id]:not(.sc-in) :is(h2,h2+p){opacity:0}
.sc-js body.sc-winter_window main section[id].sc-in h2{animation:sc-ww-rise 900ms var(--ww-ease) both}
.sc-js body.sc-winter_window main section[id].sc-in h2+p{animation:sc-ww-rise 900ms var(--ww-ease) 140ms both}
body.sc-winter_window #sa-sections h2{color:var(--cz-text,#D4AF5A)!important}
body.sc-winter_window :is(.sa-map-rows,.sa-map-actions,form,.grid)>:nth-child(2),body.sc-winter_window .sa-prog-row:nth-child(2){--k:1}
body.sc-winter_window :is(.sa-map-rows,.sa-map-actions,form,.grid)>:nth-child(3),body.sc-winter_window .sa-prog-row:nth-child(3){--k:2}
body.sc-winter_window :is(.sa-map-rows,.sa-map-actions,form,.grid)>:nth-child(4),body.sc-winter_window .sa-prog-row:nth-child(4){--k:3}
body.sc-winter_window :is(.sa-map-rows,.sa-map-actions,form,.grid)>:nth-child(n+5),body.sc-winter_window .sa-prog-row:nth-child(n+5){--k:4}
body.sc-winter_window #sa-sections .sc-piece.sc-winter_window:not(.sc-p-countdown){width:min(88vw,320px);margin:-14px auto 16px}
body.sc-winter_window #closing>.sc-piece.sc-winter_window{order:0;width:min(84vw,320px);margin:0 auto 20px}
.sc-js .sc-piece.sc-winter_window:not(.sc-run) [data-ww]{animation-play-state:paused}

/* ---- welcome: the letter is a gift tag (gold edge, cut corners); its twine, bow and sprig are the piece ---- */
body.sc-winter_window .es-welcome{padding-top:max(96px,15vw)!important}
body.sc-winter_window .es-welcome-inner{padding:62px 26px 30px;isolation:isolate}
body.sc-winter_window .es-welcome-inner::before,body.sc-winter_window .es-welcome-inner::after{content:"";position:absolute;inset:0;z-index:-1;clip-path:polygon(40px 0,calc(100% - 40px) 0,100% 40px,100% 100%,0 100%,0 40px)}
body.sc-winter_window .es-welcome-inner::before{background:var(--cz-divider,#D4AF5A)}
body.sc-winter_window .es-welcome-inner::after{inset:3px;background:var(--cz-section-bg,linear-gradient(#FBF4E8,#F6EFE3));clip-path:polygon(38.8px 0,calc(100% - 38.8px) 0,100% 38.8px,100% 100%,0 100%,0 38.8px)}
body.sc-winter_window .es-welcome .sa-hero-guest{color:var(--cz-title,#7E2231)!important}
body.sc-winter_window .es-welcome .sa-hero-guest strong{color:var(--cz-title,#7E2231)!important}
body.sc-winter_window .es-welcome .sa-text-root,body.sc-winter_window .es-welcome .sa-text-root *{color:var(--cz-text,#1B2A44)!important}
.sc-piece.sc-winter_window.sc-p-welcome{position:absolute;left:50%;top:-78px;width:200px;margin-left:-100px;z-index:2}
.sc-js body.sc-winter_window section.es-welcome:not(.sc-in) .es-welcome-inner{opacity:0}
.sc-js body.sc-winter_window section.es-welcome.sc-in .es-welcome-inner{transform-origin:50% 0;animation:sc-ww-tag 1500ms linear both}
@keyframes sc-ww-tag{
  0%{opacity:0;transform:translateY(-14px) rotate(-3deg);animation-timing-function:cubic-bezier(.23,1,.32,1)}
  30%{opacity:1;transform:rotate(1.6deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  58%{transform:rotate(-.7deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  80%{transform:rotate(.25deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  100%{opacity:1;transform:none}}

/* ---- details: the village lane lights up; the rows' icons are little lit windows with snow on top ---- */
.sc-piece.sc-winter_window.sc-p-details>.sc-stage{overflow:hidden}
body.sc-winter_window #details .sa-map-rows .rounded-full{position:relative;overflow:visible;background:radial-gradient(circle at 50% 62%,#FFF4DA,#FFD9A0 72%)!important;border:2px solid #F6EFE3!important;color:#1B2A44!important;box-shadow:0 0 16px rgba(255,217,160,.35)!important}
body.sc-winter_window #details .sa-map-rows .rounded-full::after{content:"";position:absolute;left:-5px;right:-5px;top:-7px;height:9px;border-radius:10px 10px 3px 3px;background:#F4F7FB;box-shadow:inset 0 -2px 0 #C9D5E6}
.sc-js body.sc-winter_window #details .sa-map-rows>:not(.sc-in){opacity:0}
.sc-js body.sc-winter_window #details .sa-map-rows>.sc-in{animation:sc-ww-rise 900ms var(--ww-ease) calc(var(--k,0) * 110ms) both}
body.sc-winter_window #details .sa-map-actions a{border:1px solid var(--cz-divider,rgba(212,175,90,.75))!important;border-radius:999px!important;color:var(--cz-text,#F6EFE3)!important;background:rgba(246,239,227,.05)!important}
.sc-js body.sc-winter_window #details .sa-map-actions:not(.sc-in)>*{opacity:0}
.sc-js body.sc-winter_window #details .sa-map-actions.sc-in>*{animation:sc-ww-rise 800ms var(--ww-ease) calc(150ms + var(--k,0) * 110ms) both}
body.sc-winter_window #details .sa-map-embed{position:relative;border:0!important}
body.sc-winter_window #details .sa-map-embed .sa-gallery-card{border:6px solid var(--cz-section-bg,#F6EFE3)!important;border-radius:150px 150px 6px 6px/120px 120px 6px 6px!important;box-shadow:0 16px 34px rgba(6,10,22,.5)!important}
body.sc-winter_window #details .sa-map-embed::after{content:"";position:absolute;left:-12px;right:-12px;bottom:-8px;height:14px;border-radius:8px;background:#F4F7FB;box-shadow:inset 0 -3px 0 #C9D5E6,0 6px 14px rgba(6,10,22,.35);pointer-events:none}
body.sc-winter_window #details .sa-venue-photo{border:6px solid var(--cz-section-bg,#F6EFE3)!important;border-radius:4px!important;background:var(--cz-section-bg,#F6EFE3)!important}
.sc-js body.sc-winter_window #details .sa-venue-photo:not(.sc-in){opacity:0}
.sc-js body.sc-winter_window #details .sa-venue-photo.sc-in{animation:sc-ww-in 1100ms var(--ww-ease) 100ms both}
.sc-piece.sc-winter_window [data-ww=flake]{left:calc(2% + var(--r1,.5) * 94%)!important;--p:calc(9s + var(--r3,.5) * 5s);--sw:calc(3px + var(--r3,.5) * 4px);--turn:0deg}
.sc-piece.sc-winter_window [data-ww=smoke]{opacity:.45}
.sc-js .sc-piece.sc-winter_window:not(.sc-in) [data-ww=smoke]{opacity:0}
.sc-js .sc-piece.sc-winter_window.sc-in [data-ww=smoke]{animation:sc-ww-smoke 6s cubic-bezier(.3,.6,.5,1) var(--t,0ms) infinite both}
@keyframes sc-ww-smoke{0%{opacity:0;transform:translateY(4px) scale(.9)}25%{opacity:.55}100%{opacity:0;transform:translateY(-12px) scale(1.12)}}

/* ---- program: the time line is a pine garland; each station is a bauble that swings to rest as it scrolls in ---- */
body.sc-winter_window #program .sa-prog-line-v{width:14px!important;margin-inline-start:-6.5px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 18'%3E%3Cpath d='M7 0V18' stroke='%23173B2D' stroke-width='2'/%3E%3Cpath d='M7 2L1.5 6M7 5L12.5 9M7 10L1.5 14M7 13L12.5 17' stroke='%232F6B4F' stroke-width='2.2' stroke-linecap='round'/%3E%3Cpath d='M7 4L2.5 1.5M7 11L11.5 8.5' stroke='%233E7F5E' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") repeat-y 50% 0/14px 18px!important}
.sc-js body.sc-winter_window #program:not(.sc-in) .sa-prog-line-v{clip-path:inset(0 0 100% 0)}
.sc-js body.sc-winter_window #program.sc-in .sa-prog-line-v{animation:sc-ww-unveil 2.2s var(--ww-io) 300ms both}
@keyframes sc-ww-unveil{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
body.sc-winter_window #program .sa-prog-row>div:first-child{position:relative;overflow:visible;border:1.5px solid #1B2A44!important;border-radius:50%!important;background:radial-gradient(circle at 34% 30%,#C24E61,#7E2231 58%,#5E1823)!important;color:#FBF1DF!important;box-shadow:0 6px 12px rgba(6,10,22,.4)!important}
body.sc-winter_window #program .sa-prog-row:nth-child(3n+2)>div:first-child{background:radial-gradient(circle at 34% 30%,#F4DD9B,#D4AF5A 58%,#A8843A)!important;color:#1B2A44!important}
body.sc-winter_window #program .sa-prog-row:nth-child(3n+3)>div:first-child{background:radial-gradient(circle at 34% 30%,#4E9270,#1F4D3A 58%,#173B2D)!important}
body.sc-winter_window #program .sa-prog-row>div:first-child::before{content:"";position:absolute;left:50%;top:-7px;width:12px;height:8px;margin-left:-6px;border:1px solid #1B2A44;border-radius:2px;background:linear-gradient(90deg,#A8843A,#EACB7E,#A8843A)}
body.sc-winter_window #program .sa-prog-row>div:first-child::after{content:"";position:absolute;left:24%;top:18%;width:22%;height:14%;border-radius:50%;background:rgba(255,255,255,.55);transform:rotate(-35deg)}
body.sc-winter_window #program .sa-prog-time{padding:1px 8px!important;border:1px solid var(--cz-title,rgba(212,175,90,.7));border-radius:999px!important;background:transparent!important;color:var(--cz-title,#EACB7E)!important;font-variant-numeric:tabular-nums}
.sc-js body.sc-winter_window #program .sa-prog-row:not(.sc-in){opacity:0}
.sc-js body.sc-winter_window #program .sa-prog-row.sc-in{animation:sc-ww-in 700ms var(--ww-ease) calc(var(--k,0) * 80ms) both}
.sc-js body.sc-winter_window #program .sa-prog-row.sc-in>div:first-child{transform-origin:50% -7px;animation:sc-ww-bauble 2200ms linear calc(var(--k,0) * 80ms) both}
@keyframes sc-ww-bauble{
  0%{transform:translateY(-10px) rotate(16deg);animation-timing-function:cubic-bezier(.33,.66,.66,1)}
  22%{transform:rotate(-9deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  46%{transform:rotate(5deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  70%{transform:rotate(-2deg);animation-timing-function:cubic-bezier(.45,0,.55,1)}
  100%{transform:none}}

/* ---- gallery: each photo is a frosted pane; the frost clears to the corners as it scrolls in ---- */
body.sc-winter_window #gallery .grid{gap:20px}
body.sc-winter_window #gallery .sa-gallery-card{position:relative;border:6px solid var(--cz-section-bg,#F6EFE3)!important;border-radius:4px!important;box-shadow:inset 0 0 0 1px rgba(27,42,68,.4),0 14px 30px rgba(6,10,22,.5)!important}
body.sc-winter_window #gallery .sa-gallery-card::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpath d='M1.0 99.0L3.4 96.1M3.4 96.1l8.1 0.1M3.4 96.1L5.9 93.3M5.9 93.3l-1.0 -7.1M5.9 93.3L8.4 90.5M8.4 90.5l6.2 0.3M8.4 90.5L11.0 87.8M11.0 87.8l-0.4 -5.1M11.0 87.8L13.7 85.2M13.7 85.2l4.1 0.5M13.7 85.2L16.5 82.8M16.5 82.8l0.0 -3.0M16.5 82.8L19.5 80.5M19.5 80.5l1.7 0.4M19.5 80.5L22.6 78.4M1.0 99.0L3.5 97.9M3.5 97.9l5.4 2.5M3.5 97.9L6.0 96.7M6.0 96.7l1.3 -5.1M6.0 96.7L8.5 95.5M8.5 95.5l4.2 1.8M8.5 95.5L10.9 94.2M10.9 94.2l0.7 -3.7M10.9 94.2L13.3 92.8M13.3 92.8l2.9 0.9M13.3 92.8L15.5 91.3M15.5 91.3l0.2 -2.2M15.5 91.3L17.8 89.6M17.8 89.6L19.8 87.8M1.0 99.0L1.7 96.7M1.7 96.7l4.7 -2.0M1.7 96.7L2.4 94.5M2.4 94.5l-2.4 -3.8M2.4 94.5L3.1 92.2M3.1 92.2l3.7 -1.3M3.1 92.2L4.0 90.0M4.0 90.0l-1.5 -2.9M4.0 90.0L5.0 87.8M5.0 87.8l2.5 -0.6M5.0 87.8L6.1 85.7M6.1 85.7l-0.6 -1.8M6.1 85.7L7.3 83.7M7.3 83.7L8.8 81.8M1.0 99.0L2.7 98.9M2.7 98.9l2.5 2.8M2.7 98.9L4.5 98.8M4.5 98.8l2.0 -2.7M4.5 98.8L6.2 98.7M6.2 98.7l2.0 2.1M6.2 98.7L8.0 98.6M8.0 98.6l1.4 -2.0M8.0 98.6L9.7 98.4M9.7 98.4l1.4 1.3M9.7 98.4L11.5 98.1M11.5 98.1L13.2 97.8M13.2 97.8L14.9 97.4M99.0 99.0L96.6 96.1M96.6 96.1l1.4 -8.0M96.6 96.1L94.2 93.2M94.2 93.2l-7.1 -0.0M94.2 93.2L91.8 90.4M91.8 90.4l1.1 -6.1M91.8 90.4L89.4 87.4M89.4 87.4l-5.2 -0.1M89.4 87.4L87.1 84.5M87.1 84.5l0.8 -4.0M87.1 84.5L84.8 81.6M84.8 81.6l-3.0 -0.1M84.8 81.6L82.5 78.6M82.5 78.6l0.4 -1.7M82.5 78.6L80.2 75.6M99.0 99.0L98.3 96.3M98.3 96.3l3.5 -4.8M98.3 96.3L97.7 93.7M97.7 93.7l-4.7 -2.3M97.7 93.7L97.0 91.0M97.0 91.0l2.6 -3.7M97.0 91.0L96.3 88.3M96.3 88.3l-3.4 -1.6M96.3 88.3L95.6 85.7M95.6 85.7l1.7 -2.5M95.6 85.7L94.9 83.0M94.9 83.0l-2.0 -0.9M94.9 83.0L94.1 80.4M94.1 80.4L93.4 77.7M99.0 99.0L96.9 98.0M96.9 98.0l-1.2 -5.0M96.9 98.0L94.7 96.9M94.7 96.9l-4.1 1.9M94.7 96.9L92.6 95.9M92.6 95.9l-1.0 -3.8M92.6 95.9L90.5 94.9M90.5 94.9l-3.0 1.4M90.5 94.9L88.3 93.8M88.3 93.8l-0.7 -2.5M88.3 93.8L86.2 92.8M86.2 92.8l-1.7 0.8M86.2 92.8L84.0 91.8M84.0 91.8L81.9 90.8M99.0 99.0L99.2 97.3M99.2 97.3l3.2 -2.0M99.2 97.3L99.5 95.5M99.5 95.5l-2.3 -2.4M99.5 95.5L99.7 93.8M99.7 93.8l2.4 -1.6M99.7 93.8L99.8 92.0M99.8 92.0l-1.7 -1.7M99.8 92.0L99.9 90.3M99.9 90.3l1.5 -1.2M99.9 90.3L100.0 88.6M100.0 88.6L100.0 86.8M100.0 86.8L99.9 85.1M1.0 1.0L3.9 3.4M3.9 3.4l-0.1 8.1M3.9 3.4L6.7 5.9M6.7 5.9l7.1 -1.0M6.7 5.9L9.4 8.4M9.4 8.4l-0.4 6.2M9.4 8.4L12.1 11.1M12.1 11.1l5.2 -0.4M12.1 11.1L14.7 13.8M14.7 13.8l-0.6 4.1M14.7 13.8L17.0 16.7M17.0 16.7l3.0 0.1M17.0 16.7L19.2 19.8M19.2 19.8l-0.5 1.6M19.2 19.8L21.2 23.0M1.0 1.0L2.1 3.5M2.1 3.5l-2.5 5.4M2.1 3.5L3.3 6.0M3.3 6.0l5.1 1.3M3.3 6.0L4.5 8.5M4.5 8.5l-1.8 4.2M4.5 8.5L5.8 10.9M5.8 10.9l3.7 0.7M5.8 10.9L7.2 13.3M7.2 13.3l-1.0 2.9M7.2 13.3L8.6 15.6M8.6 15.6l2.2 0.2M8.6 15.6L10.3 17.8M10.3 17.8L12.0 20.0M1.0 1.0L3.3 1.7M3.3 1.7l2.0 4.7M3.3 1.7L5.5 2.4M5.5 2.4l3.8 -2.4M5.5 2.4L7.8 3.1M7.8 3.1l1.3 3.7M7.8 3.1L10.0 4.0M10.0 4.0l2.9 -1.5M10.0 4.0L12.2 5.0M12.2 5.0l0.6 2.5M12.2 5.0L14.3 6.1M14.3 6.1l1.8 -0.6M14.3 6.1L16.3 7.3M16.3 7.3L18.2 8.8M1.0 1.0L1.1 2.7M1.1 2.7l-2.8 2.5M1.1 2.7L1.1 4.5M1.1 4.5l2.6 2.1M1.1 4.5L1.1 6.2M1.1 6.2l-2.3 1.8M1.1 6.2L1.0 8.0M1.0 8.0l1.7 1.7M1.0 8.0L0.8 9.7M0.8 9.7l-1.6 1.0M0.8 9.7L0.5 11.5M0.5 11.5L0.1 13.2M0.1 13.2L-0.4 14.8M99.0 1.0L96.1 3.4M96.1 3.4l-8.0 -1.4M96.1 3.4L93.2 5.8M93.2 5.8l-0.0 7.1M93.2 5.8L90.4 8.2M90.4 8.2l-6.1 -1.1M90.4 8.2L87.5 10.6M87.5 10.6l-0.1 5.2M87.5 10.6L84.6 13.0M84.6 13.0l-4.0 -0.8M84.6 13.0L81.7 15.3M81.7 15.3l-0.1 3.0M81.7 15.3L78.7 17.7M78.7 17.7l-1.7 -0.3M78.7 17.7L75.8 20.0M99.0 1.0L96.3 1.7M96.3 1.7l-4.9 -3.4M96.3 1.7L93.7 2.4M93.7 2.4l-2.1 4.8M93.7 2.4L91.1 3.2M91.1 3.2l-3.9 -2.4M91.1 3.2L88.5 4.1M88.5 4.1l-1.2 3.6M88.5 4.1L85.9 5.2M85.9 5.2l-2.7 -1.3M85.9 5.2L83.5 6.4M83.5 6.4l-0.4 2.1M83.5 6.4L81.1 7.9M81.1 7.9L78.9 9.5M99.0 1.0L98.0 3.1M98.0 3.1l-5.0 1.3M98.0 3.1L97.0 5.3M97.0 5.3l2.0 4.1M97.0 5.3L96.0 7.5M96.0 7.5l-3.7 1.2M96.0 7.5L95.2 9.7M95.2 9.7l1.6 2.8M95.2 9.7L94.4 11.9M94.4 11.9l-2.4 1.0M94.4 11.9L93.8 14.2M93.8 14.2l1.1 1.5M93.8 14.2L93.3 16.6M93.3 16.6L93.1 18.9M99.0 1.0L97.3 0.8M97.3 0.8l-2.0 -3.2M97.3 0.8L95.5 0.5M95.5 0.5l-2.5 2.2M95.5 0.5L93.8 0.2M93.8 0.2l-1.5 -2.5M93.8 0.2L92.1 -0.0M92.1 -0.0l-1.8 1.6M92.1 -0.0L90.3 -0.3M90.3 -0.3l-1.0 -1.7M90.3 -0.3L88.6 -0.6M88.6 -0.6L86.9 -0.9M86.9 -0.9L85.2 -1.3' fill='none' stroke='%23EEF4FA' stroke-opacity='.85' stroke-width='.8' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
body.sc-winter_window #gallery .sa-gallery-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(238,244,250,.62),rgba(238,244,250,.9))}
.sc-js body.sc-winter_window #gallery .grid>:not(.sc-in){opacity:0}
.sc-js body.sc-winter_window #gallery .grid>.sc-in{animation:sc-ww-in 700ms var(--ww-ease) calc(var(--k,0) * 120ms) both}
.sc-js body.sc-winter_window #gallery .grid>.sc-in::before{animation:sc-ww-defrost 2400ms cubic-bezier(.4,0,.2,1) calc(var(--k,0) * 120ms + 300ms) both}
@keyframes sc-ww-defrost{from{opacity:1}to{opacity:0}}

/* ---- dress code: a knitted patch (a stitched edge); gifts: a gift tag ---- */
body.sc-winter_window #dress_code .sa-text-section__body{position:relative;max-width:30rem;padding:16px 22px;border:2px dashed var(--cz-divider,rgba(246,239,227,.6));border-radius:16px;background:var(--cz-section-bg,rgba(126,34,49,.34));box-shadow:0 0 0 6px var(--cz-section-bg,rgba(126,34,49,.34));color:var(--cz-text,#FBF1DF)!important}
body.sc-winter_window #gifts .sa-text-section__body{position:relative;max-width:26rem;padding:34px 26px 22px;color:var(--cz-text,#1B2A44)!important;
  background:radial-gradient(circle at 50% 15px,var(--cz-page-bg,#1B2A44) 0 5px,#D4AF5A 5.5px 8px,transparent 8.5px),var(--cz-section-bg,linear-gradient(#FBF4E8,#F6EFE3));
  clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%,0 24px)}
.sc-js body.sc-winter_window :is(#dress_code,#gifts,#closing) .sa-text-section__body:not(.sc-in){opacity:0}
.sc-js body.sc-winter_window :is(#dress_code,#gifts,#closing) .sa-text-section__body.sc-in{animation:sc-ww-rise 900ms var(--ww-ease) 150ms both}

/* ---- rsvp: a cream card with a gold rule, sealed by the piece above; a sent "yes" bursts gold stars ---- */
body.sc-winter_window #rsvp form{overflow:visible!important;border:0!important;border-radius:18px!important;box-shadow:inset 0 0 0 6px var(--cz-section-bg,#FBF1DF),inset 0 0 0 7.5px var(--cz-divider,rgba(212,175,90,.85)),0 20px 44px rgba(6,10,22,.5)!important}
body.sc-winter_window #rsvp form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){background:#FFFFFF!important;border-color:rgba(27,42,68,.28)!important;border-radius:8px!important;color:#1B2A44!important}
body.sc-winter_window #rsvp form :is(input,textarea,select,button):focus-visible,body.sc-winter_window #rsvp form :is(input,textarea,select):focus{outline:2px solid #7E2231!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(212,175,90,.5)!important}
body.sc-winter_window #rsvp form :is(input[type=radio],input[type=checkbox]){accent-color:#7E2231}
body.sc-winter_window #rsvp button[type=submit]{position:relative;overflow:visible!important;border:0!important;border-radius:999px!important;background:var(--cz-btn-bg,#7E2231)!important;color:var(--cz-btn-text,#FBF1DF)!important}
.sc-js body.sc-winter_window #rsvp form>:not(.sc-in):not([type=hidden]){opacity:0}
.sc-js body.sc-winter_window #rsvp form>.sc-in{animation:sc-ww-rise 800ms var(--ww-ease) calc(var(--k,0) * 50ms) both}
body.sc-winter_window #rsvp button[type=submit]::after{content:"";position:absolute;left:50%;top:50%;z-index:4;width:220px;height:132px;margin:-66px 0 0 -110px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 120'%3E%3Cpath d='M186.0 55.0Q187.5 58.5 191.0 60.0Q187.5 61.5 186.0 65.0Q184.5 61.5 181.0 60.0Q184.5 58.5 186.0 55.0Z' fill='%23D4AF5A'/%3E%3Cpath d='M174.5 78.0Q176.6 82.9 181.5 85.0Q176.6 87.1 174.5 92.0Q172.4 87.1 167.5 85.0Q172.4 82.9 174.5 78.0Z' fill='%23EACB7E'/%3E%3Cpath d='M143.0 98.3Q144.5 101.8 148.0 103.3Q144.5 104.8 143.0 108.3Q141.5 104.8 138.0 103.3Q141.5 101.8 143.0 98.3Z' fill='%23D4AF5A'/%3E%3Cpath d='M100.0 103.0Q102.1 107.9 107.0 110.0Q102.1 112.1 100.0 117.0Q97.9 112.1 93.0 110.0Q97.9 107.9 100.0 103.0Z' fill='%23EACB7E'/%3E%3Cpath d='M57.0 98.3Q58.5 101.8 62.0 103.3Q58.5 104.8 57.0 108.3Q55.5 104.8 52.0 103.3Q55.5 101.8 57.0 98.3Z' fill='%23D4AF5A'/%3E%3Cpath d='M25.5 78.0Q27.6 82.9 32.5 85.0Q27.6 87.1 25.5 92.0Q23.4 87.1 18.5 85.0Q23.4 82.9 25.5 78.0Z' fill='%23EACB7E'/%3E%3Cpath d='M14.0 55.0Q15.5 58.5 19.0 60.0Q15.5 61.5 14.0 65.0Q12.5 61.5 9.0 60.0Q12.5 58.5 14.0 55.0Z' fill='%23D4AF5A'/%3E%3Cpath d='M25.5 28.0Q27.6 32.9 32.5 35.0Q27.6 37.1 25.5 42.0Q23.4 37.1 18.5 35.0Q23.4 32.9 25.5 28.0Z' fill='%23EACB7E'/%3E%3Cpath d='M57.0 11.7Q58.5 15.2 62.0 16.7Q58.5 18.2 57.0 21.7Q55.5 18.2 52.0 16.7Q55.5 15.2 57.0 11.7Z' fill='%23D4AF5A'/%3E%3Cpath d='M100.0 3.0Q102.1 7.9 107.0 10.0Q102.1 12.1 100.0 17.0Q97.9 12.1 93.0 10.0Q97.9 7.9 100.0 3.0Z' fill='%23EACB7E'/%3E%3Cpath d='M143.0 11.7Q144.5 15.2 148.0 16.7Q144.5 18.2 143.0 21.7Q141.5 18.2 138.0 16.7Q141.5 15.2 143.0 11.7Z' fill='%23D4AF5A'/%3E%3Cpath d='M174.5 28.0Q176.6 32.9 181.5 35.0Q176.6 37.1 174.5 42.0Q172.4 37.1 167.5 35.0Q172.4 32.9 174.5 28.0Z' fill='%23EACB7E'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0}
.sc-js body.sc-winter_window #rsvp.ww-yes button[type=submit]::after{animation:sc-ww-burst 1400ms cubic-bezier(.25,.6,.35,1) both}
@keyframes sc-ww-burst{0%{opacity:0;transform:scale(.35) rotate(-10deg)}18%{opacity:1}62%{opacity:.95}100%{opacity:0;transform:scale(1.22) rotate(8deg)}}
.sc-piece.sc-winter_window [data-ww=burst]{opacity:0}
.sc-js #rsvp.ww-yes .sc-piece.sc-winter_window [data-ww=burst]{animation:sc-ww-burst 1100ms cubic-bezier(.2,.7,.3,1) both}

/* ---- closing: through the window, snow falls slowly past the lit sill ---- */
body.sc-winter_window #closing .sa-text-section__body{max-width:28rem;color:var(--cz-text,rgba(246,239,227,.9))!important}
.sc-piece.sc-winter_window [data-ww=pane]{overflow:hidden;border-radius:50% 50% 0 0/43% 43% 0 0}
.sc-piece.sc-winter_window [data-ww^=slow]{left:calc(3% + var(--r1,.5) * 90%)!important;--p:calc(15s + var(--r3,.5) * 9s);--sw:calc(3px + var(--r3,.5) * 5px);--turn:0deg}
