:root {
  --ink: #20231f;
  --muted: #687067;
  --paper: #f6f3ec;
  --paper-deep: #ebe5d8;
  --line: #d8d1c3;
  --accent: #b85c38;
  --accent-dark: #7c3926;
  --sage: #667865;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }

.site-header {
  max-width: var(--max);
  margin: 0 auto;
  padding: 28px 32px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}
.brand { display: flex; align-items: center; gap: 13px; }
.brand-mark { width: 30px; height: 30px; position: relative; display: inline-block; }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; bottom: 3px; width: 13px; height: 23px; border: 1.6px solid var(--accent); border-radius: 100% 0 100% 0; }
.brand-mark::before { left: 2px; transform: rotate(-32deg); }
.brand-mark::after { right: 2px; transform: scaleX(-1) rotate(-32deg); }
.brand-name { font-family: Georgia, "Times New Roman", serif; font-size: 1.2rem; letter-spacing: .015em; }
.brand-name span { display: block; color: var(--muted); font-family: inherit; font-size: .65rem; line-height: 1.2; letter-spacing: .12em; text-transform: uppercase; }
.site-nav { display: flex; gap: 26px; font-size: .81rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.site-nav a { transition: color .2s ease; }
.site-nav a:hover, .site-nav a.active { color: var(--accent-dark); }

main { max-width: var(--max); margin: 0 auto; padding: 0 32px; }
.eyebrow { color: var(--accent-dark); font-size: .74rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.display { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; line-height: .98; }

.hero { min-height: 680px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: center; gap: 9vw; padding: 76px 0 92px; }
.hero h1 { max-width: 720px; margin: 21px 0 27px; font-size: clamp(4.2rem, 10vw, 8.6rem); }
.hero-lead { max-width: 590px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.18rem, 2vw, 1.48rem); line-height: 1.5; color: #3a403a; }
.hero-note { align-self: end; margin-bottom: 36px; border-top: 1px solid var(--line); padding-top: 20px; color: var(--muted); font-size: .92rem; }
.hero-note strong { display: block; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 1.1rem; margin-bottom: 7px; }

.intro-band { margin: 0 -32px; padding: 70px max(32px, calc((100vw - var(--max)) / 2 + 32px)); background: var(--paper-deep); }
.intro-band .quote { max-width: 780px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.6rem, 3vw, 2.55rem); line-height: 1.27; letter-spacing: -.025em; }
.intro-band .quote::before { content: "“"; color: var(--accent); font-size: 4rem; line-height: 0; vertical-align: -.7em; margin-right: 9px; }

.section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 93px 0 27px; border-bottom: 1px solid var(--ink); }
.section-head h2 { margin: 0; font-size: clamp(2.3rem, 5vw, 4.5rem); }
.section-head p { margin: 0; max-width: 330px; color: var(--muted); font-size: .92rem; }
.paper-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-bottom: 1px solid var(--line); }
.paper-card { min-height: 310px; padding: 31px 28px 35px 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.paper-card + .paper-card { padding-left: 28px; }
.paper-card:last-child { border-right: 0; }
.paper-number { color: var(--accent); font-size: .8rem; letter-spacing: .15em; }
.paper-card h3 { margin: 35px 0 14px; max-width: 290px; font-size: 1.95rem; line-height: 1.07; }
.paper-card p { margin: 0; color: var(--muted); font-size: .93rem; }
.read-link { margin-top: auto; padding-top: 35px; color: var(--accent-dark); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.read-link::after { content: "  ↗"; }

.page-intro { padding: 95px 0 72px; max-width: 780px; }
.page-intro h1 { margin: 17px 0 25px; font-size: clamp(3.6rem, 8vw, 7.2rem); }
.page-intro p { max-width: 650px; margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; color: #454b44; }
.paper-layout { display: grid; grid-template-columns: 180px minmax(0, 690px); gap: 70px; padding: 30px 0 120px; border-top: 1px solid var(--line); }
.paper-aside { color: var(--muted); font-size: .83rem; }
.paper-aside div { margin-bottom: 22px; }
.paper-aside strong { display: block; color: var(--ink); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 5px; }
.paper-body { font-family: Georgia, "Times New Roman", serif; font-size: 1.16rem; line-height: 1.83; }
.paper-body h2 { margin: 0 0 22px; font-size: 2.2rem; line-height: 1.12; font-weight: 400; }
.paper-body p { margin: 0 0 1.55em; }
.placeholder { padding: 30px; border: 1px dashed var(--accent); background: rgba(184, 92, 56, .045); color: #5d463d; }
.placeholder p:last-child { margin-bottom: 0; }
.placeholder strong { color: var(--accent-dark); }

.about-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; padding: 30px 0 130px; border-top: 1px solid var(--line); }
.about-grid h2 { margin: 0 0 19px; font-size: 2.2rem; }
.about-grid p { font-family: Georgia, "Times New Roman", serif; font-size: 1.25rem; line-height: 1.62; }
.contact-card { padding: 28px 0; border-top: 1px solid var(--ink); }
.contact-card a { color: var(--accent-dark); border-bottom: 1px solid var(--accent); }

.site-footer { max-width: var(--max); margin: 0 auto; padding: 28px 32px 50px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: .8rem; }
.site-footer a { color: var(--accent-dark); }

@media (max-width: 760px) {
  .site-header { padding: 21px 20px 18px; align-items: flex-start; }
  main { padding: 0 20px; }
  .site-nav { gap: 14px; font-size: .68rem; padding-top: 5px; }
  .hero { min-height: auto; display: block; padding: 70px 0 80px; }
  .hero h1 { font-size: clamp(4rem, 21vw, 7rem); }
  .hero-note { margin-top: 65px; }
  .intro-band { margin: 0 -20px; padding: 55px 20px; }
  .section-head { display: block; padding-top: 67px; }
  .section-head p { margin-top: 15px; }
  .paper-grid { display: block; }
  .paper-card, .paper-card + .paper-card { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .paper-card:last-child { border-bottom: 0; }
  .paper-card h3 { margin-top: 22px; }
  .page-intro { padding: 70px 0 55px; }
  .paper-layout, .about-grid { display: block; padding-bottom: 85px; }
  .paper-aside { display: flex; gap: 25px; border-bottom: 1px solid var(--line); padding-bottom: 22px; margin-bottom: 34px; }
  .paper-aside div { margin: 0; }
  .site-footer { display: block; padding: 25px 20px 40px; }
  .site-footer span { display: block; margin-bottom: 8px; }
}

.comments-section { padding: 0 0 110px; border-top: 1px solid var(--line); }
.comments-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 44px 0 26px; }
.comments-heading h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: 2.35rem; font-weight: 400; letter-spacing: -.03em; }
.comments-heading span { color: var(--muted); font-size: .85rem; }
.comment-form { display: grid; grid-template-columns: 1fr 2fr auto; gap: 12px; align-items: start; padding-bottom: 30px; }
.comment-form input, .comment-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); padding: 13px 14px; font: inherit; }
.comment-form textarea { min-height: 48px; resize: vertical; }
.comment-form input:focus, .comment-form textarea:focus { outline: 2px solid var(--accent); outline-offset: -2px; }
.comment-form button { min-height: 48px; border: 1px solid var(--accent-dark); background: var(--accent-dark); color: var(--paper); padding: 0 18px; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.comment-form button:hover { background: var(--accent); border-color: var(--accent); }
.comment-form button:disabled { opacity: .55; cursor: wait; }
.comment-note { min-height: 1.4em; margin: 0 0 22px; color: var(--muted); font-size: .8rem; }
.comment { padding: 23px 0; border-top: 1px solid var(--line); }
.comment-meta { display: flex; gap: 14px; align-items: baseline; }
.comment-meta strong { font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; font-weight: 400; }
.comment-meta time { color: var(--muted); font-size: .77rem; }
.comment p { max-width: 690px; margin: 7px 0 0; color: #454b44; font-family: Georgia, "Times New Roman", serif; font-size: 1.06rem; line-height: 1.65; }
.comments-empty { margin: 0; padding: 24px 0; border-top: 1px solid var(--line); color: var(--muted); font-family: Georgia, "Times New Roman", serif; }
@media (max-width: 760px) {
  .comments-section { padding-bottom: 75px; }
  .comments-heading { display: block; }
  .comments-heading span { display: block; margin-top: 8px; }
  .comment-form { display: block; }
  .comment-form input, .comment-form textarea, .comment-form button { margin-bottom: 10px; }
  .comment-form button { width: 100%; }
}

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.comments-heading h2 { display: flex; align-items: baseline; gap: 12px; }
.comments-heading h2 span { display: inline-grid; place-items: center; min-width: 26px; height: 26px; border: 1px solid var(--line); border-radius: 50%; color: var(--accent-dark); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .72rem; line-height: 1; }
.comments-heading > span { display: flex; align-items: center; gap: 14px; }
.comments-heading > span::after { content: ""; display: block; width: 80px; height: 1px; background: var(--line); }
.comment { position: relative; padding: 22px 0 25px; border-top: 1px solid var(--line); }
.comment-meta { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; }
.comment-meta > div:first-child { display: flex; align-items: baseline; gap: 12px; }
.comment-actions { display: flex; gap: 12px; }
.comment-action { border: 0; background: transparent; color: var(--muted); padding: 2px 0; cursor: pointer; font: inherit; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.comment-action:hover { color: var(--accent-dark); }
.comment-delete { color: var(--accent-dark); }
.comment-text { margin-bottom: 0 !important; }
.comment-edit { width: 100%; min-height: 100px; margin-top: 8px; border: 1px solid var(--line); background: transparent; padding: 12px; color: var(--ink); font: inherit; resize: vertical; }
.comment-edit-actions { display: flex; gap: 15px; padding-top: 8px; }
.comment-save { color: var(--accent-dark); font-weight: 700; }
@media (max-width: 760px) {
  .comments-heading > span::after { display: none; }
  .comment-meta { align-items: flex-start; }
  .comment-meta > div:first-child { display: block; }
  .comment-meta time { display: block; margin-top: 4px; }
}

.platform-intro { display:grid; grid-template-columns:minmax(170px,.65fr) minmax(0,1.35fr); gap:80px; padding:92px 0 98px; border-bottom:1px solid var(--line); }
.platform-intro-label p { margin:18px 0 0; color:var(--muted); font-size:.82rem; line-height:1.55; }
.platform-intro-copy { max-width:750px; }
.platform-intro-copy h2 { margin:0 0 25px; max-width:680px; font-size:clamp(2.1rem,4.5vw,4rem); }
.platform-intro-copy p { margin:0 0 20px; max-width:690px; font-family:Georgia,"Times New Roman",serif; font-size:1.18rem; line-height:1.65; color:#454b44; }
.platform-intro-copy .invitation { margin-top:28px; padding-top:22px; border-top:1px solid var(--ink); }
.platform-intro-copy .invitation strong { color:var(--ink); font-weight:400; }
.closing-note { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; padding:88px 0 112px; }
.closing-note p { margin:0; }
.closing-note .display { font-size:clamp(2.3rem,5vw,4.5rem); }
.closing-note p:last-child { max-width:260px; color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:1.25rem; line-height:1.45; }
@media (max-width:760px) {
  .platform-intro { display:block; padding:68px 0 72px; }
  .platform-intro-label { margin-bottom:38px; }
  .closing-note { display:block; padding:67px 0 82px; }
  .closing-note p:last-child { margin-top:18px; }
}

.published-section .section-head { border-bottom: 0; padding-bottom: 25px; }
.published-section .section-head h2::before { content: "03"; display: block; margin-bottom: 14px; color: var(--accent); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .16em; line-height: 1; }
.published-section .paper-grid { gap: 14px; border-bottom: 0; }
.published-section .paper-card { position: relative; min-height: 350px; padding: 28px 28px 34px; border: 1px solid var(--line); background: rgba(255,255,255,.18); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.published-section .paper-card:first-child { border-color: var(--accent); background: rgba(184,92,56,.06); }
.published-section .paper-card:hover { transform: translateY(-4px); border-color: var(--accent); background: rgba(184,92,56,.08); }
.published-section .paper-card + .paper-card { padding-left: 28px; }
.paper-card-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.paper-status { color: var(--accent-dark); font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.published-section .paper-card h3 { margin: 68px 0 16px; max-width: 310px; font-size: clamp(2rem, 3.2vw, 3rem); }
.published-section .paper-card p { max-width: 280px; }
.published-section .read-link { padding-top: 40px; }
@media (max-width:760px) {
  .published-section .paper-grid { gap: 10px; }
  .published-section .paper-card, .published-section .paper-card + .paper-card { min-height: 0; padding: 25px 22px 30px; }
  .published-section .paper-card h3 { margin-top: 48px; }
}

.paper-hero { max-width: 900px; }
.paper-byline { margin-top: 18px !important; color: var(--muted) !important; font-family: Inter, ui-sans-serif, system-ui, sans-serif !important; font-size: .82rem !important; letter-spacing: .08em; text-transform: uppercase; }
.full-paper { grid-template-columns: 180px minmax(0, 760px); }
.paper-section { margin: 0 0 80px; }
.paper-section:last-child { margin-bottom: 0; }
.paper-section h2 { margin: 0 0 22px; }
.section-kicker { margin-bottom: 18px; color: var(--accent-dark); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .73rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.paper-abstract { padding: 28px 30px 8px; border: 1px solid var(--accent); background: rgba(184,92,56,.055); }
.scope-note { margin-top: 28px; padding: 20px 22px; border-left: 2px solid var(--accent); background: rgba(255,255,255,.22); font-size: 1rem; }
.scope-note strong { color: var(--accent-dark); }
.triptych-diagram { margin: 32px 0 52px; padding: 22px; background: var(--paper-deep); }
.triptych-title { margin-bottom: 16px; color: var(--muted); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-align: center; text-transform: uppercase; }
.triptych-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.triptych-grid > div { min-height: 150px; padding: 20px 15px; background: var(--paper); text-align: center; }
.triptych-grid b, .triptych-grid span, .triptych-grid small, .triptych-grid em { display: block; }
.triptych-grid b { color: var(--accent-dark); font-size: .73rem; letter-spacing: .1em; }
.triptych-grid span { margin: 15px 0 6px; font-family: Georgia, "Times New Roman", serif; font-size: 1.35rem; }
.triptych-grid small { color: var(--muted); font-size: .8rem; }
.triptych-grid em { margin-top: 18px; color: var(--accent); font-size: .75rem; }
.state-block { display: grid; grid-template-columns: 55px minmax(0,1fr); gap: 18px; padding: 30px 0; border-top: 1px solid var(--line); }
.state-number { color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: 2rem; }
.state-block h3 { margin: 0 0 18px; font-size: 1.7rem; line-height: 1.15; }
.state-block h3 span { display: block; margin-top: 5px; color: var(--muted); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .75rem; font-weight: 400; letter-spacing: .05em; }
.state-block p { font-size: 1.06rem; }
.state-anchor { display: inline-block; padding: 8px 13px; border: 1px solid var(--line); color: var(--accent-dark); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .82rem !important; }
.comparison-table-wrap { overflow-x: auto; margin: 35px 0 42px; }
.comparison-table { width: 100%; min-width: 650px; border-collapse: collapse; font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .82rem; line-height: 1.45; }
.comparison-table th, .comparison-table td { padding: 13px 14px; border: 1px solid var(--line); vertical-align: top; text-align: left; }
.comparison-table thead th { background: var(--paper-deep); color: var(--accent-dark); font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }
.comparison-table tbody th { width: 21%; color: var(--muted); font-weight: 600; }
.comparison-table small { color: var(--muted); font-weight: 400; text-transform: none; }
.cycle-diagram { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin: 32px 0 42px; }
.cycle-node { padding: 20px 16px; border-top: 3px solid var(--accent); background: var(--paper-deep); }
.cycle-node b, .cycle-node span { display: block; }
.cycle-node b { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.cycle-node span { margin-top: 9px; color: var(--muted); font-family: Georgia, "Times New Roman", serif; font-size: .98rem; }
.transition-list { padding-left: 24px; border-left: 1px solid var(--accent); }
.transition-list p { margin-bottom: 20px; }
.transition-list strong { color: var(--accent-dark); }
.conclusion { padding-top: 32px; border-top: 1px solid var(--ink); }
@media (max-width:760px) { .full-paper { display: block; } .paper-section { margin-bottom: 58px; } .paper-abstract { padding: 24px 20px 5px; } .triptych-diagram { padding: 12px; } .triptych-grid { display: block; background: transparent; } .triptych-grid > div { min-height: 0; margin-bottom: 1px; } .state-block { grid-template-columns: 40px minmax(0,1fr); gap: 10px; } .state-block h3 { font-size: 1.4rem; } .cycle-diagram { display: block; } .cycle-node { margin-bottom: 10px; } }

.sensory-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:32px 0 45px; }
.sensory-card { padding:25px 26px 20px; border:1px solid var(--line); background:var(--paper-deep); }
.sensory-card.featured-sensory { border-color:var(--accent); background:rgba(184,92,56,.055); }
.sensory-index { color:var(--accent); font-family:Georgia,"Times New Roman",serif; font-size:2rem; }
.sensory-card h3 { margin:12px 0 20px; font-size:1.35rem; }
.sensory-card p { display:flex; justify-content:space-between; gap:16px; margin:0 0 8px; padding-bottom:8px; border-bottom:1px solid rgba(216,209,195,.8); font-size:1rem; }
.sensory-card small { color:var(--muted); font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.72rem; text-align:right; }
.archive-note { display:grid; grid-template-columns:70px minmax(0,1fr); gap:20px; align-items:center; margin:32px 0 8px; padding:22px 25px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.archive-mark { color:var(--accent); font-size:3.7rem; line-height:1; text-align:center; }
.archive-note strong { color:var(--accent-dark); font-size:.75rem; letter-spacing:.13em; text-transform:uppercase; }
.archive-note p { margin:7px 0 0; font-size:1rem; }
.translation-list { border-top:1px solid var(--line); }
.translation-step { display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; padding:26px 0; border-bottom:1px solid var(--line); }
.translation-number { color:var(--accent); font-family:Georgia,"Times New Roman",serif; font-size:2rem; }
.translation-step h3 { margin:0 0 10px; font-size:1.45rem; }
.translation-step h3 span { display:block; margin-top:4px; color:var(--muted); font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.75rem; font-weight:400; letter-spacing:.05em; }
.translation-step p { margin:0; font-size:1.06rem; }
@media (max-width:760px) { .sensory-grid { display:block; } .sensory-card { margin-bottom:10px; } .archive-note { grid-template-columns:45px minmax(0,1fr); padding:18px 14px; } .translation-step { grid-template-columns:44px minmax(0,1fr); gap:10px; } }

.instrument-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:32px 0 50px; }
.instrument-card { min-height:350px; padding:24px 25px 28px; border:1px solid var(--line); background:var(--paper-deep); }
.instrument-card.heart { border-top:4px solid #b85c38; } .instrument-card.machine { border-top:4px solid #667865; } .instrument-card.mind { border-top:4px solid #8d7553; } .instrument-card.place { border-top:4px solid #4f6671; }
.instrument-top { display:flex; justify-content:space-between; align-items:center; gap:15px; }
.instrument-number { color:var(--accent); font-family:Georgia,"Times New Roman",serif; font-size:2rem; }
.instrument-question { color:var(--muted); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.instrument-card h3 { margin:55px 0 18px; font-size:2rem; }
.instrument-card p { font-size:1rem; }
.alignment-diagram { position:relative; min-height:330px; margin:40px 0 48px; border:1px solid var(--line); background:var(--paper-deep); }
.alignment-center { position:absolute; top:50%; left:50%; z-index:2; display:grid; width:140px; height:140px; transform:translate(-50%,-50%); place-items:center; border:1px solid var(--accent); border-radius:50%; background:var(--paper); color:var(--accent-dark); font-family:Georgia,"Times New Roman",serif; font-size:1.35rem; line-height:1.1; text-align:center; }
.alignment-line { position:absolute; display:flex; flex-direction:column; min-width:95px; color:var(--ink); font-size:.78rem; text-align:center; }
.alignment-line::after { content:""; position:absolute; z-index:0; background:var(--accent); }
.alignment-line b, .alignment-line span { position:relative; z-index:1; display:block; }
.alignment-line b { font-family:Inter,ui-sans-serif,system-ui,sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; }
.alignment-line span { margin-top:6px; color:var(--muted); font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.line-heart { top:46px; left:50%; transform:translateX(-50%); } .line-heart::after { top:43px; left:50%; width:1px; height:84px; }
.line-place { bottom:45px; left:50%; transform:translateX(-50%); } .line-place::after { bottom:43px; left:50%; width:1px; height:84px; }
.line-machine { top:50%; left:60px; transform:translateY(-50%); } .line-machine::after { top:50%; left:100%; width:130px; height:1px; }
.line-mind { top:50%; right:60px; transform:translateY(-50%); } .line-mind::after { top:50%; right:100%; width:130px; height:1px; }
.prompt-list { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; border-top:1px solid var(--line); }
.prompt-list p { margin:0; padding:20px 0; border-bottom:1px solid var(--line); }
.prompt-list strong, .prompt-list span { display:block; } .prompt-list strong { color:var(--accent-dark); } .prompt-list span { margin-top:5px; color:var(--muted); font-size:1rem; }
@media (max-width:760px) { .instrument-grid, .prompt-list { display:block; } .instrument-card { min-height:0; margin-bottom:10px; } .instrument-card h3 { margin-top:40px; } .alignment-diagram { min-height:430px; } .line-machine { left:20px; } .line-mind { right:20px; } .line-machine::after, .line-mind::after { width:55px; } }

/* Shared long-form reading system for all papers */
.paper-hero { padding-bottom: 62px; }
.full-paper { align-items: start; grid-template-columns: 160px minmax(0, 760px); gap: 64px; padding-top: 34px; }
.full-paper .paper-aside { position: sticky; top: 28px; }
.full-paper .paper-body, .full-paper .entry-content { min-width: 0; max-width: 760px; }
.full-paper .paper-body > p, .full-paper .entry-content > p { max-width: 680px; }
.paper-section h2 { font-size: clamp(1.85rem, 3vw, 2.65rem); }
.paper-section h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.paper-section em { color: var(--accent-dark); }
@media (max-width:760px) { .paper-hero { padding-bottom: 45px; } .full-paper .paper-aside { position: static; } .full-paper .paper-body, .full-paper .entry-content { max-width: none; } }

.pdf-layout { display:grid; grid-template-columns:160px minmax(0,850px); gap:64px; align-items:start; padding:34px 0 90px; border-top:1px solid var(--line); }
.pdf-layout .paper-aside { position:sticky; top:28px; }
.pdf-download { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; padding-top:14px; border-top:1px solid var(--ink); color:var(--accent-dark); font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.pdf-download span { font-size:1.15rem; }
.pdf-reader { min-width:0; border:1px solid var(--line); background:#e8e4da; box-shadow:0 14px 35px rgba(32,35,31,.08); }
.pdf-reader-bar { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px 18px; border-bottom:1px solid var(--line); background:var(--paper); color:var(--muted); font-size:.73rem; letter-spacing:.08em; text-transform:uppercase; }
.pdf-reader-bar a { color:var(--accent-dark); }
.pdf-reader object { display:block; width:100%; height:900px; border:0; }
@media (max-width:760px) { .pdf-layout { display:block; padding-bottom:65px; } .pdf-layout .paper-aside { position:static; display:flex; flex-wrap:wrap; gap:8px 22px; align-items:start; padding-bottom:22px; margin-bottom:24px; border-bottom:1px solid var(--line); } .pdf-layout .paper-aside div { margin:0; } .pdf-download { width:100%; margin-top:10px; } .pdf-reader-bar { font-size:.65rem; } .pdf-reader object { height:680px; } }

/* Full-height reading mode */
.pdf-reader-bar .pdf-fullscreen { margin-left:auto; padding:0; border:0; background:none; color:var(--accent-dark); cursor:pointer; font:inherit; letter-spacing:inherit; text-transform:inherit; }
.pdf-reader-bar .pdf-fullscreen:hover { text-decoration:underline; }
.pdf-reader object { height:calc(100vh - 255px); min-height:680px; }
.pdf-reader:fullscreen { display:flex; flex-direction:column; width:100vw; height:100vh; border:0; box-shadow:none; background:#e8e4da; }
.pdf-reader:fullscreen .pdf-reader-bar { flex:0 0 auto; }
.pdf-reader:fullscreen object { flex:1 1 auto; width:100%; height:auto; min-height:0; }
.pdf-reader.reader-expanded { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; width:100vw; height:100vh; border:0; box-shadow:none; }
.pdf-reader.reader-expanded object { flex:1 1 auto; height:auto; min-height:0; }
@media (max-width:760px) { .pdf-reader object { height:calc(100svh - 205px); min-height:520px; } .pdf-reader:fullscreen object { height:auto; min-height:0; } .pdf-reader-bar { padding:13px 12px; } }

/* Automatic viewport reader: no interaction required */
.pdf-layout { display:block; padding-top:26px; }
.pdf-layout .paper-aside { position:static; display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.pdf-layout .paper-aside div { margin:0; }
.pdf-layout .pdf-download { width:auto; margin:0 0 0 auto; padding:0; border:0; }
.pdf-reader { width:100%; }
.pdf-reader object { width:100%; height:calc(100dvh - 250px); min-height:560px; }
.pdf-reader:fullscreen, .pdf-reader.reader-expanded { position:static; display:block; width:100%; height:auto; border:1px solid var(--line); box-shadow:0 14px 35px rgba(32,35,31,.08); }
.pdf-reader:fullscreen object, .pdf-reader.reader-expanded object { height:calc(100dvh - 250px); min-height:560px; }
@media (max-width:760px) { .pdf-layout { padding-top:20px; } .pdf-layout .paper-aside { gap:8px 18px; margin-bottom:14px; padding-bottom:14px; } .pdf-layout .pdf-download { width:100%; margin-top:4px; } .pdf-reader object, .pdf-reader:fullscreen object, .pdf-reader.reader-expanded object { height:calc(100dvh - 205px); min-height:480px; } }

.pdf-download small { color:var(--muted); font-size:.68rem; font-weight:500; letter-spacing:.04em; text-transform:none; }
.pdf-download small span { color:var(--accent-dark); font-weight:700; }

/* Highlighted download counter badge */
.pdf-download { align-items:center; }
.pdf-download small { display:inline-flex; align-items:center; gap:4px; margin-left:4px; padding:5px 9px; border:1px solid rgba(184,92,56,.35); border-radius:999px; background:rgba(184,92,56,.12); color:var(--accent-dark); font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:none; white-space:nowrap; }
.pdf-download small span { color:var(--accent-dark); font-size:.82rem; font-weight:800; }
@media (max-width:760px) { .pdf-download { justify-content:flex-start; } .pdf-download small { margin-left:2px; } }
