/* W10 · Chinese Wedding Elegance: fonts (SIL Open Font License 1.1, self-hosted) */
@font-face { font-family: "Great Vibes"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/great-vibes-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Cormorant Garamond"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/eb-garamond-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/eb-garamond-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "EB Garamond"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/eb-garamond-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* W10 · Chinese Wedding Elegance: red and gold; double happiness, lanterns, lattice, peonies and clouds. */
:root {
  --bg: #f8f0e3; --bg2: #f0e4d0; --ink: #5c1a1a; --muted: #7d5c54; --accent: #c49a52; --accent2: #e3c68e;
  --deep: #7c0f17; --on-deep: #f8e3b4; --line: rgb(196 154 82 / .45);
  --card: rgb(255 253 248 / .78); --card-line: rgb(196 154 82 / .7); --card-shadow: 0 12px 28px rgb(124 15 23 / .08);
  --gold: linear-gradient(100deg, #c2913f 0%, #f8e2a8 36%, #d3a656 60%, #f3d898 85%);
  --btn-bg: linear-gradient(90deg, #e6c98a, #f9eac4 50%, #e2c07c); --btn-ink: #6d0f15; --btn-shadow: 0 10px 24px rgb(0 0 0 / .18);
  --f-script: "Great Vibes", cursive; --f-display: "Cormorant Garamond", Georgia, serif; --f-body: "EB Garamond", Georgia, serif;
  --names-font: var(--f-script); --names-size: 3.7rem; --amp-font: var(--f-script);
  --head-font: var(--f-display); --head-weight: 600; --head-size: 2.25rem; --head-color: #8e1219;
  --kicker-color: #f3dcae;
  --couple-font: var(--f-script); --couple-size: 2.6rem; --couple-color: #8e1219;
  --photo-radius: 50%; --cover-ar: 1 / 1; --radius: 4px;
  --gate-bg: url(../img/w10-lattice.svg), radial-gradient(ellipse at 50% 30%, #a3161f 0%, #7c0f17 55%, #560a10 100%);
  --gate-ink: #f8e3b4; --guest-bg: rgb(0 0 0 / .16);
  --cd-num: #8e1219; --cd-line: rgb(196 154 82 / .5); --cd-title: #8e1219;
  --side-veil: linear-gradient(180deg, rgb(86 10 16 / .05) 32%, rgb(86 10 16 / .93) 82%); --side-ink: #f8e3b4;
  --bank-bg: linear-gradient(135deg, #a3161f, #6d0f15); --bank-border: 1px solid #d9b56a; --bank-btn: #f3dcae; --bank-btn-ink: #6d0f15;
}
body { background: url(../img/w10-waves.svg), #f8f0e3; }
.inv { background: transparent; }
.names { background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent; padding: 0 .14em; }
.names__amp { color: inherit; }
.orn--top svg { width: 70px; color: #e9c77e; margin-bottom: 14px; }
.photo--cover, .photo--hero, .photo--side { border: 3px solid #d9b56a; outline: 1px solid rgb(217 181 106 / .5); outline-offset: 7px; }
/* Red hero and closing with a lattice; cream with waves elsewhere */
.sec--hero, .sec--closing { background: url(../img/w10-lattice.svg), radial-gradient(ellipse at 50% 30%, #a3161f 0%, #7c0f17 55%, #560a10 100%); color: #f8e3b4; }
.sec--hero .lead, .sec--closing .closing__sign, .sec--closing .closing__p { color: #f1d7b0; }
.sec--hero .datebox__n { background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sec--hero .datebox__d, .sec--hero .datebox__m, .sec--hero .datebox__n { border-color: rgb(233 199 126 / .45); }
.sec--hero .venue .ic, .sec--hero .orn, .sec--closing .orn { color: #e9c77e; }
.sec--closing .closing__t { color: #f8e3b4; }
.orn--head-top { color: #b3121f; }
.orn--head-top svg { width: 40px; margin-bottom: 10px; }
.h-sec__t { display: flex; align-items: center; justify-content: center; gap: 12px; }
.h-sec__t::before, .h-sec__t::after { content: ""; width: 34px; height: 16px; background: url(../img/w10-mark.svg) center / contain no-repeat; flex: none; }
.h-sec__t::after { transform: scaleX(-1); }
.h-sec .orn--div { display: none; }
/* Card frames with Chinese meander corners */
.card { border-style: solid; border-width: 22px; border-image: url(../img/w10-frame.svg) 30 / 22px stretch; padding: 6px 4px; border-radius: 0; }
.ev__name { color: #8e1219; }
.cd { border: 1px solid var(--card-line); background: rgb(255 253 248 / .72); padding: 10px 6px; }
.wishes__t, .rsvp-done__t, .story__t { color: #8e1219; }

/* Lanterns, plum blossom, peonies, clouds and pagoda cut from the mockup */
#gate .o1, #side .o1, .sec--hero .o1, .sec--closing .o1 { left: 0; top: 0; width: 18vw; max-width: 84px; aspect-ratio: 220 / 540; background-image: url(../img/deco-w10-lantern-l.webp); }
#gate .o2, #side .o2, .sec--hero .o2, .sec--closing .o2 { right: 0; top: 0; width: 18vw; max-width: 84px; aspect-ratio: 220 / 540; background-image: url(../img/deco-w10-lantern-l.webp); transform: scaleX(-1); }
.sec--hero .o3 { right: 0; top: 0; width: 56vw; max-width: 260px; aspect-ratio: 588 / 240; background-image: url(../img/deco-w10-plum.webp); }
.sec--couple .o1 { right: 0; top: 18px; width: 36vw; max-width: 170px; aspect-ratio: 400 / 240; background-image: url(../img/deco-w10-cloud.webp); transform: scaleX(-1); }
.sec--couple .o2, .sec--gallery .o1 { left: 0; bottom: 0; width: 40vw; max-width: 190px; aspect-ratio: 450 / 400; background-image: url(../img/deco-w10-peony-cream.webp); }
.sec--events .o2 { right: 0; bottom: 0; width: 38vw; max-width: 180px; aspect-ratio: 398 / 310; background-image: url(../img/deco-w10-pagoda.webp); }
