/* Static editorial pages share the existing AFNEMO palette, fonts and navigation. */
.content-page #mainNav { background: var(--warm-black); }
.content-page .content-main { max-width: 1200px; margin: 0 auto; padding: 150px 5% 80px; min-height: 65vh; }
.content-page .content-heading { max-width: 880px; margin-bottom: 2.5rem; }
.content-page .content-heading h1 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; font-size: clamp(2.3rem, 5vw, 4.4rem); line-height: 1.12; margin: 1rem 0 1.4rem; }
.content-page .content-heading > p { line-height: 1.75; margin: .8rem 0; }
.content-page .content-heading .section-tag { display: block; width: fit-content; margin-top: 2rem; }
.content-page .experience-article .content-heading { border-bottom: 1px solid #bdae91; padding-bottom: 2rem; }
.experience-article .content-facts { gap: 1rem 2.5rem; }
.experience-article .content-facts > div { max-width: 100%; }
.experience-article .content-facts dt { max-width: 32ch; line-height: 1.6; text-transform: none; letter-spacing: 0; }
.experience-article .content-facts dd { font-size: 1.15rem; }
.experience-context { border-left: 3px solid var(--gold); padding: .3rem 0 .3rem 1.5rem; margin: 2rem 0; line-height: 1.8; }
.experience-context h2 { font-size: 1.15rem; margin-bottom: .5rem; }
.experience-scope { color: #554435; font-size: .95rem; }
.experience-related { border-block: 1px solid #bdae91; margin-top: 2rem; padding: 1.5rem 0; line-height: 1.8; }
.experience-related h2 { font-size: 1rem; font-weight: 400; color: #554435; }
.experience-related a { font-size: 1.2rem; font-weight: 600; }
.experience-milestones, .experience-gallery { margin: 2.5rem 0; }
.experience-milestones > h2, .experience-gallery > h2 { font-family: 'DM Serif Display', Georgia, serif; font-size: 2rem; font-weight: 400; margin-bottom: 1rem; }
.experience-milestones ol { list-style: none; border-left: 2px solid var(--sage); margin-left: .5rem; padding: 0 0 0 1.5rem; }
.experience-milestones li { position: relative; padding: .5rem 0 1.5rem; line-height: 1.7; }
.experience-milestones li::before { content: ''; position: absolute; width: .7rem; height: .7rem; background: var(--sage); border-radius: 50%; top: .9rem; left: -1.9rem; }
.experience-milestones time { color: #554435; }
.experience-milestones h3 { font-size: 1.15rem; }
.content-sources li { margin: .8rem 0; }
.material-credit { color: #554435; font-size: .9rem; }
.content-page a { text-underline-offset: .2em; }
.content-main a { color: var(--sage); }
.content-back { display: inline-block; font-weight: 600; margin: 0 0 1.2rem; }
.content-lead { font-size: 1.2rem; }
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.content-card { border: 1px solid var(--cream-dark); background: #fffaf0; border-radius: 12px; overflow: hidden; }
.content-card-body { padding: 1.6rem; }
.content-card h2 { font-family: 'DM Serif Display', Georgia, serif; font-size: 1.65rem; font-weight: 400; line-height: 1.3; margin: .6rem 0 1rem; }
.content-card h2 a { color: var(--text-dark); }
.content-card p { line-height: 1.65; margin-bottom: 1rem; }
.content-card .section-tag { font-size: .7rem; padding-left: 0; }
.content-card .section-tag::before { content: none; }
.content-card .content-territory { font-size: .88rem; font-weight: 600; color: var(--sage); margin-bottom: .6rem; }
.content-read { display: inline-block; font-weight: 600; margin-top: .5rem; }
.content-territory, .content-date { font-size: .92rem; color: #554435; line-height: 1.6; }
.content-article { max-width: 820px; margin: 0 auto; }
.content-notice { padding: 1.4rem; background: #e5eddf; border-left: 4px solid var(--sage); border-radius: 0 8px 8px 0; line-height: 1.7; margin: 1.5rem 0; }
.content-notice h2 { font-size: 1.45rem; margin-bottom: .7rem; }
.content-figure { margin: 1.5rem 0; }
.content-figure img { display: block; width: 100%; height: auto; border-radius: 8px; }
.content-figure figcaption { color: #554435; font-size: .85rem; line-height: 1.5; margin-top: .6rem; }
.content-card .content-figure { margin: 0; }
.content-card .content-figure img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; }
.content-card .content-figure figcaption { padding: 0 1rem; }
.prose { line-height: 1.85; font-size: 1.06rem; overflow-wrap: anywhere; }
.prose p, .prose ul, .prose ol, .prose blockquote { margin: 1.1rem 0; }
.prose h2, .prose h3, .prose h4 { line-height: 1.3; margin: 2rem 0 1rem; }
.prose h2 { font-family: 'DM Serif Display', Georgia, serif; font-weight: 400; font-size: 2rem; }
.prose ul, .prose ol, .content-sources ul { padding-left: 1.5rem; }
.prose li { margin: .5rem 0; }
.prose blockquote { padding: .5rem 1.5rem; border-left: 3px solid var(--gold); }
.prose pre { padding: 1rem; overflow-x: auto; background: #e7dcc7; }
.prose table { width: 100%; display: block; overflow: auto; border-collapse: collapse; }
.prose td, .prose th { padding: .5rem; border: 1px solid #bdae91; }
.content-sources { padding: 1.5rem; margin: 2rem 0; border: 1px solid #bdae91; border-radius: 8px; line-height: 1.75; overflow-wrap: anywhere; }
.content-sources h2 { font-size: 1.3rem; margin-bottom: .8rem; }
.content-facts { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 1.4rem 0; }
.content-facts dt { font-size: .8rem; text-transform: uppercase; letter-spacing: .07em; color: #554435; }
.content-facts dd { margin: .4rem 0; font-weight: 500; }
.experience-filters { display: grid; grid-template-columns: 1.4fr 1fr 1fr auto; gap: 1rem; align-items: end; padding: 1.4rem; background: #e8dec8; border-radius: 10px; }
.experience-filters label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .6rem; }
.experience-filters input, .experience-filters select, .content-reset { width: 100%; min-height: 48px; font: inherit; padding: .7rem; border: 1px solid #7e725f; border-radius: 5px; background: #fffaf0; color: var(--text-dark); }
.experience-filters > div { min-width: 0; }
.content-reset { cursor: pointer; font-weight: 600; }
.content-count { margin: 1.3rem 0; }
.content-page [hidden] { display: none !important; }
.content-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.content-page .skip-link { position: fixed; top: -100px; left: 1rem; z-index: 10000; background: var(--cream); color: var(--text-dark); padding: 1rem; }
.content-page .skip-link:focus { top: 1rem; }
.content-page :focus-visible { outline: 3px solid #0d4a63; outline-offset: 4px; }
@media (max-width: 1000px) { .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .experience-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .content-page .content-main { padding: 120px 6% 50px; } .content-grid, .experience-filters { grid-template-columns: 1fr; } .content-card-body { padding: 1.3rem; } .content-sources { padding: 1.1rem; } }

/* Longer institutional reading stays in the existing editorial page layout. */
.institutional-contents { border: 1px solid #bdae91; border-radius: 12px; padding: 1.5rem; margin: 2rem 0; background: #fffaf0; }
.institutional-contents h2 { font-size: 1.1rem; margin-bottom: 1rem; }
.institutional-contents ol { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 2rem; padding-left: 1.3rem; line-height: 1.5; }
.institutional-article .prose h2 { scroll-margin-top: 7rem; }
.institutional-article table { font-size: .95rem; }
.institutional-article td:first-child { min-width: 170px; }
@media (max-width: 620px) { .institutional-contents ol { grid-template-columns: 1fr; } }
