.site-nav { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; }
.site-nav__list { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-nav__menu--mobile { display: none; }
.site-nav__fallback > ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.site-nav__menu li,
.site-nav__fallback li { position: relative; }
.site-nav__menu .sub-menu,
.site-nav__fallback .children {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 2;
	min-width: 12rem;
	margin: 0;
	padding: .5rem 0;
	visibility: hidden;
	list-style: none;
	background: var(--abp-color-nav-bg);
	opacity: 0;
}
.site-nav__menu .sub-menu .sub-menu,
.site-nav__fallback .children .children { top: -.5rem; left: 100%; }
.site-nav__menu li:hover > .sub-menu,
.site-nav__menu li:focus-within > .sub-menu,
.site-nav__fallback li:hover > .children,
.site-nav__fallback li:focus-within > .children { visibility: visible; opacity: 1; }
.site-nav__menu .sub-menu a,
.site-nav__fallback .children a { display: block; padding: .35rem .75rem; white-space: nowrap; }
.site-nav a { color: var(--abp-color-text); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.site-nav a:hover { text-decoration: none; }
.site-nav__search { width: 28px; transition: width .25s ease; }
.site-nav__search.is-open { width: 210px; }
.site-nav__search-form { display: flex; width: 100%; align-items: center; justify-content: flex-end; border: 1px solid transparent; border-radius: 999px; transition: border-color .25s ease, background-color .25s ease; }
.site-nav__search-input-wrap { display: contents; }
.site-nav__search.is-open .site-nav__search-form { border-color: var(--abp-color-rule); background: var(--abp-color-reading-bg); }
.site-nav__search-field { width: 0; min-width: 0; border: 0; outline: 0; padding: .25rem 0; opacity: 0; background: transparent; transition: width .25s ease, padding .25s ease, opacity .18s ease; }
.site-nav__search.is-open .site-nav__search-field { width: 100%; padding-left: .7rem; opacity: 1; }
.site-nav__search-submit { flex: 0 0 28px; width: 28px; height: 28px; border: 0; padding: 5px; background: transparent; color: #000; cursor: pointer; }
.site-nav__search-submit svg { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.site-nav__search-submit:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; border-radius: 50%; }
.no-js .site-nav__search { width: 210px; }
.no-js .site-nav__search-form { border-color: var(--abp-color-rule); background: var(--abp-color-reading-bg); }
.no-js .site-nav__search-field { width: 100%; padding-left: .7rem; opacity: 1; }
.nav-toggle { display: none; width: 44px; height: 44px; margin-left: auto; border: 0; background: transparent; padding: 10px; color: inherit; cursor: pointer; }
.nav-toggle__icon { display: block; width: 24px; height: 24px; }
.nav-toggle__burger { display: block; width: 36px; height: 30px; margin: -3px 0 0 -6px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.nav-toggle__burger path:nth-child(2) { stroke-width: 3.2; }
.nav-toggle__burger path:nth-child(4) { fill: currentColor; stroke-width: 2.8; }
.nav-toggle__close { display: none; width: 28px; height: 28px; margin: -2px 0 0 -2px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__burger { display: none; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon { position: relative; display: block; width: 24px; height: 24px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__close { display: block; }
.nav-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.utility-rail a,
.tbh-node-breadcrumbs a,
.utility-link,
.entry__content a.utility-link { color: var(--abp-color-link); text-decoration: none; }
.utility-rail a:hover,
.utility-rail a:focus,
.tbh-node-breadcrumbs a:hover,
.tbh-node-breadcrumbs a:focus,
.utility-link:hover,
.utility-link:focus,
.entry__content a.utility-link:hover,
.entry__content a.utility-link:focus { text-decoration: underline; }
.utility-status-lock {
	position: relative;
	display: inline-block;
	width: 7px;
	height: 6px;
	margin-top: 3px;
	background: currentColor;
	vertical-align: middle;
}
.utility-status-lock::before {
	position: absolute;
	left: 1px;
	top: -5px;
	width: 5px;
	height: 6px;
	border: 1px solid currentColor;
	border-bottom: 0;
	border-radius: 4px 4px 0 0;
	content: '';
}
.page-structure__item--private { position: relative; list-style: none; }
.page-structure__item--private > .page-structure__private-indicator {
	position: absolute;
	top: .3em;
	left: -1.25em;
	display: inline-block;
}
.listing-header { max-width: var(--abp-reading-width); margin: 0 0 2rem; }
.listing-header__title { margin-top: 0; font-family: var(--abp-font-serif); }
.card-grid { margin: calc(var(--abp-card-gap) / -2); }
.homepage-filter { margin-bottom: var(--abp-card-gap); color: var(--abp-color-muted); font-size: .75rem; }
.homepage-filter button { border: 0; padding: .15em .1em; background: transparent; color: inherit; cursor: pointer; }
.homepage-filter button[aria-pressed="true"] { text-decoration: underline; text-underline-offset: .2em; }
.homepage-filter button:focus-visible { outline: 1px solid currentColor; outline-offset: 2px; }
.homepage-filter[hidden], .listing--home .card-wrap[hidden] { display: none; }
.card-wrap { width: calc(100% / var(--abp-grid-columns)); padding: calc(var(--abp-card-gap) / 2); }
.no-js .card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; gap: var(--abp-card-gap); }
.no-js .card-wrap { width: auto; padding: 0; }
.card { overflow: hidden; background: var(--abp-color-card-bg); }
.card__link { display: block; }
.card__media { margin: 1rem 1rem 0; overflow: hidden; }
.card__media img { width: 100%; transition: transform .4s ease-in-out; }
.card__link:hover .card__media img, .card__link:focus .card__media img { transform: scale(1.1); }
.card__body { padding: 1rem 1.1rem 1.2rem; }
.card__breadcrumbs { margin-bottom: .65rem; color: var(--abp-color-muted); font-size: .72rem; line-height: 1.4; }
.card__breadcrumbs .tbh-node-breadcrumbs { margin: 0; }
.card__breadcrumbs .tbh-node-breadcrumb-separator { margin: 0 .25em; }
.card__type { display: inline-block; margin-bottom: .65rem; border: 1px solid currentColor; border-radius: 999px; padding: .1em .65em; color: var(--abp-color-muted); font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }
.card__title { margin: 0; font-family: var(--abp-font-serif); font-size: 1.3rem; line-height: 1.2; }
.card__preview { margin-top: .75rem; color: var(--abp-color-muted); font-size: .9rem; }
.card__preview > :first-child { margin-top: 0; }
.card__preview > :last-child { margin-bottom: 0; }
.card--homepage-media .card__media { margin: 0; }
.card--homepage-media .card__media-link { position: relative; overflow: hidden; }
.card--homepage-media .card__media img,
.card--homepage-media .card__media-link:focus .card__media img { display: block; transform: none; filter: none; }
.card--homepage-media .card__media-link:focus-visible { outline: 3px solid var(--abp-color-link); outline-offset: -3px; }
.card--viewer .card__media img { transition: transform 1s cubic-bezier(.33, 0, .2, 1), filter 1s cubic-bezier(.33, 0, .2, 1); }
.card--viewer .card__media-link:hover .card__media img,
.card--viewer .card__media-link:focus-visible .card__media img { transform: scale(1.1); filter: brightness(1.16); transition-duration: .7s; transition-timing-function: cubic-bezier(.45, 0, .3, 1); }
.card__outbound-mark { position: absolute; top: 1rem; right: 1rem; width: 2.1rem; height: 2.1rem; color: #fff; opacity: .68; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); transform-origin: center; transition: opacity .4s ease-in-out, transform .4s ease-in-out; }
.card__outbound-mark svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.card--outbound .card__media img,
.card--outbound .card__media-link:hover .card__media img,
.card--outbound .card__media-link:focus .card__media img { transform: none; filter: none; transition: none; }
.card--outbound .card__media-link:hover .card__outbound-mark,
.card--outbound .card__media-link:focus-visible .card__outbound-mark { opacity: 1; transform: translate(.28rem, -.28rem) scale(1.42); }
.card--audio { position: relative; }
.card__media-button { position: relative; display: block; width: 100%; border: 0; padding: 0; background: transparent; color: inherit; text-align: inherit; cursor: pointer; }
.card__media-button .card__media { display: block; }
.card--audio .card__media img { transition: filter 1s cubic-bezier(.33, 0, .2, 1); }
.card--audio .card__media-button:hover .card__media img,
.card--audio .card__media-button:focus-visible .card__media img,
.card--audio.is-playing .card__media img { filter: brightness(.84); transition-duration: .7s; transition-timing-function: cubic-bezier(.45, 0, .3, 1); }
.card__media-button:focus-visible { outline: 3px solid var(--abp-color-link); outline-offset: -3px; }
.card__audio-state,
.card__audio-context { position: absolute; top: 1rem; right: 1rem; z-index: 2; width: 2.1rem; height: 2.1rem; color: #fff; opacity: .68; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); transform-origin: center; transition: opacity .4s ease-in-out, transform .4s ease-in-out; }
.card__audio-state svg,
.card__audio-context svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.card__audio-speaker { opacity: .68; transform: none; }
.card__audio-waveform { opacity: 0; transform: scale(.62); }
.card__audio-duration,
.card__video-duration { position: absolute; bottom: 1rem; left: 1rem; z-index: 2; display: inline-block; border-radius: 2px; padding: .28rem .48rem; background: rgba(10, 10, 10, .78); color: #fff; font-size: .7rem; line-height: 1.2; letter-spacing: .02em; opacity: .72; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); transform-origin: left center; transition: opacity .4s ease-in-out, transform .4s ease-in-out; }
.card__audio-context { visibility: hidden; pointer-events: none; opacity: 0; transform: scale(.62); transition: opacity .4s ease-in-out, transform .4s ease-in-out, visibility 0s linear .4s; }
.card--audio.is-playing .card__audio-speaker { opacity: 0; transform: scale(.62); }
.card--audio.is-playing .card__audio-waveform { opacity: .68; transform: none; }
.card--audio.is-playing .card__audio-duration { opacity: 0; transform: translate(-.12rem, .12rem) scale(.88); }
.card--audio.is-playing .card__audio-context { visibility: visible; pointer-events: auto; opacity: .68; transform: none; transition-delay: 0s; }
.card--audio.is-playing .card__audio-waveform path { transform-box: fill-box; transform-origin: center; animation: abp-audio-waveform .8s ease-in-out infinite alternate; }
.card--audio.is-playing .card__audio-waveform path:nth-child(2) { animation-delay: -.45s; }
.card--audio.is-playing .card__audio-waveform path:nth-child(3) { animation-delay: -.2s; }
.card--audio.is-playing .card__audio-waveform path:nth-child(4) { animation-delay: -.6s; }
.card--audio:not(.is-playing) .card__media-button:hover .card__audio-speaker,
.card--audio:not(.is-playing) .card__media-button:focus-visible .card__audio-speaker,
.card--audio:not(.card--audio-has-context).is-playing .card__media-button:hover .card__audio-waveform,
.card--audio:not(.card--audio-has-context).is-playing .card__media-button:focus-visible .card__audio-waveform,
.card--audio.is-playing .card__audio-context:hover,
.card--audio.is-playing .card__audio-context:focus-visible { opacity: 1; transform: translate(.28rem, -.28rem) scale(1.42); }
.card--audio-has-context .card__audio-waveform { top: auto; right: auto; bottom: 1rem; left: 1rem; }
.card--audio-has-context.is-playing .card__audio-waveform { opacity: .5; }
.card--audio-has-context.is-playing .card__media-button:hover .card__audio-waveform,
.card--audio-has-context.is-playing .card__media-button:focus-visible .card__audio-waveform { opacity: 1; transform: translate(-.18rem, .18rem) scale(1.32); }
.card__audio-context { border: 0; padding: 0; background: transparent; cursor: pointer; }
.card__audio-context:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 50%; }
.card__audio-progress { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; overflow: hidden; background: rgba(255, 255, 255, .22); }
.card__audio-progress span { display: block; width: 100%; height: 100%; background: rgba(255, 255, 255, .82); box-shadow: 0 0 3px rgba(0, 0, 0, .35); transform: scaleX(0); transform-origin: left center; }
.card__audio-note { position: absolute; top: 3.85rem; right: 1rem; z-index: 3; width: min(16rem, calc(100% - 2rem)); border: 1px solid rgba(255, 255, 255, .5); padding: .85rem 2rem .85rem .9rem; background: rgba(20, 20, 20, .9); color: #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); font-size: .82rem; line-height: 1.45; }
.card__audio-note[hidden] { display: none; }
.card__audio-note:focus { outline: 2px solid #fff; outline-offset: 2px; }
.card__audio-note p { margin: 0; }
.card__audio-note-close { position: absolute; top: .25rem; right: .35rem; width: 1.5rem; height: 1.5rem; border: 0; padding: 0; background: transparent; color: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.card__audio-note-close:focus-visible { outline: 2px solid currentColor; outline-offset: 1px; }
@keyframes abp-audio-waveform {
	from { transform: scaleY(.55); }
	to { transform: scaleY(1); }
}
.card--video { position: relative; }
.card__video-stage { position: relative; overflow: hidden; }
.card__video-toggle { z-index: 2; }
.card--video .card__media img { transition: filter 1s cubic-bezier(.33, 0, .2, 1), opacity .4s ease-in-out; }
.card--video:not(.is-playing):not(.is-expanded) .card__video-toggle:hover .card__media img,
.card--video:not(.is-playing):not(.is-expanded) .card__video-toggle:focus-visible .card__media img,
.card--video.is-loading .card__media img { filter: brightness(.84); transition-duration: .7s; transition-timing-function: cubic-bezier(.45, 0, .3, 1); }
.card__video-state,
.card__video-outbound { position: absolute; top: 1rem; right: 1rem; z-index: 4; width: 2.1rem; height: 2.1rem; color: #fff; opacity: .68; filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .55)); transform-origin: center; transition: opacity .4s ease-in-out, transform .4s ease-in-out; }
.card__video-state svg,
.card__video-outbound svg { display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.card--video-hosted.is-expanded .card__video-play { opacity: 0; transform: scale(.62); }
.card--video-hosted.is-expanded .card__video-duration { opacity: 0; transform: translate(-.12rem, .12rem) scale(.88); }
.card--video:not(.is-playing):not(.is-expanded) .card__video-toggle:hover .card__video-play,
.card--video:not(.is-playing):not(.is-expanded) .card__video-toggle:focus-visible .card__video-play,
.card--video-youtube.is-playing .card__video-outbound:hover,
.card--video-youtube.is-playing .card__video-outbound:focus-visible { opacity: 1; transform: translate(.28rem, -.28rem) scale(1.42); }
.card__video-layer { position: absolute; inset: 0; z-index: 1; overflow: hidden; visibility: hidden; opacity: 0; background: #000; transition: opacity .4s ease-in-out, visibility 0s linear .4s; }
.card__video-layer video,
.card__video-layer iframe,
.card__video-youtube { display: block; width: 100%; height: 100%; border: 0; }
.card__video-layer video { object-fit: cover; }
.card--video.is-playing .card__video-layer { visibility: visible; opacity: 1; transition-delay: 0s; }
.card--video-youtube.is-playing .card__video-layer { z-index: 3; }
.card--video-youtube.is-playing .card__video-play { opacity: 0; transform: scale(.62); }
.card__video-layer.is-expanded { position: fixed; inset: auto; z-index: 10000; visibility: visible; opacity: 0; box-shadow: 0 14px 42px rgba(0, 0, 0, .42); transition: left 1.04s cubic-bezier(.33, 0, .2, 1), top 1.04s cubic-bezier(.33, 0, .2, 1), width 1.04s cubic-bezier(.33, 0, .2, 1), height 1.04s cubic-bezier(.33, 0, .2, 1), opacity .38s ease-in-out, box-shadow 1.04s cubic-bezier(.33, 0, .2, 1); }
.card__video-layer.is-expanded.is-open { opacity: 1; }
.card__video-layer.is-expanded video { object-fit: contain; }
.card__video-return-poster,
.card__video-layer.is-expanded video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.card__video-return-poster { z-index: 0; opacity: 0; }
.card__video-return-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.card__video-layer.is-expanded video { z-index: 1; opacity: 1; }
.card__video-expanded-toggle { position: absolute; inset: 0; z-index: 2; width: 100%; border: 0; padding: 0; background: transparent; color: inherit; cursor: pointer; }
.card__video-expanded-toggle:focus-visible { outline: 3px solid var(--abp-color-link); outline-offset: -3px; }
.card__video-expanded-play { opacity: 0; transform: scale(.62); }
.card__video-expanded-pause { opacity: .68; transform: none; }
.card__video-layer.is-paused .card__video-expanded-play { opacity: .68; transform: none; }
.card__video-layer.is-paused .card__video-expanded-pause { opacity: 0; transform: scale(.62); }
.card__video-layer.is-playing .card__video-expanded-toggle:hover .card__video-expanded-pause,
.card__video-layer.is-playing .card__video-expanded-toggle:focus-visible .card__video-expanded-pause,
.card__video-layer.is-paused .card__video-expanded-toggle:hover .card__video-expanded-play,
.card__video-layer.is-paused .card__video-expanded-toggle:focus-visible .card__video-expanded-play { opacity: 1; transform: translate(.28rem, -.28rem) scale(1.42); }
.card__video-layer.is-returning { pointer-events: none; opacity: 1; box-shadow: 0 2px 8px rgba(0, 0, 0, 0); transition: left 1.05s cubic-bezier(.22, .61, .36, 1), top 1.05s cubic-bezier(.22, .61, .36, 1), width 1.05s cubic-bezier(.22, .61, .36, 1), height 1.05s cubic-bezier(.22, .61, .36, 1), box-shadow .75s cubic-bezier(.22, .61, .36, 1); }
.card__video-layer.is-returning video { opacity: 0; transition: opacity .36s ease-in-out .64s; }
.card__video-layer.is-returning .card__video-return-poster { opacity: 1; transition: opacity .36s ease-in-out .64s; }
.card__video-layer.is-returning .card__video-expanded-toggle,
.card__video-layer.is-returning .card__video-progress { opacity: 0; transition: opacity .25s ease-in-out; }
.card__video-outbound { visibility: hidden; pointer-events: none; opacity: 0; transform: scale(.62); transition: opacity .4s ease-in-out, transform .4s ease-in-out, visibility 0s linear .4s; }
.card--video-youtube.is-playing .card__video-outbound { visibility: visible; pointer-events: auto; opacity: .68; transform: none; transition-delay: 0s; }
.card__video-outbound:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 50%; }
.card__video-progress { z-index: 4; }
.has-diptych-viewer { overflow: hidden; }
.diptych-viewer { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: clamp(3.5rem, 6vw, 5rem) clamp(1rem, 4vw, 4rem); background: rgba(0, 0, 0, .96); }
.diptych-viewer[hidden] { display: none; }
.diptych-viewer__close { position: fixed; top: 1rem; right: 1rem; z-index: 1; width: 2.75rem; height: 2.75rem; border: 0; padding: 0; background: transparent; color: #fff; font-size: 2.25rem; font-weight: 300; line-height: 1; cursor: pointer; opacity: .82; }
.diptych-viewer__close:hover { opacity: 1; }
.diptych-viewer__close:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.diptych-viewer__pair { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; gap: clamp(1rem, 3vw, 3rem); }
.diptych-viewer__image { display: flex; min-width: 0; max-width: calc(50% - .5rem); height: 100%; align-items: center; justify-content: center; }
.diptych-viewer__image img { display: block; width: auto; max-width: 100%; height: auto; max-height: 100%; object-fit: contain; }
.entry__featured { background: var(--abp-color-reading-bg); }
.entry__featured--normal { background: transparent; }
.entry__header { margin-bottom: 2rem; }
.entry__content > * { max-width: 100%; }
.archive-list { margin: 2rem 0 0; padding: 0; list-style: none; border-top: 1px solid var(--abp-color-rule); }
.archive-list li { border-bottom: 1px solid var(--abp-color-rule); }
.archive-list a { display: block; padding: .65rem 0; }
.navigation.pagination { margin-top: 2rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.page-numbers { background: var(--abp-color-reading-bg); padding: .35rem .7rem; }
.comments-area { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--abp-color-rule); }
.comment-list { padding-left: 1.5rem; }
.comment-list .children { padding-left: 1.5rem; }
.comment-body { margin-bottom: 2rem; }
.content-none { max-width: var(--abp-reading-width); }
