/* W04 · Royal Black & Gold: fonts (SIL Open Font License 1.1, self-hosted) */
@font-face { font-family: "Cinzel"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/cinzel-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: "Cinzel"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/cinzel-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; }

/* W04 · Royal Black & Gold: black, gold and emerald; ornamental gold frames, classical serif capitals. */
:root {
  --bg: #0e0c0a; --bg2: #18140f; --ink: #eadfc6; --muted: #b9aa8a; --accent: #c9a35a; --accent2: #8a6a2e;
  --deep: #1b1712; --on-deep: #f1e4c6; --line: rgb(201 163 90 / .3);
  --card: rgb(20 17 13 / .88); --card-line: rgb(201 163 90 / .55); --card-shadow: 0 16px 34px rgb(0 0 0 / .4);
  --gold: linear-gradient(100deg, #b5852f 0%, #f5dea2 32%, #c99945 55%, #f1d48d 78%, #a77a2a 100%);
  --btn-bg: linear-gradient(90deg, #c59a4c, #f4dc9e 50%, #c59a4c); --btn-ink: #2a2013; --btn-shadow: 0 10px 26px rgb(201 163 90 / .22);
  --f-script: "Cinzel", serif; --f-display: "Cormorant Garamond", Georgia, serif; --f-body: "EB Garamond", Georgia, serif;
  --names-font: "Cinzel", serif; --names-size: 2.4rem; --names-weight: 600; --names-case: uppercase; --names-track: .04em; --amp-font: "Cinzel", serif;
  --head-font: var(--f-display); --head-weight: 600; --head-size: 2.2rem;
  --kicker-font: "Cinzel", serif; --kicker-color: #d8b56f;
  --couple-font: "Cinzel", serif; --couple-size: 1.55rem; --couple-weight: 600;
  --num-font: "Cinzel", serif;
  --photo-radius: 4px; --cover-ar: 1 / 1; --radius: 4px;
  --gate-bg: radial-gradient(ellipse at 50% 0%, #17362b 0%, transparent 58%), url(../img/w04-damask.svg), #0e0c0a;
  --guest-bg: rgb(255 255 255 / .04);
  --cd-num: #e9cf8f; --cd-label: #b9aa8a; --cd-line: rgb(201 163 90 / .35); --cd-title: #d8b56f;
  --field-bg: #17140f;
  --side-veil: linear-gradient(180deg, rgb(14 12 10 / .08) 32%, rgb(14 12 10 / .93) 82%); --side-ink: #eadfc6;
  --bank-bg: linear-gradient(135deg, #1d1914, #100e0b); --bank-ink: #eadfc6; --bank-border: 1px solid rgb(201 163 90 / .55); --bank-btn: #c9a35a; --bank-btn-ink: #1b1510;
  --gal-border: 1px solid rgb(201 163 90 / .6); --gal-radius: 4px;
}
body { background: radial-gradient(ellipse at 50% 0%, #13291f 0, transparent 62%), url(../img/w04-damask.svg), #0e0c0a; }
.inv { background: transparent; }
.names, .h-sec__t, .person__name, .closing__t, .datebox__n, .ev__name { background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.names__amp { color: inherit; }
.kicker { display: flex; align-items: center; justify-content: center; gap: 12px; }
.kicker::before, .kicker::after { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, #c9a35a); }
.kicker::after { transform: scaleX(-1); }
.photo--cover, .photo--hero, .photo--side { border: 1px solid #c9a35a; outline: 1px solid rgb(201 163 90 / .45); outline-offset: 6px; }
/* Notched double gold frame on every card */
.card { border-style: solid; border-width: 18px; border-image: url(../img/w04-frame.svg) 20 / 18px stretch; padding: 8px 6px; border-radius: 0; }
.ev__icon { color: #d8b56f; }
.ev__name { font-size: 1.55rem; }
.btn--line, .btn--ghost { color: #e9cf8f; border-color: rgb(201 163 90 / .5); }
.wish { background: rgb(255 255 255 / .03); border-color: rgb(201 163 90 / .28); }
.tag--yes { background: #c9a35a; color: #1b1510; }
.tag--no { background: rgb(255 255 255 / .08); color: #b9aa8a; }
.field input, .field select, .field textarea { border-color: rgb(201 163 90 / .35); }
.mapslot { background: #18140f; }
.wishes__t, .rsvp-done__t, .story__t { color: #e9cf8f; }
.closing__p { color: #e2d3b2; }

/* Gold carvings and white flowers cut from the mockup */
#gate .o1, #side .o1, .sec--hero .o1 { left: 0; top: 50%; transform: translateY(-50%); width: 26vw; max-width: 130px; aspect-ratio: 440 / 830; background-image: url(../img/deco-w04-gold-l.webp); }
#gate .o2, #side .o2, .sec--hero .o2 { right: 0; top: 50%; transform: translateY(-50%); width: 26vw; max-width: 130px; aspect-ratio: 440 / 830; background-image: url(../img/deco-w04-gold-r.webp); }
.sec--hero .o1, .sec--hero .o2 { top: 34%; }
#gate .o3, #side .o3, .sec--gallery .o3, .sec--closing .o3 { left: 0; bottom: 0; width: 20vw; max-width: 96px; aspect-ratio: 196 / 500; background-image: url(../img/deco-w04-flower-bl.webp); }
#gate .o4, #side .o4, .sec--gallery .o4, .sec--closing .o4 { right: 0; bottom: 0; width: 20vw; max-width: 96px; aspect-ratio: 196 / 500; background-image: url(../img/deco-w04-flower-br.webp); }
