/* ==========================================================================
   Typography & gallery adjustments
   Loaded after 992.css. Removing this file restores the previous look.
   ========================================================================== */

/* TYPE SCALE
   Uppercase + letter-spacing only for short labels (menu, captions, widget
   titles). Titles and text in normal case. */

body {
	color: #444;
	}

/* Rosebuds-inspired editorial typography: elegant serif headings + clean body. */
body,
button,
input,
select,
textarea {
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
	}
h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title,
.price-title,
.section-title-l,
.gallery-grid figure h2 {
	font-family: "Cormorant Garamond", Georgia, serif;
	}

/* MENU — the most prominent text after the logo */
.nav-menu ul li {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .16em !important;
	}
.nav-menu ul li,
.nav-menu ul li a {
	color: #333;
	}
.nav-menu ul li a:hover,
.nav-menu ul li a.selected {
	color: #999;
	}
.nav-menu ul li.active a {
	color: #333;
	opacity: 1;
	}

/* PAGE TITLES — Portfolio, Pricing, About, Contact me */
h1 {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: .3em;
	color: #555;
	margin: 1.6em 0 .6em;
	}

.layout-medium > h1 + .section-title {
	display: none;
	}
.layout-medium > h1 {
	margin-bottom: 0;
	padding-bottom: 48px;
	}
.section-title {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .2em;
	color: #999;
	border-bottom-color: #f0f0f0;
	}

/* GALLERY TILES — full-strength photos, caption under the image */
.gallery-grid figure {
	background: transparent;
	}
.gallery-grid figure img,
.gallery-grid figure:hover img {
	opacity: 1;
	width: 100%;
	max-width: 100%;
	-webkit-transform: none;
	transform: none;
	}
.gallery-grid figure:hover img {
	opacity: .88;
	}
.gallery-grid figure figcaption {
	position: static;
	height: auto;
	padding: .9em 0 1.4em;
	color: #555;
	text-align: center;
	background: #fff;
	}
.gallery-grid figure figcaption:before,
.gallery-grid figure figcaption:after {
	display: none;
	}
.gallery-grid figure h2 {
	padding: 0;
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .2em;
	line-height: 1.4;
	}
.gallery-grid figure p {
	display: none;
	}

/* PRICING */
.section-title-l {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .15em;
	border-bottom-color: #f0f0f0;
	}
.section-price {
	font-size: 18px;
	font-weight: 400;
	color: #555;
	}
.price-title {
	font-size: 22px !important;
	font-weight: 400;
	letter-spacing: .08em;
	color: #333;
	}
.long-title {
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .15em;
	color: #999;
	}

/* BLOG — post titles in normal case */
.entry-title,
.blog-regular .entry-title,
.blog-regular .entry-header h1,
.with-sidebar h1 {
	font-size: 22px;
	font-weight: 400;
	letter-spacing: .02em;
	text-transform: none;
	color: #333;
	}
.entry-title a {
	color: #333;
	}
.entry-meta {
	font-weight: 400;
	letter-spacing: .12em;
	color: #999;
	}
.entry-content p {
	line-height: 1.75;
	}

/* Every blog story uses one type system, including older MODX posts. */
.page-blog .type-post > .entry-header .entry-title,
.page-blog .type-post > .entry-header h1 {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.35;
	letter-spacing: .01em !important;
	text-transform: none !important;
	}
.page-blog .type-post .entry-content,
.page-blog .type-post .entry-content p {
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
	font-weight: 400;
	}
.page-blog .type-post .entry-content strong {
	font-weight: 600;
	}

.entry-content a.more-link {
	display: block;
	width: max-content;
	max-width: 100%;
	margin: 1em auto 0;
	}

/* no cover set for the post — hide the empty frame instead of a broken icon */
.featured-image img[src=""] {
	display: none;
	}

/* Blog cards: heading above; photograph starts level with the text beside it. */
@media (min-width: 768px) {
	.blog-regular .hentry {
		display: grid;
		grid-template-columns: minmax(240px, 43%) minmax(0, 1fr);
		column-gap: 30px;
		align-items: start;
		}
	.blog-regular .hentry > .entry-header {
		grid-column: 1 / -1;
		margin-bottom: 1.15em;
		}
	.blog-regular .hentry > .featured-image {
		grid-column: 1;
		margin: 0;
		}
	.blog-regular .hentry > .entry-content {
		grid-column: 2;
		min-width: 0;
		}
	.blog-regular .hentry > .entry-content > :first-child {
		margin-top: 0;
		}
	}

/* SIDEBAR */
.widget-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	color: #999;
	}
.widget-title:before {
	border-bottom: 1px solid #eee;
	top: 50%;
	}
.widget-area .widget ul li,
.widget-area .widget ul li a {
	font-size: 13px;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #555;
	}
.widget-area .widget ul li a:hover {
	color: #999;
	}
.tagcloud a {
	font-size: 12px !important;
	letter-spacing: .08em;
	color: #777;
	border-color: #eee;
	}

/* FOOTER */
.footer-social .social li a {
	font-size: 18px;
	color: #999;
	}
.footer-social .social li a:hover {
	color: #555;
	}
.site-footer .site-info p {
	font-size: 12px;
	color: #999;
	}

/* ABOUT */
.page-about .layout-medium > div {
	display: grid;
	grid-template-columns: 43% minmax(0, 1fr);
	column-gap: 30px;
	align-items: start;
	max-width: 1040px;
	margin: 0 auto;
	}
.page-about .layout-medium > div > .wp-caption.alignleft {
	float: none;
	width: 100% !important;
	max-width: none;
	margin: .35em 0 0 !important;
	}
.page-about .layout-medium > div > .wp-caption img {
	display: block;
	width: 100%;
	}
.page-about .layout-medium > div > div:last-child {
	grid-column: 2;
	min-width: 0;
	}
.page-about .about-copy {
	margin-top: 1.25em;
	font-size: 15px;
	line-height: 1.8;
	letter-spacing: .025em;
	color: #555;
	}
.page-about .price-title,
.page-about .long-title,
.page-about .about-copy {
	text-align: left;
	}
.page-about .price-title {
	margin: .35em 0 0;
	font-size: 23px !important;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: .04em;
	text-transform: none;
	color: #444;
	}
.page-about .long-title {
	display: none;
	}
.page-about .about-copy p {
	margin: 0 0 .85em;
	}
.page-about .about-intro,
.page-about .about-story {
	display: contents;
	}

/* SMALL SCREENS */
.session-story .session-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 2em 0;
	}
.session-gallery figure { margin: 0; }
.session-gallery .portrait { grid-column: 1 / -1; width: 65%; justify-self: center; }
.session-gallery .landscape { grid-column: 1 / -1; }
.session-gallery img { display: block; width: 100%; height: auto; }
.session-gallery.auto-collage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; gap: 4px; align-items: start; }
.session-gallery.auto-collage > a { display: block; width: 100%; margin: 0; opacity: 1; overflow: hidden; }
.session-gallery.auto-collage > a.landscape { grid-column: span 2; }
.session-gallery.auto-collage > a:only-child { grid-column: 1 / -1; max-width: 780px; justify-self: center; }
.session-gallery.auto-collage.collage-ready { display: block; }
.session-blocks { margin: 2em 0; }
.session-block { margin: 0 0 20px; }
.session-block--text { line-height: 1.75; }
.session-block--text > :last-child { margin-bottom: 0; }
.session-block--image { line-height: 0; }
.session-block--image.portrait { width: 65%; margin-right: auto; margin-left: auto; }
.session-block--image img { display: block; width: 100%; height: auto; }
.session-block--video { line-height: normal; }
.entry-content video { display: block; max-width: 100%; height: auto; }
.session-video { position: relative; width: 100%; max-width: 380px; margin: 32px auto; aspect-ratio: var(--video-ratio); background: #eee; }
.session-video video { width: 100%; height: 100%; object-fit: contain; }
.session-video .video-play { display: none; }
.session-video.video-ready:not(.is-playing) .video-play { display: grid; place-items: center; position: absolute; inset: 50% auto auto 50%; transform: translate(-50%,-50%); width: 64px; height: 64px; border: 1px solid #fff; border-radius: 50%; background: rgba(0,0,0,.4); color: #fff; font-size: 24px; padding: 0 0 0 4px; cursor: pointer; }
.session-video .video-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.page-blog img { height: auto; }
.page-blog .type-post .entry-content .photo-paragraph { width: 100%; margin: 0 auto 20px !important; padding: 0; line-height: 0; }
.page-blog .type-post .entry-content .portrait-photo { width: 65%; }
.page-blog .photo-paragraph img { display: block; width: 100%; height: auto; margin: 0; }
.page-search-tags .tagcloud a.is-active { color: #fff; background: #555; border-color: #555; }
.page-search-tags .tag-empty { display: none; margin: 2em 0; }
@media (max-width: 767px) {
	.session-gallery.auto-collage { grid-template-columns: 1fr; gap: 3px; }
	.session-gallery.auto-collage > a.landscape { grid-column: auto; }
	.page-blog .type-post .entry-content .photo-paragraph { margin-bottom: 12px; }
	.page-blog .type-post .entry-content .portrait-photo { width: 100%; }
	.session-story .session-gallery { gap: 12px; }
	.session-gallery .portrait { width: 100%; }
	.session-block { margin-bottom: 12px; }
	.session-block--image.portrait { width: 100%; }
	.page-about .layout-medium > div {
		display: block;
		}
	.page-about .layout-medium > div > .wp-caption.alignleft {
		float: none;
		width: 100% !important;
		margin: 0 0 1.6em !important;
		}
	.page-about .layout-medium > div > div:last-child {
		display: block;
		}
	.page-about .price-title {
		font-size: 21px !important;
		}
	.page-about .about-story {
		display: contents;
		}
	.nav-menu ul li {
		font-size: 14px;
		}
	h1 {
		font-size: 19px;
		}
	.layout-medium > h1 {
		padding-bottom: 36px;
		}
	.entry-title,
	.blog-regular .entry-title {
		font-size: 19px;
		}
	.page-blog .type-post > .entry-header .entry-title,
	.page-blog .type-post > .entry-header h1 {
		font-size: 20px !important;
		}

	/* Pricing cards are read one at a time on a phone. */
	.page-pricing .row > .col-sm-4 {
		margin-bottom: 3.5em;
		}
	.page-pricing .row > .col-sm-4:last-child {
		margin-bottom: 1em;
		}
	.page-pricing .row > .col-sm-4 > img {
		display: block;
		width: 100%;
		filter: brightness(1.05) contrast(1.02);
		}
	.page-pricing .section-title-l {
		font-size: 14px;
		font-weight: 600;
		margin: .9em 0 .5em;
		text-align: left;
		}
	.page-pricing .section-price {
		font-size: 16px;
		margin: .8em 0;
		text-align: left;
		}
	.page-pricing .row ul {
		width: max-content;
		max-width: 88%;
		margin: .5em 0 1.2em;
		padding-left: 1.4em;
		list-style: disc;
		}
	.page-pricing .row li {
		font-size: 14px;
		line-height: 1.55;
		margin: .25em 0;
		}
	.page-pricing .row > .col-sm-4 > div {
		text-align: left;
		}
	.page-pricing .button {
		min-width: 170px;
		padding: 1em 1.4em;
		font-size: 11px;
		}
	.page-pricing .mg-bottom {
		margin-bottom: 10px;
		}
	}

/* Instant photo masonry: visible before JS and independent of CollagePlus. */
.mfp-gallery.pw-collage,
.mfp-gallery.instant-photo-grid,
.session-gallery.auto-collage,
.session-gallery.auto-collage.collage-ready {
	display: block !important;
	columns: 3 250px;
	column-gap: 5px;
	width: 100% !important;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	}
.mfp-gallery.pw-collage > a,
.mfp-gallery.instant-photo-grid > a,
.session-gallery.auto-collage > a {
	position: static !important;
	display: block !important;
	break-inside: avoid;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 5px !important;
	opacity: 1 !important;
	transform: none !important;
	overflow: hidden;
	}
.mfp-gallery.pw-collage > a > img,
.mfp-gallery.instant-photo-grid > a > img,
.session-gallery.auto-collage > a > img {
	display: block;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	}
.mfp-gallery.instant-photo-grid > a:only-child,
.session-gallery.auto-collage > a:only-child {
	column-span: all;
	max-width: 780px;
	margin-right: auto !important;
	margin-left: auto !important;
	}
@media (max-width: 767px) {
	.mfp-gallery.pw-collage,
	.mfp-gallery.instant-photo-grid,
	.session-gallery.auto-collage,
	.session-gallery.auto-collage.collage-ready {
		columns: 2 145px;
		column-gap: 3px;
		}
	.mfp-gallery.pw-collage > a,
	.mfp-gallery.instant-photo-grid > a,
	.session-gallery.auto-collage > a { margin-bottom: 3px !important; }
	}

/* 2026-10 final visual system: quiet typography and predictable photo grids. */
body {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.72;
	}
body.page-blog .hentry .entry-content,
body.page-blog .hentry .entry-content p,
body.page-blog .hentry .entry-content li,
body.page-blog .session-block--text,
body.page-about .about-copy,
body.page-about .about-copy p {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	line-height: 1.72 !important;
	letter-spacing: .015em;
	}
body.page-blog .entry-title,
body.page-blog .entry-title a,
body.page-blog article h1,
body.page-about .price-title {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 500 !important;
	}
.nav-menu, .site-navigation, .entry-meta, .more-link, .button,
.footer-social, .site-info, button, input, select, textarea {
	font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
	}
.entry-content, .about-copy, .session-block--text, .page-pricing .row {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 18px;
	line-height: 1.72;
	color: #666;
	}
h1, h2, h3, h4, h5, h6,
.entry-title, .price-title, .section-title, .section-title-l {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-weight: 600 !important;
	}
.layout-medium > h1,
.page-pricing .layout-medium > h1 {
	font-size: 24px !important;
	font-weight: 600 !important;
	letter-spacing: .22em !important;
	}
.gallery-grid {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px 8px;
	height: auto !important;
	}
.gallery-grid .masonry-item {
	position: static !important;
	width: auto !important;
	height: auto !important;
	transform: none !important;
	}
.gallery-grid figure img {
	display: block;
	width: 100% !important;
	aspect-ratio: 3 / 2;
	height: auto !important;
	object-fit: cover;
	object-position: center;
	}
.gallery-grid figure h2 {
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.25;
	letter-spacing: .13em !important;
	}
.page-blog .entry-content p:not(.entry-more),
.session-block--text p {
	text-align: justify;
	text-align-last: left;
	text-justify: inter-word;
	hyphens: auto;
	}
.page-pricing .row.pricing-live-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 52px 34px;
	align-items: start;
	}
.page-pricing .row.pricing-live-grid:before,
.page-pricing .row.pricing-live-grid:after { display: none; }
.page-pricing .row.pricing-live-grid > .col-sm-4 {
	float: none;
	width: auto;
	margin: 0;
	}
.page-pricing .row.pricing-live-grid > .col-sm-4 > img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	}
.about-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 8px;
	margin: .35em 0 1.6em;
	}
.about-photo-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	}
.contact-photo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	float: left;
	width: 43%;
	margin: .35em 30px 1.6em 0;
	}
.contact-photo-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	}
@media (max-width: 900px) {
	.gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	}
@media (max-width: 767px) {
	.gallery-grid { grid-template-columns: 1fr; gap: 22px; }
	.gallery-grid figure h2 { font-size: 15px !important; }
	.page-pricing .row.pricing-live-grid { grid-template-columns: 1fr; gap: 48px; }
	.about-photo-grid, .contact-photo-grid { grid-template-columns: 1fr; }
	.contact-photo-grid { float: none; width: 100%; margin: 0 0 1.6em; }
	}
.page-pricing .section-price {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.35;
	color: #444;
	}
.page-pricing .row li {
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: 18px !important;
	font-weight: 500;
	line-height: 1.65;
	color: #555;
	}

/* Blog session grid: full-width landscapes, paired portraits, final triple when needed. */
.session-gallery.auto-collage,
.session-gallery.auto-collage.collage-ready {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	grid-auto-flow: row;
	gap: 5px;
	columns: auto !important;
	width: 100% !important;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	}
.session-gallery.auto-collage > a {
	grid-column: span 3;
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	break-inside: auto;
	overflow: hidden;
	}
.session-gallery.auto-collage > a.landscape { grid-column: 1 / -1; }
.session-gallery.auto-collage > a.portrait-triple { grid-column: span 2; }
.session-gallery.auto-collage > a > img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	}
.session-gallery.auto-collage > a.landscape > img { aspect-ratio: 3 / 2; }
.session-gallery.auto-collage > a.portrait > img { aspect-ratio: 2 / 3; }
@media (max-width: 767px) {
	.session-gallery.auto-collage,
	.session-gallery.auto-collage.collage-ready {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3px;
		}
	.session-gallery.auto-collage > a,
	.session-gallery.auto-collage > a.portrait-triple { grid-column: span 1; }
	.session-gallery.auto-collage > a.landscape { grid-column: 1 / -1; }
	}

/* Portfolio: one natural-height masonry layout, including legacy JS classes.
   Fixed-height cells with contain created white gutters inside every tile. */
.gallery-single .mfp-gallery.instant-photo-grid,
.gallery-single .mfp-gallery.pw-collage,
.mfp-gallery.balanced-photo-grid,
.mfp-gallery.instant-photo-grid.balanced-photo-grid,
.mfp-gallery.pw-collage.balanced-photo-grid {
	display: block !important;
	columns: 3 !important;
	column-gap: 4px !important;
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	height: auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	}
.gallery-single .mfp-gallery.instant-photo-grid > a,
.gallery-single .mfp-gallery.pw-collage > a,
.mfp-gallery.balanced-photo-grid > a {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 4px !important;
	break-inside: avoid;
	transform: none !important;
	overflow: hidden;
	background: #fff;
	}
.gallery-single .mfp-gallery.instant-photo-grid > a > img,
.gallery-single .mfp-gallery.pw-collage > a > img,
.mfp-gallery.balanced-photo-grid > a > img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	margin: 0 !important;
	object-fit: contain;
	object-position: center;
	}
/* Neutralise the old theme's per-orientation heights. */
.mfp-gallery.balanced-photo-grid > a.landscape > img,
.mfp-gallery.balanced-photo-grid > a.portrait > img { aspect-ratio: auto !important; }
@media (max-width: 767px) {
	.gallery-single .mfp-gallery.instant-photo-grid,
	.gallery-single .mfp-gallery.pw-collage,
	.mfp-gallery.balanced-photo-grid { columns: 2 !important; column-gap: 3px !important; }
	.gallery-single .mfp-gallery.instant-photo-grid > a,
	.gallery-single .mfp-gallery.pw-collage > a,
	.mfp-gallery.balanced-photo-grid > a { margin-bottom: 3px !important; }
	}

.page-pricing .section-price { font-size: 25px !important; letter-spacing: .035em; }
.page-pricing .row li { font-size: 19px !important; font-weight: 500 !important; }

/* A manually chosen order stays exact while rows remain visually complete. */
.session-gallery.manual-balanced-grid {
	display: block !important;
	columns: auto !important;
	}
.balanced-photo-row {
	display: grid;
	gap: 5px;
	margin: 0 0 5px;
	width: 100%;
	}
.balanced-photo-row.landscape { grid-template-columns: 1fr; }
.balanced-photo-row.portraits-2,
.balanced-photo-row.mixed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.balanced-photo-row.portraits-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.balanced-photo-row.portrait-single { grid-template-columns: minmax(0, .5fr); justify-content: center; }
.balanced-photo-row > a {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	overflow: hidden;
	}
.balanced-photo-row > a > img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	object-position: center;
	}
.balanced-photo-row.landscape > a > img { aspect-ratio: 3 / 2; }
.balanced-photo-row.portraits-2 > a > img,
.balanced-photo-row.portraits-3 > a > img { aspect-ratio: 2 / 3; }
.balanced-photo-row.mixed > a > img { aspect-ratio: 4 / 5; }
.balanced-photo-row.portrait-single > a > img { aspect-ratio: 2 / 3; }

/* Always reveal a loaded lightbox image even when the legacy theme animation is present. */
.mfp-wrap.mfp-image-loaded .mfp-figure {
	opacity: 1 !important;
	transform: scale(1) !important;
	visibility: visible !important;
	}

/* Use only the useful side navigation in image viewers. */
.pswp__top-bar,
.pswp__counter,
.pswp__share-modal,
.pswp__button--close,
.pswp__button--share,
.pswp__button--fs,
.pswp__button--zoom,
.mfp-close {
	display: none !important;
	}

/* A visible, keyboard-focusable exit for the portfolio image viewer. */
.mfp-wrap .mfp-close { display: block !important; }
.mfp-wrap .mfp-close:focus-visible { outline: 2px solid #fff; outline-offset: -4px; }

/* Keep video stories visually separate from the finished photo grid. */
.session-gallery + .session-video {
	margin-top: 52px;
	}
.session-video + .session-video {
	margin-top: 18px;
	}
@media (max-width: 767px) {
	.balanced-photo-row { gap: 3px; margin-bottom: 3px; }
	.balanced-photo-row.portraits-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.session-gallery + .session-video { margin-top: 36px; }
	}
