.lyra-page { --paper:#f6f2ed; --ink:#282129; --soft-ink:#665b62; --berry:#753f54; --rule:#ddd3ce; background:var(--paper); color:var(--ink); font:var(--type-body); }
.lyra-page main { overflow:clip; background:var(--paper); }
.lyra-page a { color:var(--berry); text-underline-offset:4px; }
.lyra-page a:hover { color:#4f2434; }
.lyra-page a:focus-visible,.lyra-page summary:focus-visible { outline:2px solid var(--berry); outline-offset:5px; }
.lyra-page .site-header { background:#151215; }
.lyra-page .site-header a { color:#eee4df; }
.lyra-page .site-header a:hover { color:#efbda8; }
.lyra-page .site-header .nav-toggle { color:#eee4df; }
.lyra-width { width:min(1120px,calc(100% - 64px)); margin-inline:auto; }
.lyra-page h1,.lyra-page h2,.lyra-page h3,.lyra-page h4,.lyra-page p,.lyra-page figure { margin:0; }
.lyra-page h1,.lyra-page h2 { font:var(--type-display); letter-spacing:-.025em; }
.lyra-page h3 { font:var(--type-title); }
.lyra-page h4 { font:var(--type-body); font-weight:600; }
.lyra-page h4 .lyra-peer-name { display:block; margin-top:4px; font:var(--type-small); color:var(--soft-ink); }
.lyra-page p { color:var(--soft-ink); }
.lyra-page .lyra-source { font:var(--type-small); color:#726870; text-decoration:underline; text-decoration-color:#bcb1b7; text-underline-offset:4px; white-space:nowrap; }
.lyra-page .lyra-source:hover { color:var(--berry); text-decoration-color:currentColor; }
.lyra-page .lyra-primary { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:48px; background:var(--berry); border:1px solid var(--berry); color:#fff8f5; border-radius:5px; font:var(--type-body); padding:12px 24px; text-decoration:none; box-shadow:none; }
.lyra-page .lyra-primary:hover { background:#5d2d40; color:white; }
.lyra-text-link { display:inline-block; font:var(--type-small); text-decoration:none; }
.lyra-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center; min-height:560px; padding-block:72px 62px; }
.lyra-page .lyra-edition { display:flex; gap:14px; flex-wrap:wrap; color:var(--berry); font:var(--type-small); margin-bottom:30px; }
.lyra-edition span { color:var(--soft-ink); }
.lyra-page .lyra-hero h1 { zoom:1.6; font-weight:400; }
.lyra-hero h1 em { color:var(--berry); font-weight:400; }
.lyra-page .lyra-lead { max-width:46ch; margin:24px 0 26px; font:var(--type-body); }
.lyra-hero-copy>.lyra-text-link { margin-left:20px; }
.lyra-story-art { position:relative; min-height:420px; display:grid; place-items:center; isolation:isolate; }
.lyra-story-art::before { content:""; position:absolute; inset:20px 0; background:radial-gradient(ellipse,#dfc8c4 0%,transparent 67%); z-index:-2; }
.lyra-orbit { position:absolute; border:1px solid #bb929740; border-radius:50%; width:95%; aspect-ratio:1; transform:rotate(-25deg) scaleY(.58); z-index:-1; }
.lyra-orbit-two { transform:rotate(35deg) scaleY(.7); width:83%; }
.lyra-book { width:218px; height:305px; position:relative; transform:perspective(900px) rotateY(-18deg) rotateZ(-7deg); filter:drop-shadow(18px 22px 20px #4b223136); animation:lyra-book-arrive 1.2s ease-out both; }
.lyra-book::before { content:""; position:absolute; right:-13px; top:6px; bottom:-6px; width:20px; background:repeating-linear-gradient(0deg,#d9cbbd 0 1px,#f7eddf 1px 3px); transform:skewY(25deg); border-radius:0 3px 3px 0; }
.lyra-book-cover { position:relative; height:100%; background:linear-gradient(125deg,#402135,#744052 55%,#4b293e); border:1px solid #926377; border-left:11px solid #3b2331; color:#f0d8c3; padding:25px; display:flex; flex-direction:column; align-items:center; text-align:center; border-radius:2px 6px 6px 2px; box-shadow:inset 3px 0 3px #ffffff14; }
.lyra-book-cover>span { font:var(--type-small); line-height:1.25; }
.lyra-book-cover svg { width:118px; height:118px; margin:5px 0; fill:none; stroke:#ca9f8d; stroke-width:1.2; }
.lyra-book-cover strong { font:var(--type-display); letter-spacing:.05em; }
.lyra-book-cover small { font:var(--type-small); color:#d7b6ae; margin-top:7px; }
.lyra-art-note { position:absolute; font:var(--type-title); color:#775c66; }
.lyra-art-note-one { top:70px; left:8px; transform:rotate(-8deg); }
.lyra-art-note-two { bottom:85px; right:5px; transform:rotate(6deg); }
.lyra-story-art figcaption { position:absolute; bottom:0; font:var(--type-small); color:var(--soft-ink); }
.lyra-proof-strip { border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); background:#eee7e2; }
.lyra-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:29px; }
.lyra-proof-grid>div { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 10px; padding-inline:30px; border-right:1px solid #d6cac5; }
.lyra-proof-grid>div:first-child { padding-left:0; }
.lyra-proof-grid>div:last-child { border:0; }
.lyra-proof-grid strong { flex-basis:100%; font:var(--type-display); font-variant-numeric:tabular-nums; color:var(--berry); }
.lyra-proof-grid span { font:var(--type-small); color:var(--soft-ink); }
.lyra-section { padding-block:84px; scroll-margin-top:85px; }
.lyra-section-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:80px; margin-bottom:38px; align-items:end; }
.lyra-page .lyra-section-index { font:var(--type-small); color:var(--berry); margin-bottom:18px; }
.lyra-section-heading h2 { max-width:19ch; }
.lyra-section-heading>p { max-width:44ch; }
.lyra-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.lyra-chart-panel { background:#fffdfa; border:1px solid var(--rule); padding:28px; border-radius:8px; }
.lyra-chart-panel figcaption,.lyra-range-panel figcaption { display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
.lyra-page .lyra-chart-caption { font:var(--type-small); margin-top:8px; }
.lyra-bars { margin-top:28px; }
.lyra-bar-row { margin-top:20px; }
.lyra-bar-row>div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; font:var(--type-small); }
.lyra-bar-row strong { font:var(--type-body); font-weight:600; font-variant-numeric:tabular-nums; }
.lyra-bar-track { display:block; position:relative; height:10px; background:#eee7e3; margin-top:7px; border-radius:2px; }
.lyra-bar-track i,.lyra-price-track i { display:block; width:var(--value); height:100%; background:#b5a8ad; transform-origin:left; border-radius:2px; }
.is-lyra .lyra-bar-track i { background:var(--berry); }
.is-lyra>div { color:var(--berry); }
.lyra-axis { display:flex; justify-content:space-between; margin-top:11px; color:#786d74; font:var(--type-small); }
.lyra-page .lyra-chart-note { font:var(--type-small); margin-top:24px; color:var(--soft-ink); }
.lyra-reading-note { display:flex; gap:36px; align-items:center; padding-top:28px; }
.lyra-reading-note>span { font:var(--type-title); flex-shrink:0; }
.lyra-reading-note>p { font:var(--type-small); max-width:65ch; }
.lyra-craft-section { padding-block:72px; background:#281c26; color:#f7ede7; }
.lyra-craft-section p,.lyra-craft-section .lyra-section-index { color:#ccb9bf; }
.lyra-craft-section a { color:#e1ac9b; }
.lyra-craft-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; list-style:none; padding:0; margin:45px 0 0; }
.lyra-craft-flow li { border-left:1px solid #69505e; padding:0 22px; min-width:0; }
.lyra-craft-flow li:first-child { border:0; padding-left:0; }
.lyra-craft-flow li:last-child { padding-right:0; }
.lyra-craft-number { color:#d8a493; font:var(--type-small); }
.lyra-craft-flow h3 { margin-top:15px; }
.lyra-craft-flow p { font:var(--type-small); margin-top:12px; min-height:80px; }
.lyra-mini-brief { display:grid; grid-template-columns:auto 1fr; gap:5px 8px; padding-top:15px; font:var(--type-small); }
.lyra-mini-brief span { color:#bea3b1; }
.lyra-mini-brief b { font-weight:400; }
.lyra-mini-plan { height:96px; display:flex; position:relative; gap:7px; align-items:end; padding-bottom:27px; }
.lyra-mini-plan i { flex:1; height:30%; background:#98677e; }
.lyra-mini-plan i:nth-child(2) { height:50%; }.lyra-mini-plan i:nth-child(3) { height:65%; }.lyra-mini-plan i:nth-child(4) { height:100%; }.lyra-mini-plan i:nth-child(5) { height:75%; }.lyra-mini-plan i:nth-child(6) { height:42%; }
.lyra-mini-plan span { position:absolute; bottom:0; white-space:nowrap; font:var(--type-small); color:#ccb9bf; zoom:.85; }
.lyra-mini-memory { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font:var(--type-small); padding-top:22px; }
.lyra-mini-memory>span { border-bottom:1px solid #b68498; padding-bottom:5px; }
.lyra-mini-memory>i { width:8px; height:1px; background:#b68498; }
.lyra-mini-memory b { font:var(--type-small); color:#ccb9bf; margin-top:13px; }
.lyra-mini-editions { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.lyra-mini-editions span { border:1px solid #806171; padding:9px 7px; border-radius:2px; font:var(--type-small); }
.lyra-page .lyra-craft-note { margin-top:40px; padding-top:24px; border-top:1px solid #58404e; font:var(--type-small); }
.lyra-craft-note a { margin-left:10px; white-space:nowrap; }
.lyra-range-panel { background:#fffdfa; border:1px solid var(--rule); border-radius:8px; padding:30px; }
.lyra-page .lyra-legend { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; font:var(--type-small); }
.lyra-legend span { display:flex; align-items:center; gap:8px; }
.lyra-dot { width:9px; height:9px; background:var(--berry); border-radius:50%; display:inline-block; }
.lyra-dot-peer { background:#a99aa1; }
.lyra-range-chart { margin-top:30px; }
.lyra-range-row { display:grid; grid-template-columns:190px minmax(0,1fr) 95px; align-items:center; gap:20px; border-top:1px solid #eee5df; padding:22px 0; }
.lyra-range-data { min-width:0; background:repeating-linear-gradient(90deg,#e9dfda 0 1px,transparent 1px 50%); }
.lyra-interval { position:relative; height:23px; color:var(--berry); }
.lyra-interval i { position:absolute; left:var(--low); width:calc(var(--high) - var(--low)); top:10px; height:3px; background:currentColor; }
.lyra-interval i::before,.lyra-interval i::after { content:""; position:absolute; width:1px; height:9px; top:-3px; background:currentColor; }
.lyra-interval i::after { right:0; }
.lyra-interval b { position:absolute; left:var(--point); top:6px; width:11px; height:11px; border-radius:50%; background:currentColor; transform:translateX(-50%); }
.lyra-interval.is-peer { color:#a99aa1; }
.lyra-range-row p { display:flex; flex-direction:column; align-items:end; font:var(--type-small); font-variant-numeric:tabular-nums; }
.lyra-range-row strong { font:var(--type-title); color:var(--berry); }
.lyra-range-axis { margin-left:210px; margin-right:115px; display:flex; justify-content:space-between; font:var(--type-small); color:var(--soft-ink); }
.lyra-method { border-top:1px solid var(--rule); padding-top:18px; margin-top:22px; }
.lyra-method summary { cursor:pointer; color:var(--berry); font:var(--type-small); }
.lyra-method p { margin-top:18px; font:var(--type-small); }
.lyra-table-scroll { overflow-x:auto; margin-top:20px; }
.lyra-page table { width:100%; border-collapse:collapse; font:var(--type-small); }
.lyra-page caption { text-align:left; padding-bottom:15px; color:var(--soft-ink); font:var(--type-small); }
.lyra-page th,.lyra-page td { padding:12px; text-align:left; border-bottom:1px solid var(--rule); }
.lyra-method table { min-width:480px; }
.lyra-cost-section { background:#eee7e2; padding-block:70px; scroll-margin-top:85px; }
.lyra-cost-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; }
.lyra-cost-copy>p { margin-top:16px; max-width:34ch; }
.lyra-length-toggle { border:0; padding:0; margin:28px 0 0; display:flex; gap:8px; flex-wrap:wrap; }
.lyra-length-toggle legend { font:var(--type-small); color:var(--soft-ink); margin-bottom:10px; }
.lyra-length-toggle label { display:inline-flex; align-items:center; gap:9px; border:1px solid #baa9b2; padding:10px 12px; margin:0; border-radius:4px; font:var(--type-small); color:var(--soft-ink); cursor:pointer; }
.lyra-length-toggle label:has(:checked) { background:#fdf9f6; border-color:var(--berry); color:var(--berry); }
.lyra-length-toggle input { accent-color:var(--berry); margin:0; width:16px; height:16px; font-size:16px; }
.lyra-length-toggle label:has(:focus-visible) { outline:2px solid var(--berry); outline-offset:3px; }
.lyra-page .lyra-cost-summary { margin:24px 0 18px; display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.lyra-cost-summary strong { font:var(--type-title); color:var(--berry); }
.lyra-cost-summary span { font:var(--type-small); }
.lyra-price-table { padding:24px; background:#fffdfa; border-radius:8px; border:1px solid var(--rule); }
.lyra-price-table th span { display:block; font-weight:400; color:var(--soft-ink); margin-top:3px; }
.lyra-price-table th,.lyra-price-table td { padding:14px 8px; }
.lyra-price-table td:last-child { width:31%; text-align:right; }
.lyra-price-table td strong { color:var(--berry); font:var(--type-title); font-variant-numeric:tabular-nums; }
.lyra-price-track { display:block; height:4px; margin-top:8px; width:100%; background:#eee7e2; }
.lyra-price-track i { background:#b88797; transition:width .35s ease; }
.lyra-source-entry { display:grid; grid-template-columns:40px minmax(0,1fr); border-top:1px solid var(--rule); padding-block:24px; gap:18px; }
.lyra-source-entry>span { font:var(--type-small); color:var(--berry); padding-top:4px; }
.lyra-source-entry p { font:var(--type-small); margin-top:10px; max-width:100ch; }
.lyra-final { text-align:center; padding:15px 0 85px; }
.lyra-final p { margin:18px 0 24px; }
.lyra-page footer.site-footer { border-top:1px solid var(--rule); color:var(--soft-ink); background:var(--paper); font:var(--type-small); }
@keyframes lyra-book-arrive { from { opacity:0; transform:perspective(900px) rotateY(-28deg) rotateZ(-12deg) translateY(18px); } to { opacity:1; transform:perspective(900px) rotateY(-18deg) rotateZ(-7deg); } }
@keyframes lyra-bar-arrive { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.lyra-chart-panel.is-visible .lyra-bar-track i { animation:lyra-bar-arrive .8s cubic-bezier(.2,.6,.2,1) both; }
@media(max-width:900px) {
  .lyra-section-heading { gap:35px; }
  .lyra-craft-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:35px 0; }
  .lyra-craft-flow li:nth-child(3) { border:0; padding-left:0; }
  .lyra-cost-layout { gap:30px; }
  .lyra-hero { gap:20px; }
  .lyra-art-note { display:none; }
  .lyra-reading-note { align-items:start; flex-direction:column; gap:10px; }
}
@media(max-width:650px) {
  .lyra-width { width:calc(100% - 40px); }
  .lyra-hero { grid-template-columns:minmax(0,1fr); padding-block:38px; gap:12px; min-height:0; }
  .lyra-page .lyra-hero h1 { zoom:1.5; }
  .lyra-page .lyra-edition { margin-bottom:24px; gap:8px; }
  .lyra-page .lyra-lead { margin:20px 0 24px; }
  .lyra-hero-copy>.lyra-text-link { display:block; margin:18px 0 0; }
  .lyra-story-art { min-height:320px; margin-top:15px; }
  .lyra-book { width:170px; height:238px; }
  .lyra-book-cover { padding:16px; }
  .lyra-book-cover svg { width:80px; height:80px; }
  .lyra-proof-grid { grid-template-columns:minmax(0,1fr); padding-block:10px; }
  .lyra-proof-grid>div,.lyra-proof-grid>div:first-child { padding:18px 0; border-right:0; border-bottom:1px solid #d6cac5; display:grid; grid-template-columns:115px minmax(0,1fr) auto; align-items:center; gap:12px; }
  .lyra-proof-grid strong { font:var(--type-title); }
  .lyra-proof-grid>div:last-child { border:0; }
  .lyra-section,.lyra-craft-section,.lyra-cost-section { padding-block:52px; }
  .lyra-section-heading { grid-template-columns:minmax(0,1fr); gap:20px; margin-bottom:28px; }
  .lyra-section-heading h2 { max-width:22ch; }
  .lyra-chart-grid,.lyra-cost-layout { grid-template-columns:minmax(0,1fr); }
  .lyra-chart-panel,.lyra-range-panel { padding:21px 18px; }
  .lyra-chart-panel figcaption,.lyra-range-panel figcaption { align-items:start; gap:10px; }
  .lyra-chart-panel h3 { max-width:19ch; }
  .lyra-chart-note { overflow-wrap:anywhere; }
  .lyra-craft-flow { grid-template-columns:minmax(0,1fr); gap:25px; margin-top:25px; }
  .lyra-craft-flow li,.lyra-craft-flow li:first-child,.lyra-craft-flow li:nth-child(3) { padding:0 0 25px 25px; border-left:1px solid #806171; }
  .lyra-craft-flow p { min-height:0; max-width:44ch; }
  .lyra-mini-plan { max-width:250px; margin-top:15px; }
  .lyra-mini-brief { max-width:240px; }
  .lyra-craft-note a { display:block; margin:12px 0 0; }
  .lyra-range-row { grid-template-columns:minmax(0,1fr) 80px; gap:10px; padding:20px 0; }
  .lyra-range-row h4 { grid-column:1 / -1; }
  .lyra-range-axis { margin:0 90px 0 0; }
  .lyra-price-table { padding:20px 12px; }
  .lyra-price-table th,.lyra-price-table td { padding:12px 5px; }
  .lyra-price-table th:first-child { width:44%; }
  .lyra-source-entry { grid-template-columns:20px minmax(0,1fr); gap:12px; }
  .lyra-final { padding-block:8px 55px; }
}
@media(prefers-reduced-motion:reduce) {
  .lyra-book,.lyra-chart-panel.is-visible .lyra-bar-track i { animation:none; }
  .lyra-price-track i { transition:none; }
  .lyra-page { scroll-behavior:auto; }
}
