/*
Theme Name: Philosopher Rogue Stage 27
Theme URI: https://example.com/
Author: OpenAI
Description: Stage 27 post eyebrow cleanup. Uses Project Area as the canonical post series label.
Version: 27.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: philosopher-rogue
*/

:root {
  --pr-bg: #f2ecde;
  --pr-bg-deep: #e8dfcf;
  --pr-paper: rgba(255,255,255,0.34);
  --pr-paper-solid: rgba(252,248,241,0.92);
  --pr-ink: #2a241d;
  --pr-muted: #675b4b;
  --pr-gold: #8e7452;
  --pr-sage: #5f6d57;
  --pr-terracotta: #8f5a4c;
  --pr-line: rgba(71, 58, 43, 0.12);
  --pr-shadow: 0 18px 40px rgba(34, 26, 18, 0.12);
  --pr-shadow-soft: 0 10px 25px rgba(34, 26, 18, 0.08);
  --pr-radius: 24px;
  --pr-radius-sm: 16px;
  --pr-max: 1200px;
  --pr-narrow: 760px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--pr-ink);
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,0.45), transparent 24%),
    radial-gradient(circle at 80% 0%, rgba(255,255,255,0.2), transparent 20%),
    linear-gradient(180deg, #f5f0e4 0%, #efe6d7 40%, #f3edde 100%);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.7;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.08;
  background-image:
    radial-gradient(circle at 15% 30%, #000 0.6px, transparent 0.8px),
    radial-gradient(circle at 70% 60%, #000 0.6px, transparent 0.8px),
    radial-gradient(circle at 40% 80%, #000 0.5px, transparent 0.8px);
  background-size: 180px 180px, 240px 240px, 210px 210px;
  mix-blend-mode: multiply;
}
img { max-width: 100%; display: block; }
a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease;
}
a:hover { opacity: 0.82; }

.site-main,
.container,
.pr-container,
.pr-narrow,
.wp-site-blocks > * {
  position: relative;
}

.pr-container {
  width: min(calc(100% - 40px), var(--pr-max));
  margin: 0 auto;
}

.pr-narrow {
  width: min(calc(100% - 40px), var(--pr-narrow));
  margin: 0 auto;
}

.pr-section { padding: 56px 0; }
.pr-section-tight { padding: 32px 0; }
.pr-eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pr-gold);
  margin-bottom: 14px;
}
.pr-micro-note {
  font-size: 0.82rem;
  color: var(--pr-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pr-small,
.small { font-size: 0.95rem; color: var(--pr-muted); }
.muted { color: var(--pr-muted); }

h1,h2,h3,h4,h5,h6 {
  margin: 0 0 16px;
  line-height: 1.03;
  letter-spacing: -0.03em;
  font-weight: 500;
  text-wrap: balance;
}
h1 { font-size: clamp(3rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.15rem, 4vw, 3.8rem); }
h3 { font-size: clamp(1.35rem, 2.5vw, 2rem); }
p {
  margin: 0 0 18px;
  font-size: 1.08rem;
  color: #342d25;
}
.pr-lede {
  font-size: clamp(1.15rem, 2vw, 1.36rem);
  max-width: 820px;
  color: #3a332a;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
  background: linear-gradient(180deg, rgba(244,238,226,0.88), rgba(244,238,226,0.55));
  border-bottom: 1px solid rgba(66, 53, 39, 0.08);
}
.site-header__inner {
  width: min(calc(100% - 40px), var(--pr-max));
  margin: 0 auto;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.site-branding {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.site-branding__title {
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.site-branding__tag {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--pr-muted);
}
.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: flex-end;
  font-size: 0.95rem;
  color: var(--pr-muted);
}
.site-nav a {
  position: relative;
}
.site-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
  opacity: 0.5;
}
.site-nav a:hover::after,
.site-nav .current-menu-item > a::after { transform: scaleX(1); }

.pr-button,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 20px;
  border-radius: 999px;
  border: 1px solid rgba(67, 53, 38, 0.14);
  background: rgba(255,255,255,0.45);
  color: var(--pr-ink);
  font-size: 0.97rem;
  box-shadow: 0 10px 26px rgba(41, 30, 19, 0.08);
  cursor: pointer;
  font-family: inherit;
}
.pr-button--primary,
.is-style-primary-fill .wp-block-button__link {
  background: linear-gradient(180deg, #5f6d57, #4f5c48);
  color: #f4efe7;
  border-color: rgba(0,0,0,0.04);
}
.pr-button:hover,
.wp-block-button__link:hover {
  opacity: 0.94;
  transform: translateY(-1px);
}

.pr-card,
.pr-paper-card,
.wp-block-group.is-style-pr-paper-card,
.wp-block-quote.is-style-pr-pullquote,
.wp-block-group.is-style-pr-closing-box,
.wp-block-group.is-style-pr-artifact-box {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44), rgba(255,255,255,0.18)),
    linear-gradient(180deg, rgba(106, 83, 55, 0.11), rgba(106, 83, 55, 0.02));
  border: 1px solid rgba(67, 53, 38, 0.08);
  box-shadow: var(--pr-shadow);
}
.pr-paper-card,
.wp-block-group.is-style-pr-paper-card,
.wp-block-group.is-style-pr-closing-box,
.wp-block-group.is-style-pr-artifact-box {
  padding: 34px;
}
.pr-paper-card::before,
.wp-block-group.is-style-pr-paper-card::before,
.wp-block-group.is-style-pr-closing-box::before,
.wp-block-group.is-style-pr-artifact-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(92, 72, 46, 0.04) 1px, transparent 1px);
  background-size: 100% 38px;
  opacity: 0.55;
  pointer-events: none;
}
.pr-paper-card > *,
.wp-block-group.is-style-pr-paper-card > *,
.wp-block-group.is-style-pr-closing-box > *,
.wp-block-group.is-style-pr-artifact-box > * {
  position: relative;
  z-index: 1;
}

.pr-hero {
  padding: 14px 0 26px;
}
.pr-hero-frame {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 24px;
  align-items: stretch;
  min-height: min(74vh, 760px);
}
.pr-hero-image {
  position: relative;
  overflow: hidden;
  border-radius: 32px;
  box-shadow: var(--pr-shadow);
  background: #d8d0c0;
  min-height: 0;
}
.pr-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
}
.pr-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,12,8,0.06), rgba(17,12,8,0.28));
}
.pr-floating-note {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: min(220px, 30%);
  padding: 10px;
  border-radius: 14px;
  background: rgba(244, 236, 222, 0.95);
  box-shadow: 0 18px 28px rgba(20, 15, 11, 0.16);
  border: 1px solid rgba(75, 60, 42, 0.1);
  transform: rotate(2deg);
  z-index: 2;
}
.pr-floating-note img {
  width: 100%;
  border-radius: 8px;
  max-height: 140px;
  object-fit: cover;
}
.pr-hero-card {
  padding: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pr-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 18px 0 24px;
  color: var(--pr-muted);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pr-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.pr-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.45);
  border: 1px solid rgba(67,53,38,0.12);
  color: var(--pr-muted);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pr-page-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 280px;
  gap: 34px;
  align-items: start;
}
.pr-toc {
  position: sticky;
  top: 96px;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255,255,255,0.34);
  border: 1px solid rgba(67,53,38,0.08);
  box-shadow: var(--pr-shadow-soft);
}
.pr-toc ol { margin: 12px 0 0 18px; padding: 0; }
.pr-toc li { margin: 0 0 10px; color: var(--pr-muted); }

.entry-content,
.pr-prose {
  max-width: 100%;
}
.entry-content > * {
  margin-top: 0;
  margin-bottom: 1.25rem;
}
.entry-content h2 { margin-top: 3.25rem; }
.entry-content h3 { margin-top: 2rem; }
.entry-content figure { margin: 2rem 0; }
.entry-content blockquote {
  margin: 2.25rem 0;
  padding: 1.6rem 1.75rem;
  border-left: 0;
}
.entry-content .wp-block-image img,
.entry-content .wp-block-cover,
.entry-content .wp-block-gallery {
  border-radius: 26px;
  overflow: hidden;
  box-shadow: var(--pr-shadow-soft);
}

.wp-block-quote.is-style-pr-pullquote {
  padding: 28px 30px;
  font-size: 1.3rem;
  line-height: 1.45;
}
.wp-block-quote.is-style-pr-pullquote p {
  font-size: 1.3rem;
  color: var(--pr-ink);
}
.wp-block-quote.is-style-pr-pullquote cite {
  display: block;
  margin-top: 12px;
  font-size: 0.84rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pr-muted);
}

.wp-block-group.is-style-pr-threshold-band {
  padding: 0;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: var(--pr-shadow);
}
.wp-block-group.is-style-pr-threshold-band .wp-block-cover,
.wp-block-group.is-style-pr-threshold-band .wp-block-image,
.wp-block-group.is-style-pr-threshold-band img {
  margin: 0;
}

.pr-feed-grid,
.wp-block-query.is-style-pr-feed-grid ul,
.wp-block-post-template.is-style-pr-feed-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
}
.pr-feed-card {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr);
  gap: 16px;
  align-items: stretch;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,0.38);
  border: 1px solid rgba(67,53,38,0.08);
  box-shadow: var(--pr-shadow-soft);
}
.pr-feed-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
}
.pr-feed-card__meta {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pr-feed-card__title {
  font-size: 1.2rem;
  line-height: 1.2;
  margin: 0 0 10px;
}

.pr-footer {
  padding: 28px 0 44px;
  color: var(--pr-muted);
}
.pr-footer__inner {
  width: min(calc(100% - 40px), var(--pr-max));
  margin: 0 auto;
  padding-top: 24px;
  border-top: 1px solid rgba(67,53,38,0.12);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 1024px) {
  .pr-hero-frame,
  .pr-page-grid,
  .pr-feed-card {
    grid-template-columns: 1fr;
  }
  .pr-feed-grid,
  .wp-block-post-template.is-style-pr-feed-grid { grid-template-columns: 1fr; }
  .pr-toc { position: relative; top: 0; }
}

@media (max-width: 760px) {
  .site-header__inner { padding: 12px 0; align-items: flex-start; }
  .site-nav ul { gap: 14px; }
  .pr-hero-card,
  .pr-paper-card,
  .wp-block-group.is-style-pr-paper-card,
  .wp-block-group.is-style-pr-closing-box,
  .wp-block-group.is-style-pr-artifact-box { padding: 22px; }
  .pr-floating-note {
    width: min(180px, 42%);
    right: 10px;
    bottom: 10px;
  }
}


/* Stage 2 */
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(18px);
  background: rgba(245, 240, 228, 0.78);
  border-bottom: 1px solid rgba(71,58,43,0.08);
}
.pr-hero-card h1 { max-width: 10ch; }
.pr-post-meta {
  display:flex; flex-wrap:wrap; gap:12px 18px;
  font-size:0.95rem; color:var(--pr-muted);
  margin: 20px 0 14px;
}
.pr-post-meta span {
  padding: 7px 12px; border:1px solid var(--pr-line); border-radius:999px; background:rgba(255,255,255,0.44);
}
.pr-author-line {
  font-size: 0.98rem;
  color: var(--pr-muted);
  margin: 8px 0 0;
}
.pr-hero-caption {
  margin-top: 12px;
  font-size: 0.96rem;
  color: var(--pr-muted);
}
.entry-content > * + * { margin-top: 1.15em; }
.entry-content h2 { margin-top: 1.8em; }
.entry-content h3 { margin-top: 1.45em; }
.entry-content blockquote {
  border-left: 3px solid var(--pr-gold);
  padding-left: 22px;
  margin-left: 0;
  color: var(--pr-ink);
  font-size: 1.25rem;
}
.entry-content .wp-block-columns { gap: 28px; }
.entry-content figure { margin: 1.6em 0; }
.entry-content figcaption { color: var(--pr-muted); font-size: 0.92rem; text-align:center; margin-top:8px; }
.pr-home-split { display:grid; grid-template-columns:1.15fr .85fr; gap:26px; align-items:start; }
.pr-home-card-stack { display:grid; gap:20px; }
.pr-home-banner {
  padding: 28px; border:1px solid var(--pr-line); border-radius: var(--pr-radius);
  background: linear-gradient(180deg, rgba(255,255,255,0.42), rgba(255,255,255,0.18)); box-shadow: var(--pr-shadow-soft);
}
@media (max-width: 900px) {
  .pr-home-split { grid-template-columns:1fr; }
  .pr-hero-card h1 { max-width: none; }
}


/* Stage 3 homepage + adaptive hero */
.pr-hero-frame.is-landscape { grid-template-columns: 1.1fr 0.9fr; }
.pr-hero-frame.is-square { grid-template-columns: 0.98fr 1.02fr; }
.pr-hero-frame.is-portrait { grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1.28fr); min-height: min(68vh, 700px); }
.pr-hero-frame.is-portrait .pr-hero-image { max-height: min(68vh, 700px); }
.pr-hero-frame.is-square .pr-hero-image,
.pr-hero-frame.is-landscape .pr-hero-image { max-height: min(74vh, 760px); }
.home .pr-hero-frame { grid-template-columns: minmax(320px, 520px) minmax(0, 1fr) !important; min-height: auto; max-height: none; align-items: stretch; }
.home .pr-hero-image { max-height: min(74vh, 760px); }
.home .pr-hero-card { min-height: 0; }
.home .pr-section .pr-feed-grid { margin-top: 22px !important; }
.handwritten-stage { display:grid; grid-template-columns:0.96fr 1.04fr; gap:30px; align-items:center; }
.handwritten-copy { max-width: 560px; }
.paper { background: linear-gradient(180deg, rgba(255,255,255,0.38), rgba(255,255,255,0.15)), linear-gradient(180deg, rgba(130, 98, 61, 0.04), rgba(130, 98, 61, 0.01)); border:1px solid rgba(73,59,43,0.1); border-radius:24px; box-shadow:var(--pr-shadow); overflow:hidden; }
.paper img { width:100%; height:100%; object-fit:cover; display:block; }
.paper-stack { position:relative; min-height:440px; }
.paper-stack .paper { position:absolute; width:min(410px, 100%); right:0; top:0; }
.paper-stack .paper.back { transform:rotate(-4deg); right:42px; top:30px; opacity:0.92; box-shadow: var(--pr-shadow-soft); }
.paper-stack .paper.front { transform:rotate(1.5deg); z-index:2; }
.paper-tag { position:absolute; left:16px; bottom:-12px; background:rgba(244,236,222,0.96); padding:9px 14px; border-radius:999px; border:1px solid rgba(73,59,43,0.1); box-shadow:var(--pr-shadow-soft); font-size:0.84rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--pr-muted); z-index:3; }
.journal-layout { display:grid; grid-template-columns:1.08fr 0.92fr; gap:20px; align-items:start; }
.journal-main { position:relative; }
.journal-main .image-card { min-height:540px; border-radius:28px; }
.image-card { border-radius:24px; overflow:hidden; box-shadow:var(--pr-shadow); background:#d9d1c2; min-height:360px; position:relative; }
.image-card img { width:100%; height:100%; object-fit:cover; display:block; }
.journal-note { position:absolute; right:-14px; bottom:-20px; width:min(270px, 52%); padding:16px; background:rgba(244,236,222,0.96); border-radius:14px; border:1px solid rgba(73,59,43,0.1); box-shadow:var(--pr-shadow); transform:rotate(-2deg); z-index:4; }
.journal-side { display:grid; gap:18px; padding-top:26px; }
.journal-side .pr-feed-card { min-height: 0; }
.interlude-band { position:relative; min-height:300px; border-radius:34px; overflow:hidden; box-shadow:var(--pr-shadow); }
.interlude-band img { width:100%; height:100%; object-fit:cover; display:block; }
.interlude-band::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,10,10,0.55), rgba(10,10,10,0.12)); }
.interlude-band .copy { position:absolute; left:36px; bottom:30px; z-index:2; max-width:540px; color:#f6efe6; }
.interlude-band .copy p, .interlude-band .copy .pr-lede { color:rgba(246,239,230,0.9); }
.media-grid { display:grid; grid-template-columns:0.95fr 1.05fr; gap:28px; align-items:center; }
.channel-list { display:grid; gap:14px; margin-top:24px; }
.channel { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 18px; border-radius:16px; background:rgba(255,255,255,0.32); border:1px solid rgba(71,58,43,0.09); }
.channel span:first-child { font-size:1.05rem; font-weight:600; }
.project-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pr-project-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.pr-project-card-link:hover {
  opacity: 1;
  transform: translateY(-2px);
}
.pr-project-card-link:focus-visible {
  outline: 2px solid var(--pr-gold);
  outline-offset: 4px;
}
.pr-project-card-link .pr-micro-note,
.pr-project-card-link h3,
.pr-project-card-link p {
  pointer-events: none;
}
@media (max-width: 1080px) {
  .handwritten-stage, .journal-layout, .media-grid, .project-row { grid-template-columns:1fr; }
  .paper-stack { min-height:520px; }
  .paper-stack .paper.back { right:20px; }
  .journal-note { right:14px; bottom:14px; }
  .home .pr-hero-frame, .pr-hero-frame.is-portrait, .pr-hero-frame.is-square, .pr-hero-frame.is-landscape { grid-template-columns:1fr !important; min-height:auto; }
  .home .pr-hero-image, .pr-hero-frame.is-portrait .pr-hero-image, .pr-hero-frame.is-square .pr-hero-image, .pr-hero-frame.is-landscape .pr-hero-image { max-height:none; min-height:480px; }
}


/* Stage 4 fidelity + homepage hero overlap + richer article modes */
:root {
  --pr-space-section: 46px;
  --pr-space-section-tight: 28px;
}
.pr-section { padding: var(--pr-space-section) 0; }
.pr-section-tight { padding: var(--pr-space-section-tight) 0; }
.home .pr-section + .pr-section,
.home .pr-section-tight + .pr-section,
.home .pr-section + .pr-section-tight,
.home .pr-section-tight + .pr-section-tight { margin-top: 0; }
.home .pr-hero { padding: 16px 0 22px; }
.home .pr-hero-frame {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(320px, 0.94fr) !important;
  gap: 0;
  align-items: stretch;
  min-height: min(82vh, 860px);
  padding-right: 28px;
}
.home .pr-hero-image {
  border-radius: 30px;
  min-height: min(82vh, 860px);
  max-height: min(82vh, 860px);
  overflow: hidden;
}
.home .pr-hero-image img { object-position: center center; }
.home .pr-hero-card {
  align-self: center;
  margin-left: -78px;
  width: calc(100% + 24px);
  max-width: 630px;
  min-height: auto;
  z-index: 4;
  border-radius: 32px;
}
.home .pr-hero-card h1 { max-width: 9.3ch; font-size: clamp(3.25rem, 5.9vw, 6rem); }
.home .pr-hero-card .pr-lede { max-width: 32ch; }
.home .pr-hero-card p:not(.pr-lede) { max-width: 36ch; }
.home .pr-hero-card .cta-row { margin-top: 14px; }
.home .pr-floating-note { right: 18px; bottom: 18px; }
.home .pr-overlap-next { margin-top: -8px; }
.home .pr-builder-section--divider-line { padding-bottom: 34px; }
.home .pr-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 12px 0 0;
  color: rgba(86, 68, 45, 0.65);
}
.home .pr-divider::before,
.home .pr-divider::after {
  content: "";
  height: 1px;
  flex: 1;
  background: linear-gradient(90deg, transparent, rgba(90, 72, 47, 0.22), transparent);
}
.home .pr-divider span {
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.home .pr-home-triptych {
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 26px;
  align-items: stretch;
}
.home .pr-home-triptych__stack { display:grid; gap:20px; }
.home .pr-home-triptych .pr-paper-card { min-height: 0; }
.home .pr-writing-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}
.home .pr-writing-grid .pr-feed-card {
  grid-template-columns: 132px minmax(0,1fr);
  min-height: 0;
  padding: 12px;
}
.home .pr-writing-grid .pr-feed-card__thumb img { min-height: 124px; }
.home .pr-interlude-band {
  position: relative;
  min-height: 520px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--pr-shadow);
  background: #d9d1c2;
}
.home .pr-interlude-band img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.home .pr-interlude-band::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10,10,10,0.58) 0%, rgba(10,10,10,0.34) 36%, rgba(10,10,10,0.10) 72%, rgba(10,10,10,0.04) 100%);
}
.home .pr-interlude-copy {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  max-width: 560px;
  padding: 34px;
  color: #f6efe8;
}
.home .pr-interlude-copy h2,
.home .pr-interlude-copy h3 {
  color: #f6efe8;
  margin-bottom: 12px;
}
.home .pr-interlude-copy p,
.home .pr-interlude-copy .pr-lede,
.home .pr-interlude-copy .small {
  color: rgba(246,239,232,0.92);
}
.home .pr-interlude-copy .pr-eyebrow {
  color: #dbc18a;
}
.home .pr-interlude-band--with-list {
  min-height: 620px;
}
.home .pr-interlude-band--with-list .pr-interlude-copy {
  max-width: 540px;
}
.home .pr-project-banner {
  position: relative;
  min-height: 520px;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: var(--pr-shadow);
  background:#d9d1c2;
}
.home .pr-project-banner img { width:100%; height:100%; object-fit:cover; display:block; }
.home .pr-project-banner::after {
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(10,10,10,0.68) 0%, rgba(10,10,10,0.42) 36%, rgba(10,10,10,0.08) 72%, rgba(10,10,10,0.03) 100%);
}
.home .pr-project-copy {
  position:absolute;
  left:0; bottom:0;
  z-index:2;
  max-width: 520px;
  padding: 34px;
  color:#f6efe8;
}
.home .pr-project-copy p,
.home .pr-project-copy .pr-lede { color: rgba(246,239,232,0.92); }
.home .pr-bullet-list { display:grid; gap:10px; margin-top:18px; }
.home .pr-bullet-list div { display:flex; gap:10px; align-items:flex-start; color:rgba(246,239,232,0.94); }
.home .pr-bullet-list div::before { content:"✦"; color:#dbc18a; font-size:0.9rem; line-height:1.35; }
.home .pr-video-grid {
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}
.home .pr-video-grid .pr-feed-card { grid-template-columns: 148px minmax(0,1fr); }
.home .pr-video-grid .pr-feed-card__thumb img { min-height: 108px; }
.home .pr-home-section-head { margin-bottom: 8px; }
.home .pr-home-section-copy { margin-bottom: 4px; }
.home .paper-stack { min-height: 390px; }
.home .paper-stack .paper { width:min(370px, 100%); }
.entry-content { font-size: 1.06rem; }
.entry-content > :not(.alignwide):not(.alignfull) { max-width: 70ch; }
.entry-content .alignwide { max-width: min(100%, 940px); }
.entry-content .alignfull { max-width: none; }
.entry-content h2 { font-size: clamp(2rem, 3.3vw, 3rem); }
.entry-content h3 { font-size: clamp(1.35rem, 2.2vw, 1.85rem); }
.entry-content .wp-block-group.is-style-pr-artifact-box,
.entry-content .wp-block-group.is-style-pr-closing-box,
.entry-content .wp-block-group.is-style-pr-paper-card { max-width: min(100%, 760px); }
.single-format-simple .pr-page-grid { grid-template-columns: minmax(0, 1fr); }
.single-format-simple .entry-content > :not(.alignwide):not(.alignfull) { max-width: 64ch; }
.single-format-simple .pr-hero-frame { grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); min-height: auto; }
.single-format-simple .pr-hero-card { padding-top: 28px; padding-bottom: 28px; }
.single-format-simple .pr-hero-card h1 { max-width: 12ch; font-size: clamp(2.8rem, 5.2vw, 4.8rem); }
.single-format-simple .pr-post-meta span:nth-child(3) { display:none; }
@media (max-width: 1080px) {
  .home .pr-hero-frame,
  .home .pr-home-triptych,
  .home .pr-writing-grid,
  .home .pr-video-grid { grid-template-columns: 1fr !important; }
  .home .pr-hero-frame { padding-right: 0; min-height: auto; }
  .home .pr-hero-image { min-height: 520px; max-height: none; }
  .home .pr-hero-card { margin-left: 0; width: 100%; max-width: none; margin-top: -26px; }
  .home .pr-interlude-band { min-height: 420px; }
  .home .pr-interlude-band--with-list { min-height: 520px; }
  .home .pr-interlude-copy { padding: 24px; max-width: none; }
  .home .pr-project-banner { min-height: 420px; }
}
@media (max-width: 760px) {
  .home .pr-hero { padding: 12px 0 18px; }
  .home .pr-hero-image { min-height: 420px; }
  .home .pr-hero-card { margin-top: -18px; }
  .home .pr-hero-card h1 { max-width: none; }
  .home .pr-writing-grid .pr-feed-card,
  .home .pr-video-grid .pr-feed-card { grid-template-columns: 1fr; }
}


/* Stage 5 monument homepage hero */
.pr-eyebrow--light { color: rgba(245,239,230,0.82); }
.home .pr-hero { padding: 18px 0 26px; }
.home .pr-home-monument { position: relative; }
.home .pr-home-monument__image {
  position: relative;
  min-height: min(84vh, 860px);
  max-height: 860px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #d8d0c0;
}
.home .pr-home-monument__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.home .pr-home-monument__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(13,10,7,0.10) 0%, rgba(13,10,7,0.08) 28%, rgba(13,10,7,0.34) 55%, rgba(13,10,7,0.62) 100%),
              linear-gradient(180deg, rgba(13,10,7,0.05) 0%, rgba(13,10,7,0.20) 100%);
}
.home .pr-home-monument__copy {
  position: absolute;
  left: clamp(24px, 4vw, 48px);
  bottom: clamp(24px, 4vw, 42px);
  max-width: min(560px, calc(100% - 48px));
  color: #f5efe6;
  z-index: 2;
}
.home .pr-home-monument__copy h1 {
  color: #f5efe6;
  font-size: clamp(3.3rem, 7vw, 6.4rem);
  line-height: 0.93;
  letter-spacing: -0.045em;
  max-width: 8.6ch;
  margin-bottom: 18px;
  text-shadow: 0 4px 18px rgba(0,0,0,0.22);
}
.home .pr-home-monument__copy .pr-lede,
.home .pr-home-monument__copy p { color: rgba(245,239,230,0.92); max-width: 34ch; }
.home .pr-home-monument__copy .cta-row { margin-top: 18px; }
.home .pr-home-monument__copy .pr-button--primary { background: linear-gradient(180deg, #6e7c63, #56624d); }
.home .pr-overlap-next { margin-bottom: 0; }
.home .pr-section-tight.pr-overlap-next { padding-top: 22px; }
@media (max-width: 980px) {
  .home .pr-home-monument__image { min-height: 70vh; }
  .home .pr-home-monument__copy h1 { max-width: 9.5ch; font-size: clamp(2.8rem, 8vw, 4.8rem); }
}
@media (max-width: 640px) {
  .home .pr-home-monument__image { min-height: 62vh; border-radius: 24px; }
  .home .pr-home-monument__shade { background: linear-gradient(180deg, rgba(13,10,7,0.10) 0%, rgba(13,10,7,0.48) 58%, rgba(13,10,7,0.78) 100%); }
  .home .pr-home-monument__copy { left: 20px; right: 20px; max-width: none; bottom: 20px; }
  .home .pr-home-monument__copy h1 { max-width: none; }
}


/* Stage 6 homepage editability tune */
.pr-container--wide { width: min(calc(100% - 40px), 1340px); }
.pr-home-monument--full .pr-home-monument__image {
  min-height: clamp(560px, 82vh, 860px);
  max-height: 88vh;
  border-radius: 36px;
  overflow: hidden;
  position: relative;
}
.pr-home-monument--full .pr-home-monument__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.pr-home-monument__copy--bottom-left {
  position: absolute;
  left: clamp(28px, 4vw, 56px);
  bottom: clamp(30px, 5vw, 56px);
  max-width: min(680px, 58%);
  z-index: 3;
}
.pr-home-monument--full .pr-home-monument__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12,10,8,0.72) 0%, rgba(12,10,8,0.48) 34%, rgba(12,10,8,0.16) 62%, rgba(12,10,8,0.02) 100%),
              linear-gradient(180deg, rgba(12,10,8,0.05) 0%, rgba(12,10,8,0.18) 100%);
  z-index: 1;
}
.pr-home-monument__copy--bottom-left h1,
.pr-home-monument__copy--bottom-left p,
.pr-home-monument__copy--bottom-left .pr-eyebrow--light {
  color: #f7f1e7;
}
.pr-home-monument__copy--bottom-left .pr-button--primary {
  background: rgba(242,236,222,0.96);
  color: var(--ink);
}
@media (max-width: 860px) {
  .pr-home-monument--full .pr-home-monument__image {
    min-height: 540px;
    max-height: none;
  }
  .pr-home-monument__copy--bottom-left {
    max-width: calc(100% - 40px);
    left: 20px;
    right: 20px;
    bottom: 22px;
  }
}


.home .pr-feed-card__meta .small { line-height: 1.45; }
.home .pr-writing-grid .pr-feed-card__thumb img { object-position: center 32%; }



.pr-builder-section .pr-container {
  width: min(calc(100% - 72px), 1120px);
}
.pr-builder-section + .pr-builder-section {
  margin-top: -6px;
}
.pr-builder-section--hero { padding-top: 22px; padding-bottom: 44px; }
.pr-builder-section--two-col { padding-top: 60px; padding-bottom: 60px; }
.pr-builder-section .eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pr-gold);
  margin-bottom: 14px;
}
.pr-builder-section .lede {
  font-size: clamp(1.08rem, 1.8vw, 1.34rem);
  color: #3a332a;
}
.pr-builder-section .cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.pr-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 12px;
  font-size: 0.97rem;
  color: var(--pr-sage);
  font-weight: 600;
}
.pr-text-link:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* Stage 8: Homepage Builder A + B */
.pr-builder-hero-frame {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(340px, 0.94fr);
  gap: 28px;
  align-items: stretch;
  min-height: min(78vh, 760px);
}
.pr-builder-hero-image {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: var(--pr-shadow);
  min-height: 0;
  height: 100%;
  background: #d8d0c0;
}
.pr-builder-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.94) contrast(1.02);
}
.pr-builder-hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17,12,8,0.02), rgba(17,12,8,0.30));
}
.pr-builder-floating-scrap {
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: min(210px, 30%);
  padding: 10px;
  border-radius: 14px;
  background: rgba(244, 236, 222, 0.94);
  box-shadow: 0 18px 28px rgba(20, 15, 11, 0.16);
  transform: rotate(2deg);
  border: 1px solid rgba(75, 60, 42, 0.1);
  z-index: 3;
}
.pr-builder-floating-scrap img {
  width: 100%;
  border-radius: 8px;
  max-height: 150px;
  object-fit: cover;
}
.pr-builder-hero-card {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,0.44), rgba(255,255,255,0.18)), linear-gradient(180deg, rgba(106, 83, 55, 0.11), rgba(106, 83, 55, 0.02));
  border: 1px solid rgba(67, 53, 38, 0.08);
  box-shadow: var(--pr-shadow);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  padding: 32px;
}
.pr-builder-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(92, 72, 46, 0.04) 1px, transparent 1px);
  background-size: 100% 38px;
  opacity: 0.55;
  pointer-events: none;
}
.pr-builder-hero-card > * { position: relative; z-index: 1; }
.pr-builder-hero-card h1 {
  font-weight: 500;
  line-height: 1.03;
  margin: 0 0 16px;
  letter-spacing: -0.03em;
  font-size: clamp(2.35rem, 4.1vw, 4.6rem);
  max-width: 8.8ch;
  line-height: 0.97;
  overflow-wrap: anywhere;
}
.pr-builder-hero-card .pr-lede { font-size: clamp(1.02rem, 1.45vw, 1.22rem); max-width: 28ch; }
.pr-builder-hero-quote {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(67, 53, 38, 0.14);
  color: var(--pr-muted);
  font-style: italic;
}
@media (max-width: 1080px) {
  .pr-builder-hero-frame {
    grid-template-columns: 1fr;
    min-height: auto;
    max-height: none;
  }
  .pr-builder-hero-image {
    min-height: 520px;
  }
  .pr-builder-section .pr-container {
    width: min(calc(100% - 40px), 1120px);
  }
  .pr-builder-hero-card h1 {
    max-width: none;
  }
}
@media (max-width: 560px) {
  .pr-builder-section .pr-container {
    width: min(calc(100% - 24px), 1120px);
  }
  .pr-builder-floating-scrap {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    margin-top: 16px;
    transform: rotate(0);
  }
  .pr-builder-hero-image {
    min-height: 420px;
  }
}


/* Stage 9: Homepage Builder C — Two Column */
.pr-builder-section--two-col { padding-top: 76px; padding-bottom: 76px; }
.pr-builder-two-col {
  display: grid;
  gap: 42px;
  align-items: center;
  width: min(calc(100% - 72px), 1120px);
  margin: 0 auto;
  padding-left: 18px;
  padding-right: 18px;
}
.pr-builder-two-col--50-50 { grid-template-columns: 1fr 1fr; }
.pr-builder-two-col--40-60 { grid-template-columns: 0.4fr 0.6fr; }
.pr-builder-two-col--60-40 { grid-template-columns: 0.6fr 0.4fr; }
.pr-builder-two-col--30-70 { grid-template-columns: 0.3fr 0.7fr; }
.pr-builder-two-col--70-30 { grid-template-columns: 0.7fr 0.3fr; }
.pr-builder-two-col--image-right > .pr-builder-image-card { order: 2; }
.pr-builder-two-col--image-right > .pr-builder-copy-card { order: 1; }
.pr-builder-image-card {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--pr-shadow);
  background: #d9d1c2;
  min-height: 520px;
  position: relative;
}
.pr-builder-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pr-builder-image-card.frame-thin {
  border-radius: 12px;
  border: 8px solid rgba(244, 239, 229, 0.85);
  box-shadow: 0 16px 26px rgba(34, 26, 18, 0.14);
}
.pr-builder-image-card.no-radius { border-radius: 0; }
.pr-builder-copy-card--card {
  background: rgba(255,255,255,0.26);
  border: 1px solid rgba(73, 59, 43, 0.08);
  border-radius: 24px;
  padding: 34px;
  box-shadow: var(--pr-shadow-soft);
}
.pr-builder-copy-card--clear {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 12px 0;
}
.pr-builder-copy-card h2 {
  font-size: clamp(2rem, 3.25vw, 3.3rem);
  max-width: 16ch;
  line-height: 1.05;
  text-wrap: pretty;
}
.pr-builder-copy-body {
  max-width: 62ch;
}
.pr-builder-copy-body p {
  line-height: 1.7;
}
.pr-builder-copy-body p:last-child { margin-bottom: 0; }
.pr-builder-copy-body p:last-child { margin-bottom: 0; }
@media (max-width: 1080px) {
  .pr-builder-two-col,
  .pr-builder-two-col--50-50,
  .pr-builder-two-col--40-60,
  .pr-builder-two-col--60-40,
  .pr-builder-two-col--30-70,
  .pr-builder-two-col--70-30 {
    grid-template-columns: 1fr;
    width: min(calc(100% - 40px), 1120px);
    padding-left: 0;
    padding-right: 0;
  }
  .pr-builder-two-col--image-right > .pr-builder-image-card,
  .pr-builder-two-col--image-right > .pr-builder-copy-card {
    order: initial;
  }
  .pr-builder-image-card { min-height: 480px; }
}
@media (max-width: 560px) {
  .pr-builder-section--hero { padding-top: 14px; padding-bottom: 30px; }
  .pr-builder-section--two-col { padding-top: 52px; padding-bottom: 52px; }
  .pr-builder-copy-card--card { padding: 26px; }
  .pr-builder-two-col { width: min(calc(100% - 24px), 1120px); }
  .pr-builder-image-card { min-height: 420px; }
}


/* Stage 13.1 notebook fragments */
.home .pr-builder-section--notebook-fragments {
  padding-top: 18px;
}
.home .pr-builder-section--notebook-fragments .handwritten-copy h2 {
  max-width: 11ch;
}
.home .pr-builder-section--notebook-fragments .pr-fragments-body > * + * {
  margin-top: 1em;
}
.home .pr-builder-section--notebook-fragments .pr-fragments-body {
  max-width: 38rem;
}
.home .pr-builder-section--notebook-fragments .small {
  max-width: 34rem;
}
@media (max-width: 1080px) {
  .home .pr-builder-section--notebook-fragments {
    padding-top: 8px;
  }
}


.pr-image-card {
  border-radius: 28px;
  overflow: hidden;
  background: #d9d1c2;
  box-shadow: var(--pr-shadow);
  position: relative;
}

.pr-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pr-journal-layout {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 20px;
  align-items: start;
}

.pr-journal-main {
  position: relative;
}

.pr-journal-main-card {
  min-height: 620px;
}

.pr-journal-side {
  display: grid;
  gap: 18px;
  padding-top: 30px;
}

.pr-journal-side-card {
  min-height: 260px;
}

.pr-journal-note {
  position: absolute;
  right: -14px;
  bottom: -24px;
  width: min(270px, 52%);
  padding: 16px;
  background: rgba(244, 236, 222, 0.96);
  border-radius: 14px;
  border: 1px solid rgba(73, 59, 43, 0.1);
  box-shadow: var(--pr-shadow);
  transform: rotate(-2deg);
  z-index: 4;
}

.pr-journal-note p:last-child {
  margin-bottom: 0;
}

/* Stage 15/16: homepage builder stabilization and cleanup */
.pr-builder-section img {
  height: auto;
}
.pr-builder-image-card img,
.pr-interlude-band img,
.pr-image-card img,
.paper img,
.pr-feed-card__thumb img {
  height: 100%;
  object-fit: cover;
}
@media (max-width: 900px) {
  .pr-journal-layout {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .pr-journal-main-card {
    min-height: 520px;
  }
  .pr-journal-side {
    grid-template-columns: 1fr 1fr;
    padding-top: 0;
  }
  .pr-journal-note {
    right: 18px;
    bottom: 18px;
    width: min(320px, calc(100% - 36px));
  }
}
@media (max-width: 620px) {
  .pr-section,
  .pr-section-tight {
    padding-top: 34px;
    padding-bottom: 34px;
  }
  .pr-journal-main-card,
  .pr-journal-side-card {
    min-height: 360px;
  }
  .pr-journal-side {
    grid-template-columns: 1fr;
  }
  .pr-journal-note {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 24px);
    margin: -42px auto 0;
  }
  .home .pr-interlude-copy h2,
  .pr-builder-section--journal-collage h2,
  .home .pr-builder-section--notebook-fragments .handwritten-copy h2 {
    max-width: none;
  }
}


/* Stage 17: Dispatches / YouTube cards */
.home .pr-video-grid .pr-feed-card,
.home .pr-video-grid .pr-video-card-link {
  color: inherit;
  text-decoration: none;
}

.home .pr-video-grid .pr-video-card-link {
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home .pr-video-grid .pr-video-card-link:hover,
.home .pr-video-grid .pr-video-card-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--pr-shadow);
  border-color: rgba(67,53,38,0.16);
}

.home .pr-video-grid .pr-feed-card__thumb {
  display: block;
  aspect-ratio: 16 / 9;
  align-self: center;
  overflow: hidden;
  border-radius: 16px;
}

.home .pr-video-grid .pr-feed-card__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 16px;
}

.home .pr-video-grid .pr-feed-card__title {
  color: inherit;
}


/* Stage 18: image and performance tuning */
.pr-builder-section img,
.pr-feed-card__thumb img,
.single .entry-content img,
.page .entry-content img {
  content-visibility: auto;
}

.pr-builder-hero-image > img {
  content-visibility: visible;
}

.pr-feed-card__thumb {
  background: rgba(67,53,38,0.06);
}


/* Stage 19: responsive QA and mobile tuning */
html {
  -webkit-text-size-adjust: 100%;
}

body {
  min-width: 320px;
}

.pr-container,
.pr-narrow,
.site-header__inner,
.pr-footer__inner {
  width: min(calc(100% - 40px), var(--pr-max));
}

.pr-builder-section .pr-container,
.pr-builder-two-col {
  width: min(calc(100% - 40px), 1120px);
}

.site-nav a,
.pr-button,
.wp-block-button__link,
.pr-text-link,
.home .pr-video-grid .pr-video-card-link {
  -webkit-tap-highlight-color: rgba(95,109,87,0.18);
}

.site-nav a,
.pr-button,
.wp-block-button__link {
  min-height: 44px;
}

.pr-builder-hero-frame {
  min-height: auto;
}

.pr-builder-hero-image,
.home .pr-home-monument__image,
.home .pr-hero-image {
  isolation: isolate;
}

.pr-builder-hero-card h1,
.home .pr-home-monument__copy h1,
.home .pr-hero-card h1 {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

.pr-builder-copy-card h2,
.home .pr-home-section-head h2,
.handwritten-copy h2,
.pr-builder-section--journal-collage h2 {
  overflow-wrap: normal;
  word-break: normal;
}

.home .pr-writing-grid .pr-feed-card,
.home .pr-video-grid .pr-feed-card,
.home .pr-video-grid .pr-video-card-link {
  min-width: 0;
}

.home .pr-video-grid .pr-feed-card__thumb,
.home .pr-writing-grid .pr-feed-card__thumb {
  min-width: 0;
}

.home .pr-video-grid .pr-feed-card__meta,
.home .pr-writing-grid .pr-feed-card__meta {
  min-width: 0;
}

.home .pr-video-grid .pr-feed-card__title,
.home .pr-writing-grid .pr-feed-card__title {
  overflow-wrap: anywhere;
}

@media (max-width: 1080px) {
  .pr-builder-two-col--image-right > .pr-builder-image-card,
  .pr-builder-two-col--image-right > .pr-builder-copy-card {
    order: initial;
  }

  .pr-builder-copy-card h2 {
    max-width: 20ch;
  }

  .home .pr-interlude-band,
  .home .pr-project-banner {
    border-radius: 28px;
  }

  .home .paper-stack {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 820px) {
  .site-header {
    position: relative;
  }

  .site-header__inner {
    min-height: 0;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 0;
  }

  .site-nav ul {
    gap: 8px 12px;
    justify-content: flex-start;
    line-height: 1.25;
  }

  .site-nav a {
    display: inline-flex;
    align-items: center;
    padding: 4px 0;
  }

  .pr-section {
    padding-top: 42px;
    padding-bottom: 42px;
  }

  .pr-section-tight {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  h1 {
    font-size: clamp(2.45rem, 12vw, 4rem);
  }

  h2 {
    font-size: clamp(2rem, 9vw, 3.15rem);
  }

  p {
    font-size: 1.03rem;
  }

  .pr-builder-hero-card h1 {
    font-size: clamp(2.55rem, 11vw, 4.05rem);
    max-width: 12ch;
  }

  .pr-builder-hero-card .pr-lede {
    max-width: 38ch;
  }

  .pr-builder-hero-image {
    min-height: clamp(360px, 68vw, 520px);
    border-radius: 24px;
  }

  .pr-builder-hero-card {
    border-radius: 24px;
    padding: 28px;
  }

  .pr-builder-image-card {
    min-height: clamp(360px, 70vw, 500px);
    border-radius: 22px;
  }

  .pr-builder-copy-card h2 {
    max-width: none;
  }

  .home .pr-video-grid .pr-feed-card,
  .home .pr-video-grid .pr-video-card-link,
  .home .pr-writing-grid .pr-feed-card {
    grid-template-columns: minmax(160px, 0.42fr) minmax(0, 0.58fr);
    gap: 14px;
  }

  .home .pr-video-grid .pr-feed-card__thumb,
  .home .pr-writing-grid .pr-feed-card__thumb {
    align-self: stretch;
  }
}

@media (max-width: 620px) {
  .pr-container,
  .pr-narrow,
  .site-header__inner,
  .pr-footer__inner,
  .pr-builder-section .pr-container,
  .pr-builder-two-col {
    width: min(calc(100% - 24px), var(--pr-max));
  }

  .site-header__inner {
    flex-direction: column;
  }

  .site-branding__tag {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
  }

  .site-nav ul {
    font-size: 0.9rem;
  }

  .pr-button,
  .wp-block-button__link {
    width: 100%;
    padding: 13px 18px;
  }

  .pr-builder-section .cta-row,
  .home .cta-row {
    width: 100%;
  }

  .pr-builder-section .cta-row > *,
  .home .cta-row > * {
    flex: 1 1 100%;
  }

  .pr-builder-section--hero {
    padding-top: 12px;
    padding-bottom: 34px;
  }

  .pr-builder-hero-frame {
    gap: 14px;
  }

  .pr-builder-hero-image {
    min-height: clamp(320px, 92vw, 430px);
    border-radius: 22px;
  }

  .pr-builder-floating-scrap {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: min(160px, 42%);
    margin-top: 0;
    padding: 8px;
    transform: rotate(1.2deg);
  }

  .pr-builder-floating-scrap .small {
    display: none;
  }

  .pr-builder-hero-card {
    padding: 24px;
    border-radius: 22px;
  }

  .pr-builder-hero-card h1 {
    font-size: clamp(2.38rem, 12vw, 3.35rem);
    max-width: 10.5ch;
    letter-spacing: -0.04em;
  }

  .pr-builder-hero-quote {
    margin-top: 18px;
    padding-top: 16px;
  }

  .pr-builder-section--two-col {
    padding-top: 44px;
    padding-bottom: 44px;
  }

  .pr-builder-two-col {
    gap: 20px;
  }

  .pr-builder-image-card {
    min-height: clamp(320px, 88vw, 430px);
  }

  .pr-builder-copy-card--card {
    padding: 22px;
    border-radius: 20px;
  }

  .pr-builder-copy-card--clear {
    padding: 2px 0;
  }

  .home .pr-interlude-band,
  .home .pr-interlude-band--with-list,
  .home .pr-project-banner {
    min-height: 440px;
    border-radius: 22px;
  }

  .home .pr-interlude-band::after,
  .home .pr-project-banner::after {
    background: linear-gradient(180deg, rgba(10,10,10,0.08) 0%, rgba(10,10,10,0.36) 44%, rgba(10,10,10,0.74) 100%);
  }

  .home .pr-interlude-copy,
  .home .pr-project-copy {
    padding: 22px;
    max-width: none;
  }

  .home .pr-interlude-copy h2,
  .home .pr-project-copy h2 {
    font-size: clamp(1.9rem, 9vw, 2.55rem);
  }

  .handwritten-stage {
    gap: 18px;
  }

  .home .paper-stack,
  .paper-stack {
    min-height: 360px;
  }

  .home .paper-stack .paper,
  .paper-stack .paper {
    width: min(300px, 86%);
  }

  .paper-stack .paper.back {
    right: 4px;
    top: 28px;
  }

  .paper-tag {
    left: 10px;
    bottom: 0;
    max-width: calc(100% - 20px);
    white-space: normal;
    line-height: 1.25;
  }

  .pr-journal-layout {
    gap: 16px;
  }

  .pr-journal-main-card,
  .pr-journal-side-card {
    min-height: clamp(300px, 82vw, 380px);
    border-radius: 22px;
  }

  .pr-journal-note {
    width: calc(100% - 20px);
    margin-top: -34px;
    transform: rotate(-1deg);
  }

  .home .pr-writing-grid .pr-feed-card,
  .home .pr-video-grid .pr-feed-card,
  .home .pr-video-grid .pr-video-card-link {
    grid-template-columns: 1fr;
    padding: 12px;
  }

  .home .pr-writing-grid .pr-feed-card__thumb,
  .home .pr-video-grid .pr-feed-card__thumb {
    aspect-ratio: 16 / 9;
    width: 100%;
  }

  .home .pr-writing-grid .pr-feed-card__thumb img,
  .home .pr-video-grid .pr-feed-card__thumb img {
    min-height: 0;
  }

  .home .pr-feed-card__meta .small {
    font-size: 0.95rem;
  }

  .home .pr-divider {
    gap: 10px;
  }

  .home .pr-divider span {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-align: center;
  }
}

@media (max-width: 420px) {
  .pr-container,
  .pr-narrow,
  .site-header__inner,
  .pr-footer__inner,
  .pr-builder-section .pr-container,
  .pr-builder-two-col {
    width: min(calc(100% - 20px), var(--pr-max));
  }

  .pr-builder-hero-card,
  .pr-builder-copy-card--card,
  .pr-paper-card,
  .wp-block-group.is-style-pr-paper-card,
  .wp-block-group.is-style-pr-closing-box,
  .wp-block-group.is-style-pr-artifact-box {
    padding: 20px;
  }

  .pr-builder-hero-card h1 {
    font-size: clamp(2.18rem, 13vw, 2.9rem);
  }

  .pr-builder-floating-scrap {
    width: min(138px, 44%);
  }

  .home .pr-interlude-copy,
  .home .pr-project-copy {
    padding: 18px;
  }

  .home .paper-stack,
  .paper-stack {
    min-height: 320px;
  }
}


/* Stage 20.1: critical image/card fit hotfix
   The front-end cards have fixed visual shapes. This forces photos to fill their surfaces,
   while preserving notebook/page-scan images as contained paper artifacts. */

.pr-builder-image-card,
.pr-image-card,
.pr-feed-card__thumb,
.home .pr-video-grid .pr-feed-card__thumb,
.home .pr-writing-grid .pr-feed-card__thumb {
  position: relative;
  overflow: hidden;
}

.pr-builder-image-card,
.pr-image-card {
  aspect-ratio: 4 / 5;
}

.pr-builder-image-card > img,
.pr-image-card > img,
.pr-feed-card__thumb > img,
.home .pr-video-grid .pr-feed-card__thumb > img,
.home .pr-writing-grid .pr-feed-card__thumb > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-width: none;
  display: block;
  object-fit: cover;
}

/* Long landscape surfaces need their own crop logic. */
.home .pr-interlude-band,
.pr-interlude-band {
  position: relative;
  overflow: hidden;
}

.home .pr-interlude-band > img,
.pr-interlude-band > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  object-fit: cover;
}

/* Notebook/page scan surfaces should read as artifacts, not cropped photos. */
.paper-stack {
  overflow: visible;
}

.paper-stack .paper {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: rgba(244, 239, 229, 0.92);
}

.paper-stack .paper > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  display: block;
  object-fit: contain;
  background: rgba(244, 239, 229, 0.92);
}

/* Keep photo-heavy two-column sections decisive on mobile: no beige dead zones. */
@media (max-width: 820px) {
  .pr-builder-image-card {
    aspect-ratio: 4 / 5;
    min-height: 0;
  }

  .pr-builder-two-col--image-right > .pr-builder-image-card,
  .pr-builder-two-col--image-right > .pr-builder-copy-card {
    order: initial;
  }
}

@media (max-width: 620px) {
  .pr-builder-section--hero {
    padding-top: 8px;
  }

  .pr-builder-hero-frame {
    gap: 12px;
  }

  .pr-builder-hero-image {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .pr-builder-floating-scrap {
    width: min(132px, 38%);
  }

  .pr-builder-image-card,
  .pr-image-card {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .pr-journal-main-card,
  .pr-journal-side-card {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  .home .pr-interlude-band,
  .home .pr-interlude-band--with-list,
  .home .pr-project-banner {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }

  /* The field-fragment chip becomes a proper caption on phone instead of a rogue sticker. */
  .home .paper-stack,
  .paper-stack {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    min-height: 0;
    max-width: 340px;
    padding: 12px 0 0;
    margin-left: auto;
    margin-right: auto;
  }

  .home .paper-stack .paper,
  .paper-stack .paper {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    width: min(280px, 82vw);
    right: auto;
    top: auto;
  }

  .paper-stack .paper.back {
    right: auto;
    top: auto;
    transform: rotate(-4deg) translate(18px, -8px);
  }

  .paper-stack .paper.front {
    transform: rotate(1.5deg) translate(-8px, 8px);
  }

  .paper-tag {
    position: relative;
    grid-column: 1;
    grid-row: 2;
    left: auto;
    right: auto;
    bottom: auto;
    transform: none;
    margin: 24px auto 0;
    width: fit-content;
    max-width: 92%;
    text-align: center;
    display: block;
  }

  .home .pr-writing-grid .pr-feed-card__thumb,
  .home .pr-video-grid .pr-feed-card__thumb {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
}

@media (max-width: 420px) {
  .pr-builder-hero-image,
  .pr-builder-image-card,
  .pr-image-card,
  .pr-journal-main-card,
  .pr-journal-side-card {
    aspect-ratio: 4 / 5;
  }

  .home .paper-stack,
  .paper-stack {
    max-width: 310px;
  }

  .home .paper-stack .paper,
  .paper-stack .paper {
    width: min(254px, 80vw);
  }
}


/* Stage 21: inner-page system expansion */
.pr-archive-hero,
.pr-page-hero {
  padding-top: clamp(36px, 6vw, 78px);
}
.pr-archive-hero__inner,
.pr-page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: end;
  padding: clamp(28px, 5vw, 48px);
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(255,255,255,0.38), rgba(255,255,255,0.16));
  border: 1px solid rgba(67,53,38,0.08);
  box-shadow: var(--pr-shadow-soft);
}
.pr-archive-hero h1,
.pr-page-hero h1 { max-width: 12ch; }
.pr-archive-search { align-self: end; }
.pr-search-form {
  display: flex;
  gap: 10px;
  padding: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.52);
  border: 1px solid rgba(67,53,38,0.10);
  box-shadow: var(--pr-shadow-soft);
}
.pr-search-form__input {
  min-width: 0;
  flex: 1;
  border: 0;
  background: transparent;
  padding: 10px 10px 10px 14px;
  color: var(--pr-ink);
  font: inherit;
  outline: none;
}
.pr-search-form__button,
.pr-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  padding: 10px 15px;
  background: rgba(95,109,87,0.96);
  color: #f7f1e8;
  font: inherit;
  font-size: 0.92rem;
  cursor: pointer;
  white-space: nowrap;
}
.pr-read-more {
  width: fit-content;
  margin-top: auto;
  padding: 7px 0;
  background: transparent;
  color: var(--pr-sage);
  box-shadow: none;
}
.pr-feed-grid--archive {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}
.pr-feed-grid--archive .pr-feed-card {
  min-height: 210px;
}
.pr-feed-card__thumb {
  display: block;
  min-height: 100%;
  border-radius: 16px;
  overflow: hidden;
  background: #d8d0c0;
}
.pr-pagination {
  margin-top: 34px;
  color: var(--pr-muted);
}
.pr-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.pr-pagination .page-numbers {
  display: inline-flex;
  min-width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.36);
  border: 1px solid rgba(67,53,38,0.08);
}
.pr-pagination .page-numbers.current {
  background: var(--pr-sage);
  color: #f7f1e8;
}
.pr-page-hero__image {
  overflow: hidden;
  border-radius: 24px;
  box-shadow: var(--pr-shadow-soft);
  aspect-ratio: 4 / 3;
  background: #d8d0c0;
}
.pr-page-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pr-empty-state,
.pr-error-state {
  width: min(100%, 820px);
  margin: 0 auto;
}
.pr-error-state h1 { max-width: 11ch; }
.single .pr-related {
  margin-top: clamp(42px, 7vw, 76px);
  padding-top: 36px;
  border-top: 1px solid rgba(67,53,38,0.12);
}
.single .pr-related h2 { font-size: clamp(2rem, 3.2vw, 3rem); }

@media (max-width: 900px) {
  .pr-archive-hero__inner,
  .pr-page-hero__inner {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .pr-feed-grid--archive { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .pr-archive-hero__inner,
  .pr-page-hero__inner {
    padding: 24px;
    border-radius: 26px;
  }
  .pr-search-form {
    flex-direction: column;
    border-radius: 22px;
  }
  .pr-search-form__button { width: 100%; }
  .pr-feed-card {
    grid-template-columns: 1fr;
  }
  .pr-feed-card__thumb { aspect-ratio: 16 / 9; }
}

/* Stage 21.1: final QA patch — dispatches, page system, fluid titles, journal collage */
:root {
  --pr-title-xl: clamp(3.2rem, 6.4vw, 6.4rem);
  --pr-title-lg: clamp(2.8rem, 5.2vw, 5.2rem);
  --pr-title-md: clamp(2.15rem, 4vw, 3.8rem);
}

/* Let language breathe. Cards may hide decorative overflow, but never decapitate titles. */
h1,
.pr-page-hero h1,
.pr-archive-hero h1,
.pr-hero-card h1,
.pr-builder-hero-card h1,
.home .pr-home-monument__copy h1,
.single .pr-hero-card h1 {
  max-width: min(100%, 15ch);
  font-size: var(--pr-title-xl);
  line-height: 0.96;
  letter-spacing: -0.045em;
  overflow: visible;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
}

.pr-page-hero h1,
.pr-archive-hero h1,
.single .pr-hero-card h1 {
  font-size: var(--pr-title-lg);
  max-width: min(100%, 13ch);
}

.pr-hero-card,
.pr-builder-hero-card,
.pr-page-hero__inner,
.pr-archive-hero__inner {
  overflow: visible;
}

.single .pr-hero-frame,
.pr-page-hero__inner,
.pr-archive-hero__inner {
  min-height: auto;
}

/* Dispatch cards: image and copy now have hard boundaries instead of text sliding under thumbnails. */
.home .pr-video-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.home .pr-video-grid .pr-feed-card,
.home .pr-video-grid .pr-video-card-link {
  display: grid;
  grid-template-columns: minmax(190px, 0.38fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-height: 152px;
  max-height: none;
  overflow: hidden;
}

.home .pr-video-grid .pr-feed-card__thumb {
  grid-column: 1;
  width: 100%;
  aspect-ratio: 16 / 9;
  align-self: center;
  border-radius: 16px;
  overflow: hidden;
  z-index: 1;
}

.home .pr-video-grid .pr-feed-card__meta {
  grid-column: 2;
  min-width: 0;
  position: relative;
  z-index: 2;
  padding-right: 4px;
}

.home .pr-video-grid .pr-feed-card__title {
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
  line-height: 1.15;
  max-width: 100%;
}

.home .pr-video-grid .pr-feed-card__meta .small {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Normal pages: editorial, not WordPress drywall. */
.pr-page-hero {
  padding-top: clamp(28px, 4.5vw, 58px);
}

.pr-page-hero__inner {
  grid-template-columns: minmax(0, 0.72fr) minmax(240px, 0.28fr);
  align-items: center;
  padding: clamp(26px, 4vw, 42px);
  min-height: auto;
}

.pr-page-hero__image {
  justify-self: end;
  width: min(100%, 360px);
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--pr-shadow-soft);
  background: #d9d1c2;
}

.pr-page-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pr-page-content-shell {
  width: min(calc(100% - 40px), 1080px);
  margin: 0 auto;
}

.page .entry-content {
  max-width: none;
}

.page .entry-content > :not(.alignwide):not(.alignfull) {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.page .entry-content > .alignwide {
  max-width: min(100%, 1080px);
  margin-left: auto;
  margin-right: auto;
}

.page .entry-content > .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.page .entry-content > .wp-block-image.alignwide img,
.page .entry-content > figure.alignwide img,
.page .entry-content > .wp-block-cover.alignwide {
  border-radius: 28px;
  box-shadow: var(--pr-shadow-soft);
}

.page .entry-content .wp-block-columns.alignwide {
  gap: clamp(22px, 4vw, 48px);
}

/* Journal collage: softer ratios plus editable focal positions. */
.pr-journal-layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  gap: clamp(20px, 3vw, 32px);
}

.pr-journal-main-card {
  min-height: 0;
  aspect-ratio: 5 / 5.6;
}

.pr-journal-side-card {
  min-height: 0;
  aspect-ratio: 4 / 3.15;
}

.pr-journal-main-card img,
.pr-journal-side-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pr-object-position-center img { object-position: center center; }
.pr-object-position-top img { object-position: center top; }
.pr-object-position-bottom img { object-position: center bottom; }
.pr-object-position-left img { object-position: left center; }
.pr-object-position-right img { object-position: right center; }

@media (max-width: 1080px) {
  .home .pr-video-grid {
    grid-template-columns: 1fr;
  }

  .home .pr-video-grid .pr-feed-card,
  .home .pr-video-grid .pr-video-card-link {
    grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
  }

  .single .pr-hero-frame {
    grid-template-columns: 1fr;
  }

  .single .pr-hero-card h1,
  .pr-page-hero h1,
  .pr-archive-hero h1 {
    max-width: none;
  }
}

@media (max-width: 760px) {
  h1,
  .pr-page-hero h1,
  .pr-archive-hero h1,
  .pr-hero-card h1,
  .pr-builder-hero-card h1,
  .home .pr-home-monument__copy h1,
  .single .pr-hero-card h1 {
    font-size: clamp(2.55rem, 12vw, 4.2rem);
    line-height: 0.98;
    max-width: none;
  }

  .home .pr-video-grid .pr-feed-card,
  .home .pr-video-grid .pr-video-card-link {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .home .pr-video-grid .pr-feed-card__thumb,
  .home .pr-video-grid .pr-feed-card__meta {
    grid-column: 1;
  }

  .pr-page-hero__inner,
  .pr-archive-hero__inner {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .pr-page-hero__image {
    justify-self: stretch;
    width: 100%;
    max-height: 280px;
  }

  .pr-page-content-shell {
    width: min(calc(100% - 28px), 1080px);
  }

  .pr-journal-layout {
    grid-template-columns: 1fr;
  }

  .pr-journal-main-card {
    aspect-ratio: 4 / 5;
  }

  .pr-journal-side {
    grid-template-columns: 1fr;
  }

  .pr-journal-side-card {
    aspect-ratio: 4 / 3;
  }
}

/* Stage 23: Homepage hero sizing pass
   The hero was visually overpowering on desktop. These overrides keep the
   image/card composition intact while reducing height, title scale, and card bulk. */
.home .pr-builder-section--hero,
.home .pr-hero {
  padding-top: 12px;
  padding-bottom: 34px;
}

.home .pr-builder-hero-frame {
  grid-template-columns: minmax(320px, 0.98fr) minmax(360px, 0.92fr);
  gap: 24px;
  align-items: stretch;
  min-height: clamp(520px, 64vh, 680px);
  max-height: none;
}

.home .pr-builder-hero-image {
  min-height: clamp(520px, 64vh, 680px);
  max-height: clamp(520px, 64vh, 680px);
}

.home .pr-builder-hero-card {
  padding: clamp(28px, 3vw, 42px);
}

.home .pr-builder-hero-card h1 {
  font-size: clamp(2.85rem, 4.5vw, 5rem);
  line-height: 0.98;
  max-width: 9.2ch;
  margin-bottom: 14px;
}

.home .pr-builder-hero-card .pr-lede,
.home .pr-builder-hero-card .lede {
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  max-width: 34ch;
}

.home .pr-builder-hero-quote {
  margin-top: 18px;
  padding-top: 16px;
}

/* Same reduction for the older legacy hero path, in case the homepage is
   using the pre-builder hero template or fallback fields. */
.home .pr-hero-frame {
  min-height: clamp(520px, 64vh, 680px) !important;
}

.home .pr-hero-image {
  min-height: clamp(520px, 64vh, 680px);
  max-height: clamp(520px, 64vh, 680px);
}

.home .pr-hero-card {
  padding: clamp(28px, 3vw, 42px);
}

.home .pr-hero-card h1 {
  font-size: clamp(2.85rem, 4.5vw, 5rem);
  line-height: 0.98;
  max-width: 9.2ch;
}

@media (max-width: 1080px) {
  .home .pr-builder-hero-frame,
  .home .pr-hero-frame {
    min-height: auto !important;
  }

  .home .pr-builder-hero-image,
  .home .pr-hero-image {
    min-height: 460px;
    max-height: none;
  }
}

@media (max-width: 560px) {
  .home .pr-builder-section--hero,
  .home .pr-hero {
    padding-top: 10px;
    padding-bottom: 28px;
  }

  .home .pr-builder-hero-image,
  .home .pr-hero-image {
    min-height: 380px;
  }

  .home .pr-builder-hero-card h1,
  .home .pr-hero-card h1 {
    font-size: clamp(2.35rem, 11vw, 3.65rem);
    max-width: none;
  }
}



/* Stage 25: Project Hub public template */
.pr-page-hero {
  padding: 48px 0 36px;
}
.pr-page-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 28px;
  align-items: stretch;
}
.pr-page-hero__image {
  border-radius: 30px;
  overflow: hidden;
  min-height: 520px;
  background: #d9d1c2;
  box-shadow: var(--pr-shadow);
}
.pr-page-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pr-page-hero__copy {
  border-radius: 30px;
  padding: 38px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.44), rgba(255,255,255,0.18)),
    linear-gradient(180deg, rgba(106, 83, 55, 0.11), rgba(106, 83, 55, 0.02));
  border: 1px solid rgba(67, 53, 38, 0.08);
  box-shadow: var(--pr-shadow-soft);
}
.pr-page-hero__copy h1 {
  font-size: clamp(2.8rem, 5.5vw, 5.4rem);
}
.pr-term-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.pr-term-row a {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(73, 59, 43, 0.1);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(255,255,255,0.34);
  color: var(--pr-muted);
  font-size: 0.86rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: var(--pr-shadow-soft);
}
.pr-entry-content > * + * {
  margin-top: 1.1em;
}
@media (max-width: 900px) {
  .pr-page-hero__grid { grid-template-columns: 1fr; }
  .pr-page-hero__image { min-height: 420px; }
}
@media (max-width: 560px) {
  .pr-page-hero { padding-top: 28px; }
  .pr-page-hero__copy { padding: 26px; }
  .pr-page-hero__image { min-height: 360px; }
}


/* Stage 26: Project Hub builder and filtered feeds */
.pr-project-hub__content + .pr-project-hub-builder {
  margin-top: -32px;
}

.pr-project-hub-builder .pr-builder-section:first-child {
  padding-top: 48px;
}

.pr-project-feed-empty {
  padding: 22px 24px;
  border: 1px solid var(--pr-line);
  border-radius: var(--pr-radius-sm);
  background: rgba(255,255,255,0.24);
  color: var(--pr-muted);
}

.pr-term-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.pr-term-row a {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(71,58,43,.14);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--pr-muted);
  background: rgba(255,255,255,.26);
  font-size: .9rem;
}
