
.ledger-site {
  --l-midnight: #0c1530;
  --l-midnight-2: #131d3d;
  --l-midnight-3: #1d274c;
  --l-gold: #d7b66d;
  --l-gold-deep: #a98235;
  --l-parchment: #f4ead2;
  --l-paper: #fffaf0;
  --l-plum: #5a3b60;
  --l-ink: #181a24;
  --l-muted: #77717b;
  --l-line: rgba(215, 182, 109, .28);
  --l-page: #fffaf0;
  --l-page-alt: #e9ddc3;
  --l-resource-bg: #efe3c7;
  --l-card: #fffdf7;
  --l-card-border: #d9ccb0;
  --l-rule: #d8ccb4;
  background: var(--l-page);
  color: var(--l-ink);
}

[data-theme="night"] .ledger-site {
  --l-ink: #f4ead2;
  --l-muted: #c2bbc2;
  --l-page: #11182b;
  --l-page-alt: #171f36;
  --l-resource-bg: #1a2340;
  --l-card: #18213b;
  --l-card-border: #3a4668;
  --l-rule: #35405e;
}

[data-theme="chocolate"] .ledger-site {
  --l-midnight: #2c211d;
  --l-midnight-2: #392a24;
  --l-midnight-3: #4a3040;
  --l-plum: #6d4055;
  --l-gold: #e1bd72;
  --l-gold-deep: #c59b4c;
  --l-parchment: #f7eadb;
  --l-ink: #f7eadb;
  --l-muted: #d1bfae;
  --l-page: #2c211d;
  --l-page-alt: #392a24;
  --l-resource-bg: #463128;
  --l-card: #392a24;
  --l-card-border: #685044;
  --l-rule: #624c41;
}

.l-wrap {
  width: min(calc(100% - 2rem), 1180px);
  margin-inline: auto;
}

.l-demo-ribbon {
  background: color-mix(in srgb, var(--l-midnight) 82%, #000);
  color: rgba(244, 234, 210, .78);
  font-size: .86rem;
}

.l-demo-ribbon-inner {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.l-demo-ribbon p { margin: 0; }
.l-demo-ribbon a { color: var(--l-gold); font-weight: 700; text-decoration: none; white-space: nowrap; }

.l-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(215, 182, 109, .18);
  background: color-mix(in srgb, var(--l-midnight) 94%, transparent);
  color: var(--l-parchment);
  backdrop-filter: blur(16px);
}

.l-nav-shell {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.l-brand {
  display: inline-flex;
  align-items: center;
  gap: .8rem;
  color: inherit;
  text-decoration: none;
}

.l-brand-mark {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border: 1px solid var(--l-gold);
  border-radius: 50%;
  color: var(--l-gold);
  font-family: var(--display);
  font-size: .92rem;
  font-weight: 700;
}

.l-brand-mark span { color: var(--l-parchment); font-size: .62em; }
.l-brand strong { display: block; font-family: var(--display); font-size: 1.15rem; }
.l-brand small { display: block; color: rgba(244, 234, 210, .62); font-family: var(--mono); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }

.l-nav-links a { color: rgba(244, 234, 210, .74); }
.l-nav-links a:hover { color: var(--l-parchment); }
.l-header .theme-toggle,
.l-header .nav-toggle { border-color: rgba(215, 182, 109, .34); background: rgba(255,255,255,.05); color: var(--l-parchment); }

.l-kicker,
.l-utility {
  margin: 0 0 .8rem;
  color: var(--l-gold-deep);
  font-family: var(--mono);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.l-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5rem, 10vw, 8.5rem) 0 clamp(4rem, 8vw, 7rem);
  background:
    radial-gradient(circle at 84% 18%, rgba(90, 59, 96, .56), transparent 30%),
    radial-gradient(circle at 20% 95%, rgba(215, 182, 109, .13), transparent 36%),
    linear-gradient(145deg, var(--l-midnight), var(--l-midnight-2) 62%, var(--l-midnight-3));
  color: var(--l-parchment);
}

.l-hero::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(215,182,109,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(215,182,109,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  content: "";
}

.l-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: center;
  gap: clamp(2rem, 7vw, 6rem);
}

.l-hero h1 {
  max-width: 10.8ch;
  margin-bottom: 1.5rem;
  font-size: clamp(3.2rem, 7.8vw, 6.5rem);
}

.l-hero-lede {
  max-width: 690px;
  color: rgba(244, 234, 210, .74);
  font-size: clamp(1.15rem, 2vw, 1.38rem);
}

.l-hero-actions { margin-top: 2rem; }
.l-gold-button { border-color: var(--l-gold); background: var(--l-gold); color: #11172b; }
.l-ghost-button { border-color: rgba(244,234,210,.35); background: transparent; color: var(--l-parchment); }

.l-trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1.25rem;
  padding: 0;
  margin: 2rem 0 0;
  color: rgba(244,234,210,.62);
  font-family: var(--mono);
  font-size: .7rem;
  list-style: none;
  text-transform: uppercase;
}

.l-trust-list li::before { color: var(--l-gold); content: "✦"; margin-right: .45rem; }

.l-hero-sigil {
  position: relative;
  min-height: 560px;
  display: grid;
  place-items: center;
}

.l-hero-note {
  position: absolute;
  right: 0;
  bottom: 5%;
  left: 12%;
  padding: 1.25rem;
  border: 1px solid rgba(215,182,109,.32);
  border-radius: 1rem;
  background: rgba(8,15,36,.78);
  box-shadow: 0 20px 70px rgba(0,0,0,.32);
  backdrop-filter: blur(12px);
}

.l-hero-note strong { display: block; margin-bottom: .4rem; font-family: var(--display); font-size: 1.35rem; }
.l-hero-note span { color: rgba(244,234,210,.65); }

.l-section-heading { max-width: 760px; margin-bottom: 2.5rem; }
.l-section-heading h2 { max-width: 14ch; }
.l-section-heading > p:last-child { color: var(--l-muted); font-size: 1.15rem; }
.l-section-heading-inline { display: grid; max-width: none; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 3rem; }

.l-audience,
.l-services,
.l-about,
.l-faq { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }

.l-audience { background: var(--l-page); }
.l-audience-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.l-audience-card { position: relative; padding: 1.6rem; border: 1px solid var(--l-card-border); border-radius: 1.2rem; background: var(--l-card); }
.l-audience-card::after { position: absolute; right: 1rem; bottom: 1rem; width: 38px; height: 38px; border: 1px solid rgba(169,130,53,.32); border-radius: 50%; content: ""; }
.l-card-number { display: block; margin-bottom: 2rem; color: var(--l-muted); font-family: var(--mono); font-size: .75rem; }
.l-audience-card p { color: var(--l-muted); }
.l-audience-card a { color: var(--l-gold-deep); font-weight: 700; text-decoration: none; }

.l-training {
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
  background: var(--l-midnight-2);
  color: var(--l-parchment);
}

.l-training .l-kicker { color: var(--l-gold); }
.l-training .l-section-heading > p:last-child { color: rgba(244,234,210,.66); }
.l-training-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.25rem; align-items: stretch; }
.l-video-shell { overflow: hidden; border: 1px solid rgba(215,182,109,.28); border-radius: 1.4rem; background: #060b18; }
.l-video-shell video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #060b18; }
.l-video-status { margin: 0; padding: .8rem 1rem; color: rgba(244,234,210,.58); font-family: var(--mono); font-size: .72rem; }
.l-lesson-panel { padding: clamp(1.4rem, 3vw, 2.1rem); border: 1px solid rgba(215,182,109,.28); border-radius: 1.4rem; background: rgba(255,255,255,.045); }
.l-lesson-panel p { color: rgba(244,234,210,.68); }
.l-lesson-meta { display: grid; gap: .8rem; margin: 1.5rem 0; }
.l-lesson-meta div { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(215,182,109,.18); }
.l-lesson-meta dt { color: var(--l-gold); font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.l-lesson-meta dd { margin: 0; color: rgba(244,234,210,.8); }
.l-lesson-actions { display: grid; gap: 1rem; }
.l-text-link { color: var(--l-gold); font-weight: 700; text-decoration: none; }

.l-resources { padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: var(--l-resource-bg); }
.l-filter-bar { display: flex; flex-wrap: wrap; gap: .6rem; }
.l-filter-button { padding: .6rem .9rem; border: 1px solid var(--l-card-border); border-radius: 999px; background: transparent; color: var(--l-ink); cursor: pointer; }
.l-filter-button[aria-pressed="true"] { border-color: var(--l-midnight); background: var(--l-midnight); color: var(--l-parchment); }
.l-filter-status { color: var(--l-muted); font-family: var(--mono); font-size: .72rem; }
.l-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.l-resource-card { display: flex; min-height: 100%; flex-direction: column; padding: 1.5rem; border: 1px solid var(--l-card-border); border-radius: 1.2rem; background: var(--l-card); }
.l-resource-card[hidden] { display: none; }
.l-resource-card p { color: var(--l-muted); }
.l-resource-topline { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; color: var(--l-muted); font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.l-resource-card dl { margin: auto 0 1.25rem; }
.l-resource-card dl div { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid var(--l-rule); }
.l-resource-card dt { color: var(--l-muted); font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.l-resource-card dd { margin: 0; }


.l-resource-card .button-secondary,
.l-service-row .button-secondary {
  border-color: var(--l-card-border);
  color: var(--l-ink);
}

.l-service-list { border-top: 1px solid var(--l-rule); }
.l-service-row { display: grid; grid-template-columns: 62px 1.2fr .7fr auto; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid var(--l-rule); }
.l-service-index { color: var(--l-muted); font-family: var(--mono); }
.l-service-row h3 { margin-bottom: .45rem; }
.l-service-row p { margin-bottom: 0; color: var(--l-muted); }
.l-service-row ul { margin: 0; color: var(--l-muted); }

.l-method { padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: var(--l-midnight-3); color: var(--l-parchment); }
.l-method-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 5rem); }
.l-method-copy p { color: rgba(244,234,210,.66); }
.l-method-principles { display: grid; gap: 1rem; }
.l-method-principles article { display: grid; grid-template-columns: 54px 1fr; gap: 1rem; padding: 1.25rem; border: 1px solid rgba(215,182,109,.22); border-radius: 1rem; background: rgba(255,255,255,.035); }
.l-method-principles article > span { color: var(--l-gold); font-family: var(--mono); }
.l-method-principles p { margin: 0; color: rgba(244,234,210,.62); }
.l-scope-card { grid-column: 1 / -1; padding: 1.5rem; border-left: 4px solid var(--l-gold); background: rgba(215,182,109,.09); }
.l-scope-card p { margin-bottom: 0; color: rgba(244,234,210,.68); }

.l-pathway { padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: var(--l-page); }
.l-pathway-list { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0; padding: 0; list-style: none; counter-reset: pathway; }
.l-pathway-list li { position: relative; padding: 1.5rem; border-top: 1px solid var(--l-card-border); border-right: 1px solid var(--l-card-border); }
.l-pathway-list li:last-child { border-right: 0; }
.l-pathway-list li > span { color: var(--l-muted); font-family: var(--mono); font-size: .72rem; }
.l-pathway-list p { color: var(--l-muted); }

.l-about { background: var(--l-page-alt); }
.l-about-grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.l-portrait { display: grid; min-height: 460px; place-items: center; border: 1px solid var(--l-card-border); border-radius: 48% 48% 1.5rem 1.5rem; background:
  radial-gradient(circle at 50% 38%, rgba(215,182,109,.36), transparent 24%),
  linear-gradient(155deg, var(--l-midnight), var(--l-plum)); color: var(--l-parchment); }
.l-portrait span { font-family: var(--display); font-size: 5rem; }
.l-portrait p { align-self: end; color: rgba(244,234,210,.66); font-family: var(--mono); font-size: .7rem; text-transform: uppercase; }
.l-about-grid > div:last-child > p { color: var(--l-muted); }
.l-credential-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin-top: 2rem; }
.l-credential-grid div { padding: 1rem; border-top: 2px solid var(--l-gold-deep); background: color-mix(in srgb, var(--l-card) 82%, transparent); }
.l-credential-grid span { display: block; color: var(--l-muted); font-family: var(--mono); font-size: .67rem; text-transform: uppercase; }
.l-credential-grid strong { font-family: var(--display); }

.l-book { padding: clamp(4.5rem, 8vw, 7.5rem) 0; background: var(--l-midnight); color: var(--l-parchment); }
.l-book-grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.l-book-grid > div:first-child p { color: rgba(244,234,210,.66); }
.l-book-card { padding: 1.6rem; border: 1px solid rgba(215,182,109,.3); border-radius: 1.2rem; background: rgba(255,255,255,.045); }
.l-book-card ul { color: rgba(244,234,210,.72); }
.l-small { margin-top: .85rem; color: rgba(244,234,210,.52); font-size: .83rem; }

.l-faq { background: var(--l-page); }
.l-faq-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(2rem, 6vw, 5rem); }
.l-faq .faq-list { border-color: var(--l-rule); }
.l-faq .faq-list details { border-color: var(--l-rule); }
.l-faq .faq-answer { color: var(--l-muted); }

.l-studio-cta { padding: clamp(4rem, 7vw, 6rem) 0; background: linear-gradient(135deg, var(--l-midnight-3), var(--l-midnight)); color: var(--l-parchment); }
.l-studio-cta-inner { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 2rem; }
.l-studio-cta-inner p { color: rgba(244,234,210,.66); }
.l-studio-cta .button-row { justify-content: flex-end; }

.l-footer { padding: 2rem 0; background: color-mix(in srgb, var(--l-midnight) 82%, #000); color: rgba(244,234,210,.7); }
.l-footer-grid { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 2rem; }
.l-footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
.l-footer a { color: inherit; text-decoration: none; }
.l-footer p { margin: 0; font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }

@media (max-width: 980px) {
  .l-demo-ribbon-inner,
  .l-hero-grid,
  .l-section-heading-inline,
  .l-training-grid,
  .l-method-grid,
  .l-about-grid,
  .l-book-grid,
  .l-faq-grid,
  .l-studio-cta-inner { grid-template-columns: 1fr; }

  .l-demo-ribbon-inner { display: grid; padding: .7rem 0; }
  .l-nav-links { background: var(--l-midnight); }
  .l-hero-sigil { min-height: 480px; }
  .l-audience-grid,
  .l-resource-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .l-service-row { grid-template-columns: 50px 1fr; }
  .l-service-row ul,
  .l-service-row .button { grid-column: 2; }
  .l-pathway-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .l-pathway-list li:nth-child(2) { border-right: 0; }
  .l-studio-cta .button-row { justify-content: flex-start; }
  .l-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .l-wrap { width: min(calc(100% - 1.25rem), 1180px); }
  .l-brand small { display: none; }
  .l-hero { padding-top: 4rem; }
  .l-hero h1 { font-size: clamp(2.9rem, 15vw, 4.5rem); }
  .l-hero-sigil { min-height: 380px; }
  .l-hero-note { right: 0; bottom: 0; left: 0; }
  .l-audience-grid,
  .l-resource-grid,
  .l-pathway-list,
  .l-credential-grid { grid-template-columns: 1fr; }
  .l-pathway-list li { border-right: 0; }
  .l-service-row { grid-template-columns: 1fr; }
  .l-service-row ul,
  .l-service-row .button { grid-column: 1; }
  .l-resource-topline { align-items: flex-start; flex-direction: column; gap: .25rem; }
  .l-portrait { min-height: 360px; }
}

/* v0.6.4 — Comprehension & Composition: one ledger metaphor, no haunted geometry */
.l-hero::before {
  background-image: linear-gradient(rgba(215,182,109,.04) 1px, transparent 1px);
  background-size: 100% 44px;
}

.l-audience-card::after {
  content: none;
}

.l-audience-card {
  border-top: 3px solid var(--l-gold-deep);
}

.l-portrait {
  border-radius: 1.5rem;
  background:
    linear-gradient(rgba(215,182,109,.06) 1px, transparent 1px) 0 0 / 100% 42px,
    linear-gradient(155deg, var(--l-midnight), var(--l-plum));
}

.l-gold-button,
a.l-gold-button {
  border-color: var(--l-gold);
  background: var(--l-gold);
  color: #11172b;
}

.l-ghost-button,
a.l-ghost-button {
  border-color: rgba(244,234,210,.35);
  background: transparent;
  color: var(--l-parchment);
}

/* Small gold labels need a little more luminance than decorative gold lines. */
.l-kicker {
  color: #b9903f;
}

/* v0.6.5 — Atelier Pass: equip the visitor before abstracting the method. */
.l-hero-painting {
  position: relative;
  min-height: 600px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(213, 180, 109, .48);
  border-radius: 1.1rem;
  background: #0a0d13;
  box-shadow: 0 26px 80px rgba(0,0,0,.36);
}

.l-hero-painting::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, transparent 48%, rgba(7, 9, 14, .88));
  content: "";
}

.l-hero-painting > img {
  display: block;
  width: 100%;
  height: 600px;
  object-fit: cover;
}

.l-hero-painting > figcaption {
  position: absolute;
  right: 1.5rem;
  bottom: 1.25rem;
  left: 1.5rem;
  z-index: 3;
  color: var(--l-parchment);
  font-family: var(--display);
  font-size: clamp(1.45rem, 3vw, 2.45rem);
  font-style: italic;
}

.l-hero-painting .l-hero-note {
  z-index: 4;
}

@media (max-width: 760px) {
  .l-hero-painting,
  .l-hero-painting > img { min-height: 410px; height: 410px; }
}
