/* Public Private Treaty presentation;
	system fonts, no external services. */

.ct-pt-catalogue {
	--pt-ink:#141715;
	--pt-paper:#f8f5ec;
	--pt-gold:#d1b975;
	--pt-muted:#c4c4b8;
	margin:0;
	background:var(--pt-ink);
	color:var(--pt-paper);
	font:17px/1.65 system-ui,-apple-system,sans-serif;
	color-scheme:dark
}
.ct-pt-catalogue * {
	box-sizing:border-box
}
.ct-pt-catalogue a {
	color:inherit;
	text-underline-offset:.25em
}
.ct-pt-catalogue a:hover {
	color:var(--pt-gold)
}
.ct-pt-catalogue :focus-visible {
	outline:3px solid var(--pt-gold);
	outline-offset:5px
}
.pt-skip {
	position:absolute;
	left:1rem;
	top:-8rem;
	background:var(--pt-paper);
	color:var(--pt-ink)!important;
	padding:1rem;
	z-index:10
}
.pt-skip:focus {
	top:1rem
}
.pt-header,.pt-main,.pt-footer {
	width:min(1240px,92%);
	margin:auto
}
.pt-header {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:2rem;
	padding:2rem 0;
	border-bottom:1px solid #555548
}
.pt-brand {
	font:1.6rem/1.25 Georgia,serif;
	text-decoration:none;
	letter-spacing:.03em
}
.pt-brand span {
	display:block;
	font:11px/2 system-ui,sans-serif;
	letter-spacing:.25em;
	color:var(--pt-gold)
}
.pt-header nav {
	display:flex;
	gap:1.5rem;
	flex-wrap:wrap;
	font-size:.9rem
}
.pt-header nav a {
	display:inline-flex;
	align-items:center;
	min-height:44px;
	text-decoration:none
}
.pt-header [aria-current] {
	border-bottom:1px solid var(--pt-gold)
}
.pt-intro {
	max-width:800px;
	padding:5rem 0 3rem
}
.pt-eyebrow {
	text-transform:uppercase;
	letter-spacing:.16em;
	font-size:.7rem;
	color:var(--pt-gold);
	overflow-wrap:anywhere
}
.pt-catalogue h1,.pt-main h1 {
	font:clamp(2.4rem,6vw,5rem)/1.12 Georgia,serif;
	margin:.4em 0
}
.pt-main h2 {
	font:1.5rem/1.3 Georgia,serif
}
.pt-muted {
	color:var(--pt-muted);
	font-size:.9rem
}
.pt-filters {
	display:flex;
	gap:1rem;
	align-items:end;
	flex-wrap:wrap;
	padding:1.5rem 0;
	border-block:1px solid #555548
}
.pt-filters label {
	display:grid;
	gap:.35rem;
	font-size:.85rem
}
.pt-filters label:first-child {
	flex:1;
	min-width:220px
}
.pt-catalogue input,.ct-pt-catalogue input,.ct-pt-catalogue select,.ct-pt-catalogue button {
	font:inherit
}
.pt-filters input,.pt-filters select {
	background:#20251f;
	color:var(--pt-paper);
	border:1px solid #888879;
	border-radius:2px;
	padding:.65rem;
	min-height:48px;
	max-width:100%
}
.pt-button,.pt-filters button {
	display:inline-block;
	border:1px solid var(--pt-gold);
	background:var(--pt-gold);
	color:#141715!important;
	padding:.7rem 1.1rem;
	text-decoration:none;
	font-weight:600;
	border-radius:2px;
	min-height:48px;
	cursor:pointer
}
.pt-results {
	color:var(--pt-muted);
	font-size:.85rem;
	margin:2rem 0
}
.pt-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:2rem
}
.pt-card {
	border:1px solid #555548;
	background:#1b201b;
	min-width:0
}
.pt-card-image {
	display:flex;
	align-items:center;
	justify-content:center;
	aspect-ratio:4/3;
	background:#ece8dc;
	color:#444;
	overflow:hidden
}
.pt-card-image img {
	width:100%;
	height:100%;
	object-fit:contain;
	padding:1rem
}
.pt-card-copy {
	padding:1.25rem
}
.pt-card h2 {
	margin:.5rem 0
}
.pt-card h2 a {
	text-decoration:none
}
.pt-card p:last-child {
	font-size:.85rem
}
.pt-state {
	font-size:.8rem;
	text-transform:uppercase;
	letter-spacing:.1em;
	color:var(--pt-gold)
}
.pt-pagination {
	display:flex;
	justify-content:space-between;
	gap:1rem;
	padding:3rem 0
}
.pt-pagination a {
	padding:.5rem;
	border:1px solid #888879
}
.pt-empty {
	padding:3rem 1rem;
	border:1px solid #555548;
	text-align:center
}
.pt-breadcrumb {
	margin:2rem 0;
	font-size:.85rem
}
.pt-item-header {
	max-width:900px;
	margin:2rem 0 3rem
}
.pt-item-header h1 {
	font-size:clamp(2.2rem,4.5vw,4rem)
}
.pt-item-layout {
	display:grid;
	grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
	gap:4rem
}
.pt-gallery figure {
	margin:0 0 2rem
}
.pt-gallery img {
	display:block;
	width:100%;
	height:auto;
	max-height:80vh;
	object-fit:contain;
	background:#ece8dc;
	padding:1rem
}
.pt-gallery figcaption {
	color:var(--pt-muted);
	font-size:.8rem;
	margin-top:.6rem
}
.pt-item-copy {
	min-width:0
}
.pt-item-copy section {
	margin:2rem 0
}
.pt-prose {
	white-space:pre-line;
	overflow-wrap:anywhere
}
.pt-action {
	border-top:1px solid var(--pt-gold);
	padding-top:1rem
}
.pt-entry {
	max-width:760px
}
.pt-notice {
	padding:1rem;
	border-left:3px solid var(--pt-gold);
	background:#252b24
}
.pt-footer {
	margin-top:5rem;
	padding:2rem 0;
	border-top:1px solid #555548;
	font-size:.8rem;
	color:var(--pt-muted)
}
.ct-image-dialog {
	width:min(1200px,96vw);
	max-height:94vh;
	padding:1rem;
	background:#141715;
	color:#f8f5ec;
	border:1px solid #d1b975
}
.ct-image-dialog::backdrop {
	background:#000d
}
.ct-image-dialog__head,.ct-image-dialog__tools {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem
}
.ct-image-dialog__head h2 {
	font-size:1.1rem
}
.ct-image-dialog button {
	background:#d1b975;
	color:#141715;
	border:0;
	padding:.6rem;
	min-width:44px;
	min-height:44px
}
.ct-image-dialog__stage {
	height:65vh;
	overflow:auto;
	display:flex;
	align-items:center;
	justify-content:center
}
.ct-image-dialog__stage img {
	max-width:100%;
	max-height:100%;
	object-fit:contain
}
.ct-image-dialog[data-zoom=true] .ct-image-dialog__stage {
	display:block
}
.ct-image-dialog[data-zoom=true] img {
	max-width:none;
	max-height:none
}
.ct-image-dialog__tools {
	margin-top:1rem;
	font-size:.85rem
}
@media(max-width:900px) {
	.pt-grid {
	grid-template-columns:repeat(2,minmax(0,1fr))
}
.pt-item-layout {
	gap:2rem
}
.pt-header {
	align-items:start
}
}
@media(max-width:760px) {
	.pt-header {
	display:block;
	padding:1.4rem 0
}
.pt-header nav {
	margin-top:1.2rem;
	gap:1rem;
	font-size:.8rem
}
.pt-intro {
	padding:3rem 0 2rem
}
.pt-grid {
	grid-template-columns:1fr
}
.pt-item-layout {
	grid-template-columns:1fr
}
.pt-filters {
	display:grid;
	grid-template-columns:1fr;
	width:100%
}
.pt-filters label:first-child {
	min-width:0
}
.pt-filters input,.pt-filters select {
	width:100%;
	min-width:0
}
.pt-card-image {
	aspect-ratio:4/3
}
.ct-image-dialog__tools {
	flex-wrap:wrap
}
}

/* Public selection only; authorization and nonce appear on the private entry. */
.pt-card-copy label { display: flex; align-items: start; gap: .6rem; min-height: 44px; font-size: .85rem; }
.pt-card-copy input[type=checkbox] { width: 24px; height: 24px; flex: 0 0 24px; }
