/*
Theme Name: Bühne & Netz Actor Portfolio
Theme URI: https://buehneundnetz.de/themes/buehneundnetz-actor-portfolio/
Author: Andreas Hoffmeyer – Bühne & Netz
Author URI: https://buehneundnetz.de/
Description: The original Bühne & Netz Actor Portfolio block theme for actors and directors.
Version: 1.0.22
Requires at least: 6.8
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: buehneundnetz-actor-portfolio
Tags: block-patterns, block-styles, full-site-editing, portfolio, translation-ready
*/

/* stylelint-disable no-descending-specificity -- Component and template layers intentionally override shared block selectors in document order. */

:where(html) { scroll-behavior: smooth; }

:where(body) {
	--actor-collage-petrol: var(--wp--preset--color--petrol, #076d70);
	--actor-collage-mustard: var(--wp--preset--color--mustard, #d6a51d);
	--actor-layout-edge: var(--wp--custom--buehneundnetz-actor-portfolio--layout--edge, clamp(1rem, 3vw, 3.5rem));
	--actor-layout-frame: var(--wp--custom--buehneundnetz-actor-portfolio--layout--frame, 90rem);
	--actor-collage-tilt: var(--wp--custom--buehneundnetz-actor-portfolio--collage--tilt, -1deg);
	--actor-collage-counter-tilt: var(--wp--custom--buehneundnetz-actor-portfolio--collage--counter-tilt, 0.8deg);
	--actor-collage-shape: var(--wp--custom--buehneundnetz-actor-portfolio--collage--hero-shape, polygon(47% 0, 95% 12%, 78% 58%, 100% 82%, 44% 100%, 8% 76%, 20% 34%));
	--actor-image-treatment: var(--wp--custom--buehneundnetz-actor-portfolio--collage--image-filter, grayscale(1) contrast(1.2));
	--actor-collage-blend: var(--wp--custom--buehneundnetz-actor-portfolio--collage--blend, multiply);
	--actor-collage-stroke: var(--wp--custom--buehneundnetz-actor-portfolio--collage--stroke, 3px);

	background-color: var(--wp--preset--color--canvas);
	background-image:
		radial-gradient(circle at 12% 9%, rgb(17 17 15 / 7%) 0 1px, transparent 1.4px),
		radial-gradient(circle at 83% 31%, rgb(17 17 15 / 5%) 0 0.8px, transparent 1.2px),
		linear-gradient(103deg, transparent 0 48%, rgb(255 255 255 / 18%) 48% 49%, transparent 49% 100%);
	background-size: 23px 19px, 31px 29px, 100% 100%;
	overflow-x: clip;
	text-rendering: optimizeLegibility;
}

:where(.wp-site-blocks) { overflow: clip; }

/* Width choices exposed as Group block styles in the editor. */
.wp-block-group.is-style-actor-full-bleed {
	box-sizing: border-box;
	width: 100vw;
	max-width: none !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	padding-inline: var(--actor-layout-edge);
}

.wp-block-group.is-style-actor-content-frame {
	box-sizing: border-box;
	width: min(calc(100% - var(--actor-layout-edge) - var(--actor-layout-edge)), var(--actor-layout-frame));
	max-width: var(--actor-layout-frame) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-inline: clamp(1rem, 2.2vw, 2.5rem);
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--ink);
	outline-offset: 3px;
}

:where(a) { text-decoration-color: var(--wp--preset--color--accent); text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }
:where(a:hover) { text-decoration-thickness: 0.16em; }

:where(.wp-element-button, .wp-block-button__link, button, input, textarea, select) {
	transition: color var(--wp--custom--buehneundnetz-actor-portfolio--motion--fast) var(--wp--custom--buehneundnetz-actor-portfolio--motion--ease), background-color var(--wp--custom--buehneundnetz-actor-portfolio--motion--fast) var(--wp--custom--buehneundnetz-actor-portfolio--motion--ease), border-color var(--wp--custom--buehneundnetz-actor-portfolio--motion--fast) var(--wp--custom--buehneundnetz-actor-portfolio--motion--ease), transform var(--wp--custom--buehneundnetz-actor-portfolio--motion--fast) var(--wp--custom--buehneundnetz-actor-portfolio--motion--ease);
}

:where(.wp-element-button, .wp-block-button__link) { box-shadow: 0.32rem 0.32rem 0 var(--wp--preset--color--ink); }
:where(.wp-element-button, .wp-block-button__link):hover { transform: translate(0.18rem, 0.18rem); box-shadow: 0.14rem 0.14rem 0 var(--wp--preset--color--ink); }

:where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	box-sizing: border-box;
	max-width: 100%;
	padding: 0.75em 0.9em;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--surface);
	border: 2px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--buehneundnetz-actor-portfolio--radius--small);
	font: inherit;
}

:where(input, textarea, select):disabled { cursor: not-allowed; opacity: 0.65; }
:where(.wp-block-navigation__responsive-container) { background: var(--wp--preset--color--canvas); color: var(--wp--preset--color--ink); }
:where(.is-style-actor-surface) { padding: var(--wp--preset--spacing--50); background: var(--wp--preset--color--surface); box-shadow: var(--wp--custom--buehneundnetz-actor-portfolio--elevation--raised); }

.actor-skip-link {
	position: fixed;
	top: var(--wp--preset--spacing--20);
	left: var(--wp--preset--spacing--20);
	z-index: 100000;
	padding: 0.75rem 1rem;
	color: var(--wp--preset--color--accent-contrast);
	background: var(--wp--preset--color--accent);
	transform: translateY(calc(-100% - 2rem));
}

.actor-skip-link:focus { transform: translateY(0); }

:where(.actor-site-header, .actor-site-footer) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-inline: auto;
	padding-inline: var(--actor-layout-edge);
}

.actor-site-header {
	position: relative;
	z-index: 20;
	border-bottom: 3px solid var(--wp--preset--color--ink);
}

.actor-site-header::after {
	position: absolute;
	right: clamp(0rem, 4vw, 3rem);
	bottom: -0.5rem;
	width: clamp(4rem, 13vw, 10rem);
	height: 0.8rem;
	background: var(--actor-collage-mustard);
	clip-path: polygon(0 28%, 100% 0, 96% 75%, 3% 100%);
	content: "";
}

.actor-site-header .wp-block-site-title,
.actor-site-footer .wp-block-site-title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	letter-spacing: -0.035em;
	line-height: 0.85;
	text-transform: uppercase;
}
.actor-site-header .wp-block-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.actor-site-header .wp-block-navigation-item__content { text-decoration: none; }
.actor-site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ink); background: linear-gradient(transparent 58%, var(--wp--preset--color--accent) 58% 87%, transparent 87%); }

.actor-site-header :where(.current-menu-item > .wp-block-navigation-item__content, .wp-block-navigation-item__content[aria-current="page"]) {
	color: var(--wp--preset--color--ink);
	background: linear-gradient(transparent 54%, var(--wp--preset--color--accent) 54% 90%, transparent 90%);
	font-weight: 900;
	text-decoration: none;
}
:where(.wp-block-navigation__responsive-container.is-menu-open) { padding: var(--wp--preset--spacing--40); }

.actor-language-switcher { padding-left: var(--wp--preset--spacing--30); border-left: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); }
.actor-language-switcher ul { display: flex; gap: 0.35rem; margin: 0; padding: 0; list-style: none; }
.actor-language-switcher a { display: grid; min-width: 2.4rem; min-height: 2.4rem; padding: 0.3rem; place-items: center; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); border: 2px solid var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; line-height: 1; text-decoration: none; }
.actor-language-switcher a:hover { color: var(--wp--preset--color--accent-contrast); background: var(--wp--preset--color--accent); }
.actor-language-switcher a[aria-current="page"] { color: var(--wp--preset--color--accent-contrast); background: var(--wp--preset--color--accent); box-shadow: 0.18rem 0.18rem 0 var(--wp--preset--color--ink); }

:where(.wpcf7, .gform_wrapper) { max-width: var(--wp--style--global--content-size); }
:where(.wpcf7-form, .gform_wrapper form) { display: grid; gap: var(--wp--preset--spacing--30); }
:where(.wpcf7-form-control-wrap, .gfield) { display: block; }
:where(.wpcf7-not-valid-tip, .validation_message, .gfield_validation_message) { color: var(--wp--preset--color--accent); font-weight: 700; }
:where(.wpcf7-response-output, .gform_validation_errors) { padding: var(--wp--preset--spacing--30); border: 2px solid var(--wp--preset--color--line); }

.actor-genre-filter { margin-block: var(--wp--preset--spacing--50); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; text-transform: uppercase; }
.actor-genre-filter__links { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--20); }
.actor-genre-filter a { padding: 0.5rem 0.8rem; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); border: 2px solid var(--wp--preset--color--line); border-radius: 0; box-shadow: 0.2rem 0.2rem 0 var(--wp--preset--color--ink); text-decoration: none; transform: rotate(-0.5deg); }
.actor-genre-filter a:nth-child(even) { transform: rotate(0.8deg); }
.actor-genre-filter a[aria-current="page"] { color: var(--wp--preset--color--contrast); background: var(--actor-collage-mustard); border-color: var(--wp--preset--color--ink); text-decoration: none; }
.actor-genre-filter__status:empty { min-height: 0; margin: 0; }
.actor-portfolio-results:focus { outline: none; }
.actor-portfolio-results:focus-visible { outline: 3px solid var(--wp--preset--color--ink); outline-offset: 0.5rem; }

.actor-portfolio-results,
.actor-portfolio-results > .wp-block-query,
.actor-portfolio-results .wp-block-post-template {
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
}

.actor-content-details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; margin-block: var(--wp--preset--spacing--40); padding-block: var(--wp--preset--spacing--30); border-top: var(--actor-collage-stroke) solid currentcolor; border-bottom: var(--actor-collage-stroke) solid currentcolor; }
.actor-content-details > div { min-width: 0; padding-inline: var(--wp--preset--spacing--30); }
.actor-content-details > div:first-child { padding-left: 0; }
.actor-content-details > div + div { border-left: 1px solid currentcolor; }
.actor-content-details dt { margin-bottom: 0.35rem; font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.actor-content-details dd { margin: 0; font-weight: 750; overflow-wrap: anywhere; }
.actor-content-details--compact { display: block; margin: 0.45rem var(--wp--preset--spacing--30) 0; padding: 0; color: var(--wp--preset--color--muted); border: 0; font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; }

.actor-page:not(:has(.actor-demo-hero)) > :where(.wp-block-post-title, .wp-block-post-featured-image, .wp-block-post-content) { width: 100%; max-width: var(--actor-layout-frame); margin-right: auto; margin-left: auto; }
.actor-page:not(:has(.actor-demo-hero)) > .wp-block-post-title { max-width: min(14ch, var(--actor-layout-frame)); margin-left: 0; }
.actor-page:not(:has(.actor-demo-hero)) > .wp-block-post-featured-image { border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.35rem 0.35rem 0 var(--wp--preset--color--ink); }
.actor-page:not(:has(.actor-demo-hero)) > .wp-block-post-content { max-width: min(56rem, 100%); margin-top: clamp(2.5rem, 6vw, 5rem); margin-left: 0; }
.actor-page:not(:has(.actor-demo-hero)) .wp-block-post-content > :where(h2, h3, h4) { margin-top: 1.8em; text-wrap: balance; }
.actor-page:not(:has(.actor-demo-hero)) .wp-block-post-content > h2 { padding-top: 0.35em; border-top: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); font-size: clamp(2rem, 5vw, 4rem); }
.actor-demo-notice { padding: var(--wp--preset--spacing--40); background: var(--actor-collage-mustard); border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.3rem 0.3rem 0 var(--wp--preset--color--ink); }

.actor-listing > .wp-block-query { width: 100%; max-width: none; }

.actor-listing > :where(h1.wp-block-heading, .wp-block-query-title) {
	width: 100%;
	max-width: 14ch;
	margin-right: auto !important;
	margin-bottom: var(--wp--preset--spacing--60);
	margin-left: 0 !important;
	font-size: clamp(3.5rem, 11vw, 9.5rem);
	line-height: 0.88;
	text-align: left !important;
	text-wrap: balance;
}

.actor-page--content > .actor-page-heading {
	width: 100%;
	max-width: min(56rem, 100%);
	margin-right: auto;
	margin-left: 0;
	font-size: clamp(3.5rem, 11vw, 9.5rem);
	line-height: 0.88;
	text-align: left;
	text-wrap: balance;
}

.actor-page.actor-page--content:has(.actor-portfolio-calendar) > .actor-page-heading {
	margin-right: auto !important;
	margin-left: auto !important;
}

.actor-listing > .wp-block-term-description { width: 100%; max-width: 48rem; margin-right: auto; margin-bottom: var(--wp--preset--spacing--60); margin-left: 0; }
.actor-listing .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.actor-listing .wp-block-post-template > li { padding-bottom: var(--wp--preset--spacing--40); background: var(--wp--preset--color--surface); border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.4rem 0.4rem 0 var(--wp--preset--color--ink); transform: none; }
.actor-listing .wp-block-post-template :where(.wp-block-post-title, .wp-block-post-date, .wp-block-post-excerpt) { padding-inline: var(--wp--preset--spacing--30); }
.actor-listing .wp-block-post-featured-image { margin: 0; border: 0; border-bottom: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: none; }

.actor-listing--journal > .wp-block-query,
.actor-listing--category > .wp-block-query,
.actor-listing--archive > .wp-block-query,
.actor-listing--taxonomy > .wp-block-query { width: 100%; max-width: none !important; }
.actor-listing--projects > :where(.wp-block-query-title, .actor-genre-filter) { width: 100%; max-width: none; }
.actor-listing--projects .actor-portfolio-results { margin-inline: 0 !important; padding-inline: 0; }
.actor-listing--projects .wp-block-post-template { grid-template-columns: repeat(3, minmax(18rem, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.actor-listing--projects .wp-block-post-template > li { min-width: 0; padding-bottom: clamp(1.25rem, 2.5vw, 2rem); }

.actor-listing--projects .wp-block-post-template > li:nth-child(3n + 1),
.actor-listing--press .wp-block-post-template > li:nth-child(3n + 1) { transform: rotate(var(--actor-collage-tilt)); }

.actor-listing--projects .wp-block-post-template > li:nth-child(3n + 2),
.actor-listing--press .wp-block-post-template > li:nth-child(3n + 2) { transform: translateY(1.15rem) rotate(var(--actor-collage-counter-tilt)); }

.actor-listing--projects .wp-block-post-template > li:nth-child(3n),
.actor-listing--press .wp-block-post-template > li:nth-child(3n) { transform: translateY(-0.65rem) rotate(calc(var(--actor-collage-tilt) * -0.7)); }
.actor-listing--projects .wp-block-post-title { margin-top: clamp(1rem, 2vw, 1.5rem); font-size: clamp(1.8rem, 2.7vw, 3rem); }
.actor-listing--projects .wp-block-post-excerpt { font-size: clamp(1rem, 1.2vw, 1.15rem); line-height: 1.55; }

.actor-listing--journal .wp-block-post-template { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.actor-listing--journal .wp-block-post-template > li:nth-child(3n + 1) { grid-column: span 5; transform: translateY(0.8rem) rotate(calc(var(--actor-collage-tilt) * 1.6)); }
.actor-listing--journal .wp-block-post-template > li:nth-child(3n + 2) { grid-column: 6 / span 6; transform: translateY(3rem) rotate(calc(var(--actor-collage-counter-tilt) * 1.5)); }
.actor-listing--journal .wp-block-post-template > li:nth-child(3n) { grid-column: 2 / span 5; transform: translateY(-1.2rem) rotate(calc(var(--actor-collage-tilt) * -1.25)); }
.actor-listing--journal .wp-block-post-title { text-align: center; }

.actor-media { position: relative; isolation: isolate; width: 100%; min-width: 0; max-width: 100%; margin: 0; overflow: hidden; contain: layout paint; background: var(--wp--preset--color--surface); }
.actor-media [hidden] { display: none !important; }
.actor-media--header { min-height: clamp(18rem, 58vw, 48rem); }
.actor-media :where(img, video, iframe) { display: block; width: 100%; min-width: 0; max-width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: cover; border: 0; }
.actor-media--header > :where(img, video, iframe, .actor-media__load) { position: absolute; z-index: 0; inset: 0; }
.actor-media__load { position: relative; display: grid; width: 100%; min-width: 0; max-width: 100%; min-height: 18rem; padding: 0; place-items: center; overflow: hidden; color: var(--wp--preset--color--accent-contrast); background: var(--wp--preset--color--accent); border: 0; border-radius: 0; }
.actor-media--header > .actor-media__load { position: absolute; }
.actor-media__player { width: 100%; min-width: 0; max-width: 100%; aspect-ratio: 16 / 9; }
.actor-media--header > .actor-media__player { position: absolute; z-index: 1; inset: 0; height: 100%; }
.actor-media__player > iframe { width: 100%; height: 100%; }
.actor-media__load::after { position: absolute; inset: 0; background: rgb(0 0 0 / 35%); content: ""; }
.actor-media__load-label { position: relative; z-index: 1; max-width: 100%; padding: 0.75rem 1rem; overflow-wrap: anywhere; background: var(--wp--preset--color--accent); }
.actor-media__load > img { position: absolute; inset: 0; pointer-events: none; }
.actor-media figcaption { position: relative; z-index: 2; padding: var(--wp--preset--spacing--20); }
.actor-media__status:empty { display: none; }
.actor-media__external-fallback { position: relative; z-index: 3; display: inline-block; margin: var(--wp--preset--spacing--20); overflow-wrap: anywhere; }
.actor-mixed-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; min-width: 0; max-width: 100%; }
.actor-mixed-gallery > * { min-width: 0; max-width: 100%; }

/* Editorial collage direction — deliberately raw, graphic and stage-like. */
:where(main#actor-main) { box-sizing: border-box; width: 100%; max-width: none; padding: clamp(2rem, 5vw, 5rem) var(--actor-layout-edge) 0; }

:where(main#actor-main > .wp-block-post-title, main#actor-main > .wp-block-query-title) {
	max-width: 14ch;
	margin-bottom: var(--wp--preset--spacing--60);
	font-size: clamp(3.5rem, 11vw, 9.5rem);
}

:where(main#actor-main) > :where(h1.wp-block-heading, .wp-block-query-title, .wp-block-post-title) {
	margin-right: auto !important;
	margin-left: 0 !important;
	text-align: left !important;
}
:where(.wp-block-post-template) { gap: clamp(1.5rem, 4vw, 3.5rem); }
:where(.wp-block-post-template > li) { position: relative; }
:where(.wp-block-post-template .wp-block-post-featured-image) { overflow: hidden; border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.55rem 0.55rem 0 var(--wp--preset--color--ink); }
:where(.wp-block-post-template .wp-block-post-featured-image img) { filter: var(--actor-image-treatment); transition: filter 240ms ease, transform 240ms ease; }
:where(.wp-block-post-template > li:hover .wp-block-post-featured-image img) { filter: grayscale(0.15) contrast(1.1); transform: scale(1.025); }
:where(.wp-block-post-template .wp-block-post-title) { margin-top: 1rem; font-size: clamp(1.55rem, 3vw, 2.6rem); }
:where(.wp-block-post-template .wp-block-post-title a) { color: var(--wp--preset--color--ink); text-decoration-color: var(--wp--preset--color--accent); text-decoration-thickness: 0.18em; }
:where(.wp-block-post-date, .wp-block-post-terms, figcaption) { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); }

.actor-site-footer {
	position: relative;
	padding-inline: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--canvas);
	background: var(--wp--preset--color--ink);
	border: 0 !important;
	box-shadow: 50vw 0 0 var(--wp--preset--color--ink), -50vw 0 0 var(--wp--preset--color--ink);
}
.actor-site-footer a { color: var(--wp--preset--color--canvas); }
.actor-site-footer__row { width: 100%; max-width: none !important; gap: clamp(1.5rem, 4vw, 4rem); }
.actor-site-footer__navigation { gap: clamp(1rem, 3vw, 3rem); }

.actor-footer-legal {
	padding-left: clamp(1rem, 2vw, 2rem);
	border-left: var(--actor-collage-stroke) solid var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.actor-footer-legal__list { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--30); margin: 0; padding: 0; list-style: none; }
.actor-footer-legal .wp-block-navigation-item__content { color: var(--wp--preset--color--canvas); text-decoration-color: var(--wp--preset--color--accent); }
.actor-footer-legal .wp-block-navigation-item__content:hover { color: var(--actor-collage-mustard); }

/* Straighter editorial detail pages with calm reading axes. */
.actor-detail { padding-bottom: clamp(3rem, 8vw, 8rem) !important; }

.actor-detail > :where(.wp-block-post-title, .wp-block-post-terms, .wp-block-post-date, .wp-block-post-featured-image, .wp-block-post-content, .actor-post-arrows, .actor-related-content) {
	width: 100%;
	max-width: var(--actor-layout-frame);
	margin-right: auto;
	margin-left: auto;
}

.actor-detail > .wp-block-post-title {
	width: 100% !important;
	max-width: var(--actor-layout-frame) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	font-size: clamp(3rem, 6.5vw, 6rem);
	line-height: 0.9;
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: none;
	text-align: center !important;
	white-space: normal;
	text-wrap: balance;
}
.actor-detail > :where(.wp-block-post-terms, .wp-block-post-date) { margin-left: 0; font-family: var(--wp--preset--font-family--mono); font-weight: 700; }
.actor-detail > .wp-block-post-featured-image { overflow: hidden; border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.35rem 0.35rem 0 var(--wp--preset--color--ink); transform: none; }
.actor-detail > .wp-block-post-featured-image img { filter: var(--actor-image-treatment); }
.actor-detail > .wp-block-post-content { max-width: min(48rem, 100%); margin-top: clamp(2rem, 5vw, 4rem); margin-left: 0; }

.actor-detail .actor-genre-filter a,
.actor-detail :where(.wp-block-post-template > li, .wp-block-post-featured-image) { transform: none !important; }

.actor-post-arrows { display: flex; align-items: center; width: 100%; margin-top: clamp(3rem, 7vw, 6rem); padding-top: var(--wp--preset--spacing--40); border-top: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); }
.actor-post-arrows__link { display: grid; width: clamp(4.5rem, 9vw, 7.5rem); aspect-ratio: 1; place-items: center; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.3rem 0.3rem 0 var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--display); font-size: clamp(2.75rem, 5.5vw, 4.5rem); font-weight: 900; line-height: 1; text-decoration: none; }
.actor-post-arrows__link:hover { color: var(--wp--preset--color--accent-contrast); background: var(--wp--preset--color--accent); transform: translate(0.15rem, 0.15rem); box-shadow: 0.12rem 0.12rem 0 var(--wp--preset--color--ink); }
.actor-post-arrows__link--older { margin-left: auto; }

.wp-block-query-pagination :where(.wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: grid;
	width: clamp(3.5rem, 6vw, 5rem);
	aspect-ratio: 1;
	place-items: center;
	color: var(--wp--preset--color--ink);
	border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	text-decoration: none;
}

.actor-related-content { margin-top: clamp(5rem, 11vw, 10rem) !important; padding-top: clamp(2rem, 5vw, 4rem); border-top: 0.75rem solid var(--wp--preset--color--ink); }
.actor-related-content__eyebrow { display: inline-block; margin: 0 0 1rem; padding: 0.3rem 0.5rem; color: var(--wp--preset--color--accent-contrast); background: var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; text-transform: uppercase; }
.actor-related-content > h2 { max-width: none; margin-block: 0 clamp(2.5rem, 5vw, 4.5rem); font-size: clamp(2.2rem, 5.8vw, 6rem); white-space: nowrap; text-wrap: nowrap; }
.actor-related-content__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 3vw, 2.5rem); }
.actor-related-card { overflow: hidden; background: var(--wp--preset--color--surface); border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.4rem 0.4rem 0 var(--wp--preset--color--ink); }
.actor-related-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--actor-collage-petrol); border-bottom: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); }
.actor-related-card__media--empty { background: linear-gradient(135deg, var(--actor-collage-petrol) 0 47%, var(--wp--preset--color--accent) 47% 64%, var(--actor-collage-mustard) 64%); }
.actor-related-card__media img { width: 100%; height: 100%; object-fit: cover; filter: var(--actor-image-treatment); transition: filter 240ms ease, transform 240ms ease; }
.actor-related-card:hover .actor-related-card__media img { filter: none; transform: scale(1.025); }
.actor-related-card__body { padding: clamp(1rem, 2.5vw, 1.75rem); }
.actor-related-card h3 { margin: 0 0 1rem; font-size: clamp(1.5rem, 2.5vw, 2.3rem); }
.actor-related-card h3 a { color: var(--wp--preset--color--ink); text-decoration-color: var(--wp--preset--color--accent); }
.actor-related-card__details { color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.actor-related-card p { margin-bottom: 0; }

/* Demo as a sequence of oversized print spreads. */
body:has(.actor-demo-hero) main#actor-main { max-width: none; padding-top: 0; }

body:has(.actor-demo-hero) main#actor-main > .wp-block-post-title,
body:has(.actor-demo-hero) main#actor-main > .wp-block-post-featured-image { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: rect(0 0 0 0); white-space: nowrap; border: 0; }

body:has(.actor-demo-hero) .wp-block-post-content {
	width: 100vw;
	max-width: none !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
	overflow: hidden;
}

body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-top: 0;
	padding: clamp(5rem, 10vw, 9rem) var(--actor-layout-edge) clamp(5rem, 10vw, 9rem) var(--actor-layout-edge);
}

body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) > :not(.alignfull):not(.actor-profile-portrait) {
	width: 100%;
	max-width: none;
}

.actor-demo-hero {
	position: relative;
	isolation: isolate;
	min-height: clamp(32rem, 70vw, 52rem);
	box-sizing: border-box;
	width: 100%;
	max-width: none !important;
	padding-inline: var(--actor-layout-edge) !important;
	background:
		linear-gradient(112deg, transparent 0 62%, var(--actor-collage-petrol) 62% 78%, transparent 78%),
		linear-gradient(72deg, transparent 0 66%, var(--actor-collage-mustard) 66% 75%, transparent 75%);
}

.actor-demo-hero::before {
	position: absolute;
	z-index: -1;
	top: 8%;
	right: clamp(-6rem, 5vw, 5rem);
	width: clamp(13rem, 34vw, 31rem);
	aspect-ratio: 0.75;
	background: var(--wp--preset--color--accent);
	clip-path: var(--actor-collage-shape);
	content: "";
	mix-blend-mode: var(--actor-collage-blend);
	transform: rotate(var(--actor-collage-counter-tilt));
}

.actor-demo-hero::after {
	position: absolute;
	z-index: -1;
	right: 3%;
	bottom: 10%;
	width: clamp(9rem, 25vw, 21rem);
	aspect-ratio: 1;
	background: repeating-radial-gradient(circle at 35% 43%, var(--wp--preset--color--ink) 0 2px, transparent 2px 11px);
	clip-path: polygon(3% 29%, 58% 0, 100% 39%, 73% 97%, 19% 78%);
	content: "";
	opacity: 0.75;
	transform: rotate(var(--actor-collage-tilt));
}
.actor-demo-hero > * { margin-left: 0 !important; }

.actor-demo-hero > .has-small-font-size {
	display: inline-block;
	margin-bottom: clamp(2rem, 5vw, 5rem);
	padding: 0.35rem 0.55rem;
	color: var(--wp--preset--color--canvas) !important;
	background: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	transform: rotate(var(--actor-collage-tilt));
}

.actor-demo-hero > h2 {
	position: relative;
	z-index: 2;
	max-width: 7ch;
	margin-block: 0;
	font-size: clamp(5rem, 16vw, 13rem) !important;
	line-height: 0.72;
	text-shadow: 0.06em 0.05em 0 var(--wp--preset--color--surface);
}
.actor-demo-hero > .has-large-font-size { max-width: 29ch; margin: clamp(2.5rem, 5vw, 4.5rem) 0; font-family: var(--wp--preset--font-family--mono); font-weight: 700; line-height: 1.28; }
.actor-demo-hero .wp-block-buttons { position: relative; z-index: 3; align-items: stretch; gap: clamp(0.9rem, 2vw, 1.5rem); }
.actor-demo-hero .wp-block-button__link { display: flex; min-height: 3.35rem; align-items: center; justify-content: center; line-height: 1.1; text-align: center; }

.actor-demo-hero > .actor-current {
	background-color: color-mix(in srgb, var(--wp--preset--color--canvas) 82%, transparent);
}

body:has(.actor-demo-hero) .wp-block-post-content > .actor-media--header {
	width: min(86rem, calc(100% - 2rem));
	min-height: clamp(25rem, 58vw, 54rem);
	margin-top: clamp(-5rem, -6vw, -3rem);
	margin-bottom: 0;
	border: 4px solid var(--wp--preset--color--ink);
	box-shadow: 0.9rem 0.9rem 0 var(--actor-collage-mustard);
	transform: rotate(var(--actor-collage-tilt));
}
body:has(.actor-demo-hero) .wp-block-post-content > .actor-media--header img { filter: var(--actor-image-treatment); }
body:has(.actor-demo-hero) .wp-block-post-content > .actor-media--header::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(112deg, color-mix(in srgb, var(--actor-collage-petrol) 55%, transparent), transparent 43%, color-mix(in srgb, var(--wp--preset--color--accent) 35%, transparent)); content: ""; mix-blend-mode: var(--actor-collage-blend); pointer-events: none; }

body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) > h2 {
	position: relative;
	max-width: min(16ch, 100%);
	margin-right: auto;
	margin-bottom: clamp(3rem, 7vw, 6rem);
	margin-left: 0;
	font-size: clamp(3rem, 8vw, 8rem);
	overflow-wrap: normal;
	text-wrap: balance;
}

body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) > h2::after {
	position: absolute;
	right: -1.5rem;
	bottom: -0.25rem;
	left: 15%;
	z-index: -1;
	height: 0.32em;
	background: var(--wp--preset--color--accent);
	clip-path: polygon(0 35%, 100% 0, 96% 70%, 4% 100%);
	content: "";
}

.actor-demo-profile { position: relative; }
.actor-demo-profile .actor-profile-portrait { float: right; width: clamp(16rem, 34vw, 32rem); margin: 0 0 clamp(2rem, 5vw, 4rem) clamp(2rem, 6vw, 6rem); }
.actor-profile-portrait { position: relative; margin: 0; overflow: hidden; border: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: 0.65rem 0.65rem 0 var(--wp--preset--color--accent); }
.actor-profile-portrait::after { position: absolute; inset: 0; background: linear-gradient(145deg, transparent 42%, color-mix(in srgb, var(--actor-collage-petrol) 36%, transparent)); content: ""; mix-blend-mode: var(--actor-collage-blend); pointer-events: none; }
.actor-profile-portrait__image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; filter: var(--actor-image-treatment); }
.actor-demo-profile > p { max-width: 27ch; margin-left: 0; font-size: clamp(1.55rem, 3.5vw, 2.7rem); font-weight: 650; line-height: 1.2; }
.actor-demo-profile .wp-block-columns { clear: both; margin-top: var(--wp--preset--spacing--60); border-top: 3px solid var(--wp--preset--color--ink); border-bottom: 3px solid var(--wp--preset--color--ink); }
.actor-demo-profile .wp-block-column { padding: var(--wp--preset--spacing--40); }
.actor-demo-profile .wp-block-column + .wp-block-column { border-left: 3px solid var(--wp--preset--color--ink); }
.actor-demo-profile h3 { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); letter-spacing: 0.09em; }

.actor-demo-portfolio { position: relative; isolation: isolate; color: var(--wp--preset--color--contrast); background: var(--actor-collage-mustard); box-shadow: 50vw 0 0 var(--actor-collage-mustard), -50vw 0 0 var(--actor-collage-mustard); }
.actor-demo-portfolio::before { position: absolute; z-index: -1; top: 7%; right: -3vw; width: clamp(8rem, 18vw, 18rem); aspect-ratio: 1; background: var(--wp--preset--color--accent); clip-path: var(--actor-collage-shape); content: ""; opacity: 0.72; transform: rotate(var(--actor-collage-counter-tilt)); }
.actor-demo-portfolio .actor-portfolio-results { margin-right: 0; margin-left: 0; }
.actor-demo-portfolio .wp-block-post-template { grid-template-columns: repeat(3, minmax(18rem, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
.actor-demo-portfolio .wp-block-post-template > li { padding: 0 0 clamp(1.25rem, 2.5vw, 2rem); color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); border: 3px solid var(--wp--preset--color--ink); box-shadow: 0.55rem 0.55rem 0 var(--wp--preset--color--ink); }
.actor-demo-portfolio .wp-block-post-template > li:nth-child(3n + 1) { transform: rotate(var(--actor-collage-tilt)); }
.actor-demo-portfolio .wp-block-post-template > li:nth-child(3n + 2) { transform: translateY(1.5rem) rotate(var(--actor-collage-counter-tilt)); }
.actor-demo-portfolio .wp-block-post-template :where(.wp-block-post-title, .wp-block-post-excerpt) { padding-inline: var(--wp--preset--spacing--30); }
.actor-demo-portfolio .wp-block-post-template .wp-block-post-title { margin-top: clamp(1.1rem, 2vw, 1.65rem); font-size: clamp(1.8rem, 2.7vw, 3rem); }
.actor-demo-portfolio .wp-block-post-template .wp-block-post-excerpt { font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.55; }
.actor-demo-portfolio .wp-block-post-featured-image { margin: 0; border: 0; border-bottom: 3px solid var(--wp--preset--color--ink); box-shadow: none; }

.actor-demo-vita { background: var(--actor-collage-petrol); box-shadow: 50vw 0 0 var(--actor-collage-petrol), -50vw 0 0 var(--actor-collage-petrol); }
.actor-demo-vita > h2 { color: var(--wp--preset--color--surface); }
.actor-demo-vita .wp-block-post-template { counter-reset: vita; }

.actor-demo-vita .wp-block-post-template > li {
	display: grid;
	grid-template-columns: clamp(4rem, 11vw, 9rem) minmax(0, 1fr);
	column-gap: clamp(1rem, 3vw, 3rem);
	counter-increment: vita;
	align-items: start;
	padding: clamp(1.25rem, 3vw, 2.3rem) 0;
	color: var(--wp--preset--color--surface);
	border-top: 2px solid var(--wp--preset--color--surface);
}

.actor-demo-vita .wp-block-post-template > li::before {
	grid-row: 1;
	grid-column: 1;
	padding-top: 0.32em;
	color: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(1rem, 2vw, 1.5rem);
	font-weight: 700;
	content: counter(vita, decimal-leading-zero);
}

.actor-demo-vita .wp-block-post-template > li > .wp-block-group {
	grid-row: 1;
	grid-column: 2;
	width: 100%;
	margin: 0;
}
.actor-demo-vita h3 { margin-block: 0 0.35rem; font-size: clamp(1.7rem, 4vw, 3.3rem); }

.actor-demo-vita .wp-block-post-content,
.actor-demo-vita .wp-block-post-content > :first-child { margin-top: 0; }

.actor-demo-vita .actor-content-details--compact,
.actor-vita-list .actor-content-details--compact { margin: 0 0 0.55rem; padding: 0; color: var(--wp--preset--color--surface); font-size: clamp(1rem, 1.8vw, 1.35rem); letter-spacing: 0.04em; }

.actor-vita-list { color: var(--wp--preset--color--ink); background: var(--wp--preset--color--canvas); box-shadow: 50vw 0 0 var(--wp--preset--color--canvas), -50vw 0 0 var(--wp--preset--color--canvas); }
.actor-vita-list > :where(h1.wp-block-heading, .wp-block-query-title) { color: var(--wp--preset--color--ink); }
.actor-vita-list > .wp-block-query { width: 100%; max-width: none; }
.actor-vita-list .wp-block-post-template { display: block; counter-reset: vita; }
.actor-vita-list .wp-block-post-template > li { display: grid; grid-template-columns: clamp(4rem, 11vw, 9rem) minmax(0, 1fr); column-gap: clamp(1rem, 3vw, 3rem); counter-increment: vita; align-items: start; padding: clamp(1.5rem, 3.5vw, 2.8rem) 0; color: var(--wp--preset--color--ink); background: transparent; border: 0; border-top: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); box-shadow: none; }
.actor-vita-list .wp-block-post-template > li::before { grid-row: 1; grid-column: 1; padding-top: 0.32em; color: var(--wp--preset--color--accent); font-family: var(--wp--preset--font-family--mono); font-size: clamp(1rem, 2vw, 1.5rem); font-weight: 700; content: counter(vita, decimal-leading-zero); }
.actor-vita-list .wp-block-post-template > li > .wp-block-group { grid-row: 1; grid-column: 2; width: 100%; margin: 0; }
.actor-vita-list .wp-block-post-title { margin: 0 0 0.35rem; padding: 0; font-size: clamp(1.7rem, 4vw, 3.3rem); }

.actor-vita-list .wp-block-post-content,
.actor-vita-list .wp-block-post-content > :first-child { margin-top: 0; }
.actor-vita-list .actor-content-details--compact { color: var(--actor-collage-petrol); }

.actor-profile-page > .wp-block-post-title {
	width: 100%;
	max-width: min(10ch, var(--actor-layout-frame));
	margin-right: auto !important;
	margin-left: 0 !important;
	text-align: left !important;
}
.actor-profile-page__body { display: grid; grid-template-columns: minmax(16rem, 0.72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 7rem); width: 100%; max-width: var(--actor-layout-frame) !important; margin-left: 0 !important; align-items: start; }
.actor-profile-page__body > .actor-profile-portrait { grid-column: 1; width: 100%; }
.actor-profile-page__body > .wp-block-post-content { grid-column: 2; width: 100%; max-width: 52rem; margin: 0; }
.actor-profile-page__body:not(:has(.actor-profile-portrait)) > .wp-block-post-content { grid-column: 1 / -1; }
.actor-profile-page__body .wp-block-post-content > :first-child { margin-top: 0; }

.actor-demo-media .actor-mixed-gallery { gap: clamp(1rem, 3vw, 2rem); }
.actor-demo-media .actor-media { border: 3px solid var(--wp--preset--color--ink); box-shadow: 0.55rem 0.55rem 0 var(--wp--preset--color--ink); }
.actor-demo-media .actor-media:nth-child(2) { transform: translateY(2.5rem) rotate(var(--actor-collage-counter-tilt)); }
.actor-demo-media .actor-media:nth-child(3) { transform: rotate(var(--actor-collage-tilt)); }
.actor-demo-media .actor-media img { filter: var(--actor-image-treatment); }
.actor-demo-media figcaption { color: var(--wp--preset--color--canvas); background: var(--wp--preset--color--ink); }

.actor-demo-press { position: relative; color: var(--wp--preset--color--canvas); background: var(--wp--preset--color--ink); box-shadow: 50vw 0 0 var(--wp--preset--color--ink), -50vw 0 0 var(--wp--preset--color--ink); }
.actor-demo-press > h2 { color: var(--wp--preset--color--canvas); }
.actor-demo-press .wp-block-post-template { display: grid; grid-template-columns: repeat(12, 1fr); }
.actor-demo-press .wp-block-post-template > li { grid-column: span 7; padding: clamp(1.5rem, 4vw, 3rem); color: var(--wp--preset--color--ink); background: var(--wp--preset--color--surface); border: var(--actor-collage-stroke) solid var(--wp--preset--color--canvas); box-shadow: 0.6rem 0.6rem 0 var(--wp--preset--color--accent); transform: rotate(var(--actor-collage-tilt)); }
.actor-demo-press .wp-block-post-template > li:nth-child(even) { grid-column: 6 / span 7; transform: rotate(var(--actor-collage-counter-tilt)); }
.actor-demo-press .wp-block-post-excerpt { font-family: var(--wp--preset--font-family--mono); font-size: clamp(1.15rem, 2.4vw, 1.65rem); font-weight: 700; line-height: 1.35; }
.actor-demo-press a { color: var(--actor-collage-petrol); }

.actor-demo-journal .wp-block-post-template > li { padding-top: var(--wp--preset--spacing--30); border-top: 8px solid var(--wp--preset--color--ink); }
.actor-demo-journal .wp-block-post-template > li:nth-child(2) { border-color: var(--wp--preset--color--accent); }
.actor-demo-journal .wp-block-post-template > li:nth-child(3) { border-color: var(--actor-collage-petrol); }
.actor-demo-journal .wp-block-post-excerpt__more-link { display: inline-block; margin-top: 1rem; padding: 0.2rem 0.35rem; color: var(--wp--preset--color--canvas); background: var(--wp--preset--color--ink); font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); font-weight: 700; text-decoration: none; transform: rotate(-1deg); }

.actor-demo-contact {
	position: relative;
	margin-top: clamp(3rem, 8vw, 7rem) !important;
	border: 4px solid var(--wp--preset--color--ink);
	box-shadow: 0.85rem 0.85rem 0 var(--wp--preset--color--accent);
	transform: rotate(var(--actor-collage-tilt));
}
.actor-demo-contact::after { position: absolute; right: -1.5rem; bottom: -1.5rem; width: 4.5rem; aspect-ratio: 1; background: var(--actor-collage-mustard); clip-path: polygon(50% 0, 59% 39%, 100% 50%, 59% 61%, 50% 100%, 41% 61%, 0 50%, 41% 39%); content: ""; }
.actor-demo-contact h2 { max-width: 14ch; color: var(--wp--preset--color--base); font-size: clamp(3rem, 8vw, 7rem); }
.actor-demo-contact p { max-width: 43ch; }

/* The shared editor setting can calm collage grids without flattening the theme identity. */
.actor-card-layout--ordered .actor-listing .wp-block-post-template > li:nth-child(n),
.actor-card-layout--ordered .actor-demo-portfolio .wp-block-post-template > li:nth-child(n),
.actor-card-layout--ordered .actor-demo-media .actor-media:nth-child(n),
.actor-card-layout--ordered .actor-press-list .wp-block-post-template > li:nth-child(n),
.actor-card-layout--ordered .actor-related-card:nth-child(n) {
	transform: none;
}

.actor-card-layout--ordered .actor-listing .wp-block-post-template > li:hover .wp-block-post-featured-image img,
.actor-card-layout--ordered .actor-related-card:hover .actor-related-card__media img {
	transform: none;
}

.actor-card-layout--ordered .actor-listing--journal .wp-block-post-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.actor-card-layout--ordered .actor-listing--journal .wp-block-post-template > li:nth-child(n) {
	grid-column: auto;
}

.actor-card-layout--ordered .actor-demo-press .wp-block-post-template {
	gap: clamp(1.5rem, 3vw, 3rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.actor-card-layout--ordered .actor-demo-press .wp-block-post-template > li:nth-child(n) {
	grid-column: auto;
	transform: none;
}

.actor-card-layout--ordered .actor-genre-filter a:nth-child(n) {
	box-shadow: none;
	transform: none;
}

/* Current engagements follow the editorial list from the reviewed homepage concept. */
.actor-current {
	--actor-current-heading-gap: clamp(1.5rem, 2.5vw, 2.25rem);
	--actor-current-row-space: clamp(2rem, 3vw, 2.75rem);

	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(2.5rem, 5vw, 5rem) var(--actor-layout-edge);
	overflow: hidden;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--canvas);
}

.actor-current::after {
	position: absolute;
	z-index: -1;
	top: -28%;
	right: -8%;
	width: clamp(8rem, 20vw, 20rem);
	height: 75%;
	background: var(--actor-collage-petrol);
	clip-path: polygon(35% 0, 100% 0, 74% 100%, 0 82%);
	content: "";
	opacity: 0.12;
}

.actor-current__inner {
	width: min(100%, 100rem);
	margin-inline: auto;
}

.actor-current__heading {
	display: flex;
	margin: 0 0 var(--actor-current-heading-gap);
	gap: 1rem;
	align-items: center;
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.actor-current__heading::after {
	height: var(--actor-collage-stroke);
	flex: 1 1 auto;
	background: currentcolor;
	content: "";
}

.actor-current__list {
	border-bottom: var(--actor-collage-stroke) solid currentcolor;
}

.actor-current__item p {
	margin: 0;
}

.actor-current__item {
	display: grid;
	grid-template-columns: 3rem minmax(11rem, max-content) minmax(4rem, 1fr) clamp(10rem, 22vw, 19rem);
	grid-template-rows: auto auto;
	gap: clamp(0.9rem, 1.4vw, 1.2rem) clamp(0.75rem, 2vw, 1.5rem);
	align-items: center;
	padding: var(--actor-current-row-space) 0;
}

.actor-current__item:last-child {
	padding-bottom: calc(var(--actor-current-row-space) + 1.8rem);
}

.actor-current__item + .actor-current__item {
	border-top: 1px solid currentcolor;
}

.actor-current__item::before,
.actor-current__item::after {
	grid-row: 1;
	align-self: end;
	content: "";
}

.actor-current__item::before {
	height: 2px;
	grid-column: 3;
	background: var(--current-row-line, var(--wp--preset--color--ink));
}

.actor-current__item::after {
	height: clamp(1.35rem, 2.6vw, 2.1rem);
	grid-column: 4;
	background: var(--current-row-graphic, var(--actor-collage-mustard));
	clip-path: var(--current-row-shape, polygon(8% 0, 100% 0, 100% 100%, 0 100%));
}

.actor-current__item:nth-child(4n + 1) {
	--current-row-accent: var(--actor-collage-mustard);
	--current-row-graphic: var(--actor-collage-mustard);
}

.actor-current__item:nth-child(4n + 2) {
	--current-row-accent: var(--actor-collage-petrol);
	--current-row-line: var(--actor-collage-petrol);
	--current-row-graphic: linear-gradient(110deg, var(--actor-collage-petrol) 0 64%, var(--wp--preset--color--accent) 64%);
}

.actor-current__item:nth-child(4n + 3) {
	--current-row-accent: var(--wp--preset--color--accent);
	--current-row-line: var(--wp--preset--color--accent);
	--current-row-graphic: linear-gradient(135deg, var(--wp--preset--color--accent) 0 54%, var(--wp--preset--color--ink) 54%);
	--current-row-shape: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%, 8% 50%);
}

.actor-current__item:nth-child(4n) {
	--current-row-accent: var(--wp--preset--color--ink);
	--current-row-line: var(--actor-collage-mustard);
	--current-row-graphic: repeating-radial-gradient(circle at 75% 50%, var(--actor-collage-mustard) 0 0.12rem, transparent 0.14rem 0.3rem), var(--wp--preset--color--ink);
	--current-row-shape: polygon(0 0, 100% 0, 92% 100%, 8% 100%);
}

.actor-current__index,
.actor-current__role {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 800;
}

.actor-current__index {
	grid-row: 1;
	grid-column: 1;
	align-self: start;
	color: var(--current-row-accent, var(--wp--preset--color--accent));
	font-size: clamp(1.4rem, 2.2vw, 2rem);
	font-variant-numeric: tabular-nums;
	line-height: 1;
}

.actor-current__place {
	grid-row: 1;
	grid-column: 2;
	align-self: start;
	min-width: 0;
	font-size: clamp(1.5rem, 2.5vw, 2.5rem);
	font-weight: 800;
	line-height: 1;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	text-transform: uppercase;
}

.actor-current__description {
	display: flex;
	grid-row: 2;
	grid-column: 2 / -1;
	min-width: 0;
	flex-wrap: wrap;
	gap: 0.3rem 0.65rem;
	align-items: baseline;
}

.actor-current__role {
	font-size: clamp(1rem, 1.55vw, 1.35rem);
	line-height: 1.3;
	text-transform: uppercase;
}

.actor-current__detail {
	color: var(--wp--preset--color--muted);
	font-size: clamp(1rem, 1.4vw, 1.2rem);
	line-height: 1.45;
}

.actor-current__detail::before {
	content: "· ";
}

.actor-current.is-style-compact {
	color: var(--wp--preset--color--canvas);
	background: var(--wp--preset--color--ink);
}

.actor-current.is-style-compact .actor-current__inner {
	width: min(100%, 110rem);
}

.actor-current.is-style-compact .actor-current__heading,
.actor-current.is-style-compact .actor-current__index {
	color: var(--actor-collage-mustard);
}

.actor-current.is-style-compact .actor-current__list {
	border-color: color-mix(in srgb, currentcolor 50%, transparent);
}

.actor-current.is-style-compact .actor-current__item {
	grid-template-columns: 2.5rem minmax(10rem, max-content) minmax(3rem, 1fr) clamp(8rem, 18vw, 14rem);
	padding-block: clamp(0.9rem, 1.8vw, 1.4rem);
}

.actor-current.is-style-compact .actor-current__item:nth-child(n) {
	color: inherit;
	background: transparent;
}

.actor-current.is-style-compact .actor-current__item + .actor-current__item {
	border-color: color-mix(in srgb, currentcolor 28%, transparent);
}

.actor-current.is-style-compact .actor-current__place {
	font-size: clamp(1.4rem, 2.5vw, 2.5rem);
}

.actor-current.is-style-compact .actor-current__detail {
	color: color-mix(in srgb, currentcolor 72%, transparent);
}

@media (width <= 48rem) {
	.actor-current__item,
	.actor-current.is-style-compact .actor-current__item {
		grid-template-columns: 2.5rem minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		gap: 0.45rem 0.75rem;
		align-items: start;
		padding-block: 1.65rem;
	}

	.actor-current__item:last-child,
	.actor-current.is-style-compact .actor-current__item:last-child {
		padding-bottom: 1.2rem;
	}

	.actor-current__index {
		grid-row: 1;
	}

	.actor-current__place,
	.actor-current__description {
		grid-column: 2;
	}

	.actor-current__item::before {
		display: none;
	}

	.actor-current__item::after {
		width: min(100%, 14rem);
		height: 1rem;
		grid-row: 3;
		grid-column: 2;
		margin-top: 0.3rem;
	}

	.actor-current__place {
		font-size: clamp(1.45rem, 8vw, 2.35rem);
	}

}

/* Ultrawide screens keep the full-width stage, but compose images as large editorial spreads. */
@media (width >= 100rem) {
	body:has(.actor-demo-hero) .wp-block-post-content > .actor-media--header {
		width: calc(100% - var(--actor-layout-edge) - var(--actor-layout-edge));
		min-height: clamp(46rem, 40vw, 64rem);
	}

	.actor-demo-profile {
		display: grid;
		grid-template-columns: minmax(28rem, 0.82fr) minmax(42rem, 1.18fr);
		column-gap: clamp(6rem, 10vw, 13rem);
		align-items: start;
	}

	.actor-demo-profile > h2,
	.actor-demo-profile > .wp-block-columns { grid-column: 1 / -1; }

	.actor-demo-profile .actor-profile-portrait {
		grid-row: 2 / span 2;
		grid-column: 2;
		justify-self: end;
		float: none;
		width: min(100%, 54rem);
		margin: 0;
	}

	.actor-demo-profile > p {
		grid-row: 2;
		grid-column: 1;
		max-width: 24ch;
		margin-top: clamp(2rem, 5vw, 6rem);
		font-size: clamp(2.25rem, 2.5vw, 3.75rem);
	}

	.actor-demo-profile > .wp-block-columns {
		grid-row: 4;
		margin-top: clamp(5rem, 8vw, 9rem);
	}

	.actor-profile-page__body {
		position: relative;
		grid-template-columns: minmax(28rem, 43rem) minmax(36rem, 52rem) minmax(0, 1fr);
		gap: clamp(3rem, 4vw, 6rem);
		max-width: none !important;
	}

	.actor-profile-page__body > .actor-profile-portrait { max-width: 43rem; }

	.actor-profile-page__body::after {
		grid-row: 1;
		grid-column: 3;
		width: min(100%, 30rem);
		aspect-ratio: 0.78;
		place-self: center end;
		background:
			repeating-radial-gradient(circle at 64% 34%, var(--wp--preset--color--ink) 0 2px, transparent 2px 13px),
			linear-gradient(145deg, var(--wp--preset--color--accent) 0 37%, transparent 37% 51%, var(--actor-collage-petrol) 51% 100%);
		clip-path: var(--actor-collage-shape);
		content: "";
		opacity: 0.82;
		transform: rotate(var(--actor-collage-counter-tilt));
	}
}

@media (width <= 64rem) {
	.actor-demo-portfolio .wp-block-post-template,
	.actor-demo-journal .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.actor-demo-hero { min-height: clamp(36rem, 84vw, 48rem); }
	.actor-demo-hero > h2 { font-size: clamp(5rem, 18vw, 10rem) !important; }
	.actor-demo-press .wp-block-post-template > li { grid-column: span 8; }
	.actor-demo-press .wp-block-post-template > li:nth-child(even) { grid-column: 5 / span 8; }
	.actor-related-content__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.actor-listing .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.actor-listing--journal .wp-block-post-template > li:nth-child(n) { grid-column: auto; }
}

@media (width <= 48rem) {
	body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) { padding-top: 4.5rem; padding-bottom: 4.5rem; }
	.actor-demo-hero { min-height: max(35rem, 82svh); }
	.actor-demo-hero::before { right: -7rem; opacity: 0.75; }
	.actor-demo-hero::after { opacity: 0.35; }
	.actor-demo-hero > h2 { font-size: var(--wp--custom--buehneundnetz-actor-portfolio--collage--mobile-hero-size, clamp(4.5rem, 24vw, 7.5rem)) !important; }
	.actor-demo-hero > .has-large-font-size { max-width: 23ch; font-size: clamp(1.1rem, 5vw, 1.45rem) !important; }
	body:has(.actor-demo-hero) .wp-block-post-content > .actor-media--header { width: calc(100% - 1.5rem); min-height: clamp(22rem, 118vw, 34rem); margin-top: -4rem; box-shadow: 0.45rem 0.45rem 0 var(--actor-collage-mustard); }
	body:has(.actor-demo-hero) .wp-block-post-content > :where(.actor-demo-profile, .actor-demo-portfolio, .actor-demo-vita, .actor-demo-media, .actor-demo-press, .actor-demo-journal) > h2 { max-width: 100%; margin-bottom: 2.75rem; font-size: var(--wp--custom--buehneundnetz-actor-portfolio--collage--mobile-section-size, clamp(2.8rem, 14vw, 5rem)); }
	.actor-demo-profile .wp-block-column + .wp-block-column { border-top: 3px solid var(--wp--preset--color--ink); border-left: 0; }
	.actor-demo-profile .actor-profile-portrait { float: none; width: min(100%, 26rem); margin: 0 0 2.5rem; }
	.actor-profile-page__body { grid-template-columns: minmax(0, 1fr); }

	.actor-profile-page__body > .actor-profile-portrait,
	.actor-profile-page__body > .wp-block-post-content { grid-column: 1; }
	.actor-profile-page__body > .actor-profile-portrait { width: min(100%, 26rem); }

	.actor-demo-portfolio .wp-block-post-template,
	.actor-demo-journal .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.actor-demo-portfolio .wp-block-post-template > li:nth-child(n) { transform: none; }
	.actor-demo-media .actor-media:nth-child(n) { transform: none; }
	.actor-demo-press .wp-block-post-template { display: block; }
	.actor-demo-press .wp-block-post-template > li:nth-child(n) { width: 100%; margin-bottom: 1.5rem; transform: none; }
	.actor-demo-contact { width: calc(100% - var(--actor-layout-edge) - var(--actor-layout-edge)); }
	.actor-demo-contact h2 { max-width: 14ch; font-size: clamp(2.75rem, 14vw, 5rem); overflow-wrap: normal; }
	.actor-demo-vita .wp-block-post-template > li { grid-template-columns: 3.25rem minmax(0, 1fr); column-gap: 0.75rem; }
	.actor-demo-vita h3 { font-size: clamp(1.65rem, 8vw, 2.6rem); }
	.actor-vita-list .wp-block-post-template > li { grid-template-columns: 3.25rem minmax(0, 1fr); column-gap: 0.75rem; }
	.actor-vita-list .wp-block-post-title { font-size: clamp(1.65rem, 8vw, 2.6rem); }
	.actor-related-content__grid { grid-template-columns: minmax(0, 1fr); }
	.actor-related-card { box-shadow: 0.25rem 0.25rem 0 var(--wp--preset--color--ink); }
	.actor-listing .wp-block-post-template { grid-template-columns: minmax(0, 1fr); }
	.actor-content-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.actor-content-details > div { padding: 0.75rem; border: 0 !important; }
	.actor-content-details > div:nth-child(odd) { padding-left: 0; }
}

@media (width <= 34rem) {
	.actor-site-header { gap: 0.75rem; }
	.actor-site-header .wp-block-site-title { max-width: 11ch; }
	.actor-language-switcher { padding-top: 0.6rem; padding-left: 0; border-top: var(--actor-collage-stroke) solid var(--wp--preset--color--ink); border-left: 0; }

	.actor-site-footer__row,
	.actor-site-footer__navigation { align-items: flex-start; flex-direction: column; }
	.actor-footer-legal { padding-top: 1rem; padding-left: 0; border-top: var(--actor-collage-stroke) solid var(--wp--preset--color--accent); border-left: 0; }
	.actor-footer-legal__list { align-items: flex-start; flex-direction: column; }
	.actor-demo-hero .wp-block-buttons { align-items: stretch; flex-direction: column; }

	.actor-demo-hero .wp-block-button,
	.actor-demo-hero .wp-block-button__link { width: 100%; }
	.actor-demo-profile > p { font-size: clamp(1.3rem, 6vw, 1.8rem); }
	.actor-demo-profile .wp-block-column { padding-inline: 0; }
	.actor-demo-profile .wp-block-columns { border-right: 0; border-left: 0; }
}

@media (width <= 30rem) {
	:where(main#actor-main h1, main#actor-main h2, main#actor-main h3) {
		max-width: 100%;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: manual;
	}

	.actor-demo-contact h2 { max-width: 9ch; }
	.actor-detail > .wp-block-post-title { white-space: normal; text-wrap: balance; }
	.actor-related-content > h2 { white-space: normal; text-wrap: balance; }

	.actor-listing--projects .wp-block-post-template > li:nth-child(n),
	.actor-listing--press .wp-block-post-template > li:nth-child(n),
	.actor-listing--journal .wp-block-post-template > li:nth-child(n) { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.actor-media :where(video) { animation: none; }
}

@media (width <= 48rem) {
	.actor-mixed-gallery { grid-template-columns: minmax(0, 1fr) !important; }
	:where(.actor-site-header) { align-items: center; }
	:where(.actor-site-footer .wp-block-navigation ul) { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	:where(html) { scroll-behavior: auto; }
	:where(*, *::before, *::after) { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
}

@media (forced-colors: active) {
	:where(a, button, input, textarea, select, summary):focus-visible { outline-color: Highlight; }
	:where(.is-style-actor-surface, input, textarea, select, button) { border-color: CanvasText; box-shadow: none; }
	:where(.wp-element-button, .wp-block-button__link, button) { color: ButtonText; background: ButtonFace; }
}

@media (width <= 48rem) {
	.actor-site-header .wp-block-navigation__responsive-container-open,
	.actor-site-header .wp-block-navigation__responsive-container-close {
		display: grid;
		min-height: 2.75rem;
		min-width: 2.75rem;
		padding: 0.625rem;
		place-items: center;
	}

	.actor-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		align-items: center;
		display: flex;
		min-height: 2.75rem;
		padding-block: 0.65rem;
	}
}
