.contract-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(85px, 9vw, 130px) 24px;
  text-align: center;
  background: radial-gradient(ellipse at 50% 58%, #563322 0%, #24171a 46%, #151011 78%);
  border-bottom: 1px solid var(--line);
}

.contract-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(850px, 100vw);
  aspect-ratio: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, #e0a44f2e 0%, #b7662614 38%, transparent 70%);
  pointer-events: none;
}

.contract-section h2 {
  margin: 0 0 16px;
  color: var(--light-gold);
  font: 600 clamp(2.3rem, 5vw, 5rem)/1.1 var(--serif);
}

.contract-section > p {
  margin: 0 auto 42px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
}

.contract-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  max-width: 900px;
  margin: auto;
  padding: clamp(35px, 6vw, 65px) 24px 36px;
  border: 1px solid #e7b567a8;
  background: linear-gradient(145deg, #3b2925eb, #1a1215f5 65%);
  box-shadow: 0 24px 60px #0009, 0 0 35px #d6ad674d, inset 0 0 35px #d6ad6715;
  animation: contract-glow 4s ease-in-out infinite alternate;
}

.contract-panel::before,
.contract-panel::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-color: var(--light-gold);
  border-style: solid;
  pointer-events: none;
}

.contract-panel::before { top: 10px; left: 10px; border-width: 1px 0 0 1px; }
.contract-panel::after { right: 10px; bottom: 10px; border-width: 0 1px 1px 0; }

.contract-label {
  color: var(--gold);
  font: 700 10px var(--mono);
  letter-spacing: .18em;
}

.contract-address {
  display: block;
  max-width: 100%;
  color: #fff0cd;
  font: 600 clamp(.85rem, 1.9vw, 1.25rem)/1.8 var(--mono);
  overflow-wrap: anywhere;
  user-select: all;
  text-shadow: 0 0 16px #f0bd6a88;
}

.contract-copy {
  display: inline-flex;
  align-items: center;
  gap: 25px;
  padding: 14px 20px;
  border: 1px solid #f2d9a4;
  border-radius: 3px;
  color: #21140e;
  background: linear-gradient(110deg, #f1d49b, #c59659);
  font: 700 11px var(--mono);
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}

.contract-copy:hover { transform: translateY(-2px); filter: brightness(1.1); }
.contract-copy:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.contract-copy span { font-size: 17px; line-height: 0; }

.contract-feedback {
  min-height: 1.2em;
  color: var(--light-gold);
  font: 600 10px var(--mono);
}

@keyframes contract-glow {
  to { box-shadow: 0 24px 60px #0009, 0 0 60px #d6ad6770, inset 0 0 50px #d6ad6723; }
}

@media (max-width: 600px) {
  .contract-panel { gap: 17px; }
  .contract-address { font-size: .84rem; }
}

@media (prefers-reduced-motion: reduce) {
  .contract-panel { animation: none; }
  .contract-copy { transition: none; }
}
