/* Buttercup: a field of buttercups. The hero is the file's card at screen size: the upper border's two clusters hang from the top
   corners and the lower ones grow in the bottom corners, all whole and never tiled, the cream disc behind the names like a soft sun.
   On a wide screen a cluster of the field stays in each bottom corner of the window as the page scrolls past. The line sprig marks
   the headings and parts the countdown's figures; the RSVP card has a cluster over two corners. */
.esite-skin-buttercup {
  --sk-accent-font: "Sacramento", cursive;
  --sk-accent-style: normal;
  --sk-photo-shape: none;
  --sk-gap: 88px;
  --sk-measure: 860px;
}
.esite-skin-buttercup .ss-h, .esite-skin-buttercup .cl-names, .esite-skin-buttercup .ss-closing-names { font-weight: 400; letter-spacing: 0; }
.esite-skin-buttercup .ss-h { font-size: calc(clamp(3rem, 5vw, 4.2rem) * var(--s-hscale, 1)); line-height: 1.1; }

/* ---- the field in the window's bottom corners ---- */
@media (min-width: 1280px) {
  .esite-skin-buttercup::after {
    content: ""; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; height: min(22vh, 210px); pointer-events: none;
    background: var(--sk-bot-l, none) 0 100% / auto 100% no-repeat, var(--sk-bot-r, none) 100% 100% / auto 100% no-repeat;
  }
}

/* ---- hero ---- */
.esite-skin-buttercup .hs-classic.no-photo .cl-panel {
  --u: min(1cqw, 14px); container-type: inline-size; grid-template-columns: minmax(0, 1fr); justify-items: center; min-height: calc(100svh - 38px);
  padding: calc(84px + var(--u) * 4) 24px calc(var(--u) * 6); overflow: hidden; background: var(--s-bg);
}
.esite-skin-buttercup .hs-classic.no-photo .cl-panel::before {
  display: block; inset: 68px 0 0; z-index: 1;
  background:
    var(--sk-top-l, none) 0 0 / calc(var(--u) * 28) auto no-repeat, var(--sk-top-r, none) 100% 0 / calc(var(--u) * 38) auto no-repeat,
    var(--sk-bot-l, none) 0 100% / calc(var(--u) * 34) auto no-repeat, var(--sk-bot-r, none) 100% 100% / calc(var(--u) * 28) auto no-repeat;
}
.esite-skin-buttercup .hs-classic.no-photo .cl-panel::after { display: block; inset: 68px 0 0; z-index: 0; background: var(--sk-disc, none) 50% 50% / min(calc(var(--u) * 44), 62svh) auto no-repeat; }
.esite-skin-buttercup .hs-classic .cl-text { position: relative; z-index: 3; max-width: 600px; }
.esite-skin-buttercup .cl-panel .h-kicker { font-family: var(--s-fbody); font-size: .8125rem; letter-spacing: .3em; text-transform: uppercase; color: var(--s-text); }
.esite-skin-buttercup .hs-classic .cl-names { justify-items: center; font-size: calc(clamp(4rem, 7cqw, 6.8rem) * var(--s-hscale, 1)); line-height: 1; }
.esite-skin-buttercup .hs-classic .cl-names .cn-1, .esite-skin-buttercup .hs-classic .cl-names .cn-2 { justify-self: center; padding: 0; }
.esite-skin-buttercup .hs-classic .cl-names .cn-amp { margin: .02em 0; font-size: .5em; }
.esite-skin-buttercup .hs-classic .cl-text::after { content: ""; display: block; width: 120px; height: 46px; margin: 6px auto 0; background: var(--sk-sprig, none) 50% 50% / contain no-repeat; }
.esite-skin-buttercup .cl-sub { letter-spacing: .24em; }
.esite-skin-buttercup .cl-facts b { font-family: var(--s-fbody); font-weight: 500; letter-spacing: .18em; }
/* a photo: round like the disc, a cluster over its top */
.esite-skin-buttercup .hs-classic:not(.no-photo):not(.hv-cover) .cl-panel::after { display: none; }
.esite-skin-buttercup .hs-classic:not(.no-photo):not(.hv-cover) .cl-photo, .esite-skin-buttercup .ss-story-img img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.esite-skin-buttercup .hs-classic:not(.no-photo):not(.hv-cover) .cl-visual { overflow: visible; aspect-ratio: 1; height: min(60svh, 520px); }
.esite-skin-buttercup .hs-classic:not(.no-photo):not(.hv-cover) .cl-visual::after { inset: -12% -12% auto auto; width: 60%; aspect-ratio: 2; z-index: 3; border: 0; background: var(--sk-top-r, none) 100% 0 / contain no-repeat; }
.esite-skin-buttercup .hs-classic:not(.no-photo) .cl-names { font-size: calc(clamp(3.4rem, 5.6vw, 5.6rem) * var(--s-hscale, 1)); }
.esite-skin-buttercup .hs-classic:not(.no-photo) .cl-text::after { display: none; }

/* ---- sections ---- */
.esite-skin-buttercup .ss-scope:not([data-type="hero"]):not([data-type="countdown"]):not([data-type="none"]) .ss-h::before { width: 110px; height: 40px; margin-bottom: 4px; }
.esite-skin-buttercup .ss-closing::before { width: 150px; height: 56px; }
.esite-skin-buttercup .ss-scope[data-type="story"]::before { top: 0; right: 0; left: auto; width: clamp(170px, 18vw, 290px); aspect-ratio: 2.03; background: var(--sk-top-r, none) 100% 0 / contain no-repeat; }
.esite-skin-buttercup .ss-scope[data-type="faq"]::before { top: 0; left: 0; right: auto; width: clamp(150px, 15vw, 240px); aspect-ratio: 1.35; background: var(--sk-top-l, none) 0 0 / contain no-repeat; }
.esite-skin-buttercup .ss-scope[data-type="schedule"]::before { display: none; }
.esite-skin-buttercup .ss-scope[data-type="schedule"], .esite-skin-buttercup .ss-scope[data-type="faq"] { background-color: var(--sk-sec-bg, var(--s-band)); }

/* ---- countdown: script figures parted by sprigs ---- */
.esite-skin-buttercup .ss-scope[data-type="countdown"]:has(.cdv-tiles) { background-color: var(--sk-sec-bg, var(--s-bg)); color: var(--s-text); }
.esite-skin-buttercup .cdv-tiles .ss-h { color: var(--s-accent); font-size: 2.6rem; }
.esite-skin-buttercup .cdv-tiles .ss-cd { display: flex; justify-content: center; gap: 0; }
.esite-skin-buttercup .cdv-tiles .cd-unit { position: relative; flex: 1; max-width: 170px; display: flex; flex-direction: column; align-items: center; gap: 0; padding: 4px 0; border: 0; border-radius: 0; outline: 0; box-shadow: none; background: none; color: var(--s-text); }
.esite-skin-buttercup .cdv-tiles .cd-unit::after { display: none !important; }
.esite-skin-buttercup .cdv-tiles .cd-unit + .cd-unit::before { content: ""; display: block !important; position: absolute; left: 0; top: 34%; width: 44px; height: 22px; transform: translate(-50%, -50%) rotate(-20deg); background: var(--sk-sprig, none) 50% 50% / contain no-repeat; }
.esite-skin-buttercup .ss-countdown .cd-n { font-family: var(--s-fhead) !important; font-size: clamp(3.4rem, 6vw, 5rem); line-height: 1.05; }
.esite-skin-buttercup .cdv-tiles .cd-l { font-family: var(--s-fbody); text-transform: uppercase; letter-spacing: .22em; font-size: .6875rem; }

.esite-skin-buttercup .ss-scope[data-type="countdown"]:not(:has(.cdv-tiles)) { background-color: var(--sk-sec-bg, var(--s-band)); color: var(--s-text); }
.esite-skin-buttercup .ss-scope[data-type="countdown"]:not(:has(.cdv-tiles)) :is(.ss-h, .cd-n, .cd-l) { color: var(--s-text); }

/* ---- the day, questions, small lines ---- */
.esite-skin-buttercup .schv-wide .ss-tl-time { font-family: var(--s-fbody); letter-spacing: .16em; text-transform: uppercase; font-size: .8125rem; color: var(--s-accent); }
.esite-skin-buttercup .ss-tl-title { font-family: var(--s-fhead); font-size: 2rem; font-weight: 400; line-height: 1.1; }
.esite-skin-buttercup .ss-faq-q { font-family: var(--s-fbody); font-size: 1rem; font-weight: 600; }
.esite-skin-buttercup .ss-loc-venue { font-size: 2.2rem; }
.esite-skin-buttercup .ss-closing-line { font-family: var(--s-fbody); font-size: .875rem; letter-spacing: .16em; text-transform: uppercase; }

/* ---- registry ---- */
.esite-skin-buttercup .gftv-panel .ss-wrap { aspect-ratio: auto; width: min(600px, 100%); padding: 0; background: none; }
.esite-skin-buttercup .gftv-panel .ss-h::before { display: block !important; }

/* ---- RSVP: a card with a cluster over two corners ---- */
.esite-skin-buttercup .ss-scope[data-type="rsvp"]::before, .esite-skin-buttercup .ss-scope[data-type="rsvp"]::after { display: none; }
.esite-skin-buttercup .ss-rsvp-form { position: relative; max-width: 580px; padding: 130px 40px 120px; border-radius: 0; box-shadow: 0 22px 46px -30px rgba(40, 40, 20, .4); }
.esite-skin-buttercup .ss-rsvp-form::before, .esite-skin-buttercup .ss-rsvp-form::after { content: ""; position: absolute; width: 150px; aspect-ratio: 1.35; pointer-events: none; }
.esite-skin-buttercup .ss-rsvp-form::before { top: -14px; left: -14px; background: var(--sk-top-l, none) 0 0 / contain no-repeat; }
.esite-skin-buttercup .ss-rsvp-form::after { bottom: -14px; right: -14px; aspect-ratio: 1.45; background: var(--sk-bot-r, none) 100% 100% / contain no-repeat; }

@media (max-width: 900px) {
  .esite-skin-buttercup .hs-classic.no-photo .cl-panel { min-height: 0; padding: calc(40px + 34vw) 18px calc(33vw + 16px); }
  .esite-skin-buttercup .hs-classic.no-photo .cl-panel::before { background: var(--sk-top, none) 50% 0 / 100% auto no-repeat, var(--sk-bot, none) 50% 100% / 100% auto no-repeat; }
  .esite-skin-buttercup .hs-classic.no-photo .cl-panel::after { background-size: 86vw auto; }
  .esite-skin-buttercup .hs-classic .cl-names { font-size: calc(3.6rem * var(--s-hscale, 1)); }
  .esite-skin-buttercup .ss-scope[data-type="story"]::before, .esite-skin-buttercup .ss-scope[data-type="faq"]::before { display: none; }
  .esite-skin-buttercup .ss-closing { padding-bottom: calc(33vw + 20px); background: var(--sk-bot, none) 50% 100% / 100% auto no-repeat, var(--s-bg); }
  .esite-skin-buttercup .ss-rsvp-form { padding: 100px 20px 100px; }
  .esite-skin-buttercup .ss-rsvp-form::before, .esite-skin-buttercup .ss-rsvp-form::after { width: 110px; }
}
@media (max-width: 640px) {
  .esite-skin-buttercup .ss-countdown .cd-n { font-size: 2.6rem; }
  .esite-skin-buttercup .cdv-tiles .cd-l { letter-spacing: .08em; font-size: .5625rem; }
  .esite-skin-buttercup .cdv-tiles .cd-unit + .cd-unit::before { width: 26px; }
}
