/* A broad mint surface, finished with a single waterline. */
.ebb-ca {
  position: relative;
  z-index: 3;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  padding: 28px clamp(16px, 4vw, 64px);
  display: grid;
  justify-items: center;
  gap: 12px;
  color: var(--ink);
  background: var(--tint);
  border-radius: 48px;
  border-bottom: 0;
}
.ebb-ca::after { content: ''; position: absolute; left: 0; right: 0; bottom: -12px; height: 1px; background: var(--accent-deep); }
.ebb-ca[hidden], .ebb-footer [hidden], .ebb-ca [hidden] { display: none !important; }
.ebb-eyebrow { font: 400 12px/1.5 var(--font-mono); color: var(--accent-deep); letter-spacing: .06em; text-transform: none; }
.ebb-ca__address {
  display: block;
  padding: 0;
  min-height: 44px;
  max-width: 100%;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  cursor: copy;
  text-align: center;
  user-select: text;
}
.ebb-ca__address code {
  font: 400 clamp(18px, 2vw, 28px)/1.5 var(--font-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  overflow-wrap: normal;
  word-break: normal;
}
.ebb-ca__address::after, .ebb-ca__address::before { content: none; }
.ebb-ca__actions, .ebb-footer__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.ebb-pill { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 1px solid var(--line); border-radius: 999px; font: 500 15px/1.4 var(--font-body); white-space: nowrap; }
.ebb-pill svg { flex: none; }
.ebb-ca__caution { max-width: none; text-align: center; font: 400 12px/1.5 var(--font-body); color: var(--ink-soft); }
.ebb-ca--compact { border-radius: 0; padding: 14px 24px; grid-template-columns: auto minmax(0, 1fr) auto; gap: 6px 16px; }
.ebb-ca--compact .ebb-ca__address code { font-size: 12px; }
.ebb-ca--compact .ebb-pill { padding-inline: 10px; font-size: 14px; }
.ebb-ca--compact .ebb-ca__caution { grid-column: 1 / -1; }
body[data-mode="live"] .hero-actions .cta-rise { background: transparent; border-color: var(--line); }
.site-foot.ebb-footer {
  margin-top: 0;
  padding: 0 0 calc(32px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--accent-deep);
  color: var(--ink);
  background: var(--ground);
  font: 400 15px/1.6 var(--font-body);
}
.ebb-footer__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; align-items: center; padding-block: 48px; }
.ebb-footer__brand { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font: 500 24px/1.4 var(--font-body); }
.ebb-footer__brand svg { width: 28px; height: 28px; }
.ebb-footer__top p { margin-top: 12px; color: var(--ink-soft); }
.ebb-footer__contract { min-width: 0; text-align: right; }
.ebb-footer__contract .ebb-ca__address { width: 100%; text-align: right; }
.ebb-footer__contract code { font-size: clamp(12px, 1.35vw, 18px); }
.ebb-footer__actions { justify-content: flex-end; margin-top: 12px; }
.ebb-footer__groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding-block: 32px 48px; border-block: 1px solid var(--hairline); }
.ebb-footer__groups h2 { margin-bottom: 12px; }
.ebb-footer__groups a { display: table; max-width: 100%; padding-block: 10px; min-height: 44px; font: 400 15px/1.6 var(--font-body); }
.ebb-footer a { position: relative; color: var(--ink); text-decoration: none; }
.ebb-footer a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 7px; height: 1px; background: var(--accent-deep); transform: scaleX(0); transform-origin: left; transition: transform 180ms var(--ui-ease); }
.ebb-footer a:hover::after { transform: scaleX(1); }
.ebb-footer a.ebb-pill::after { left: 18px; right: 18px; }
.ebb-footer .chain-credit { margin: 0; font: 400 15px/1.6 var(--font-body); color: var(--ink-soft); }
.ebb-footer__bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 16px 48px; align-items: center; padding-top: 32px; }
.ebb-footer__bottom p { font-size: 12px; color: var(--ink-soft); }
.ebb-footer__bottom .chain-credit { font-size: 12px; }
.ebb-footer__bottom > :nth-child(even) { justify-self: end; }
.ebb-back { display: inline-flex; align-items: center; min-height: 44px; }
.ebb-closing { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; padding-top: 96px; padding-bottom: 64px; }
.ebb-closing h2 { margin-block: 16px; font: 500 clamp(24px, 2.7vw, 36px)/1.25 var(--font-display); }
.ebb-closing .cta-rise { margin-top: 24px; }
.ebb-closing dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-block: 20px; border-bottom: 1px solid var(--hairline); }
.ebb-closing dd { margin: 0; text-align: right; }
.ebb-ca :focus-visible, .ebb-footer :focus-visible { outline: 2px solid var(--accent-deep); outline-offset: 3px; }
@media (max-width: 1023px) {
  .ebb-ca--compact { grid-template-columns: auto minmax(0, 1fr); }
  .ebb-ca--compact .ebb-ca__actions { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .ebb-ca, .ebb-ca--compact { display: grid; grid-template-columns: minmax(0, 1fr); padding: 24px 16px; border-radius: 28px; }
  .ebb-ca__address { width: 100%; }
  .ebb-ca__address code, .ebb-ca--compact .ebb-ca__address code { font-size: clamp(18px, 5vw, 22px); white-space: normal; }
  .ebb-ca__address code span { display: block; white-space: nowrap; }
  .ebb-ca__actions { display: grid; grid-template-columns: repeat(2, minmax(44px, 1fr)); width: 100%; }
  .ebb-ca__actions .ebb-pill:last-child { grid-column: 1 / -1; }
  .ebb-footer__top, .ebb-footer__bottom, .ebb-closing { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ebb-footer__groups { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; }
  .ebb-footer__contract, .ebb-footer__contract .ebb-ca__address { text-align: left; }
  .ebb-footer__contract code { font-size: 18px; }
  .ebb-footer__actions { justify-content: flex-start; }
  .ebb-footer__bottom > :nth-child(even) { justify-self: start; }
  .ebb-footer__bottom { gap: 16px; }
  .ebb-closing { padding-top: 96px; padding-bottom: 48px; }
}
@media (prefers-reduced-motion: reduce) { .ebb-footer a::after { transition: none; } }
