/* Adapt design-reference selectors to native Gutenberg markup, without replacing design tokens. */
.psh-native-section,.psh-native-section *{box-sizing:border-box}
.psh-native-section .wp-block-group{min-width:0}
.psh-native-section .wp-block-image{margin:0}
.psh-native-section .wp-block-image img{display:block;max-width:100%}
.psh-native-section .hp-text-link{display:inline-flex;align-items:center;margin-bottom:0!important}
.psh-native-section .hp-text-link a{color:inherit;text-decoration:none}
.psh-native-section .hp-text-link::after{content:'\2192';padding-left:6px;font-size:1.2em;line-height:1}
.psh-native-section .hp-section-links{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.psh-native-section .hp-section-links .hp-text-link{margin:0}
.psh-native-section .hp-hero-image>.wp-block-image{height:100%;width:100%}
.psh-native-section .hp-hero-image>.wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.psh-native-section .hp-hero-copy>.hp-text-link{margin-top:6px}
.psh-native-section.hp-quotes .hp-quote{margin:0}
.psh-native-section .hp-quote .psh-quote-source{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.075em;font-weight:400;color:var(--hp-muted);margin:0}
.psh-native-section .hp-feature-photo>.wp-block-image{height:100%;width:100%}
.psh-native-section .hp-feature-photo>.wp-block-image img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 35%;transform:none;position:static}
.psh-native-section .hp-feature-meta>.wp-block-paragraph{display:inline-block}
.psh-native-section .hp-feature-meta .hp-tag{display:inline-flex}
.psh-native-section .hp-feature h3 a,.psh-native-section .hp-latest-row h3 a,.psh-native-section .hp-book h3 a,.psh-native-section .hp-work-row h3 a,.psh-native-section .hp-episode h3 a{color:inherit;text-decoration:none}
.psh-native-section .hp-feature h3 a:hover,.psh-native-section .hp-latest-row h3 a:hover,.psh-native-section .hp-book h3 a:hover,.psh-native-section .hp-work-row h3 a:hover,.psh-native-section .hp-episode h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.psh-native-section .hp-latest-row{position:relative}
.psh-native-section .hp-latest-row:after{content:'\2197';position:absolute;right:1px;top:25px;color:var(--hp-wine);font-size:22px}
.psh-native-section .hp-row-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.psh-native-section .hp-row-tags .hp-tag{display:inline-flex}
.psh-native-section .hp-book-cover>.wp-block-image{height:100%;width:100%}
.psh-native-section .hp-book-cover>.wp-block-image img{width:100%;height:100%;object-fit:contain}
.psh-native-section .hp-book>.hp-text-link{margin-top:8px!important}
.psh-native-section .hp-topic>.hp-text-link{margin-top:auto!important}
.psh-native-section .hp-episode-art .wp-block-image{width:100%;height:100%}
.psh-native-section .hp-episode-art .wp-block-image img{width:100%;height:100%;object-fit:cover}
.psh-native-section .hp-platforms>.psh-platform-link{display:inline-flex;padding:0;margin:0}
.psh-native-section .hp-platforms>.psh-platform-link>a{display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border:1px solid var(--wp--preset--color--plum-600);border-radius:22px;min-height:36px;color:inherit;font-size:12px;font-weight:650;text-transform:uppercase;text-decoration:none}
.psh-native-section .hp-platforms>.psh-platform-link>a:hover{background:var(--wp--preset--color--plum-850)}
.psh-native-section .hp-work-row{position:relative}
.psh-native-section .hp-work-row:after{content:'\2197';color:currentColor;position:absolute;top:22px;right:0;font-size:23px}
.psh-native-section .hp-work-row h3{padding-right:35px}
.psh-native-section.hp-work.ap-page{background:#692f3b;color:#fff}
.psh-native-section.hp-work.ap-page h3{color:inherit}
.psh-native-section .ap-portrait .ap-portrait-image{overflow:hidden;border-radius:22px}
.psh-native-section .ap-portrait .ap-portrait-image>.wp-block-image img{width:100%;aspect-ratio:770/962;object-fit:cover;height:auto}
.psh-native-section .ap-portrait .psh-portrait-caption{font-size:14px;line-height:1.5;margin-top:14px;color:var(--hp-muted)}
.psh-native-section .ap-bio-copy>.wp-block-paragraph:not(.hp-eyebrow){font-size:20px;line-height:1.62;color:var(--wp--preset--color--body-text);margin-bottom:25px!important}
.psh-native-section .ap-bio-actions>.wp-block-buttons{display:flex;flex-wrap:wrap;gap:15px}
.psh-native-section .wp-block-button.ap-button-primary .wp-block-button__link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 22px;border:1px solid var(--hp-wine);border-radius:26px;color:white;background:var(--hp-wine);font:inherit}
.psh-native-section .wp-block-button.ap-button-primary .wp-block-button__link:hover{background:var(--wp--preset--color--wine-dark)}
.psh-native-section .wp-block-button.ap-button-secondary .wp-block-button__link{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:10px 22px;border:1px solid var(--wp--preset--color--border-neutral-soft);border-radius:7px;color:var(--hp-ink);background:transparent;font:inherit}
.psh-native-section .wp-block-button.ap-button-secondary .wp-block-button__link:hover{background:var(--wp--preset--color--surface-warm)}
.psh-native-section .ap-timeline>.psh-timeline-entry{display:grid;grid-template-columns:16% 26% minmax(0,1fr);border-top:1px solid var(--wp--preset--color--border-timeline);padding:31px 0 33px;min-height:108px;align-items:start}
.psh-native-section .psh-timeline-time{font-size:28px;font-weight:730;letter-spacing:-.02em;color:var(--hp-wine);line-height:1.25;padding-right:22px}
.psh-native-section .psh-timeline-entry h3{font-size:22px;line-height:1.32;font-weight:700;padding-right:36px}
.psh-native-section .psh-timeline-entry>p:last-child{font-size:19px;line-height:1.48;color:var(--wp--preset--color--body-text);padding-right:10px}
.psh-native-section .ap-rights-grid>.psh-rights-entry{min-width:0}
.psh-native-section .ap-rights-grid>.psh-rights-entry>h3{font-size:18px;font-weight:550;margin-bottom:19px}
.psh-native-section .ap-rights-grid>.psh-rights-entry>p{font-size:17px;line-height:1.65;color:var(--wp--preset--color--body-text)}
/* Plugins: Contact Form 7 form is functional and laid out inside the original ACF form region. */
.psh-cf7-form .wpcf7{width:100%}
.psh-cf7-form .wpcf7 p{margin:0 0 18px}
.psh-cf7-form .wpcf7 label{display:block;font-size:13px;font-weight:650;margin-bottom:6px}
.psh-cf7-form .wpcf7 :is(input:not([type="submit"]),select,textarea){box-sizing:border-box;display:block;width:100%;max-width:100%;border:1px solid var(--wp--preset--color--border-neutral);background:white;border-radius:4px;padding:12px 14px;color:var(--hp-ink);min-height:46px;font:inherit}
.psh-cf7-form .wpcf7 textarea{min-height:150px;resize:vertical}
.psh-cf7-form .wpcf7 input[type="submit"]{cursor:pointer;display:inline-flex;align-items:center;min-height:48px;padding:10px 24px;border-radius:26px;color:white;background:var(--hp-wine);border:1px solid var(--hp-wine);font-weight:600}
.psh-cf7-form .wpcf7 input[type="submit"]:hover{background:var(--wp--preset--color--wine-dark)}
.psh-cf7-form .wpcf7-response-output{max-width:100%;box-sizing:border-box;line-height:1.5}
.psh-substack-embed{display:block;border:0;width:100%;max-width:520px;min-height:320px;background:transparent;margin-top:18px}
/* Biography changes at 900px in the original HTML. The Career grid changes at 800px. */
@media(max-width:900px){
.psh-native-section .ap-bio-copy>.wp-block-paragraph:not(.hp-eyebrow){font-size:18px}
}
@media(max-width:800px){
.psh-native-section .ap-timeline>.psh-timeline-entry{grid-template-columns:26% minmax(0,1fr);gap:8px}
/* The original uses a <time> element, but this Gutenberg version uses a <p>.
   Without explicit grid placement .ap-timeline p{grid-column:2} moves the year
   into the title's column and sends the title into the first column. */
.psh-native-section .psh-timeline-entry>.psh-timeline-time{grid-column:1;grid-row:1;font-size:22px}
.psh-native-section .psh-timeline-entry>h3{grid-column:2;grid-row:1;font-size:21px}
.psh-native-section .psh-timeline-entry>p:last-child{grid-column:2;grid-row:2;font-size:17px}
}
@media(max-width:700px){
.psh-native-section .hp-feature-photo{aspect-ratio:1.4}
.psh-native-section .hp-feature-photo>.wp-block-image{height:100%}
.psh-substack-embed{max-width:100%}
}

.psh-native-section .psh-art-placeholder{color:var(--wp--preset--color--plum-250);text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase}

/* v8.1.1 fidelity patch: vector icons from the original supplied Home/About
 * reference designs. CSS pseudo elements keep native buttons and links editable,
 * valid Gutenberg core blocks with no SVG/HTML fragments in RichText.
 */
.psh-native-section .hp-text-link::after,
.psh-native-section .hp-latest-row::after,
.psh-native-section .hp-work-row::after {
  content:"";display:inline-block;flex:0 0 17px;width:17px;height:17px;
  background-color:currentColor;vertical-align:middle;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E");
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.psh-native-section .hp-text-link::after{margin-left:4px;padding:0}
.psh-native-section .hp-latest-row::after,
.psh-native-section .hp-work-row::after{
  position:absolute;right:1px;top:25px;flex-basis:20px;width:20px;height:20px;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E");
}
.psh-native-section .hp-work-all .hp-text-link::after{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%207h10v10%22%2F%3E%3Cpath%20d%3D%22M7%2017%2017%207%22%2F%3E%3C%2Fsvg%3E");
}
/* Real icon visible in both editor and frontend, not part of button text.
 * No native color/typography controls are suppressed. */
.psh-native-section .wp-block-button.ap-button-primary .wp-block-button__link,
.psh-native-section .wp-block-button.ap-button-secondary .wp-block-button__link {
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  font-size:16px;font-weight:550;line-height:1.4;
}
.psh-native-section .wp-block-button.ap-button-primary .wp-block-button__link::after,
.psh-native-section .wp-block-button.ap-button-secondary .wp-block-button__link::after {
  content:"";display:inline-block;width:18px;height:18px;flex:0 0 18px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2015V3%22%2F%3E%3Cpath%20d%3D%22M21%2015v4a2%202%200%200%201-2%202H5a2%202%200%200%201-2-2v-4%22%2F%3E%3Cpath%20d%3D%22m7%2010%205%205%205-5%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}
.psh-native-section .wp-block-button.ap-button-secondary .wp-block-button__link::after {
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012h14%22%2F%3E%3Cpath%20d%3D%22m12%205%207%207-7%207%22%2F%3E%3C%2Fsvg%3E");
}
.psh-native-section.ap-rights h2::before {
  content:"";width:17px;height:17px;flex:0 0 17px;
  background-color:var(--wp--preset--color--plum-500);
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016v-4%22%2F%3E%3Cpath%20d%3D%22M12%208h.01%22%2F%3E%3Cpath%20d%3D%22M22%2012a10%2010%200%201%201-20%200%2010%2010%200%200%201%2020%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2016v-4%22%2F%3E%3Cpath%20d%3D%22M12%208h.01%22%2F%3E%3Cpath%20d%3D%22M22%2012a10%2010%200%201%201-20%200%2010%2010%200%200%201%2020%200z%22%2F%3E%3C%2Fsvg%3E") no-repeat center / contain;
}
/* Correct source/quotation hierarchy without changing existing content. */
.psh-native-section.hp-quotes .hp-quote .psh-quote-source {
  font-size:12px;font-weight:400;line-height:1.4;letter-spacing:.075em;
  text-transform:uppercase;color:var(--hp-muted);margin:0;
}
.psh-native-section.hp-quotes .hp-quote > p:not(.psh-quote-source) {
  font-size:17px;font-weight:600;line-height:1.4;letter-spacing:-.01em;
}
/* Local Gutenberg color, type and spacing settings override unforced theme defaults. */
/* CF7 is the real functional form: keep the reference 17px label and input scale. */
.psh-cf7-form .wpcf7 label {font-size:17px;font-weight:600;line-height:1.4;margin-bottom:10px}
.psh-cf7-form .wpcf7 :is(input:not([type="submit"]),select,textarea) {
  font-size:17px;border-color:var(--wp--preset--color--border-medium-warm);
  border-radius:6px;min-height:52px;padding:13px 15px;
  background:var(--wp--preset--color--paper);
}
.psh-cf7-form .wpcf7 textarea {min-height:180px}
.psh-cf7-form .wpcf7 input[type="submit"] {min-height:52px;font-size:16px}
.psh-cf7-form .wpcf7 .wpcf7-not-valid-tip {font-size:14px;line-height:1.5}
.psh-cf7-form .wpcf7 p{margin:0 0 22px}
@media (prefers-reduced-motion:reduce) {
  .psh-native-section .wp-block-button__link {transition:none}
}

/* v8.1.3: restore the deliberate three-line About headline. The reference uses
   manual <br> separators, while older Gutenberg starter imports stored plain text.
   A narrower measure retains visual line count without modifying saved content.
   A manually customized font size/width still takes precedence via inline styles. */
.psh-native-section.ap-hero h1 {max-width:min(100%,900px)}
@media (max-width:800px){
.psh-native-section.ap-hero h1 {max-width:min(100%,620px)}
}

/* Shared outer gutters. Full-width sections and inner reading measures stay independent. */
:root {
  --psh-page-gutter-wide: 48px;
  --psh-page-gutter-compact: 28px;
  --psh-page-gutter: var(--psh-page-gutter-wide);
}
@media (max-width:1100px) {
  :root { --psh-page-gutter: var(--psh-page-gutter-compact); }
}
@container (max-width:1100px) {
  .editor-styles-wrapper .is-root-container > .wp-block {
    --psh-page-gutter: var(--psh-page-gutter-compact);
  }
}

/* These are outer section boundaries, not card padding or paragraph widths.
   Only horizontal padding is locked to the shared gutter; vertical controls remain editable. */
:is(
  .hp-announcement, .hp-nav-bar,
  .hp-hero, .hp-quotes, .hp-latest, .hp-books,
  .hp-topic-heading, .hp-topics-grid, .hp-podcast, .hp-work,
  .hp-footer:not(:has(> .ap-footer-links)), .ap-footer-links,
  .ap-hero, .ap-bio, .ap-career, .ap-ideas, .ap-photos, .ap-rights, .ap-contact, .ap-faq,
  .psh-global-substack.psh-compact-substack,
  .psh-books-page, .psh-bk-hero, .psh-bk-layout, .psh-bk-related,
  .psh-projects-page, .psh-project-page,
  .psh-events-page, .psh-archive-page, .ps-search-page,
  .tp-topic, .psh-tpx-topic, .psh-tpx-hero, .psh-tpx-detail-section,
  .psh-topic-connected .psh-topic-bottom,
  .editor-styles-wrapper:has(.psh-project-hero) .is-root-container
) {
  padding-inline: var(--psh-page-gutter) !important;
}

/* Plain Gutenberg Pages need the same outer inset; Home/About already pad their sections. */
main#content:not([class]):not(:has(> .psh-native-section, > .ps-acf-block)) {
  padding-inline: var(--psh-page-gutter);
}
.ps-search-page > :is(.ps-search-intro,.ps-search-list,.ps-search-pagination,.ps-search-empty) {
  max-width:1120px;
}
.hp-podcast .hp-section-top { padding-inline:0; }

/* Grid/flex gaps own the spacing between these native Gutenberg layout children.
   Flow margins must not move every card or column after the first down by 24px. */
:is(
  .hp-hero, .hp-quotes, .hp-section-top, .hp-section-links,
  .hp-latest-grid, .hp-latest-list, .hp-books-grid, .hp-topics-grid, .hp-episode-grid,
  .hp-work, .hp-work-list,
  .ap-bio, .ap-section-heading, .ap-rights-grid, .ap-bio-actions, .ap-timeline
) > .wp-block-group {
  margin-block:0;
}
.editor-styles-wrapper :is(
  .hp-hero, .hp-quotes, .hp-section-top, .hp-section-links,
  .hp-latest-grid, .hp-latest-list, .hp-books-grid, .hp-topics-grid, .hp-episode-grid,
  .hp-work, .hp-work-list,
  .ap-bio, .ap-section-heading, .ap-rights-grid, .ap-bio-actions, .ap-timeline
) > .block-editor-inner-blocks > .block-editor-block-list__layout > .wp-block {
  margin-block:0;
}

/* A Public Work row contains separate links: highlight those links, without a row-sized tint. */
.hp-work-row:hover { background:transparent; }
.hp-work-row h3 a:is(:hover,:focus-visible) {
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.psh-projects-home .psh-project-home-arrow:hover {
  text-decoration:none;
  opacity:.75;
}
.hp-work > * { min-width:0; }
.hp-work h2 { overflow-wrap:anywhere; }

/* Dropdown panels align to the same header inset. Compact drawers keep their own width. */
@media (min-width:1101px) {
  :root .hp-main-nav.psh-editorial-nav .hp-submenu.psh-mega-menu {
    left:var(--psh-page-gutter);
    width:min(1120px,calc(100% - 2 * var(--psh-page-gutter)));
  }
  :root .hp-main-nav.psh-editorial-nav .hp-submenu.psh-mega-menu.is-about {
    left:auto;
    right:var(--psh-page-gutter);
    width:min(380px,calc(100% - 2 * var(--psh-page-gutter)));
  }
}
@media (max-width:1100px) {
  .psh-site-header .hp-main-nav.psh-editorial-nav {
    padding-inline:var(--psh-page-gutter) !important;
  }
}
@media (min-width:1101px) and (max-width:1250px) {
  :root .psh-site-header .hp-nav-bar { gap:14px; }
  :root .psh-site-header .hp-main-nav.psh-editorial-nav { gap:14px; }
}


/* Complete book artwork in stable, square frames. Real images do not inherit fallback colours. */
.psh-native-section .hp-book-cover :is(.wp-block-image,.wp-block-image>a){display:block;width:100%;height:100%;margin:0}
.psh-native-section .hp-book-cover img{display:block;width:100%!important;height:100%!important;max-height:100%;object-fit:contain!important;object-position:center}
.psh-tpx-cover,.tp-cover{position:relative;overflow:hidden;border-radius:0!important}
.hp-book-cover{border-radius:0!important}
.psh-tpx-cover-image{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center;border-radius:0!important}
.psh-tpx-cover.has-image,.tp-cover.has-image{background:transparent!important;box-shadow:none!important;padding:0}

/* Reset links float below the panel; visibility never changes the controls or results geometry. */
.psh-bk-filters,.psh-ar-filters{position:relative;margin-bottom:58px}
.psh-bk-filters{grid-template-columns:minmax(180px,1.7fr) repeat(3,minmax(140px,1fr))}
:is(.psh-bk-clear,.psh-ar-clear)[hidden]{display:none!important}
:is(.psh-bk-filters,.psh-ar-filters) :is(.psh-bk-clear,.psh-ar-clear){position:absolute;inset-inline-end:0;top:calc(100% + 5px);display:inline-flex;align-items:center;justify-content:center;min-height:44px;width:max-content;max-width:100%;padding:6px 2px;margin:0;border:0;text-decoration:underline;text-underline-offset:4px}
.hp-page :is(.psh-bk-clear,.psh-ar-clear):focus-visible{outline:2px solid var(--wp--preset--color--wine,#692f3b);outline-offset:3px}
@media(max-width:900px){.psh-bk-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.psh-bk-filters{grid-template-columns:1fr}}

/* Homepage variation of the same Archive-backed podcast block. */
.hp-podcast .psh-podcast-home{margin:0!important;width:100%;color:inherit}
.hp-podcast .psh-podcast-home .hp-episode{margin:0;min-width:0}
.hp-podcast .psh-podcast-home .hp-episode-art{display:block;aspect-ratio:16/9;overflow:hidden;position:relative;background:#000}
.hp-podcast .psh-podcast-home .hp-episode-art img{display:block;width:100%;height:100%;object-fit:contain}
.hp-podcast .psh-podcast-home .hp-episode-art.is-placeholder{display:flex;align-items:center;justify-content:center}
.hp-podcast .psh-podcast-home h3{margin:0;font-size:clamp(19px,1.6vw,24px);color:inherit}
.hp-podcast .psh-podcast-home h3 a{color:inherit;text-decoration:none}
.hp-podcast .psh-podcast-home h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.hp-podcast .psh-podcast-home .hp-episode-number{display:block;margin:18px 0 8px!important}
.hp-podcast .psh-podcast-home>.hp-text-link{margin-top:24px!important;display:inline-flex;color:inherit;font-size:15px;text-decoration:none}
.psh-bk-editorial :is(p,cite) a{color:var(--wp--preset--color--wine,#692f3b);text-decoration:underline;text-underline-offset:3px}
.psh-bk-editorial :is(p,cite) a:hover{text-decoration-thickness:2px}

.hp-podcast .psh-podcast-home h3 a>svg{display:inline-block;vertical-align:-.08em;margin-inline-start:.3em}

/* Homepage artwork sits directly on the section; missing-cover palettes stay available. */
.hp-books .hp-book-cover:has(img){background:transparent!important}
.hp-books .hp-book-cover img{filter:drop-shadow(0 0 1px rgb(255 255 255 / .18))}

/* Subject names expose the existing Book-to-Topic relationships. */
.psh-bk-facts .psh-bk-subjects a{color:var(--wp--preset--color--wine,#692f3b);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.psh-bk-facts .psh-bk-subjects a:hover{text-decoration-thickness:2px}
.psh-bk-facts .psh-bk-subjects a:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* With transparent frames, artwork and card copy share the same visible left edge. */
:is(.tp-reading-card,.psh-tpx-book,.psh-bk-related-card,.psh-bk-library-card) .psh-tpx-cover-image,
.hp-books .hp-book-cover img{object-position:left center!important}

/* One portrait cover shape throughout the catalogue, Topic/Book carousels and homepage. */
:root :is(.tp-reading-card,.psh-tpx-book,.psh-bk-related-card,.psh-bk-library-card) :is(.tp-cover,.psh-tpx-cover),
:root .hp-books .hp-book-cover{position:relative;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:2/3;overflow:hidden;border-radius:0!important}
:root :is(.tp-reading-card,.psh-tpx-book,.psh-bk-related-card,.psh-bk-library-card) .psh-tpx-cover-image,
:root .hp-books .hp-book-cover img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-height:none;object-fit:cover!important;object-position:center!important;border-radius:0!important}

/* Catalogue density follows available space, rather than stretching four columns indefinitely. */
:root .psh-bk-library-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:40px 30px;align-items:start}
:root .psh-bk-library-card h2{margin:7px 0 0!important;font-size:21px;line-height:1.25}
:root .psh-bk-library-card p{margin-top:6px;font-size:15px;line-height:1.45}
@media(min-width:651px) and (max-width:1000px){:root .psh-bk-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}
@media(max-width:650px){:root .psh-bk-library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}:root .psh-bk-library-card h2{font-size:17px}:root .psh-bk-library-card p{font-size:14px}}

/* A Book's main cover is the complete original artwork, using its natural proportions. */
:root .psh-bk-cover .psh-tpx-cover.has-image{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;padding:0!important;overflow:visible}
:root .psh-bk-cover .psh-tpx-cover.has-image .psh-tpx-cover-image{position:static!important;display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}

/* Native card spacing must win over WordPress flow margins and hp-page resets.
   Each rule belongs to a verified component; prose and other sections keep their rhythm. */
.psh-native-section.hp-latest > .hp-section-top{margin-block:0 38px}
.psh-native-section .hp-feature > .hp-feature-meta{margin-block:24px 12px}
.psh-native-section .hp-latest-row > .hp-row-tags{margin-block:0 12px}
.psh-native-section .hp-latest-row > h3{margin-block:0 8px}
.psh-ar-item .psh-ar-copy > h2{margin:0 0 12px}
.psh-ar-copy > .psh-ar-summary{margin:0 0 14px}
.psh-ar-copy .psh-ar-details > p{margin:8px 0}
.psh-ar-library .psh-ar-count{margin:0 0 22px}
.psh-archive-page > h1.wp-block-heading{margin:0 0 24px}
.psh-topic-connected .psh-tpx-hero > .psh-topic-jumps{margin:26px 0 0}
.psh-project-material .psh-project-material-meta{margin:0 0 8px}
.ps-search-intro .ps-search-summary{margin:24px 0 0}

/* Catalogue filters share the approved Books controls. Different field counts
   retain their own responsive grids, More filters and absolute clear links. */
:is(.psh-bk-filters,.psh-ar-filters){
  --psh-filter-panel:#eee7de;--psh-filter-field:#fffdf9;
  --psh-filter-border:#c7b9ad;--psh-filter-ink:var(--wp--preset--color--ink,#242324);
  background:var(--psh-filter-panel);padding:22px 20px;
}
:is(.psh-bk-filters,.psh-ar-filters) label{
  display:grid;gap:5px;min-width:0;font-size:12px;line-height:1.6;
  font-weight:750;letter-spacing:.02em;color:var(--psh-filter-ink);
}
:is(.psh-bk-filters,.psh-ar-filters) :is(input:not([type=hidden]),select){
  width:100%;min-width:0;min-height:44px;padding:8px 9px;
  font-family:var(--wp--preset--font-family--archivo,Archivo,Arial,sans-serif);
  font-size:14px;line-height:1.6;font-weight:750;
  background:var(--psh-filter-field);color:var(--psh-filter-ink);
  border:1px solid var(--psh-filter-border);border-radius:2px;
}
:is(.psh-bk-filters,.psh-ar-filters) input::placeholder{
  color:var(--wp--preset--color--placeholder,#73676d);font-size:12px;font-weight:750;opacity:1;
}
:is(.psh-bk-filters,.psh-ar-filters) :is(input,select):hover:not(:disabled){border-color:var(--wp--preset--color--wine,#692f3b)}
:is(.psh-bk-filters,.psh-ar-filters) :is(input,select,button):focus-visible{
  outline:3px solid var(--wp--preset--color--focus-copper,#a46e4a);outline-offset:3px;
}
:is(.psh-bk-filters,.psh-ar-filters) :is(input,select,button):disabled{opacity:.55;cursor:not-allowed}
.psh-ar-extra-row{gap:14px}
/* Global search keeps its single-field layout and larger type; share only field surfaces/focus. */
.ps-search-form input[type=search]{background:#fffdf9;border-color:#c7b9ad;border-radius:2px}
.ps-search-form input[type=search]:focus-visible{outline:3px solid var(--wp--preset--color--focus-copper,#a46e4a);outline-offset:3px}
@media(max-width:650px){
  :is(.psh-bk-filters,.psh-ar-filters) :is(input:not([type=hidden]),select){font-size:16px}
  :is(.psh-bk-filters,.psh-ar-filters) input::placeholder{font-size:14px}
}
