/*
Theme Name: Quince Portraits EN
Theme URI: https://diethard-sohn.com/
Author: Diethard Sohn
Author URI: https://diethard-sohn.com/
Description: Standalone portfolio and journal theme for Diethard Sohn’s Quince Portraits.
Version: 3.3.3
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: quittenportraets
Tags: portfolio, blog, one-column, custom-logo, custom-menu, featured-images, wide-blocks
*/


/*
 * Corporate S webfonts are self-hosted separately from this GPL theme.
 * This theme references only the unmodified WOFF2 files from the original
 * Linotype/Monotype self-hosting kit LT-WebFonts-1131200610. The original
 * family names and UUID filenames are retained. See docs/CORPORATE-S-LICENSE-DEPLOYMENT.md.
 */

:root {
	--corporate-light-font: "Corporate S W07 Light", Helvetica, Arial, sans-serif;
	--corporate-light-italic-font: "Corporate S W07 Light Italic", Helvetica, Arial, sans-serif;
	--corporate-regular-font: "Corporate S W07 Regular", Helvetica, Arial, sans-serif;
	--corporate-regular-italic-font: "Corporate S W07 Regular Italic", Helvetica, Arial, sans-serif;
	--corporate-medium-font: "Corporate S W07 Medium", Helvetica, Arial, sans-serif;
	--corporate-medium-italic-font: "Corporate S W07 Medium Italic", Helvetica, Arial, sans-serif;
	--corporate-demi-font: "Corporate S W07 Demi", Helvetica, Arial, sans-serif;
	--corporate-demi-italic-font: "Corporate S W07 Demi Italic", Helvetica, Arial, sans-serif;
	--corporate-bold-font: "Corporate S W07 Bold", Helvetica, Arial, sans-serif;
	--corporate-bold-italic-font: "Corporate S W07 Bold Italic", Helvetica, Arial, sans-serif;
	--corporate-extrabold-font: "Corporate S W07 ExtraBold", Helvetica, Arial, sans-serif;
	--corporate-extrabold-italic-font: "Corporate S W07 ExtraBold It", Helvetica, Arial, sans-serif;
	--green: #101b13;
	--green-2: #19291c;
	--leaf: #506234;
	--gold: #c9a75e;
	--paper: #f1ece2;
	--paper-light: #f8f4ec;
	--ink: #1e1d19;
	--muted: #6e695e;
	--line: #c8bfae;
	--artist-bg: #dcd3c3;
	--footer-bg: #0d130e;
	--wide-width: 1160px;
	--content-width: 760px;
	--page-gutter: 6vw;
	--section-space: 120px;
	--header-height-desktop: 96px;
	--header-height: var(--header-height-desktop);
	--card-radius: 0px;
	--image-radius: 0px;
	--button-radius: 0px;
	--card-shadow: 0 22px 50px rgba(24,26,17,.14);
	--image-shadow: 0 22px 50px rgba(24,26,17,.16);
	--group-shadow: 0 12px 34px rgba(24,26,17,.11);
	--columns-shadow: 0 12px 34px rgba(24,26,17,.11);
	--body-font-size: 16px;
	--body-font-family: var(--corporate-regular-font);
	--heading-font-family: var(--corporate-demi-font);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body-font-family); font-size: var(--body-font-size); line-height: 1.62; font-weight: 400; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body.is-locked { overflow: hidden; }
h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font-family); font-weight: 300; letter-spacing: -.018em; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
input, textarea, select, [contenteditable]:not([contenteditable="false"]) { font-family: Helvetica, Arial, sans-serif !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 13px 18px; top: 12px; left: 12px; z-index: 9999; background: #fff; color: #111; }

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	height: var(--header-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px var(--page-gutter);
	color: #fff;
	background: linear-gradient(180deg, rgba(7,14,9,.84), rgba(7,14,9,.08));
	transition: height .35s ease, background .35s ease, box-shadow .35s ease;
}
.admin-bar .site-header { top: 32px; }
.site-header.is-scrolled,
body:not(.home) .site-header { height: 76px; background: rgba(14,27,17,.96); box-shadow: 0 8px 30px rgba(0,0,0,.16); backdrop-filter: blur(10px); }
.brand { font-family: var(--corporate-medium-font); font-weight: 400; display: flex; align-items: center; gap: 14px; color: #fff; text-transform: uppercase; letter-spacing: .17em; font-size: 15px; white-space: nowrap; }
.brand-logo { width: 56px; height: 56px; object-fit: contain; transition: width .35s ease, height .35s ease; }
.site-header.is-scrolled .brand-logo,
body:not(.home) .brand-logo { width: 45px; height: 45px; }
.brand small { display: block; color: var(--gold); font: 9px var(--corporate-regular-font); letter-spacing: .21em; margin-top: 2px; }
.nav-list, .sub-menu, .footer-nav-list { list-style: none; margin: 0; padding: 0; }
.desktop-nav .nav-list { display: flex; align-items: center; gap: clamp(17px, 1.9vw, 31px); font: 10px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .15em; }
.desktop-nav > .nav-list > li { position: relative; }
.desktop-nav > .nav-list > .menu-item-has-children { display: flex; align-items: center; }
.desktop-nav a { display: block; position: relative; padding: 10px 0; }
.desktop-nav > .nav-list > li > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 4px; height: 1px; background: var(--gold); transition: right .22s ease; }
.desktop-nav a:hover, .desktop-nav a:focus-visible { color: var(--gold); }
.desktop-nav > .nav-list > li > a:hover::after,
.desktop-nav > .nav-list > li > a:focus-visible::after,
.desktop-nav > .nav-list > .current-menu-item > a::after,
.desktop-nav > .nav-list > .current-menu-ancestor > a::after { right: 0; }
.submenu-toggle {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 38px;
	margin: 0 -8px 0 2px;
	padding: 0;
	border: 0;
	background: transparent;
	color: currentColor;
	cursor: pointer;
}
.submenu-toggle span {
	display: block;
	width: 7px;
	height: 7px;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s ease;
}
.is-submenu-open > .submenu-toggle span { transform: translateY(2px) rotate(225deg); }
.submenu-toggle:hover, .submenu-toggle:focus-visible { color: var(--gold); }
.submenu-toggle:focus-visible { outline: 1px solid var(--gold); outline-offset: 2px; }
.desktop-nav .sub-menu {
	position: absolute;
	z-index: 20;
	top: calc(100% + 2px);
	left: -18px;
	width: max-content;
	min-width: 220px;
	max-width: 300px;
	padding: 10px 0;
	background: rgba(14,27,17,.98);
	border: 1px solid rgba(201,167,94,.28);
	box-shadow: 0 18px 38px rgba(0,0,0,.28);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}
.desktop-nav .sub-menu a {
	padding: 10px 18px;
	color: #fff;
	font-size: 10px;
	line-height: 1.35;
	letter-spacing: .11em;
	white-space: normal;
}
.desktop-nav .sub-menu a:hover, .desktop-nav .sub-menu a:focus-visible { color: var(--gold); background: rgba(255,255,255,.05); }
.desktop-nav .menu-item-has-children:hover > .sub-menu,
.desktop-nav .menu-item-has-children.is-submenu-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
}
.menu-button { display: none; position: relative; z-index: 1200; width: 46px; height: 46px; padding: 0; border: 1px solid rgba(201,167,94,.6); background: transparent; color: #fff; cursor: pointer; }
.menu-button span { position: absolute; left: 10px; right: 10px; height: 1px; background: currentColor; transition: transform .25s ease, top .25s ease; }
.menu-button span:first-child { top: 17px; }
.menu-button span:last-child { top: 27px; }
.menu-button[aria-expanded="true"] span:first-child { top: 22px; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] span:last-child { top: 22px; transform: rotate(-45deg); }
.mobile-menu { display: none; position: fixed; inset: 0; z-index: 900; overflow-y: auto; background: var(--green); color: #fff; padding: 120px 28px 35px; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.mobile-menu.is-open { opacity: 1; visibility: visible; }
.mobile-menu .nav-list { display: flex; flex-direction: column; gap: 15px; }
.mobile-menu a { display: block; font-size: clamp(29px, 8vw, 52px); line-height: 1.15; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.mobile-menu .menu-item-has-children { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; }
.mobile-menu .menu-item-has-children > a { grid-column: 1; grid-row: 1; }
.mobile-menu .menu-item-has-children > .submenu-toggle { grid-column: 2; grid-row: 1; width: 48px; height: 48px; margin: 0 0 0 10px; border: 1px solid rgba(201,167,94,.55); }
.mobile-menu .menu-item-has-children > .sub-menu { grid-column: 1/-1; }
.mobile-menu .sub-menu { display: block; padding: 8px 0 3px 24px; }
.js .mobile-menu .sub-menu { display: none; }
.js .mobile-menu .is-submenu-open > .sub-menu { display: block; }
.mobile-menu .sub-menu li { border-left: 1px solid rgba(201,167,94,.4); padding-left: 18px; }
.mobile-menu .sub-menu a { color: #d8d0c1; font-size: clamp(18px, 5vw, 28px); line-height: 1.25; padding: 10px 0; border-bottom-color: rgba(255,255,255,.1); }
.mobile-menu .sub-menu a:hover, .mobile-menu .sub-menu a:focus-visible { color: var(--gold); }

.mobile-footer-nav { margin-top: 44px; padding-top: 24px; border-top: 1px solid rgba(201,167,94,.58); }
.mobile-footer-nav-list { display: flex; flex-wrap: wrap; gap: 6px 20px; list-style: none; margin: 0; padding: 0; }
.mobile-menu .mobile-footer-nav-list a { color: #d8d0c1; border: 0; padding: 6px 0; font: 12px/1.35 var(--corporate-regular-font); letter-spacing: .12em; text-transform: uppercase; }
.mobile-menu .mobile-footer-nav-list a:hover, .mobile-menu .mobile-footer-nav-list a:focus-visible { color: var(--gold); }

.hero { height: 100svh; min-height: 720px; position: relative; overflow: hidden; background: var(--green); }
.hero-image { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 65% center; user-select: none; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6,13,8,.96) 0%, rgba(6,13,8,.74) 35%, rgba(6,13,8,.1) 68%, rgba(6,13,8,.46) 100%); }
.hero-copy { position: relative; z-index: 2; height: 100%; max-width: 680px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 130px 6vw 65px; color: #fff; }
.eyebrow { margin: 0 0 22px; color: var(--gold); font: 11px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .21em; }
.hero h1 { margin: 18px 0 34px; font-size: clamp(86px, 11vw, 168px); line-height: .75; font-weight: 400; letter-spacing: -.04em; text-transform: uppercase; }
.hero h1 span { display: block; color: var(--gold); font-size: .38em; letter-spacing: .17em; margin-top: .36em; }
.hero-intro { max-width: 520px; margin: 0; font-size: 20px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 24px; padding: 12px 25px; border: 1px solid var(--gold); color: var(--gold); font: 11px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .16em; transition: background .2s ease, color .2s ease; }
.button { border-radius: var(--button-radius); }
.button:hover, .button:focus-visible { background: var(--gold); color: var(--green); }
.button.light { color: #fff; }
.button.dark { color: var(--green); }

.gallery-section, .technique-section, .news-section { padding: var(--section-space) var(--page-gutter); }
.section-intro { max-width: 680px; }
.section-intro h2, .artist-section h2, .contact-section h2, .page-hero h1, .single-header h1, .error-main h1 { margin: .12em 0 .35em; color: var(--leaf); font-family: var(--heading-font-family); font-size: clamp(52px, 7vw, 104px); line-height: .92; font-weight: 400; }
.section-intro > p:last-child { max-width: 600px; margin: 0; font-size: 19px; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 70px 28px; margin-top: 90px; }
.gallery-item { grid-column: span 4; display: block; width: 100%; margin: 0; }
.managed-work-gallery .work-preview-size-small { grid-column: span 3; }
.managed-work-gallery .work-preview-size-standard { grid-column: span 4; }
.managed-work-gallery .work-preview-size-wide { grid-column: span 6; }
.managed-work-gallery .work-preview-size-large { grid-column: span 8; }
.managed-work-gallery .work-preview-size-full { grid-column: 1 / -1; }
.gallery-viewer { display: block; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; color: inherit; background: transparent; font: inherit; text-align: left; cursor: zoom-in; -webkit-appearance: none; appearance: none; }
.gallery-item:nth-child(2), .gallery-item:nth-child(5), .gallery-item:nth-child(8) { transform: translateY(70px); }
.gallery-image { position: relative; display: block; overflow: hidden; border-radius: var(--image-radius); box-shadow: var(--image-shadow); }
.gallery-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform .5s ease; user-select: none; pointer-events: none; }
.managed-work-gallery .work-preview-format-original .gallery-image img { height: auto; aspect-ratio: auto; }
.managed-work-gallery .work-preview-format-square .gallery-image img { aspect-ratio: 1 / 1; }
.managed-work-gallery .work-preview-format-portrait .gallery-image img { aspect-ratio: 3 / 4; }
.managed-work-gallery .work-preview-format-tall .gallery-image img { aspect-ratio: 2 / 3; }
.managed-work-gallery .work-preview-format-landscape .gallery-image img { aspect-ratio: 4 / 3; }
.managed-work-gallery .work-preview-format-wide .gallery-image img { aspect-ratio: 3 / 2; }
.managed-work-gallery .work-preview-format-cinema .gallery-image img { aspect-ratio: 16 / 9; }
.managed-work-gallery .work-preview-fit-contain .gallery-image { background: var(--paper-light); }
.managed-work-gallery .work-preview-fit-contain .gallery-image img { object-fit: contain; }
.managed-work-gallery .work-preview-position-center .gallery-image img { object-position: center; }
.managed-work-gallery .work-preview-position-top .gallery-image img { object-position: center top; }
.managed-work-gallery .work-preview-position-bottom .gallery-image img { object-position: center bottom; }
.managed-work-gallery .work-preview-position-left .gallery-image img { object-position: left center; }
.managed-work-gallery .work-preview-position-right .gallery-image img { object-position: right center; }
.managed-work-gallery .work-preview-custom-height .gallery-image img { height: var(--work-preview-height); aspect-ratio: auto; }
.gallery-viewer:hover img { transform: scale(1.025); }
.gallery-image i { position: absolute; right: 13px; top: 13px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(16,27,19,.8); color: #fff; font-style: normal; opacity: 0; transform: translateY(6px); transition: .25s ease; }
.gallery-viewer:hover .gallery-image i, .gallery-viewer:focus-visible .gallery-image i { opacity: 1; transform: none; }
.work-availability-label { position: absolute; left: 14px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; min-height: 28px; padding: 7px 11px 6px; border: 1px solid rgba(255,255,255,.72); border-radius: 0; background: rgba(16,27,19,.86); color: #fff; box-shadow: 0 4px 14px rgba(0,0,0,.18); font: 400 9px/1 var(--corporate-demi-font); letter-spacing: .14em; text-transform: uppercase; pointer-events: none; }
.work-availability-label-available { background: rgba(16,27,19,.86); }
.work-availability-label-reserved { background: rgba(145,108,45,.92); }
.work-availability-label-sold { background: rgba(75,68,62,.92); }
.gallery-caption { display: block; padding: 19px 8px 12px; text-align: center; }
.gallery-caption strong { display: block; font-size: 18px; font-weight: 400; }
.work-card-title { margin: 0; font-family: var(--heading-font-family); font-size: 23px; line-height: 1.15; font-weight: 400; }
.work-card-title a { color: var(--leaf); text-decoration: none; }
.work-card-title a:hover, .work-card-title a:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.gallery-caption small { display: block; margin-top: 7px; color: var(--muted); font: 10px var(--corporate-regular-font); letter-spacing: .05em; }
.work-price { display: block; margin-top: 9px; color: var(--leaf); font: 400 12px var(--corporate-demi-font); letter-spacing: .08em; }
.work-interest-button { display: flex; width: fit-content; margin: 0 auto; }
.work-card-actions { display: flex; flex-direction: column; align-items: center; gap: 13px; padding: 0 8px; }
.work-card-actions .work-interest-button { margin-top: 0; }
.work-detail-link { display: inline-flex; align-items: center; justify-content: center; margin: 0 auto; color: var(--leaf); font: 400 10px var(--corporate-demi-font); letter-spacing: .13em; text-transform: uppercase; text-decoration: none; }
.work-detail-link:hover, .work-detail-link:focus-visible { text-decoration: underline; text-underline-offset: 5px; }
.gallery-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 115px auto 0; text-align: center; }
.gallery-actions .button { margin-top: 0; }
.masterworks-main .entry-content { max-width: var(--content-width); }
.masterworks-main .managed-work-gallery { margin-top: 15px; }
.masterworks-note { max-width: 720px; margin: 0 auto 42px; color: var(--muted); text-align: center; }
.copyright-note { max-width: 620px; margin: 34px auto 0; text-align: center; color: var(--muted); font-size: 12px; }

.work-groups-section { padding: var(--section-space) var(--page-gutter); background: var(--paper-light); }
.work-groups-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:34px; margin-top:72px; }
.work-groups-grid .work-group-card { grid-column:span 3; }
.work-groups-count-1 .work-group-card { grid-column:2 / span 4; }
.work-groups-count-3 .work-group-card,
.work-groups-count-6 .work-group-card { grid-column:span 2; }
.work-groups-count-5 .work-group-card:nth-child(-n+2) { grid-column:span 3; }
.work-groups-count-5 .work-group-card:nth-child(n+3) { grid-column:span 2; }
.work-groups-count-7 .work-group-card:nth-child(-n+4) { grid-column:span 3; }
.work-groups-count-7 .work-group-card:nth-child(n+5),
.work-groups-count-8 .work-group-card { grid-column:span 2; }
.work-group-card { min-width: 0; overflow: hidden; background: var(--paper); border-radius: var(--card-radius); box-shadow: var(--card-shadow); }
.work-group-image { display: block; position: relative; overflow: hidden; aspect-ratio: 4/3; background: var(--green); }
.work-group-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.work-group-card:hover .work-group-image img { transform: scale(1.025); }
.work-group-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--gold); font-size: clamp(90px, 12vw, 170px); line-height: 1; }
.work-group-copy { padding: 30px 30px 34px; }
.work-group-copy h3 { margin: 0 0 16px; color: var(--leaf); font-size: 34px; line-height: 1.05; font-weight: 400; }
.work-group-copy p { margin: 0; }
.work-group-darksider { background: var(--green-2); color: #d6cebf; }
.work-group-darksider .work-group-copy h3, .work-group-darksider .text-link { color: var(--gold); }
.work-group-darksider .work-group-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(5,8,6,.38)); pointer-events: none; }

.work-group-comic-kubismus { background: #202322; color: #ddd6ca; }
.work-group-comic-kubismus .work-group-copy h3,
.work-group-comic-kubismus .text-link { color: var(--gold); }
.work-group-comic-kubismus .work-group-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(5,8,6,.30)); pointer-events: none; }


.leitgedanke-section {
	padding: clamp(82px, 9vw, 138px) var(--page-gutter);
	background: var(--green);
	color: var(--paper);
	text-align: center;
	border-top: 1px solid rgba(201,167,94,.25);
	border-bottom: 1px solid rgba(201,167,94,.25);
}
.leitgedanke-inner { width: min(1180px, 100%); margin: 0 auto; }
.leitgedanke-section .eyebrow { margin-bottom: 34px; }
.leitgedanke-quote,
.manifest-leitgedanke { margin: 0 auto; padding: 0; border: 0; font-family: var(--heading-font-family); font-weight: 400; overflow-wrap: anywhere; }
.leitgedanke-quote { max-width: 1180px; font-size: clamp(30px, 3.3vw, 49px); line-height: 1.1; letter-spacing: -.02em; }
.leitgedanke-quote span,
.leitgedanke-quote strong,
.manifest-leitgedanke span,
.manifest-leitgedanke strong { display: block; }
.leitgedanke-quote span + span,
.leitgedanke-quote span + strong,
.manifest-leitgedanke span + span,
.manifest-leitgedanke span + strong { margin-top: .22em; }
.leitgedanke-quote strong,
.manifest-leitgedanke strong { color: var(--gold); font-weight: 400; }
.leitgedanke-section .text-link { margin-top: 42px; color: var(--gold); }

.manifest-section { padding: var(--section-space) max(var(--page-gutter), 8vw); background: var(--green); color: var(--paper); text-align: center; }
.manifest-leitgedanke { max-width: 1040px; margin-top: 30px; font-size: clamp(30px, 2.9vw, 43px); line-height: 1.14; letter-spacing: -.018em; }
@media (min-width: 1100px) {
	.leitgedanke-quote span,
	.leitgedanke-quote strong,
	.manifest-leitgedanke span,
	.manifest-leitgedanke strong { white-space: nowrap; }
}
.manifest-section .manifest-thesis { max-width: 860px; margin: 50px auto 0; color: var(--paper); font-size: clamp(21px, 2vw, 28px); line-height: 1.45; }
.manifest-section > p:last-child { max-width: 740px; margin: 34px auto 0; color: #d6cebf; font-size: 19px; }
.technique-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 72px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.technique-grid article { min-height: 330px; padding: 42px; border-right: 1px solid var(--line); }
.technique-grid article:last-child { border: 0; }
.technique-grid span { color: var(--gold); font: 11px var(--corporate-regular-font); }
.technique-grid h3 { margin: 40px 0 22px; color: var(--leaf); font-size: 35px; font-weight: 400; }
.technique-grid p { margin: 0; }

.seminar-section { display: grid; grid-template-columns: 1.08fr .92fr; min-height: 760px; background: var(--green-2); color: #fff; }
.seminar-section > img { width: 100%; height: 100%; object-fit: cover; }
.seminar-section > div { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 8vw 7vw; }
.seminar-section h2 { margin: 10px 0 28px; font-family: var(--heading-font-family); font-size: clamp(48px, 6vw, 86px); line-height: .96; font-weight: 400; }
.seminar-section p:not(.eyebrow) { color: #d6cebf; font-size: 19px; }

.post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 34px; margin-top: 75px; }
.post-card { min-width: 0; }
.post-card-image { display: grid; place-items: center; width: 100%; aspect-ratio: 4/3; overflow: hidden; background: var(--green); color: var(--gold); border-radius: var(--image-radius); box-shadow: var(--image-shadow); font-size: 50px; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.post-card:hover .post-card-image img { transform: scale(1.025); }
.post-card-copy { padding: 25px 4px 0; }
.post-meta { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; color: #8a6729; font: 10px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .12em; }
.post-card h2 { margin: 0 0 13px; font-size: 30px; line-height: 1.08; font-weight: 400; }
.post-excerpt p { margin: 0 0 16px; }
.featured-news {
	margin-top: 75px;
	padding: clamp(22px, 3vw, 42px);
	background: var(--paper-light);
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.featured-news .post-card,
.journal-post-grid > .post-card.sticky {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
	grid-column: 1 / -1;
	gap: clamp(28px, 5vw, 72px);
	align-items: center;
}
.featured-news .post-card-image,
.journal-post-grid > .post-card.sticky .post-card-image {
	height: 100%;
	min-height: 330px;
	aspect-ratio: 16 / 10;
}
.featured-news .post-card-copy,
.journal-post-grid > .post-card.sticky .post-card-copy { padding: 20px 0; }
.featured-news .post-card h2,
.journal-post-grid > .post-card.sticky h2 { font-size: clamp(38px, 4.5vw, 64px); }
.featured-news-label {
	margin: 0 0 18px;
	color: var(--gold);
	font: 10px var(--corporate-regular-font);
	text-transform: uppercase;
	letter-spacing: .2em;
}
.home-news-grid.has-featured-news {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 48px;
}
.text-link { display: inline-block; margin-top: 16px; color: var(--leaf); font: 11px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .14em; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
.empty-news { margin-top: 60px; padding: 45px; background: var(--paper-light); border: 1px solid var(--line); }

.artist-section { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: end; padding: var(--section-space) var(--page-gutter); background: var(--artist-bg); }
.artist-section h2 { margin-bottom: 0; }
.artist-section > div:last-child > p { margin: 0; font-size: 21px; }
.artist-links { display: block; margin-top: 22px; }
.artist-link-row { display: block; width: 100%; }
.artist-link-row + .artist-link-row { margin-top: 14px; }
.artist-links .text-link { display: inline-block; margin-top: 0; }
.contact-section { padding: var(--section-space) var(--page-gutter); text-align: center; }
.contact-section h2 { color: var(--green); }
.atelier-booking { width: min(640px, 100%); margin: 42px auto 0; padding: 34px 28px 0; border-top: 1px solid var(--line); }
.atelier-booking p { max-width: 560px; margin: 0 auto; color: var(--muted); font-size: 18px; }
.atelier-booking .button { margin-top: 18px; }

.site-footer { display: grid; grid-template-columns: 1.2fr .75fr 1fr; gap: 42px; align-items: end; padding: 55px var(--page-gutter) 35px; background: var(--footer-bg); color: #d8d0c1; font-size: 13px; }
.footer-brand { font-family: var(--corporate-medium-font); font-weight: 400; display: flex; align-items: center; gap: 18px; text-transform: uppercase; letter-spacing: .14em; }
.footer-logo { width: 76px; height: 76px; object-fit: contain; }
.footer-brand small { display: block; color: var(--gold); font: 9px var(--corporate-regular-font); letter-spacing: .17em; margin-top: 3px; }
.footer-contact { display: flex; flex-direction: column; }
.footer-contact a, .footer-links a { text-decoration: underline; text-underline-offset: 4px; }
.footer-nav-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
.copyright { grid-column: 1/-1; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); color: #8f897d; font: 9px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .16em; }

.lightbox { display: none; position: fixed; inset: 0; z-index: 2000; align-items: center; justify-content: center; padding: 72px 96px 45px; background: rgba(5,8,6,.96); color: #fff; }
.lightbox.is-open { display: flex; }
.lightbox figure { max-width: 100%; max-height: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; }
.lightbox img { max-width: 80vw; max-height: 76vh; object-fit: contain; cursor: zoom-in; transition: transform .22s ease; user-select: none; }
.lightbox img.is-zoomed { transform: scale(1.35); cursor: zoom-out; }
.lightbox figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; justify-content: space-between; width: 100%; padding-top: 15px; color: #ddd5c7; }
.lightbox figcaption strong { font-weight: 400; }
.lightbox figcaption span { font-size: 13px; }
.lightbox-interest-button.button { min-height: 34px; margin: 0 0 0 auto; padding: 7px 14px; color: #fff; }
.lightbox-interest-button[hidden] { display: none !important; }
.lightbox-close { position: absolute; right: 28px; top: 25px; border: 0; background: transparent; color: #fff; cursor: pointer; font: 12px var(--corporate-regular-font); text-transform: uppercase; letter-spacing: .12em; }
.lightbox-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 72px; border: 1px solid rgba(255,255,255,.32); background: rgba(0,0,0,.16); color: #fff; font-size: 50px; cursor: pointer; }
.lightbox-prev { left: 24px; }
.lightbox-next { right: 24px; }
.lightbox-counter { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); color: #aaa; font: 10px var(--corporate-regular-font); letter-spacing: .15em; }

.journal-main, .single-main { min-height: 70vh; }
.page-hero { min-height: 580px; padding: 180px var(--page-gutter) 90px; background: linear-gradient(135deg,#0d170f,#1a2c1c 60%,#091008); color: #fff; }
.page-hero h1 { color: #fff; max-width: 1100px; }
.page-hero > p:last-child, .archive-description { max-width: 700px; font-size: 20px; color: #d7cfbf; }
.journal-list { padding: 100px var(--page-gutter) var(--section-space); }
.journal-list .post-grid { margin-top: 0; }
.navigation.pagination { margin-top: 80px; }
.nav-links { display: flex; gap: 10px; flex-wrap: wrap; }
.page-numbers { padding: 9px 13px; border: 1px solid var(--line); }
.page-numbers.current { background: var(--green); color: #fff; }
.single-main { padding: 170px var(--page-gutter) var(--section-space); }
.single-article { max-width: min(1080px, var(--wide-width)); margin: 0 auto; }
.single-header { max-width: 930px; }
.page-main .single-article { max-width: var(--wide-width); }
.page-main .page-header { max-width: none; }
.single-header h1 { color: var(--green); }
.single-deck { max-width: 750px; font-size: 22px; }
.single-featured { margin: 65px 0; }
.single-featured img { display: block; width: 100%; border-radius: var(--image-radius); box-shadow: var(--image-shadow); }
.work-single-header { max-width: 1080px; }
.work-single-grid { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(280px, .65fr); gap: clamp(42px, 6vw, 88px); align-items: start; margin-top: 70px; }
.work-single-image { margin: 0; }
.work-single-image img { display: block; width: 100%; height: auto; border-radius: var(--image-radius); box-shadow: var(--image-shadow); }
.work-single-image figcaption { margin-top: 12px; color: var(--muted); font: 9px var(--corporate-regular-font); letter-spacing: .1em; text-transform: uppercase; }
.work-single-details { position: sticky; top: calc(var(--header-height) + 28px); padding: 30px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.work-single-details dl { margin: 0; }
.work-single-details dl > div { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1.35fr); gap: 20px; padding: 13px 0; border-bottom: 1px solid rgba(110,105,94,.22); }
.work-single-details dl > div:last-child { border-bottom: 0; }
.work-single-details dt { color: var(--muted); font: 400 9px var(--corporate-demi-font); letter-spacing: .13em; text-transform: uppercase; }
.work-single-details dd { margin: 0; }
.work-single-interest { margin-top: 28px; }
.work-back-link { display: block; width: fit-content; margin-top: 28px; }
.work-single-content { margin-top: 85px; }
.work-single-intro { font-size: 23px; line-height: 1.45; }
.related-works { max-width: var(--wide-width); margin: 120px auto 0; padding-top: 75px; border-top: 1px solid var(--line); }
.related-works h2 { margin: .12em 0 .55em; color: var(--leaf); font-family: var(--heading-font-family); font-size: clamp(44px, 6vw, 78px); line-height: .95; font-weight: 400; }
.related-works-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.related-work-card { color: inherit; text-decoration: none; }
.related-work-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--image-radius); box-shadow: var(--image-shadow); }
.related-work-card span { display: block; text-align: center; }
.related-work-title { margin-top: 16px; font-size: 17px; }
.related-work-year { margin-top: 5px; color: var(--muted); font: 10px var(--corporate-regular-font); letter-spacing: .11em; text-transform: uppercase; }
.related-work-link { width: fit-content; margin: 12px auto 0; color: var(--leaf); font: 400 9px var(--corporate-demi-font); letter-spacing: .14em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.related-work-card:hover .related-work-title, .related-work-card:focus-visible .related-work-title { color: var(--leaf); text-decoration: underline; text-underline-offset: 5px; }
.entry-content { max-width: var(--content-width); margin: 0 auto; font-size: 19px; }
.entry-content > * { margin-top: 0; margin-bottom: 1.5em; }
.entry-content h2, .entry-content h3 { color: var(--leaf); font-weight: 400; line-height: 1.15; }
.entry-content h2 { font-size: 42px; margin-top: 1.7em; }
.entry-content a { color: var(--leaf); text-decoration: underline; text-underline-offset: 4px; }
.entry-content img { height: auto; border-radius: var(--image-radius); }
.single-main .entry-content > .alignwide {
	position: relative;
	left: 50%;
	width: min(var(--wide-width), calc(100vw - (2 * var(--page-gutter))));
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: translateX(-50%);
}
.single-main .entry-content > .alignfull {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: translateX(-50%);
}
.entry-content .managed-work-gallery .gallery-grid { margin-top: 55px; }
.single-footer {
	width: 100%;
	max-width: var(--content-width);
	margin: 48px auto 0;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}
.tag-list {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .45rem 1.15rem;
	font: 400 13px/1.55 var(--corporate-regular-font);
	letter-spacing: .055em;
}
.tag-list a {
	color: var(--muted);
	text-decoration: none;
	transition: color .18s ease;
}
.tag-list a::before {
	content: "#";
	margin-right: .08em;
	color: var(--leaf);
}
.tag-list a:hover,
.tag-list a:focus-visible {
	color: var(--leaf);
	text-decoration: underline;
	text-underline-offset: 4px;
}
.managed-gallery-empty { margin: 50px 0; padding: 20px; border: 1px solid var(--line); background: var(--paper-light); }
.wp-block-group.is-style-quitten-shadow,
.wp-block-group.quitten-schatten {
	border-radius: var(--card-radius);
	box-shadow: var(--group-shadow);
}
.wp-block-columns.is-style-quitten-shadow,
.wp-block-column.is-style-quitten-shadow,
.wp-block-columns.quitten-schatten,
.wp-block-column.quitten-schatten {
	border-radius: var(--card-radius);
	box-shadow: var(--columns-shadow);
}
.post-navigation { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; max-width: 1080px; margin: 80px auto 0; padding-top: 25px; border-top: 1px solid var(--line); }
.post-navigation > div:last-child { text-align: right; }
.comments-area { max-width: 760px; margin: 80px auto 0; padding-top: 40px; border-top: 1px solid var(--line); }
.comment-list { padding-left: 20px; }
.comment-body { margin-bottom: 30px; }
input[type="text"], input[type="email"], input[type="url"], input[type="search"], textarea { width: 100%; padding: 12px; border: 1px solid var(--line); background: #fff; }
input[type="submit"], button[type="submit"] { padding: 12px 20px; border: 1px solid var(--green); background: var(--green); color: #fff; cursor: pointer; }
.error-main { min-height: 78vh; padding: 190px 7vw 100px; }
.error-main h1 { max-width: 850px; color: var(--green); }

/* Styling für das einzelne Timeline-Element */
.wp-timeline-group-item {
	position: relative;
	/* Linke Außenlinie als Timeline-Bar (nutzt Kontrastfarbe des Themes) */
	border-left: 1px solid var(--wp--preset--color--contrast, #8c2d22);
	/* Abstand nach links zum Text und nach unten zum nächsten Element */
	padding-left: 28px !important;
	padding-bottom: 32px !important;
	margin-bottom: 0 !important;
}

/* Erzeugt den Timeline-Punkt (Kreis) oben links auf der Linie */
.wp-timeline-group-item::before {
	content: "";
	position: absolute;
	/* Positioniert den Punkt exakt auf der Linie */
	left: -9px;
	top: 30px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	/* Hintergrundfarbe des Punkts (Hauptfarbe des Themes) */
	background-color: var(--wp--preset--color--primary, #C8A35D);
	/* Heller Rahmen, damit sich der Punkt von der Linie abhebt */
	border: 0px solid var(--wp--preset--color--base, #ffffff);
	z-index: 2;
}

/* Optional: Verhindert, dass das allerletzte Element eine endlos lange Linie nach unten zieht */
.wp-timeline-group-item:last-of-type { border-left-color: transparent; }

@media (max-width: 1120px) {
	.desktop-nav .nav-list { gap: 15px; letter-spacing: .1em; }
	.brand { font-size: 13px; }
	.gallery-grid { column-gap: 20px; }
	.site-footer { grid-template-columns: 1.2fr 1fr; }
	.footer-links { justify-self: end; }
	.copyright { grid-column: 1/-1; }
}

@media (max-width: 1040px) {
	.desktop-nav { display: none; }
	.menu-button, .mobile-menu { display: block; }
	.technique-grid { grid-template-columns: 1fr; }
	.technique-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--line); }
	.technique-grid article:last-child { border-bottom: 0; }
	.seminar-section { grid-template-columns: 1fr; }
	.seminar-section > img { max-height: 720px; }
	.post-grid { grid-template-columns: 1fr 1fr; }
	.work-groups-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.work-groups-grid .work-group-card { grid-column:auto !important; }
}

@media (max-width: 782px) {
	.admin-bar .site-header { top: 46px; }
}

@media (max-width: 980px) {
	.related-works-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.managed-work-gallery .work-preview-size-small,
	.managed-work-gallery .work-preview-size-standard { grid-column: span 6; }
	.managed-work-gallery .work-preview-size-wide,
	.managed-work-gallery .work-preview-size-large,
	.managed-work-gallery .work-preview-size-full { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
	.managed-work-gallery .gallery-item { grid-column: 1 / -1; transform: none; }
	.work-single-grid { grid-template-columns: 1fr; gap: 38px; margin-top: 45px; }
	.work-single-details { position: static; }
	.work-single-content { margin-top: 65px; }
	.related-works { margin-top: 85px; padding-top: 55px; }
	.related-works-grid { grid-template-columns: 1fr; gap: 42px; }
	.managed-work-gallery .work-preview-custom-height .gallery-image img { height: min(var(--work-preview-height), 80svh); }
	:root { --header-height: 78px; }
	.site-header { padding-left: 16px; padding-right: 16px; }
	.brand-logo { width: 46px; height: 46px; }
	.brand { gap: 10px; font-size: 11px; }
	.hero { min-height: 700px; }
	.hero-image { object-position: 59% center; }
	.hero-shade { background: linear-gradient(90deg, rgba(6,13,8,.93), rgba(6,13,8,.55) 65%, rgba(6,13,8,.32)); }
	.hero-copy { padding: 110px 22px 60px; }
	.hero h1 {
		width: 100%;
		max-width: 100%;
		font-size: clamp(56px, 20vw, 94px);
		line-height: .78;
	}
	.hero-intro { font-size: 18px; }
	.gallery-section, .work-groups-section, .technique-section, .news-section, .artist-section, .contact-section { padding: 85px 20px; }
	.atelier-booking { margin-top: 34px; padding: 28px 0 0; }
	.atelier-booking p { font-size: 16px; }
	.gallery-grid { display: block; margin-top: 55px; }
	.gallery-item, .gallery-item:nth-child(n) { transform: none; margin-bottom: 52px; }
	.gallery-actions { margin-top: 38px; }
	.copyright-note { margin-top: 28px; }
	.work-groups-grid { grid-template-columns:1fr; gap:34px; margin-top:50px; }
	.work-groups-grid .work-group-card { grid-column:auto !important; }
	.leitgedanke-section { padding: 76px 20px; }
	.leitgedanke-section .eyebrow { margin-bottom: 28px; }
	.leitgedanke-quote { font-size: clamp(30px, 9vw, 42px); line-height: 1.12; }
	.leitgedanke-section .text-link { margin-top: 34px; }
	.manifest-section { padding: 90px 20px; }
	.manifest-section .manifest-leitgedanke { font-size: clamp(30px, 9vw, 38px); }
	.manifest-section .manifest-thesis { margin-top: 40px; font-size: 20px; }
	.technique-grid { margin-top: 45px; }
	.technique-grid article { padding: 30px 4px; }
	.seminar-section > img { min-height: 420px; }
	.seminar-section > div { padding: 70px 22px; }
	.post-grid { grid-template-columns: 1fr; gap: 60px; margin-top: 50px; }
	.featured-news { margin-top: 50px; padding: 20px; }
	.featured-news .post-card,
	.journal-post-grid > .post-card.sticky { grid-template-columns: 1fr; gap: 0; }
	.featured-news .post-card-image,
	.journal-post-grid > .post-card.sticky .post-card-image { min-height: 0; aspect-ratio: 4/3; }
	.featured-news .post-card-copy,
	.journal-post-grid > .post-card.sticky .post-card-copy { padding: 25px 4px 0; }
	.home-news-grid.has-featured-news { grid-template-columns: 1fr; }
	.artist-section { grid-template-columns: 1fr; gap: 35px; }
	.artist-section > div:last-child > p { font-size: 18px; }
	.site-footer { grid-template-columns: 1fr; align-items: start; padding: 45px 20px 28px; }
	.footer-links { justify-self: start; }
	.footer-nav-list { justify-content: flex-start; }
	.copyright { grid-column: auto; }
	.lightbox { padding: 70px 16px 75px; }
	.lightbox img { max-width: 94vw; max-height: 70vh; }
	.lightbox img.is-zoomed { transform: scale(1.15); }
	.lightbox figcaption { flex-direction: column; align-items: flex-start; gap: 7px; }
	.lightbox-interest-button.button { margin-left: 0; }
	.lightbox-nav { top: auto; bottom: 20px; transform: none; width: 46px; height: 46px; font-size: 38px; }
	.lightbox-prev { left: 18px; }
	.lightbox-next { right: 18px; }
	.lightbox-counter { bottom: 35px; }
	.page-hero { min-height: 470px; padding: 145px 20px 70px; }
	.journal-list, .single-main { padding-left: 20px; padding-right: 20px; }
	.single-main { padding-top: 130px; }
	.post-navigation { grid-template-columns: 1fr; }
	.post-navigation > div:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}


/* Optional verlinkte Technique-Karten */
.technique-grid article { position: relative; }
.technique-grid article.is-linked { cursor: pointer; transition: background-color .2s ease; }
.technique-grid article.is-linked:hover,
.technique-grid article.is-linked:focus-within { background: var(--paper-light); }
.technique-card-link { position: absolute; inset: 0; z-index: 1; }
.technique-card-link:focus-visible { outline: 2px solid var(--gold); outline-offset: -5px; }


/* =============================================================
   Typografisches System 2.12
   Corporate S durchgängig auf der öffentlichen Website
   ============================================================= */

/* Der Name am Logo bleibt bewusst Corporate S. */
.brand,
.brand-name,
.site-title,
.footer-brand,
.footer-brand-name {
	font-family: var(--corporate-medium-font) !important;
	font-weight: 400;
}

/* Inhaltliche Titel bleiben klassisch und ruhig. */
h1, h2,
.page-title,
.single-title,
.section-heading,
.work-group-title,
.entry-content h1,
.entry-content h2 {
	font-family: var(--corporate-demi-font);
	font-weight: 400;
	letter-spacing: -.025em;
}

h3, h4, h5, h6,
.entry-content h3,
.entry-content h4 {
	font-family: var(--corporate-medium-font);
	font-weight: 400;
	letter-spacing: -.01em;
}

blockquote,
.entry-content blockquote {
	font-family: var(--corporate-demi-font);
	font-style: italic;
	font-weight: 400;
}

/* Manifest / Pamphlet: ruhige Buchtypografie ohne dekorative Überladung. */
.ds-pamphlet {
	--pamphlet-serif: var(--corporate-light-font);
	--pamphlet-sans: var(--corporate-regular-font);
	font-family: var(--pamphlet-sans) !important;
	font-size: 18px;
	line-height: 1.72;
	letter-spacing: .002em;
}
.ds-pamphlet .ds-sheet,
.ds-pamphlet .ds-toc {
	width: min(1040px, calc(100% - 40px)) !important;
	margin-bottom: 42px !important;
	padding-left: clamp(28px, 7vw, 96px) !important;
	padding-right: clamp(28px, 7vw, 96px) !important;
}
.ds-pamphlet h1,
.ds-pamphlet h2,
.ds-pamphlet .ds-title,
.ds-pamphlet .ds-chapter-title {
	font-family: var(--pamphlet-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -.035em !important;
	line-height: 1.03 !important;
	text-wrap: balance;
}
.ds-pamphlet h1,
.ds-pamphlet .ds-title {
	font-size: clamp(46px, 7vw, 88px) !important;
}
.ds-pamphlet h2,
.ds-pamphlet .ds-chapter-title {
	font-size: clamp(35px, 4.5vw, 58px) !important;
	margin-top: .18em !important;
	margin-bottom: .72em !important;
}
.ds-pamphlet h3,
.ds-pamphlet .ds-kicker,
.ds-pamphlet .ds-label,
.ds-pamphlet .ds-number,
.ds-pamphlet .ds-meta,
.ds-pamphlet .ds-toc {
	font-family: var(--pamphlet-sans) !important;
}
.ds-pamphlet .ds-kicker,
.ds-pamphlet .ds-label,
.ds-pamphlet .ds-number,
.ds-pamphlet .ds-meta {
	font-weight: 500 !important;
	letter-spacing: .17em !important;
	text-transform: uppercase;
}
.ds-pamphlet p,
.ds-pamphlet li {
	font-family: var(--pamphlet-sans) !important;
	font-weight: 400;
	line-height: 1.72 !important;
}
.ds-pamphlet .ds-copy,
.ds-pamphlet .ds-body,
.ds-pamphlet article > p {
	max-width: 690px;
}
.ds-pamphlet blockquote,
.ds-pamphlet .ds-quote,
.ds-pamphlet .ds-lead {
	font-family: var(--pamphlet-serif) !important;
	font-weight: 400 !important;
	font-style: normal;
	font-size: clamp(24px, 3vw, 36px) !important;
	line-height: 1.38 !important;
	letter-spacing: -.018em !important;
	max-width: 820px;
}
.ds-pamphlet em,
.ds-pamphlet cite {
	font-family: var(--pamphlet-serif) !important;
}
.ds-pamphlet .ds-toc a {
	font-family: var(--pamphlet-sans) !important;
	font-weight: 500;
	letter-spacing: .025em;
}
.ds-pamphlet hr,
.ds-pamphlet .ds-rule {
	border: 0 !important;
	border-top: 1px solid rgba(160,122,58,.45) !important;
}

@media (max-width: 700px) {
	.ds-pamphlet { font-size: 17px; line-height: 1.68; }
	.ds-pamphlet .ds-sheet,
	.ds-pamphlet .ds-toc {
		width: calc(100% - 20px) !important;
		padding-left: 22px !important;
		padding-right: 22px !important;
		margin-bottom: 20px !important;
	}
}


/* 2.13 — Pamphlet as native Gutenberg blocks.
   Applied automatically to pages with the slugs /pamphlet/ and /manifest/. */
.ds-pamphlet-page .page-header { display: none; }
.ds-pamphlet-page .single-main { padding-top: 0; }
.ds-pamphlet-page .single-article { width: 100%; max-width: none; margin: 0; padding: 0; }
.ds-pamphlet-page .entry-content {
	--pamphlet-serif: var(--corporate-light-font);
	--pamphlet-sans: var(--corporate-regular-font);
	width: 100%; max-width: none; margin: 0; padding: 34px 0 56px;
	background: #e9ebe6; color: var(--ink);
	font-family: var(--pamphlet-sans); font-size: 18px; line-height: 1.72;
}
.ds-pamphlet-page .entry-content > * { width: min(1040px, calc(100% - 32px)); margin-left: auto; margin-right: auto; }
.ds-pamphlet-page .entry-content > .alignwide { width: min(1160px, calc(100% - 32px)); max-width: none; }
.ds-pamphlet-page .entry-content > .alignfull { width: 100%; max-width: none; }
.ds-pamphlet-page .wp-block-group.ds-pamphlet-sheet,
.ds-pamphlet-page .wp-block-group.ds-pamphlet-toc {
	background: var(--paper-light); padding: clamp(42px, 7vw, 92px) clamp(28px, 7vw, 96px);
	margin-bottom: 32px; box-shadow: 0 12px 34px rgba(24,26,17,.10);
}
.ds-pamphlet-page .ds-pamphlet-cover { min-height: min(720px, 78vh); display: flex; align-items: center; }
.ds-pamphlet-page .ds-pamphlet-cover > .wp-block-group__inner-container { width: 100%; }
.ds-pamphlet-page .entry-content h1,
.ds-pamphlet-page .entry-content h2 { font-family: var(--pamphlet-serif); font-weight: 400; letter-spacing: -.035em; line-height: 1.04; text-wrap: balance; }
.ds-pamphlet-page .entry-content h1 { font-size: clamp(48px, 7vw, 88px); margin: .12em 0 .35em; }
.ds-pamphlet-page .entry-content h2 { font-size: clamp(36px, 4.5vw, 58px); margin: .12em 0 .68em; }
.ds-pamphlet-page .entry-content h3 { font-family: var(--pamphlet-sans); font-size: 15px; font-weight: 500; letter-spacing: .17em; line-height: 1.35; text-transform: uppercase; color: var(--gold); margin: 0 0 1.1em; }
.ds-pamphlet-page .entry-content p,
.ds-pamphlet-page .entry-content li { font-family: var(--pamphlet-sans); font-weight: 400; line-height: 1.72; }
.ds-pamphlet-page .ds-pamphlet-copy { max-width: 690px; }
.ds-pamphlet-page .entry-content blockquote { margin: 2.2em 0; padding: 0; border: 0; max-width: 820px; }
.ds-pamphlet-page .entry-content blockquote p,
.ds-pamphlet-page .ds-pamphlet-lead { font-family: var(--pamphlet-serif); font-size: clamp(24px, 3vw, 36px); line-height: 1.38; letter-spacing: -.018em; font-style: normal; }
.ds-pamphlet-page .ds-pamphlet-meta { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ds-pamphlet-page .ds-pamphlet-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: pamphlet; }
.ds-pamphlet-page .ds-pamphlet-toc li { counter-increment: pamphlet; display: grid; grid-template-columns: 3rem 1fr; gap: 18px; padding: 15px 0; border-top: 1px solid rgba(160,122,58,.28); }
.ds-pamphlet-page .ds-pamphlet-toc li::before { content: counter(pamphlet, decimal-leading-zero); color: var(--gold); font-weight: 500; letter-spacing: .08em; }
.ds-pamphlet-page .ds-pamphlet-toc a { text-decoration: none; font-weight: 500; }
.ds-pamphlet-page .entry-content hr { border: 0; border-top: 1px solid rgba(160,122,58,.42); margin: 42px 0; }
@media (max-width:700px){
	.ds-pamphlet-page .entry-content { padding: 20px 0 34px; font-size: 17px; }
	.ds-pamphlet-page .entry-content > * { width: calc(100% - 20px); }
	.ds-pamphlet-page .wp-block-group.ds-pamphlet-sheet,
	.ds-pamphlet-page .wp-block-group.ds-pamphlet-toc { padding: 38px 22px; margin-bottom: 20px; }
	.ds-pamphlet-page .ds-pamphlet-cover { min-height: 520px; }
}


/* =============================================================
   Corporate S exact faces + calibrated Helvetica fallback — 3.2.8
   ============================================================= */
/* Use the original Linotype/Monotype face names instead of synthetic weights. */
body.font-corporate-s-loaded .brand,
body.font-corporate-s-loaded .footer-brand,
body.font-corporate-s-loaded h3,
body.font-corporate-s-loaded h4,
body.font-corporate-s-loaded h5,
body.font-corporate-s-loaded h6,
body.font-corporate-s-loaded .entry-content h3,
body.font-corporate-s-loaded .entry-content h4,
body.font-corporate-s-loaded .button,
body.font-corporate-s-loaded .wp-element-button,
body.font-corporate-s-loaded .wp-block-button__link {
	font-family: var(--corporate-medium-font) !important;
	font-weight: 400 !important;
}
body.font-corporate-s-loaded .work-availability-label,
body.font-corporate-s-loaded .work-price,
body.font-corporate-s-loaded .work-detail-link,
body.font-corporate-s-loaded .related-work-link,
body.font-corporate-s-loaded strong,
body.font-corporate-s-loaded b {
	font-family: var(--corporate-demi-font);
	font-weight: 400;
}
body.font-corporate-s-loaded.font-body-corporate :where(p,li,dd,dt,figcaption) em,
body.font-corporate-s-loaded.font-body-corporate :where(p,li,dd,dt,figcaption) i {
	font-family: var(--corporate-regular-italic-font);
	font-style: normal;
}

/*
 * Helvetica is not treated as a drop-in replacement. Corporate S and Helvetica
 * differ in x-height, width and perceived size. The fallback class is present
 * until the licensed faces have loaded and remains if they cannot be loaded.
 */
body.font-fallback-helvetica.font-body-corporate {
	--body-font-family: Helvetica, Arial, sans-serif;
	font-size: calc(var(--body-font-size) - 1px);
	line-height: 1.66;
}
body.font-fallback-helvetica .brand { font-size: 14px; letter-spacing: .155em; }
body.font-fallback-helvetica .brand small { font-size: 8.5px; letter-spacing: .19em; }
body.font-fallback-helvetica .desktop-nav .nav-list { font-size: 9.5px; letter-spacing: .14em; }
body.font-fallback-helvetica .mobile-menu .mobile-footer-nav-list a { font-size: 11px; letter-spacing: .11em; }
body.font-fallback-helvetica .eyebrow { font-size: 10px; letter-spacing: .19em; }
body.font-fallback-helvetica .button,
body.font-fallback-helvetica .wp-element-button,
body.font-fallback-helvetica .wp-block-button__link { font-size: 10px; letter-spacing: .145em; }
body.font-fallback-helvetica .work-availability-label { font-size: 8px; letter-spacing: .13em; }
body.font-fallback-helvetica .gallery-caption small,
body.font-fallback-helvetica .post-meta,
body.font-fallback-helvetica .lightbox-counter,
body.font-fallback-helvetica .related-work-year { font-size: 9px; }
body.font-fallback-helvetica .work-price { font-size: 11px; }
body.font-fallback-helvetica .work-detail-link,
body.font-fallback-helvetica .text-link { font-size: 10px; letter-spacing: .125em; }
body.font-fallback-helvetica .work-single-details dt,
body.font-fallback-helvetica .related-work-link { font-size: 8px; letter-spacing: .12em; }
body.font-fallback-helvetica h3,
body.font-fallback-helvetica .entry-content h3,
body.font-fallback-helvetica .ds-pamphlet-page .entry-content h3 { font-size: 14px; }
body.font-fallback-helvetica .ds-pamphlet,
body.font-fallback-helvetica .ds-pamphlet-page .entry-content { font-size: 17px; line-height: 1.74; }
body.font-fallback-helvetica .ds-pamphlet-page .ds-pamphlet-meta { font-size: 12px; }
body.font-fallback-helvetica figcaption,
body.font-fallback-helvetica .wp-element-caption,
body.font-fallback-helvetica .gallery-meta { font-size: 12px; }
@media (max-width: 700px) {
	body.font-fallback-helvetica.font-body-corporate { font-size: calc(var(--body-font-size) - 1px); }
	body.font-fallback-helvetica .ds-pamphlet,
	body.font-fallback-helvetica .ds-pamphlet-page .entry-content { font-size: 16px; line-height: 1.72; }
}

body.font-fallback-helvetica :is(
	input[type="submit"], button[type="submit"],
	.ff-btn, .ff-btn-submit, .wpforms-submit, .wpcf7-submit,
	.gform_button, .gform-theme-button, .forminator-button,
	.nf-form-content button, .everest-forms button[type="submit"],
	.amelia-app-booking button, .bookly-btn
) {
	font-size: 10px !important;
	letter-spacing: .145em !important;
}


/* Fixed DE/EN language switch */
.language-switch { display:flex; align-items:center; gap:.45rem; margin-left:1rem; white-space:nowrap; font-size:.76rem; letter-spacing:.08em; }
.language-switch__link { color:inherit; text-decoration:none; opacity:.48; }
.language-switch__link + .language-switch__link::before { content:"/"; display:inline-block; margin-right:.45rem; opacity:.45; }
.language-switch__link.is-current { opacity:1; }
.language-switch--mobile { display:none; margin:1.25rem 0 0; }
@media (max-width: 900px) { .site-header > .language-switch { display:none; } .language-switch--mobile { display:flex; } }
