/*
 * Firmesk Music Core – structural styles for the data blocks.
 * Colours and fonts come from the active theme (theme.json presets) with neutral fallbacks,
 * so the blocks keep working after a theme switch.
 */
.fmc-field { --fmc-muted: var(--wp--preset--color--graphite, color-mix(in srgb, currentColor 65%, transparent)); }
.fmc-label { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-family: var(--wp--preset--font-family--sans, inherit); font-weight: 500; }
.fmc-label--heading { display: block; font-family: var(--wp--preset--font-family--serif, inherit); font-size: var(--wp--preset--font-size--title-2, 1.75rem); letter-spacing: 0; text-transform: none; font-weight: 400; color: inherit; margin: 0 0 1rem; }
.fmc-field.has-label-inline .fmc-label { margin-right: .5em; }
.is-style-fmc-lead, .fmc-field.is-style-fmc-lead { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: var(--wp--preset--font-size--lead, clamp(1.25rem, 1.1rem + .6vw, 1.625rem)); font-weight: 300; line-height: 1.45; }
.is-style-fmc-statement { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: var(--wp--preset--font-size--display, clamp(2.5rem, 1.6rem + 3.6vw, 5rem)); font-weight: 300; line-height: 1.05; letter-spacing: -.01em; }
.is-style-fmc-meta, .fmc-sub.is-style-fmc-meta { font-family: var(--wp--preset--font-family--sans, inherit); font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--graphite, inherit); font-variant-numeric: tabular-nums; }
.is-style-fmc-strong { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 1.15em; }
.fmc-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--sans, inherit); font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; list-style: none; text-decoration: underline; text-underline-offset: .25em; }
.fmc-details summary::-webkit-details-marker { display: none; }
.fmc-details summary::after { content: " +"; }
.fmc-details[open] summary::after { content: " –"; }
.fmc-details__body { margin-top: 1.5rem; }
.fmc-sep { color: var(--wp--preset--color--stone, inherit); }
.fmc-download { text-decoration: underline; text-underline-offset: .2em; }
.fmc-file-meta { font-size: .8em; color: var(--wp--preset--color--graphite, inherit); letter-spacing: .04em; }
.fmc-list { margin: 0; padding: 0; list-style: none; }
.fmc-rows { margin: 0; padding: 0; list-style: none; }
.fmc-rows li + li { margin-top: .4em; }

/* Gallery field: rendered with core image blocks (native lightbox). */
.fmc-gallery { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--wp--style--block-gap, 24px); }
.fmc-gallery > .wp-block-image { grid-column: span 6; margin: 0; }
.fmc-gallery > .wp-block-image:nth-child(3n+1) { grid-column: 1 / span 8; }
.fmc-gallery > .wp-block-image:nth-child(3n+2) { grid-column: 9 / span 4; align-self: end; }
.fmc-gallery > .wp-block-image:nth-child(3n) { grid-column: 3 / span 7; }
.fmc-gallery img { width: 100%; height: auto; display: block; }
@media (max-width: 781px) { .fmc-gallery > .wp-block-image, .fmc-gallery > .wp-block-image:nth-child(n) { grid-column: 1 / -1; } }

/* Datasheet */
.fmc-datasheet { margin: 0; font-family: var(--wp--preset--font-family--sans, inherit); }
.fmc-datasheet__row { display: grid; grid-template-columns: minmax(8rem, 1fr) 3fr; gap: 1.5rem; padding: .6rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-datasheet__row:last-child { border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-datasheet dt { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; padding-top: .15em; }
.fmc-datasheet dd { margin: 0; }
.fmc-datasheet.is-layout-stacked .fmc-datasheet__row { grid-template-columns: 1fr; gap: .25rem; }
@media (max-width: 600px) { .fmc-datasheet__row { grid-template-columns: 1fr; gap: .25rem; } }
p.fmc-datasheet.is-layout-inline { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; }

/* Repeater */
.fmc-repeater__heading { font-family: var(--wp--preset--font-family--serif, inherit); font-weight: 400; }
.fmc-repeater__list { list-style: none; margin: 0; padding: 0; }
.fmc-repeater__row { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; padding: .7rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); align-items: baseline; }
.fmc-repeater__row:last-child { border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-repeater__row > .fmc-sub--year, .fmc-repeater__row > .fmc-sub--date { min-width: 4.5rem; }
.fmc-repeater__table { width: 100%; border-collapse: collapse; }
.fmc-repeater__table td { padding: .55rem 1.5rem .55rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); vertical-align: baseline; }
.fmc-repeater__table tr:last-child td { border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-repeater__table td:first-child { width: 34%; }
.fmc-repeater.is-layout-columns .fmc-repeater__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: 1.5rem; }
.fmc-repeater.is-layout-columns .fmc-repeater__row { flex-direction: column; border: 0; }
@media (max-width: 600px) { .fmc-repeater__table td { display: block; padding: .2rem 0; border: 0; width: auto !important; } .fmc-repeater__table tr { display: block; padding: .6rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); } }

/* Hero */
.fmc-hero { margin-block-end: var(--wp--preset--spacing--60, 64px); }
.fmc-hero__figure { margin: 0; }
.fmc-hero__picture, .fmc-hero__img { display: block; width: 100%; }
.fmc-hero__img { height: var(--fmc-hero-h, 85vh); max-height: 1100px; object-fit: cover; object-position: var(--fmc-pos-d, 50% 50%); background: var(--wp--preset--color--black, #0e0e0d); }
@media (max-width: 781px) { .fmc-hero__img { height: auto; max-height: 88svh; aspect-ratio: auto; object-position: var(--fmc-pos-m, 50% 50%); } }
.fmc-hero__caption { font-size: var(--wp--preset--font-size--caption, .8125rem); color: var(--wp--preset--color--graphite, inherit); text-align: right; margin-top: .75rem; padding-inline: var(--wp--style--root--padding-right, 16px); }
.fmc-hero__text { max-width: var(--wp--style--global--wide-size, 1280px); margin: 2.5rem auto 0; padding-inline: var(--wp--style--root--padding-left, 16px); }
.fmc-hero__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-weight: 400; font-size: var(--wp--preset--font-size--title-1, clamp(2rem, 1.5rem + 2vw, 3.25rem)); line-height: 1.1; margin: 0; }
.fmc-hero__original { margin: .5rem 0 0; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; color: var(--wp--preset--color--graphite, inherit); }
.fmc-hero__meta { margin: 1rem 0 0; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; font-variant-numeric: tabular-nums; }
.fmc-hero.is-layout-typographic .fmc-hero__text { margin: 0 auto 2.5rem; }
.fmc-hero.is-layout-typographic .fmc-hero__title { font-size: var(--wp--preset--font-size--display, clamp(2.5rem, 1.6rem + 3.6vw, 5rem)); font-weight: 300; line-height: 1.02; max-width: 16ch; }
@media (min-width: 782px) {
	.fmc-hero.is-layout-offset { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: end; }
	.fmc-hero.is-layout-offset .fmc-hero__text { grid-column: 1 / span 3; grid-row: 1; margin: 0; padding-inline-start: var(--wp--style--root--padding-left, 16px); padding-inline-end: 0; }
	.fmc-hero.is-layout-offset .fmc-hero__figure { grid-column: 4 / -1; grid-row: 1; }
	.fmc-hero.is-layout-offset .fmc-hero__img { height: var(--fmc-hero-h, 75vh); }
}
.fmc-hero__empty { padding: 20vh 1rem; text-align: center; border: 1px dashed currentColor; opacity: .6; }

/* Archive – gallery */
.fmc-archive__views { display: flex; gap: 1.25rem; margin-bottom: 2.5rem; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; font-weight: 500; }
.fmc-archive__views a { text-decoration: none; color: var(--wp--preset--color--graphite, inherit); }
.fmc-archive__views a[aria-current] { color: inherit; text-decoration: underline; text-underline-offset: .35em; }
.fmc-gallery-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; row-gap: clamp(64px, 8vw, 128px); }
.fmc-card { margin: 0; }
.fmc-card.size-large { grid-column: span 8; }
.fmc-card.size-medium { grid-column: span 6; }
.fmc-card.size-small { grid-column: span 4; }
.fmc-card.size-small.pos-1, .fmc-card.size-medium.pos-1 { margin-top: clamp(40px, 7vw, 104px); }
.fmc-card.size-medium.pos-2 { grid-column: 3 / span 6; }
.fmc-card.size-small.pos-3 { grid-column: 8 / span 4; }
.fmc-card.size-large.pos-3 { grid-column: 4 / span 8; }
.fmc-card__link { display: block; text-decoration: none; color: inherit; }
.fmc-card__media { display: block; overflow: hidden; background: var(--wp--preset--color--ash, #d9d3c8); aspect-ratio: 16 / 9; }
.fmc-card.size-small .fmc-card__media { aspect-ratio: 4 / 5; }
.fmc-card.size-large .fmc-card__media { aspect-ratio: 2.39 / 1; }
.fmc-card__img, .fmc-card__noimg { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .4s ease; }
.fmc-card__title { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: var(--wp--preset--font-size--title-3, 1.5rem); line-height: 1.2; }
.fmc-card__meta { display: block; margin-top: .35rem; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; }
.fmc-card__link:hover .fmc-card__img, .fmc-card__link:focus-visible .fmc-card__img { opacity: .85; }
.fmc-card__link:hover .fmc-card__title, .fmc-card__link:focus-visible .fmc-card__title { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
@media (max-width: 781px) { .fmc-gallery-grid { grid-template-columns: 1fr; row-gap: 64px; } .fmc-gallery-grid > .fmc-card { grid-column: 1 / -1 !important; margin-top: 0 !important; } }
.fmc-archive__more { margin-top: 3rem; }
.fmc-archive__more a { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; font-weight: 500; }

/* Archive – index */
.fmc-archive__filters { display: grid; gap: .5rem; margin-bottom: 2rem; font-size: var(--wp--preset--font-size--small, .875rem); }
.fmc-filter { margin: 0; display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.fmc-filter__label { min-width: 5rem; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; }
.fmc-filter a { color: var(--wp--preset--color--graphite, inherit); text-decoration: none; }
.fmc-filter a[aria-current] { color: inherit; text-decoration: underline; text-underline-offset: .3em; }
.fmc-index { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.fmc-index th { text-align: left; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); font-weight: 500; padding: 0 1rem .75rem 0; border-bottom: 1px solid currentColor; }
.fmc-index td { padding: .8rem 1rem .8rem 0; border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); vertical-align: baseline; }
.fmc-index tr.is-first-of-year td { border-top: 1px solid var(--wp--preset--color--stone, rgba(0,0,0,.3)); }
.fmc-index__year { width: 5rem; font-weight: 500; }
.fmc-index__title a { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 1.15em; text-decoration: none; color: inherit; }
.fmc-index__title a:hover, .fmc-index__title a:focus-visible { text-decoration: underline; }
.fmc-index__orig { display: block; font-size: .85em; color: var(--wp--preset--color--graphite, inherit); font-style: italic; }
@media (max-width: 781px) {
	.fmc-index thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.fmc-index tr { display: grid; grid-template-columns: 4rem 1fr; padding: .8rem 0; border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
	.fmc-index td { border: 0; padding: .1rem .5rem .1rem 0; grid-column: 2; }
	.fmc-index td.fmc-index__year { grid-column: 1; grid-row: 1 / span 5; }
	.fmc-index td:empty { display: none; }
}

/* CV */
.fmc-cv__section + .fmc-cv__section { margin-top: clamp(40px, 6vw, 80px); }
.fmc-cv__title { font-family: var(--wp--preset--font-family--serif, inherit); font-weight: 400; font-size: var(--wp--preset--font-size--title-2, 1.75rem); margin: 0 0 1rem; }
.fmc-cv__list { list-style: none; margin: 0; padding: 0; }
.fmc-cv__entry { display: grid; grid-template-columns: 7rem 1fr; gap: 1.5rem; padding: .7rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-cv__when { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--graphite, inherit); }
.fmc-cv__what { display: flex; flex-direction: column; gap: .15rem; }
.fmc-cv__name cite { font-style: italic; }
.fmc-cv__sub, .fmc-cv__note { color: var(--wp--preset--color--graphite, inherit); font-size: .92em; }
@media (max-width: 600px) { .fmc-cv__entry { grid-template-columns: 1fr; gap: .2rem; } }
.fmc-cv__tools { display: flex; gap: 1.5rem; margin-bottom: 2rem; }
/* CV details (since 1.4.0) */
.fmc-cv__badge { align-self: flex-start; font-size: .72em; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--signal, #8a2b1e); margin-bottom: .1rem; }
.fmc-cv__entry.is-highlight .fmc-cv__name { font-weight: 600; }
.fmc-cv__extra { display: flex; flex-wrap: wrap; column-gap: 1.2rem; row-gap: .1rem; font-size: .88em; color: var(--wp--preset--color--graphite, #5e5a54); }
.fmc-cv__extra-label { color: var(--wp--preset--color--stone, #8c877f); }
.fmc-cv.is-split .fmc-cv__section { display: grid; grid-template-columns: 27.9% 55.1%; column-gap: 8%; align-items: start; }
.fmc-cv.is-split .fmc-cv__section + .fmc-cv__section { margin-top: clamp(48px, 7vw, 88px); }
.fmc-cv.is-split .fmc-cv__title { font-family: 'Newsreader', var(--wp--preset--font-family--serif, Georgia), serif; font-weight: 300; font-size: clamp(30px, 3vw, 40px); line-height: 1.1; margin: 0; padding: 0; }
.fmc-cv.is-split .fmc-cv__entry:first-child { border-top-color: var(--wp--preset--color--ash, #d9d3c8); }
@media (max-width: 980px) { .fmc-cv.is-split .fmc-cv__section { grid-template-columns: 1fr; row-gap: 20px; } }
.fmc-textbutton { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: .25em; cursor: pointer; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; font-weight: 500; }

/* Contact */
.fmc-contact__email { font-family: var(--wp--preset--font-family--serif, inherit); font-size: var(--wp--preset--font-size--title-2, 1.75rem); margin: 0 0 3rem; }
.fmc-contact__field { display: flex; flex-direction: column; gap: .4rem; margin: 0 0 1.5rem; }
.fmc-contact__field label { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .06em; text-transform: uppercase; font-weight: 500; color: var(--wp--preset--color--graphite, inherit); }
.fmc-contact__field input, .fmc-contact__field textarea, .fmc-screener__form input { font: inherit; color: inherit; background: var(--wp--preset--color--white, #fff); border: 1px solid var(--wp--preset--color--stone, #8c877f); border-radius: 2px; padding: .7rem .8rem; width: 100%; box-sizing: border-box; }
.fmc-contact__field input:focus, .fmc-contact__field textarea:focus, .fmc-screener__form input:focus { outline: 2px solid currentColor; outline-offset: 2px; border-color: currentColor; }
.fmc-contact__privacy { font-size: .875rem; color: var(--wp--preset--color--graphite, inherit); max-width: 36rem; }
.fmc-contact__submit { font-size: var(--wp--preset--font-size--small, .9rem); }
.fmc-contact__done, .fmc-contact__error { padding: 1rem 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; margin-bottom: 2rem; }
.fmc-contact__error { color: var(--wp--preset--color--signal, #8a2b1e); }
.fmc-contact__done:focus { outline: none; }
.fmc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Video */
.fmc-video__frame { position: relative; aspect-ratio: 16 / 9; background: var(--wp--preset--color--black, #0e0e0d); overflow: hidden; }
.fmc-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fmc-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .7; }
.fmc-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; cursor: pointer; color: #fff; width: 100%; }
.fmc-video__label { font-family: var(--wp--preset--font-family--sans, inherit); font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; border-bottom: 1px solid currentColor; padding-bottom: .2rem; }
.fmc-video__label::before { content: "▶"; margin-right: .6em; font-size: .9em; }
.fmc-video__play:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.fmc-video__note, .fmc-screener__for { font-size: .8125rem; color: var(--wp--preset--color--graphite, inherit); margin-top: .6rem; }
.fmc-video__screener { margin-top: 1rem; }

/* Screener */
.fmc-screener__label { font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--graphite, inherit); }
.fmc-screener__title { font-family: var(--wp--preset--font-family--serif, inherit); font-weight: 400; margin: .3rem 0 2rem; }
.fmc-screener__form { max-width: 26rem; }
.fmc-screener__form label { display: block; margin-bottom: .4rem; }

/* Language switcher */
.fmc-lang { display: inline-flex; gap: .2rem; align-items: baseline; font-size: var(--wp--preset--font-size--small, .875rem); letter-spacing: .04em; }
.fmc-lang a { text-decoration: none; color: var(--wp--preset--color--graphite, inherit); }
.fmc-lang a:hover, .fmc-lang a:focus-visible { color: inherit; text-decoration: underline; }
.fmc-lang abbr { text-decoration: none; }

/* Composition styles for core blocks (Visual Essays) */
.wp-block-image.is-style-fmc-offset-left { width: 58%; margin-inline: 0 auto !important; }
.wp-block-image.is-style-fmc-offset-right { width: 50%; margin-inline: auto 0 !important; }
.wp-block-image.is-style-fmc-narrow { width: 34%; margin-inline: auto !important; }
.wp-block-image.is-style-fmc-offset-left img, .wp-block-image.is-style-fmc-offset-right img, .wp-block-image.is-style-fmc-narrow img { width: 100%; height: auto; }
@media (max-width: 781px) { .wp-block-image.is-style-fmc-offset-left, .wp-block-image.is-style-fmc-offset-right { width: 100%; } .wp-block-image.is-style-fmc-narrow { width: 66%; } }
.wp-block-columns.is-style-fmc-diptych { gap: clamp(16px, 3vw, 48px); align-items: flex-end; }
.wp-block-columns.is-style-fmc-diptych .wp-block-image { margin: 0; }
.wp-block-gallery.is-style-fmc-sequence { gap: 8px; }
.wp-block-image figcaption, .fmc-gallery figcaption { font-size: var(--wp--preset--font-size--caption, .8125rem); color: var(--wp--preset--color--graphite, inherit); text-align: left; margin-top: .75rem; }

/* Editor-only placeholder (only ever rendered in REST previews) */
.fmc-placeholder { border: 1px dashed currentColor; opacity: .6; padding: 12px 16px; font-size: 13px; }

@media print {
	.fmc-cv__tools, .fmc-video, .fmc-archive__views, .fmc-archive__filters { display: none !important; }
	.fmc-cv__entry { break-inside: avoid; }
	.fmc-cv__section { break-inside: auto; }
	.fmc-cv__title { break-after: avoid; }
}
.fmc-lang.is-placeholder { opacity: .45; }

/* ---------- Portfolio-Abschnitt: variants ---------- */
.fmc-card.has-ar .fmc-card__media { aspect-ratio: var(--fmc-ar) !important; }
.fmc-card__body { display: block; }
.fmc-card__original { display: block; margin-top: .25rem; font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-style: italic; color: var(--wp--preset--color--graphite, inherit); }
.fmc-card__text { display: block; margin-top: .6rem; max-width: 46ch; color: inherit; }
.fmc-card__more { display: inline-block; margin-top: .8rem; font-size: var(--wp--preset--font-size--meta, .8125rem); letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.fmc-gallery-grid { gap: var(--fmc-gap, clamp(64px, 8vw, 128px)) 24px; }

.fmc-coll-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--fmc-cols-d, 3), minmax(0, 1fr)); gap: var(--fmc-gap, clamp(32px, 4vw, 56px)) var(--fmc-gap, 24px); }
.fmc-coll-grid .fmc-card { grid-column: auto; margin: 0; }
.fmc-coll-grid .fmc-card__media { aspect-ratio: var(--fmc-ar, 3 / 2); }
@media (max-width: 1024px) { .fmc-coll-grid { grid-template-columns: repeat(var(--fmc-cols-t, 2), minmax(0, 1fr)); } }
@media (max-width: 600px) { .fmc-coll-grid { grid-template-columns: repeat(var(--fmc-cols-m, 1), minmax(0, 1fr)); } }

.fmc-coll-feature { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fmc-gap, clamp(64px, 9vw, 140px)); }
.fmc-coll-feature .fmc-card__link { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 24px 40px; align-items: end; }
.fmc-coll-feature .fmc-card:nth-child(even) .fmc-card__link { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
.fmc-coll-feature .fmc-card:nth-child(even) .fmc-card__media { order: 2; }
.fmc-coll-feature .fmc-card__media { aspect-ratio: var(--fmc-ar, 2.39 / 1); }
.fmc-coll-feature .fmc-card__title { font-size: var(--wp--preset--font-size--title-2, 2rem); }
@media (max-width: 781px) { .fmc-coll-feature .fmc-card__link, .fmc-coll-feature .fmc-card:nth-child(even) .fmc-card__link { grid-template-columns: 1fr; } .fmc-coll-feature .fmc-card:nth-child(even) .fmc-card__media { order: 0; } }

.fmc-coll-list { list-style: none; margin: 0; padding: 0; }
.fmc-coll-list__row { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1.5rem; padding: .8rem 0; border-top: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); align-items: baseline; }
.fmc-coll-list__row:last-child { border-bottom: 1px solid var(--wp--preset--color--ash, rgba(0,0,0,.12)); }
.fmc-coll-list__year { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--graphite, inherit); }
.fmc-coll-list__main { display: flex; flex-wrap: wrap; gap: .2rem 1.25rem; align-items: baseline; }
.fmc-coll-list__thumb img { width: 96px; height: 54px; object-fit: cover; display: block; }
.fmc-coll-list__title a { text-decoration: none; }
.fmc-coll-list__title { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 1.15em; }
.fmc-coll-list__meta { color: var(--wp--preset--color--graphite, inherit); font-size: .92em; }
.fmc-coll-list__text { flex-basis: 100%; color: var(--wp--preset--color--graphite, inherit); font-size: .92em; }
.fmc-collection:not(.is-layout-list) .fmc-coll-list__row { display: grid; }
@media (max-width: 600px) { .fmc-coll-list__row { grid-template-columns: 1fr; gap: .2rem; } }

/* ---------- Contact page /contact/ (since 1.4.0) ---------- */
.fmc-contactpage-wrap { background: var(--fmc-paper, #f4f0e8); }
.fmc-contactpage { max-width: 1280px; margin: 0 auto; padding: 96px clamp(1rem, 4vw, 4rem) 128px; box-sizing: content-box; color: #1c1b19; }
.fmc-contactpage__kicker { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #5e5a54; line-height: 1.5; margin: 0 0 20px; padding: 0; }
body.fmc-contact-page .fmc-contactpage__title, .fmc-contactpage__title { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: clamp(46px, 6vw, 84px); line-height: 1.02; letter-spacing: -.01em; color: #1c1b19; margin: 0; padding: 0; }
.fmc-contactpage__head { margin-bottom: 64px; }
.fmc-contactpage__body { display: grid; grid-template-columns: 9fr 13fr; column-gap: 8%; row-gap: 64px; padding-top: 48px; border-top: 1px solid #d9d3c8; }
.fmc-contactpage__intro { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: 24px; line-height: 1.45; color: #1c1b19; margin: 0 0 44px; padding: 0; }
.fmc-contactpage__links { list-style: none; margin: 0; padding: 0; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 16px; line-height: 1.9; }
.fmc-contactpage__links li { padding: 0; }
.fmc-contactpage a { color: #1c1b19; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.fmc-contactpage .fmc-contact { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 17px; line-height: 1.65; }
.fmc-contactpage .fmc-contact__email { font-family: 'Newsreader', Georgia, serif; font-size: 28px; margin: 0 0 40px; padding: 0; }
.fmc-contactpage .fmc-contact__field { padding: 0; }
.fmc-contactpage .fmc-contact__submit { font: inherit; letter-spacing: .08em; text-transform: uppercase; background: none; border: 0; border-bottom: 1px solid currentColor; padding: 0 0 2px; cursor: pointer; color: #1c1b19; text-decoration: none; }
@media (max-width: 980px) {
	.fmc-contactpage { padding-top: 64px; padding-bottom: 96px; }
	.fmc-contactpage__body { grid-template-columns: 1fr; }
	.fmc-contactpage__intro { font-size: 21px; }
	.fmc-contactpage .fmc-contact__email { font-size: 22px; }
}

/* ---------- About page by the plugin (since 1.4.1) ---------- */
.fmc-aboutpage-wrap { background: #f4f0e8; color: #1c1b19; }
.fmc-aboutpage { --pad: clamp(1rem, 4vw, 4rem); font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 17px; line-height: 1.65; }
.fmc-aboutpage > section { max-width: 1280px; margin: 0 auto; padding: 0 var(--pad); box-sizing: content-box; }
.fmc-aboutpage p { padding: 0; }
.fmc-aboutpage a { color: inherit; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.fmc-aboutpage__kicker { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #5e5a54; margin: 0 0 18px; }
.fmc-aboutpage__h2 { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: clamp(30px, 3vw, 40px); line-height: 1.1; margin: 0; padding: 0; color: #1c1b19; }
.fmc-aboutpage__intro { display: grid; grid-template-columns: 37.5% 1fr; column-gap: 7%; align-items: end; padding-top: 96px !important; padding-bottom: 88px !important; }
.fmc-aboutpage__intro.is-text { grid-template-columns: 1fr; max-width: 1280px; }
.fmc-aboutpage__intro.is-text .fmc-aboutpage__who { max-width: 860px; }
.fmc-aboutpage__intro.is-stacked { grid-template-columns: 1fr; row-gap: 48px; }
.fmc-aboutpage__intro.is-stacked .fmc-aboutpage__portrait { max-width: 100%; }
.fmc-aboutpage__intro.is-stacked .fmc-aboutpage__portrait.is-r4x5, .fmc-aboutpage__intro.is-stacked .fmc-aboutpage__portrait.is-r3x4 { aspect-ratio: 21 / 9; }
.fmc-aboutpage__portrait { margin: 0; overflow: hidden; }
.fmc-aboutpage__portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fmc-aboutpage__portrait.is-r4x5 { aspect-ratio: 4 / 5; }
.fmc-aboutpage__portrait.is-r3x4 { aspect-ratio: 3 / 4; }
.fmc-aboutpage__portrait.is-r1x1 { aspect-ratio: 1; }
.fmc-aboutpage__portrait.is-round { aspect-ratio: 1; border-radius: 50%; max-width: 420px; }
.fmc-aboutpage__portrait.is-natural img { height: auto; }
.fmc-aboutpage__name { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: clamp(44px, 5.4vw, 76px); line-height: 1.02; letter-spacing: -.01em; margin: 0 0 18px; padding: 0; color: #1c1b19; }
.fmc-aboutpage__job { font-size: 14px; letter-spacing: .1em; text-transform: uppercase; margin: 0 0 4px; }
.fmc-aboutpage__loc { font-size: 14px; color: #8c877f; margin: 0 0 32px; }
.fmc-aboutpage__profile { font-family: 'Newsreader', Georgia, serif; font-weight: 300; font-size: clamp(21px, 2vw, 28px); line-height: 1.4; }
.fmc-aboutpage__profile p:last-child, .fmc-aboutpage__text p:last-child, .fmc-aboutpage__statement p:last-child { margin-bottom: 0; }
.fmc-aboutpage__row { display: grid; grid-template-columns: 27.9% 55.1%; column-gap: 8%; align-items: start; padding-bottom: 88px !important; }
.fmc-aboutpage__text { font-size: 18px; line-height: 1.75; }
.fmc-aboutpage__text p, .fmc-aboutpage__profile p { margin: 0 0 1em; }
.fmc-aboutpage__statement { max-width: none !important; padding: 112px 0 !important; margin-bottom: 88px !important; }
.fmc-aboutpage__statement .fmc-aboutpage__inner { max-width: 1280px; margin: 0 auto; padding: 0 var(--pad); box-sizing: content-box; }
.fmc-aboutpage__statement blockquote { margin: 0; padding: 0; border: 0; max-width: 980px; font-family: 'Newsreader', Georgia, serif; font-style: italic; font-weight: 300; font-size: clamp(26px, 3vw, 42px); line-height: 1.3; }
.fmc-aboutpage__statement.is-dark { background: #1c1b19; color: #f4f0e8; }
.fmc-aboutpage__statement.is-dark .fmc-aboutpage__kicker { color: #8c877f; }
.fmc-aboutpage__statement.is-light { padding: 24px 0 !important; }
.fmc-aboutpage__statement.is-light blockquote { border-left: 2px solid #1c1b19; padding-left: clamp(18px, 3vw, 40px); }
.fmc-aboutpage__side { margin: 40px 0 0; max-width: 85%; }
.fmc-aboutpage__side img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.fmc-aboutpage__side figcaption { font-size: 13px; color: #5e5a54; margin-top: 8px; }
.fmc-aboutpage__cv { padding-bottom: 88px !important; }
.fmc-aboutpage__foot { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 5%; row-gap: 40px; padding-bottom: 112px !important; }
.fmc-aboutpage__foot::before { content: ''; grid-column: 1 / -1; border-top: 1px solid #d9d3c8; margin-bottom: 16px; }
.fmc-aboutpage__foot > div { min-width: 0; }
.fmc-aboutpage__list { list-style: none; margin: 0; padding: 0; font-size: 15px; line-height: 1.75; }
.fmc-aboutpage__list li { padding: 0; }
.fmc-aboutpage__download { margin-top: 20px; font-size: 15px; }
@media (max-width: 980px) {
	.fmc-aboutpage__intro { grid-template-columns: 1fr; row-gap: 40px; padding-top: 56px !important; padding-bottom: 64px !important; }
	.fmc-aboutpage__intro.is-stacked .fmc-aboutpage__portrait.is-r4x5, .fmc-aboutpage__intro.is-stacked .fmc-aboutpage__portrait.is-r3x4 { aspect-ratio: 4 / 5; }
	.fmc-aboutpage__row { grid-template-columns: 1fr; row-gap: 20px; padding-bottom: 64px !important; }
	.fmc-aboutpage__side { max-width: 100%; margin-top: 24px; }
	.fmc-aboutpage__side img { aspect-ratio: 4 / 3; }
	.fmc-aboutpage__statement { padding: 72px 0 !important; margin-bottom: 64px !important; }
	.fmc-aboutpage__foot { grid-template-columns: 1fr; }
}
.fmc-aboutpage__foot p:not(.fmc-aboutpage__kicker) { font-size: 15px; }
.fmc-contact__math input { max-width: 8rem; }

/* Treatments: public teaser [fmc_treatments] (only when switched on per treatment) */
.fmc-tr-teasers{display:grid;gap:clamp(48px,6vw,88px)}
.fmc-tr-teaser{max-width:760px}
.fmc-tr-teaser__kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin:0 0 10px}
.fmc-tr-teaser h3{margin:0 0 20px}
.fmc-tr-teaser .trp-teaser__img{margin:0 0 20px}
.fmc-tr-teaser .trp-teaser__img img{display:block;width:100%;height:auto}
.fmc-tr-teaser .trp-teaser__text{font-size:1.05em;line-height:1.7;margin:0 0 16px}
.fmc-tr-teaser .trp-teaser__cta a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px}

/* Since 1.6.0: Persian / Kurdish in original script (Word toolbar in films and photography) */
@font-face{font-family:'Vazirmatn';src:url('fonts/pdf/Vazirmatn-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('fonts/pdf/Vazirmatn-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
[dir=rtl]:not(html){font-family:'Vazirmatn',var(--fmc-font-sans,system-ui),sans-serif;text-align:right}
span[data-note]{font-size:.72em;vertical-align:super;line-height:0;color:inherit;opacity:.7}

/* ===== Photography project page (since 1.6.1) ===== */
.fmc-photos{--gap:clamp(12px,2vw,28px);display:flex;flex-direction:column;gap:clamp(36px,6vw,96px)}
.fmc-ph{margin:0}
.fmc-ph img{display:block;width:100%;height:auto}
.fmc-ph__link{display:block;cursor:zoom-in;outline-offset:4px}
.fmc-ph figcaption{margin-top:10px;font-family:'Instrument Sans',system-ui,sans-serif;font-size:13px;line-height:1.5;color:#5e5a54;letter-spacing:.01em;max-width:46em}
.fmc-ph.is-full{width:100%}
.fmc-ph.is-wide{width:74%}
.fmc-ph.is-wide.is-right,.fmc-ph.is-portrait.is-right{align-self:flex-end}
.fmc-ph.is-portrait{width:46%;align-self:center}
.fmc-ph-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}
.fmc-photos.is-grid2,.fmc-photos.is-views{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px) var(--gap);align-items:start}
.fmc-photos.is-views img{aspect-ratio:3/2;object-fit:cover}
.fmc-photos.is-single{max-width:1200px;margin:0 auto}
@media (max-width:980px){
	.fmc-ph.is-wide{width:88%}
	.fmc-ph.is-portrait{width:70%}
}
@media (max-width:640px){
	.fmc-photos{gap:28px}
	.fmc-ph.is-wide,.fmc-ph.is-portrait{width:100%}
	.fmc-ph-pair,.fmc-photos.is-grid2,.fmc-photos.is-views{grid-template-columns:1fr;gap:28px}
}

/* Text sections */
.fmc-secs{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.fmc-sec__h{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(26px,2.4vw,32px);line-height:1.2;margin:0 0 .7em;color:#1c1b19;letter-spacing:-.005em}
.fmc-sec__text{font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;color:#1c1b19}
.fmc-sec__text p{margin:0 0 1em;padding:0}
.fmc-sec__text p:last-child{margin-bottom:0}
.fmc-sec__text h3{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;margin:1.6em 0 .4em}
.fmc-sec__text blockquote{margin:1.4em 0;padding:0 0 0 1.2em;border-left:2px solid #1c1b19;font-family:'Newsreader',Georgia,serif;font-style:italic;font-size:21px;line-height:1.45}
.fmc-sec__text ul,.fmc-sec__text ol{margin:0 0 1em 1.2em;padding:0}

/* Key facts */

/* Previous / next */
.fmc-pnav{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #d9d3c8;padding-top:28px}
.fmc-pnav__link{display:flex;flex-direction:column;gap:8px;text-decoration:none!important;color:#1c1b19}
.fmc-pnav__link.is-next{text-align:right}
.fmc-pnav__label{font-family:'Instrument Sans',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961}
.fmc-pnav__title{font-family:'Newsreader',Georgia,serif;font-size:clamp(20px,2vw,26px);line-height:1.25}
.fmc-pnav__link:hover .fmc-pnav__title{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
@media (max-width:640px){.fmc-pnav{grid-template-columns:1fr}.fmc-pnav__link.is-next{text-align:left}}

/* Lightbox */
.fmc-lb{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;background:#141311;color:#f4f0e8}
.fmc-lb.is-open{display:flex}
html.fmc-lb-open{overflow:hidden}
.fmc-lb__fig{margin:0;max-width:min(92vw,1800px);max-height:88vh;display:flex;flex-direction:column;align-items:center}
.fmc-lb__fig img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain}
.fmc-lb__fig figcaption{margin-top:14px;font-family:'Instrument Sans',sans-serif;font-size:13px;color:#cfc8bb;text-align:center;max-width:60em}
.fmc-lb button{position:absolute;background:none;border:0;color:#f4f0e8;cursor:pointer;font-size:42px;line-height:1;padding:12px 18px;opacity:.8}
.fmc-lb button:hover,.fmc-lb button:focus-visible{opacity:1}
.fmc-lb__close{top:12px;right:14px;font-size:38px!important}
.fmc-lb__prev{left:6px;top:50%;transform:translateY(-50%)}
.fmc-lb__next{right:6px;top:50%;transform:translateY(-50%)}
.fmc-lb.is-single .fmc-lb__prev,.fmc-lb.is-single .fmc-lb__next{display:none}
.fmc-lb__count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:'Instrument Sans',sans-serif;font-size:12px;letter-spacing:.1em;color:#a8a194}
@media (max-width:640px){.fmc-lb__prev,.fmc-lb__next{top:auto;bottom:8px;transform:none}}
/* Editor content of projects that do not use the fields yet */
.fmc-legacy{font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;color:#1c1b19}
.fmc-legacy p{max-width:760px;margin:0 0 1em}
.fmc-legacy img{max-width:100%;height:auto;display:block}
.fmc-legacy figure,.fmc-legacy .wp-block-image,.fmc-legacy .wp-block-gallery{margin:0 0 clamp(24px,3vw,40px)}

/* ===== Film page (since 1.6.3) ===== */
/* Film stills: calm rhythm, one large, then two; same gap everywhere */
.fmc-photos.is-film{--gap:clamp(10px,1.4vw,20px);gap:var(--gap)}
.fmc-photos.is-film .fmc-ph-pair{gap:var(--gap)}
.fmc-photos.is-film .fmc-ph figcaption{margin-top:8px}
/* Awards and festivals */
.fmc-fl{list-style:none;margin:0;padding:0;font-family:'Instrument Sans',system-ui,sans-serif;color:#1c1b19}
.fmc-fl__row{display:grid;grid-template-columns:5.5rem 1fr;gap:0 18px;padding:14px 0;border-top:1px solid #d9d3c8;align-items:baseline}
.fmc-fl__row:last-child{border-bottom:1px solid #d9d3c8}
.fmc-fl__year{font-size:12px;letter-spacing:.12em;color:#6e6961;font-variant-numeric:tabular-nums}
.fmc-fl__main{display:flex;flex-direction:column;gap:3px;min-width:0}
.fmc-fl__prize{font-family:'Newsreader',Georgia,serif;font-size:clamp(19px,1.6vw,22px);line-height:1.3}
.fmc-fl__event,.fmc-fl__extra{font-size:14px;line-height:1.5;color:#5e5a54}
.fmc-fl__festival{font-size:16px;line-height:1.45}
/* Production, funding and credits: one even table */
.fmc-ct{margin:0;font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px;line-height:1.5;color:#1c1b19}
.fmc-ct__row{display:grid;grid-template-columns:minmax(9rem,32%) 1fr;gap:0 18px;padding:11px 0;border-top:1px solid #d9d3c8;align-items:baseline}
.fmc-ct__row:last-child{border-bottom:1px solid #d9d3c8}
.fmc-ct dt{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961}
.fmc-ct dd{margin:0;min-width:0;overflow-wrap:anywhere}
.fmc-ct dd a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fmc-ct__note{color:#5e5a54}
/* Supported by */
.fmc-sup{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:24px clamp(28px,4vw,56px)}
.fmc-sup__item{margin:0;display:flex;align-items:center}
.fmc-sup__item a{display:flex;align-items:center;color:inherit;text-decoration:none}
.fmc-sup__logo{display:block;max-height:52px;max-width:170px;width:auto;height:auto;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.fmc-sup__item a:hover .fmc-sup__logo,.fmc-sup__item a:focus-visible .fmc-sup__logo{filter:none;opacity:1}
.fmc-sup__name{font-family:'Instrument Sans',system-ui,sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#1c1b19}
@media (max-width:640px){
	.fmc-ct__row{grid-template-columns:1fr;gap:3px}
	.fmc-fl__row{grid-template-columns:1fr;gap:4px}
	.fmc-sup__logo{max-height:44px;max-width:140px}
}
/* Key facts of a film */
.fmc-ff{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px clamp(20px,3vw,40px);font-family:'Instrument Sans',system-ui,sans-serif}
.fmc-ff__item{margin:0;min-width:0}
.fmc-ff dt{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961;margin:0 0 5px}
.fmc-ff dd{margin:0;font-size:15px;line-height:1.5;color:#1c1b19;overflow-wrap:anywhere}
@media (max-width:980px){.fmc-ff{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fmc-photos.is-film .fmc-ph-pair[style] img{aspect-ratio:var(--ar);object-fit:cover}
/* Text download (since 1.6.3): calm, but clearly visible */
.fmc-dl{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-family:'Instrument Sans',system-ui,sans-serif}
.fmc-dl__label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6e6961;margin-right:4px}
.fmc-dl__btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;letter-spacing:.06em;line-height:1;color:#1c1b19;background:transparent;border:1px solid #1c1b19;border-radius:999px;padding:9px 16px;cursor:pointer;text-decoration:none!important;transition:background .2s,color .2s}
.fmc-dl__btn:hover,.fmc-dl__btn:focus-visible{background:#1c1b19;color:#f4f0e8}
.fmc-dl__btn.is-busy{cursor:progress;opacity:.6}
.fmc-dl__ico{display:block}
/* Screener (since 1.6.3) */
.fmc-scr__frame{position:relative;overflow:hidden;background:#000}
.fmc-scr__frame:fullscreen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;aspect-ratio:auto}
.fmc-scr__frame:fullscreen iframe{width:100%;height:100%}
.fmc-scr__wm{position:absolute;inset:0;pointer-events:none;z-index:3}
.fmc-scr__wm span{position:absolute;left:8%;top:10%;font-family:'Instrument Sans',system-ui,sans-serif;font-size:clamp(11px,1.3vw,16px);letter-spacing:.08em;color:#fff;opacity:.28;text-shadow:0 0 3px rgba(0,0,0,.6);white-space:nowrap;transition:left 1.6s ease,top 1.6s ease}
.fmc-scr__tools{margin:.6rem 0 0;text-align:right}

.fmc-scr__wm--page{position:fixed;inset:0;z-index:50}.fmc-scr__wm--page span{color:#1c1b19;opacity:.14;text-shadow:none}.fmc-scr--project{position:relative}.fmc-scr--project .fmc-scr__frame{margin-top:40px}

/* ===== About page with "Aufbau der Seite" (1.7.2): calm, professional CV layout ===== */
.fmc-aboutpage.is-structured .fmc-aboutpage__part,.fmc-aboutpage.is-structured .fmc-aboutpage__films{padding-top:clamp(36px,4.5vw,56px)!important;padding-bottom:clamp(36px,4.5vw,56px)!important;position:relative}
.fmc-aboutpage.is-structured .fmc-aboutpage__part::before,.fmc-aboutpage.is-structured .fmc-aboutpage__films::before{content:'';position:absolute;top:0;left:var(--pad);right:var(--pad);border-top:1px solid #d9d3c8}
.fmc-aboutpage.is-structured .fmc-aboutpage__intro+.fmc-aboutpage__part::before,.fmc-aboutpage.is-structured .fmc-aboutpage__statement+section::before{display:none}
.fmc-aboutpage.is-structured .fmc-aboutpage__h2{font-size:clamp(26px,2.4vw,34px);position:sticky;top:120px}
.fmc-aboutpage.is-structured>section:last-child{padding-bottom:clamp(72px,8vw,120px)!important}
.fmc-aboutpage.is-structured .fmc-cv__entry{grid-template-columns:8.5rem 1fr;padding:.95rem 0}
.fmc-aboutpage.is-structured .fmc-cv__entry:first-child{border-top:0;padding-top:0}
.fmc-aboutpage.is-structured .fmc-cv__name{font-weight:500}
.fmc-aboutpage.is-structured .fmc-cv__when{font-size:15px;color:#8c877f;padding-top:.1em}
.fmc-cv__points{list-style:none;margin:.45rem 0 0;padding:0;font-size:.94em;color:#3c3a36}
.fmc-cv__points li{position:relative;padding-left:1.1em;margin:.18rem 0}
.fmc-cv__points li::before{content:'›';position:absolute;left:0;color:#8a2b1e}
.fmc-aboutpage__highlights{list-style:none;margin:0;padding:0;counter-reset:hl}
.fmc-aboutpage__highlights li{counter-increment:hl;display:grid;grid-template-columns:2.4rem 1fr;align-items:baseline;padding:.75rem 0;border-top:1px solid #e6e0d5;font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(19px,1.7vw,23px);line-height:1.4}
.fmc-aboutpage__highlights li:first-child{border-top:0;padding-top:0}
.fmc-aboutpage__highlights li::before{content:counter(hl,decimal-leading-zero);font-family:'Instrument Sans',system-ui,sans-serif;font-size:12px;letter-spacing:.1em;color:#8a2b1e}
.fmc-aboutpage__tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.fmc-aboutpage__tags li{border:1px solid #cfc7b9;border-radius:999px;padding:5px 14px;font-size:15px;line-height:1.4}
.fmc-aboutpage__dl{margin:0;display:grid;gap:0}
.fmc-aboutpage__dl>div{display:grid;grid-template-columns:minmax(9rem,32%) 1fr;gap:1.5rem;padding:.75rem 0;border-top:1px solid #e6e0d5}
.fmc-aboutpage__dl>div:first-child{border-top:0;padding-top:0}
.fmc-aboutpage__dl dt{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5e5a54;padding-top:.25em}
.fmc-aboutpage__dl dd{margin:0;font-size:17px}
.fmc-aboutpage__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 28px;font-size:17px}
.fmc-aboutpage.is-structured .fmc-aboutpage__download{margin:0}
@media (max-width:980px){.fmc-aboutpage.is-structured .fmc-aboutpage__h2{position:static}.fmc-aboutpage__dl>div{grid-template-columns:1fr;gap:.2rem}.fmc-aboutpage.is-structured .fmc-cv__entry{grid-template-columns:1fr;gap:.15rem}}
@media print{.fmc-aboutpage.is-structured .fmc-aboutpage__h2{position:static}}

/* Divi: "About: alle Teile in Ihrer Reihenfolge" inside a Divi row (1.7.3) */
.fmc-aboutpage.is-divi{--pad:0px}
.fmc-aboutpage.is-divi>section{max-width:none;padding-left:0;padding-right:0}
.fmc-aboutpage.is-divi .fmc-aboutpage__statement .fmc-aboutpage__inner{padding:0 clamp(18px,4vw,48px)}

/* ===== Front page (1.9.0) ===== */
.fmc-home-wrap{background:#f4f0e8;color:#1c1b19}
.fmc-home{--pad:clamp(1rem,4vw,4rem);font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.6;color:#1c1b19}
.fmc-home>section{max-width:1280px;margin:0 auto;padding:clamp(48px,6vw,88px) var(--pad) 0;box-sizing:content-box}
.fmc-home>section:last-child{padding-bottom:clamp(72px,8vw,120px)}
.fmc-home a{color:inherit;text-decoration:none}
.fmc-home__h1{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(40px,5.6vw,80px);line-height:1.02;letter-spacing:-.01em;margin:0 0 clamp(28px,4vw,48px);padding:0}
.fmc-home__h1 span{color:#5e5a54}
.fmc-home__h2{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0;padding:0}
.fmc-home__lead{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(30px,3.6vw,52px);line-height:1.15;margin:0 0 20px;padding:0;max-width:22ch}
.fmc-home__kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5e5a54;margin:0 0 14px;padding:0}
.fmc-home__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.fmc-home__more{font-size:14px;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap}
.fmc-home__more:hover,.fmc-home__card a:hover .fmc-home__title{color:#8a2b1e}
.fmc-home__pic{position:relative;margin:0 0 12px;overflow:hidden;background:#e6e0d5;aspect-ratio:16/9}
.fmc-home__pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.fmc-home__card.is-big .fmc-home__pic{aspect-ratio:21/9}
.fmc-home__ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(135deg,#ded7ca,#cfc6b6)}
.fmc-home__ph span{font-family:'Newsreader',Georgia,serif;font-size:clamp(20px,2.2vw,30px);font-weight:300;color:#3c3a36}
.fmc-home__meta{font-size:13px;letter-spacing:.06em;color:#5e5a54;margin:0 0 4px;padding:0}
.fmc-home__title{font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(20px,1.8vw,26px);line-height:1.2;margin:0;padding:0}
.fmc-home__title.is-big{font-size:clamp(26px,2.6vw,38px)}
.fmc-home__grid{display:grid;gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px)}
.fmc-home__grid.is-2{grid-template-columns:repeat(2,1fr)}.fmc-home__grid.is-3{grid-template-columns:repeat(3,1fr)}.fmc-home__grid.is-4{grid-template-columns:repeat(4,1fr)}
.fmc-home__statement .fmc-home__text{max-width:62ch;font-size:18px;color:#3c3a36}
.fmc-home__btn{display:inline-block;margin-top:14px;font-size:14px;letter-spacing:.04em;border:1px solid #1c1b19;padding:10px 18px}
.fmc-home__btn:hover{background:#1c1b19;color:#f4f0e8}
.fmc-home__list{list-style:none;margin:0;padding:0}
.fmc-home__list li{display:grid;grid-template-columns:9rem 1fr auto;gap:18px;align-items:baseline;padding:14px 0;border-top:1px solid #d9d3c8}
.fmc-home__date{color:#8c877f;font-variant-numeric:tabular-nums;font-size:15px}
.fmc-home__quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px}
.fmc-home__quotes figure{margin:0}
.fmc-home__quotes blockquote{margin:0 0 12px;padding:0;border:0;font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(21px,2vw,28px);line-height:1.35}
.fmc-home__quotes figcaption{font-size:13px;letter-spacing:.06em;color:#5e5a54}
.fmc-home__about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:end}
.fmc-home__portrait{margin:0;aspect-ratio:4/5;overflow:hidden}.fmc-home__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.fmc-home__about .fmc-home__text{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(20px,1.9vw,26px);line-height:1.45;margin:16px 0 18px}
.fmc-home__contact{text-align:left}
.fmc-home__contact .fmc-home__lead{max-width:24ch}
@media (max-width:980px){.fmc-home__grid.is-3,.fmc-home__grid.is-4{grid-template-columns:repeat(2,1fr)}.fmc-home__about{grid-template-columns:1fr}.fmc-home__list li{grid-template-columns:1fr;gap:4px}}
@media (max-width:640px){.fmc-home__grid{grid-template-columns:1fr!important}.fmc-home__card.is-big .fmc-home__pic{aspect-ratio:4/3}.fmc-home__head{flex-direction:column;gap:8px}}
.fmc-home.is-divi{--pad:0px}.fmc-home.is-divi>section{max-width:none}
.fmc-home a,.fmc-home a:hover{text-decoration:none!important}

/* ===== Photography: press quotes and links (since 1.12.0) ===== */
.fmc-quotes{display:grid;gap:clamp(28px,3vw,44px)}
.fmc-quote{margin:0;padding:0 0 0 clamp(16px,2vw,24px);border-left:1px solid #d9d3c8}
.fmc-quote p{margin:0 0 10px;font-family:'Newsreader',Georgia,serif;font-size:clamp(20px,1.8vw,26px);line-height:1.35;color:#1c1b19}
.fmc-quote cite{font-family:'Instrument Sans',system-ui,sans-serif;font-style:normal;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961}
.fmc-quote cite a,.fmc-fl.is-press a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.fmc-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 28px;font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px}
.fmc-links a{color:#1c1b19;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.fmc-links a::after{content:" ↗";font-size:.85em}
