.society-page {
  --ink: #243640;
  --foam: #174e5c;
  --mute: #607582;
  --border: rgba(38,76,88,.2);
  --border-light: rgba(38,76,88,.36);
  --tide: #1688a4;
  --gold: #c98524;
  --ember: #d65f45;
  --violet: #7258a8;
  --ok: #2f8666;
  color: var(--ink);
  background: #f5f0e4;
}
.society-page main { overflow: hidden; }
.society-page .site-header {
  border-bottom-color: rgba(38,76,88,.18);
  background: rgba(250,247,239,.9);
  box-shadow: 0 .35rem 2rem rgba(63,77,78,.06);
}
.society-page .claim-pill { background: rgba(214,95,69,.07); }
.society-page .site-footer { color: #64747b; border-top-color: rgba(38,76,88,.18); background: #e8eee7; }
.society-contour,.society-manifestation { scroll-margin-top: 6.5rem; }
.society-kicker {
  margin: 0 0 .85rem;
  color: var(--gold);
  font: .61rem/1.45 "IBM Plex Mono", Menlo, monospace;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.society-opening {
  position: relative;
  display: grid;
  grid-template-columns: minmax(24rem,1.02fr) minmax(25rem,.98fr);
  gap: clamp(3rem,8vw,10rem);
  align-items: center;
  min-height: 100svh;
  padding: clamp(8rem,15vh,11rem) clamp(1.4rem,8vw,9rem) 5rem;
  background:
    radial-gradient(circle at 83% 16%, rgba(255,195,73,.56), transparent 18rem),
    radial-gradient(circle at 76% 45%, rgba(93,188,203,.2), transparent 27rem),
    linear-gradient(135deg,rgba(255,255,255,.74),transparent 46%),
    #e8f1ec;
}
.society-opening::after {
  content: "";
  position: absolute;
  inset: auto 8vw 0;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(240,195,106,.55),rgba(30,200,255,.42),transparent);
}
.society-opening__copy { position: relative; z-index: 2; max-width: 50rem; }
.society-opening h1,
.society-layers h2,
.society-colony h2,
.society-mome h2,
.society-protocol h2,
.society-contour h2,
.society-manifestation h2,
.society-stages h2,
.society-ceiling h2,
.society-invitation h2 {
  margin: 0;
  color: var(--foam);
  font: 400 clamp(3rem,6vw,6.6rem)/.9 Georgia,"Times New Roman",serif;
  letter-spacing: -.065em;
}
.society-opening h1 { font-size: clamp(4rem,7.4vw,8rem); }
.society-opening h1 em,
.society-layers h2 em,
.society-colony h2 em,
.society-mome h2 em,
.society-protocol h2 em,
.society-contour h2 em,
.society-manifestation h2 em,
.society-ceiling h2 em,
.society-invitation h2 em { color: var(--gold); font-style: italic; }
.society-opening__lead {
  max-width: 42rem;
  margin: 1.6rem 0 0;
  color: #536b77;
  font-size: clamp(.98rem,1.4vw,1.14rem);
  line-height: 1.7;
}
.society-opening blockquote {
  max-width: 39rem;
  margin: 1.5rem 0 0;
  padding: .25rem 0 .25rem 1.1rem;
  border-left: 1px solid rgba(240,195,106,.55);
  color: #5e594f;
  font: italic 1rem/1.65 Georgia,serif;
}
.society-opening__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1.8rem; }
.society-button {
  display: inline-flex;
  align-items: center;
  min-height: 2.8rem;
  padding: .72rem .95rem;
  border: 1px solid rgba(38,76,88,.27);
  border-radius: .25rem;
  color: var(--ink);
  background: rgba(255,255,255,.42);
  font: .61rem/1.2 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.society-button:hover { color: #17130d; border-color: var(--gold); background: var(--gold); }
.society-button--primary { color: #17130d; border-color: var(--gold); background: var(--gold); }
.society-button--quiet { color: var(--mute); border-color: transparent; background: transparent; }
.city-stack {
  position: relative;
  z-index: 2;
  display: grid;
  gap: .45rem;
  width: min(100%,34rem);
  margin: 0;
  padding: 0;
  list-style: none;
}
.city-stack__arrow {
  color: var(--gold);
  font: .9rem/1 Georgia,serif;
  text-align: center;
}
.city-plate {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  column-gap: .85rem;
  padding: 1rem 1.05rem .95rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.62);
  box-shadow: 0 .9rem 2.4rem rgba(52,68,66,.08);
  color: inherit;
}
.city-plate b {
  grid-row: 1 / span 3;
  align-self: center;
  color: var(--tide);
  font: .62rem/1 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .12em;
}
.city-plate strong {
  color: var(--foam);
  font: 400 1.45rem/1.05 Georgia,serif;
}
.city-plate span {
  color: var(--ink);
  font-size: .78rem;
  line-height: 1.35;
}
.city-plate small {
  margin-top: .35rem;
  color: var(--mute);
  font: .5rem/1.4 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.city-plate--colony { border-top: 3px solid var(--tide); }
.city-plate--mome { border-top: 3px solid var(--violet); }
.city-plate--society { border-top: 3px solid var(--gold); }
.city-plate:hover,
.city-plate:focus-visible {
  border-color: var(--gold);
  background: rgba(240,195,106,.16);
}
.city-stack__foot {
  display: grid;
  gap: .2rem;
  padding: .85rem 1.05rem;
  border: 1px dashed rgba(201,133,36,.55);
  background: rgba(240,195,106,.12);
}
.city-stack__foot span {
  color: var(--gold);
  font: .5rem/1.3 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.city-stack__foot strong {
  color: var(--foam);
  font: italic 1rem/1.35 Georgia,serif;
  font-weight: 400;
}
.society-opening__boundary {
  position: absolute;
  left: clamp(1.4rem,8vw,9rem); bottom: 1.25rem;
  color: #65777d;
  font: .52rem/1.4 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.society-layers,
.society-colony,
.society-mome,
.society-protocol { scroll-margin-top: 6.5rem; }
.society-layers {
  padding: clamp(5rem,9vw,9rem) clamp(1.4rem,7vw,8rem);
  background:
    radial-gradient(circle at 12% 18%, rgba(93,188,203,.16), transparent 24rem),
    #fbf6ea;
}
.society-layers > header { max-width: 68rem; margin-bottom: 2.6rem; }
.society-layers h2 { max-width: 18ch; font-size: clamp(2.7rem,5vw,5.5rem); }
.society-layers header > p:last-child {
  max-width: 44rem;
  margin-top: 1.2rem;
  color: var(--mute);
  font-size: .95rem;
  line-height: 1.7;
}
.layer-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .8rem;
}
.layer-card {
  display: grid;
  align-content: start;
  min-height: 24rem;
  padding: 1.15rem 1.15rem 1.25rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.7);
  box-shadow: 0 .8rem 2.2rem rgba(52,68,66,.07);
}
.layer-card--colony { border-top: 3px solid var(--tide); }
.layer-card--mome { border-top: 3px solid var(--violet); }
.layer-card--society { border-top: 3px solid var(--gold); }
.layer-card > span {
  color: var(--tide);
  font: .54rem/1.35 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .11em;
}
.layer-card--mome > span { color: var(--violet); }
.layer-card--society > span { color: var(--gold); }
.layer-card h3 {
  margin: 1rem 0 .7rem;
  color: var(--ink);
  font: 400 1.55rem/1.12 Georgia,serif;
}
.layer-card > p { color: var(--mute); font-size: .82rem; line-height: 1.62; }
.layer-card dl { display: grid; gap: .55rem; margin: 1.15rem 0 1.3rem; }
.layer-card dl div {
  display: grid;
  grid-template-columns: 4.2rem 1fr;
  gap: .55rem;
  padding: .55rem .6rem;
  border: 1px solid var(--border);
  background: rgba(245,248,242,.7);
}
.layer-card dt {
  color: var(--gold);
  font: .5rem/1.4 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.layer-card dd { color: var(--ink); font-size: .72rem; line-height: 1.45; }
.layer-card a {
  align-self: end;
  color: var(--foam);
  font: .58rem/1.3 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.layer-card a:hover { color: var(--gold); }
.society-colony {
  padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem);
  border-top: 1px solid var(--border);
  background:
    linear-gradient(rgba(40,88,100,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,88,100,.04) 1px,transparent 1px),
    #eef4ef;
  background-size: 36px 36px,36px 36px,auto;
}
.society-colony__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 3rem;
  max-width: 96rem;
  margin: 0 auto 2.4rem;
}
.society-colony__head h2 { max-width: 18ch; font-size: clamp(2.7rem,5vw,5.4rem); }
.society-colony__head > p { max-width: 32rem; color: var(--mute); font-size: .9rem; line-height: 1.7; }
.organ-ledger {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: .7rem;
  max-width: 96rem;
  margin: 0 auto;
}
.organ-ledger article,
.mome-notes article,
.protocol-laws article {
  min-height: 13.5rem;
  padding: 1rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.66);
  box-shadow: 0 .75rem 2rem rgba(52,68,66,.06);
}
.organ-ledger article { border-top: 3px solid var(--tide); }
.organ-ledger article:nth-child(2) { border-top-color: var(--violet); }
.organ-ledger article:nth-child(3) { border-top-color: var(--ok); }
.organ-ledger article:nth-child(4) { border-top-color: var(--gold); }
.organ-ledger span,
.mome-notes span,
.protocol-laws span,
.colony-law span {
  color: var(--tide);
  font: .54rem/1.35 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .1em;
}
.organ-ledger h3,
.mome-notes h3,
.protocol-laws h3 {
  margin: 1rem 0 .55rem;
  color: var(--ink);
  font: 400 1.22rem/1.15 Georgia,serif;
}
.organ-ledger p,
.mome-notes p,
.protocol-laws p { color: var(--mute); font-size: .76rem; line-height: 1.58; }
.colony-law {
  max-width: 96rem;
  margin: 1.1rem auto 0;
  padding: 1.1rem 1.2rem;
  border: 1px dashed rgba(201,133,36,.5);
  background: rgba(255,255,255,.5);
}
.colony-law p {
  margin-top: .45rem;
  color: var(--foam);
  font: italic 1.05rem/1.5 Georgia,serif;
}
.society-mome {
  padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem);
  border-top: 1px solid var(--border);
  background:
    radial-gradient(circle at 86% 18%, rgba(114,88,168,.14), transparent 26rem),
    #f7f2e8;
}
.society-mome > header { max-width: 68rem; margin-bottom: 2.6rem; }
.society-mome h2 { font-size: clamp(2.7rem,5.2vw,5.8rem); }
.society-mome header > p:last-child {
  max-width: 46rem;
  margin-top: 1.2rem;
  color: var(--mute);
  font-size: .95rem;
  line-height: 1.7;
}
.mome-flow {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mome-flow li {
  display: grid;
  align-content: start;
  min-height: 16rem;
  padding: 1rem;
  border: 1px solid var(--border);
  border-top: 3px solid var(--violet);
  background: rgba(255,255,255,.68);
}
.mome-flow__stop { border-top-color: var(--ember); }
.mome-flow b {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--violet);
  font: .58rem/1 "IBM Plex Mono",Menlo,monospace;
}
.mome-flow__stop b { color: var(--ember); }
.mome-flow h3 {
  margin: .85rem 0 .5rem;
  color: var(--ink);
  font: 400 1.12rem/1.15 Georgia,serif;
}
.mome-flow p { color: var(--mute); font-size: .74rem; line-height: 1.55; }
.mome-notes {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .7rem;
  margin-top: 1.1rem;
}
.mome-notes article:nth-child(1) { border-top: 3px solid var(--violet); }
.mome-notes article:nth-child(2) { border-top: 3px solid var(--tide); }
.mome-notes article:nth-child(3) { border-top: 3px solid var(--gold); }
.society-protocol {
  padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem);
  border-top: 1px solid var(--border);
  background:
    radial-gradient(circle at 8% 80%, rgba(201,133,36,.12), transparent 24rem),
    linear-gradient(180deg,#e7f1ef,#f6f3e8 52%);
}
.society-protocol__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 3rem;
  max-width: 96rem;
  margin: 0 auto 2.4rem;
}
.society-protocol__head h2 { max-width: 16ch; font-size: clamp(2.7rem,5vw,5.4rem); }
.society-protocol__head > p { max-width: 32rem; color: var(--mute); font-size: .9rem; line-height: 1.7; }
.protocol-flow {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: .55rem;
  max-width: 96rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}
.protocol-flow li {
  display: grid;
  gap: .35rem;
  min-height: 9.5rem;
  padding: .9rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.66);
}
.protocol-flow b {
  color: var(--gold);
  font: .54rem/1.3 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .12em;
}
.protocol-flow strong { color: var(--ink); font: 400 1.15rem/1.15 Georgia,serif; }
.protocol-flow span { color: var(--mute); font-size: .72rem; line-height: 1.5; }
.protocol-laws {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: .7rem;
  max-width: 96rem;
  margin: 1.1rem auto 0;
}
.protocol-laws article:nth-child(1) { border-top: 3px solid var(--ember); }
.protocol-laws article:nth-child(2) { border-top: 3px solid var(--gold); }
.protocol-laws article:nth-child(3) { border-top: 3px solid var(--ok); }
.seat-grid {
  max-width: 96rem;
  margin: 2.4rem auto 0;
  padding: 1.3rem 1.2rem 1.4rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.5);
}
.seat-grid header { max-width: 46rem; margin-bottom: 1.3rem; }
.seat-grid h3 {
  margin: 0;
  color: var(--foam);
  font: 400 clamp(1.4rem,2.4vw,2rem)/1.2 Georgia,serif;
}
.seat-grid ul {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.seat-grid li {
  display: grid;
  gap: .25rem;
  min-height: 5.2rem;
  padding: .75rem .8rem;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.62);
}
.seat-grid strong { color: var(--ink); font: 400 1.05rem/1.2 Georgia,serif; }
.seat-grid li span {
  color: var(--mute);
  font: .58rem/1.35 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .04em;
}
.society-contour {
  padding: clamp(5rem,9vw,9rem) clamp(1rem,5vw,5rem);
  background:
    linear-gradient(rgba(40,88,100,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(40,88,100,.035) 1px,transparent 1px),
    radial-gradient(circle at 84% 72%,rgba(114,88,168,.1),transparent 28rem),
    #f7f2e7;
  background-size: 36px 36px,36px 36px,auto,auto;
}
.society-contour__head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 3rem;
  max-width: 96rem;
  margin: 0 auto 2.5rem;
}
.society-contour__head h2 { max-width: 18ch; font-size: clamp(2.8rem,5vw,5.7rem); }
.society-contour__head > p { max-width: 32rem; color: var(--mute); font-size: .9rem; line-height: 1.7; }
.contour-figure {
  position: relative;
  max-width: 100rem;
  margin: 0 auto;
  padding: clamp(.35rem,.8vw,.75rem);
  border: 1px solid rgba(240,195,106,.42);
  background: #f0e5ce;
  box-shadow: 0 2.4rem 7rem rgba(67,60,45,.2);
}
.contour-figure img { display: block; width: 100%; height: auto; filter: saturate(1.08) contrast(1.025); }
.contour-figure figcaption { padding: .75rem .25rem .15rem; color: #705f42; font: .55rem/1.45 "IBM Plex Mono",Menlo,monospace; letter-spacing: .085em; text-transform: uppercase; }
.contour-map { position: absolute; inset: clamp(.35rem,.8vw,.75rem) clamp(.35rem,.8vw,.75rem) 2.35rem; }
.contour-marker { position: absolute; left: var(--x); top: var(--y); display: inline-flex; align-items: center; gap: .4rem; color: #20180e; transform: translate(-50%,-50%); }
.contour-marker b { display: grid; place-items: center; min-width: 2.1rem; height: 2.1rem; border: 1px solid rgba(31,23,13,.72); border-radius: 50%; background: rgba(240,195,106,.96); box-shadow: 0 .16rem .6rem rgba(35,24,13,.3); font: .61rem/1 "IBM Plex Mono",Menlo,monospace; }
.contour-marker span { max-width: 0; overflow: hidden; padding: 0; color: #241b11; background: rgba(249,240,218,.96); box-shadow: 0 .2rem .65rem rgba(0,0,0,.2); font: .53rem/1.2 "IBM Plex Mono",Menlo,monospace; white-space: nowrap; transition: max-width .2s ease,padding .2s ease; }
.contour-marker:hover span,.contour-marker:focus-visible span { max-width: 14rem; padding: .42rem .5rem; }
.contour-marker--cyan b { background: rgba(125,217,226,.96); }.contour-marker--violet b { background: rgba(183,149,244,.96); }
.contour-marker--coral b { background: rgba(244,138,107,.96); }.contour-marker--green b { background: rgba(139,202,126,.96); }
.contour-marker--glass b { color: #e0fbff; border-color: rgba(184,243,255,.72); background: rgba(17,54,65,.93); }
.contour-equation { display: grid; grid-template-columns: repeat(6,1fr); gap: .4rem; max-width: 96rem; margin: 1rem auto 0; }
.contour-equation code { grid-column: 1 / -1; padding: 1rem; border: 1px solid rgba(38,76,88,.2); color: var(--foam); background: rgba(255,255,255,.58); font: clamp(.85rem,1.6vw,1.35rem)/1.4 "IBM Plex Mono",Menlo,monospace; text-align: center; letter-spacing: .04em; }
.contour-equation span { color: #63767d; font: .5rem/1.3 "IBM Plex Mono",Menlo,monospace; text-align: center; text-transform: uppercase; }
.society-manifestation { padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem); border-top: 1px solid var(--border); background: #fffaf0; }
.society-manifestation > header { max-width: 67rem; margin-bottom: 3rem; }
.society-manifestation h2 { font-size: clamp(2.8rem,5.4vw,6.1rem); }
.society-manifestation header > p:last-child { max-width: 42rem; margin-top: 1.2rem; color: var(--mute); font-size: .95rem; line-height: 1.7; }
.manifest-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .7rem; }
.manifest-card { min-height: 22rem; padding: 1rem; border: 1px solid var(--border); border-top: 3px solid var(--tide); background: rgba(255,255,255,.68); box-shadow: 0 .8rem 2.4rem rgba(52,68,66,.07); }
.manifest-card > span { color: var(--tide); font: .54rem/1.35 "IBM Plex Mono",Menlo,monospace; letter-spacing: .1em; }
.manifest-card h3 { margin: 1.1rem 0 .8rem; color: var(--ink); font: 400 1.2rem/1.16 Georgia,serif; }
.manifest-card p { margin-top: 1rem; color: var(--mute); font-size: .75rem; line-height: 1.58; }
.manifest-card--coral { border-top-color: var(--ember); }.manifest-card--coral > span { color: var(--ember); }
.manifest-card--green { border-top-color: var(--ok); }.manifest-card--green > span { color: var(--ok); }
.manifest-card--violet { border-top-color: var(--violet); }.manifest-card--violet > span { color: var(--violet); }
.manifest-card--gold { border-top-color: var(--gold); }.manifest-card--gold > span { color: var(--gold); }
.micro-diagram { display: flex; flex-wrap: wrap; align-items: center; gap: .42rem; min-height: 6.2rem; margin-top: 1.2rem; padding: .72rem; border: 1px solid var(--border); background: #f5f8f2; font: .54rem/1.2 "IBM Plex Mono",Menlo,monospace; }
.micro-diagram span,.micro-diagram strong { display: grid; gap: .22rem; min-width: 3.7rem; padding: .5rem .55rem; border: 1px solid currentColor; color: var(--tide); background: rgba(255,255,255,.72); font-weight: 500; text-align: center; text-transform: uppercase; }
.micro-diagram small { color: #687c82; font-size: .43rem; letter-spacing: .07em; }
.micro-diagram i { color: #789097; font-style: normal; }
.micro-diagram strong { margin-left: auto; color: var(--ok); }
.micro-retraction .micro-state--failed,.micro-retraction strong { color: var(--ember); }.micro-retraction .micro-state--failed { text-decoration: line-through; }
.micro-retention span,.micro-retention strong { color: var(--ok); }.micro-retention strong { width: 100%; margin: .2rem 0 0; border-style: dashed; }
.micro-divergence span:first-child { color: var(--violet); }.micro-divergence span:nth-of-type(2),.micro-divergence b { color: var(--ember); }.micro-divergence strong { width: 100%; margin: .2rem 0 0; color: var(--ember); }
.micro-evidence strong { color: var(--tide); }.micro-abstention strong { color: #81571b; border-width: 2px; background: rgba(240,195,106,.26); }
.society-stages { padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem); border-top: 1px solid var(--border); background: linear-gradient(180deg,#e7f1ef,#f6f3e8 44%); }
.society-stages__head { max-width: 62rem; margin-bottom: 3rem; }.society-stages__head h2 { font-size: clamp(2.8rem,5.2vw,5.9rem); }.society-stages__head > p:last-child { max-width: 44rem; margin-top: 1.2rem; color: var(--mute); font-size: .94rem; line-height: 1.7; }
.stage-ledger { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.stage-ledger article { min-height: 13rem; padding: 1rem; border: 1px solid var(--border); border-top: 3px solid var(--tide); background: rgba(255,255,255,.66); box-shadow: 0 .75rem 2rem rgba(52,68,66,.06); scroll-margin-top: 6rem; }
.stage-ledger article:nth-child(2),.stage-ledger article:nth-child(4) { border-top-color: var(--violet); }.stage-ledger article:nth-child(5),.stage-ledger article:nth-child(9) { border-top-color: var(--gold); }
.stage-ledger article:nth-child(6) { border-top-color: var(--ok); }.stage-ledger article:nth-child(7) { border-top-color: var(--ember); }
.stage-ledger span { color: var(--tide); font: .54rem/1.35 "IBM Plex Mono",Menlo,monospace; letter-spacing: .1em; }.stage-ledger h3 { margin: 1rem 0 .55rem; color: var(--ink); font: 400 1.22rem/1.15 Georgia,serif; }.stage-ledger p { color: var(--mute); font-size: .76rem; line-height: 1.58; }
.society-ceiling { display: grid; grid-template-columns: minmax(22rem,1fr) minmax(25rem,.8fr); gap: clamp(3rem,8vw,9rem); align-items: center; padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem); border-top: 1px solid rgba(201,133,36,.32); background: radial-gradient(circle at 15% 30%,rgba(255,195,73,.24),transparent 30rem),#f6ead1; }
.society-ceiling h2 { font-size: clamp(2.9rem,5.4vw,6.1rem); }.society-ceiling__claim > p:last-child { max-width: 42rem; margin-top: 1.3rem; color: var(--mute); font-size: .96rem; line-height: 1.72; }
.ceiling-card { padding: clamp(1.2rem,3vw,2.2rem); border: 1px solid rgba(201,133,36,.42); background: rgba(255,255,255,.54); }
.ceiling-card > span { color: var(--gold); font: .56rem/1.4 "IBM Plex Mono",Menlo,monospace; letter-spacing: .11em; }.ceiling-card blockquote { margin: 1.4rem 0; color: #554f43; font: italic clamp(1.25rem,2.2vw,1.75rem)/1.45 Georgia,serif; }.ceiling-card code { display: block; padding: .75rem; color: var(--tide); background: rgba(255,255,255,.62); font: .58rem/1.5 "IBM Plex Mono",Menlo,monospace; overflow-wrap: anywhere; }.ceiling-card p { margin-top: .9rem; color: #6b7a7e; font-size: .69rem; }
.ceiling-card__paper { display: inline-flex; margin-top: 1rem; padding: .62rem .72rem; border: 1px solid rgba(201,133,36,.42); color: var(--foam); font: .58rem/1.3 "IBM Plex Mono",Menlo,monospace; letter-spacing: .06em; text-transform: uppercase; }
.ceiling-card__paper:hover { color: #17130d; background: var(--gold); }
.society-invitation { padding: clamp(5rem,10vw,10rem) clamp(1.4rem,7vw,8rem); background: #eef3ec; text-align: center; }.society-invitation h2 { font-size: clamp(3rem,6vw,6.8rem); }
.society-invitation__links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; max-width: 82rem; margin: 3rem auto 0; text-align: left; }
.society-invitation__links a { display: grid; grid-template-columns: 1fr auto; gap: .35rem; min-height: 8rem; padding: 1rem; border: 1px solid var(--border); background: rgba(255,255,255,.68); }.society-invitation__links span { grid-column: 1 / -1; color: var(--tide); font: .54rem/1.3 "IBM Plex Mono",Menlo,monospace; letter-spacing: .11em; text-transform: uppercase; }.society-invitation__links strong { align-self: end; color: var(--ink); font: 400 1.15rem/1.2 Georgia,serif; }.society-invitation__links b { align-self: end; color: var(--gold); font-weight: 400; }.society-invitation__links a:hover { border-color: var(--gold); background: rgba(240,195,106,.14); }
.society-footer-note { margin: 0 clamp(1.4rem,7vw,8rem); padding: 1.4rem 0; border-top: 1px solid rgba(240,195,106,.35); border-bottom: 1px solid rgba(240,195,106,.35); color: var(--gold); font: italic clamp(1.1rem,2vw,1.45rem)/1.4 Georgia,serif; text-align: center; }
@media (max-width: 1160px) {
  .layer-grid,.organ-ledger,.mome-notes,.protocol-laws,.seat-grid ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .mome-flow,.protocol-flow,.manifest-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .society-invitation__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 980px) {
  .society-opening { grid-template-columns: 1fr; min-height: auto; }
  .city-stack { width: min(100%,36rem); }
  .society-contour__head,.society-ceiling,.society-colony__head,.society-protocol__head { grid-template-columns: 1fr; }
  .society-contour__head,.society-colony__head,.society-protocol__head { display: grid; }
  .stage-ledger { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .contour-equation { grid-template-columns: repeat(3,1fr); }
  .contour-equation code { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .society-page .site-header {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    gap: .55rem 1rem;
    align-items: center;
    padding: .7rem 1rem;
  }
  .society-page .site-header .nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    gap: .35rem 1rem;
  }
  .society-page .site-header .claim-pill { justify-self: end; }
  .society-opening,.society-layers,.society-colony,.society-mome,.society-protocol,.society-contour,.society-manifestation,.society-stages,.society-ceiling,.society-invitation { padding-inline: 1rem; }
  .society-opening h1 { font-size: clamp(3.35rem,15vw,5rem); }
  .society-opening__boundary { position: static; grid-column: 1; }
  .contour-marker b { min-width: 1.42rem; height: 1.42rem; font-size: .47rem; }
  .contour-marker span { display: none; }
  .contour-equation { grid-template-columns: repeat(2,1fr); }
  .layer-grid,.organ-ledger,.mome-flow,.mome-notes,.protocol-flow,.protocol-laws,.seat-grid ul,.manifest-grid,.stage-ledger,.society-invitation__links { grid-template-columns: 1fr; }
  .layer-card,.manifest-card,.mome-flow li { min-height: 0; }
  .society-footer-note { margin-inline: 1rem; }
}
