/* V4 layout changes. V3 font definitions and heading metrics remain unchanged. */
/* 1. One clear action rail. Purchase formats have equal weight. */
.hero-grid { row-gap: 22px; }
.hero .action-rail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-items: stretch; width:100%; }
.hero .action-rail .button { width:100%; min-width:0; min-height:64px; padding:16px 18px; gap:10px; text-align:center; }
.hero .action-rail .button--experience { border-color:var(--ink); }
.hero .hero-bottom { margin-top:28px; }
.hero-art .book-cover { margin-bottom:20px; }
/* 2. Reading sample: no chapter subheadline and no decorative drop cap. */
.sample-grid h2 { max-width:460px; }
.sample-grid .text-link { margin-top:26px; }
.reading-copy > p:first-of-type::first-letter { float:none; font:inherit; line-height:inherit; margin:0; padding:0; color:inherit; }
/* 3. Separate listening experiences: a light reading and a dark conversation. */
.player-format { display:flex; align-items:center; gap:12px; margin:0; color:var(--muted); font-size:11px; letter-spacing:1.3px; line-height:1.6; font-weight:600; }
.player-format .icon { width:24px; height:24px; }
.audio-instance { min-width:0; }
.podcast-section { background:var(--ink); color:var(--paper); }
.podcast-section > .container > .section-heading .eyebrow { color:#d4d4d0; }
.podcast-section .section-lead { color:#d4d4d0; }
.podcast-section .audio-player { background:#292929; border-color:#555; }
.podcast-section .player-selectors,.podcast-section .audio-disclosure,.podcast-section .transcript-panel,.podcast-section .transcript-row { border-color:#555; }
.podcast-section .player-format,.podcast-section .audio-language,.podcast-section .track-info .eyebrow,.podcast-section .track-info > p:last-child,.podcast-section .duration-mark,.podcast-section .player-timeline output,.podcast-section .audio-disclosure,.podcast-section .row-meta,.podcast-section .fineprint { color:#d0d0cc; }
.podcast-section .player-controls .icon-button:hover { background:#444; }
.podcast-section .audio-language select,.podcast-section .speed-label select { background:#292929; border-color:#777; color:white; }
.podcast-section .transcript-row.is-active { background:#353535; border-left-color:var(--red); }
.podcast-section .row-meta time { color:white; }
.podcast-section .row-kind { border-color:#666; }
.podcast-section .audio-error { color:#ffb6bd; }
.podcast-section .text-link { border-color:#bbb; }
.podcast-section .row-actions button:hover,.podcast-section .text-link:hover { color:white; text-decoration-thickness:2px; }
.podcast-section .source-dialog { color:var(--ink); background:white; }
.podcast-section .source-dialog .fineprint { color:var(--muted); }
.podcast-section :focus-visible { outline-color:white; }
.podcast-section .source-dialog :focus-visible { outline-color:var(--red); }
/* 4. One cover, one continuous buying panel, two equally weighted formats. */
.buy-heading { max-width:730px; margin-bottom:40px; }
.buy-heading .section-lead { margin-top:22px; }
.purchase-panel { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(0,1.65fr); gap:58px; background:var(--soft); padding:48px; align-items:center; }
.purchase-cover { min-width:0; }
.purchase-cover .book-cover { max-width:240px; width:100%; }
.purchase-cover .book-cover__image { box-shadow:0 16px 28px #00000017,0 2px 4px #0000000a; }
.purchase-options { min-width:0; }
.purchase-book-title { font-family:var(--font-heading); font-size:25px; line-height:1.35; margin:0 0 7px; }
.purchase-author { color:var(--muted); font-size:13px; margin:0 0 28px; }
.purchase-panel .edition-list { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.purchase-panel .edition { display:flex; flex-direction:column; padding:28px 24px 28px 0; margin:0; border:0; gap:0; min-width:0; }
.purchase-panel .edition + .edition { border-left:1px solid var(--line); padding-left:24px; padding-right:0; }
.edition-heading { display:flex; align-items:center; gap:10px; margin-bottom:15px; }
.edition-heading h3 { font-size:var(--subheading-size); }
.edition-description { font-size:13px; line-height:1.75; color:var(--muted); margin:0 0 16px; }
.edition-meta { font-size:11px; line-height:1.9; color:var(--muted); margin:0 0 24px; }
.purchase-panel .edition .button { margin-top:auto; width:100%; min-width:0; min-height:54px; padding-inline:12px; font-size:13px; gap:9px; }
.purchase-note { margin-top:20px; }
/* 5. Direct, labelled, keyboard-accessible contact form. */
.contact-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:8%; }
.contact-intro .section-lead { margin-top:26px; }
.contact-form { min-width:0; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.form-field { min-width:0; }
.form-field--full { grid-column:1/-1; }
.form-field label { display:block; font-size:12px; line-height:1.5; margin-bottom:8px; font-weight:500; }
.field-optional { font-weight:400; color:var(--muted); }
.form-field input,.form-field select,.form-field textarea { display:block; width:100%; min-width:0; min-height:50px; border:1px solid #a8a8a4; background:var(--paper); color:var(--ink); padding:12px; border-radius:2px; font-family:var(--font-body); font-size:14px; line-height:1.6; }
.form-field textarea { resize:vertical; min-height:150px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { border-color:var(--ink); }
.form-consent { display:flex; align-items:flex-start; gap:12px; font-size:11px; line-height:1.75; color:var(--muted); margin:22px 0; }
.form-consent input { margin:3px 0 0; width:18px; height:18px; flex-shrink:0; accent-color:var(--red); }
.form-consent a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.form-footer { display:flex; gap:18px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.form-footer .fineprint { margin:0; max-width:220px; font-size:10px; }
.form-preview-note { margin:18px 0 0; font-size:11px; color:var(--muted); }
.form-status { margin:20px 0 0; padding:14px 16px; background:var(--soft); border-left:2px solid var(--ink); font-size:13px; line-height:1.7; }
.form-status[data-state=error] { border-color:var(--red); }
.form-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
@media (max-width:1050px) {
 .purchase-panel { padding:35px; gap:35px; grid-template-columns:minmax(140px,.5fr) minmax(0,1.5fr); }
 .hero .action-rail .button { padding-inline:10px; }
 .purchase-panel .edition { padding-right:18px; }
 .purchase-panel .edition + .edition { padding-left:18px; }
 .contact-grid { gap:6%; }
}
@media (max-width:860px) {
 .hero .action-rail { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hero .action-rail .button { min-width:0; }
 .purchase-panel { grid-template-columns:150px minmax(0,1fr); padding:30px; gap:30px; }
 .purchase-panel .edition-list { grid-template-columns:1fr; }
 .purchase-panel .edition { padding:24px 0; }
 .purchase-panel .edition + .edition { border-left:0; border-top:1px solid var(--line); padding:24px 0; }
 .purchase-panel .edition .button { width:auto; align-self:flex-start; padding-inline:18px; }
 .edition-meta { margin-bottom:18px; }
 .contact-grid { grid-template-columns:1fr; gap:38px; }
 .contact-intro { max-width:680px; }
}
@media (max-width:680px) {
 .hero-copy { order:1; }
 .hero .action-rail { order:2; gap:10px; margin:0; }
 .hero .action-rail .button { min-height:62px; font-size:12px; gap:7px; padding:13px 9px; }
 .hero-art { order:3; }
 .hero-art .book-cover { margin-bottom:0; }
 .hero-grid { row-gap:18px; }
 .sample-grid .text-link { margin-top:18px; }
 .player-format { font-size:10px; letter-spacing:.9px; }
 .player-format .icon { width:22px; height:22px; }
 .purchase-panel { grid-template-columns:1fr; gap:30px; padding:28px 22px; }
 .purchase-cover { width:150px; margin:auto; }
 .purchase-book-title { font-size:23px; }
 .purchase-author { margin-bottom:23px; }
 .purchase-panel .edition-list { grid-template-columns:1fr; }
 .purchase-panel .edition .button { width:100%; font-size:12px; }
 .purchase-note { font-size:10px; }
 .buy-heading { margin-bottom:30px; }
 .form-grid { grid-template-columns:1fr; gap:18px; }
 .form-field textarea { min-height:155px; }
 .form-footer { align-items:flex-start; }
 .form-footer .button { min-width:190px; }
 .form-footer .fineprint { max-width:none; }
 .contact-section--large h1 { overflow-wrap:normal; }
}
@media print {
 .podcast-section { background:white; color:black; }
 .purchase-panel { padding:20px; border:1px solid #aaa; background:white; }
 .contact-form { display:none; }
}
