/* ═══════════════════════════════════════════════════════════
   STRATA LEDGER — Appily Sixtytwo company-info.php only
   Named grid · gradient-clipped mission · vertical core samples.
   Independent of Root Charter (rc-*), Loom Folio, Vein Codex.
   Hooks: #a60xCoTimeline, #vmCoLegal, a60x-co-*, data-legal-panel, data-timeline-dir.
   ═══════════════════════════════════════════════════════════ */

.page-company {
  --sl-ink: #0F1419;
  --sl-ink-soft: #3A4450;
  --sl-mute: #6B7580;
  --sl-paper: #E8ECF1;
  --sl-panel: #FFFFFF;
  --sl-line: #C6CFD8;
  --sl-slate: #1A365D;
  --sl-slate-deep: #0F2744;
  --sl-slate-soft: rgba(26, 54, 93, 0.12);
  --sl-amber: #D69E2E;
  --sl-amber-soft: rgba(214, 158, 46, 0.14);
  --sl-display: "Newsreader", Georgia, "Times New Roman", serif;
  --sl-sans: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --sl-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --sl-spring: cubic-bezier(0.34, 1.35, 0.64, 1);
  --sl-h1: clamp(2.15rem, 1.3rem + 3.4vw, 3.55rem);
  --sl-fluid: clamp(0.95rem, 0.88rem + 0.35vw, 1.08rem);
}

.page-company .rm-stage,
.page-company .a62-prism-stage {
  background:
    radial-gradient(ellipse 48% 40% at 100% 0%, var(--sl-amber-soft), transparent 55%),
    radial-gradient(ellipse 42% 36% at 0% 12%, var(--sl-slate-soft), transparent 52%),
    linear-gradient(180deg, #F2F5F8 0%, var(--sl-paper) 48%, #D9E0E8 100%) !important;
  color: var(--sl-ink) !important;
  font-family: var(--sl-sans);
}

.page-company .page-main {
  max-width: none;
  background: transparent !important;
  padding: 0 0 3.75rem;
  color: var(--sl-ink) !important;
}

.page-company .page-main h1,
.page-company .page-main h2,
.page-company .page-main h3,
.page-company .page-main p,
.page-company .page-main span,
.page-company .page-main a,
.page-company .page-main strong,
.page-company .page-main em,
.page-company .page-main li,
.page-company .page-main dt,
.page-company .page-main dd,
.page-company .page-main button,
.page-company .page-main time,
.page-company .page-main small {
  color: inherit;
}

.page-company .a62-spine { display: none !important; }

/* Named grid ledger */
.sl-ledger,
.lm-folio {
  width: min(1120px, calc(100% - 2 * clamp(0.85rem, 2.4vw, 1.65rem)));
  margin: 0 auto;
  padding: clamp(1rem, 2.8vw, 1.75rem) 0 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1.15fr) minmax(0, 1fr);
  grid-template-areas:
    "seal mast mast"
    "mission mission values"
    "history history values"
    "aisles aisles aisles"
    "registry registry links";
  gap: clamp(0.85rem, 2vw, 1.25rem);
  align-items: start;
  container-type: inline-size;
  container-name: ledger;
}

.sl-seal { grid-area: seal; }
.sl-mast { grid-area: mast; }
.sl-mission { grid-area: mission; }
.sl-values { grid-area: values; }
.sl-history { grid-area: history; }
.sl-aisles { grid-area: aisles; }
.sl-registry { grid-area: registry; }
.sl-links { grid-area: links; }

@container ledger (max-width: 900px) {
  .sl-ledger,
  .lm-folio {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "seal mast"
      "mission mission"
      "values history"
      "aisles aisles"
      "registry registry"
      "links links";
  }
}

@container ledger (max-width: 640px) {
  .sl-ledger,
  .lm-folio {
    grid-template-columns: 1fr;
    grid-template-areas:
      "seal"
      "mast"
      "mission"
      "values"
      "history"
      "aisles"
      "registry"
      "links";
  }
}

.sl-kicker {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sl-slate);
}

.lm-reveal,
.a60x-co-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s var(--sl-ease), transform 0.55s var(--sl-ease);
}

.lm-reveal.is-visible,
.a60x-co-reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* Seal column */
.sl-seal {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.35rem;
  min-width: 4.5rem;
  min-height: 7.5rem;
  padding: 0.85rem 0.55rem;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  background: var(--sl-slate);
  color: #fff;
  clip-path: polygon(0 0.6rem, 100% 0, 100% calc(100% - 0.6rem), 0 100%);
}

.sl-seal strong {
  font-family: var(--sl-display);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.sl-seal em {
  font-style: normal;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.75;
}

@container ledger (max-width: 640px) {
  .sl-seal {
    writing-mode: horizontal-tb;
    transform: none;
    flex-direction: row;
    justify-content: space-between;
    min-height: 0;
    min-width: 0;
    width: 100%;
    padding: 0.75rem 1rem;
    clip-path: polygon(0 0, calc(100% - 0.85rem) 0, 100% 100%, 0 100%);
  }
}

/* Mast */
.sl-mast {
  padding: clamp(1rem, 2.5vw, 1.45rem) 0;
}

.sl-mast h1 {
  margin: 0;
  font-family: var(--sl-display);
  font-size: var(--sl-h1);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.sl-mast h1 em {
  font-style: italic;
  color: var(--sl-amber);
}

.sl-lede {
  margin: 0.65rem 0 0;
  max-width: 42ch;
  color: var(--sl-ink-soft);
  font-size: var(--sl-fluid);
  line-height: 1.55;
}

.sl-block-head {
  margin-bottom: 0.9rem;
}

.sl-block-head h2 {
  margin: 0;
  font-family: var(--sl-display);
  font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.sl-block-head > p:not(.sl-kicker) {
  margin: 0.3rem 0 0;
  font-size: 0.88rem;
  color: var(--sl-mute);
}

/* Mission — gradient clipped panel */
.sl-mission-clip {
  position: relative;
  padding: clamp(1.25rem, 3vw, 1.85rem);
  color: #F8FAFC;
  isolation: isolate;
  overflow: hidden;
  clip-path: polygon(
    0 1.25rem,
    1.25rem 0,
    100% 0,
    100% calc(100% - 1.25rem),
    calc(100% - 1.25rem) 100%,
    0 100%
  );
}

.sl-mission-clip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(145deg, var(--sl-slate) 0%, #234E7A 48%, #1A365D 100%),
    linear-gradient(90deg, var(--sl-amber), transparent);
  background-blend-mode: normal;
}

.sl-mission-clip::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, transparent 40%, rgba(214, 158, 46, 0.35) 41%, transparent 62%);
  mix-blend-mode: soft-light;
  pointer-events: none;
}

.sl-mission-kicker {
  margin: 0 0 0.45rem;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--sl-amber);
}

.sl-mission-clip h2 {
  margin: 0 0 0.75rem;
  font-family: var(--sl-display);
  font-size: clamp(1.35rem, 1.1rem + 1.2vw, 1.95rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #fff;
}

.sl-mission-clip > p:last-child {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.55;
  color: rgba(248, 250, 252, 0.82);
  max-width: 48ch;
}

/* Values as strata bands */
.sl-values {
  padding: 1.1rem 1.1rem 1.2rem;
  background: var(--sl-panel);
  border: 1px solid var(--sl-line);
}

.sl-value-stack {
  display: grid;
  gap: 0.45rem;
}

.sl-value {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.75rem 0.8rem;
  background: #F4F7FA;
  border-left: 3px solid var(--sl-slate);
  transform: skewY(-1.2deg);
  transition: background 0.25s, border-color 0.25s;
}

.sl-value > * {
  transform: skewY(1.2deg);
}

.sl-value:nth-child(even) {
  border-left-color: var(--sl-amber);
  background: var(--sl-amber-soft);
}

.sl-value:hover {
  background: var(--sl-slate-soft);
}

.sl-value-code {
  font-family: var(--sl-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--sl-slate);
  line-height: 1.2;
}

.sl-value h3 {
  margin: 0 0 0.25rem;
  font-family: var(--sl-display);
  font-size: 1.05rem;
  font-weight: 700;
}

.sl-value p {
  margin: 0;
  font-size: 0.84rem;
  color: var(--sl-mute);
  line-height: 1.4;
}

.sl-benefits {
  list-style: none;
  margin: 0.9rem 0 0;
  padding: 0.75rem 0 0;
  border-top: 1px dashed var(--sl-line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.sl-benefits li {
  padding: 0.35rem 0.65rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: var(--sl-slate-soft);
  color: var(--sl-slate-deep);
  clip-path: polygon(0.35rem 0, 100% 0, calc(100% - 0.35rem) 100%, 0 100%);
}

/* History — vertical core samples */
.sl-history {
  padding: 1.1rem 1.1rem 1.2rem;
  background: var(--sl-panel);
  border: 1px solid var(--sl-line);
}

.sl-history-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: end;
  gap: 0.75rem;
}

.sl-history-controls {
  display: flex;
  gap: 0.35rem;
}

.sl-hist-btn {
  width: 2.35rem;
  height: 2.35rem;
  border: 1px solid var(--sl-line);
  background: #F4F7FA;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.sl-hist-btn:hover {
  background: var(--sl-slate);
  border-color: var(--sl-slate);
  color: #fff;
}

.sl-epochs,
.vc-epochs {
  max-height: 280px;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-right: 0.35rem;
  scrollbar-width: thin;
  scrollbar-color: var(--sl-slate) var(--sl-line);
  cursor: grab;
}

.sl-epoch {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.8rem 0.85rem;
  background: linear-gradient(90deg, var(--sl-slate-soft), transparent 55%), #F7F9FB;
  border-top: 2px solid var(--sl-amber);
  flex-shrink: 0;
}

.sl-epoch time {
  font-family: var(--sl-display);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--sl-slate);
  line-height: 1.2;
}

.sl-epoch h3 {
  margin: 0 0 0.2rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.sl-epoch p {
  margin: 0;
  font-size: 0.82rem;
  color: var(--sl-mute);
  line-height: 1.4;
}

/* Aisles */
.sl-aisles {
  padding: 1.1rem 1.15rem 1.25rem;
  background: var(--sl-panel);
  border: 1px solid var(--sl-line);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 1rem), calc(100% - 1rem) 100%, 0 100%);
}

.sl-aisle-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.sl-aisle {
  padding: 0.5rem 0.85rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--sl-ink);
  background: #F4F7FA;
  border: 1px solid var(--sl-line);
  clip-path: polygon(0.4rem 0, 100% 0, calc(100% - 0.4rem) 100%, 0 100%);
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.sl-aisle:hover {
  background: var(--sl-slate);
  border-color: var(--sl-slate);
  color: #fff;
}

/* Registry */
.sl-registry {
  padding: 1.15rem 1.15rem 1.3rem;
  background: var(--sl-panel);
  border: 1px solid var(--sl-line);
  border-top: 3px solid var(--sl-amber);
}

.sl-reg-nav,
.a60x-co-legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 1rem;
}

.sl-reg-nav button {
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--sl-line);
  background: #F4F7FA;
  font-family: var(--sl-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--sl-mute);
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.sl-reg-nav button.is-active {
  background: var(--sl-slate);
  border-color: var(--sl-slate);
  color: #fff;
}

.sl-reg-panel[hidden] { display: none !important; }

.sl-dl {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
}

@container ledger (max-width: 560px) {
  .sl-dl { grid-template-columns: 1fr; }
}

.sl-dl > div {
  padding: 0.65rem 0.75rem;
  background: #F4F7FA;
  border-left: 2px solid var(--sl-slate);
}

.sl-dl dt {
  margin: 0 0 0.2rem;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sl-mute);
}

.sl-dl dd {
  margin: 0;
  font-weight: 600;
  font-size: 0.9rem;
  word-break: break-word;
}

.sl-dl a {
  color: var(--sl-slate);
  font-weight: 700;
  text-decoration: none;
}

.sl-dl a:hover { color: var(--sl-amber); }

.sl-address {
  margin-bottom: 0.85rem;
  padding: 0.85rem 0.95rem;
  background: #F4F7FA;
  border-top: 2px solid var(--sl-amber);
}

.sl-address:last-child { margin-bottom: 0; }

.sl-address h3 {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--sl-slate);
}

.sl-address p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--sl-ink-soft);
}

/* Related links */
.sl-links {
  display: grid;
  gap: 0.45rem;
}

.sl-link {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  column-gap: 0.7rem;
  row-gap: 0.1rem;
  padding: 0.85rem 0.9rem;
  background: var(--sl-panel);
  border: 1px solid var(--sl-line);
  text-decoration: none;
  color: var(--sl-ink);
  transition: transform 0.25s var(--sl-spring), border-color 0.2s, background 0.2s;
}

.sl-link:hover {
  transform: translateX(4px);
  border-color: var(--sl-slate);
  background: var(--sl-slate-soft);
}

.sl-link-mark {
  grid-row: 1 / 3;
  align-self: center;
  width: 1.85rem;
  height: 1.85rem;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 0.85rem;
  color: #fff;
  background: var(--sl-slate);
  clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%);
}

.sl-link strong {
  font-size: 0.92rem;
  font-weight: 700;
}

.sl-link em {
  font-style: normal;
  font-size: 0.75rem;
  color: var(--sl-mute);
}

@media (prefers-reduced-motion: reduce) {
  .lm-reveal,
  .a60x-co-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
