/* SOMA · First Circle — a private release document. Reuses the public surface
   (public.css); this file only adds the price, the contents ledger, the field
   card and the restrained footer. Flat matter, no chrome (MANIFESTO §02/§03). */

.page-first-circle { --accent: var(--indigo); --field-heat: var(--violet); }

.fc-mark { display: block; }
.mast-mark .mast-by { text-transform: none; }

/* ---- the opening — a centered invitation, carried by space and small type -- */
.fc-opening {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: clamp(20px, 3vw, 34px);
  padding: clamp(72px, 13vh, 168px) var(--gutter) clamp(60px, 10vh, 128px);
  border-bottom: 1px solid var(--rule);
}
.fc-opening-field { width: min(300px, 58vw); margin-bottom: clamp(6px, 2vw, 20px); }
.fc-opening-field .hero-art {
  position: static; inset: auto; width: 100%; height: auto;
  transform: none; object-fit: contain; mix-blend-mode: multiply;
}
.fc-eyebrow-center { justify-content: center; }
.fc-invite {
  margin: 0;
  max-width: 24ch;
  color: var(--ink);
  font-size: clamp(18px, 2.1vw, 26px);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .02em;
}
.fc-opening-desc { max-width: 34ch; color: var(--ink-dim); font-size: var(--t-lede); line-height: 1.5; }
.fc-opening-date { color: var(--ink-soft); font-size: var(--t-eyebrow); letter-spacing: .3em; text-transform: uppercase; }
.fc-opening-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: clamp(8px, 2vw, 18px); }
.fc-status-center { text-align: center; }

/* ---- close range: every section headline well below hero scale ------------ */
.page-first-circle .head {
  font-size: clamp(19px, 2.3vw, 27px);
  letter-spacing: .05em;
  line-height: 1.18;
}
.page-first-circle .eyebrow { letter-spacing: .3em; }
.page-first-circle .band-head { margin-bottom: clamp(22px, 3.2vw, 38px); }

/* contents — a ruled ledger, name left, description right */
.fc-ledger { display: grid; gap: 0; max-width: var(--measure); }
.fc-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.5fr) 1fr;
  gap: clamp(14px, 3vw, 40px);
  padding: 16px 0;
  border-top: 1px solid var(--rule);
}
.fc-row:last-child { border-bottom: 1px solid var(--rule); }
.fc-row dt { color: var(--ink); letter-spacing: .12em; }
.fc-row dd { color: var(--ink-dim); margin: 0; }

/* the price — immediate and intentional */
.fc-price-block { margin: 8px 0 30px; }
.fc-price {
  color: var(--ink);
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: .01em;
  font-variant-numeric: tabular-nums;
}
.fc-price-label {
  margin-top: 12px;
  color: var(--accent);
  font-size: var(--t-eyebrow);
  font-weight: 500;
  letter-spacing: .26em;
  text-transform: uppercase;
}
.fc-closing {
  margin-top: 26px;
  max-width: 46ch;
  color: var(--ink);
  font-size: var(--t-sub);
  line-height: 1.4;
}

/* the field card — flat specimens, front and back, side by side */
.fc-card-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: center;
}
.fc-cards { display: flex; flex-wrap: wrap; gap: 20px; }
.fc-card {
  flex: 1 1 220px;
  aspect-ratio: 85.6 / 54;
  padding: 20px;
  border: 1px solid var(--rule-ink);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-family: var(--mono);
  letter-spacing: .1em;
}
.fc-card--front { background: var(--void); color: var(--void-ink); border-color: var(--void-rule); }
.fc-card--back { background: var(--paper-deep); color: var(--ink); }
.fc-card-brand { display: flex; align-items: center; gap: 8px; font-size: 10px; letter-spacing: .22em; }
.fc-card-brand img { filter: invert(1) opacity(.85); }
.fc-card-title { font-size: 15px; letter-spacing: .28em; }
.fc-card-no { font-size: 12px; color: var(--void-ink-dim); font-variant-numeric: tabular-nums; letter-spacing: .18em; }
.fc-card-meta { font-size: 8.5px; line-height: 1.9; color: var(--void-ink-dim); letter-spacing: .14em; }
.fc-card-lines { font-size: 11px; line-height: 2; letter-spacing: .1em; }
.fc-card-close { font-size: 8.5px; line-height: 1.8; color: var(--ink-soft); }

.fc-contact-link { color: var(--accent); border-bottom: 1px solid currentColor; padding-bottom: 2px; }
.fc-contact-link:hover, .fc-contact-link:focus-visible { color: var(--ink); }
.fc-contact-link[aria-disabled="true"] { color: var(--ink-soft); border-color: transparent; pointer-events: none; }

/* footer — restrained */
.fc-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  padding: clamp(46px, 6vw, 84px) var(--gutter);
  border-top: 1px solid var(--rule-ink);
  color: var(--ink-soft);
  font-size: var(--t-eyebrow);
  letter-spacing: .2em;
  text-transform: uppercase;
}
.fc-foot-mark { color: var(--ink-dim); }

@media (max-width: 900px) {
  .fc-card-layout { grid-template-columns: minmax(0, 1fr); }
  .fc-row { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}
