/* /press/ — Press & media page. Builds on styles.css + article.css. */
.pr > section, .pr > .pr-sec { max-width: 58rem; margin-inline: auto; }
.pr-head { grid-template-columns: 1fr; }
@media (min-width: 860px) { .pr-head { grid-template-columns: 1.5fr 1fr; } }
.pr-cta { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.3rem 0 .9rem; }
.pr-contact { font-weight: 700; font-size: 1.02rem !important; margin: 0; }
.pr-contact a { color: var(--ink); }
.pr-contact span { font-weight: 400; font-size: .9rem; color: var(--mute); }

/* the book that turns over */
.pr-flipfig { max-width: 340px; margin: 0 auto; }
.pr-flip { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: pointer; perspective: 1400px; }
.pr-flip-in { display: grid; transform-style: preserve-3d; transition: transform 1.1s cubic-bezier(.45,.05,.2,1); }
.pr-flip img { grid-area: 1 / 1; width: 100%; border-radius: 12px; box-shadow: var(--shadow); backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.pr-flip img.b { transform: rotateY(180deg); }
.pr-flip.on .pr-flip-in { transform: rotateY(180deg); }
.pr-flipfig figcaption { margin-top: .9rem; }

.pr-sec h2 { margin-top: 3rem; }
.pr-note { font-size: 1rem !important; }

/* demo */
.pr-demo { background: var(--paper-2); border-radius: var(--r); padding: 1rem; margin-top: 1.2rem; }
.pr-demo-art { display: grid; gap: .6rem; }
.pr-demo-art img { width: 100%; border-radius: 10px; }
.pr-demo-read { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; margin: 1.1rem 0 .6rem; }
.pr-demo-read h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.pr-lines { margin: 0; padding-left: 1.2rem; }
.pr-lines li { font-family: var(--hand); font-size: 1rem !important; line-height: 1.45 !important; margin: .3rem 0; }
.pr-lines li::marker { color: var(--red); font-family: var(--body); font-weight: 700; }
.pr-lines.otto li::marker { color: var(--moss); }
.pr-demo .fine { margin: 0; }
@media (min-width: 760px) { .pr-demo { padding: 1.3rem; } .pr-demo-art { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .pr-demo-read { grid-template-columns: 1fr; } }

/* interview cards */
.pr-cards { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .9rem; }
@media (min-width: 820px) { .pr-cards { grid-template-columns: repeat(3, 1fr); } }
.pr-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 1.1rem 1.15rem 1rem; }
.pr-card h3 { margin: .55rem 0 .45rem; font-size: 1.15rem; }
.pr-card p { font-size: .98rem !important; line-height: 1.55 !important; margin: 0; }
.pr-num { display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--yellow); font: 800 1rem/1 var(--display); }

/* copy-ready bios */
.pr-copy { border: 1px solid var(--line); border-radius: var(--r); padding: .9rem 1.1rem .3rem; margin: .9rem 0; background: #fff; }
.pr-copy-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pr-copy-head h3 { margin: 0; font-size: 1.05rem; }
.pr-copy-head h3 span { font: 400 .85rem var(--body); color: var(--mute); }
.pr-copybtn { font: 700 .85rem var(--body); border: 1.5px solid var(--ink); background: transparent; color: var(--ink); border-radius: 999px; padding: .35rem .9rem; min-height: 36px; cursor: pointer; }
.pr-copybtn:hover { background: var(--ink); color: #fff; }
.pr-copy p { margin: .6rem 0 .7rem; }

/* reviews */
.pr-reviews { display: grid; gap: 1.2rem; align-items: center; margin-top: 1rem; }
@media (min-width: 760px) { .pr-reviews { grid-template-columns: 1.4fr 1fr; } }
.pr-quote { margin: 0; background: var(--paper-2); border-radius: var(--r); padding: 1.4rem 1.5rem; }
.pr-quote blockquote { margin: 0 0 .8rem; }
.pr-quote blockquote p { font-family: var(--hand); font-size: clamp(1.25rem, 2.2vw, 1.55rem) !important; line-height: 1.4 !important; margin: 0; }
.pr-quote figcaption { font-size: .92rem; color: var(--mute); }
.pr-video { margin: 0 auto; width: min(100%, 300px); }
.pr-video figcaption { font-size: .88rem; color: var(--mute); margin-top: .7rem; line-height: 1.45; }
.yt.is-playing iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* facts + table */
.pr-facts { display: grid; gap: .1rem 1.2rem; margin: 1rem 0 1.2rem; }
.pr-facts > div { display: grid; grid-template-columns: 9.5rem 1fr; gap: .8rem; padding: .45rem 0; border-bottom: 1px solid var(--line); }
.pr-facts dt { font-weight: 700; font-size: .95rem; }
.pr-facts dd { margin: 0; font-size: .98rem !important; line-height: 1.5 !important; }
@media (max-width: 520px) { .pr-facts > div { grid-template-columns: 1fr; gap: 0; } }
.pr-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.pr-table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: .95rem; }
.pr-table th, .pr-table td { text-align: left; vertical-align: top; padding: .7rem .8rem; border-bottom: 1px solid var(--line); }
.pr-table thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--mute); background: var(--paper-2); }
.pr-table tbody tr:last-child > * { border-bottom: 0; }
.pr-table th[scope=row] { font-weight: 400; }
.pr-table th[scope=row] i { display: block; font-family: var(--display); font-weight: 800; font-style: normal; font-size: 1.05rem; }
.pr-n, .pr-back { display: block; font-size: .78rem; color: var(--mute); }
.pr-back i { display: inline !important; font: italic 400 .78rem var(--body) !important; }
.nowrap { white-space: nowrap; }

/* downloads */
.pr-files { list-style: none; padding: 0; margin: 1rem 0 1.5rem; display: grid; gap: .6rem; }
.pr-files li { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; background: var(--ground); border-radius: 14px; padding: .8rem 1rem; }
.pr-files a:first-child { flex: 1 1 18rem; text-decoration: none; color: var(--ink); display: grid; }
.pr-files a:first-child b { font-family: var(--display); font-size: 1.1rem; }
.pr-files a:first-child b::before { content: '↓ '; color: var(--red); }
.pr-files span { font-size: .9rem; color: var(--mute); }
.pr-alt { font-size: .92rem; font-weight: 700; }
.pr-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, 1fr); margin: .8rem 0 1.4rem; }
@media (min-width: 700px) { .pr-grid { grid-template-columns: repeat(5, 1fr); } }
.pr-grid-wide { grid-template-columns: 1fr; }
@media (min-width: 600px) { .pr-grid-wide { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .pr-grid-wide { grid-template-columns: repeat(3, 1fr); } }
.pr-grid-chars { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .pr-grid-chars { grid-template-columns: repeat(5, 1fr); } }
.pr-img { margin: 0; }
.pr-img img { width: 100%; border-radius: 10px; box-shadow: var(--shadow); background: #fff; }
.pr-char img { aspect-ratio: 1; object-fit: contain; padding: .8rem; background: var(--paper-2); box-shadow: none; }
.pr-img figcaption { font-size: .86rem; line-height: 1.4; margin-top: .5rem; }
.pr-dl { display: block; color: var(--mute); margin-top: .15rem; }

/* release */
.pr-release { border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.pr-release summary { cursor: pointer; list-style: none; padding: 1rem 1.2rem; display: grid; gap: .3rem; }
.pr-release summary::-webkit-details-marker { display: none; }
.pr-rel-h { font-family: var(--display); font-weight: 800; font-size: 1.15rem; line-height: 1.2; }
.pr-rel-more { font-weight: 700; color: var(--moss-d); font-size: .95rem; }
.pr-rel-more::after { content: ' ↓'; }
.pr-release[open] .pr-rel-more::after { content: ' ↑'; }
.pr-release-body { padding: 0 1.2rem 1rem; border-top: 1px solid var(--line); }
.pr-release-body .pr-sub { font-style: italic; color: var(--mute); margin-top: 1rem; }
.pr-release-body h3 { font-size: 1.05rem; margin: 1.2rem 0 .3rem; }

/* closing band */
.pr-band { max-width: 58rem; margin: 3.5rem auto 0 !important; background: var(--night); color: var(--night-ink); border-radius: var(--r); padding: clamp(1.5rem, 4vw, 2.4rem) !important; text-align: center; }
.pr-band h2 { color: #fff; margin: 0 0 .5rem; }
.pr-band p { color: var(--night-ink); }
.pr-band .pr-cta { justify-content: center; }
.pr-band .btn { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.pr .pr-head, .pr .art-toc { max-width: 58rem; }
.pr-contact a { white-space: nowrap; }
@media (max-width: 859px) { .pr-flipfig { max-width: 260px; } }
.pr-author { margin: 1rem 0 1.2rem; }
.pr-author img { width: 100%; max-width: 30rem; border-radius: var(--r); box-shadow: var(--shadow); }
.pr-author figcaption { font-size: .86rem; color: var(--mute); margin-top: .5rem; }
.pr-bio-top { display: grid; gap: .2rem 1.4rem; align-items: center; }
@media (min-width: 820px) { .pr-bio-top { grid-template-columns: 1fr 1.15fr; } .pr-bio-top .pr-author { margin: .9rem 0; } }
.pr-social { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem .9rem; margin-top: 1.2rem; }
.pr-social .foot-social-label { color: var(--night-mute); font-size: .9rem; }
.pr-social a { display: inline-flex; align-items: center; gap: .35rem; color: var(--night-ink); text-decoration: none; font-weight: 600; font-size: .92rem; padding: .3rem .5rem; border-radius: 999px; }
.pr-social a:hover { background: rgba(237, 227, 212, .12); }
