
:root {
  --bg: #130d0c;
  --bg-raised: #1a1211;
  --panel: #171110;
  --line: #3a2d2a;
  --gold: #C5A059;
  --gold-bright: #E2BE7C;
  --kumkum: #B3202A;
  --diya: #F2B04A;
  --lamp: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='22' viewBox='0 0 32 22'><path d='M3 8h21c0 7-4.5 12-10.5 12S3 15 3 8z' fill='%23130d0c' stroke='%23C5A059' stroke-width='1.4' stroke-linejoin='round'/><path d='M24 8c3 0 5.500-1.600 7-4.200-3 .3-5.200.6-7 1.200z' fill='%23130d0c' stroke='%23C5A059' stroke-width='1.4' stroke-linejoin='round'/><path d='M7 12.500h13' stroke='%23B3202A' stroke-width='1.300' stroke-linecap='round'/></svg>");
}
::selection { background: var(--kumkum); color: #fff3dc; }

body {
  background:
    linear-gradient(rgba(122, 84, 62, .13) 1px, transparent 1px) 0 0 / 40px 40px,
    linear-gradient(90deg, rgba(122, 84, 62, .13) 1px, transparent 1px) 0 0 / 40px 40px,
    var(--bg);
}
body::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(60vmax 45vmax at 0% 100%, rgba(179, 32, 42, .10), transparent 65%),
    radial-gradient(50vmax 40vmax at 100% 0%, rgba(242, 176, 74, .07), transparent 65%);
}
@keyframes lamp-breathe { from { opacity: .75; } to { opacity: 1; } }

.glass {
  background: linear-gradient(145deg, rgba(34, 22, 20, .86), rgba(20, 13, 12, .78));
  border-color: rgba(197, 160, 89, .15);
}
.ledger th { background: var(--bg-raised); }
.btn-solid:hover { background: var(--kumkum); border-color: var(--kumkum); color: #fff3dc; }

.site-nav a.brand:hover .serif { color: var(--gold-bright); }
.site-nav {
  padding: 10px 32px; border-bottom: 1px solid transparent;
  border-image: linear-gradient(90deg, transparent, var(--gold) 20%, var(--kumkum) 50%, var(--gold) 80%, transparent) 1;
}
.site-nav .brand { gap: 14px; }
.site-nav .brand img { height: 46px; filter: drop-shadow(0 0 12px rgba(242, 176, 74, .35)); }
.site-nav .brand .serif { font-size: 23px; letter-spacing: .01em; }
@media (max-width: 860px) {
  .site-nav { padding: 8px 16px; flex-wrap: wrap; row-gap: 4px; }
  .site-nav .brand img { height: 38px; }
  .site-nav .brand .serif { font-size: 19px; }
  .site-nav .links { gap: 12px; }
  .site-nav a { font-size: 13px; }
}

.section-head h2::after {
  content: ""; display: block; width: 96px; height: 1px; margin-top: 12px;
  background: linear-gradient(90deg, var(--gold), var(--kumkum) 75%, transparent);
}
footer { border-top: 1px solid transparent; border-image: linear-gradient(90deg, transparent, var(--gold), var(--kumkum), var(--gold), transparent) 1; }

.diya, .t-node::before {
  content: ""; position: absolute; width: 32px; height: 22px; border: 0; background: var(--lamp) center / contain no-repeat;
  opacity: .5; transition: opacity .5s ease, filter .5s ease;
}
.diya { position: relative; display: block; }
.t-node::before { left: -45px; top: 3px; }
.diya::after, .t-node::after {
  content: ""; position: absolute; width: 8px; height: 14px; pointer-events: none;
  border-radius: 50% 50% 50% 50% / 65% 65% 35% 35%;
  background: radial-gradient(ellipse at 50% 78%, #fff6d8 0 16%, var(--diya) 46%, #D95D39 80%, var(--kumkum));
  box-shadow: 0 0 14px 4px rgba(242, 176, 74, .42);
  transform-origin: 50% 100%; opacity: 0; transform: scale(.3);
  transition: opacity .6s ease, transform .6s ease;
}
.diya::after { left: 9px; top: -6px; }
.t-node::after { left: -34px; top: -3px; }
.t-node.is-lit::before, .is-lit > .diya { opacity: 1; filter: drop-shadow(0 0 7px rgba(242, 176, 74, .35)); }
.t-node.is-lit::after, .is-lit > .diya::after { opacity: 1; transform: scale(1); animation: flame 2.6s ease-in-out .6s infinite; }
@keyframes flame {
  0%, 100% { transform: scale(1, 1) rotate(-1deg); } 30% { transform: scale(.92, 1.1) rotate(2deg); }
  60% { transform: scale(1.06, .94) rotate(-2deg); }
}

.t-node--story { padding-bottom: 72px; }
.milestones {
  list-style: none; display: flex; justify-content: space-between; position: relative;
  max-width: 640px; margin: 20px 0 10px; padding: 14px 0 0;
}
.milestones::before, .milestones::after { content: ""; position: absolute; left: 16px; right: 16px; top: 25px; height: 1px; }
.milestones::before { background: var(--line); }
.milestones::after {
  background: linear-gradient(90deg, var(--gold), var(--kumkum)); transform-origin: left; transform: scaleX(var(--ms, 0));
}
.milestones li { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }
.milestones li:nth-child(2) { align-items: center; text-align: center; }
.milestones li:last-child { align-items: flex-end; text-align: right; }
.milestones .diya { margin-bottom: 8px; }
.milestones time { font: 600 12px/1 'JetBrains Mono', monospace; color: var(--gold); }
.milestones span { font-size: 13px; color: var(--text-dim); }

.story { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 44px; align-items: start; margin-top: 26px; }
.story__text { font-size: 15.5px; line-height: 1.8; max-width: 62ch; }
.story__text p { margin: 0 0 1.2em; color: var(--text-dim); }
.story__text em { font-family: 'JetBrains Mono', monospace; font-style: normal; color: var(--gold-bright); }
.story__term { position: sticky; top: calc(var(--nav-h, 70px) + 24px); }
.story__term .terminal-body { min-height: 260px; font-size: 12.5px; }

.typing-on .w { display: inline-block; white-space: nowrap; }
.typing-on .ch { opacity: 0; position: relative; }
.typing-on .ch.on { opacity: 1; }
.typing-on .ch.cur { color: var(--gold-bright); }
.typing-on .ch.cur::after {
  content: ""; position: absolute; left: 100%; top: .12em; width: 2px; height: 1.05em; background: var(--diya);
  animation: blink 1s step-end infinite;
}
@media (max-width: 860px) {
  .story { grid-template-columns: 1fr; gap: 28px; }
  .story__term { position: static; }
}
@media (prefers-reduced-motion: reduce) { body::before { animation: none; } .t-node.is-lit::after, .is-lit > .diya::after { animation: none; } }

.story__close { color: var(--gold-bright) !important; font-family: 'Lora', Georgia, serif; font-size: 1.12em; line-height: 1.5; }
.merkle svg { display: block; width: 100%; height: auto; padding: 10px 14px 0; }
.m-e { fill: none; stroke: var(--line); stroke-width: 1.2; transition: stroke .5s ease; }
.m-node rect { fill: rgba(19, 13, 12, .9); stroke: var(--line); stroke-width: 1.2; transition: stroke .5s ease, fill .5s ease; }
.m-node text { fill: var(--text-faint); font: 600 11px 'JetBrains Mono', monospace; text-anchor: middle; transition: fill .5s ease; }
.merkle.s-leaf .m-leaf rect, .merkle.s-leaf .m-e-leaf { stroke: var(--gold); }
.merkle.s-leaf .m-leaf text { fill: var(--gold); }
.merkle.s-mid .m-mid rect, .merkle.s-mid .m-e-mid { stroke: var(--gold); }
.merkle.s-mid .m-mid text { fill: var(--gold); }
.merkle.s-root .m-root rect { stroke: var(--diya); fill: rgba(242, 176, 74, .08); filter: drop-shadow(0 0 8px rgba(242, 176, 74, .45)); }
.merkle.s-root .m-root text { fill: var(--diya); }
.merkle.s-broken .m-leaf-last rect, .merkle.s-broken .m-mid-r rect, .merkle.s-broken .m-root rect { stroke: var(--kumkum); fill: rgba(179, 32, 42, .14); filter: none; }
.merkle.s-broken .m-leaf-last text, .merkle.s-broken .m-mid-r text, .merkle.s-broken .m-root text { fill: #e0606a; }
.merkle.s-broken .m-e:nth-of-type(2), .merkle.s-broken .m-e:nth-of-type(6) { stroke: var(--kumkum); }
.m-cap { position: relative; height: 38px; margin: 6px 18px 12px; font: 500 12px/1.4 'JetBrains Mono', monospace; }
.m-cap span { position: absolute; inset: 0; transition: opacity .4s ease; }
.m-cap-a { color: var(--text-dim); opacity: 1; }
.m-cap-b { color: #e0606a; opacity: 0; }
.merkle.s-broken .m-cap-a { opacity: 0; }
.merkle.s-broken .m-cap-b { opacity: 1; }

.diptych { display: flex; flex-direction: column; gap: 16px; }
.proof-badge { display: flex; gap: 16px; align-items: center; padding: 14px 18px; }
.proof-badge__n { font-size: 54px; line-height: 1; color: var(--diya); text-shadow: 0 0 22px rgba(242, 176, 74, .4); }
.proof-badge__t { font-size: 12.5px; line-height: 1.5; color: var(--text-dim); }
.proof-badge__t b { color: var(--gold-bright); font-weight: 600; }
.print { margin: 0; padding: 8px 8px 0; overflow: hidden; }
.print img { display: block; width: 100%; height: auto; max-height: 30vh; object-fit: contain; background: #050505; }
.prints .print img { max-height: 46vh; }
.print__cap { display: flex; gap: 10px; align-items: baseline; padding: 9px 4px 10px; font: 500 11px/1.3 'JetBrains Mono', monospace; color: var(--text-faint); }
.print__cap b { color: var(--gold); font-weight: 600; }
.prints { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; }
@media (max-width: 860px) { .prints { grid-template-columns: 1fr; } .print img { max-height: none; } }

.prints--single { grid-template-columns: minmax(0, 1fr); }
.prints--single .print { max-width: 760px; margin-inline: auto; }
.prints--single .print img { max-height: 72vh; }
img[data-zoom] { cursor: zoom-in; }
.lb { position: fixed; inset: 0; z-index: 10000; display: none; flex-direction: column; background: rgba(8, 8, 8, .94); backdrop-filter: blur(6px); }
.lb.is-open { display: flex; }
.lb__bar { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-bottom: 1px solid rgba(245, 245, 240, .09); font: 500 12px/1 'JetBrains Mono', monospace; color: var(--text-dim); }
.lb__cap { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lb__btn { background: transparent; border: 1px solid var(--line); color: var(--text-dim); font: inherit; padding: 7px 12px; cursor: pointer; }
.lb__btn:hover, .lb__btn:focus-visible { color: var(--gold); border-color: var(--gold); outline: none; }
.lb__stage { flex: 1; overflow: auto; display: flex; padding: 20px; overscroll-behavior: contain; }
.lb__img { margin: auto; display: block; max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; cursor: zoom-in; }
.lb.is-full .lb__img { max-width: none; max-height: none; cursor: zoom-out; }

.casefile { margin-top: 26px; max-width: 920px; }
.casefile__intro p, .casefile__worth p { font-size: 15.5px; line-height: 1.8; color: var(--text-dim); margin: 0 0 1.2em; max-width: 66ch; }
.vledger { margin: 28px 0 40px; padding: 0; overflow: hidden; }
.vledger__head, .vledger__row { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 24px; align-items: start; padding: 16px 20px; }
.vledger__head { padding-block: 11px; border-bottom: 1px solid var(--gold); background: rgba(0, 0, 0, .25); font: 500 11px/1 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--text-faint); }
.vledger__row + .vledger__row { border-top: 1px solid rgba(245, 245, 240, .09); }
.vledger__who { display: flex; flex-direction: column; gap: 5px; padding-top: 3px; }
.vledger__who b { font: 700 15px/1.2 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--text); }
.vledger__who i { font: 500 11.5px/1.3 'JetBrains Mono', monospace; font-style: normal; color: var(--gold-bright); }
.vledger__txt { margin: 0; padding-top: 3px; font-size: 14.5px; line-height: 1.7; color: var(--text-dim); }
.casefile__label { font: 600 12px/1 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin: 0 0 16px; padding-top: 18px; border-top: 1px solid var(--line); }
.casefile__cta { display: flex; flex-wrap: wrap; gap: 14px; margin: 34px 0 8px; }
.cta { display: inline-block; padding: 14px 22px; border: 1px solid var(--line); color: var(--text); text-decoration: none; font: 500 13px/1.3 'JetBrains Mono', monospace; transition: color .2s, border-color .2s, background .2s; }
.cta:hover, .cta:focus-visible { color: var(--gold-bright); border-color: var(--gold); outline: none; }
.cta--main { background: var(--gold); border-color: var(--gold); color: #121212; font-weight: 600; }
.cta--main:hover, .cta--main:focus-visible { background: var(--gold-bright); border-color: var(--gold-bright); color: #121212; }
@media (max-width: 720px) {
  .vledger__head { display: none; }
  .vledger__row { grid-template-columns: minmax(0, 1fr); row-gap: 10px; }
}

.section-head h1 { font-size: clamp(28px, 3vw, 38px); font-weight: 600; line-height: 1.15; }
.spec { max-width: 860px; margin-bottom: 26px; }
.spec__row { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 22px; padding: 14px 0; border-top: 1px solid var(--line); }
.spec__row p { margin: 0; font-size: 15px; line-height: 1.75; color: var(--text-dim); }
.spec__label { font: 600 12px/1.9 'JetBrains Mono', monospace; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.spec__list { list-style: none; max-width: 860px; margin: 0 0 26px; padding: 0; border-top: 1px solid var(--line); }
.spec__list li { padding: 12px 0 12px 20px; position: relative; border-bottom: 1px solid rgba(245, 245, 240, .07); font-size: 14.5px; line-height: 1.7; color: var(--text-dim); }
.spec__list li::before { content: ""; position: absolute; left: 2px; top: 1.15em; width: 7px; height: 7px; background: var(--gold); }
.spec__list b { color: var(--text); font-weight: 600; }
.spec code, .spec__list code { font-size: .92em; color: var(--gold-bright); }
.spec__sub { font: 600 12px/1 'JetBrains Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); margin: 34px 0 14px; }
.term-cmd { color: var(--gold-bright); }
#spcmp .terminal-body, #cagm .terminal-body { overflow-x: auto; white-space: pre; font-size: 12.5px; line-height: 1.65; }
#cagm .ledger { max-width: 860px; margin-bottom: 28px; }
@media (max-width: 720px) { .spec__row { grid-template-columns: 1fr; gap: 6px; } }

.pricing-card .tier__meta { font: 500 12px/1.3 'JetBrains Mono', monospace; color: var(--gold-bright); margin: -6px 0 14px; letter-spacing: .02em; }
.pricing-card .tier__txt { color: var(--text-dim); font-size: 14px; line-height: 1.7; }
.pricing-card .price { font-variant-numeric: lining-nums; }
.tier__save { font: 600 13px/1 'JetBrains Mono', monospace; color: var(--sage); letter-spacing: .02em; }
.pricing-card--bundle { background: linear-gradient(180deg, rgba(197, 160, 89, .12), rgba(197, 160, 89, .03)); box-shadow: inset 0 2px 0 var(--gold); }
.pricing-card--bundle .serif { color: var(--gold-bright); }
.tier__note { max-width: 66ch; margin-top: 18px; font-size: 13.5px; line-height: 1.7; color: var(--text-dim); }
.tier__send { margin-top: 18px; font-size: 14.5px; color: var(--text-dim); }
.tier__send a { color: var(--gold); text-decoration: none; }
.tier__send a:hover { color: var(--gold-bright); }
#handshake .terminal-body { overflow-x: auto; white-space: pre; font-size: 12.5px; line-height: 1.65; }

.pilot-hook { max-width: 62ch; margin: 4px 0 0; padding: 4px 0 4px 18px; border-left: 2px solid var(--gold); font-family: 'Lora', Georgia, serif; font-size: 1.12em; line-height: 1.6; color: var(--gold-bright); }
