@charset "UTF-8";

:root {
  --paper: #f5f1e8;
  --paper-deep: #eae5d9;
  --ink: #243b32;
  --muted: #646b5e;
  --gold: #937444;
  --line: #d3cebf;
  --serif: 'Cormorant Garamond', 'Iowan Old Style', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --gutter: clamp(1.5rem, 5.6vw, 7rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--serif); -webkit-font-smoothing: antialiased; }
body::after { content: ''; position: fixed; inset: 0; z-index: 10; pointer-events: none; opacity: .035; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E"); }
::selection { background: #d6c49f; color: #243b32; }
a { color: inherit; text-decoration: none; }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
img { display: block; max-width: 100%; }
svg { display: block; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { font-weight: 400; }
em { font-weight: 400; }
strong { font-weight: 500; }
.svg-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.skip { position: fixed; top: -6rem; left: 1rem; padding: 1rem; background: var(--ink); color: white; z-index: 50; font-family: var(--sans); }
.skip:focus { top: 1rem; }
.reading-progress { position: fixed; top: 0; left: 0; z-index: 40; width: 100%; height: 2px; background: var(--gold); transform: scaleX(var(--read, 0)); transform-origin: left; }
.eyebrow, .section-index, .masthead, .cover-foot, .art-note, .line-link, .calendar-link, .reception-top, .reception-bottom, .footer-bottom { font-family: var(--sans); font-size: .62rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; line-height: 1.8; }
.eyebrow { color: var(--muted); }
.masthead { position: relative; z-index: 20; min-height: 6.5rem; padding: 1.3rem var(--gutter); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); gap: 2rem; }
.monogram { font-family: var(--serif); font-size: 2.4rem; font-style: italic; line-height: 1; letter-spacing: -.1em; text-transform: lowercase; }
.monogram span { font-size: .65em; color: var(--gold); margin: 0 .15em; }
.masthead nav { display: flex; gap: clamp(1.3rem, 3vw, 3.2rem); }
.masthead nav a { position: relative; padding: .55rem 0; }
.masthead nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.masthead nav a:hover::after, .masthead nav a[aria-current]::after { transform: scaleX(1); }
.masthead-date { color: var(--muted); }

/* An airy opening spread, with the garden held inside a quiet arch. */
.cover { position: relative; min-height: calc(100svh - 6.5rem); display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; padding: 3.5rem var(--gutter) 6.5rem; gap: 2vw; }
.cover-copy { position: relative; z-index: 2; padding: 2rem 0; }
.cover-copy > .eyebrow { margin-bottom: clamp(2.5rem, 6vh, 5rem); }
.cover h1 { font-size: clamp(3.5rem, 5.9vw, 7.7rem); letter-spacing: -.052em; line-height: 1.08; }
.name-line { display: block; overflow: hidden; padding-bottom: .12em; }
.name-line > span { display: block; }
.name-line em { display: inline-block; color: var(--gold); font-size: .62em; margin: 0 .08em; vertical-align: .06em; }
.joining { display: block; margin: 1.05rem 0 1.55rem .3rem; font-size: clamp(1.05rem, 1.7vw, 1.65rem); font-style: italic; letter-spacing: .015em; color: var(--muted); }
.cover-bottom { display: flex; align-items: center; gap: 3rem; margin-top: clamp(2.5rem, 6vh, 5rem); }
.cover-bottom p { font-size: 1.22rem; line-height: 1.45; color: var(--muted); }
.scroll-cue { display: grid; place-items: center; width: 3.5rem; height: 4.6rem; }
.scroll-cue svg { width: 2.6rem; height: 3.5rem; stroke: var(--gold); stroke-width: 1; overflow: visible; animation: arrow-drift 3.5s ease-in-out infinite; }
.arrow-tail { stroke-dasharray: 46; animation: arrow-draw 3.5s ease-in-out infinite; }
.cover-art { position: relative; width: 100%; max-width: 34rem; justify-self: end; padding: 1rem 1rem 0; }
.garden-window { position: relative; aspect-ratio: .74; max-height: 69svh; min-height: 25rem; border-radius: 50% 50% 2px 2px / 37% 37% 2px 2px; overflow: hidden; background: #203d33; isolation: isolate; animation: window-open 1.8s var(--ease) both; }
.garden-window > img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.08) translateY(var(--garden-drift, 0px)); }
.garden-veil { position: absolute; inset: 0; background: linear-gradient(180deg, #0c211811 15%, #0c211822 45%, #0c2118ba); }
.arch-outline { position: absolute; inset: 0 0 2.5rem; border: 1px solid #b1a17d; border-radius: 50% 50% 0 0 / 37% 37% 0 0; opacity: .65; animation: arch-appear 2s var(--ease) both; }
.window-caption { position: absolute; left: 0; right: 0; bottom: 8%; text-align: center; color: #f3e7cb; }
.window-caption > span { display: block; font-family: var(--sans); font-size: .55rem; letter-spacing: .3em; text-transform: uppercase; }
.window-caption em { display: block; margin: .4rem 0 1.4rem; font-size: clamp(1.8rem, 3.5vw, 3.3rem); }
.window-caption svg { width: .8rem; height: .8rem; margin: auto; fill: #dec99a; }
.art-note { position: relative; margin: 1.4rem 0 0; display: block; text-align: center; font-size: .5rem; letter-spacing: .18em; }
.botanical { fill: none; stroke: currentColor; stroke-width: .85; }
.cover-sprig { position: absolute; width: 35%; height: 65%; bottom: 3%; left: -16%; color: #8c8f68; transform-origin: 55% 95%; animation: sprig-sway 9s ease-in-out infinite alternate; pointer-events: none; }
.cover-foot { position: absolute; bottom: 1.7rem; left: var(--gutter); right: var(--gutter); display: flex; justify-content: space-between; padding-top: 1.4rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .55rem; }
.fireflies { position: absolute; inset: 0; pointer-events: none; }
.fireflies i { position: absolute; width: 3px; height: 3px; background: #ebd294; border-radius: 50%; box-shadow: 0 0 13px 3px #eed69455; animation: firefly 7s ease-in-out infinite; }
.fireflies i:nth-child(1) { left: 23%; top: 40%; }
.fireflies i:nth-child(2) { left: 70%; top: 53%; animation-delay: -2s; }
.fireflies i:nth-child(3) { left: 60%; top: 26%; animation-delay: -4s; }
.fireflies i:nth-child(4) { left: 40%; top: 66%; animation-delay: -6s; }
.fireflies i:nth-child(5) { left: 85%; top: 72%; animation-delay: -3s; }
.fireflies i:nth-child(6) { left: 15%; top: 76%; animation-delay: -1s; }
.entrance { animation: entrance 1.4s var(--ease) both; animation-delay: calc(.15s + var(--order) * .13s); }

.section-space { padding: clamp(5rem, 10vw, 10rem) var(--gutter); }
.section-index { display: flex; gap: 1.3rem; align-items: center; font-size: .55rem; color: var(--muted); }
.section-index > span:first-child { color: var(--gold); }
.section-index::before { content: ''; width: 2rem; height: 1px; background: var(--gold); }
.invitation { position: relative; overflow: hidden; }
.invitation-content { position: relative; z-index: 1; max-width: 51rem; margin: 1rem auto 0; text-align: center; }
.little-star { width: 1.35rem; height: 1.35rem; fill: var(--gold); margin: 1.5rem auto 2rem; }
.blessing { color: var(--muted); font-size: 1.13rem; line-height: 1.5; font-style: italic; }
.statement { font-size: clamp(3.7rem, 7.2vw, 7.5rem); line-height: .97; letter-spacing: -.04em; margin: 3rem 0 2.1rem; }
.statement em, .section-heading h2 em, .closing h2 em { color: #737d5e; }
.invitation-message { max-width: 33rem; margin: auto; font-size: 1.23rem; line-height: 1.7; color: var(--muted); }
.handwritten-note { margin-top: 2rem; font-size: 1.6rem; font-style: italic; color: var(--gold); }
.invitation-sprig { position: absolute; width: 18vw; height: 34vw; right: -4vw; bottom: 2rem; color: #939a7b; opacity: .3; transform: rotate(-25deg); }

/* A continuous ceremony spread rather than stacked invitation cards. */
.ceremonies { background: #eeece2; border-top: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 1fr 2.1fr 1fr; align-items: end; gap: 2rem; margin-bottom: 5.5rem; }
.section-heading .section-index { align-self: start; padding-top: .1rem; }
.section-heading h2 { margin-top: 1rem; font-size: clamp(3.7rem, 6.7vw, 6.6rem); letter-spacing: -.04em; line-height: .97; }
.section-aside { color: var(--muted); font-style: italic; font-size: 1.1rem; line-height: 1.6; }
.ceremony { display: grid; grid-template-columns: .85fr 2fr; gap: clamp(3rem, 7vw, 8rem); align-items: start; }
.date-panel { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; padding: 3rem 1.5rem 3.5rem; min-height: 27rem; border-radius: 50% 50% 0 0 / 36% 36% 0 0; background: #e2e3d5; border: 1px solid #d0d3bf; text-align: center; }
.date-panel > .eyebrow { margin-top: 1rem; }
.day-number { font-size: clamp(7.5rem, 14vw, 13rem); font-weight: 400; line-height: 1; letter-spacing: -.07em; margin-left: -.05em; }
.date-month { font-size: 1.2rem; font-style: italic; color: var(--muted); }
.date-rule { width: 1px; height: 2.8rem; background: #a6aa8c; margin: 1.5rem 0; }
.city { font-family: var(--sans); font-size: .58rem; text-transform: uppercase; letter-spacing: .25em; }
.date-flower { position: absolute; width: 8rem; height: 17rem; right: -2rem; bottom: -4rem; fill: none; stroke: #8d9874; stroke-width: .9; transform: rotate(-32deg); opacity: .5; }
.ceremony-content { padding-top: 1.5rem; }
.ceremony-content h3 { font-size: clamp(2.7rem, 4.6vw, 5rem); letter-spacing: -.04em; line-height: 1.12; margin: 1.25rem 0 2.4rem; }
.ceremony-content h3 em { color: var(--gold); font-size: .75em; padding: 0 .1em; }
.families { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-bottom: 2.3rem; border-bottom: 1px solid var(--line); }
.families p { font-size: 1.1rem; line-height: 1.6; }
.families p > span { display: block; font-style: italic; color: var(--muted); font-size: .95rem; margin-bottom: .4rem; }
.event-details { display: grid; grid-template-columns: .85fr 1.15fr; gap: 2rem; margin-top: 2.1rem; }
.event-details p { font-size: 1.14rem; line-height: 1.5; margin-top: .7rem; }
.event-details .eyebrow { font-size: .55rem; color: var(--gold); }
.event-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem 2.4rem; margin-top: 2rem; }
.line-link { display: inline-flex; gap: 1.3rem; align-items: center; position: relative; padding: .8rem 0; border-bottom: 1px solid #a9ac96; letter-spacing: .1em; }
.line-link::after { content: ''; height: 1px; background: currentColor; position: absolute; bottom: -1px; left: 0; width: 100%; transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.line-link:hover::after { transform: scaleX(1); }
.line-link svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.2; transition: transform .5s var(--ease); }
.line-link:hover svg { transform: translate(3px, -3px); }
.calendar-link { padding: .8rem 0; letter-spacing: .08em; color: var(--muted); }
.calendar-link > span { display: inline-block; margin-left: .6rem; font-size: 1rem; transition: transform .5s var(--ease); }
.calendar-link:hover > span { transform: rotate(90deg); }
.between-days { display: flex; gap: 2rem; align-items: center; margin: 5rem 0; color: var(--gold); }
.between-days span { height: 1px; background: var(--line); flex: 1; }
.between-days svg { width: 1rem; height: 1rem; fill: currentColor; }
.ceremony-second .date-panel { background: #e9dfd0; border-color: #dbcebc; }
.ceremony-second .date-flower { stroke: #9b8a66; }

.reception { position: relative; isolation: isolate; overflow: hidden; color: #f6eddb; padding: 2.4rem var(--gutter) 2rem; background: #152e25; }
.reception-scene, .reception-shade { position: absolute; inset: 0; z-index: -2; }
.reception-scene img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; transform: scale(1.08) translateY(var(--scene-drift, 0px)); }
.reception-shade { z-index: -1; background: linear-gradient(90deg, #0c211be0, #0c211b80 50%, #0c211be0), linear-gradient(0deg, #0c211bf2, #0c211b30 50%, #0c211bba); }
.reception-top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; font-size: .52rem; letter-spacing: .18em; color: #d0c5ac; }
.reception-top svg { width: 1rem; height: 1rem; fill: #dcc396; }
.reception-content { text-align: center; max-width: 60rem; margin: auto; padding: 6.5rem 0; }
.reception .eyebrow { color: #d5c39d; }
.reception h2 { font-size: clamp(4.1rem, 8vw, 8.6rem); letter-spacing: -.035em; line-height: .99; margin: 2rem 0; }
.reception h2 em { color: #e6cf9f; }
.reception-couples { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem 1rem; font-size: clamp(1.8rem, 3.8vw, 3rem); line-height: 1.3; font-style: italic; }
.reception-couple { white-space: nowrap; }
.reception-couples .couple-divider { color: #bca67c; }
.reception-date { display: flex; align-items: center; justify-content: center; gap: 1.7rem; margin: 3rem 0; }
.reception-date strong { font-size: 6rem; line-height: 1.15; }
.reception-date > span { font-family: var(--sans); font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; line-height: 1.8; text-align: left; }
.reception-details { display: flex; gap: 4rem; justify-content: center; }
.reception-details p { font-size: 1.7rem; line-height: 1.5; }
.reception-details .eyebrow { display: block; font-size: .5rem; margin-bottom: .7rem; }
.reception-details small { display: block; color: #d2cfbd; font-size: 1rem; }
.reception .event-actions { justify-content: center; margin-top: 2.5rem; }
.reception .line-link { border-color: #a08f6b; }
.reception .calendar-link { color: #d2cfbd; }
.reception-bottom { border-top: 1px solid #e6cf9f33; padding-top: 1.7rem; display: flex; justify-content: center; align-items: center; gap: 3rem; font-size: .5rem; letter-spacing: .24em; color: #d0c5ac; }
.reception-bottom i { font-style: normal; font-size: .7rem; color: #b59c68; }

.closing { position: relative; text-align: center; overflow: hidden; padding-bottom: 2rem; }
.closing-sprig { width: 4.3rem; height: 8rem; margin: 0 auto 2rem; color: #929675; transform-origin: bottom; animation: sprig-sway 9s ease-in-out infinite alternate; }
.closing h2 { font-size: clamp(3rem, 5.5vw, 6rem); letter-spacing: -.035em; line-height: 1.06; margin: 1.7rem 0; }
.closing-message { font-size: 1.2rem; line-height: 1.6; color: var(--muted); }
.closing-families { margin: 4rem auto 5rem; }
.closing-families > .eyebrow { font-size: .55rem; }
.closing-families > div { display: flex; justify-content: center; align-items: center; gap: 2.7rem; margin-top: 1.5rem; }
.closing-families p { font-size: 1.2rem; }
.closing-families small { display: block; margin-top: .5rem; font-size: 1rem; color: var(--muted); font-style: italic; }
.closing-families svg { width: .65rem; height: .65rem; fill: var(--gold); }
.footer-bottom { padding-top: 1.5rem; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 1.5rem; color: var(--muted); font-size: .5rem; letter-spacing: .12em; }
.footer-bottom a span { display: inline-block; margin-left: .65rem; transition: transform .4s var(--ease); }
.footer-bottom a:hover span { transform: translateY(-4px); }

/* Content stays readable without JavaScript; only observed elements are staged. */
.motion-ready [data-reveal] { opacity: 0; transform: translateY(1.5rem); transition: opacity 1.15s var(--ease), transform 1.15s var(--ease); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: none; }
@keyframes entrance { from { opacity: 0; transform: translateY(1.1em); } to { opacity: 1; transform: translateY(0); } }
@keyframes window-open { from { clip-path: inset(12% 5% 0 round 50% 50% 0 0); opacity: .2; transform: translateY(2rem); } to { clip-path: inset(0 round 0); opacity: 1; transform: none; } }
@keyframes arch-appear { from { opacity: 0; transform: scale(.96); } to { opacity: .65; transform: none; } }
@keyframes sprig-sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes arrow-drift { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(6px); } }
@keyframes arrow-draw { 0%, 100% { stroke-dashoffset: 16; opacity: .45; } 50% { stroke-dashoffset: 0; opacity: 1; } }
@keyframes firefly { 0%, 100% { opacity: 0; transform: translate(0, 0); } 35% { opacity: .8; } 70% { opacity: .3; transform: translate(12px, -23px); } }

@media (min-width: 1500px) { .cover, .section-space, .reception { padding-left: max(var(--gutter), calc((100vw - 1380px) / 2)); padding-right: max(var(--gutter), calc((100vw - 1380px) / 2)); } }
@media (max-width: 1050px) {
  .cover { grid-template-columns: 1.1fr 1fr; gap: 1rem; }
  .cover h1 { font-size: clamp(3rem, 5.7vw, 4rem); }
  .garden-window { min-height: 22rem; }
  .section-heading { grid-template-columns: 1fr 2.2fr; }
  .section-aside { display: none; }
  .ceremony { gap: 3rem; grid-template-columns: .8fr 1.8fr; }
  .date-panel { min-height: 24rem; }
  .families { gap: 1.3rem; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 1.5rem; }
  .masthead { min-height: 5rem; padding-block: 1rem; gap: 1rem; }
  .monogram { font-size: 2rem; }
  .masthead nav { gap: 1.25rem; font-size: .5rem; letter-spacing: .07em; }
  .masthead-date { display: none; }
  .cover { grid-template-columns: 1fr; padding-top: 2.5rem; padding-bottom: 6rem; gap: 3rem; }
  .cover-copy { text-align: center; padding: 0; }
  .cover-copy > .eyebrow { margin-bottom: 2rem; font-size: .53rem; }
  .cover h1 { font-size: clamp(3.15rem, 10.5vw, 5.6rem); }
  .joining { font-size: 1.16rem; margin: .75rem 0 1rem; }
  .cover-bottom { justify-content: center; margin-top: 1.8rem; gap: 1.5rem; }
  .cover-bottom p { text-align: left; font-size: 1.1rem; }
  .scroll-cue { width: 2rem; height: 3rem; }
  .scroll-cue svg { height: 3rem; }
  .cover-art { justify-self: center; width: min(86%, 25rem); padding-top: .8rem; }
  .garden-window { aspect-ratio: .88; max-height: none; min-height: 0; }
  .cover-sprig { left: -13%; width: 30%; }
  .window-caption em { font-size: 2.2rem; }
  .art-note { font-size: .43rem; }
  .cover-foot { flex-wrap: wrap; gap: .4rem 1rem; font-size: .46rem; letter-spacing: .12em; }
  .cover-foot > span:last-child { display: none; }
  .invitation-content { margin-top: 2rem; }
  .statement { font-size: clamp(3.6rem, 11vw, 5rem); margin-top: 2.2rem; }
  .invitation-message { font-size: 1.16rem; }
  .invitation-sprig { width: 34vw; height: 65vw; right: -14vw; bottom: 3rem; opacity: .17; }
  .section-heading { display: block; margin-bottom: 3rem; }
  .section-heading .section-index { margin-bottom: 2.5rem; }
  .section-heading h2 { font-size: 3.7rem; }
  .ceremony { grid-template-columns: 1fr; gap: 2rem; }
  .date-panel { min-height: 0; border-radius: 50% 50% 0 0 / 42% 42% 0 0; width: 14rem; padding: 2rem 1.5rem; justify-self: center; }
  .date-panel > .eyebrow { margin-top: .5rem; }
  .day-number { font-size: 7.5rem; }
  .date-rule { height: 1.5rem; margin: 1rem 0; }
  .date-flower { width: 6rem; height: 12rem; }
  .ceremony-content { padding: 0; }
  .ceremony-content h3 { font-size: clamp(2.65rem, 8.5vw, 4rem); margin: 1rem 0 1.8rem; }
  .ceremony-content > .eyebrow { font-size: .51rem; }
  .families { gap: 1.5rem; }
  .families p { font-size: 1rem; }
  .families p > span { font-size: .9rem; }
  .event-details { grid-template-columns: .75fr 1.25fr; gap: 1rem; }
  .event-details p { font-size: 1.04rem; }
  .event-actions { gap: 1rem 1.5rem; }
  .line-link, .calendar-link { font-size: .56rem; }
  .between-days { margin: 3.5rem 0; }
  .reception { padding-top: 2rem; }
  .reception-top { font-size: .46rem; letter-spacing: .09em; }
  .reception-top > span:last-child { max-width: 8rem; text-align: right; }
  .reception-top svg { width: .8rem; flex-shrink: 0; }
  .reception-content { padding: 5rem 0; }
  .reception h2 { font-size: clamp(3.45rem, 11vw, 5rem); }
  .reception-content > .eyebrow { font-size: .51rem; }
  .reception-couples { flex-direction: column; font-size: clamp(1.8rem, 7.2vw, 2.5rem); }
  .reception-couples .couple-divider { display: none; }
  .reception-details { flex-direction: column; gap: 1.75rem; }
  .reception-details p { font-size: 1.55rem; }
  .reception-bottom { gap: 1rem; font-size: .43rem; letter-spacing: .12em; }
  .closing h2 { font-size: clamp(2.6rem, 8.5vw, 4rem); }
  .closing-families > div { flex-direction: column; gap: 1.5rem; }
  .closing-families { margin: 3rem 0; }
  .footer-bottom { flex-wrap: wrap; justify-content: center; font-size: .45rem; gap: 1rem 2rem; }
  .footer-bottom > span:first-child { display: none; }
}
@media (max-width: 370px) {
  :root { --gutter: 1.1rem; }
  .masthead nav { gap: .8rem; }
  .cover h1 { font-size: 2.95rem; }
  .families { grid-template-columns: 1fr; }
  .ceremony-content h3 { font-size: 2.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .motion-ready [data-reveal] { opacity: 1; transform: none; }
  .garden-window > img, .reception-scene img { transform: none; }
}
