:root {
	--bcm-forest: #07513c;
	--bcm-evergreen: #062b23;
	--bcm-ink: #17241f;
	--bcm-muted: #65716b;
	--bcm-paper: #f3f0e7;
	--bcm-white: #fffdf7;
	--bcm-line: rgba(17, 42, 34, .13);
	--bcm-gold: #d0b779;
	--bcm-red: #ae2939;
	--bcm-serif: 'DM Serif Display', Georgia, 'Times New Roman', serif;
	--bcm-sans: 'Manrope', Arial, Helvetica, sans-serif;
	--bcm-width: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #050505; color: var(--bcm-ink); font-family: var(--bcm-sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body, button, input { font-family: var(--bcm-sans); }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--bcm-red); }
button, input { font: inherit; }
:focus-visible { outline: 3px solid var(--bcm-red); outline-offset: 4px; }
.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; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; padding: 12px 18px; transform: translateY(-150%); background: var(--bcm-white); color: var(--bcm-evergreen); }
.skip-link:focus { transform: translateY(0); }
.site-shell { overflow: clip; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(250, 248, 240, .76); border-bottom: 1px solid rgba(255,255,255,.6); box-shadow: 0 12px 40px rgba(5, 36, 28, .08); backdrop-filter: blur(22px) saturate(155%); -webkit-backdrop-filter: blur(22px) saturate(155%); transition: background .25s ease, border-color .25s ease, box-shadow .25s ease; }
body.home .site-header { position: fixed; top: 0; right: 0; left: 0; background: transparent; border-color: transparent; backdrop-filter: none; }
body.home.admin-bar .site-header { top: 32px; }
body.home .site-header.is-scrolled { background: rgba(248, 246, 237, .78); border-color: rgba(255,255,255,.66); box-shadow: 0 12px 42px rgba(5,36,28,.12); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); }
.header-inner { width: min(calc(100% - 72px), var(--bcm-width)); min-height: 116px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 44px; }
.site-branding { flex: 0 0 auto; display: flex; align-items: center; transition: opacity .24s ease, transform .24s ease, visibility .24s ease; }
.site-branding .wordmark-image { display: inline-flex; padding: 0; background: transparent; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { display: block; width: auto; max-width: min(260px, 24vw); max-height: 68px; object-fit: contain; }
.site-logo-image { display: block; width: auto !important; max-width: min(260px, 24vw) !important; max-height: 68px !important; height: auto !important; object-fit: contain; }
body.home .site-header:not(.is-scrolled) .site-logo-image { filter: brightness(0) invert(1); }
.wordmark { display: flex; flex-direction: column; color: var(--bcm-evergreen); text-decoration: none; line-height: 1; }
.wordmark-script { font-family: var(--bcm-serif); font-size: 28px; font-style: italic; letter-spacing: -.055em; }
.wordmark-city { margin-top: 4px; padding-left: 18px; font-size: 9px; font-weight: 700; letter-spacing: .25em; text-align: center; }
.primary-navigation { margin-left: auto; }
body.home .site-header:not(.is-scrolled) .menu-list > li > a { color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
body.home .site-header:not(.is-scrolled) .menu-list > li > a:hover { color: var(--bcm-gold); }
.menu-list, .menu-list ul { display: flex; align-items: center; gap: clamp(20px, 2.4vw, 42px); margin: 0; padding: 0; list-style: none; }
.menu-list > li { position: relative; }
.menu-list a { display: inline-flex; align-items: center; min-height: 44px; color: var(--bcm-ink); font-size: 12px; font-weight: 600; letter-spacing: .035em; text-decoration: none; }
.menu-list a:hover, .menu-list .current-menu-item > a, .menu-list .current_page_item > a { color: var(--bcm-forest); }
.menu-list .sub-menu { position: absolute; top: calc(100% - 2px); left: -18px; display: none; min-width: 220px; padding: 12px 18px; background: var(--bcm-white); box-shadow: 0 16px 35px rgba(7, 57, 47, .12); }
.menu-list li:hover > .sub-menu, .menu-list li:focus-within > .sub-menu { display: block; }
.menu-list .sub-menu a { width: 100%; }
.menu-toggle { display: none; }
.content-width { width: min(calc(100% - 72px), var(--bcm-width)); margin-inline: auto; }
.home-hero { position: relative; width: 100%; height: 100vh; height: 100svh; min-height: 720px; display: flex; align-items: center; overflow: hidden; isolation: isolate; background-color: #063d31; background-image: var(--hero-poster), radial-gradient(ellipse at 76% 38%, rgba(184,45,58,.34), transparent 28%), radial-gradient(ellipse at 72% 70%, rgba(203,183,122,.2), transparent 32%), linear-gradient(120deg, #052c25 0%, #075743 54%, #092f28 100%); background-position: center; background-size: cover; color: #fff; }
.home-hero::before { position: absolute; z-index: 1; inset: 0; content: ''; opacity: .18; pointer-events: none; background: radial-gradient(circle at 69% 26%, transparent 0 118px, rgba(247,245,239,.28) 119px 120px, transparent 121px), radial-gradient(circle at 69% 26%, transparent 0 173px, rgba(247,245,239,.17) 174px 175px, transparent 176px); }
.hero-video, .hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-video { z-index: 0; display: block; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.18); transform-origin: center; }
.hero-overlay { z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(3,30,25,.91) 0%, rgba(3,30,25,.74) 40%, rgba(3,30,25,.2) 100%), linear-gradient(0deg, rgba(3,30,25,.32), transparent 52%); }
.hero-content { position: relative; z-index: 2; width: min(calc(100% - 72px), var(--bcm-width)); margin: 0 auto; padding: 110px 0 124px; }
.hero-content .eyebrow { margin-bottom: 24px; }
.hero-brand-card { width: fit-content; max-width: min(660px, 82vw); margin: 26px 0 0; padding: 0; background: transparent; }
.hero-brand-card img { display: block; width: 100%; max-width: 620px; max-height: 220px; object-fit: contain; filter: brightness(0) invert(1); }
.hero-intro { max-width: 500px; margin: 28px 0 35px; color: rgba(255,255,255,.8); font-size: clamp(15px, 1.5vw, 19px); line-height: 1.65; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 27px; }
.hero-cta { display: inline-flex; min-height: 54px; align-items: center; gap: 22px; padding: 0 20px; background: var(--bcm-red); color: white; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; transition: background .2s ease; }
.hero-cta:hover { background: #92212d; color: white; }
.hero-cta span { color: #f3dfab; font-size: 18px; }
.hero-note { color: rgba(255,255,255,.68); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.hero-side-note { position: absolute; z-index: 2; right: 32px; bottom: 116px; display: flex; align-items: center; gap: 14px; color: rgba(255,255,255,.65); font-size: 9px; font-weight: 700; letter-spacing: .19em; writing-mode: vertical-rl; }
.hero-side-note i { width: 1px; height: 54px; background: var(--bcm-gold); }
.hero-scroll { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: flex; height: 57px; align-items: center; justify-content: center; gap: 14px; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.7); font-size: 9px; font-weight: 700; letter-spacing: .18em; text-decoration: none; text-transform: uppercase; }
.hero-scroll span:last-child { color: var(--bcm-gold); font-size: 15px; }
.edition-section { position: relative; padding: 128px 36px; background: var(--bcm-paper); }
.edition-inner { width: min(100%, 1240px); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(300px, .84fr); align-items: center; gap: clamp(55px, 9vw, 130px); }
.edition-art { position: relative; min-height: 520px; overflow: hidden; background: linear-gradient(145deg, #0b674e 0%, #064232 64%, #082e28 100%); box-shadow: 23px 23px 0 #e8e2d3; }
.edition-art::before, .edition-art::after { position: absolute; content: ''; border: 1px solid rgba(232,220,178,.42); border-radius: 50%; }
.edition-art::before { top: 50%; left: 50%; width: 76%; aspect-ratio: 1; transform: translate(-50%, -50%); }
.edition-art::after { top: 50%; left: 50%; width: 58%; aspect-ratio: 1; transform: translate(-50%, -50%); }
.edition-art.has-edition-image::before, .edition-art.has-edition-image::after { display: none; }
.edition-image { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.edition-year { position: absolute; top: 50%; left: 50%; color: rgba(237,226,190,.96); font-family: var(--bcm-serif); font-size: clamp(210px, 34vw, 410px); letter-spacing: -.09em; line-height: .72; transform: translate(-55%, -50%); }
.edition-star { position: absolute; color: #dc3341; font-size: 37px; }
.edition-star-one { top: 16%; left: 14%; }
.edition-star-two { right: 15%; bottom: 17%; font-size: 26px; color: var(--bcm-gold); }
.edition-art-label { position: absolute; right: 24px; bottom: 22px; left: 24px; display: flex; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.75); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.edition-copy { padding: 15px 0; }
.edition-copy h2 { display: flex; flex-direction: column; margin: 0; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(52px, 6.3vw, 82px); font-weight: 400; letter-spacing: -.04em; line-height: .92; }
.edition-copy h2 span { color: var(--bcm-red); }
.edition-description { max-width: 500px; margin: 26px 0 28px; color: #58645e; font-size: 16px; line-height: 1.8; }
.edition-description p { margin: 0 0 1em; }
.edition-description p:last-child { margin-bottom: 0; }
.edition-link { padding-bottom: 7px; border-bottom: 1px solid rgba(6,77,59,.27); }
.partners-section { padding: 82px 0 96px; border-block: 1px solid var(--bcm-line); background: var(--bcm-paper); color: var(--bcm-ink); }
.partners-inner { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 56px; }
.partners-heading .eyebrow { margin-bottom: 15px; }
.partners-heading h2 { max-width: 320px; margin: 0; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(38px, 5vw, 58px); font-weight: 400; letter-spacing: -.035em; line-height: 1.02; }
.organizers-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); align-items: center; gap: 18px; }
.organizer-logo { min-height: 112px; display: flex; align-items: center; justify-content: center; padding: 20px; border: 1px solid rgba(25,37,34,.08); background: #fff; }
.organizer-logo img { display: block; width: auto; max-width: 100%; max-height: 76px; object-fit: contain; }
.home-feature { position: relative; min-height: clamp(570px, 66vw, 790px); display: flex; align-items: flex-end; overflow: hidden; background: var(--bcm-evergreen); color: white; }
.home-feature-media, .home-feature-shade { position: absolute; inset: 0; }
.home-feature-image { display: block; width: 100%; height: 100%; min-height: 570px; object-fit: cover; object-position: center; }
.home-feature-placeholder { background: radial-gradient(circle at 76% 28%, rgba(203, 183, 122, .2), transparent 25%), linear-gradient(125deg, #07392f, #0b674b 65%, #0a3f35); }
.home-feature-shade { background: linear-gradient(90deg, rgba(3, 32, 26, .87) 0%, rgba(3, 32, 26, .61) 44%, rgba(3, 32, 26, .1) 100%), linear-gradient(0deg, rgba(3, 32, 26, .45), transparent 42%); }
.home-feature-content { position: relative; z-index: 1; width: min(760px, calc(100% - 72px)); margin: 0 auto 0 max(36px, calc((100% - var(--bcm-width)) / 2)); padding: 104px 0 116px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 19px; color: var(--bcm-forest); font-size: 10px; font-weight: 700; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.eyebrow-star { color: var(--bcm-red); font-size: 16px; line-height: 1; }
.eyebrow-light { color: #f1e8c9; }
.eyebrow-light .eyebrow-star { color: var(--bcm-gold); }
.home-feature h1 { max-width: 760px; margin: 0; color: #fff; font-family: var(--bcm-serif); font-size: clamp(42px, 6.2vw, 82px); font-weight: 400; letter-spacing: -.045em; line-height: 1.02; }
.home-feature h1 a { color: inherit; text-decoration: none; }
.feature-excerpt { max-width: 570px; margin: 26px 0 29px; color: rgba(255,255,255,.86); font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; }
.text-link { display: inline-flex; align-items: center; gap: 17px; color: var(--bcm-forest); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.text-link span:last-child { color: var(--bcm-red); font-size: 16px; transition: transform .2s ease; }
.text-link:hover span:last-child { transform: translate(3px, -3px); }
.text-link-light { color: #fff; }
.text-link-light span:last-child { color: var(--bcm-gold); }
.feature-caption { position: absolute; z-index: 1; right: max(36px, calc((100% - var(--bcm-width)) / 2)); bottom: 26px; left: max(36px, calc((100% - var(--bcm-width)) / 2)); display: flex; justify-content: space-between; gap: 20px; color: rgba(255,255,255,.7); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.latest-section { padding-top: 112px; padding-bottom: 124px; background: #082f28; color: #fff; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 37px; }
.section-heading .eyebrow { margin-bottom: 11px; }
.section-heading h2, .listing-heading h1, .page-heading h1 { margin: 0; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(38px, 5vw, 58px); font-weight: 400; letter-spacing: -.04em; line-height: 1.08; }
.latest-section .section-heading .eyebrow { color: #d9cfae; }
.latest-section .section-heading h2 { color: #fff; }
.latest-section .section-heading > .text-link { color: rgba(255,255,255,.82); }
.latest-section .section-heading > .text-link span:last-child { color: var(--bcm-gold); }
.section-heading > .text-link { margin-bottom: 8px; }
.story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px 30px; }
.story-card { min-width: 0; }
.story-card-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.48; background: #e4e5dc; text-decoration: none; }
.story-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s cubic-bezier(.2,.7,.2,1); }
.story-card:hover .story-card-image img { transform: scale(1.035); }
.card-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--bcm-forest); font-size: 42px; background: radial-gradient(circle, #f4eddb, #dce6dd); }
.story-card-copy { padding-top: 21px; }
.story-meta, .article-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; color: var(--bcm-muted); font-size: 10px; font-weight: 600; letter-spacing: .12em; line-height: 1.6; text-transform: uppercase; }
.latest-section .story-meta { color: rgba(255,255,255,.58); }
.meta-divider { color: var(--bcm-red); }
.story-card h3 { margin: 11px 0 10px; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(22px, 2vw, 29px); font-weight: 400; letter-spacing: -.025em; line-height: 1.2; }
.latest-section .story-card h3, .latest-section .story-card h3 a { color: #fff; }
.story-card h3 a { text-decoration: none; }
.story-card-copy > p { min-height: 4.8em; margin: 0 0 18px; color: #58645e; font-size: 14px; line-height: 1.65; }
.latest-section .story-card-copy > p { color: rgba(255,255,255,.72); }
.latest-section .story-card .text-link { color: #f7f3e8; }
.latest-section .story-card .text-link span:last-child { color: var(--bcm-gold); }
.home-signoff { background: var(--bcm-evergreen); color: white; }
.signoff-inner { width: min(calc(100% - 72px), 900px); min-height: 230px; margin-inline: auto; display: flex; align-items: center; justify-content: center; gap: 28px; text-align: center; }
.signoff-star { color: var(--bcm-gold); font-size: 30px; }
.signoff-inner p { max-width: 610px; margin: 0; color: #f7f3e8; font-family: var(--bcm-serif); font-size: clamp(27px, 3.4vw, 42px); line-height: 1.2; }
.signoff-rule { width: 1px; height: 44px; background: var(--bcm-gold); }
.listing-main { padding-top: 94px; padding-bottom: 120px; }
.listing-heading { max-width: 780px; margin-bottom: 56px; }
.listing-heading .eyebrow, .page-heading .eyebrow { margin-bottom: 18px; }
.listing-intro, .page-intro { max-width: 620px; margin: 20px 0 0; color: var(--bcm-muted); font-family: var(--bcm-serif); font-size: 21px; line-height: 1.5; }
.story-grid-listing { row-gap: 58px; }
.page-main { padding-top: 84px; padding-bottom: 120px; }
.page-article { max-width: 100%; }
.page-heading { max-width: 850px; margin: 0 auto 46px; text-align: center; }
.page-heading .eyebrow { justify-content: center; }
.page-featured-image { width: min(calc(100% - 72px), var(--bcm-width)); margin: 0 auto 55px; }
.page-featured-image img { display: block; width: 100%; max-height: 690px; object-fit: cover; }
.entry-content { width: min(calc(100% - 48px), 740px); margin-inline: auto; color: #37433d; font-size: 17px; line-height: 1.85; }
.entry-content > :first-child { margin-top: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 1.8em; margin-bottom: .6em; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-weight: 400; line-height: 1.18; }
.entry-content h2 { font-size: clamp(30px, 4vw, 42px); }
.entry-content h3 { font-size: 29px; }
.entry-content p { margin-block: 0 1.45em; }
.entry-content a { color: var(--bcm-forest); text-decoration-color: var(--bcm-gold); text-decoration-thickness: 1px; text-underline-offset: .22em; }
.entry-content figure { margin: 2.4em 0; }
.entry-content figure img { display: block; width: 100%; height: auto; }
.entry-content figcaption { margin-top: 10px; color: var(--bcm-muted); font-size: 12px; line-height: 1.5; }
.entry-content blockquote { margin: 2em 0; padding: 4px 0 4px 25px; border-left: 2px solid var(--bcm-red); color: var(--bcm-forest); font-family: var(--bcm-serif); font-size: 24px; line-height: 1.4; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content li { margin-bottom: .4em; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.entry-content th, .entry-content td { padding: 12px; border: 1px solid var(--bcm-line); text-align: left; }
.entry-content .wp-block-gallery { gap: 12px; }
.entry-content .wp-block-embed { margin-block: 2em; }
.entry-content .wp-block-embed iframe, .entry-content iframe { max-width: 100%; }
.entry-content .alignwide { width: min(100vw - 56px, 1000px); max-width: 1000px; margin-left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.article-main { padding-bottom: 20px; }
.article-heading { max-width: 920px; padding-top: 83px; padding-bottom: 41px; text-align: center; }
.article-meta { justify-content: center; margin-bottom: 20px; }
.article-meta a { color: var(--bcm-forest); text-decoration: none; }
.article-heading h1 { margin: 0 auto; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(42px, 6vw, 76px); font-weight: 400; letter-spacing: -.045em; line-height: 1.04; }
.article-deck { max-width: 720px; margin: 23px auto 0; color: #59655f; font-family: var(--bcm-serif); font-size: clamp(19px, 2vw, 24px); line-height: 1.48; }
.article-byline { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 23px; color: var(--bcm-muted); font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.byline-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--bcm-red); }
.article-cover { width: min(calc(100% - 72px), 1400px); max-height: 780px; margin: 0 auto 64px; overflow: hidden; background: #e4e5dc; }
.article-cover img { display: block; width: 100%; max-height: 780px; object-fit: cover; }
.article-content { font-size: 18px; }
.article-end { display: flex; align-items: center; gap: 15px; margin-top: 64px; padding: 24px 0 70px; border-top: 1px solid var(--bcm-line); color: var(--bcm-muted); font-family: var(--bcm-serif); font-size: 18px; }
.article-end p { margin: 0; }
.article-end-mark { color: var(--bcm-red); font-size: 20px; }
.related-section { padding-top: 48px; padding-bottom: 112px; border-top: 1px solid var(--bcm-line); }
.related-section .section-heading h2 { font-size: clamp(34px, 4vw, 46px); }
.story-grid-related { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.story-grid-related .story-card-copy > p { min-height: 0; }
.not-found { min-height: 68vh; padding-top: 120px; padding-bottom: 120px; }
.not-found h1 { max-width: 760px; margin: 0; color: var(--bcm-evergreen); font-family: var(--bcm-serif); font-size: clamp(44px, 7vw, 82px); font-weight: 400; letter-spacing: -.05em; line-height: 1.03; }
.not-found > p:not(.eyebrow) { max-width: 540px; margin: 25px 0 28px; color: var(--bcm-muted); font-size: 17px; }
.button-link { display: inline-flex; align-items: center; gap: 18px; margin-top: 24px; padding: 13px 18px; background: var(--bcm-forest); color: white; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.button-link:hover { background: var(--bcm-evergreen); color: white; }
.button-link span { color: var(--bcm-gold); }
.search-form { display: flex; max-width: 540px; margin-top: 26px; border-bottom: 1px solid rgba(25,37,34,.35); }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 52px; border: 0; outline: 0; background: transparent; color: var(--bcm-ink); }
.search-submit { display: inline-flex; align-items: center; gap: 14px; border: 0; background: none; color: var(--bcm-forest); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.search-submit span:last-child { color: var(--bcm-red); font-size: 16px; }
.listing-heading .search-form { margin-top: 30px; }
.nav-links { display: flex; justify-content: space-between; gap: 20px; margin-top: 65px; padding-top: 23px; border-top: 1px solid var(--bcm-line); }
.nav-links a { color: var(--bcm-forest); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.site-footer { background: #050505; color: #fff; }
.footer-inner { width: min(calc(100% - 72px), var(--bcm-width)); margin-inline: auto; padding: 66px 0 26px; }
.footer-main { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 84px); align-items: start; }
.footer-brand { display: flex; align-items: flex-start; flex-direction: column; gap: 22px; }
.footer-logo-link { display: block; width: 172px; mix-blend-mode: screen; }
.footer-logo-link img { display: block; width: 100%; height: auto; filter: invert(1); }
.footer-social { display: flex; align-items: center; gap: 10px; }
.footer-social a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.3); color: #fff; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.footer-social a:hover { border-color: #fff; background: #fff; color: #050505; }
.footer-social svg { display: block; width: 18px; height: 18px; }
.footer-heading { margin: 0 0 20px; color: #fff; font-family: var(--bcm-serif); font-size: clamp(22px, 2.2vw, 29px); font-weight: 400; letter-spacing: -.025em; line-height: 1.15; }
.footer-contact address { color: rgba(255,255,255,.78); font-size: 14px; font-style: normal; line-height: 1.8; }
.footer-contact address p { margin: 0 0 13px; }
.footer-contact address a, .footer-email-list a { color: #fff; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: .2em; }
.footer-contact address a:hover, .footer-email-list a:hover, .footer-legal a:hover { color: #d9cfae; }
.footer-contact address span { color: rgba(255,255,255,.62); }
.footer-email-list { display: grid; gap: 15px; margin: 0; padding: 0; list-style: none; }
.footer-email-list li { display: grid; gap: 4px; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.5; }
.footer-email-list a { width: fit-content; font-size: 14px; }
.footer-bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-top: 54px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.2); }
.footer-legal { display: flex; flex-wrap: wrap; gap: 10px 25px; }
.footer-legal a { color: rgba(255,255,255,.78); font-size: 11px; text-decoration: none; transition: color .2s ease; }
.footer-copyright { margin: 0; color: rgba(255,255,255,.68); font-size: 11px; white-space: nowrap; }
.page-links { margin-top: 40px; }
@media (min-width: 761px) {
	body.home .site-header:not(.is-scrolled) .site-branding { visibility: hidden; opacity: 0; transform: translateY(-8px); }
	body.home .site-header.is-scrolled .site-branding { visibility: visible; opacity: 1; transform: translateY(0); }
}
@media (min-width: 981px) {
	.hero-brand-card { width: min(430px, 48vw); max-width: none; }
	.hero-brand-card img { width: 100%; max-width: none; max-height: 420px; }
	.footer-main { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(150px, .6fr); }
	.footer-brand { grid-column: 3; grid-row: 1; align-items: flex-end; justify-self: end; }
	.footer-contact { grid-column: 1; grid-row: 1; }
	.footer-emails { grid-column: 2; grid-row: 1; }
}
@media (max-width: 980px) {
	.header-inner { width: min(calc(100% - 72px), var(--bcm-width)); min-height: 100px; }
	.menu-list { gap: 18px; }
	.menu-list a { font-size: 11px; }
	.custom-logo { max-width: min(220px, 26vw); max-height: 64px; }
	.site-logo-image { max-width: min(220px, 26vw) !important; max-height: 62px !important; }
	.home-hero { height: 100vh; height: 100svh; min-height: 720px; }
	.home-feature { min-height: 650px; }
	.home-feature-content { padding-bottom: 115px; }
	.story-grid { gap: 42px 22px; }
	.edition-inner { gap: 54px; }
	.edition-art { min-height: 440px; }
	.partners-inner { grid-template-columns: .8fr 1.2fr; gap: 34px; }
	.organizers-grid { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
}
@media (max-width: 760px) {
	html { scroll-behavior: auto; }
	.header-inner { position: relative; width: calc(100% - 40px); min-height: 88px; gap: 18px; }
	body.home.admin-bar .site-header { top: 46px; }
	body.home .site-branding { display: none; }
	body.home .site-header.is-scrolled .site-branding { display: flex; }
	body.home .header-inner { min-height: 82px; }
	body.home .menu-toggle { color: #fff; border-color: rgba(255,255,255,.58); }
	body.home .site-header.is-scrolled .menu-toggle { color: var(--bcm-evergreen); border-color: var(--bcm-line); }
	body.home .primary-navigation.is-open { background: var(--bcm-white); }
	body.home .site-header .primary-navigation.is-open .menu-list > li > a { color: var(--bcm-ink); text-shadow: none; }
	.custom-logo { max-width: min(190px, 50vw); max-height: 54px; }
	.site-logo-image { max-width: min(190px, 50vw) !important; max-height: 54px !important; }
	.wordmark-script { font-size: 24px; }
	.menu-toggle { width: 46px; height: 46px; display: none; place-items: center; margin-left: auto; border: 1px solid var(--bcm-line); background: transparent; color: var(--bcm-evergreen); cursor: pointer; }
	.has-js .menu-toggle { display: grid; }
	.menu-toggle-lines { display: flex; width: 18px; flex-direction: column; gap: 5px; }
	.menu-toggle-lines span { display: block; height: 1px; background: currentColor; }
	.primary-navigation { position: absolute; top: 100%; right: -20px; left: -20px; display: block; padding: 8px 24px 22px; background: var(--bcm-white); border-top: 1px solid var(--bcm-line); box-shadow: 0 20px 25px rgba(7,57,47,.1); }
	.has-js .primary-navigation { display: none; }
	.has-js .primary-navigation.is-open { display: block; }
	.menu-list, .menu-list ul { display: flex; align-items: stretch; flex-direction: column; gap: 0; }
	.menu-list > li { border-bottom: 1px solid var(--bcm-line); }
	.menu-list a { min-height: 48px; font-size: 13px; }
	.menu-list .sub-menu { position: static; display: block; padding: 0 0 6px 18px; background: transparent; box-shadow: none; }
	.content-width { width: calc(100% - 40px); }
	.home-hero { height: 100vh; height: 100svh; min-height: 640px; background-position: 60% center; }
	.hero-video { transform: scale(1.48); object-position: 50% 50%; }
	.hero-content { width: calc(100% - 40px); padding: 150px 0 118px; }
	.hero-brand-card { max-width: min(460px, 88vw); margin-top: 22px; padding: 0; }
	.hero-brand-card img { max-height: 170px; }
	.home-hero h1 { max-width: 600px; font-size: clamp(60px, 13.5vw, 92px); }
	.hero-intro { max-width: 390px; margin: 24px 0 29px; }
	.hero-side-note { right: 14px; bottom: 114px; font-size: 7px; }
	.hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
	.edition-section { padding: 78px 20px 88px; }
	.edition-inner { grid-template-columns: 1fr; gap: 46px; }
	.edition-art { min-height: 410px; box-shadow: 12px 12px 0 #e8e2d3; }
	.edition-year { font-size: clamp(220px, 72vw, 340px); }
	.edition-copy { padding: 0 3px; }
	.edition-copy h2 { font-size: 66px; }
	.partners-section { padding: 66px 0 72px; }
	.partners-inner { grid-template-columns: 1fr; gap: 30px; }
	.partners-heading h2 { max-width: 500px; font-size: 44px; }
	.organizers-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
	.organizer-logo { min-height: 86px; padding: 14px; }
	.organizer-logo img { max-height: 58px; }
	.home-feature { min-height: 690px; }
	.home-feature-image { min-height: 690px; }
	.home-feature-shade { background: linear-gradient(0deg, rgba(3,32,26,.92), rgba(3,32,26,.12) 92%); }
	.home-feature-content { width: calc(100% - 40px); margin: 0 auto; padding: 130px 0 110px; }
	.home-feature h1 { font-size: clamp(43px, 12vw, 67px); }
	.feature-excerpt { margin-top: 20px; font-size: 15px; }
	.feature-caption { right: 20px; bottom: 18px; left: 20px; font-size: 8px; }
	.latest-section { padding-top: 73px; padding-bottom: 78px; }
	.section-heading { align-items: flex-start; flex-direction: column; gap: 20px; margin-bottom: 28px; }
	.section-heading h2, .listing-heading h1, .page-heading h1 { font-size: clamp(36px, 10vw, 48px); }
	.story-grid, .story-grid-related { grid-template-columns: 1fr; gap: 36px; }
	.story-card-image { aspect-ratio: 1.42; }
	.story-card-copy { padding-top: 16px; }
	.story-card h3 { font-size: 27px; }
	.story-card-copy > p { min-height: 0; }
	.signoff-inner { width: calc(100% - 40px); min-height: 190px; gap: 14px; }
	.signoff-star { font-size: 21px; }
	.signoff-inner p { font-size: 28px; }
	.signoff-rule { height: 34px; }
	.listing-main, .page-main { padding-top: 65px; padding-bottom: 82px; }
	.listing-heading { margin-bottom: 36px; }
	.listing-intro, .page-intro { font-size: 19px; }
	.page-heading { margin-bottom: 32px; }
	.page-featured-image, .article-cover { width: 100%; margin-bottom: 40px; }
	.entry-content { width: calc(100% - 40px); font-size: 16px; line-height: 1.78; }
	.entry-content .alignwide, .entry-content .alignfull { width: 100%; max-width: 100%; margin-left: 0; transform: none; }
	.article-heading { width: calc(100% - 40px); padding-top: 62px; padding-bottom: 31px; }
	.article-heading h1 { font-size: clamp(39px, 11vw, 58px); }
	.article-deck { font-size: 20px; }
	.article-cover { max-height: 540px; }
	.article-cover img { max-height: 540px; }
	.article-content { font-size: 17px; }
	.article-end { margin-top: 40px; padding: 20px 0 48px; }
	.related-section { padding-top: 34px; padding-bottom: 76px; }
	.not-found { min-height: 65vh; padding-top: 95px; padding-bottom: 90px; }
	.footer-inner { width: calc(100% - 40px); padding-top: 48px; }
	.footer-main { grid-template-columns: 1fr 1fr; gap: 36px 28px; }
	.footer-brand { grid-column: 1 / -1; align-items: center; }
	.footer-logo-link { width: 142px; }
	.footer-contact, .footer-emails { min-width: 0; }
	.footer-bottom { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 40px; }
	.footer-copyright { white-space: normal; }
}
/* Cinematic editorial treatment: restrained glass, deeper shadows and warm light. */
/* Clearer navigation and a short emotional invitation in the hero. */
.menu-list a { min-height: 50px; font-size: 14px; font-weight: 650; letter-spacing: .025em; }
.hero-hook { max-width: 660px; margin: 24px 0 0; color: #fffdf7; font-family: var(--bcm-serif); font-size: clamp(24px, 3vw, 38px); line-height: 1.18; letter-spacing: -.025em; text-wrap: balance; text-shadow: 0 3px 24px rgba(0,0,0,.28); }
.hero-intro { margin-top: 18px; }
@media (max-width: 760px) {
  .menu-list a { min-height: 54px; font-size: 15px; }
  .hero-hook { max-width: 390px; margin-top: 20px; font-size: clamp(23px, 6.2vw, 29px); line-height: 1.23; }
  .hero-intro { margin-top: 16px; }
}

:focus-visible { outline-color: var(--bcm-gold); box-shadow: 0 0 0 6px rgba(208,183,121,.18); }
a, button { -webkit-tap-highlight-color: rgba(208,183,121,.2); }
.site-header { box-shadow: 0 14px 44px rgba(5,36,28,.1), inset 0 1px rgba(255,255,255,.7); }
.menu-list .sub-menu { border: 1px solid rgba(255,255,255,.66); border-radius: 12px; background: rgba(250,248,240,.82); box-shadow: 0 20px 54px rgba(5,36,28,.18), inset 0 1px rgba(255,255,255,.8); backdrop-filter: blur(20px) saturate(150%); -webkit-backdrop-filter: blur(20px) saturate(150%); }
.menu-list a { transition: color .2s ease, opacity .2s ease; }
.menu-list a:hover, .menu-list .current-menu-item > a, .menu-list .current_page_item > a { color: var(--bcm-red); }
.home-hero::before { opacity: .25; background: radial-gradient(circle at 72% 24%, transparent 0 118px, rgba(247,245,239,.34) 119px 120px, transparent 121px), radial-gradient(circle at 72% 24%, transparent 0 174px, rgba(247,245,239,.2) 175px 176px, transparent 177px); }
.home-hero::after { position: absolute; z-index: 1; inset: 0; content: ''; pointer-events: none; background: radial-gradient(ellipse at 58% 44%, transparent 24%, rgba(2,20,17,.19) 100%), linear-gradient(180deg, rgba(2,20,17,.16), transparent 26%, transparent 70%, rgba(2,20,17,.32)); }
.hero-overlay { background: linear-gradient(90deg, rgba(3,25,21,.84) 0%, rgba(3,25,21,.59) 43%, rgba(3,25,21,.13) 100%), linear-gradient(0deg, rgba(3,25,21,.34), transparent 55%); }
.hero-content { text-shadow: 0 2px 24px rgba(0,0,0,.22); }
.hero-brand-card img { filter: brightness(0) invert(1) drop-shadow(0 12px 34px rgba(0,0,0,.25)); }
.hero-cta { border: 1px solid rgba(255,255,255,.3); border-radius: 3px; background: linear-gradient(135deg, rgba(174,41,57,.96), rgba(128,25,39,.94)); box-shadow: 0 12px 34px rgba(102,16,30,.25), inset 0 1px rgba(255,255,255,.22); backdrop-filter: blur(12px); }
.hero-cta:hover { background: linear-gradient(135deg, #c43b4d, #92212d); box-shadow: 0 16px 42px rgba(102,16,30,.34), inset 0 1px rgba(255,255,255,.25); }
.hero-scroll { border-top-color: rgba(255,255,255,.28); background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(3,25,21,.24)); backdrop-filter: blur(8px); }
.edition-section { background: radial-gradient(ellipse at 84% 18%, rgba(208,183,121,.14), transparent 31%), linear-gradient(135deg, #f3f0e7, #f8f6ef 52%, #eeeade); }
.edition-art { border: 1px solid rgba(255,255,255,.52); border-radius: 18px; box-shadow: 0 34px 80px rgba(5,42,32,.2), 14px 14px 0 rgba(208,183,121,.27), inset 0 1px rgba(255,255,255,.22); }
.edition-art::before, .edition-art::after { border-color: rgba(245,232,194,.48); }
.edition-copy { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(255,255,255,.76); border-radius: 18px; background: linear-gradient(140deg, rgba(255,255,255,.72), rgba(255,253,247,.46)); box-shadow: 0 28px 80px rgba(13,48,38,.1), inset 0 1px rgba(255,255,255,.9); backdrop-filter: blur(22px) saturate(145%); -webkit-backdrop-filter: blur(22px) saturate(145%); }
.edition-copy::before { position: absolute; top: 0; right: 0; width: 180px; height: 180px; content: ''; pointer-events: none; background: radial-gradient(circle at top right, rgba(208,183,121,.2), transparent 70%); }
.edition-copy > * { position: relative; }
.edition-description { color: #4f5e57; }
.edition-link { border-color: rgba(6,77,59,.3); }
.partners-section { background: radial-gradient(ellipse at 78% 15%, rgba(208,183,121,.12), transparent 28%), linear-gradient(120deg, #f3f0e7, #faf8f2 56%, #eeeade); }
.organizer-logo { border-color: rgba(255,255,255,.9); border-radius: 12px; background: rgba(255,255,255,.68); box-shadow: 0 14px 38px rgba(6,43,35,.055), inset 0 1px rgba(255,255,255,.96); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.organizer-logo:hover { transform: translateY(-4px); background: rgba(255,255,255,.9); box-shadow: 0 22px 48px rgba(6,43,35,.1), inset 0 1px #fff; }
.latest-section { position: relative; isolation: isolate; background: radial-gradient(ellipse at 82% 8%, rgba(208,183,121,.12), transparent 27%), radial-gradient(ellipse at 3% 92%, rgba(23,101,76,.32), transparent 38%), linear-gradient(125deg, #041e19, #082f28 50%, #062720); }
.latest-section::before { position: absolute; z-index: -1; inset: 0; content: ''; pointer-events: none; border-block: 1px solid rgba(255,255,255,.08); background: linear-gradient(115deg, transparent 15%, rgba(255,255,255,.025) 48%, transparent 78%); }
.latest-section .story-card { overflow: hidden; padding: 9px 9px 18px; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035)); box-shadow: 0 22px 58px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.12); backdrop-filter: blur(18px) saturate(130%); -webkit-backdrop-filter: blur(18px) saturate(130%); transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease; }
.latest-section .story-card:hover { transform: translateY(-6px); border-color: rgba(208,183,121,.42); box-shadow: 0 30px 70px rgba(0,0,0,.25), inset 0 1px rgba(255,255,255,.16); }
.latest-section .story-card-image { border-radius: 10px; }
.latest-section .story-card-copy { padding: 22px 17px 0; }
.latest-section .story-card h3 { text-wrap: balance; }
.latest-section .story-card .text-link { color: #f6edda; }
.latest-section .story-card .text-link span:last-child { color: var(--bcm-gold); }
.story-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.82); border-radius: 15px; background: rgba(255,253,247,.76); box-shadow: 0 20px 54px rgba(10,45,35,.08), inset 0 1px rgba(255,255,255,.92); backdrop-filter: blur(16px) saturate(135%); -webkit-backdrop-filter: blur(16px) saturate(135%); transition: transform .3s ease, box-shadow .3s ease; }
.story-card:hover { transform: translateY(-5px); box-shadow: 0 28px 64px rgba(10,45,35,.14), inset 0 1px #fff; }
.story-card-image { background: linear-gradient(135deg, #d4d7cc, #eeeadc); }
.story-card-copy { padding: 22px 22px 24px; }
.story-card h3 { text-wrap: balance; }
.story-card-copy > p { min-height: 4.8em; }
.latest-section .story-card-copy > p { min-height: 4.8em; }
.home-feature { isolation: isolate; }
.home-feature-image { filter: saturate(.88) contrast(1.04); }
.home-feature-shade { background: linear-gradient(90deg, rgba(3,25,21,.86) 0%, rgba(3,25,21,.56) 47%, rgba(3,25,21,.13) 100%), linear-gradient(0deg, rgba(3,25,21,.48), transparent 47%); }
.feature-caption { padding: 13px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 4px; background: rgba(6,35,28,.35); backdrop-filter: blur(12px); }
.listing-heading { position: relative; overflow: hidden; padding: clamp(28px, 4.5vw, 58px); border: 1px solid rgba(255,255,255,.84); border-radius: 18px; background: linear-gradient(140deg, rgba(255,255,255,.7), rgba(255,253,247,.45)); box-shadow: 0 26px 72px rgba(11,47,36,.08), inset 0 1px rgba(255,255,255,.94); backdrop-filter: blur(20px) saturate(145%); -webkit-backdrop-filter: blur(20px) saturate(145%); }
.listing-heading::after, .page-heading::after, .article-heading::after { position: absolute; top: -100px; right: -80px; width: 300px; height: 300px; content: ''; pointer-events: none; background: radial-gradient(circle, rgba(208,183,121,.17), transparent 68%); }
.listing-heading > *, .page-heading > *, .article-heading > * { position: relative; z-index: 1; }
.listing-heading h1, .page-heading h1, .article-heading h1 { text-wrap: balance; }
.listing-intro, .page-intro { color: #54635b; }
.story-grid-listing { gap: 30px; }
.article-heading, .page-heading { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.88); border-radius: 20px; background: linear-gradient(140deg, rgba(255,255,255,.76), rgba(255,253,247,.5)); box-shadow: 0 28px 78px rgba(8,44,34,.1), inset 0 1px rgba(255,255,255,.96); backdrop-filter: blur(22px) saturate(145%); -webkit-backdrop-filter: blur(22px) saturate(145%); }
.article-heading { margin: 58px auto 0; padding: clamp(32px, 5vw, 68px) clamp(24px, 5vw, 70px) 42px; }
.article-heading h1 { position: relative; z-index: 1; }
.article-meta { color: #58665e; }
.article-cover { position: relative; margin-top: -16px; border: 1px solid rgba(255,255,255,.78); border-radius: 0 0 18px 18px; box-shadow: 0 30px 80px rgba(5,37,28,.2); }
.article-cover::after { position: absolute; inset: 45% 0 0; content: ''; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(3,25,21,.24)); }
.article-content, .page-main .entry-content { padding: clamp(24px, 4.4vw, 58px); border: 1px solid rgba(255,255,255,.88); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.72), rgba(255,253,247,.48)); box-shadow: 0 24px 68px rgba(9,43,34,.08), inset 0 1px rgba(255,255,255,.92); backdrop-filter: blur(20px) saturate(135%); -webkit-backdrop-filter: blur(20px) saturate(135%); }
.article-content { color: #2c3b34; }
.entry-content h2, .entry-content h3, .entry-content h4 { text-wrap: balance; }
.article-content blockquote { border-left-color: var(--bcm-gold); color: var(--bcm-evergreen); }
.page-featured-image { overflow: hidden; border: 1px solid rgba(255,255,255,.82); border-radius: 18px; box-shadow: 0 28px 72px rgba(8,44,34,.13); }
.article-end { border-color: rgba(6,43,35,.13); }
.related-section { border-color: rgba(6,43,35,.15); }
.search-form { padding: 0 16px; border: 1px solid rgba(255,255,255,.82); border-radius: 8px; background: rgba(255,253,247,.66); box-shadow: inset 0 1px rgba(255,255,255,.9), 0 12px 34px rgba(9,43,34,.06); backdrop-filter: blur(14px); }
.search-field { color: var(--bcm-ink); }
.search-submit { color: var(--bcm-evergreen); }
.button-link { border: 1px solid rgba(255,255,255,.2); border-radius: 4px; background: linear-gradient(135deg, #07513c, #062b23); box-shadow: 0 10px 30px rgba(6,43,35,.15), inset 0 1px rgba(255,255,255,.13); }
.pagination .page-numbers, .nav-links a { border-color: rgba(6,43,35,.15); }
.site-footer { position: relative; isolation: isolate; background: radial-gradient(ellipse at 84% 0%, rgba(208,183,121,.12), transparent 29%), radial-gradient(ellipse at 4% 100%, rgba(7,81,60,.25), transparent 34%), #050505; }
.site-footer::before { position: absolute; z-index: -1; top: 0; right: 0; left: 0; height: 1px; content: ''; background: linear-gradient(90deg, transparent, rgba(208,183,121,.65), rgba(255,255,255,.18), transparent); }
.footer-logo-link { filter: drop-shadow(0 14px 30px rgba(0,0,0,.26)); }
.footer-social a { border-radius: 50%; background: rgba(255,255,255,.025); backdrop-filter: blur(10px); }
.footer-bottom { border-top-color: rgba(255,255,255,.15); }
.text-link, .footer-legal a, .footer-email-list a, .footer-contact address a { transition: color .2s ease, text-decoration-color .2s ease; }
::selection { background: rgba(208,183,121,.42); color: var(--bcm-evergreen); }
@supports not (backdrop-filter: blur(1px)) {
	.site-header, .menu-list .sub-menu, .edition-copy, .organizer-logo, .latest-section .story-card, .story-card, .listing-heading, .page-heading, .article-heading, .article-content, .page-main .entry-content, .search-form { background-color: rgba(255,253,247,.94); }
	.latest-section .story-card { background-color: #103a30; }
}
@media (prefers-reduced-transparency: reduce) {
	.site-header, .menu-list .sub-menu, .edition-copy, .organizer-logo, .latest-section .story-card, .story-card, .listing-heading, .page-heading, .article-heading, .article-content, .page-main .entry-content, .search-form { backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (max-width: 760px) {
	.article-heading { margin-top: 35px; }
	.article-cover { margin-top: -8px; border-radius: 0 0 14px 14px; }
	.story-card-copy { padding: 20px 18px 22px; }
	.latest-section .story-card-copy { padding: 21px 16px 0; }
	.listing-heading { padding: 27px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Draw link arrows as SVG so iOS never substitutes colorful emoji glyphs. */
.link-arrow { display: inline-flex; align-items: center; justify-content: center; flex: none; line-height: 1; }
.link-arrow svg { display: block; width: 18px; height: 18px; }
.hero-cta .link-arrow svg { width: 20px; height: 20px; }
.hero-scroll .link-arrow svg { width: 17px; height: 17px; }

/* Continuous cinematic handoff from the video to the warm edition section. */
.home-hero::after { background: radial-gradient(ellipse at 58% 44%, transparent 24%, rgba(2,20,17,.19) 100%), linear-gradient(180deg, rgba(2,20,17,.16), transparent 26%, transparent 76%, #062b23 100%); }
.edition-section { z-index: 3; padding-top: 36px; background: radial-gradient(ellipse at 84% 42%, rgba(208,183,121,.12), transparent 40%), linear-gradient(180deg, #062b23 0, #385148 60px, #b9c0af 140px, #eeeade 245px, #f3f0e7 360px, #f8f6ef 100%); }
.edition-inner { position: relative; align-items: start; }
.edition-art { transition: transform 1.1s cubic-bezier(.2,.7,.2,1), opacity 1.1s ease; }
.edition-section.transition-ready:not(.transition-visible) .edition-art { transform: translateY(28px); opacity: .75; }
@media (min-width: 981px) {
 .edition-section { padding-top: 0; }
 .edition-art { margin-top: -64px; min-height: 560px; }
 .edition-copy { margin-top: 88px; }
 .hero-scroll { left: 58%; right: 36px; width: auto; border: 0; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
@media (max-width: 760px) {
 .edition-section { padding-top: 30px; background: linear-gradient(180deg, #062b23 0, #627367 90px, #d9ddce 180px, #f3f0e7 290px, #f8f6ef 100%); }
 .edition-art { box-shadow: 0 24px 56px rgba(5,42,32,.22), 8px 8px 0 rgba(208,183,121,.2); }
}
@media (prefers-reduced-motion: reduce) {
 .edition-section.transition-ready:not(.transition-visible) .edition-art { transform: none; opacity: 1; }
}

/* Edition campaign: generous photographs, floating glass details and editorial type. */
.edition-inner { grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr); gap: clamp(32px,5vw,76px); }
.edition-art-pair { min-width: 0; min-height: 0; overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
.edition-art-pair > .edition-image { position: relative; inset: auto; display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid rgba(255,255,255,.3); border-radius: 14px; box-shadow: 0 24px 65px rgba(5,42,32,.22); }
.edition-art-pair .edition-art-label { top: 22px; bottom: auto; color: #fff; text-shadow: 0 1px 8px #000; }
.edition-event-meta { position: relative; z-index: 2; width: calc(100% - 40px); margin: -42px auto 30px; padding: 23px 25px; border: 1px solid rgba(255,255,255,.38); border-radius: 10px; background: linear-gradient(125deg, rgba(10,42,33,.85), rgba(10,42,33,.7)); color: #fffdf7; box-shadow: 0 16px 40px rgba(5,30,24,.18), inset 0 1px rgba(255,255,255,.16); backdrop-filter: blur(22px) saturate(140%); -webkit-backdrop-filter: blur(22px) saturate(140%); }
.edition-event-date { margin: 0 0 8px; font-size: clamp(14px,1.3vw,17px); font-weight: 650; line-height: 1.5; letter-spacing: -.015em; }
.edition-event-place { display: flex; align-items: center; gap: 9px; margin: 0; color: #e6d4a6; font-size: 11px; letter-spacing: .055em; }
.edition-event-place > span { flex: none; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.edition-photo-details { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 20px; padding: 0; }
.edition-photo-details .edition-image-secondary, .edition-image-third { display: block; position: relative; width: 100%; height: auto; margin: 0; border: 1px solid rgba(255,255,255,.8); border-radius: 10px; box-shadow: 0 16px 38px rgba(5,42,32,.14); }
.edition-photo-details .edition-image-secondary { margin-top: 32px; }
.edition-copy { padding: clamp(28px,3.2vw,44px); border-radius: 14px; background: linear-gradient(145deg,rgba(255,253,247,.88),rgba(255,253,247,.46)); border-color: rgba(255,255,255,.76); box-shadow: 0 24px 65px rgba(13,48,38,.07), inset 0 1px rgba(255,255,255,.85); }
.edition-copy > .eyebrow { margin-bottom: 22px; }
.edition-copy h2 { display: block; font-size: clamp(36px,3.4vw,48px); line-height: 1; }
.edition-copy h2 span { display: block; margin-top: 3px; font-size: clamp(100px,10vw,142px); line-height: .92; letter-spacing: -.06em; color: var(--bcm-evergreen); }
.edition-description { max-width: none; margin-top: 30px; color: #526157; font-size: 15px; line-height: 1.85; }
.edition-description p { margin-bottom: 1.35em; }
.edition-description p:first-child { color: var(--bcm-evergreen); font-size: 18px; line-height: 1.65; font-weight: 500; }
.edition-link { display: flex; justify-content: space-between; padding: 17px 0 12px; border-top: 1px solid rgba(6,43,35,.14); border-bottom: 0; }
@media (min-width: 981px) {
 .edition-copy { margin-top: 74px; }
}
@media (min-width: 761px) and (max-width: 980px) {
 .edition-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 28px; }
 .edition-copy { padding: 26px; }
 .edition-event-meta { padding: 18px; width: calc(100% - 24px); }
 .edition-event-date { font-size: 13px; }
}
@media (max-width: 760px) {
 .edition-inner { grid-template-columns: 1fr; gap: 46px; }
 .edition-art-pair { min-height: 0; box-shadow: none; }
 .edition-event-meta { margin-top: -25px; margin-bottom: 23px; width: calc(100% - 24px); padding: 19px 18px; }
 .edition-event-date { font-size: 14px; }
 .edition-event-place { font-size: 10px; }
 .edition-photo-details { gap: 13px; }
 .edition-photo-details .edition-image-secondary { margin-top: 23px; }
 .edition-copy { margin-top: 0; padding: 30px 24px; }
 .edition-copy h2 { font-size: 37px; }
 .edition-copy h2 span { font-size: 112px; }
 .edition-description { font-size: 15px; }
 .edition-description p:first-child { font-size: 18px; }
}

/* Shared motion and tactile details across the site. */
.site-header::after { position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; content: ''; pointer-events: none; background: linear-gradient(90deg,#b49a60,#eedbb0); transform: scaleX(var(--reading-progress,0)); transform-origin: left; }
.bcm-reveal { opacity: 0; translate: 0 20px; transition: opacity .75s ease, translate .85s cubic-bezier(.2,.7,.2,1), transform .3s ease, box-shadow .3s ease; }
.bcm-reveal.is-visible, .bcm-reveal:focus-within { opacity: 1; translate: 0 0; }
.story-card-image { overflow: hidden; }
.story-card-image img { transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.story-card h3 a { text-decoration: none; }
.story-card h3 { letter-spacing: -.025em; }
.text-link, .hero-cta, .button-link { font-size: 12px; }
.hero-cta .link-arrow { transition: transform .3s ease; }
.hero-cta:hover .link-arrow { transform: translate(2px,2px); }
.footer-social a { transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.footer-social a:hover { transform: translateY(-3px); border-color: var(--bcm-gold); background: rgba(208,183,121,.12); }
.menu-toggle { border-radius: 10px; transition: background .25s ease, border-color .25s ease; }
.menu-toggle-lines span { transition: transform .3s ease; }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines span:first-child { transform: translateY(3px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle-lines span:last-child { transform: translateY(-3px) rotate(-45deg); }
@media (hover: hover) and (pointer: fine) {
 .story-card:hover .story-card-image img { transform: scale(1.045); filter: saturate(1.04); }
 .edition-photo-details img { transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
 .edition-photo-details img:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(5,42,32,.2); }
}
@media (max-width: 760px) {
 .home-hero { height: auto; min-height: 100vh; min-height: max(680px,100svh); }
 .hero-content { padding-top: 122px; padding-bottom: 114px; }
 .hero-content .eyebrow { max-width: 85%; font-size: 9px; letter-spacing: .15em; }
 .hero-brand-card { max-width: min(460px,86vw); }
 .hero-hook { max-width: 90%; }
 .hero-intro { max-width: 90%; font-size: 14px; line-height: 1.65; }
 .hero-side-note { right: 9px; opacity: .65; }
 .hero-cta { min-height: 55px; padding: 0 21px; }
 body.home .site-header:not(.is-scrolled) .menu-toggle { background: rgba(10,30,24,.22); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
 .primary-navigation { right: -8px; left: -8px; padding: 14px 23px 18px; max-height: calc(100svh - 145px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(255,255,255,.72); border-radius: 0 0 18px 18px; box-shadow: 0 25px 65px rgba(4,30,23,.2); }
 body.home .primary-navigation.is-open, .primary-navigation { background: rgba(255,253,247,.95); backdrop-filter: blur(26px) saturate(145%); -webkit-backdrop-filter: blur(26px) saturate(145%); }
 .has-js .primary-navigation { display: block; visibility: hidden; opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .25s ease, transform .3s ease, visibility .3s; }
 .has-js .primary-navigation.is-open { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
 .menu-list a { min-height: 58px; font-size: 16px; letter-spacing: .005em; }
 .menu-list .sub-menu { border: 0; border-radius: 0; box-shadow: none; background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
 .menu-list .sub-menu a { min-height: 46px; font-size: 14px; }
 .menu-list > li:last-child { border-bottom: 0; }
 .latest-section { padding-block: 78px; }
 .story-grid { gap: 30px; }
 .story-card h3 { font-size: clamp(25px,6.8vw,32px); line-height: 1.15; }
 .story-card-copy > p, .latest-section .story-card-copy > p { min-height: 0; }
 .story-card:active, .latest-section .story-card:active { border-color: rgba(208,183,121,.65); }
 .organizers-grid { gap: 12px; }
 .organizer-logo { min-height: 110px; padding: 20px; }
 .footer-legal a { display: inline-flex; align-items: center; min-height: 44px; }
 .bcm-reveal { translate: 0 12px; }
 .bcm-reveal.is-visible { translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
 .bcm-reveal { opacity: 1; translate: none; }
 .story-card-image img, .edition-photo-details img { transition: none; }
}
@media (prefers-reduced-transparency: reduce) {
 .primary-navigation, body.home .primary-navigation.is-open { background: var(--bcm-white); backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Keep the footer edge dark while allowing native pull-to-refresh. */
html { background: #050505; overscroll-behavior-y: auto; }
body { overscroll-behavior-y: auto; }
.site-shell { display: flow-root; background: radial-gradient(ellipse at 12% 0%, rgba(208,183,121,.12), transparent 34%), radial-gradient(ellipse at 88% 34%, rgba(6,77,59,.055), transparent 32%), var(--bcm-paper); }
.site-footer { margin-bottom: 0; }

/* Three approved organizer marks. */
.organizers-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 760px) {
 .organizers-grid { gap: 10px; }
 .organizer-logo { min-height: 96px; padding: 12px; }
 .organizer-logo img { max-height: 62px; }
}

/* Mobile legal footer: consistent rows and a quiet, centered copyright. */
@media (max-width: 760px) {
 .footer-bottom { width: 100%; align-items: stretch; gap: 23px; margin-top: 34px; padding-top: 17px; border-top-color: rgba(208,183,121,.27); }
 .footer-legal { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; width: 100%; }
 .footer-legal a { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 49px; width: 100%; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.085); color: rgba(255,253,247,.86); font-size: 13px; line-height: 1.5; }
 .footer-legal a::after { flex: none; content: ''; width: 7px; height: 7px; margin-right: 3px; border-top: 1px solid #d0b779; border-right: 1px solid #d0b779; }
 .footer-legal a:last-child { border-bottom: 0; }
 .footer-copyright { margin: 0; text-align: center; color: rgba(255,255,255,.6); font-size: 11px; line-height: 1.8; letter-spacing: .015em; }
 .footer-copyright > span { display: block; }
 .footer-copyright > span:first-child { color: rgba(255,253,247,.85); }
 .footer-inner { padding-bottom: calc(26px + env(safe-area-inset-bottom,0px)); }
}

/* Edge-to-edge location map between organizers and footer. */
.location-map-section { width: 100%; margin: 0; padding: 0; background: #e8e6dd; }
.location-map-section iframe { display: block; width: 100%; max-width: none; height: clamp(400px,34vw,560px); margin: 0; border: 0; }
@media (max-width: 760px) { .location-map-section iframe { height: 360px; } }

/* Desktop footer: compensate the original ARCUB asset's transparent top/right margins. */
@media (min-width: 981px) {
 .footer-main { align-items: start; }
 .footer-brand { align-self: start; }
 .footer-brand .footer-logo-link { margin-top: -30px; margin-right: -20px; }
}
/* Social links retain their white appearance; hover only lifts the control. */
.footer-social a { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.025); transition: transform .25s ease; }
.footer-social a:hover,.footer-social a:focus-visible { color: #fff; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.025); transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) { .footer-social a { transition: none; } .footer-social a:hover,.footer-social a:focus-visible { transform: none; } }

/* Two organizers, balanced around the section's center. */
.organizers-grid { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 720px; margin-inline: auto; gap: 22px; }
/* Desktop footer: fit the e-mail column to its contents and keep branding nearby. */
@media (min-width: 981px) {
 .footer-main { grid-template-columns: minmax(0,1fr) 250px 172px; gap: clamp(32px,3.6vw,48px); }
 .footer-contact { max-width: 440px; }
 .footer-emails { width: 250px; justify-self: start; }
 .footer-brand { width: 172px; justify-self: start; gap: 16px; }
 .footer-email-list { gap: 16px; }
 .footer-bottom { margin-top: 42px; }
}
@media (max-width: 760px) {
 .organizers-grid { max-width: none; gap: 12px; }
}
