/* Internal content only: it cannot override the shared Demo header or footer. */
/* Editorial detail pages: intentionally scoped away from the shared site shell and listing heroes. */
.public-page-content .article-detail{width:min(calc(100% - 6rem),1100px);margin-inline:auto;padding-block:0 64px;text-align:start}
.public-page-content .article-cover{margin:0 0 42px;background:#eee9df;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.public-page-content .article-cover img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center}
.public-page-content .article-reading-column{max-width:780px;margin-inline:0}
.public-page-content .article-detail .article-body{max-width:none;margin:0;font-size:18px;line-height:2.05;color:var(--ink);white-space:normal;overflow-wrap:anywhere}
.public-page-content .article-detail .article-body[data-content-format=plain]{white-space:pre-line}
.public-page-content .article-detail .article-body p{margin:0 0 1.4em}
.public-page-content .article-detail .article-body :is(h2,h3,h4){font-family:URW,Arial,sans-serif;font-weight:700;line-height:1.65;margin:1.6em 0 .6em}
.public-page-content .article-detail .article-body h2{font-size:28px}.public-page-content .article-detail .article-body h3{font-size:24px}.public-page-content .article-detail .article-body h4{font-size:21px}
.public-page-content .article-detail .article-body :is(ul,ol){margin-block:1.2em;padding-inline-start:1.7em}.public-page-content .article-detail .article-body li+li{margin-block-start:.35em}
.public-page-content .article-detail .article-body blockquote{margin:1.5em 0;padding:12px 22px;border-inline-start:3px solid var(--amber);background:#f0ebe1;color:var(--green)}
.public-page-content .article-detail .article-body>:last-child{margin-block-end:0}
.public-page-content .article-detail-footer{margin-block-start:38px;padding-block-start:24px;border-top:1px solid var(--line)}
.public-page-content .article-detail a:focus-visible{outline:3px solid var(--amber);outline-offset:4px;border-radius:4px}
html[lang=en] .public-page-content .article-detail .article-body{line-height:1.85}
@media(max-width:700px){.public-page-content .article-detail{width:calc(100% - 32px);padding-block:0 40px}.public-page-content .article-breadcrumb{margin-block-end:24px}.public-page-content .article-detail-header{margin-block-end:24px}.public-page-content .article-cover{border-radius:6px;margin-block-end:26px}.public-page-content .article-cover img{max-height:460px}.public-page-content .article-detail .article-body{font-size:17px;line-height:2}.public-page-content .article-detail .article-body h2{font-size:24px}.public-page-content .article-detail .article-body h3{font-size:21px}.public-page-content .article-detail-footer{margin-block-start:28px;padding-block-start:20px}}
@media(prefers-reduced-motion:reduce){.public-page-content .article-back{transition:none}}
.public-page-content{--burgundy:var(--green);--burgundy-dark:var(--ink);--gold:var(--amber);min-height:45vh}
.public-page-content .container{width:min(calc(100% - 6rem),1296px);margin-inline:auto}
.public-page-content .page-body{min-height:19rem;padding-block:4rem 5rem}
.public-page-content .page-description,.public-page-content .published-content,.public-page-content .news-summary{white-space:pre-line;overflow-wrap:anywhere}
.public-page-content .published-content{max-width:55rem;font-size:1rem;line-height:2}
.public-page-content .formatted-content{max-width:1000px;margin-inline:auto;line-height:1.9;overflow-wrap:anywhere;white-space:pre-wrap;color:var(--ink)}
.public-page-content .formatted-content p{margin:0 0 1.3rem}
.public-page-content .formatted-content h2,.public-page-content .formatted-content h3,.public-page-content .formatted-content h4{color:var(--green);line-height:1.5;margin:1.8rem 0 1rem}
.public-page-content .formatted-content h2{font-size:2rem}.public-page-content .formatted-content h3{font-size:1.6rem}.public-page-content .formatted-content h4{font-size:1.3rem}
.public-page-content .formatted-content ul,.public-page-content .formatted-content ol{padding-inline-start:2rem;list-style-position:outside;margin-block:1rem}
.public-page-content .formatted-content a{color:var(--green);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.public-page-content .pending-content{max-width:38rem;margin:auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:.8rem;padding:2.8rem 2rem}
.public-page-content .pending-icon{color:var(--amber);font-size:2rem}
.public-page-content .pending-content h2{font-size:1.25rem;color:var(--green);margin:.5rem 0}
.public-page-content .pending-content p{color:var(--muted);font-size:.9rem}
.public-page-content .pending-content a{margin-block-start:16px}
.public-page-content .news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;direction:inherit}
.public-page-content .news-card{display:flex;flex-direction:column;justify-content:space-between;grid-column:auto;grid-row:auto;min-height:12rem;padding:1.5rem;overflow-wrap:anywhere}

.public-page-content .news-card h2{font-size:1.12rem;color:var(--green);margin:0 0 1.2rem}
.public-page-content .news-card p{font-size:.9rem;color:var(--muted);margin:0 0 1.2rem}

.public-page-content .news-summary{max-width:55rem;color:var(--muted);font-size:1.1rem;margin:0 0 1.8rem}
.public-page-content .news-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:4px;margin-bottom:1.2rem}
.public-page-content .news-detail-image{display:block;max-width:100%;max-height:600px;margin:0 auto 2rem;object-fit:contain}
.public-page-content .news-date{display:block;color:var(--green);font-size:.85rem;margin-block:.8rem;font-variant-numeric:tabular-nums}
.public-page-content .honor-guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1.5rem}
.public-page-content .honor-guest-card{padding:1.25rem;overflow-wrap:anywhere}
.public-page-content .honor-guest-card img{width:100%;height:240px;object-fit:cover;border-radius:4px}
.public-page-content .honor-guest-card h2{font-size:1.4rem;margin-block:1rem .5rem}
.public-page-content .faq-list{display:grid;gap:.75rem}
.public-page-content .faq-item{}
.public-page-content .faq-item summary{cursor:pointer;padding:1.2rem;font-weight:700}
.public-page-content .faq-item summary:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.public-page-content .faq-item p{padding:0 1.2rem 1.2rem;margin:0;white-space:pre-line}
.public-page-content .contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.public-page-content .contact-grid section{padding:1.4rem;overflow-wrap:anywhere}
.public-page-content .contact-grid h2{margin:0 0 .6rem;font-size:1.2rem}
.public-page-content .contact-grid p{white-space:pre-line;margin:0}
.public-page-content .contact-grid a{color:var(--green);text-decoration:underline}
.public-page-content .contact-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}
.public-page-content .contact-links a{color:var(--green);text-decoration:underline}
.public-page-content .contact-map-frame{width:100%;height:360px;border:0;border-radius:6px;margin-block:1rem}
.public-page-content .program-message{padding:1.25rem;margin-block:1.25rem;border-radius:.6rem;background:var(--cream)}
.public-page-content .programme-table-wrap{margin-block:2rem}
.public-page-content .programme-table caption{text-align:start;padding:1rem;font-weight:700;color:var(--green)}
.public-page-content .programme-table th:first-child{width:23%}
.public-page-content .programme-period{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
.public-page-content .programme-period li+li{border-block-start:1px solid var(--line);padding-block-start:1rem}
.public-page-content .programme-period time{font-weight:800;color:var(--green)}
.public-page-content .programme-period p{margin:.35rem 0 0;white-space:pre-line;overflow-wrap:anywhere}
.public-page-content .map-halls{display:grid;gap:2rem}
.public-page-content .map-hall{padding:clamp(1rem,3vw,2rem);min-width:0}
.public-page-content .map-hall h2{margin-block:0 1rem;color:var(--green);overflow-wrap:anywhere}
.public-page-content .map-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.public-page-content .map-image-grid figure{margin:0;min-width:0}
.public-page-content .map-image-grid figcaption{font-weight:700;margin-block-end:.75rem}
.public-page-content .map-image-grid img{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:4px}
.public-page-content .map-image-actions{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-block-start:1rem}

.public-page-content .photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.public-page-content .photo-gallery figure{margin:0;overflow:hidden}
.public-page-content .photo-gallery img{width:100%;height:240px;object-fit:contain;display:block;background:var(--paper)}
.public-page-content .photo-gallery figcaption{padding:1rem}
.public-page-content .gallery-viewer{width:min(96vw,1200px);padding:24px}
.public-page-content .gallery-viewer img{display:block;max-width:100%;height:auto;max-height:calc(100dvh - 200px);object-fit:contain;margin:auto}
.public-page-content .gallery-viewer .bf-popup-header{padding:0 0 16px;padding-inline-end:40px;margin-block-end:16px;border-bottom:1px solid var(--public-line);color:var(--public-green)}
.public-page-content .gallery-viewer .bf-popup-header h2{font-size:20px}
.public-page-content .gallery-viewer>p{font-size:14px;color:var(--public-muted);margin:16px 0 0}
.public-page-content .gallery-viewer button{cursor:pointer;padding:.5rem 1rem}
.public-page-content .video-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.public-page-content .video-gallery article{min-width:0;padding:1rem}
.public-page-content .gallery-video{width:100%;aspect-ratio:16/9;border:0;display:block;margin-block:1rem}
.public-page-content .fair-timeline{border-inline-start:1px solid var(--public-line);margin-inline-start:1rem;padding-inline-start:2rem}
.public-page-content .fair-timeline article{position:relative;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1.5rem;padding:24px;margin-block-end:24px}
.public-page-content .fair-timeline article::before{content:"";position:absolute;inset-inline-start:-2.4rem;top:2rem;width:10px;height:10px;border-radius:0;background:#c9382a;transform:rotate(45deg)}
.public-page-content .fair-timeline time{grid-column:1/-1;color:var(--green)}
.public-page-content .fair-timeline img{width:100%;height:auto;max-height:280px;object-fit:contain}
.public-page-content .timeline-description{white-space:pre-line}
@media(max-width:900px){.public-page-content .news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.public-page-content .container{width:calc(100% - 2.5rem)}.public-page-content .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-page-content .map-image-grid{grid-template-columns:1fr}}
@media(max-width:650px){.public-page-content .contact-grid,.public-page-content .video-gallery{grid-template-columns:1fr}.public-page-content .fair-timeline article{grid-template-columns:1fr}.public-page-content .fair-timeline{padding-inline-start:1.25rem}.public-page-content .fair-timeline article::before{inset-inline-start:-1.6rem}}
@media(max-width:600px){.public-page-content .container{width:calc(100% - 2rem)}.public-page-content .page-body{padding-block:2.5rem}.public-page-content .news-grid{grid-template-columns:1fr}.public-page-content .programme-table th:first-child{width:24%}.public-page-content .programme-period{gap:.8rem}}
@media(max-width:500px){.public-page-content .photo-gallery{grid-template-columns:1fr}}

/* Read-only legacy participants, inside the shared public shell. */
.public-page-content .participant-message{padding:3rem 1.5rem;margin:0;text-align:center}
.public-page-content .participant-table{min-width:800px}
.public-page-content .participant-name{width:36%;overflow-wrap:anywhere}
.public-page-content .participant-books{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:var(--green);white-space:nowrap;text-decoration:underline;text-underline-offset:4px}
.public-page-content .participant-books svg{width:18px;height:18px}
.public-page-content .participant-pdf{font-size:.7rem;letter-spacing:.04em;padding:.15rem .35rem;background:#e8efeb;border-radius:4px;text-decoration:none}
.public-page-content .participant-books.is-disabled{opacity:.6;text-decoration:none;white-space:normal}
.public-page-content .participants-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:550px){.public-page-content .participant-pagination{padding:1rem}}


/* Section-specific geometry; materials and controls come from public-sections.css. */
.public-page-content .public-card-link{display:inline-flex;align-items:center;gap:8px;color:var(--public-green);font-size:13px;margin-block-start:auto}.public-card-link svg{width:17px;height:17px}
.public-page-content .news-card{text-decoration:none}.public-page-content .news-card h2{font-size:20px;margin-block-end:12px}
.public-page-content .honor-guest-card h2{font-size:20px}.public-page-content .honor-guest-card p{color:var(--public-muted);font-size:14px;line-height:1.8}
.public-page-content .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;font-size:17px;font-weight:500;color:var(--public-green)}
.public-page-content .faq-item summary::-webkit-details-marker{display:none}.public-page-content .faq-item summary svg{width:18px;height:18px;flex:none}
.public-page-content .faq-item[open] summary svg{transform:rotate(180deg)}.public-page-content .faq-item p{font-size:15px;line-height:1.9;color:var(--public-muted)}
.public-page-content .contact-section+.contact-section{margin-block-start:36px}
.public-page-content .contact-section>h2{margin:0 0 18px;color:var(--public-green);font-size:23px}
.public-page-content .contact-grid h3{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;color:var(--public-green);margin:0 0 12px}
.public-page-content .contact-grid h3 svg{width:19px;height:19px;flex:none}.public-page-content .contact-grid p{font-size:15px;line-height:1.9}
.public-page-content :is(.map-hall,.video-gallery article,.fair-timeline article)>h2,.public-page-content .fair-timeline h2{font-size:23px;margin:0 0 12px}
.public-page-content .photo-gallery figcaption{font-size:15px;line-height:1.8;color:var(--public-green)}
.public-page-content .timeline-description{color:var(--public-muted);font-size:15px;line-height:1.9;margin-block:12px 20px}
.public-page-content .video-gallery article h2{font-size:20px}

.public-page-content .video-gallery article{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:1rem}
.public-page-content .video-gallery article>h2{overflow-wrap:anywhere;margin:0}
.public-page-content .video-gallery .gallery-video{margin-block:0}
.public-page-content .video-gallery article>.public-button{justify-self:start;align-self:start}
