/*
 * Hesam Portfolio 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.
 */
.hpc-field { --hpc-muted: var(--wp--preset--color--graphite, color-mix(in srgb, currentColor 65%, transparent)); }
.hpc-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; }
.hpc-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; }
.hpc-field.has-label-inline .hpc-label { margin-right: .5em; }
.is-style-hpc-lead, .hpc-field.is-style-hpc-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-hpc-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-hpc-meta, .hpc-sub.is-style-hpc-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-hpc-strong { font-family: var(--wp--preset--font-family--serif, Georgia, serif); font-size: 1.15em; }
.hpc-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; }
.hpc-details summary::-webkit-details-marker { display: none; }
.hpc-details summary::after { content: " +"; }
.hpc-details[open] summary::after { content: " –"; }
.hpc-details__body { margin-top: 1.5rem; }
.hpc-sep { color: var(--wp--preset--color--stone, inherit); }
.hpc-download { text-decoration: underline; text-underline-offset: .2em; }
.hpc-file-meta { font-size: .8em; color: var(--wp--preset--color--graphite, inherit); letter-spacing: .04em; }
.hpc-list { margin: 0; padding: 0; list-style: none; }
.hpc-rows { margin: 0; padding: 0; list-style: none; }
.hpc-rows li + li { margin-top: .4em; }

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

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

/* Hero */
.hpc-hero { margin-block-end: var(--wp--preset--spacing--60, 64px); }
.hpc-hero__figure { margin: 0; }
.hpc-hero__picture, .hpc-hero__img { display: block; width: 100%; }
.hpc-hero__img { height: var(--hpc-hero-h, 85vh); max-height: 1100px; object-fit: cover; object-position: var(--hpc-pos-d, 50% 50%); background: var(--wp--preset--color--black, #0e0e0d); }
@media (max-width: 781px) { .hpc-hero__img { height: auto; max-height: 88svh; aspect-ratio: auto; object-position: var(--hpc-pos-m, 50% 50%); } }
.hpc-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); }
.hpc-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); }
.hpc-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; }
.hpc-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); }
.hpc-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; }
.hpc-hero.is-layout-typographic .hpc-hero__text { margin: 0 auto 2.5rem; }
.hpc-hero.is-layout-typographic .hpc-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) {
	.hpc-hero.is-layout-offset { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: end; }
	.hpc-hero.is-layout-offset .hpc-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; }
	.hpc-hero.is-layout-offset .hpc-hero__figure { grid-column: 4 / -1; grid-row: 1; }
	.hpc-hero.is-layout-offset .hpc-hero__img { height: var(--hpc-hero-h, 75vh); }
}
.hpc-hero__empty { padding: 20vh 1rem; text-align: center; border: 1px dashed currentColor; opacity: .6; }

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

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

/* CV */
.hpc-cv__section + .hpc-cv__section { margin-top: clamp(40px, 6vw, 80px); }
.hpc-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; }
.hpc-cv__list { list-style: none; margin: 0; padding: 0; }
.hpc-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)); }
.hpc-cv__when { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--graphite, inherit); }
.hpc-cv__what { display: flex; flex-direction: column; gap: .15rem; }
.hpc-cv__name cite { font-style: italic; }
.hpc-cv__sub, .hpc-cv__note { color: var(--wp--preset--color--graphite, inherit); font-size: .92em; }
@media (max-width: 600px) { .hpc-cv__entry { grid-template-columns: 1fr; gap: .2rem; } }
.hpc-cv__tools { display: flex; gap: 1.5rem; margin-bottom: 2rem; }
/* CV details (since 1.4.0) */
.hpc-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; }
.hpc-cv__entry.is-highlight .hpc-cv__name { font-weight: 600; }
.hpc-cv__extra { display: flex; flex-wrap: wrap; column-gap: 1.2rem; row-gap: .1rem; font-size: .88em; color: var(--wp--preset--color--graphite, #5e5a54); }
.hpc-cv__extra-label { color: var(--wp--preset--color--stone, #8c877f); }
.hpc-cv.is-split .hpc-cv__section { display: grid; grid-template-columns: 27.9% 55.1%; column-gap: 8%; align-items: start; }
.hpc-cv.is-split .hpc-cv__section + .hpc-cv__section { margin-top: clamp(48px, 7vw, 88px); }
.hpc-cv.is-split .hpc-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; }
.hpc-cv.is-split .hpc-cv__entry:first-child { border-top-color: var(--wp--preset--color--ash, #d9d3c8); }
@media (max-width: 980px) { .hpc-cv.is-split .hpc-cv__section { grid-template-columns: 1fr; row-gap: 20px; } }
.hpc-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 */
.hpc-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; }
.hpc-contact__field { display: flex; flex-direction: column; gap: .4rem; margin: 0 0 1.5rem; }
.hpc-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); }
.hpc-contact__field input, .hpc-contact__field textarea, .hpc-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; }
.hpc-contact__field input:focus, .hpc-contact__field textarea:focus, .hpc-screener__form input:focus { outline: 2px solid currentColor; outline-offset: 2px; border-color: currentColor; }
.hpc-contact__privacy { font-size: .875rem; color: var(--wp--preset--color--graphite, inherit); max-width: 36rem; }
.hpc-contact__submit { font-size: var(--wp--preset--font-size--small, .9rem); }
.hpc-contact__done, .hpc-contact__error { padding: 1rem 0; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; margin-bottom: 2rem; }
.hpc-contact__error { color: var(--wp--preset--color--signal, #8a2b1e); }
.hpc-contact__done:focus { outline: none; }
.hpc-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Video */
.hpc-video__frame { position: relative; aspect-ratio: 16 / 9; background: var(--wp--preset--color--black, #0e0e0d); overflow: hidden; }
.hpc-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.hpc-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .7; }
.hpc-video__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; cursor: pointer; color: #fff; width: 100%; }
.hpc-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; }
.hpc-video__label::before { content: "▶"; margin-right: .6em; font-size: .9em; }
.hpc-video__play:focus-visible { outline: 2px solid #fff; outline-offset: -6px; }
.hpc-video__note, .hpc-screener__for { font-size: .8125rem; color: var(--wp--preset--color--graphite, inherit); margin-top: .6rem; }
.hpc-video__screener { margin-top: 1rem; }

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

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

/* Composition styles for core blocks (Visual Essays) */
.wp-block-image.is-style-hpc-offset-left { width: 58%; margin-inline: 0 auto !important; }
.wp-block-image.is-style-hpc-offset-right { width: 50%; margin-inline: auto 0 !important; }
.wp-block-image.is-style-hpc-narrow { width: 34%; margin-inline: auto !important; }
.wp-block-image.is-style-hpc-offset-left img, .wp-block-image.is-style-hpc-offset-right img, .wp-block-image.is-style-hpc-narrow img { width: 100%; height: auto; }
@media (max-width: 781px) { .wp-block-image.is-style-hpc-offset-left, .wp-block-image.is-style-hpc-offset-right { width: 100%; } .wp-block-image.is-style-hpc-narrow { width: 66%; } }
.wp-block-columns.is-style-hpc-diptych { gap: clamp(16px, 3vw, 48px); align-items: flex-end; }
.wp-block-columns.is-style-hpc-diptych .wp-block-image { margin: 0; }
.wp-block-gallery.is-style-hpc-sequence { gap: 8px; }
.wp-block-image figcaption, .hpc-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) */
.hpc-placeholder { border: 1px dashed currentColor; opacity: .6; padding: 12px 16px; font-size: 13px; }

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

/* ---------- Portfolio-Abschnitt: variants ---------- */
.hpc-card.has-ar .hpc-card__media { aspect-ratio: var(--hpc-ar) !important; }
.hpc-card__body { display: block; }
.hpc-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); }
.hpc-card__text { display: block; margin-top: .6rem; max-width: 46ch; color: inherit; }
.hpc-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; }
.hpc-gallery-grid { gap: var(--hpc-gap, clamp(64px, 8vw, 128px)) 24px; }

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

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

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

/* ---------- Contact page /contact/ (since 1.4.0) ---------- */
.hpc-contactpage-wrap { background: var(--hpc-paper, #f4f0e8); }
.hpc-contactpage { max-width: 1280px; margin: 0 auto; padding: 96px clamp(1rem, 4vw, 4rem) 128px; box-sizing: content-box; color: #1c1b19; }
.hpc-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.hpc-contact-page .hpc-contactpage__title, .hpc-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; }
.hpc-contactpage__head { margin-bottom: 64px; }
.hpc-contactpage__body { display: grid; grid-template-columns: 9fr 13fr; column-gap: 8%; row-gap: 64px; padding-top: 48px; border-top: 1px solid #d9d3c8; }
.hpc-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; }
.hpc-contactpage__links { list-style: none; margin: 0; padding: 0; font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 16px; line-height: 1.9; }
.hpc-contactpage__links li { padding: 0; }
.hpc-contactpage a { color: #1c1b19; text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }
.hpc-contactpage .hpc-contact { font-family: 'Instrument Sans', system-ui, sans-serif; font-size: 17px; line-height: 1.65; }
.hpc-contactpage .hpc-contact__email { font-family: 'Newsreader', Georgia, serif; font-size: 28px; margin: 0 0 40px; padding: 0; }
.hpc-contactpage .hpc-contact__field { padding: 0; }
.hpc-contactpage .hpc-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) {
	.hpc-contactpage { padding-top: 64px; padding-bottom: 96px; }
	.hpc-contactpage__body { grid-template-columns: 1fr; }
	.hpc-contactpage__intro { font-size: 21px; }
	.hpc-contactpage .hpc-contact__email { font-size: 22px; }
}

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

/* Treatments: public teaser [hpc_treatments] (only when switched on per treatment) */
.hpc-tr-teasers{display:grid;gap:clamp(48px,6vw,88px)}
.hpc-tr-teaser{max-width:760px}
.hpc-tr-teaser__kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;margin:0 0 10px}
.hpc-tr-teaser h3{margin:0 0 20px}
.hpc-tr-teaser .trp-teaser__img{margin:0 0 20px}
.hpc-tr-teaser .trp-teaser__img img{display:block;width:100%;height:auto}
.hpc-tr-teaser .trp-teaser__text{font-size:1.05em;line-height:1.7;margin:0 0 16px}
.hpc-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(--hpc-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) ===== */
.hpc-photos{--gap:clamp(12px,2vw,28px);display:flex;flex-direction:column;gap:clamp(36px,6vw,96px)}
.hpc-ph{margin:0}
.hpc-ph img{display:block;width:100%;height:auto}
.hpc-ph__link{display:block;cursor:zoom-in;outline-offset:4px}
.hpc-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}
.hpc-ph.is-full{width:100%}
.hpc-ph.is-wide{width:74%}
.hpc-ph.is-wide.is-right,.hpc-ph.is-portrait.is-right{align-self:flex-end}
.hpc-ph.is-portrait{width:46%;align-self:center}
.hpc-ph-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:start}
.hpc-photos.is-grid2,.hpc-photos.is-views{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,44px) var(--gap);align-items:start}
.hpc-photos.is-views img{aspect-ratio:3/2;object-fit:cover}
.hpc-photos.is-single{max-width:1200px;margin:0 auto}
@media (max-width:980px){
	.hpc-ph.is-wide{width:88%}
	.hpc-ph.is-portrait{width:70%}
}
@media (max-width:640px){
	.hpc-photos{gap:28px}
	.hpc-ph.is-wide,.hpc-ph.is-portrait{width:100%}
	.hpc-ph-pair,.hpc-photos.is-grid2,.hpc-photos.is-views{grid-template-columns:1fr;gap:28px}
}

/* Text sections */
.hpc-secs{display:flex;flex-direction:column;gap:clamp(40px,5vw,64px)}
.hpc-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}
.hpc-sec__text{font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;color:#1c1b19}
.hpc-sec__text p{margin:0 0 1em;padding:0}
.hpc-sec__text p:last-child{margin-bottom:0}
.hpc-sec__text h3{font-family:'Instrument Sans',sans-serif;font-size:15px;font-weight:600;letter-spacing:.02em;margin:1.6em 0 .4em}
.hpc-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}
.hpc-sec__text ul,.hpc-sec__text ol{margin:0 0 1em 1.2em;padding:0}

/* Key facts */
.hpc-facts{display:grid;grid-template-columns:auto 1fr;gap:0 18px;margin:0;font-family:'Instrument Sans',system-ui,sans-serif;font-size:14px;line-height:1.5}
.hpc-facts dt{color:#6e6961;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:10px 0;border-top:1px solid #d9d3c8}
.hpc-facts dd{margin:0;padding:9px 0;border-top:1px solid #d9d3c8;color:#1c1b19}

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

/* Lightbox */
.hpc-lb{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;background:#141311;color:#f4f0e8}
.hpc-lb.is-open{display:flex}
html.hpc-lb-open{overflow:hidden}
.hpc-lb__fig{margin:0;max-width:min(92vw,1800px);max-height:88vh;display:flex;flex-direction:column;align-items:center}
.hpc-lb__fig img{max-width:100%;max-height:80vh;width:auto;height:auto;object-fit:contain}
.hpc-lb__fig figcaption{margin-top:14px;font-family:'Instrument Sans',sans-serif;font-size:13px;color:#cfc8bb;text-align:center;max-width:60em}
.hpc-lb button{position:absolute;background:none;border:0;color:#f4f0e8;cursor:pointer;font-size:42px;line-height:1;padding:12px 18px;opacity:.8}
.hpc-lb button:hover,.hpc-lb button:focus-visible{opacity:1}
.hpc-lb__close{top:12px;right:14px;font-size:38px!important}
.hpc-lb__prev{left:6px;top:50%;transform:translateY(-50%)}
.hpc-lb__next{right:6px;top:50%;transform:translateY(-50%)}
.hpc-lb.is-single .hpc-lb__prev,.hpc-lb.is-single .hpc-lb__next{display:none}
.hpc-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){.hpc-lb__prev,.hpc-lb__next{top:auto;bottom:8px;transform:none}}
/* Editor content of projects that do not use the fields yet */
.hpc-legacy{font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.7;color:#1c1b19}
.hpc-legacy p{max-width:760px;margin:0 0 1em}
.hpc-legacy img{max-width:100%;height:auto;display:block}
.hpc-legacy figure,.hpc-legacy .wp-block-image,.hpc-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 */
.hpc-photos.is-film{--gap:clamp(10px,1.4vw,20px);gap:var(--gap)}
.hpc-photos.is-film .hpc-ph-pair{gap:var(--gap)}
.hpc-photos.is-film .hpc-ph figcaption{margin-top:8px}
/* Awards and festivals */
.hpc-fl{list-style:none;margin:0;padding:0;font-family:'Instrument Sans',system-ui,sans-serif;color:#1c1b19}
.hpc-fl__row{display:grid;grid-template-columns:5.5rem 1fr;gap:0 18px;padding:14px 0;border-top:1px solid #d9d3c8;align-items:baseline}
.hpc-fl__row:last-child{border-bottom:1px solid #d9d3c8}
.hpc-fl__year{font-size:12px;letter-spacing:.12em;color:#6e6961;font-variant-numeric:tabular-nums}
.hpc-fl__main{display:flex;flex-direction:column;gap:3px;min-width:0}
.hpc-fl__prize{font-family:'Newsreader',Georgia,serif;font-size:clamp(19px,1.6vw,22px);line-height:1.3}
.hpc-fl__event,.hpc-fl__extra{font-size:14px;line-height:1.5;color:#5e5a54}
.hpc-fl__festival{font-size:16px;line-height:1.45}
/* Production, funding and credits: one even table */
.hpc-ct{margin:0;font-family:'Instrument Sans',system-ui,sans-serif;font-size:15px;line-height:1.5;color:#1c1b19}
.hpc-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}
.hpc-ct__row:last-child{border-bottom:1px solid #d9d3c8}
.hpc-ct dt{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961}
.hpc-ct dd{margin:0;min-width:0;overflow-wrap:anywhere}
.hpc-ct dd a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.hpc-ct__note{color:#5e5a54}
/* Supported by */
.hpc-sup{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:24px clamp(28px,4vw,56px)}
.hpc-sup__item{margin:0;display:flex;align-items:center}
.hpc-sup__item a{display:flex;align-items:center;color:inherit;text-decoration:none}
.hpc-sup__logo{display:block;max-height:52px;max-width:170px;width:auto;height:auto;filter:grayscale(1);opacity:.85;transition:filter .2s,opacity .2s}
.hpc-sup__item a:hover .hpc-sup__logo,.hpc-sup__item a:focus-visible .hpc-sup__logo{filter:none;opacity:1}
.hpc-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){
	.hpc-ct__row{grid-template-columns:1fr;gap:3px}
	.hpc-fl__row{grid-template-columns:1fr;gap:4px}
	.hpc-sup__logo{max-height:44px;max-width:140px}
}
/* Key facts of a film */
.hpc-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}
.hpc-ff__item{margin:0;min-width:0}
.hpc-ff dt{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#6e6961;margin:0 0 5px}
.hpc-ff dd{margin:0;font-size:15px;line-height:1.5;color:#1c1b19;overflow-wrap:anywhere}
@media (max-width:980px){.hpc-ff{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hpc-photos.is-film .hpc-ph-pair[style] img{aspect-ratio:var(--ar);object-fit:cover}
/* Text download (since 1.6.3): calm, but clearly visible */
.hpc-dl{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;font-family:'Instrument Sans',system-ui,sans-serif}
.hpc-dl__label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#6e6961;margin-right:4px}
.hpc-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}
.hpc-dl__btn:hover,.hpc-dl__btn:focus-visible{background:#1c1b19;color:#f4f0e8}
.hpc-dl__btn.is-busy{cursor:progress;opacity:.6}
.hpc-dl__ico{display:block}
/* Screener (since 1.6.3) */
.hpc-scr__frame{position:relative;overflow:hidden;background:#000}
.hpc-scr__frame:fullscreen{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;aspect-ratio:auto}
.hpc-scr__frame:fullscreen iframe{width:100%;height:100%}
.hpc-scr__wm{position:absolute;inset:0;pointer-events:none;z-index:3}
.hpc-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}
.hpc-scr__tools{margin:.6rem 0 0;text-align:right}

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

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

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

/* ===== Front page (1.9.0) ===== */
.hpc-home-wrap{background:#f4f0e8;color:#1c1b19}
.hpc-home{--pad:clamp(1rem,4vw,4rem);font-family:'Instrument Sans',system-ui,sans-serif;font-size:17px;line-height:1.6;color:#1c1b19}
.hpc-home>section{max-width:1280px;margin:0 auto;padding:clamp(48px,6vw,88px) var(--pad) 0;box-sizing:content-box}
.hpc-home>section:last-child{padding-bottom:clamp(72px,8vw,120px)}
.hpc-home a{color:inherit;text-decoration:none}
.hpc-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}
.hpc-home__h1 span{color:#5e5a54}
.hpc-home__h2{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(28px,3vw,40px);line-height:1.1;margin:0;padding:0}
.hpc-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}
.hpc-home__kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#5e5a54;margin:0 0 14px;padding:0}
.hpc-home__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.hpc-home__more{font-size:14px;letter-spacing:.04em;border-bottom:1px solid currentColor;padding-bottom:1px;white-space:nowrap}
.hpc-home__more:hover,.hpc-home__card a:hover .hpc-home__title{color:#8a2b1e}
.hpc-home__pic{position:relative;margin:0 0 12px;overflow:hidden;background:#e6e0d5;aspect-ratio:16/9}
.hpc-home__pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.hpc-home__card a:hover img,.hpc-home__project a:hover img{transform:scale(1.02)}
.hpc-home__card.is-big .hpc-home__pic{aspect-ratio:21/9}
.hpc-home__ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(135deg,#ded7ca,#cfc6b6)}
.hpc-home__ph span{font-family:'Newsreader',Georgia,serif;font-size:clamp(20px,2.2vw,30px);font-weight:300;color:#3c3a36}
.hpc-home__new{position:absolute;top:12px;left:12px;background:#1c1b19;color:#f4f0e8;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:4px 8px}
.hpc-home__meta{font-size:13px;letter-spacing:.06em;color:#5e5a54;margin:0 0 4px;padding:0}
.hpc-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}
.hpc-home__title.is-big{font-size:clamp(26px,2.6vw,38px)}
.hpc-home__grid{display:grid;gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px)}
.hpc-home__grid.is-2{grid-template-columns:repeat(2,1fr)}.hpc-home__grid.is-3{grid-template-columns:repeat(3,1fr)}.hpc-home__grid.is-4{grid-template-columns:repeat(4,1fr)}
.hpc-home__reel,.hpc-home__hero{position:relative;margin:0 0 16px;aspect-ratio:21/9;overflow:hidden;background:#1c1b19}
.hpc-home__reel img,.hpc-home__hero img{display:block;width:100%;height:100%;object-fit:cover}
.hpc-home__reel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hpc-home__reel.is-playing{aspect-ratio:16/9}
.hpc-home__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(244,240,232,.92);color:#1c1b19;border:0;border-radius:999px;padding:14px 26px;font:500 15px/1 'Instrument Sans',system-ui,sans-serif;letter-spacing:.04em;cursor:pointer}
.hpc-home__play::before{content:'▶';margin-right:10px;font-size:12px}
.hpc-home__statement .hpc-home__text{max-width:62ch;font-size:18px;color:#3c3a36}
.hpc-home__strip{list-style:none;margin:0;padding:22px 0;display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;border-top:1px solid #d9d3c8;border-bottom:1px solid #d9d3c8}
.hpc-home__strip li{font-size:14px;letter-spacing:.04em;color:#5e5a54}
.hpc-home__strip li.is-award{color:#1c1b19;font-weight:500}
.hpc-home__logo{display:block;max-height:52px;width:auto;filter:grayscale(1);opacity:.8}
.hpc-home__projects{display:grid;gap:36px}
.hpc-home__project .hpc-home__pic{aspect-ratio:16/9}
.hpc-home__btn{display:inline-block;margin-top:14px;font-size:14px;letter-spacing:.04em;border:1px solid #1c1b19;padding:10px 18px}
.hpc-home__btn:hover{background:#1c1b19;color:#f4f0e8}
.hpc-home__list{list-style:none;margin:0;padding:0}
.hpc-home__list li{display:grid;grid-template-columns:9rem 1fr auto;gap:18px;align-items:baseline;padding:14px 0;border-top:1px solid #d9d3c8}
.hpc-home__date{color:#8c877f;font-variant-numeric:tabular-nums;font-size:15px}
.hpc-home__quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px}
.hpc-home__quotes figure{margin:0}
.hpc-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}
.hpc-home__quotes figcaption{font-size:13px;letter-spacing:.06em;color:#5e5a54}
.hpc-home__about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:end}
.hpc-home__portrait{margin:0;aspect-ratio:4/5;overflow:hidden}.hpc-home__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.hpc-home__about .hpc-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}
.hpc-home__contact{text-align:left}
.hpc-home__contact .hpc-home__lead{max-width:24ch}
@media (max-width:980px){.hpc-home__grid.is-3,.hpc-home__grid.is-4{grid-template-columns:repeat(2,1fr)}.hpc-home__about{grid-template-columns:1fr}.hpc-home__list li{grid-template-columns:1fr;gap:4px}}
@media (max-width:640px){.hpc-home__grid{grid-template-columns:1fr!important}.hpc-home__card.is-big .hpc-home__pic,.hpc-home__reel,.hpc-home__hero{aspect-ratio:4/3}.hpc-home__head{flex-direction:column;gap:8px}}
.hpc-home.is-divi{--pad:0px}.hpc-home.is-divi>section{max-width:none}
.hpc-home a,.hpc-home a:hover{text-decoration:none!important}
.hpc-home__projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.hpc-home__projects:has(>:only-child) .hpc-home__project>a{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:end}
.hpc-home__projects:has(>:only-child) .hpc-home__pic{margin:0}
@media (max-width:760px){.hpc-home__projects:has(>:only-child) .hpc-home__project>a{display:block}}

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