/* W09 · Batak Ulos Heritage: fonts (SIL Open Font License 1.1, self-hosted) */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-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: "Playfair Display"; font-style: italic; font-weight: 400; font-display: swap; src: url("../fonts/playfair-display-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; }
@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: "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; }

/* W09 · Batak Ulos Heritage: red, black and white; ulos-inspired bands, gorga carvings, bold framing. */
:root {
  --bg: #f5eee6; --bg2: #ede2d4; --ink: #3b1915; --muted: #6e554f; --accent: #c49a52; --accent2: #e2c58a;
  --deep: #6d1018; --on-deep: #f8ebd0; --line: rgb(142 27 35 / .2);
  --card: rgb(255 255 255 / .62); --card-line: rgb(196 154 82 / .6); --card-shadow: 0 12px 28px rgb(109 16 24 / .08);
  --gold: linear-gradient(100deg, #b98a3c 0%, #f6dfa6 36%, #cfa253 60%, #f0d491 85%);
  --btn-bg: linear-gradient(180deg, #a3222c, #6d1018); --btn-ink: #fff3e3; --btn-line: #d4ad62; --btn-shadow: 0 10px 22px rgb(109 16 24 / .3);
  --f-script: "Playfair Display", serif; --f-display: "Playfair Display", Georgia, serif; --f-body: "EB Garamond", Georgia, serif;
  --names-font: var(--f-display); --names-size: 2.85rem; --names-weight: 400; --amp-font: var(--f-display);
  --head-font: var(--f-display); --head-style: italic; --head-weight: 400; --head-size: 1.95rem; --head-color: #8e1b23;
  --kicker-font: "Cormorant Garamond", serif; --kicker-color: #f0d9a6;
  --couple-font: var(--f-display); --couple-size: 1.75rem; --couple-color: #6d1018;
  --num-font: var(--f-display);
  --photo-radius: 4px; --cover-ar: 4 / 5; --radius: 10px;
  --gate-bg: url(../img/w09-ulos.svg) top / 48px 36px repeat-x, url(../img/w09-ulos.svg) bottom / 48px 36px repeat-x, radial-gradient(ellipse at 30% 20%, #8c1a22 0%, #6d1018 50%, #470a0f 100%);
  --gate-ink: #f8ebd0; --guest-bg: rgb(0 0 0 / .18);
  --cd-num: #fff; --cd-label: #f1dcc0; --cd-line: rgb(255 255 255 / .3); --cd-title: #f0d9a6;
  --side-veil: linear-gradient(180deg, rgb(71 10 15 / .05) 32%, rgb(71 10 15 / .93) 82%); --side-ink: #f8ebd0;
  --bank-bg: linear-gradient(135deg, #8e1b23, #5c0c12); --bank-border: 1px solid #d4ad62; --bank-btn: #f0d9a6; --bank-btn-ink: #5c0c12;
}
.inv { background: transparent; }
.names { background: var(--gold); -webkit-background-clip: text; background-clip: text; color: transparent; }
.names__amp { color: inherit; font-style: italic; }
.photo--cover, .photo--hero, .photo--side { border: 1px solid #d4ad62; outline: 1px solid rgb(212 173 98 / .45); outline-offset: 6px; }
#gate .gate__in { padding-top: 60px; padding-bottom: 60px; }
/* Red hero, countdown, events and closing; cream elsewhere */
.sec--hero, .sec--countdown, .sec--events, .sec--closing { background: radial-gradient(ellipse at 30% 15%, #8c1a22 0%, #6d1018 56%, #4c0a10 100%); color: #f8ebd0; }
.sec--hero { padding-bottom: 92px; }
.sec--closing { padding-top: 96px; }
.sec--hero::after, .sec--closing::before { content: ""; position: absolute; left: 0; right: 0; height: 36px; z-index: 3; background: url(../img/w09-ulos.svg) 0 0 / 48px 36px repeat-x; }
.sec--hero::after { bottom: 0; }
.sec--closing::before { top: 0; }
.sec--countdown { padding: 30px 24px 46px; }
.sec--hero .lead, .sec--closing .closing__sign, .sec--closing .closing__p { color: #f1dcc0; }
/* The date in a gold frame: "Sabtu, 14 Juni 2025" */
.sec--hero .datebox { display: flex; align-items: baseline; justify-content: center; gap: 7px; width: max-content; max-width: 100%; margin: 22px auto 18px; padding: 10px 26px;
  border: 1.5px solid #d4ad62; outline: 1px solid rgb(212 173 98 / .35); outline-offset: 4px; border-radius: 4px; background: rgb(0 0 0 / .15); }
.sec--hero .datebox__d, .sec--hero .datebox__m, .sec--hero .datebox__n { border: 0; padding: 0; margin: 0; font: 400 1.25rem/1.2 var(--f-display); letter-spacing: 0; text-transform: none; color: #f8ebd0; }
.sec--hero .datebox__d::after { content: ","; }
.sec--hero .venue .ic, .sec--hero .orn, .sec--closing .orn, .sec--events .orn, .sec--countdown .link { color: #e2c58a; }
.sec--closing .closing__t, .sec--events .h-sec__t { color: #f8ebd0; }
.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/w09-mark.svg) center / contain no-repeat; flex: none; }
.h-sec__t::after { transform: scaleX(-1); }
.h-sec .orn--div { display: none; }
.salam { font-family: var(--f-display); font-weight: 400; color: #8e1b23; }
/* Event cards on the red band */
.ev { background: rgb(0 0 0 / .16); border: 1px solid #d4ad62; outline: 1px solid rgb(212 173 98 / .3); outline-offset: -7px; color: #f8ebd0; box-shadow: none; }
.ev__name { color: #f8ebd0; font-style: normal; }
.ev__icon, .ev__rows .ic { color: #e2c58a; }
.ev__rows small { color: #e8cfb5; }
.sec--events .link--loc { color: #f0d9a6; }
.wishes__t, .rsvp-done__t, .story__t { color: #8e1b23; }

/* Gorga carvings cut from the mockup */
#gate .o1, #side .o1, .sec--events .o1 { left: 0; top: 36px; width: 30vw; max-width: 140px; aspect-ratio: 370 / 360; background-image: url(../img/deco-w09-gorga-l.webp); }
#gate .o2, #side .o2, .sec--events .o2 { right: 0; top: 36px; width: 30vw; max-width: 140px; aspect-ratio: 368 / 360; background-image: url(../img/deco-w09-gorga-r.webp); }
.sec--events .o1, .sec--events .o2 { top: 0; }
