.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-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-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; }
.society-opening__instrument {
  position: relative;
  aspect-ratio: 1;
  width: min(100%,37rem);
  margin-inline: auto;
}
.instrument-core {
  position: absolute;
  left: 50%; top: 50%; z-index: 3;
  display: grid;
  place-items: center;
  width: 8.4rem; height: 8.4rem;
  border: 1px solid rgba(31,114,132,.55);
  border-radius: 50%;
  color: var(--foam);
  background: radial-gradient(circle,rgba(255,255,255,.96),rgba(190,224,224,.86) 67%);
  box-shadow: 0 1.2rem 4rem rgba(52,123,135,.14), inset 0 0 2rem rgba(255,255,255,.8);
  transform: translate(-50%,-50%);
}
.instrument-core span { font: italic 2.4rem/1 Georgia,serif; }.instrument-core small { color: var(--mute); font: .5rem/1.35 "IBM Plex Mono",Menlo,monospace; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.instrument-orbit { position: absolute; border: 1px solid rgba(38,76,88,.25); border-radius: 50%; }
.instrument-orbit--one { inset: 13%; transform: rotate(15deg); }.instrument-orbit--two { inset: 28%; border-style: dashed; transform: rotate(-28deg); }
.instrument-orbit::before,.instrument-orbit::after { content: ""; position: absolute; width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 1.2rem currentColor; }
.instrument-orbit--one { color: var(--violet); }.instrument-orbit--one::before { left: 10%; top: 18%; }.instrument-orbit--one::after { right: 6%; bottom: 25%; color: var(--ember); }
.instrument-orbit--two { color: var(--ok); }.instrument-orbit--two::before { right: -2%; top: 35%; }.instrument-orbit--two::after { left: 4%; bottom: 21%; color: var(--tide); }
.instrument-node {
  position: absolute; z-index: 4;
  padding: .34rem .5rem;
  border: 1px solid currentColor;
  color: var(--mute);
  background: rgba(255,252,244,.9);
  font: .54rem/1.2 "IBM Plex Mono",Menlo,monospace;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.instrument-node--observe { left: 1%; top: 45%; color: var(--tide); }.instrument-node--predict { left: 26%; top: 8%; color: var(--violet); }
.instrument-node--act { right: 4%; top: 24%; color: var(--gold); }.instrument-node--compare { right: -2%; top: 58%; color: var(--ember); }
.instrument-node--revise { left: 25%; bottom: 6%; color: var(--ok); }.instrument-node--abstain { left: 1%; bottom: 25%; color: var(--gold); }
.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-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; }
.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) { .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; }.society-opening__instrument { width: min(100%,31rem); }
  .society-contour__head,.society-ceiling { grid-template-columns: 1fr; }.society-contour__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-contour,.society-manifestation,.society-stages,.society-ceiling,.society-invitation { padding-inline: 1rem; }
  .society-opening h1 { font-size: clamp(3.35rem,15vw,5rem); }.society-opening__instrument { transform: scale(.94); }.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); }.manifest-grid,.stage-ledger,.society-invitation__links { grid-template-columns: 1fr; }.manifest-card { min-height: 0; }.society-footer-note { margin-inline: 1rem; }
}
@media (prefers-reduced-motion:no-preference) {
  .instrument-orbit--one { animation: society-orbit 30s linear infinite; }.instrument-orbit--two { animation: society-orbit-reverse 22s linear infinite; }
  @keyframes society-orbit { to { transform: rotate(375deg); } } @keyframes society-orbit-reverse { to { transform: rotate(-388deg); } }
}
