:root {
  --paper: #f8f6f1;
  --card: #fffdfa;
  --ink: #302d29;
  --muted: #81786d;
  --line: #e8dfd2;
  --brand: #dfa022;
  --brand-dark: #b97713;
  --brand-soft: #f7e8c8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

.nav {
  width: min(1120px, calc(100% - 48px));
  height: 88px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 750;
  text-decoration: none;
}
.brand img {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

main { flex: 1; }

.hero {
  width: min(1120px, calc(100% - 48px));
  min-height: max(650px, calc(100vh - 228px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: 90px;
}
.hero-copy, .ledger { min-width: 0; }
.eyebrow, .section-label {
  margin: 0 0 24px;
  color: var(--brand-dark);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .2em;
}
h1 {
  margin: 0;
  font-size: clamp(52px, 5.7vw, 76px);
  line-height: 1.14;
  letter-spacing: -.045em;
}
.intro {
  max-width: 590px;
  margin: 30px 0 28px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.95;
}
.project-tags {
  display: flex;
  gap: 10px;
}
.project-tags span {
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 253, 250, .75);
  color: var(--muted);
  font-size: 13px;
}

.ledger {
  position: relative;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--card);
  box-shadow: 0 30px 80px rgba(75, 58, 31, .1);
  transform: rotate(1.5deg);
}
.ledger::before {
  position: absolute;
  z-index: -1;
  inset: 16px -14px -16px 14px;
  content: "";
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--brand-soft);
}
.ledger-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
.ledger-head > div {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.ledger-label {
  color: var(--muted);
  font-size: 13px;
}
.ledger-head strong { font-size: 21px; }
.ledger-head img {
  width: 56px;
  height: 56px;
  border-radius: 15px;
}
.ledger-grid {
  display: grid;
  gap: 12px;
  margin-top: 22px;
}
.ledger-grid article {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}
.record-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 13px;
  font-size: 15px;
  font-weight: 750;
}
.gift-icon {
  background: #f8e9e4;
  color: #aa5644;
}
.loan-icon {
  background: var(--brand-soft);
  color: var(--brand-dark);
}
.ledger-grid strong { font-size: 16px; }
.ledger-grid p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.ledger-line {
  margin-top: 24px;
  display: grid;
  gap: 9px;
}
.ledger-line span {
  height: 7px;
  border-radius: 999px;
  background: #eee8df;
}
.ledger-line span:nth-child(1) { width: 76%; }
.ledger-line span:nth-child(2) { width: 92%; }
.ledger-line span:nth-child(3) { width: 58%; }

footer {
  width: min(1120px, calc(100% - 48px));
  margin: 0 auto;
  padding: 28px 0 42px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}
.footer-copy {
  display: flex;
  justify-content: space-between;
}
.icp {
  display: inline-block;
  margin-top: 20px;
  color: var(--muted);
  text-decoration: none;
}
.icp:hover { color: var(--brand-dark); }

@media (max-width: 760px) {
  .nav {
    width: calc(100% - 36px);
    height: 72px;
  }
  .hero {
    width: calc(100% - 36px);
    min-height: auto;
    padding: 66px 0 80px;
    grid-template-columns: minmax(0, 1fr);
    gap: 64px;
  }
  h1 { font-size: 48px; }
  .intro { font-size: 16px; }
  .ledger {
    width: calc(100% - 10px);
    padding: 24px;
    transform: none;
  }
  .ledger::before { inset: 10px -10px -10px 10px; }
  footer { width: calc(100% - 36px); }
  .footer-copy {
    flex-direction: column;
    gap: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
