/* Editorial: readable hierarchy, original artwork and no text truncation. */
.pv-home, .pv-story { background: #fffdf9; }
.pv-home-lead { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 8%; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.pv-home h2 { font-size: clamp(3.6rem, 6.6vw, 6.8rem); font-weight: 500; margin-bottom: 0; letter-spacing: -.06em; }
.pv-home h2 em, .pv-hero h1 em { font-family: var(--font-site); font-weight: 400; }
.pv-home-lead>div:last-child p { font-size: 1rem; max-width: 390px; line-height: 1.8; margin-bottom: 15px; }
.pv-home-body { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8%; padding-top: 40px; align-items: start; }
.pv-home-topics { display: flex; flex-direction: column; }
.pv-home-topics a { padding: 17px 0; border-bottom: 1px solid var(--line); font-size: .9rem; display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.pv-home-topics a:hover { color: var(--red); }
.pv-home-latest, .pv-category-list, .pv-recent-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.pv-home-latest.single-article { grid-template-columns: 1fr; }
.pv-article-card { display: flex; flex-direction: column; min-width: 0; padding-bottom: 25px; border-bottom: 1px solid var(--line); color: var(--ink); }
.pv-article-image { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: #e7ebe1; }
.pv-article-image .artwork-caption { font-size: clamp(.85rem, 1.6vw, 1.35rem); }
.pv-art-with-copy .pv-article-image { aspect-ratio: 2.94; background: #0b1722; }
.pv-article-image>img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.pv-art-with-copy .pv-article-image>img { object-fit: contain; }
.pv-article-card:hover .pv-article-image>img { transform: scale(1.015); }
.pv-article-meta { display: block; margin-top: 20px; font-size: .8rem; letter-spacing: .02em; color: #626d63; }
.pv-article-card>strong { font-size: clamp(1.5rem, 2.4vw, 2.3rem); line-height: 1.25; font-weight: 500; letter-spacing: -.035em; margin-top: 13px; text-wrap: balance; }
.pv-article-author { font-size: .9rem; color: #4d5b50; margin-top: 12px; }
.pv-article-summary { font-size: 1rem; color: #646d65; line-height: 1.75; margin-top: 14px; max-width: 590px; }
.pv-read { font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: 5px; margin-top: 18px; }
.pv-intro-link { padding: 25px 0; display: flex; flex-direction: column; gap: 20px; }
.pv-intro-link strong { font-size: 2rem; line-height: 1.15; }
.pv-intro-link span { font-size: .9rem; color: var(--muted); }
.pv-page { padding-bottom: 70px; background: var(--bg); }
.pv-hero { padding-top: 50px; padding-bottom: 38px; }
.pv-hero h1 { font-size: clamp(4rem, 7vw, 7rem); font-weight: 500; letter-spacing: -.06em; line-height: 1.12; margin: 20px 0; }
.pv-hero>p:not(.eyebrow) { font-family: var(--font-site); font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.5; max-width: 780px; }
.pv-hero-line { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line); padding-top: 12px; margin-top: 25px; font-size: .8rem; letter-spacing: .03em; color: #657061; }
.pv-hero-line a { font-weight: 700; padding: 12px 0; }
.pv-recent { padding-bottom: 65px; }
.pv-section-heading { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-bottom: 25px; }
.pv-section-heading h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); margin: 0; }
.pv-section-heading>span { font-size: .75rem; color: var(--muted); letter-spacing: .04em; }
.pv-topics { scroll-margin-top: 110px; }
.pv-areas { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.pv-area { min-width: 0; display: flex; flex-direction: column; background: #fffdf9; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; transition: border-color .2s; scroll-margin-top: 110px; }
.pv-area:hover { border-color: #899584; }
.pv-area:focus-visible { outline-offset: 4px; }
.pv-area-image { display: block; aspect-ratio: 4/3; overflow: hidden; flex-shrink: 0; }
.pv-area-image img { width: 100%; height: 100%; object-fit: cover; }
.pv-area-info { display: flex; flex-direction: column; flex: 1; padding: 20px; position: relative; }
.pv-area-info small { font-size: .75rem; color: #66725f; letter-spacing: .04em; padding-right: 12px; }
.pv-area-info strong { font-weight: 500; font-size: 1.3rem; line-height: 1.3; letter-spacing: -.025em; margin: 16px 0 12px; overflow-wrap: normal; word-break: normal; hyphens: none; }
.pv-area-info>span { font-size: .95rem; line-height: 1.65; color: #626c60; }
.pv-area-info b { position: absolute; right: 14px; top: 15px; font-weight: 400; }
.pv-art-placeholder { width: 100%; height: 100%; background: #e9ebdf; }
.pv-categories { padding-top: 60px; }
.pv-category { display: grid; grid-template-columns: .72fr 1.28fr; gap: 8%; border-top: 1px solid var(--line); padding: 40px 0 60px; scroll-margin-top: 110px; }
.pv-category h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); margin-top: 15px; }
.pv-category-empty { padding: 22px 0; align-items: center; }
.pv-category-empty h2 { font-size: 1.5rem; margin: 8px 0 0; }
.pv-category-empty .eyebrow { margin: 0; }
.pv-awaiting { font-size: .95rem; color: #64715e; max-width: 520px; margin: 0; }
.pv-editorial-note { border-top: 1px solid var(--line); padding-top: 35px; margin-top: 35px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 8%; }
.pv-editorial-note p { font-size: 1rem; max-width: 650px; }
.pv-story { padding-bottom: 80px; }
.pv-story-head { padding-top: 40px; padding-bottom: 45px; }
.pv-back { display: inline-block; padding-block: 12px; font-size: .9rem; margin-bottom: 30px; }
.pv-story h1 { font-size: clamp(2.3rem, 6vw, 6.3rem); max-width: 1000px; margin: 25px 0; line-height: 1.15; font-weight: 500; }
.pv-story-deck { font: clamp(1.2rem, 2vw, 1.7rem)/1.6 var(--font-site); max-width: 800px; color: #5c675c; }
.pv-byline { padding-top: 20px; margin-top: 25px; border-top: 1px solid var(--line); font-size: .9rem; color: #55634f; }
.pv-story-cover { position: relative; margin-bottom: 50px; }
.pv-story-cover picture { position: relative; display: block; }
.pv-story-cover img { width: 100%; height: auto; border-radius: 12px; }
.pv-story-cover figcaption { font: .8rem/1.6 var(--font-site); color: #5c675c; padding-top: 10px; }
.pv-story-content { display: grid; grid-template-columns: .5fr 1.5fr; gap: 10%; }
.pv-story-rail { display: flex; flex-direction: column; gap: 20px; font-size: .8rem; color: #64735d; }
.pv-story-rail a { font-size: .9rem; padding-block: 10px; }
.pv-prose { font: 1.2rem/1.9 var(--font-site); max-width: 780px; min-width: 0; color: #34402f; }
.pv-prose p { color: #34402f; margin-bottom: 1.5em; }
.pv-prose h2, .pv-prose h3 { font-family: var(--font-site); font-weight: 500; margin-top: 1.6em; }
.pv-prose h2 { font-size: clamp(1.9rem, 2.5vw, 2.7rem); }
.pv-prose h3 { font-size: 1.65rem; }
.pv-prose a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.pv-prose blockquote { margin: 2em 0; padding-left: 25px; border-left: 2px solid var(--red); }
.pv-prose ul, .pv-prose ol { padding-left: 1.5em; }
.pv-prose img { max-width: 100%; height: auto; border-radius: 8px; }
.pv-prose pre { overflow: auto; font-size: .85rem; background: var(--surface-2); padding: 16px; }
.pv-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: 1rem; }
.pv-prose td, .pv-prose th { padding: 10px; border: 1px solid var(--line); }
.pv-prose .pv-signature { font: 600 .95rem/1.65 var(--font-site); margin-top: 2.5em; color: #35432d; }
.pv-sources, .pv-author, .pv-share { border-top: 1px solid var(--line); padding-top: 25px; margin-top: 45px; }
.pv-sources h2, .pv-author h2 { font-size: 1.5rem; margin-top: 0; }
.pv-sources ul { font-size: 1rem; }
.pv-author>span, .pv-share>span { font: .8rem/1.5 var(--font-site); letter-spacing: .05em; color: #5a6853; }
.pv-author p { font-size: 1rem; }
.pv-share>div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.pv-share button { min-height: 44px; border: 1px solid #c5cbbc; border-radius: 5px; background: #fffdf9; color: #35432d; padding: 10px 15px; font-size: .9rem; }
.pv-share button:hover { background: #edf0e7; }
.pv-share .share-feedback { font: .95rem/1.6 var(--font-site); margin: 15px 0 0; overflow-wrap: anywhere; }
.share-feedback:empty { display: none; }
.pv-cover-square .pv-article-image { aspect-ratio: 1; max-width: 420px; background: #142e32; }
.pv-cover-square .pv-article-image>img { object-fit: contain; }
.pv-cover-square:hover .pv-article-image>img { transform: none; }
.pv-listening { margin-top: 30px; }
.pv-platforms { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 15px; }
.pv-platforms a { min-height: 64px; display: flex; justify-content: center; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.pv-platforms a:hover { border-color: #58665a; background: #f5f5ef; }
.pv-platforms img { width: 100%; height: 32px; object-fit: contain; }
@media (max-width: 1200px) { .pv-areas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1000px) { .pv-category { grid-template-columns: 1fr; gap: 25px; }.pv-category-empty { gap: 12px; }.pv-category-list { max-width: 800px; } }
@media (max-width: 640px) {
  .pv-home-lead, .pv-home-body, .pv-story-content, .pv-editorial-note { grid-template-columns: 1fr; gap: 25px; }
  .pv-home h2 { font-size: clamp(3.25rem, 13vw, 5.5rem); margin-bottom: 12px; }
  .pv-home-lead { padding-bottom: 25px; }.pv-home-body { padding-top: 25px; }
  .pv-home-topics { flex-direction: row; overflow-x: auto; gap: 10px; padding-bottom: 12px; scrollbar-width: thin; }
  .pv-home-topics a { font-size: .8rem; flex-shrink: 0; border: 1px solid var(--line); padding: 10px 13px; border-radius: 5px; min-height: 44px; }
  .pv-home-latest, .pv-category-list, .pv-recent-grid { grid-template-columns: 1fr; }
  .pv-article-card>strong { font-size: 1.75rem; }
  .pv-hero { padding-top: 30px; padding-bottom: 28px; }.pv-hero h1 { font-size: clamp(3rem, 12vw, 4.5rem); }
  .pv-hero-line { display: block; }.pv-hero-line a { display: block; }
  .pv-section-heading { display: block; }.pv-section-heading>span { display: none; }
  .pv-recent { padding-bottom: 45px; }
  .pv-areas { grid-template-columns: 1fr; gap: 14px; }
  .pv-area { display: grid; grid-template-columns: 100px minmax(0, 1fr); align-items: stretch; }
  .pv-area-image { aspect-ratio: auto; min-height: 160px; height: 100%; }
  .pv-area-info { padding: 16px; }.pv-area-info strong { font-size: 1.18rem; margin: 12px 0 8px; }
  .pv-area-info>span { font-size: .9rem; }.pv-area-info b { right: 10px; top: 12px; }
  .pv-categories { padding-top: 45px; }.pv-category { padding-block: 30px 45px; }.pv-category-empty { padding-block: 20px; }
  .pv-story-head { padding-top: 25px; padding-bottom: 25px; }.pv-back { margin-bottom: 20px; }
  .pv-story h1 { font-size: clamp(2rem, 8vw, 3.5rem); }
  .pv-story-cover { margin-bottom: 30px; }.pv-story-cover img { border-radius: 8px; }
  .pv-story-rail { border-bottom: 1px solid var(--line); padding-bottom: 15px; gap: 10px; }
  .pv-prose { font-size: 1.125rem; }.pv-prose h2 { font-size: 1.9rem; }
  .pv-platforms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 370px) { .pv-area { grid-template-columns: 85px minmax(0, 1fr); }.pv-area-info { padding: 14px; } }
@media (prefers-reduced-motion: reduce) { .pv-article-image img, .pv-area { transition: none; } }
.pv-linked-section { padding-bottom: 90px; }
.pv-linked-reading { display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(24px,4vw,56px); align-items: center; padding-block: 36px; border-top: 1px solid var(--line); }
.pv-linked-image { display: block; overflow: hidden; border-radius: 10px; background: #101e2d; }
.pv-linked-image picture,.pv-linked-image img { display: block; width: 100%; height: auto; }
.pv-linked-copy h2 { margin-bottom: 16px; font-size: clamp(1.8rem,3vw,2.8rem); line-height: 1.12; }
.pv-linked-copy .eyebrow { margin-bottom: 14px; }
.pv-linked-copy .pv-linked-byline { color: var(--ink); font-size: .82rem; font-weight: 700; }
.pv-linked-copy .button { margin: 8px 16px 8px 0; }
.pv-linked-copy .pv-linked-source { margin: 14px 0 0; font-size: .76rem; }
@media(max-width:760px) { .pv-linked-reading { grid-template-columns: 1fr; gap: 26px; padding-block: 26px; }.pv-linked-section { padding-bottom: 60px; }.pv-linked-copy .text-link { display: flex; width: fit-content; } }
