:root {
  --site-ink: #191713;
  --site-muted: #6f6a60;
  --site-soft: #fbf7ef;
  --site-paper: #fffdf8;
  --site-line: #e8dfd1;
  --site-clay: #c96442;
  --site-clay-dark: #9f452c;
  --site-sage: #5d705f;
  --site-blue: #2f5f7d;
}

body {
  color: var(--site-ink);
  background: var(--site-soft);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
}

svg[aria-hidden="true"] {
  max-width: 1.125rem;
  max-height: 1.125rem;
}

.site-shell {
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(25, 23, 19, .035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(25, 23, 19, .035) 1px, transparent 1px),
    var(--site-soft);
  background-size: 56px 56px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  border-bottom: 1px solid rgba(232, 223, 209, .9);
  background: rgba(251, 247, 239, .92);
  backdrop-filter: blur(18px);
}

.site-header-inner {
  width: min(1180px, calc(100% - 48px));
  height: 74px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--site-ink);
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.site-brand:hover {
  color: var(--site-ink);
}

.site-brand-mark {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9cabb;
  border-radius: 8px;
  color: var(--site-clay-dark);
  background: #f3eadf;
  font-size: 15px;
  font-weight: 800;
  overflow: hidden;
}

.site-brand-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.site-nav-link {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border-radius: 8px;
  color: #625d54;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.site-nav-link svg,
.site-menu-button svg,
.home-action svg,
.home-meta-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex: 0 0 auto;
}

.site-nav-link:hover,
.site-nav-link.active {
  color: var(--site-ink);
  background: #efe6db;
}

.site-nav-link:hover {
  transform: translateY(-1px);
}

.member-link {
  color: var(--site-clay-dark);
}

.site-menu-button {
  display: none;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  color: var(--site-ink);
  background: var(--site-paper);
}

.site-shell #main-container {
  padding-top: 0;
  background: transparent;
}

.home-page {
  min-height: calc(100vh - 146px);
}

.home-hero {
  width: min(1180px, calc(100% - 48px));
  min-height: 640px;
  margin: 0 auto;
  padding: 64px 0 54px;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(330px, .74fr);
  align-items: center;
  gap: 54px;
  position: relative;
}

.home-hero::after {
  content: "";
  position: absolute;
  left: 46%;
  bottom: 36px;
  width: 42%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201, 100, 66, .34), transparent);
  opacity: .85;
}

.home-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 22px;
  color: var(--site-clay-dark);
  font-size: 14px;
  font-weight: 700;
}

.home-kicker::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--site-clay);
  box-shadow: 0 0 0 5px rgba(201, 100, 66, .13);
}

.home-title {
  max-width: 720px;
  margin: 0;
  color: var(--site-ink);
  font-size: 76px;
  line-height: .96;
  font-weight: 760;
  letter-spacing: 0;
}

.home-lede {
  max-width: 620px;
  margin: 28px 0 0;
  color: var(--site-muted);
  font-size: 20px;
  line-height: 1.7;
}

.home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.home-action {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.home-action.primary {
  color: #fff;
  background: var(--site-ink);
  box-shadow: 0 8px 24px rgba(25, 23, 19, .16);
}

.home-action.primary:hover {
  color: #fff;
  background: #2b2822;
}

.home-action.secondary {
  color: var(--site-ink);
  border-color: var(--site-line);
  background: rgba(255, 253, 248, .72);
}

.home-action.secondary:hover {
  color: var(--site-ink);
  background: #fff;
}

.home-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 44px;
  color: var(--site-muted);
}

.home-proof-item {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 650;
}

.home-proof-item::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--site-sage);
}

.home-panel {
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, .86);
  box-shadow: 0 24px 70px rgba(55, 45, 32, .12);
  overflow: hidden;
  position: relative;
}

.home-panel::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 20px;
  width: 74px;
  height: 74px;
  border: 1px solid rgba(201, 100, 66, .22);
  border-radius: 50%;
  opacity: .55;
}

.home-butterflies {
  position: absolute;
  top: 78px;
  right: 36px;
  width: 260px;
  height: 180px;
  pointer-events: none;
  z-index: 2;
}

.mini-butterfly {
  position: absolute;
  width: 30px;
  height: 23px;
  color: var(--site-clay);
  opacity: .82;
  transform: rotate(var(--r, 0deg)) scale(var(--s, 1));
}

.mini-butterfly::before,
.mini-butterfly::after,
.mini-butterfly i::before,
.mini-butterfly i::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.mini-butterfly::before,
.mini-butterfly::after {
  top: 2px;
  width: 13px;
  height: 16px;
  border-radius: 14px 14px 8px 14px;
  opacity: .82;
}

.mini-butterfly::before {
  left: 0;
  transform: skewY(-14deg) rotate(-10deg);
}

.mini-butterfly::after {
  right: 0;
  transform: skewY(14deg) rotate(10deg) scaleX(-1);
}

.mini-butterfly i::before {
  left: 13px;
  top: 7px;
  width: 4px;
  height: 13px;
  border-radius: 5px;
  background: #6d5746;
}

.mini-butterfly i::after {
  left: 7px;
  top: 15px;
  width: 16px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  opacity: .36;
}

.hb1 { --r: -18deg; --s: .92; top: 4px; right: 92px; color: #c96442; }
.hb2 { --r: 18deg; --s: .68; top: 34px; right: 32px; color: #6b7a5e; }
.hb3 { --r: -8deg; --s: .78; top: 74px; right: 118px; color: #d19a5d; }
.hb4 { --r: 28deg; --s: .58; top: 116px; right: 58px; color: #2f5f7d; }
.hb5 { --r: -24deg; --s: .54; top: 128px; right: 162px; color: #9f452c; }

.home-panel-header {
  padding: 22px 24px;
  border-bottom: 1px solid var(--site-line);
  background: #f6efe5;
}

.home-panel-header h2 {
  margin: 0;
  color: var(--site-ink);
  font-size: 18px;
  font-weight: 760;
}

.home-panel-header p {
  margin: 7px 0 0;
  color: var(--site-muted);
  font-size: 14px;
}

.home-panel-body {
  padding: 24px;
}

.home-count {
  display: flex;
  align-items: end;
  gap: 10px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--site-line);
}

.home-count strong {
  color: var(--site-ink);
  font-size: 58px;
  line-height: .9;
  font-weight: 780;
}

.home-count span {
  padding-bottom: 6px;
  color: var(--site-muted);
  font-size: 15px;
  font-weight: 650;
}

.home-meta {
  display: grid;
  gap: 14px;
  margin: 22px 0 0;
}

.home-meta-row {
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--site-muted);
  font-size: 14px;
}

.home-meta-icon {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--site-blue);
  background: #e8f0f3;
}

.site-footer {
  border-top: 1px solid var(--site-line);
  background: rgba(255, 253, 248, .86);
}

.site-footer-inner {
  width: min(1180px, calc(100% - 48px));
  min-height: 72px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: var(--site-muted);
  font-size: 14px;
}

.site-footer a {
  color: var(--site-ink);
  font-weight: 700;
}

.site-footer-brand {
  margin-right: 8px;
}

.site-heart {
  color: var(--site-clay);
}

.home-intro-marquee {
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
  background: rgba(255, 253, 248, .52);
  overflow: hidden;
}

.marquee-line {
  width: min(1180px, calc(100% - 48px));
  min-height: 88px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
  gap: 1px;
  color: var(--site-muted);
  font-size: 15px;
  font-weight: 760;
}

.marquee-line span {
  min-height: 88px;
  display: flex;
  align-items: center;
  border-left: 1px solid rgba(232, 223, 209, .8);
}

.marquee-line span:last-child {
  border-right: 1px solid rgba(232, 223, 209, .8);
}

.marquee-line span::before {
  content: "";
  width: 7px;
  height: 7px;
  margin: 0 13px 0 18px;
  border-radius: 50%;
  background: var(--site-clay);
  box-shadow: 0 0 0 5px rgba(201, 100, 66, .12);
}

.butterfly-band,
.butterfly-story,
.promise-section,
.flow-section,
.editorial-section,
.closing-section {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
}

.butterfly-band {
  position: relative;
  padding: 104px 0 72px;
  border-top: 1px solid var(--site-line);
}

.butterfly-field {
  position: absolute;
  top: 44px;
  right: 0;
  width: min(450px, 44vw);
  height: 300px;
  pointer-events: none;
}

.butterfly-ghost {
  position: absolute;
  right: 76px;
  top: -42px;
  color: rgba(232, 223, 209, .72);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 286px;
  line-height: 1;
  font-weight: 700;
  transform: rotate(-4deg);
}

.butterfly {
  position: absolute;
  width: 34px;
  height: 26px;
  color: var(--site-clay);
  opacity: .78;
  transform: rotate(var(--r, 0deg)) scale(var(--s, 1));
}

.butterfly::before,
.butterfly::after,
.butterfly i::before,
.butterfly i::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.butterfly::before,
.butterfly::after {
  top: 2px;
  width: 15px;
  height: 18px;
  border-radius: 14px 14px 8px 14px;
  opacity: .8;
}

.butterfly::before {
  left: 0;
  transform: skewY(-14deg) rotate(-10deg);
}

.butterfly::after {
  right: 0;
  transform: skewY(14deg) rotate(10deg) scaleX(-1);
}

.butterfly i::before {
  left: 15px;
  top: 8px;
  width: 4px;
  height: 14px;
  border-radius: 5px;
  background: #6d5746;
}

.butterfly i::after {
  left: 8px;
  top: 17px;
  width: 18px;
  height: 10px;
  border-radius: 50%;
  background: currentColor;
  opacity: .36;
}

.b1 { --r: -18deg; --s: 1.08; top: 14px; right: 214px; color: #c96442; }
.b2 { --r: 20deg; --s: .76; top: 38px; right: 128px; color: #6b7a5e; }
.b3 { --r: -6deg; --s: .92; top: 74px; right: 232px; color: #d19a5d; }
.b4 { --r: 31deg; --s: .66; top: 96px; right: 144px; color: #2f5f7d; }
.b5 { --r: -32deg; --s: .72; top: 136px; right: 230px; color: #9f452c; }
.b6 { --r: 12deg; --s: 1; top: 176px; right: 132px; color: #7d6f60; }
.b7 { --r: -12deg; --s: .58; top: 220px; right: 226px; color: #b97157; }
.b8 { --r: 26deg; --s: .56; top: 238px; right: 116px; color: #6d7f87; }
.b9 { --r: 14deg; --s: .64; top: 20px; right: 304px; color: #9f452c; }
.b10 { --r: -24deg; --s: .54; top: 68px; right: 310px; color: #6d7f87; }
.b11 { --r: 18deg; --s: .82; top: 122px; right: 320px; color: #c96442; }
.b12 { --r: -10deg; --s: .62; top: 180px; right: 302px; color: #6b7a5e; }
.b13 { --r: 28deg; --s: .68; top: 104px; right: 64px; color: #b97157; }
.b14 { --r: -18deg; --s: .5; top: 186px; right: 42px; color: #d19a5d; }

@media (prefers-reduced-motion: no-preference) {
  .butterfly,
  .mini-butterfly,
  .mosaic-butterfly {
    animation: butterfly-float 7s ease-in-out infinite;
    animation-delay: calc(var(--s, 1) * -1.6s);
  }

  @keyframes butterfly-float {
    0%,
    100% {
      translate: 0 0;
    }

    50% {
      translate: 0 -8px;
    }
  }
}

.section-heading {
  max-width: 760px;
  position: relative;
  z-index: 1;
}

.section-heading.compact {
  max-width: 640px;
}

.section-eyebrow {
  margin: 0 0 16px;
  color: var(--site-clay-dark);
  font-size: 13px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.section-heading h2,
.editorial-copy h2,
.closing-card h2 {
  margin: 0;
  color: var(--site-ink);
  font-size: 48px;
  line-height: 1.06;
  font-weight: 760;
  letter-spacing: 0;
}

.section-heading > p:not(.section-eyebrow),
.editorial-copy > p:not(.section-eyebrow) {
  max-width: 680px;
  margin: 22px 0 0;
  color: var(--site-muted);
  font-size: 18px;
  line-height: 1.75;
}

.intro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 58px;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: var(--site-line);
  overflow: hidden;
}

.intro-item {
  min-height: 260px;
  padding: 30px;
  background: rgba(255, 253, 248, .82);
}

.intro-number {
  color: var(--site-clay-dark);
  font-size: 13px;
  font-weight: 760;
}

.intro-item h3,
.flow-step h3 {
  margin: 42px 0 12px;
  color: var(--site-ink);
  font-size: 24px;
  font-weight: 760;
}

.intro-item p,
.flow-step p {
  margin: 0;
  color: var(--site-muted);
  font-size: 15px;
  line-height: 1.8;
}

.butterfly-story {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: 68px;
  align-items: center;
  padding: 92px 0;
  border-top: 1px solid var(--site-line);
}

.story-copy h2,
.promise-heading h2 {
  margin: 0;
  color: var(--site-ink);
  font-size: 52px;
  line-height: 1.04;
  font-weight: 760;
  letter-spacing: 0;
}

.story-copy > p:not(.section-eyebrow) {
  max-width: 680px;
  margin: 22px 0 0;
  color: var(--site-muted);
  font-size: 18px;
  line-height: 1.75;
}

.butterfly-mosaic {
  position: relative;
  min-height: 430px;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, .78);
  box-shadow: 0 24px 70px rgba(55, 45, 32, .12);
  overflow: hidden;
}

.butterfly-mosaic::before {
  content: "5";
  position: absolute;
  right: 42px;
  top: 22px;
  color: rgba(232, 223, 209, .82);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 310px;
  line-height: .86;
  font-weight: 700;
  transform: rotate(-5deg);
}

.mosaic-butterfly {
  position: absolute;
  width: 42px;
  height: 32px;
  color: var(--site-clay);
  opacity: .86;
  transform: rotate(var(--r, 0deg)) scale(var(--s, 1));
}

.mosaic-butterfly::before,
.mosaic-butterfly::after,
.mosaic-butterfly i::before,
.mosaic-butterfly i::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.mosaic-butterfly::before,
.mosaic-butterfly::after {
  top: 2px;
  width: 18px;
  height: 22px;
  border-radius: 16px 16px 9px 16px;
  opacity: .82;
}

.mosaic-butterfly::before {
  left: 0;
  transform: skewY(-14deg) rotate(-10deg);
}

.mosaic-butterfly::after {
  right: 0;
  transform: skewY(14deg) rotate(10deg) scaleX(-1);
}

.mosaic-butterfly i::before {
  left: 19px;
  top: 9px;
  width: 4px;
  height: 16px;
  border-radius: 5px;
  background: #6d5746;
}

.mosaic-butterfly i::after {
  left: 10px;
  top: 20px;
  width: 22px;
  height: 12px;
  border-radius: 50%;
  background: currentColor;
  opacity: .34;
}

.mb1 { --r: -18deg; --s: 1.08; top: 70px; right: 180px; color: #c96442; }
.mb2 { --r: 20deg; --s: .82; top: 112px; right: 92px; color: #6b7a5e; }
.mb3 { --r: -7deg; --s: 1; top: 164px; right: 192px; color: #d19a5d; }
.mb4 { --r: 31deg; --s: .74; top: 210px; right: 112px; color: #2f5f7d; }
.mb5 { --r: -28deg; --s: .78; top: 268px; right: 196px; color: #9f452c; }
.mb6 { --r: 12deg; --s: .92; top: 310px; right: 102px; color: #7d6f60; }
.mb7 { --r: -12deg; --s: .66; top: 92px; right: 286px; color: #b97157; }
.mb8 { --r: 26deg; --s: .62; top: 248px; right: 46px; color: #6d7f87; }
.mb9 { --r: -20deg; --s: .56; top: 332px; right: 284px; color: #c96442; }

.promise-section {
  padding: 92px 0 76px;
  border-top: 1px solid var(--site-line);
}

.promise-heading {
  max-width: 780px;
}

.promise-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 52px;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: var(--site-line);
  overflow: hidden;
}

.promise-grid article {
  min-height: 220px;
  padding: 26px;
  background: rgba(255, 253, 248, .84);
}

.promise-grid strong {
  display: block;
  color: var(--site-ink);
  font-size: 20px;
  font-weight: 760;
}

.promise-grid p {
  margin: 34px 0 0;
  color: var(--site-muted);
  font-size: 15px;
  line-height: 1.8;
}

.flow-section {
  padding: 88px 0;
}

.flow-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 46px;
  position: relative;
}

.flow-rail::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 24px;
  right: 24px;
  height: 1px;
  background: var(--site-line);
}

.flow-step {
  position: relative;
  padding-top: 68px;
}

.flow-step span {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7c7b6;
  border-radius: 50%;
  color: var(--site-ink);
  background: var(--site-soft);
  font-weight: 760;
}

.editorial-section {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
  gap: 64px;
  padding: 80px 0;
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}

.feature-list {
  display: grid;
  border-top: 1px solid var(--site-line);
}

.feature-row {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 24px;
  padding: 22px 0;
  border-bottom: 1px solid var(--site-line);
}

.feature-row strong {
  color: var(--site-ink);
  font-size: 16px;
}

.feature-row span {
  color: var(--site-muted);
  line-height: 1.75;
}

.closing-section {
  padding: 86px 0 106px;
}

.closing-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  padding: 34px;
  border: 1px solid #dac9b7;
  border-radius: 8px;
  background: #efe5d8;
}

.closing-card h2 {
  font-size: 38px;
}

.h5-page .h5-shell {
  width: min(1180px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 56px 0 80px;
}

.h5-page-heading {
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--site-line);
}

.h5-page-heading h1 {
  max-width: 880px;
  margin: 0;
  color: var(--site-ink);
  font-size: 48px;
  line-height: 1.06;
  font-weight: 780;
  letter-spacing: 0;
  word-break: break-word;
}

.h5-page-heading p:not(.section-eyebrow) {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--site-muted);
  font-size: 16px;
  line-height: 1.7;
}

.h5-card,
.site-shell .block.block-rounded {
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, .88);
  box-shadow: 0 18px 54px rgba(55, 45, 32, .09);
  overflow: hidden;
}

.site-shell .block-header-default {
  border-bottom: 1px solid var(--site-line);
  background: #f6efe5;
}

.site-shell .block-title,
.site-shell .content-heading {
  color: var(--site-ink);
  font-weight: 760;
}

.site-shell .form-control {
  border-color: #ded1c1;
  border-radius: 8px;
  color: var(--site-ink);
  background: rgba(255, 253, 248, .94);
}

.site-shell .form-control:focus {
  border-color: var(--site-clay);
  box-shadow: 0 0 0 3px rgba(201, 100, 66, .14);
}

.site-shell .btn {
  border-radius: 8px;
  font-weight: 700;
}

.site-shell .btn-primary {
  border-color: var(--site-ink);
  background: var(--site-ink);
}

.site-shell .btn-primary:hover,
.site-shell .btn-primary:focus {
  border-color: #2b2822;
  background: #2b2822;
}

.site-shell .btn-secondary,
.site-shell .btn-default {
  border-color: var(--site-line);
  color: var(--site-ink);
  background: var(--site-paper);
}

.upload-layout {
  row-gap: 24px;
}

.upload-card .block-content,
.upload-help .block-content {
  padding: 26px;
}

.upload-card h3 {
  color: var(--site-ink);
  font-size: 24px;
  font-weight: 760;
}

.upload-help ul {
  display: grid;
  gap: 14px;
  margin-bottom: 0;
  color: var(--site-muted);
  line-height: 1.7;
}

#upload_block {
  min-height: 84px;
  display: grid;
  align-items: center;
  justify-items: center;
  border: 1px dashed #dac9b7;
  border-radius: 8px;
  background: rgba(246, 239, 229, .46);
}

.mobile-file-table {
  margin-bottom: 0;
}

.mobile-file-table th {
  color: var(--site-ink);
  font-weight: 760;
  background: #f6efe5;
}

.mobile-file-table td {
  vertical-align: middle;
  word-break: break-word;
}

.file-detail-layout {
  row-gap: 24px;
}

.file-preview-box {
  min-height: 260px;
  display: grid;
  place-items: center;
}

.file-preview-image {
  max-width: min(100%, 520px);
  height: auto;
  border-radius: 8px;
}

.audio-player {
  width: min(100%, 520px);
}

.video-player {
  max-height: 70vh;
  border-radius: 8px;
  background: #000;
}

.file-detail-page .nav-tabs {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid var(--site-line);
}

.file-detail-page .nav-tabs .nav-link {
  white-space: nowrap;
  color: var(--site-muted);
  font-weight: 700;
}

.file-detail-page .nav-tabs .nav-link.active {
  color: var(--site-ink);
  background: #f6efe5;
}

.qr-image {
  width: min(180px, 100%);
  height: auto;
}

.h5-page .pagination {
  flex-wrap: wrap;
  gap: 4px;
}

.member-login-page {
  min-height: auto;
}

.login-stage {
  width: min(1180px, calc(100% - 48px));
  min-height: calc(100vh - 146px);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 36px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 460px);
  gap: 48px;
  align-items: center;
}

.login-brief h1 {
  max-width: 680px;
  margin: 0;
  color: var(--site-ink);
  font-size: 52px;
  line-height: 1.02;
  font-weight: 780;
  letter-spacing: 0;
}

.login-brief > p:not(.section-eyebrow) {
  max-width: 590px;
  margin: 18px 0 0;
  color: var(--site-muted);
  font-size: 17px;
  line-height: 1.65;
}

.login-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
  color: var(--site-muted);
  font-weight: 700;
}

.login-notes span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.login-notes span::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--site-sage);
}

.login-card {
  position: relative;
  padding: 26px;
  border: 1px solid var(--site-line);
  border-radius: 8px;
  background: rgba(255, 253, 248, .88);
  box-shadow: 0 24px 70px rgba(55, 45, 32, .12);
  overflow: hidden;
}

.login-card-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.login-card-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: var(--site-blue);
  background: #e8f0f3;
}

.login-card-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.login-card-header h2 {
  margin: 0;
  color: var(--site-ink);
  font-size: 24px;
  font-weight: 760;
}

.login-card-header p {
  margin: 5px 0 0;
  color: var(--site-muted);
}

.login-alert {
  position: relative;
  z-index: 1;
  margin-bottom: 18px;
  padding: 12px 14px;
  border: 1px solid rgba(159, 69, 44, .24);
  border-radius: 8px;
  color: var(--site-clay-dark);
  background: #f8e9df;
}

.login-form {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
}

.login-form label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.login-form label > span {
  color: var(--site-muted);
  font-size: 13px;
  font-weight: 760;
}

.login-form input {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #ded1c1;
  border-radius: 8px;
  color: var(--site-ink);
  background: rgba(255, 253, 248, .94);
  outline: none;
}

.login-form input:focus {
  border-color: var(--site-clay);
  box-shadow: 0 0 0 3px rgba(201, 100, 66, .14);
}

.login-form .home-action {
  width: 100%;
  justify-content: center;
  margin-top: 6px;
}

.login-helper {
  position: relative;
  z-index: 1;
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--site-line);
  color: var(--site-muted);
  font-size: 14px;
}

.login-card-art {
  position: absolute;
  top: 12px;
  right: 16px;
  width: 118px;
  height: 92px;
  opacity: .45;
}

.login-butterfly {
  position: absolute;
  width: 30px;
  height: 23px;
  color: var(--site-clay);
  transform: rotate(var(--r, 0deg)) scale(var(--s, 1));
}

.login-butterfly::before,
.login-butterfly::after,
.login-butterfly i::before,
.login-butterfly i::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.login-butterfly::before,
.login-butterfly::after {
  top: 2px;
  width: 13px;
  height: 16px;
  border-radius: 14px 14px 8px 14px;
  opacity: .82;
}

.login-butterfly::before {
  left: 0;
  transform: skewY(-14deg) rotate(-10deg);
}

.login-butterfly::after {
  right: 0;
  transform: skewY(14deg) rotate(10deg) scaleX(-1);
}

.login-butterfly i::before {
  left: 13px;
  top: 7px;
  width: 4px;
  height: 13px;
  border-radius: 5px;
  background: #6d5746;
}

.login-butterfly i::after {
  left: 7px;
  top: 15px;
  width: 16px;
  height: 9px;
  border-radius: 50%;
  background: currentColor;
  opacity: .36;
}

.lb1 { --r: -18deg; --s: .9; top: 4px; right: 82px; color: #c96442; }
.lb2 { --r: 22deg; --s: .7; top: 36px; right: 34px; color: #6b7a5e; }
.lb3 { --r: -8deg; --s: .78; top: 68px; right: 88px; color: #d19a5d; }
.lb4 { --r: 28deg; --s: .6; top: 92px; right: 20px; color: #2f5f7d; }

@media (prefers-reduced-motion: no-preference) {
  .login-butterfly {
    animation: login-butterfly-float 7s ease-in-out infinite;
    animation-delay: calc(var(--s, 1) * -1.4s);
  }

  @keyframes login-butterfly-float {
    0%,
    100% {
      translate: 0 0;
    }

    50% {
      translate: 0 -7px;
    }
  }
}

@media (max-width: 991px) {
  .site-header-inner,
  .site-footer-inner,
  .home-hero,
  .butterfly-band,
  .butterfly-story,
  .promise-section,
  .flow-section,
  .editorial-section,
  .closing-section,
  .login-stage,
  .h5-page .h5-shell {
    width: min(100% - 32px, 720px);
  }

  .site-nav {
    position: absolute;
    top: 64px;
    left: 16px;
    right: 16px;
    display: none;
    padding: 10px;
    border: 1px solid var(--site-line);
    border-radius: 8px;
    background: var(--site-paper);
    box-shadow: 0 18px 45px rgba(55, 45, 32, .12);
  }

  .site-nav-open .site-nav {
    display: grid;
    gap: 4px;
  }

  .site-menu-button {
    display: inline-flex;
  }

  .home-hero {
    min-height: auto;
    padding: 56px 0;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .home-butterflies {
    top: 48px;
    right: 20px;
  }

  .login-stage {
    min-height: auto;
    padding: 56px 0;
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .home-title {
    font-size: 52px;
  }

  .section-heading h2,
  .editorial-copy h2,
  .story-copy h2,
  .promise-heading h2,
  .h5-page-heading h1,
  .login-brief h1 {
    font-size: 38px;
  }

  .home-lede {
    font-size: 18px;
  }

  .butterfly-field {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    height: 220px;
    margin-bottom: 22px;
    overflow: hidden;
  }

  .butterfly-ghost {
    top: -34px;
    right: 42px;
    font-size: 230px;
  }

  .b1 { top: 10px; right: 170px; }
  .b2 { top: 30px; right: 102px; }
  .b3 { top: 56px; right: 184px; }
  .b4 { top: 78px; right: 114px; }
  .b5 { top: 108px; right: 184px; }
  .b6 { top: 138px; right: 104px; }
  .b7 { top: 174px; right: 180px; }
  .b8 { top: 186px; right: 92px; }
  .b9 { top: 16px; right: 244px; }
  .b10 { top: 52px; right: 250px; }
  .b11 { top: 94px; right: 254px; }
  .b12 { top: 142px; right: 240px; }
  .b13 { top: 84px; right: 48px; }
  .b14 { top: 146px; right: 34px; }

  .intro-grid,
  .promise-grid,
  .flow-rail,
  .butterfly-story,
  .editorial-section {
    grid-template-columns: 1fr;
  }

  .flow-rail::before {
    display: none;
  }

  .flow-section,
  .butterfly-story,
  .promise-section,
  .editorial-section {
    padding: 58px 0;
  }

  .marquee-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .butterfly-mosaic {
    min-height: 320px;
  }

  .butterfly-mosaic::before {
    top: 14px;
    right: 28px;
    font-size: 230px;
  }

  .closing-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 575px) {
  .site-header-inner {
    height: 66px;
    width: calc(100% - 28px);
    gap: 12px;
  }

  .site-brand {
    font-size: 18px;
    min-width: 0;
  }

  .site-brand span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .home-title {
    font-size: 42px;
  }

  .home-butterflies {
    display: none;
  }

  .login-brief h1 {
    font-size: 38px;
  }

  .butterfly-band {
    padding-top: 64px;
  }

  .butterfly-field {
    height: 168px;
  }

  .butterfly-ghost {
    top: -24px;
    right: 18px;
    font-size: 176px;
  }

  .butterfly {
    width: 30px;
    height: 23px;
  }

  .b1 { top: 8px; right: 126px; }
  .b2 { top: 22px; right: 72px; }
  .b3 { top: 42px; right: 136px; }
  .b4 { top: 58px; right: 84px; }
  .b5 { top: 82px; right: 136px; }
  .b6 { top: 104px; right: 76px; }
  .b7 { top: 132px; right: 132px; }
  .b8 { top: 140px; right: 68px; }
  .b9 { top: 12px; right: 184px; }
  .b10 { top: 38px; right: 190px; }
  .b11 { top: 72px; right: 194px; }
  .b12 { top: 108px; right: 180px; }
  .b13 { top: 64px; right: 32px; }
  .b14 { top: 110px; right: 22px; }

  .section-heading h2,
  .editorial-copy h2,
  .story-copy h2,
  .promise-heading h2,
  .closing-card h2 {
    font-size: 32px;
  }

  .home-actions {
    flex-direction: column;
  }

  .home-action {
    width: 100%;
    justify-content: center;
  }

  .h5-page .h5-shell {
    width: calc(100% - 28px);
    padding: 34px 0 56px;
  }

  .h5-page .py-5 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .h5-page-heading {
    margin-bottom: 20px;
    padding-bottom: 18px;
  }

  .h5-page-heading h1 {
    font-size: 32px;
  }

  .h5-page-heading p:not(.section-eyebrow) {
    font-size: 15px;
  }

  .site-shell .block-content,
  .upload-card .block-content,
  .upload-help .block-content {
    padding: 18px;
  }

  .upload-card h3 {
    font-size: 20px;
  }

  #uploadFile,
  .file-detail-page .btn,
  .myfile-page .btn,
  .filelist-page .btn {
    width: 100%;
    margin-top: 8px;
  }

  .mobile-file-table,
  .mobile-file-table thead,
  .mobile-file-table tbody,
  .mobile-file-table th,
  .mobile-file-table td,
  .mobile-file-table tr {
    display: block;
  }

  .mobile-file-table thead {
    display: none;
  }

  .mobile-file-table {
    border: 0;
    background: transparent;
  }

  .mobile-file-table tbody {
    display: grid;
    gap: 14px;
  }

  .mobile-file-table tr {
    border: 1px solid var(--site-line);
    border-radius: 8px;
    background: rgba(255, 253, 248, .9);
    box-shadow: 0 12px 32px rgba(55, 45, 32, .08);
    overflow: hidden;
  }

  .mobile-file-table td {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid var(--site-line);
    text-align: left;
  }

  .mobile-file-table td:last-child {
    border-bottom: 0;
  }

  .mobile-file-table td::before {
    content: attr(data-label);
    color: var(--site-muted);
    font-size: 13px;
    font-weight: 760;
  }

  .mobile-file-table td[data-label="文件名"] {
    grid-template-columns: 1fr;
    font-size: 16px;
    font-weight: 760;
  }

  .mobile-file-table td[data-label="文件名"]::before {
    content: "";
    display: none;
  }

  .mobile-file-table td[data-label="操作"] {
    grid-template-columns: 1fr;
  }

  .mobile-file-table td[data-label="操作"]::before {
    display: none;
  }

  .mobile-file-table td[data-label="操作"] .btn,
  .mobile-file-table td[data-label="操作"] a {
    display: inline-flex;
    justify-content: center;
    margin-right: 0;
  }

  .file-detail-page .container {
    max-width: none;
  }

  .file-preview-box {
    min-height: 180px;
  }

  .file-detail-page .form-group.row {
    margin-left: 0;
    margin-right: 0;
  }

  .file-detail-page .form-group.row > label,
  .file-detail-page .form-group.row > div {
    padding-left: 0;
    padding-right: 0;
  }

  .file-detail-page .input-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .file-detail-page .input-group .form-control,
  .file-detail-page .input-group-append,
  .file-detail-page .input-group-append .btn {
    width: 100%;
  }

  .file-detail-page .input-group-append {
    margin-left: 0;
  }

  .file-detail-page .tab-content {
    padding: 16px !important;
  }

  .myfile-page .float-left,
  .myfile-page .float-right,
  .filelist-page .float-left,
  .filelist-page .float-right {
    float: none !important;
    width: 100%;
  }

  .myfile-page .pagination,
  .filelist-page .pagination {
    justify-content: flex-start;
    margin-top: 14px;
  }

  .file-detail-page table,
  .file-detail-page tbody,
  .file-detail-page tr,
  .file-detail-page th,
  .file-detail-page td {
    display: block;
    width: 100%;
  }

  .file-detail-page th {
    border-bottom: 0;
    color: var(--site-muted);
    background: #f6efe5;
  }

  .file-detail-page td {
    border-top: 0;
  }

  .site-footer-inner {
    padding: 18px 0;
    flex-direction: column;
    align-items: flex-start;
  }

  .intro-item {
    min-height: auto;
    padding: 24px;
  }

  .marquee-line {
    grid-template-columns: 1fr;
  }

  .marquee-line,
  .marquee-line span {
    min-height: 58px;
  }

  .promise-grid article {
    min-height: auto;
    padding: 24px;
  }

  .feature-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
