/* Invitation-inspired visual system: botanical, soft ivory, sage and blush. */
:root {
  --ink: #353331;
  --muted: #776f68;
  --paper: #fbfaf6;
  --paper-deep: #f2eee5;
  --rose: #c88f90;
  --rose-dark: #8d5e60;
  --sage: #708b70;
  --sage-deep: #4f6e57;
  --sage-pale: #e6eee2;
  --line: rgba(93, 87, 75, .16);
  --serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
}

.public-body {
  background:
    radial-gradient(circle at 8% 2%, rgba(218, 231, 213, .72), transparent 25rem),
    radial-gradient(circle at 92% 14%, rgba(249, 224, 218, .72), transparent 27rem),
    linear-gradient(130deg, #fdfcf9 0%, #f6f3ec 100%);
}

.public-body::before {
  content: "";
  position: fixed;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -190px;
  bottom: -210px;
  border: 1px solid rgba(112,139,112,.16);
  border-radius: 50%;
  box-shadow: 0 0 0 48px rgba(200,143,144,.035), 0 0 0 96px rgba(112,139,112,.025);
  pointer-events: none;
}

.ambient { filter: blur(95px); opacity: .22; }
.ambient-one { background: #c8dbbf; }
.ambient-two { background: #efc9c3; }

.public-header { height: 90px; }
.public-brand { gap: 11px; color: #4a5046; font-size: 18px; }
.brand-mark {
  width: 32px;
  height: 32px;
  color: var(--sage-deep);
  border-color: rgba(91, 119, 89, .34);
  background: rgba(255,255,255,.54);
  box-shadow: 0 5px 14px rgba(83, 105, 81, .08);
}
.public-nav { color: #5a6258; font-size: 12px; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
.public-nav a::after { background: var(--sage-deep); }
.guest-header { height: 76px; }
.guest-surface .public-main { min-height: calc(100vh - 76px); }
.guest-surface { position: relative; isolation: isolate; }
.guest-surface .public-header,
.guest-surface .public-main { position: relative; z-index: 2; }

.floral-canopy {
  position: absolute;
  inset: 0 0 auto;
  overflow: visible;
  pointer-events: none;
}

.floral-canopy img {
  width: 100%;
  height: auto;
  display: block;
  opacity: .78;
  mix-blend-mode: multiply;
  transform: scaleY(1.08);
  transform-origin: top center;
}

.floral-canopy-guest {
  z-index: 1;
  height: auto;
}

.wedding-hero {
  grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr);
  gap: clamp(36px, 7vw, 104px);
  padding: 25px 0 86px;
}
.hero-copy { max-width: 510px; }
.hero-kicker { color: var(--sage-deep); font-size: 10px; font-weight: 800; letter-spacing: .24em; }
.hero-kicker::before { width: 31px; background: rgba(79,110,87,.58); }
.hero-title { margin: 23px 0 19px; font-size: clamp(58px, 7.2vw, 96px); line-height: .83; letter-spacing: -.065em; }
.hero-title em { color: var(--sage-deep); }
.hero-lead { max-width: 470px; color: #706a63; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.75; }
.hero-actions { margin-top: 31px; }
.primary-link, .secondary-link { min-height: 50px; border-radius: 7px; font-size: 12px; letter-spacing: .035em; }
.primary-link { background: var(--sage-deep); box-shadow: 0 13px 28px rgba(66, 94, 72, .2); }
.primary-link:hover { background: #405f48; box-shadow: 0 17px 34px rgba(66, 94, 72, .25); }
.secondary-link { color: #586958; border-color: rgba(92,119,89,.28); background: rgba(255,255,255,.54); }
.secondary-link:hover { background: #fffefa; }

.hero-art { min-height: 650px; isolation: isolate; }
.hero-floral-canopy {
  position: absolute;
  z-index: -1;
  top: -1%;
  left: 50%;
  width: 130%;
  height: auto;
  opacity: .76;
  mix-blend-mode: multiply;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 100%);
  transform: translateX(-50%) scaleY(1.08);
  transform-origin: top center;
  pointer-events: none;
}
.hero-art::before {
  content: "";
  position: absolute;
  inset: 4% 10% 3%;
  z-index: -2;
  border: 1px solid rgba(112,139,112,.24);
  border-radius: 245px 245px 18px 18px;
  background:
    radial-gradient(circle at 14% 17%, rgba(207,224,201,.55), transparent 22%),
    radial-gradient(circle at 86% 22%, rgba(244,213,207,.5), transparent 22%),
    linear-gradient(145deg,rgba(255,255,252,.95),rgba(247,243,234,.9));
  box-shadow: 0 28px 80px rgba(82, 91, 71, .1), inset 0 0 0 10px rgba(255,255,255,.55);
}
.invitation-card {
  position: relative;
  width: min(72%, 420px);
  min-height: 500px;
  padding: 72px 42px 44px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #363533;
  border: 1px solid rgba(117, 108, 98, .25);
  border-radius: 198px 198px 8px 8px;
  background: rgba(255,255,252,.91);
  box-shadow: 0 16px 45px rgba(71,72,55,.07);
}
.invitation-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(112,139,112,.13);
  border-radius: 188px 188px 4px 4px;
  pointer-events: none;
}
.invitation-monogram {
  width: 54px;
  height: 54px;
  margin-bottom: 25px;
  display: grid;
  place-items: center;
  color: var(--sage-deep);
  border: 1px solid rgba(112,139,112,.32);
  border-radius: 50%;
  font: 600 10px var(--serif);
  letter-spacing: .12em;
}
.invitation-script { color: #608069; font: italic 23px/1 var(--serif); letter-spacing: .04em; }
.invitation-kicker { margin-top: 23px; color: #67635e; font-size: 9px; font-weight: 650; letter-spacing: .48em; text-indent: .48em; }
.invitation-card h2 { max-width: 280px; margin: 27px 0 21px; font: 500 clamp(37px, 4.15vw, 56px)/.94 var(--serif); letter-spacing: .115em; text-transform: uppercase; }
.invitation-card h2 span { display: block; margin: 8px 0; color: var(--sage-deep); font-size: .73em; font-style: italic; letter-spacing: 0; }
.invitation-divider { width: 100%; display: flex; align-items: center; justify-content: center; gap: 10px; color: #a17571; font-size: 12px; }
.invitation-divider span { width: 42px; height: 1px; background: rgba(113,127,102,.33); }
.invitation-date { margin: 21px 0 0; color: #4d4b48; font: 500 17px var(--serif); letter-spacing: .05em; }
.invitation-date strong { color: var(--sage-deep); font-weight: 600; }
.invitation-venue { max-width: 235px; margin: 14px 0 0; color: #5c6258; font-size: 10px; line-height: 1.55; }
.invitation-note { margin-top: 29px; color: #74816f; font: italic 15px var(--serif); }

.public-footer { border-top-color: rgba(97,110,88,.17); color: #778078; }
.footer-heart { color: var(--rose-dark); }

.rsvp-page, .memories-page { position: relative; }
.rsvp-intro, .memory-copy { position: relative; z-index: 1; }
.rsvp-intro::before, .memory-visual::before { content: none; }
.rsvp-intro { padding: 62px 32px 48px; overflow: hidden; border: 1px solid rgba(111,139,110,.21); border-radius: 150px 150px 18px 18px; background: rgba(255,255,252,.58); }
.rsvp-intro::before { inset: -19% -20% -19%; opacity: .38; }
.rsvp-intro > * { position: relative; }
.rsvp-intro h1, .memory-copy h1 { color: #3b3a36; font-family: var(--serif); }
.rsvp-intro h1 { font-size: clamp(45px,5vw,70px); }
.rsvp-intro p, .memory-copy > p { color: #6e7169; font-size: 15px; }
.rsvp-flourish { color: var(--sage-deep); }
.rsvp-card, .memory-upload-card { border-color: rgba(112,139,112,.22); border-radius: 18px; background: rgba(255,255,252,.78); box-shadow: 0 24px 60px rgba(72,91,72,.1); }
.rsvp-card { padding: clamp(26px,4vw,43px); }
.rsvp-form input[type=text], .rsvp-form input[type=tel], .uploader-name-field input { border-color: rgba(117,126,107,.24); border-radius: 8px; background: #fffefa; }
.rsvp-form input:focus, .uploader-name-field input:focus { border-color: rgba(94,125,95,.7); box-shadow: 0 0 0 4px rgba(113,144,108,.1); }
.choice-card { border-color: rgba(115,127,106,.22); border-radius: 10px; background: #fffefa; }
.choice-card:has(input:checked) { border-color: var(--sage); background: #f2f7ef; box-shadow: 0 0 0 3px rgba(111,139,110,.1); }
.choice-card .choice-icon, .success-heart, .closed-state>span { color: var(--sage-deep); background: var(--sage-pale); }
.guest-options span { border-color: rgba(115,127,106,.24); background: #fffefa; }
.guest-options input:checked + span, .rsvp-submit, .memory-upload-submit { border-radius: 8px; background: var(--sage-deep); }
.rsvp-submit:hover, .memory-upload-submit:hover:not(:disabled) { background: #405f48; }
.memory-visual { overflow: hidden; border: 1px solid rgba(112,139,112,.24); border-radius: 190px 190px 18px 18px; background: rgba(255,255,252,.54); box-shadow: 0 24px 60px rgba(72,91,72,.1); }
.memory-visual::before { inset: -8% -6%; opacity: .84; }
.memory-visual::after { content: "B  &  O"; position: absolute; inset: 0; display: grid; place-items: center; color: rgba(78,107,82,.72); font: italic 46px var(--serif); letter-spacing: .03em; }
.memory-frame { display: none; }
.memory-copy h1 em { color: var(--sage-deep); }
.file-drop-zone { border-color: rgba(111,139,110,.45); border-radius: 12px; background: linear-gradient(135deg,#fffefa,#f0f5ec); }
.file-drop-zone:hover, .file-drop-zone:focus-within { border-color: var(--sage-deep); background: #fffefa; box-shadow: 0 0 0 4px rgba(111,139,110,.09); }
.upload-symbol, .upload-item-icon { color: var(--sage-deep); background: #e9f1e6; }
.file-select-button { color: var(--sage-deep); border-color: rgba(111,139,110,.3); }
.upload-progress > span { background: var(--sage); }

/* Guest forms stay quiet and focused: one centered column, without a second hero. */
.rsvp-page,
.memories-page {
  display: block;
  width: min(760px, calc(100% - 40px));
  min-height: auto;
  padding: 170px 0 90px;
}

.rsvp-intro {
  position: static;
  max-width: 650px;
  margin: 0 auto 27px;
  padding: 0 18px 25px;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid rgba(112,139,112,.2);
  border-radius: 0;
  background: transparent;
  text-align: center;
}

.rsvp-intro::before,
.memory-visual {
  display: none;
}

.rsvp-intro .hero-kicker,
.rsvp-flourish,
.memory-copy .hero-kicker {
  justify-content: center;
}

.rsvp-intro h1 {
  margin: 17px 0 12px;
  font-size: clamp(42px, 7vw, 62px);
}

.rsvp-intro p {
  max-width: 520px;
  margin: 0 auto;
}

.rsvp-flourish {
  margin-top: 18px;
}

.rsvp-card,
.memories-upload-page .memory-copy {
  width: 100%;
  max-width: 760px;
  margin-right: auto;
  margin-left: auto;
}

.choice-card .choice-icon {
  display: inline-block;
  width: auto;
  height: auto;
  padding: 0;
  align-self: flex-start;
  color: var(--sage-deep);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  line-height: 1;
}

.memories-upload-page .memory-copy {
  padding: 0;
  text-align: center;
}

.memory-copy h1 {
  margin-top: 17px;
}

.memory-copy > p {
  max-width: 580px;
  margin-right: auto;
  margin-left: auto;
}

.memory-upload-card,
.coming-soon,
.memory-closed-state {
  text-align: left;
}

/* Admin uses the same invitation palette, but stays data-dense and practical. */
.admin-body, .auth-body {
  --admin-bg: #f7f5ef;
  --panel: rgba(255,255,252,.88);
  --ink: #343630;
  --muted: #72766e;
  --line: rgba(104,113,94,.17);
  --accent: #708b70;
  background:
    radial-gradient(circle at 6% 0%, rgba(217,234,210,.72), transparent 30rem),
    radial-gradient(circle at 98% 4%, rgba(247,220,215,.65), transparent 29rem),
    #f7f5ef;
}
.admin-sidebar {
  overflow: hidden;
  color: rgba(249,252,247,.82);
  background: linear-gradient(165deg, #5b7961 0%, #3e5c48 55%, #2f4738 100%);
  box-shadow: 18px 0 48px rgba(55,75,57,.12);
}
.admin-sidebar::before { content: ""; position: absolute; width: 270px; height: 270px; top: -145px; right: -125px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 38px rgba(255,255,255,.025); pointer-events: none; }
.admin-sidebar > * { position: relative; z-index: 1; }
.admin-logo { color: #fffdf9; }
.admin-logo-mark { color: #49634d; background: #f8f5eb; box-shadow: 0 8px 20px rgba(21,43,27,.2); }
.admin-logo small, .admin-nav-label, .admin-sidebar-footer small { color: rgba(242,249,238,.54); }
.admin-nav-item:hover { background: rgba(255,255,255,.1); color: #fff; }
.admin-nav-item.active { color: #38543f; background: #f9f7ef; box-shadow: 0 10px 23px rgba(28,48,32,.16); }
.nav-icon, .admin-nav-item.active .nav-icon { color: #d7e7d4; }
.admin-nav-item.active .nav-icon { color: var(--sage-deep); }
.admin-sidebar-footer { border-top-color: rgba(255,255,255,.15); }
.admin-sidebar-footer strong { color: #fffdf9; }
.admin-user-avatar { color: #45614c; background: #eaf1e5; }
.icon-button { color: #d8e6d4; }
.admin-topbar { border-bottom-color: rgba(105,117,94,.16); background: rgba(255,254,250,.74); color: #6b756b; }
.admin-topbar a { color: #4f6e57; }
.status-dot { background: #789b72; box-shadow: 0 0 0 4px rgba(120,155,114,.12); }
.eyebrow, .toolbar-kicker { color: #668267; }
.page-heading h1 { font-family: var(--serif); font-weight: 500; letter-spacing: -.025em; }
.page-heading .link-button, .save-button, .primary-action { color: #fff; border-color: var(--sage-deep); background: linear-gradient(135deg, #769779, #4d7055); box-shadow: 0 9px 20px rgba(70,104,77,.16); }
.page-heading .link-button:hover, .save-button:hover, .primary-action:hover { background: #3f6248; }
.settings-card, .data-card, .filter-card, .table-card, .timeline-card, .delete-panel, .media-admin-summary > article, .media-qr-card {
  border-color: rgba(106,120,94,.16);
  background: rgba(255,255,252,.86);
  box-shadow: 0 14px 34px rgba(71,86,65,.06);
}
.settings-card-heading { border-bottom-color: rgba(108,120,97,.15); }
.section-icon.blush, .metric-icon, .person-avatar, .media-admin-summary > article > span, .media-group-icon { color: #55745b; background: #e9f0e6; }
.section-icon.sage, .metric-icon.green { color: #55745b; background: #e9f0e6; }
.section-icon.violet, .metric-icon.violet { color: #8a666f; background: #f5e8e7; }
.field input, .field textarea, .input-shell, .search-field input, .filter-card select, .edit-form select { border-color: rgba(112,125,101,.22); background: #fffefa; }
.field input:focus, .field textarea:focus, .input-shell:focus-within, .search-field input:focus, .filter-card select:focus, .edit-form select:focus { border-color: #769276; box-shadow: 0 0 0 3px rgba(112,139,112,.11); }
.toggle-row { background: #fbfcf8; }
.switch:checked, .quick-filters a.active, .pagination .active, .media-view-toggle a.active { background: var(--sage-deep); }
.metric-card { border-color: rgba(106,120,94,.16); background: rgba(255,255,252,.86); box-shadow: 0 14px 34px rgba(71,86,65,.06); }
.metric-card.featured { border-color: #527157; background: linear-gradient(145deg,#69866c,#3f5f49); }
.metric-card.featured > small { color: rgba(246,250,240,.7); }
.metric-card > p { color: #849083; }
.admin-table th { color: #788176; background: #f5f7f0; border-bottom-color: rgba(106,120,94,.15); }
.admin-table td, .mini-row { border-color: rgba(106,120,94,.12); }
.admin-table tbody tr:hover { background: #f8fbf5; }
.status-pill.attending { color: #3e6c49; background: #e7f2e5; }
.status-pill.declined { color: #955e59; background: #faece9; }
.row-action, .bulk-download-button { color: #55745b; border-color: rgba(102,130,103,.25); background: #f3f8f0; }
.row-action:hover, .bulk-download-button:hover:not(:disabled) { border-color: var(--sage-deep); background: var(--sage-deep); }
.media-qr-card { background: linear-gradient(135deg,#fffefa,#f1f6ed); }
.media-admin-toolbar, .media-group-heading { border-color: rgba(106,120,94,.16); background: rgba(255,255,252,.86); box-shadow: 0 14px 34px rgba(71,86,65,.05); }
.media-group-heading > span { color: #55745b; background: #e9f0e6; }

/* Dashboard summary and participation details use the same calm invitation rhythm. */
.media-summary { min-height: 204px; display: block; text-align: left; background: linear-gradient(145deg,rgba(255,255,252,.92),rgba(242,248,238,.82)); }
.media-summary .data-card-heading { margin-bottom: 18px; }
.media-summary .data-card-heading h2 { margin-top: 5px; color: #344638; font: 500 19px var(--serif); }
.media-summary .data-card-heading p { margin-top: 4px; color: #7c877a; font-size: 10px; }
.media-summary-body { display: grid; grid-template-columns: 47px 1fr; align-items: center; gap: 12px; padding-top: 3px; }
.media-summary-icon { width: 47px; height: 47px; display: grid; place-items: center; border-radius: 15px; color: var(--sage-deep); background: #e6eee2; font: italic 22px var(--serif); }
.media-summary-body strong { display: block; color: #344638; font: 500 27px/1 var(--serif); }
.media-summary-body small { display: block; margin-top: 5px; color: #778378; font-size: 9px; }
.media-breakdown { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }
.media-breakdown span { padding: 6px 9px; border: 1px solid rgba(106,120,94,.14); border-radius: 999px; color: #637165; background: rgba(255,255,255,.66); font-size: 9px; }

.detail-hero { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 24px 27px; border: 1px solid rgba(106,120,94,.16); border-radius: 18px; background: linear-gradient(135deg,rgba(255,255,252,.94),rgba(244,248,239,.82)); box-shadow: 0 14px 34px rgba(71,86,65,.06); }
.detail-hero .detail-person h1 { margin: 0; color: #344238; font: 500 30px/1 var(--serif); }
.detail-hero .detail-person p { margin: 8px 0 0; color: #7a847b; font-size: 10px; }
.detail-hero .person-avatar.large { color: var(--sage-deep); background: #e6eee2; }
.detail-actions a { padding: 9px 12px; border: 1px solid rgba(106,120,94,.18); border-radius: 9px; color: var(--sage-deep); background: rgba(255,255,255,.66); font-size: 10px; font-weight: 750; }
.detail-actions a:hover { border-color: var(--sage-deep); background: var(--sage-deep); color: #fff; }
.detail-actions .danger-link { color: #a65c5a; }
.detail-stat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.detail-stat-grid article { min-height: 88px; padding: 17px 18px; border: 1px solid rgba(106,120,94,.15); border-radius: 14px; background: rgba(255,255,252,.86); box-shadow: 0 10px 24px rgba(71,86,65,.045); }
.detail-stat-grid article small { display: block; color: #7a847b; font-size: 9px; }
.detail-stat-grid article strong { display: block; margin-top: 10px; color: #354238; font: 500 17px var(--serif); }
.timeline-card { padding: 25px 27px; }
.timeline-card .data-card-heading h2 { color: #344638; font: 500 20px var(--serif); }
.timeline-card .data-card-heading p { margin-top: 5px; color: #7a847b; font-size: 10px; }
.timeline { margin-top: 18px; }
.timeline-item { padding-bottom: 27px; }
.timeline-item::before { left: 7px; background: rgba(112,139,112,.25); }
.timeline-dot { left: 1px; border-color: #d6e5d2; background: var(--sage-deep); }
.timeline-item > div { padding: 13px 15px; border: 1px solid rgba(106,120,94,.13); border-radius: 12px; background: #fbfcf8; }
.timeline-item strong { color: #45584a; }
.timeline-item p { color: #778378; }
.timeline-item time { display: block; margin: 8px 0 0; color: #9a9f99; font-size: 9px; }

@media (max-width: 860px) { .detail-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 580px) { .detail-hero { display: block; padding: 20px; } .detail-actions { margin-top: 17px; } .detail-stat-grid { grid-template-columns: 1fr; } }

.auth-shell { background: #fbfaf5; }
.auth-story { margin: 14px; border: 1px solid rgba(105,130,105,.22); background: linear-gradient(155deg,#8da38d,#55755d 52%,#3a5642); }
.auth-story::after { content: ""; position: absolute; width: 430px; height: 430px; right: -240px; bottom: -245px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 54px rgba(255,255,255,.035), 0 0 0 108px rgba(255,255,255,.02); }
.auth-story-content { z-index: 1; }
.auth-monogram { color: #fffdf8; }
.auth-story p { color: #fffdf8; }
.auth-panel { position: relative; overflow: hidden; background: rgba(255,254,250,.9); }
.auth-panel > :not(.floral-canopy) { position: relative; z-index: 2; }
.floral-canopy-auth { z-index: 1; height: auto; }
.floral-canopy-auth img { opacity: .68; }
.auth-back { color: #658066; }
.auth-heading h1 { font-family: var(--serif); font-weight: 500; }

@media (max-width: 820px) {
  .public-header { height: 76px; }
  .public-nav { background: rgba(255,254,249,.96); }
  .wedding-hero { grid-template-columns: 1fr; padding-top: 24px; gap: 34px; }
  .hero-copy { max-width: 590px; }
  .hero-art { min-height: 590px; }
  .hero-floral-canopy { width: 136%; }
  .invitation-card { min-height: 415px; padding: 72px 30px 33px; }
  .rsvp-intro { position: relative; top: auto; }
  .floral-canopy-auth { height: auto; }
}

@media (max-width: 520px) {
  .public-header { height: 70px; }
  .wedding-hero { padding-top: 18px; }
  .hero-copy { width: 100%; min-width: 0; }
  .hero-title { max-width: 100%; font-size: clamp(46px,12.5vw,56px); }
  .hero-lead { width: 100%; max-width: 100%; font-size: 14px; overflow-wrap: break-word; }
  .hero-art { min-height: 490px; }
  .hero-floral-canopy { top: 0; width: 142%; opacity: .72; }
  .hero-art::before { inset: 5% 5% 2%; border-radius: 180px 180px 16px 16px; }
  .invitation-card { width: 82%; min-height: 390px; padding: 48px 24px 30px; border-radius: 165px 165px 8px 8px; }
  .invitation-card::before { border-radius: 155px 155px 4px 4px; }
  .invitation-monogram { width: 46px; height: 46px; margin-bottom: 18px; }
  .invitation-script { font-size: 21px; }
  .invitation-kicker { margin-top: 17px; font-size: 7px; }
  .invitation-card h2 { margin: 20px 0 16px; font-size: 34px; }
  .invitation-date { margin-top: 16px; font-size: 14px; }
  .invitation-venue { margin-top: 10px; font-size: 9px; }
  .invitation-note { margin-top: 19px; }
  .floral-canopy-guest { height: auto; }
  .floral-canopy img { opacity: .7; transform: scaleY(1.16); }
  .rsvp-page, .memories-page { width: min(100% - 24px, 760px); padding-top: 118px; }
  .rsvp-intro { padding: 0 8px 21px; }
  .admin-sidebar::before { opacity: .12; }
}
