/* The policy pages (terms, privacy, refund, shipping, disclaimer, contact): one reading layout. The title is held
   on the left line while the text runs down the right half, hanging on the middle line. The text is the legal
   draft of 6 Nov 2026 (layered-analysis-muhurta/docs/launch/2026-11-05-legal.md); no lawyer has read it yet.
   Tokens only. */
.po-page { margin: 0; background: var(--black); color: var(--bone); font-family: var(--font-panel); -webkit-font-smoothing: antialiased; overflow-x: clip; }
.sky-back { position: fixed; inset: 0; z-index: 0; width: 100%; height: 100%; display: block; pointer-events: none; }
.po-page::before { content: ''; position: fixed; z-index: 40; top: 0; left: 0; right: 0; height: 56px; background: var(--black); }   /* nothing slides under the menu bar */
.po-lines { position: fixed; inset: 56px 0 0 0; z-index: 0; pointer-events: none; }
.po-lines i { position: absolute; top: 0; bottom: 0; width: 1px; background: rgb(var(--bone-rgb) / 0.11); }
.po-lines i:nth-child(1) { left: 12.5vw; } .po-lines i:nth-child(2) { left: 50vw; } .po-lines i:nth-child(3) { left: 87.5vw; }

.po { position: relative; z-index: 1; margin: 0 12.5vw; display: grid; grid-template-columns: 1fr 1fr; align-items: start; padding: 132px 0 120px; }
.po-side { position: sticky; top: 132px; padding-right: 48px; }
.po-side .hd { margin: 0 0 0 -0.04em; font: 700 clamp(44px, 4.7vw, 84px)/0.94 var(--font-panel); letter-spacing: -0.045em; text-wrap: balance; }
.po-date { margin: 22px 0 0; font: 500 13px/1.5 var(--font-panel); letter-spacing: 0.02em; color: rgb(var(--bone-rgb) / 0.78); }
/* the title rolls in (the house text effect) */
.po-side .rl { display: block; clip-path: inset(-0.2em -3em -0.3em -3em); }
.po-side .rl > span { display: inline-block; animation: po-roll 1.05s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes po-roll { from { transform: translateY(165%); } }

/* a dark shade behind the words, so the sky's stars never sit in a sentence */
.po-text { min-width: 0; padding: 4px 0 0 0; font-family: var(--font-prose); font-size: 18px; line-height: 1.62; color: rgb(var(--bone-rgb) / 0.9);
  background: rgb(var(--black-rgb) / 0.72); box-shadow: 0 0 0 28px rgb(var(--black-rgb) / 0.72); }
.po-text > :first-child { margin-top: 0; }
.po-text p { margin: 0 0 14px; max-width: 38em; }
.po-text h2 { margin: 40px 0 10px; padding-top: 16px; border-top: 1px solid rgb(var(--bone-rgb) / 0.16); font: 700 21px/1.2 var(--font-panel); letter-spacing: -0.02em; color: var(--bone); }
.po-text h2 .n { display: inline-block; min-width: 1.9em; color: rgb(var(--bone-rgb) / 0.6); font-weight: 500; }
.po-text b, .po-text strong { font-weight: 500; color: var(--bone); }
.po-text a { color: var(--coral); text-decoration: none; }
.po-text a:hover { text-decoration: underline; }
.po-text ul { list-style: none; margin: 0 0 14px; padding: 0; max-width: 38em; }
.po-text ul li { padding: 12px 0; border-top: 1px solid rgb(var(--bone-rgb) / 0.14); }
.po-text ul li:last-child { border-bottom: 1px solid rgb(var(--bone-rgb) / 0.14); }
.po-text ul ul { margin: 8px 0 0 18px; }
.po-text ul ul li { padding: 5px 0; border: 0; }
.po-text ul ul li:last-child { border: 0; }
.po-text ul ul li::before { content: "· "; color: rgb(var(--bone-rgb) / 0.6); margin-left: -14px; }
/* a table: the panel sans, hairlines; on a phone each row stacks */
.po-text table { width: 100%; border-collapse: collapse; margin: 6px 0 18px; font: 500 14px/1.5 var(--font-panel); }
.po-text th { text-align: left; font-weight: 600; font-size: 12px; letter-spacing: 0.04em; color: rgb(var(--bone-rgb) / 0.7); padding: 0 14px 8px 0; border-bottom: 1px solid rgb(var(--bone-rgb) / 0.3); }
.po-text td { vertical-align: top; padding: 10px 14px 10px 0; border-bottom: 1px solid rgb(var(--bone-rgb) / 0.14); color: rgb(var(--bone-rgb) / 0.88); }
.po-text td:first-child { color: var(--bone); width: 34%; }
.po-text .po-card { margin: 0 0 14px; padding: 4px 0; max-width: 38em; }   /* the contact block: label over value */
.po-card div { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 4px 18px; padding: 12px 0; border-top: 1px solid rgb(var(--bone-rgb) / 0.14); }
.po-card div:last-child { border-bottom: 1px solid rgb(var(--bone-rgb) / 0.14); }
.po-card dt { font: 600 13px/1.6 var(--font-panel); color: rgb(var(--bone-rgb) / 0.72); padding-top: 3px; }
.po-card dd { margin: 0; }

@media (max-width: 900px) {
  .po-lines i:nth-child(1), .po-lines i:nth-child(3) { display: none; }
  .po { margin: 0 20px; grid-template-columns: minmax(0, 1fr); padding: 96px 0 72px; }
  .po-side { position: static; padding: 0 0 30px; }
  .po-side .hd { font-size: clamp(40px, 12vw, 64px); }
  .po-date { font-size: 13px; }
  .po-text { font-size: 17.5px; box-shadow: 0 0 0 20px rgb(var(--black-rgb) / 0.72); }
  .po-text h2 { padding-left: 1.5em; text-indent: -1.5em; } .po-text h2 .n { min-width: 1.5em; text-indent: 0; }   /* a title that wraps hangs under its own words */
  .po-card dd a { display: block; padding: 11px 0; }   /* a link on its own line: a finger's tap */
  .po-card dd br { display: none; } .po-card dd > span { display: block; }
  .po-text table, .po-text tbody, .po-text tr, .po-text td { display: block; width: auto; }
  .po-text thead { display: none; }
  .po-text tr { padding: 10px 0; border-bottom: 1px solid rgb(var(--bone-rgb) / 0.14); }
  .po-text td { padding: 1px 0; border: 0; font-size: 14px; }
  .po-text td:first-child { width: auto; font-weight: 600; }
  .po-card div { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .po-side .rl > span { animation: none; } }
