.paper-page { color: var(--ink); background: var(--paper); }
.paper-page ::selection { color: var(--paper); background: var(--ink); }
.paper-site-header { position: absolute; color: var(--paper); }

.paper-cover {
  display: grid;
  min-height: 920px;
  padding: 150px 48px 42px;
  grid-template-columns: 1fr 330px;
  grid-template-rows: auto 1fr auto;
  gap: 35px 70px;
  color: var(--paper);
  background: var(--ink);
  border-inline: 1px solid var(--line);
}
.paper-cover-meta { display: flex; grid-column: 1 / -1; gap: 14px; color: #85877e; font-family: var(--mono); font-size: 7px; letter-spacing: .09em; text-transform: uppercase; }
.paper-cover-meta span { padding-right: 14px; border-right: 1px solid var(--line); }
.paper-cover-meta span:last-child { color: var(--acid); border-right: 0; }
.paper-cover-copy { align-self: center; }
.paper-cover-copy > p { margin: 0 0 32px; color: var(--acid); font-family: var(--mono); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.paper-cover h1 { margin: 0; font-family: var(--serif); font-size: clamp(82px, 9vw, 140px); font-weight: 300; letter-spacing: -.065em; line-height: .79; }
.paper-cover h1 em { color: var(--acid); font-weight: 300; }
.paper-subtitle { display: grid; max-width: 720px; margin-top: 55px; padding-top: 24px; grid-template-columns: 1fr 1fr; gap: 45px; border-top: 1px solid var(--line); }
.paper-subtitle strong { font-family: var(--serif); font-size: 22px; font-weight: 300; line-height: 1.35; }
.paper-subtitle span { color: #8c8e85; font-size: 10px; line-height: 1.7; }
.paper-cover-mark { display: flex; align-items: center; justify-content: center; align-self: stretch; background: #10120f; border: 1px solid var(--line); }
.paper-cover-mark svg { width: 78%; overflow: visible; }
.paper-cover-mark path { fill: none; stroke: var(--acid); stroke-width: 1; }
.paper-cover-mark circle { fill: var(--ink); stroke: var(--acid); stroke-width: 1; }
.paper-cover-foot { display: flex; min-height: 50px; grid-column: 1 / -1; align-items: end; justify-content: space-between; color: #74776d; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }

.abstract-section { padding-block: 120px; color: var(--ink); background: var(--acid); }
.abstract-grid { display: grid; grid-template-columns: 205px 1fr; gap: 55px; }
.abstract-label { display: flex; align-items: flex-start; gap: 18px; font-family: var(--mono); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.abstract-label span { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(11,12,10,.35); border-radius: 50%; }
.abstract-label strong { padding-top: 12px; font-weight: 400; }
.abstract-lead { max-width: 900px; margin: 0; font-family: var(--serif); font-size: clamp(38px,4.4vw,63px); font-weight: 300; letter-spacing: -.035em; line-height: 1.02; }
.abstract-columns { display: grid; margin-top: 60px; padding-top: 25px; grid-template-columns: 1fr 1fr; gap: 45px; border-top: 1px solid rgba(11,12,10,.3); }
.abstract-columns p { margin: 0; color: #35392d; font-size: 11px; line-height: 1.8; }

.paper-layout { display: grid; padding: 145px 48px 0; grid-template-columns: 175px minmax(0, 840px); justify-content: center; gap: 65px; }
.paper-toc > div { position: sticky; top: 28px; display: flex; padding-top: 16px; flex-direction: column; border-top: 1px solid rgba(11,12,10,.3); }
.paper-toc span { margin-bottom: 18px; color: #666860; font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.paper-toc a { display: grid; padding: 10px 0; grid-template-columns: 31px 1fr; color: #666860; border-bottom: 1px solid rgba(11,12,10,.1); font-family: var(--mono); font-size: 7px; line-height: 1.4; }
.paper-toc a:hover { color: var(--ink); }
.paper-toc b { color: #668600; font-weight: 400; }
.paper-body { min-width: 0; }
.paper-part { padding-bottom: 140px; }
.paper-part > header > span { display: block; margin-bottom: 20px; color: #648300; font-family: var(--mono); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.paper-part h2 { max-width: 790px; margin: 0; font-family: var(--serif); font-size: clamp(54px,6vw,81px); font-weight: 300; letter-spacing: -.05em; line-height: .93; }
.paper-part h3 { margin: 64px 0 20px; font-family: var(--serif); font-size: 37px; font-weight: 400; letter-spacing: -.03em; }
.paper-intro { margin: 43px 0 55px; color: #33352f; font-family: var(--serif); font-size: 27px; line-height: 1.42; }
.paper-part > p:not(.paper-intro) { color: #555750; font-size: 13px; line-height: 1.85; }
.paper-part > blockquote { margin: 55px 0; padding: 35px 0; color: var(--ink); border-block: 1px solid rgba(11,12,10,.25); font-family: var(--serif); font-size: 34px; font-weight: 300; line-height: 1.3; }

.process-strip,
.execution-line,
.port-flow { display: flex; padding: 18px; align-items: center; justify-content: space-between; gap: 8px; background: #e3dfd3; border: 1px solid rgba(11,12,10,.18); }
.process-strip div,
.execution-line div,
.port-flow div { display: flex; min-height: 105px; padding: 14px; align-items: center; justify-content: center; flex: 1; flex-direction: column; background: var(--paper); border: 1px solid rgba(11,12,10,.18); text-align: center; }
.process-strip div > span,
.execution-line div > span,
.port-flow div > span { margin-bottom: 12px; color: #6b6d65; font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.process-strip strong,
.execution-line strong,
.port-flow strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }
.process-strip small,
.execution-line small { margin-top: 8px; color: #777970; font-family: var(--mono); font-size: 6px; text-transform: uppercase; }
.process-strip > i,
.execution-line > i,
.port-flow > i { color: #648300; font-family: var(--mono); font-size: 7px; font-style: normal; text-transform: uppercase; }
.port-flow { margin-bottom: 40px; }
.port-flow .owner { color: var(--paper); background: var(--ink); }
.port-flow .owner > span { color: var(--acid); }

.principle-grid { display: grid; margin-top: 55px; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(11,12,10,.2); border-left: 1px solid rgba(11,12,10,.2); }
.principle-grid article { min-height: 245px; padding: 25px; border-right: 1px solid rgba(11,12,10,.2); border-bottom: 1px solid rgba(11,12,10,.2); }
.principle-grid span { display: block; color: #648300; font-family: var(--mono); font-size: 8px; }
.principle-grid strong { display: block; margin: 50px 0 15px; font-family: var(--serif); font-size: 26px; font-weight: 400; }
.principle-grid p { margin: 0; color: #666860; font-size: 10px; line-height: 1.7; }

.boundary-stack { margin: 0 0 45px; border-top: 1px solid rgba(11,12,10,.22); }
.boundary-stack > div { display: grid; min-height: 110px; padding: 20px 8px; align-items: center; grid-template-columns: 85px 1fr 1.25fr; gap: 25px; border-bottom: 1px solid rgba(11,12,10,.22); }
.boundary-stack span { color: #648300; font-family: var(--mono); font-size: 8px; text-transform: uppercase; }
.boundary-stack strong { font-family: var(--serif); font-size: 24px; font-weight: 400; }
.boundary-stack p { margin: 0; color: #65675f; font-size: 10px; line-height: 1.65; }
.paper-note { margin-top: 42px; padding: 25px; color: var(--ink); background: var(--acid); }
.paper-note span { display: block; margin-bottom: 20px; font-family: var(--mono); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.paper-note strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.evidence-link { display: grid; margin-top: 40px; padding: 22px; align-items: center; grid-template-columns: .5fr 1fr auto; color: var(--paper); background: var(--ink); }
.evidence-link span { color: var(--acid); font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.evidence-link strong { font-family: var(--serif); font-size: 20px; font-weight: 300; }
.evidence-link i { color: var(--acid); font-style: normal; }

.paper-milestones { margin: 0; padding: 0; border-top: 1px solid rgba(11,12,10,.3); list-style: none; }
.paper-milestones li { display: grid; min-height: 68px; padding: 0 13px; align-items: center; grid-template-columns: 65px 1fr 1.2fr; border-bottom: 1px solid rgba(11,12,10,.18); }
.paper-milestones span,
.paper-milestones small { color: #666860; font-family: var(--mono); font-size: 7px; letter-spacing: .06em; text-transform: uppercase; }
.paper-milestones strong { font-family: var(--serif); font-size: 23px; font-weight: 400; }
.paper-milestones .current { color: var(--paper); background: var(--ink); }
.paper-milestones .current span { color: var(--acid); }
.paper-milestones .current small { color: #8b8e84; }

.limits-list { border-top: 1px solid rgba(11,12,10,.25); }
.limits-list article { display: grid; min-height: 130px; padding: 25px 8px; grid-template-columns: 65px 1fr; gap: 25px; border-bottom: 1px solid rgba(11,12,10,.2); }
.limits-list article > span { color: #9b3e22; font-family: var(--mono); font-size: 8px; }
.limits-list strong { font-family: var(--serif); font-size: 25px; font-weight: 400; }
.limits-list p { margin: 12px 0 0; color: #64665e; font-size: 10px; line-height: 1.7; }
.paper-limits > blockquote { color: var(--ink); border: 0; font-size: 58px; letter-spacing: -.04em; line-height: 1; }
.paper-end { display: flex; padding: 45px 0 130px; align-items: center; justify-content: space-between; gap: 40px; border-top: 1px solid rgba(11,12,10,.25); }
.paper-end div { display: flex; flex-direction: column; }
.paper-end span { margin-bottom: 11px; color: #648300; font-family: var(--mono); font-size: 7px; letter-spacing: .07em; text-transform: uppercase; }
.paper-end strong { max-width: 460px; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.paper-footer { margin-top: 0; padding-top: 85px; color: var(--paper); background: var(--ink); }

@media (max-width: 1080px) {
  .paper-cover { padding-inline: 36px; grid-template-columns: 1fr 265px; gap: 45px; }
  .paper-layout { padding-inline: 30px; grid-template-columns: 145px minmax(0,1fr); gap: 35px; }
}

@media (max-width: 720px) {
  .paper-cover { min-height: 850px; padding: 125px 14px 30px; grid-template-columns: 1fr; grid-template-rows: auto 1fr auto auto; border-inline: 0; }
  .paper-cover-meta { flex-wrap: wrap; }
  .paper-cover h1 { font-size: 75px; }
  .paper-subtitle { grid-template-columns: 1fr; gap: 18px; margin-top: 40px; }
  .paper-cover-mark { display: none; }
  .paper-cover-foot { grid-column: 1; }
  .paper-cover-foot span:nth-child(2) { display: none; }
  .abstract-section { padding-block: 85px; }
  .abstract-grid { grid-template-columns: 1fr; gap: 38px; }
  .abstract-lead { font-size: 38px; }
  .abstract-columns { grid-template-columns: 1fr; gap: 22px; }
  .paper-layout { display: block; padding: 95px 14px 0; }
  .paper-toc { display: none; }
  .paper-part { padding-bottom: 105px; }
  .paper-part h2 { font-size: 50px; }
  .paper-intro { font-size: 23px; }
  .paper-part > blockquote { font-size: 28px; }
  .process-strip, .execution-line, .port-flow { align-items: stretch; flex-direction: column; }
  .process-strip > i, .execution-line > i, .port-flow > i { text-align: center; transform: rotate(90deg); }
  .principle-grid { grid-template-columns: 1fr; }
  .principle-grid article { min-height: 220px; }
  .boundary-stack > div { grid-template-columns: 55px 1fr; }
  .boundary-stack p { grid-column: 2; }
  .evidence-link { grid-template-columns: 1fr auto; gap: 10px; }
  .evidence-link span { grid-column: 1 / -1; }
  .paper-milestones li { grid-template-columns: 47px 1fr; padding-block: 13px; }
  .paper-milestones small { margin-top: 6px; grid-column: 2; }
  .paper-limits > blockquote { font-size: 48px; }
  .paper-end { align-items: flex-start; flex-direction: column; }
}
