/* Photo portfolio: photo-first, system fonts (no web-font flash), light/dark via data-theme. */

:root {
	--bg: #faf8f5;
	--surface: #ffffff;
	--text: #1d1b19;
	--muted: #6b655e;
	--line: #e6e1da;
	--placeholder: #ebe6df;
	--accent: #b8763a;
	--accent-text: color-mix(in oklab, var(--accent) 78%, black);
	--on-accent: #ffffff;
	--serif:
		ui-serif, 'Iowan Old Style', 'Palatino Linotype', Palatino, 'Book Antiqua',
		Georgia, serif;
	--sans:
		system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
		sans-serif;
	--radius: 4px;
	--gap: 10px;
	--page: 1120px;
	--page-wide: 1560px;
	color-scheme: light;
}

@media (prefers-color-scheme: dark) {
	:root[data-theme='auto'] {
		--bg: #121110;
		--surface: #1b1a18;
		--text: #eeeae4;
		--muted: #a29b92;
		--line: #2c2a27;
		--placeholder: #24221f;
		--accent-text: color-mix(in oklab, var(--accent) 70%, white);
		color-scheme: dark;
	}
}

:root[data-theme='dark'] {
	--bg: #121110;
	--surface: #1b1a18;
	--text: #eeeae4;
	--muted: #a29b92;
	--line: #2c2a27;
	--placeholder: #24221f;
	--accent-text: color-mix(in oklab, var(--accent) 70%, white);
	color-scheme: dark;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	background: var(--bg);
	color: var(--text);
	font: 17px/1.6 var(--sans);
	-webkit-font-smoothing: antialiased;
}

main {
	flex: 1;
}

h1,
h2,
h3,
h4 {
	font-family: var(--serif);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 0.5em;
	text-wrap: balance;
}

h1 {
	font-size: clamp(2rem, 1.4rem + 2.6vw, 3.4rem);
}

h2 {
	font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.9rem);
}

p {
	margin: 0 0 1em;
	text-wrap: pretty;
}

a {
	color: var(--accent-text);
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

a:hover {
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.icon {
	flex: none;
	vertical-align: -0.2em;
}

.skip-link {
	position: absolute;
	left: 1rem;
	top: -4rem;
	z-index: 20;
	padding: 0.5rem 0.9rem;
	background: var(--surface);
	color: var(--text);
}

.skip-link:focus {
	top: 1rem;
}

.wrap {
	width: min(100% - 2.5rem, var(--page));
	margin-inline: auto;
}

.wrap-wide {
	width: min(100% - 2.5rem, var(--page-wide));
	margin-inline: auto;
}

.narrow {
	max-width: 40rem;
}

.section {
	padding-block: clamp(2rem, 1.5rem + 3vw, 4.5rem);
}

/* Header & footer: fixed heights from text only, so nothing shifts on load. */

.preview-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 1rem;
	padding: 0.55rem 1rem;
	background: var(--accent);
	color: var(--on-accent);
	font-size: 0.9rem;
	text-align: center;
}

.preview-bar a {
	color: inherit;
	font-weight: 600;
}

.site-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	width: min(100% - 2.5rem, var(--page-wide));
	margin-inline: auto;
	padding-block: 1.4rem;
}

.brand {
	font-family: var(--serif);
	font-size: 1.45rem;
	color: var(--text);
	text-decoration: none;
	letter-spacing: 0.01em;
}

.site-nav {
	display: flex;
	gap: 1.6rem;
}

.site-nav a {
	color: var(--muted);
	text-decoration: none;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding-block: 0.25rem;
	border-bottom: 1px solid transparent;
}

.site-nav a:hover,
.site-nav a[aria-current='page'] {
	color: var(--text);
	border-bottom-color: var(--accent);
}

.site-footer {
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 0.9rem;
}

.footer-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem 2rem;
	width: min(100% - 2.5rem, var(--page-wide));
	margin-inline: auto;
	padding-block: 1.6rem;
}

.footer-inner p {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.2rem;
}

.footer-location {
	display: inline-flex;
	gap: 0.35rem;
	align-items: center;
}

.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.social-links a {
	color: var(--muted);
}

/* Photos: intrinsic aspect ratio + LQIP background = zero layout shift. */

.photo {
	display: block;
	position: relative;
	overflow: hidden;
	background-color: var(--placeholder);
	background-size: cover;
	background-position: center;
}

.photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero {
	margin: 0;
}

.hero .hero-photo {
	aspect-ratio: auto !important;
	height: min(78svh, 56vw, 860px);
	min-height: 320px;
}

.intro {
	padding-top: clamp(2rem, 1.5rem + 3vw, 4rem);
	max-width: 46rem;
	margin-inline: auto;
	text-align: center;
}

.lede {
	color: var(--muted);
	font-size: 1.12rem;
}

.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: inherit;
	margin-top: 1.6rem;
}

.intro .actions {
	justify-content: center;
}

.button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.72rem 1.3rem;
	border: 1px solid var(--accent);
	border-radius: 999px;
	background: var(--accent);
	color: var(--on-accent);
	font: 500 0.95rem/1.2 var(--sans);
	text-decoration: none;
	cursor: pointer;
}

.button:hover {
	background: color-mix(in oklab, var(--accent) 88%, black);
}

.button.secondary {
	background: transparent;
	color: var(--text);
	border-color: var(--line);
}

.button.secondary:hover {
	border-color: var(--accent);
}

.section-title {
	font-size: 0.85rem;
	font-family: var(--sans);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 1.4rem;
}

.page-head {
	margin-bottom: clamp(1.5rem, 1rem + 2vw, 2.8rem);
	max-width: 46rem;
}

.back-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-bottom: 1rem;
	color: var(--muted);
	font-size: 0.92rem;
	text-decoration: none;
}

.back-link:hover {
	color: var(--text);
}

.empty {
	color: var(--muted);
}

/* Gallery cards */

.gallery-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: clamp(1rem, 0.6rem + 1.5vw, 2rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gallery-card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.gallery-card .card-photo {
	aspect-ratio: 4 / 3 !important;
	border-radius: var(--radius);
}

.gallery-card img {
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.gallery-card:hover img {
	transform: scale(1.03);
}

.card-text {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-top: 0.8rem;
}

.card-title {
	font-family: var(--serif);
	font-size: 1.3rem;
}

.card-count {
	color: var(--muted);
	font-size: 0.85rem;
	white-space: nowrap;
}

/* Masonry gallery wall: keep every photo's natural shape and fill columns. */

.photo-grid {
 --wall-gap: clamp(8px, 1.1vw, 16px);
 columns: 4;
 column-gap: var(--wall-gap);
 list-style: none;
 margin: 0;
 padding: 0;
}

.photo-grid li {
 display: block;
 break-inside: avoid;
 margin: 0 0 var(--wall-gap);
}

.photo-grid a {
 display: block;
 cursor: zoom-in;
}

.photo-grid .photo {
 width: 100%;
 height: auto;
}

.photo-grid img {
 height: auto;
}

@media (max-width: 1199px) {
 .photo-grid { columns: 3; }
}

@media (max-width: 699px) {
 .photo-grid { columns: 2; }
}

/* Single photo page */

.photo-figure {
	margin: 0;
}

.photo-figure .photo {
	max-height: 82svh;
	margin-inline: auto;
	background-size: contain;
	background-repeat: no-repeat;
	background-color: transparent;
}

.photo-figure img {
	object-fit: contain;
}

.photo-figure figcaption,
.lightbox-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 1.2rem;
	justify-content: center;
	padding-top: 0.9rem;
	color: var(--muted);
	font-size: 0.92rem;
	text-align: center;
}

.caption {
	color: var(--text);
}

.pager {
	display: flex;
	justify-content: space-between;
	padding-top: 1.4rem;
}

/* About */

.about {
	display: grid;
	grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: clamp(2rem, 1rem + 4vw, 5rem);
	align-items: start;
}

.about-portrait .photo {
	border-radius: var(--radius);
}

.monogram {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius);
	background: linear-gradient(
		160deg,
		color-mix(in oklab, var(--accent) 30%, var(--placeholder)),
		var(--placeholder)
	);
	color: var(--accent-text);
	font: 500 clamp(4rem, 3rem + 4vw, 7rem) / 1 var(--serif);
	letter-spacing: 0.04em;
}

.eyebrow {
	color: var(--muted);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.85rem;
	margin-top: -0.2rem;
}

.prose {
	font-size: 1.08rem;
	max-width: 38rem;
}

.prose h2,
.prose h3,
.prose h4 {
	margin-top: 1.6em;
}

.contact-links {
	display: grid;
	gap: 0.6rem;
	list-style: none;
	margin: 1.8rem 0 0;
	padding: 1.4rem 0 0;
	border-top: 1px solid var(--line);
}

.contact-links a,
.contact-links span {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--text);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.contact-links a:hover {
	color: var(--accent-text);
}

.contact-links .icon {
	color: var(--muted);
}

@media (max-width: 760px) {
	.about {
		grid-template-columns: 1fr;
	}

	.about-portrait {
		max-width: 280px;
	}
}

/* Contact */

.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: clamp(2rem, 1rem + 4vw, 5rem);
	align-items: start;
}

.contact-aside h2 {
	font-size: 1.2rem;
}

.contact-aside .contact-links {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.contact-form {
	display: grid;
	gap: 1.1rem;
}

.field label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.92rem;
	font-weight: 500;
}

.optional {
	color: var(--muted);
	font-weight: 400;
}

.field input,
.field textarea,
.field select {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: var(--surface);
	color: var(--text);
	font: inherit;
}

.field textarea {
	resize: vertical;
	min-height: 9rem;
}

.field input:focus,
.field textarea:focus {
	outline: 2px solid var(--accent);
	outline-offset: 0;
	border-color: transparent;
}

.has-error input,
.has-error textarea {
	border-color: #c0392b;
}

.field-error {
	margin: 0.35rem 0 0;
	color: #c0392b;
	font-size: 0.9rem;
}

.contact-form .button {
	justify-self: start;
}

.hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.notice {
	padding: 1.6rem 1.8rem;
	border: 1px solid var(--line);
	border-left: 3px solid var(--accent);
	border-radius: var(--radius);
	background: var(--surface);
}

.notice p:last-child {
	margin-bottom: 0;
}

@media (max-width: 760px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}
}

/* Lightbox (app/assets/entry.ts) */

:root:has(.lightbox[open]) {
	overflow: hidden;
}

.lightbox {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 3.5rem 4.5rem 1.2rem;
	border: 0;
	background: rgb(10 10 10 / 0.96);
	color: #eee;
	overscroll-behavior: contain;
}

.lightbox[open] {
	display: grid;
	/* minmax(0, …) keeps a wide photo from sizing the column past the screen. */
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr) auto;
	place-items: center;
}

.lightbox::backdrop {
	background: rgb(0 0 0 / 0.85);
}

.lightbox-photo {
	display: block;
	max-width: 100%;
	max-height: 100%;
	height: 100%;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

.lightbox-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.lightbox-meta {
	color: #bbb;
}

.lightbox-nav,
.lightbox-close {
	position: absolute;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 0;
	border-radius: 999px;
	background: rgb(255 255 255 / 0.08);
	color: #fff;
	font: 300 2rem/1 var(--sans);
	cursor: pointer;
}

.lightbox-nav:hover,
.lightbox-close:hover {
	background: rgb(255 255 255 / 0.18);
}

.lightbox-nav {
	top: 50%;
	translate: 0 -50%;
}

.lightbox-nav.prev {
	left: 0.8rem;
}

.lightbox-nav.next {
	right: 0.8rem;
}

.lightbox-close {
	top: 0.7rem;
	right: 0.8rem;
}

@media (max-width: 640px) {
	.lightbox {
		padding: 3.5rem 0.4rem 1rem;
	}

	.lightbox-nav {
		top: auto;
		bottom: 0.6rem;
		translate: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		transition: none !important;
	}
}

/* Sports editorial direction: bold type, quiet framing, photography up front. */
:root {
 --display: Impact, 'Arial Narrow', 'Helvetica Neue', sans-serif;
 --serif: var(--display);
 --page-wide: 1480px;
 --radius: 1px;
}
:root[data-theme='dark'] {
 --bg: #111413;
 --surface: #191d1b;
 --text: #f3f2e9;
 --muted: #b0b7b0;
 --line: #353c37;
 --placeholder: #232924;
}
h1,h2,h3,h4 {font-weight: 800;letter-spacing: -.025em}
.site-header {align-items:center;padding-block:1.3rem}
.brand {font-family:var(--display);font-size:clamp(1.55rem,2.4vw,2.1rem);font-weight:900;letter-spacing:-.035em;text-transform:uppercase;line-height:1}
.site-nav a {font-size:.75rem;font-weight:700;letter-spacing:.12em}
.sample-notice {padding:.5rem 1.25rem;text-align:center;font-size:.73rem;letter-spacing:.025em;color:var(--muted);border-top:1px solid var(--line);background:var(--surface)}
.sports-hero {position:relative;isolation:isolate;min-height:680px;min-height:min(850px,85svh);display:flex;align-items:flex-end;background:#151b18;color:#fff;overflow:hidden}
.sports-hero .sports-hero-photo {position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;z-index:-3}
.sports-hero-photo img {object-position:center 40%}
.sports-hero-shade {position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,10,8,.76),rgba(5,10,8,.18) 85%),linear-gradient(0deg,rgba(5,10,8,.85),transparent 85%)}
.sports-hero-content {padding-block:4rem;position:relative}
.sports-kicker {display:flex;align-items:center;gap:.7rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;margin-bottom:1.6rem}
.signal {height:7px;width:7px;background:var(--accent);display:inline-block;border-radius:50%}
.sports-hero h1 {font-family:var(--display);font-size:clamp(3.4rem,8.4vw,8.5rem);font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:-.025em;max-width:12ch;margin:0 0 2rem;text-wrap:balance;overflow-wrap:break-word}
.sports-hero-bottom {display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;max-width:920px}
.sports-hero-bottom p {font-size:1rem;line-height:1.6;margin:0;color:#e0e5de}
.button {border-radius:1px;text-transform:uppercase;font-size:.77rem;letter-spacing:.11em;font-weight:800;min-height:48px;padding:1rem 1.4rem}
.hero-side-note {position:absolute;right:1rem;top:2rem;writing-mode:vertical-rl;font-size:.6rem;letter-spacing:.2em;color:#d5dcd4}
.work-section {padding-top:5rem;padding-bottom:5rem}
.work-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:2rem}
.eyebrow {font-family:var(--sans);font-size:.7rem;letter-spacing:.17em;font-weight:700;margin:0 0 1rem}
.work-heading h2 {font-size:clamp(2.5rem,5vw,4.8rem);line-height:1;text-transform:uppercase;margin:0}
.accent-dot {color:var(--accent)}
.text-link {display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;padding:.5rem 0;border-bottom:1px solid var(--line);color:var(--text)}
.text-link:hover {border-bottom-color:var(--accent)}
.gallery-cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.25rem}
.gallery-card .card-photo {aspect-ratio:5/4!important;border-radius:0}
.work-section .gallery-cards>li:first-child {grid-column:1/-1}
.work-section .gallery-cards>li:first-child .card-photo {aspect-ratio:2/1!important}
.card-text {padding-top:1rem;border-top:2px solid var(--text);margin-top:.5rem}
.card-title {font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.3rem);text-transform:uppercase;line-height:1.1;font-weight:800}
.card-count {font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.sports-story {border-block:1px solid var(--line);background:var(--surface);padding-block:5rem}
.story-grid {display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}
.sports-story h2 {font-family:var(--display);font-size:clamp(2.8rem,5.8vw,5.7rem);text-transform:uppercase;line-height:1;margin:0}
.sports-story h2>span {color:var(--muted)}
.story-copy {max-width:450px;justify-self:end}
.story-copy .lede {font-size:1.1rem;line-height:1.85;color:var(--text);font-weight:400}
.sports-contact {padding-block:5rem}
.contact-heading-row {display:flex;justify-content:space-between;align-items:center;gap:2rem}
.contact-heading-row h2 {font-family:var(--display);font-size:clamp(3.3rem,7vw,7rem);text-transform:uppercase;line-height:.98;margin:0}
.contact-footnote {margin:2rem 0 0;font-size:.8rem;color:var(--muted)}
.page-head h1 {font-size:clamp(3rem,7vw,6rem);text-transform:uppercase;line-height:1}
.site-footer {font-size:.75rem}
@media(max-width:700px) {
 .site-header {gap:1rem;padding-block:1.2rem}
 .site-nav {gap:1.1rem}
 .site-nav a {font-size:.65rem}
 .sports-hero {min-height:640px;min-height:80svh}
 .sports-hero-content {padding-block:2.5rem}
 .sports-hero h1 {font-size:clamp(3rem,12.5vw,5rem);max-width:12ch}
 .sports-hero-bottom {align-items:flex-start;flex-direction:column;gap:1.5rem}
 .hero-side-note {right:.4rem;top:1.4rem;font-size:.5rem}
 .sports-kicker {font-size:.65rem;letter-spacing:.15em}
 .work-section,.sports-contact,.sports-story {padding-block:3rem}
 .work-heading {align-items:flex-start;flex-direction:column}
 .gallery-cards {grid-template-columns:1fr;gap:2rem}
 .work-section .gallery-cards>li:first-child .card-photo {aspect-ratio:5/4!important}
 .story-grid {grid-template-columns:1fr;gap:2rem}
 .story-copy {justify-self:start}
 .contact-heading-row {align-items:flex-start;flex-direction:column}
}

/* Susan Joy Sports: approved Modern Red palette and brand typography. */
:root {
 --ink:#141516; --chalk:#f3f1ec; --brick:#a9473f; --steel:#657782; --fog:#c8d2d5;
 --sans:'Lato',system-ui,sans-serif;
 --display:'Noto Sans','Arial Narrow',sans-serif;
 --serif:'Noto Serif Display',Georgia,serif;
 --bg:var(--chalk); --surface:#fff; --text:var(--ink); --muted:#4c5d68;
 --line:var(--fog); --placeholder:var(--fog);
 --accent:var(--brick);
 --accent-text:color-mix(in oklab,var(--accent) 78%,black);
}
:root[data-theme='dark'] {
 --bg:var(--ink); --surface:#1c1e20; --text:var(--chalk); --muted:var(--fog);
 --line:#3f494f; --placeholder:#292e32;
 --accent-text:color-mix(in oklab,var(--accent) 65%,var(--chalk));
}
@media(prefers-color-scheme:dark) {
 :root[data-theme='auto'] {--bg:var(--ink);--surface:#1c1e20;--text:var(--chalk);--muted:var(--fog);--line:#3f494f;--placeholder:#292e32;--accent-text:color-mix(in oklab,var(--accent) 65%,var(--chalk))}
}
body {font-family:var(--sans);font-synthesis:none}
h1,h2,h3,h4,.card-title,.sports-hero h1,.sports-story h2,.contact-heading-row h2 {
 font-family:var(--display);font-weight:600;font-stretch:extra-condensed;
}
.sports-hero h1 {font-size:clamp(3.4rem,8vw,8rem);max-width:13ch;line-height:1.02;letter-spacing:-.025em}
.sports-hero {background:var(--ink);color:var(--chalk)}
.sports-hero-shade {background:linear-gradient(90deg,rgba(20,21,22,.8),rgba(20,21,22,.2) 85%),linear-gradient(0deg,rgba(20,21,22,.9),transparent 85%)}
.sports-hero-bottom p,.hero-side-note {color:var(--chalk)}
.sports-story h2>span {font-family:var(--serif);font-stretch:normal;text-transform:none;font-size:.75em;font-weight:600;line-height:1.3;display:inline-block;margin-top:.2em;color:var(--text)}
.story-copy .lede {font-family:var(--serif);font-weight:600;font-size:1.22rem;line-height:1.65}
.brand {display:block;line-height:1;letter-spacing:normal;text-transform:none}
.brand-art {position:relative;display:block;width:260px;height:48px;overflow:hidden}
.brand-art img {position:absolute;display:block;width:100%;height:auto;top:50%;transform:translateY(-50%)}
.brand-subline {display:block;margin-top:.2rem;padding-left:75px;font-family:var(--display);font-stretch:extra-condensed;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.brand-dark {display:none!important}
:root[data-theme='dark'] .brand-light {display:none!important}
:root[data-theme='dark'] .brand-dark {display:block!important}
@media(prefers-color-scheme:dark) {
 :root[data-theme='auto'] .brand-light {display:none!important}
 :root[data-theme='auto'] .brand-dark {display:block!important}
}
.footer-inner {gap:1.2rem 2rem}
.footer-seal {width:100px;flex:none}
.footer-seal img {width:100%;height:auto;display:block}
.footer-inner>p {flex:1}
@media(max-width:700px) {
 .brand-art {width:210px;height:38px}
 .brand-subline {padding-left:61px;font-size:.58rem}
 .site-nav {gap:.8rem}
 .sports-hero h1 {font-size:clamp(3rem,12vw,5rem)}
 .story-copy .lede {font-size:1.12rem}
 .footer-seal {width:80px}
}

/* Current type trial. Poster Gothic ExCond awaits its web-project embed. */
:root {
 --sans:'Montserrat',system-ui,sans-serif;
 --display:'League Gothic','Arial Narrow',sans-serif;
 --serif:'Montserrat',system-ui,sans-serif;
}
h1,h2,h3,h4,.card-title,.sports-hero h1,.sports-story h2,.contact-heading-row h2 {
 font-family:var(--display);font-weight:400;font-stretch:normal;
}
.sports-story h2>span {font-family:var(--display);font-weight:400;font-stretch:normal;font-size:1em;line-height:1.08}
.story-copy .lede {font-family:var(--sans);font-weight:400;font-size:1.05rem;line-height:1.85}
.brand-subline {font-family:var(--sans);font-stretch:normal;font-weight:600;font-size:.55rem}
@media(max-width:700px){.brand-subline{font-size:.5rem}.sports-hero h1{font-size:clamp(3rem,13vw,5.2rem)}}

/* Full-frame action photograph with type in the space left of the athlete. */
.sports-hero {
 display:flex;align-items:flex-end;min-height:0;aspect-ratio:3 / 2;
 padding:clamp(2rem,4vw,5rem);background:var(--ink);
}
.sports-hero .sports-hero-photo {
 position:absolute;inset:0;z-index:-3;width:100%;height:100%;
 aspect-ratio:auto!important;background:transparent;
}
.sports-hero-photo img {width:100%;height:100%;object-fit:cover;object-position:center}
.sports-hero-shade {
 display:block;background:linear-gradient(90deg,rgba(20,21,22,.84),rgba(20,21,22,.56) 29%,rgba(20,21,22,0) 55%);
}
.sports-hero-content {width:31%;padding:0;margin:0}
.sports-hero .sports-kicker {font-size:clamp(.6rem,.85vw,.8rem);line-height:1.8;letter-spacing:.1em;margin-bottom:1.5rem}
.sports-hero h1 {font-size:clamp(3rem,5.4vw,7rem);max-width:100%;line-height:1;margin-bottom:1.5rem;text-wrap:balance}
.sports-hero-bottom {flex-direction:column;align-items:flex-start;gap:1.5rem}
.sports-hero-bottom p {font-size:clamp(.8rem,1.2vw,1.1rem)}
.sports-hero-bottom .button {font-size:clamp(.65rem,.9vw,.85rem);padding:1.1rem 1.3rem}
.hero-side-note {display:block;text-shadow:0 1px 6px rgba(20,21,22,.6)}
.about-secondary {font-family:var(--sans);font-size:.9rem;line-height:1.7;color:var(--muted);margin-top:1.6rem}
@media(max-width:850px) {
 /* Keep the complete kick on narrow screens; type overlaps the lower image edge. */
 .sports-hero {aspect-ratio:auto;display:block;padding:0 1.5rem 2.5rem}
 .sports-hero .sports-hero-photo {height:auto;aspect-ratio:3 / 2!important}
 .sports-hero-photo img {height:100%;object-fit:contain}
 .sports-hero-shade {background:linear-gradient(0deg,var(--ink),var(--ink) calc(100% - 66.67vw),transparent calc(100% - 38vw))}
 .sports-hero-content {width:100%;padding-top:58vw}
 .sports-hero .sports-kicker {font-size:.65rem;margin-bottom:1rem}
 .sports-hero h1 {font-size:clamp(3rem,10vw,5rem);max-width:16ch}
 .sports-hero-bottom p {font-size:.95rem}
 .sports-hero-bottom .button {font-size:.75rem}
 .hero-side-note {display:none}
}

.game-details {border:1px solid var(--muted);padding:1.25rem;margin:0;min-width:0}
.game-details[hidden] {display:none}
.game-details legend {font-weight:600;padding:0 .4rem}
.game-details>p,.inquiry-note {font-size:.85rem;line-height:1.6;color:var(--muted)}
.game-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field select {max-width:100%}
.field select:focus {outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:600px){.game-fields{grid-template-columns:1fr}}

/* Service information stays readable alongside the condensed display type. */
.services-intro {max-width:850px;margin-bottom:3rem}
.services-intro h1 {font-family:var(--display);font-weight:400;font-size:clamp(4rem,8vw,7rem);line-height:1;margin-block:1rem}
.service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
.service-card {border:1px solid var(--line);padding:clamp(1.5rem,3vw,3rem);min-width:0;background:var(--surface)}
.service-card h2 {font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.05;margin:0 0 1.5rem}
.service-card p,.service-card li {font-size:.95rem;line-height:1.8}
.service-card ul {padding-left:1.2rem}
.service-card li {margin-bottom:.6rem}
.service-card .service-price {font-family:var(--display);font-size:3rem;line-height:1.2;color:var(--accent)}
.service-price span {display:block;font-family:var(--sans);font-size:.85rem;color:var(--text)}
.service-prices {margin-block:1.5rem}
.service-prices>div {display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding:.7rem 0}
.service-prices dd {font-weight:700;margin:0}
.service-delivery {font-weight:600}
.service-card .button {margin-top:1rem;max-width:100%;white-space:normal;text-align:center}
.service-details {border-block:1px solid var(--line);padding-block:1rem;margin-block:1.5rem}
.service-details summary {cursor:pointer;font-weight:600;line-height:1.6}
.service-booking {max-width:750px;margin:4rem auto 0;text-align:center}
.service-booking h2 {font-size:3rem}
@media(max-width:850px){.service-grid{grid-template-columns:1fr}}

/* Give action and portrait work equal space on the home page. */
.work-section .gallery-cards>li:first-child {grid-column:auto}
.work-section .gallery-cards>li:first-child .card-photo {aspect-ratio:5/4!important}
.card-description {display:block;font-family:var(--sans);font-size:.95rem;line-height:1.6;color:var(--muted);margin-block:.65rem}
.work-section .card-text {display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}
.sports-hero-content {width:42%;max-width:640px}
.sports-hero-shade {background:linear-gradient(90deg,rgba(20,21,22,.88),rgba(20,21,22,.65) 38%,rgba(20,21,22,0) 72%)}
@media(max-width:850px){.sports-hero-content{width:100%;max-width:none}.sports-hero-shade{background:linear-gradient(0deg,var(--ink),var(--ink) calc(100% - 66.67vw),transparent calc(100% - 38vw))}}
@media(max-width:700px){.work-section .gallery-cards{grid-template-columns:1fr}}

/* Preserve the photographer's panoramic crop and keep type off the eyes. */
.sports-hero.editorial-hero {display:block;aspect-ratio:auto;padding:0;overflow:visible}
.editorial-hero .sports-hero-photo {position:relative;inset:auto;z-index:auto;display:block;height:auto;aspect-ratio:auto!important}
.editorial-hero .sports-hero-photo img {display:block;width:100%;height:auto;object-fit:contain}
.editorial-hero .sports-hero-shade {display:none}
.editorial-hero .sports-hero-content {width:auto;max-width:none;margin:0;padding:2.5rem clamp(1.5rem,4vw,5rem) 3rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 3rem;align-items:end}
.editorial-hero .sports-kicker {grid-column:1/-1;margin:0}
.editorial-hero h1 {font-size:clamp(3rem,7vw,7rem);margin:0}
.editorial-hero .sports-hero-bottom {gap:1rem;max-width:36rem}
.editorial-hero .hero-side-note {display:block;top:1.5rem;right:1rem;color:#fff;text-shadow:0 1px 5px #000}
@media(max-width:850px){.editorial-hero .sports-hero-content{display:block;padding-top:1.75rem}.editorial-hero h1{margin:1rem 0 1.5rem}.editorial-hero .hero-side-note{font-size:.5rem;right:.5rem;top:.75rem}}

/* Blend the portrait into the dark introduction below it. */
.editorial-hero .sports-hero-photo::after {
 content:"";position:absolute;inset:auto 0 0;height:32%;pointer-events:none;
 background:linear-gradient(to bottom,transparent 0%,var(--ink) 100%);
}

/* Extend the dark canvas to the left without trimming Isaac's finished crop. */
@media(min-width:851px) {
 .editorial-hero .sports-hero-photo {width:82%;margin-left:18%}
 .editorial-hero .sports-hero-photo::before {
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--ink) 0%,rgba(20,21,22,.8) 8%,transparent 35%);
 }
 .editorial-hero .sports-hero-content {grid-template-columns:1fr 1fr}
 .editorial-hero .sports-hero-content h1 {
  position:absolute;left:4%;top:17.57vw;transform:translateY(-50%);
  width:26%;font-size:clamp(3.5rem,6.5vw,8rem);z-index:1;
 }
 .editorial-hero .sports-kicker {grid-column:1;align-self:center}
 .editorial-hero .sports-hero-bottom {grid-column:2;grid-row:1}
}

@media(min-width:851px) {
 .editorial-hero .sports-hero-content h1 {
  left:3.5%;width:35%;top:17.57vw;font-size:clamp(5rem,10vw,12rem);
  line-height:.92;letter-spacing:-.035em;text-wrap:initial;
 }
 .editorial-hero .sports-hero-content h1>span {display:block}
}

@media(min-width:851px) {
 /* Anchor the headline to the portrait section, rather than the copy below it. */
 .editorial-hero .sports-hero-content {position:static}
 .editorial-hero .sports-hero-content h1 {
  left:3.5%;width:27%;font-size:clamp(4rem,8.5vw,10rem);
 }
}

/* Editorial homepage: the owner's cinematic reference, using her photographs. */
body:has(.editorial-home) {background:#0b1111;color:#eeeae4}
body:has(.editorial-home) .site-header {background:#0b1111;border-bottom:0;padding:1.3rem 3.6%;min-height:0}
body:has(.editorial-home) .site-nav a {font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.17em}
body:has(.editorial-home) .site-footer {background:#0b1111;border-top:0;padding:1.7rem 3.6%}
.editorial-home {--ed-bg:#0b1111;--ed-white:#eeeae4;--ed-red:var(--accent,#a9473f);background:var(--ed-bg);color:var(--ed-white);font-family:'Montserrat',sans-serif}
.editorial-home a {color:inherit;text-decoration:none}
.editorial-home .photo {border-radius:0;background-color:transparent}
.editorial-home h1,.editorial-home h2,.editorial-home h3 {font-family:'League Gothic','Arial Narrow',sans-serif;font-weight:400;font-stretch:normal;letter-spacing:-.015em;color:var(--ed-white)}
.ed-hero {position:relative;isolation:isolate;aspect-ratio:2.44;min-height:420px;overflow:hidden}
.ed-hero .ed-opening-image {position:absolute;inset:0;z-index:-3;width:100%;height:100%;aspect-ratio:auto!important}
.ed-opening-image img {width:100%;height:100%;object-fit:contain;object-position:center}
.ed-hero-gradients {position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b1111 0%,rgba(11,17,17,.87) 18%,transparent 39%,transparent 72%,rgba(11,17,17,.86) 84%,#0b1111 100%),linear-gradient(0deg,#0b1111 0%,transparent 20%)}
.ed-hero-left {position:absolute;left:4.5%;top:12%;width:29%;z-index:1}
.ed-kicker {font-family:'Montserrat',sans-serif;text-transform:uppercase;font-size:clamp(.58rem,.8vw,.78rem);line-height:1.6;letter-spacing:.23em;font-weight:500;margin:0 0 1.5rem}
.ed-hero h1 {font-size:clamp(6.6rem,12.2vw,14rem);line-height:.81;text-transform:uppercase;margin:0;max-width:none;text-wrap:initial;letter-spacing:-.025em}
.ed-hero h1>span {display:block}
.ed-period {color:var(--ed-white)}
.ed-brush {width:90%;height:clamp(9px,1.5vw,20px);margin:.3rem 0 1.8rem -3%;background:var(--ed-red);transform:rotate(-2deg);clip-path:polygon(0 55%,5% 35%,2% 27%,22% 16%,39% 7%,62% 16%,89% 22%,100% 62%,90% 65%,96% 85%,67% 78%,33% 70%,0 93%,5% 65%)}
.ed-audience {margin:0;border-left:1px solid #8c9290;padding-left:1.3rem;text-transform:uppercase;font-size:clamp(.55rem,.8vw,.78rem);line-height:1.85;letter-spacing:.19em}
.ed-hero-right {position:absolute;right:3.6%;top:28%;width:15%;z-index:1}
.ed-hero-right>p {font-size:clamp(.77rem,1.18vw,1.15rem);line-height:1.65;margin:0 0 1.6rem}
.ed-button {display:inline-flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--ed-red);color:#fff!important;padding:1.2rem 1.5rem;font-size:clamp(.62rem,.85vw,.8rem);line-height:1.5;text-transform:uppercase;letter-spacing:.16em;font-weight:600;transition:background .2s}
.ed-button:hover {background:#8e211f}.ed-button:focus-visible,.ed-small-link:focus-visible,.ed-gallery:focus-visible {outline:2px solid #fff;outline-offset:5px}
.ed-button svg,.ed-small-link svg {width:1em;height:1em;flex-shrink:0}
.ed-hero-right .ed-button {width:100%}
.ed-side-copy {position:absolute;right:.7rem;top:1rem;writing-mode:vertical-rl;font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:#d1d0c9}
.ed-work {padding:1.9rem 3.6% 1.5rem;border-block:1px solid #293030}
.ed-section-heading {display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.ed-section-heading h2 {font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.19em;margin:0}
.ed-small-link {font-size:clamp(.6rem,.75vw,.72rem);text-transform:uppercase;font-weight:600;letter-spacing:.16em;display:inline-flex;align-items:center;gap:.7rem;line-height:1.6}
.ed-gallery-layout {display:grid;grid-template-columns:1.15fr 1fr;gap:1.25rem;min-height:350px;height:35.5vw;max-height:620px}
.ed-gallery {min-width:0;position:relative;overflow:hidden}
.ed-gallery-primary {border:1px solid #293030;display:flex;align-items:flex-end}
.ed-gallery-image .photo {width:100%;height:100%;aspect-ratio:auto!important}
.ed-gallery-image img {width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.ed-gallery:hover .ed-gallery-image img {transform:scale(1.025)}
.ed-gallery-primary .ed-gallery-image {position:absolute;inset:0}
.ed-gallery-primary::after {content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,9,.77),transparent 65%),linear-gradient(0deg,rgba(5,9,9,.55),transparent 65%)}
.ed-gallery-copy {position:relative;z-index:1;min-width:0}
.ed-gallery-primary .ed-gallery-copy {padding:1.4rem 1.5rem;width:55%;max-width:340px}
.ed-number {display:flex;align-items:center;gap:.6rem;text-transform:uppercase;font-size:.62rem;letter-spacing:.15em;line-height:1.5;margin-bottom:1rem}
.ed-number>span {display:block;width:23px;height:1px;background:#6f7573}
.ed-gallery h3 {text-transform:uppercase;line-height:.96;margin:0 0 1rem}
.ed-gallery-primary h3 {font-size:clamp(2.8rem,5vw,5.5rem);max-width:5ch}
.ed-gallery p {font-size:clamp(.59rem,.8vw,.8rem);line-height:1.65;text-transform:uppercase;letter-spacing:.08em;margin:0 0 1rem}
.ed-gallery-stack {display:grid;grid-template-rows:1.15fr .8fr;gap:.7rem;min-height:0}
.ed-gallery-secondary {display:grid;grid-template-columns:minmax(0,2.65fr) minmax(0,1fr);gap:1rem;align-items:stretch}
.ed-gallery-secondary .ed-gallery-image {min-height:0;overflow:hidden}
.ed-gallery-secondary .ed-gallery-copy {padding:.7rem 0;border-bottom:1px solid #343b39;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}
.ed-gallery-secondary h3 {font-size:clamp(1.65rem,2.6vw,3.2rem)}
.ed-gallery-secondary p {font-size:clamp(.55rem,.65vw,.72rem);margin-bottom:.8rem}
.ed-gallery-secondary .ed-small-link {font-size:clamp(.53rem,.62vw,.7rem);letter-spacing:.11em}
.ed-gallery-secondary .ed-number {margin-bottom:.8rem}
.ed-story {padding:1.5rem 4.5% 1.6rem;display:grid;grid-template-columns:1.12fr 1fr .72fr;gap:2.7rem;align-items:stretch;border-bottom:1px solid #293030}
.ed-story-copy {padding-top:.8rem}
.ed-story h2 {font-size:clamp(3rem,6.5vw,7.5rem);text-transform:uppercase;line-height:.95;margin:0}
.ed-story h2 em {font-family:'Noto Serif Display',Georgia,serif;font-size:.75em;font-weight:400;text-transform:none;letter-spacing:-.045em;line-height:1.3}
.ed-rule {display:block;height:2px;width:34px;background:var(--ed-red);margin:.7rem 0 1.2rem}
.ed-story-copy>p:not(.ed-kicker) {font-size:clamp(.8rem,1.1vw,1.05rem);line-height:1.6;color:#c8cbc6;max-width:35ch;margin:0 0 1.2rem}
.ed-story-action,.ed-story-portrait {position:relative;min-width:0;min-height:330px}
.ed-story .photo {height:100%;width:100%;aspect-ratio:auto!important}
.ed-story .photo img {width:100%;height:100%;object-fit:cover}
.ed-story-action {aspect-ratio:.82}
.ed-story-portrait {margin-top:0;aspect-ratio:.61}
.ed-story-portrait .photo img {object-position:50% 30%}
.ed-story-note {position:absolute;right:-1.5rem;top:.3rem;color:#c8cbc6;opacity:.65;font:italic clamp(1.5rem,3vw,3rem)/1.05 'Noto Serif Display',Georgia,serif;transform:rotate(-12deg);text-align:center;pointer-events:none}
.ed-closing {position:relative;isolation:isolate;min-height:165px;aspect-ratio:7.2;overflow:hidden}
.ed-closing .ed-closing-image {position:absolute;inset:0;z-index:-3;width:100%;height:100%;aspect-ratio:auto!important}
.ed-closing-image img {width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.ed-closing-shade {position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(5,9,9,.45),rgba(5,9,9,.08)),linear-gradient(90deg,rgba(5,9,9,.38),transparent)}
.ed-closing-content {padding:2rem 6%;display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:inherit;height:100%}
.ed-closing h2 {font-size:clamp(2.7rem,5vw,5.6rem);text-transform:uppercase;line-height:1;margin:0}
.ed-closing h2>span {color:var(--ed-red)}
.ed-closing .ed-kicker {margin-bottom:.6rem}
@media(min-width:1600px){.ed-hero-left{top:15%}.ed-story{padding-block:2.5rem}.ed-work{padding-block:2.5rem}}
@media(max-width:1050px) and (min-width:701px){.ed-hero{min-height:420px}.ed-hero-left{top:12%;left:4%}.ed-hero h1{font-size:12vw}.ed-hero-right{width:16%;right:3.6%}.ed-button{padding:1rem}.ed-brush{margin-bottom:1rem}.ed-kicker{margin-bottom:1rem}.ed-story{gap:1.5rem}.ed-story-action,.ed-story-portrait{min-height:310px}.ed-gallery-primary .ed-gallery-copy{padding:1.2rem}.ed-gallery-secondary{gap:.8rem}}
@media(max-width:700px){
 body:has(.editorial-home) .site-header{padding:1rem 5%}.editorial-home .ed-hero{aspect-ratio:auto;min-height:0;padding:72vw 6% 2rem;overflow:hidden}
 .ed-hero .ed-opening-image{height:76vw;bottom:auto}.ed-opening-image img{object-fit:cover;object-position:52% 30%}
 .ed-hero-gradients{height:78vw;bottom:auto;background:linear-gradient(0deg,#0b1111,transparent 38%),linear-gradient(90deg,rgba(11,17,17,.8),transparent 65%)}
 .ed-hero-left{top:8vw;left:6%;width:37%}.ed-hero h1{font-size:18vw;line-height:.85}.ed-hero-left .ed-kicker{font-size:.5rem;max-width:20ch;letter-spacing:.15em;margin-bottom:.9rem}.ed-audience{display:none}.ed-brush{margin-top:.3rem;width:95%;height:10px}
 .ed-hero-right{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:center}.ed-hero-right>p{font-size:.78rem;margin:0}.ed-hero-right .ed-button{font-size:.58rem;padding:.9rem}.ed-side-copy{font-size:.43rem;top:1rem;right:.5rem}
 .ed-work{padding:1.5rem 5%}.ed-section-heading h2{font-size:.62rem}.ed-section-heading>a{font-size:.53rem;letter-spacing:.1em}
 .ed-gallery-layout{display:block;height:auto;max-height:none;min-height:0}.ed-gallery-primary{min-height:410px;aspect-ratio:1.2;margin-bottom:1rem}.ed-gallery-primary .ed-gallery-copy{width:60%;padding:1.4rem}.ed-gallery-primary h3{font-size:3.5rem}.ed-gallery p{font-size:.65rem}
 .ed-gallery-stack{gap:1rem;grid-template-rows:none}.ed-gallery-secondary{min-height:185px;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1rem}.ed-gallery-secondary h3{font-size:2rem}.ed-gallery-secondary p{font-size:.6rem}.ed-gallery-secondary .ed-small-link{font-size:.56rem}
 .ed-story{padding:2rem 6%;grid-template-columns:1.2fr 1fr;gap:1rem}.ed-story-copy{grid-column:1/-1;margin-bottom:.7rem}.ed-story-copy>p:not(.ed-kicker){max-width:42ch;font-size:.9rem}.ed-story h2{font-size:3.8rem}.ed-story .ed-kicker{font-size:.58rem}.ed-story-action,.ed-story-portrait{min-height:250px}.ed-story-note{right:-.6rem;font-size:1.8rem}.ed-story .photo img{object-position:50% 25%}
 .ed-closing{aspect-ratio:auto;min-height:250px}.ed-closing-content{padding:2rem 6%;flex-direction:column;align-items:flex-start;gap:1.4rem}.ed-closing h2{font-size:3.3rem}.ed-closing .ed-button{font-size:.65rem;padding:1rem 1.2rem}.ed-closing .ed-kicker{font-size:.55rem}
}
@media(prefers-reduced-motion:reduce){.ed-gallery-image img,.ed-button{transition:none}}
body:has(.editorial-home) .site-header {width:100%;max-width:none;padding-block:1rem}
body:has(.editorial-home) .brand-art {width:235px;height:43px}
body:has(.editorial-home) .brand-subline {padding-left:68px;font-size:.48rem}
body:has(.editorial-home) .footer-seal {width:80px}
@media(max-width:1050px) and (min-width:701px){.ed-gallery-secondary{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr)}}
@media(max-width:700px){body:has(.editorial-home) .brand-art{width:210px;height:38px}body:has(.editorial-home) .brand-subline{padding-left:61px}.ed-story-note{right:0}}

/* Keep all three teammates visible in the celebration photograph. */
.ed-story-portrait .photo img {object-position:50% 50%}
.ed-closing-image img {object-position:50% 70%}
.ed-closing-content h2,.ed-closing-content .ed-kicker {text-shadow:0 2px 12px rgba(0,0,0,.65)}

/* Reveal the scenery and the full family composition in the review draft. */
.ed-gallery-stack {grid-template-rows:1fr 1fr}
.ed-family .ed-gallery-image .photo img {object-fit:contain;object-position:center}
.ed-family .ed-gallery-image {background:#0b1111}
.ed-closing {aspect-ratio:2.8;min-height:320px}
.ed-closing-image img {object-position:50% 45%}
.ed-closing-content {align-items:flex-end;padding-bottom:2.5rem}
.ed-story-action .photo img,.ed-story-portrait .photo img {object-position:50% 50%}
@media(max-width:700px){.ed-gallery-stack{grid-template-rows:none}.ed-closing{aspect-ratio:1.5;min-height:340px}.ed-closing-content{justify-content:flex-end;align-items:flex-start;padding-bottom:2rem}.ed-family{min-height:220px}}

.ed-story h2 em {font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.025em}
/* Keep the clouds clear; shade only the lower area behind the booking copy. */
.ed-closing-shade {background:linear-gradient(to top,rgba(5,9,9,.62) 0%,rgba(5,9,9,.28) 18%,transparent 48%)}

/* Galleries: photographic editorial index. Isolated from gallery/lightbox/editor styles. */
body:has(.editorial-galleries){background:#0b1111;color:#eeeae4}
body:has(.editorial-galleries) .site-header{width:100%;max-width:none;padding:1rem 3.6%;background:#0b1111;border-bottom:1px solid #ffffff14;min-height:0}
body:has(.editorial-galleries) .brand-art{width:235px;height:43px}
body:has(.editorial-galleries) .brand-subline{padding-left:68px;font-size:.48rem}
body:has(.editorial-galleries) .site-nav a{font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.17em}
.editorial-galleries{--eg-red:var(--accent,#a9473f);font-family:'Montserrat',sans-serif}
.editorial-galleries h1,.editorial-galleries h2{font-family:'League Gothic','Noto Sans',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.015em}
.eg-intro{position:relative;isolation:isolate;min-height:360px;height:29vw;max-height:570px;overflow:hidden}
.eg-intro-image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;aspect-ratio:auto!important}
.eg-intro-image img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.eg-intro-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(7,12,13,.94),rgba(7,12,13,.68) 28%,transparent 53%,transparent 77%,rgba(7,12,13,.62)),linear-gradient(0deg,#0b1111,transparent 25%)}
.eg-intro-copy{position:absolute;left:4%;top:14%;width:49%}
.eg-kicker{font-size:clamp(.65rem,1.05vw,1rem);letter-spacing:.46em;text-transform:uppercase;margin:0 0 .9rem}
.eg-intro h1{font-size:clamp(6rem,12.3vw,14rem);line-height:.9;margin:0 0 1.3rem;max-width:none;text-wrap:initial}
.eg-intro h1>span{color:var(--eg-red)}
.eg-intro-description{border-left:1px solid #eeeae466;padding-left:1rem;max-width:38ch;font-size:clamp(.75rem,1.05vw,1rem);line-height:1.55;margin:0}
.eg-signature{position:absolute;right:3%;top:27%;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(1.5rem,2.7vw,2.8rem);line-height:1.05;transform:rotate(-9deg);margin:0;color:#eeeae4d9;text-align:center;text-shadow:0 2px 10px #000}
.eg-signature em{font:inherit}.eg-signature>span{display:block;width:60%;height:10px;margin:1rem auto 0;border-block:2px solid var(--eg-red);transform:rotate(-5deg)}
.eg-collection{padding:.8rem 2.2% 1.5rem}
.eg-grid{display:grid;grid-template-columns:1.28fr 1.13fr .76fr;gap:1.2rem;align-items:stretch}
.eg-card{position:relative;isolation:isolate;display:block;min-width:0;min-height:450px;height:36vw;max-height:670px;overflow:hidden;color:#eeeae4;text-decoration:none;background:#111818;border:1px solid #ffffff12}
.eg-card-image,.eg-card-image .photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;z-index:-3}
.eg-card-image img{width:100%;height:100%;object-fit:cover;object-position:55% 50%}
.eg-card-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(0deg,rgba(5,9,9,.85),rgba(5,9,9,.16) 48%,transparent 76%),linear-gradient(90deg,rgba(5,9,9,.27),transparent 70%)}
.eg-number{position:absolute;top:1.4rem;left:1.6rem;font-size:.8rem;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;gap:.6rem;text-shadow:0 1px 8px #000}
.eg-number>span{width:2.2rem;height:1px;background:#eeeae470}
.eg-card-copy{position:absolute;left:1.7rem;right:1.7rem;bottom:3.1rem}
.eg-card h2{font-size:clamp(2.6rem,4vw,4.7rem);line-height:.95;margin:0 0 1rem;max-width:8ch;text-wrap:initial}
.eg-card-copy>p{max-width:24ch;font-size:clamp(.6rem,.72vw,.75rem);line-height:1.6;letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.5rem}
.eg-card-sports-portraiture-media-day h2{font-size:clamp(2.3rem,3.2vw,3.9rem);max-width:12ch}
.eg-link{display:inline-flex;align-items:center;gap:.65rem;border-bottom:1px solid var(--eg-red);padding:.5rem 0;font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.eg-link svg{width:1rem;height:1rem}
.eg-count{position:absolute;right:1.2rem;bottom:1.1rem;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}
.eg-card-families .eg-card-image img{object-fit:contain;object-position:center 20%}
.eg-card-families h2{font-size:clamp(2.5rem,3vw,3.8rem)}
.eg-card-families .eg-card-shade{background:linear-gradient(0deg,#0b1111 0%,rgba(11,17,17,.85) 25%,transparent 60%)}
.eg-card:hover .eg-link{border-color:#eeeae4}.eg-card:focus-visible{outline:2px solid #eeeae4;outline-offset:4px}
.eg-footer-landscape{height:16vw;min-height:185px;max-height:280px;position:relative;isolation:isolate;overflow:hidden}
.eg-footer-landscape .photo{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;z-index:-3}
.eg-footer-landscape img{height:100%;width:100%;object-fit:cover;object-position:50% 43%}
.eg-footer-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b1111,transparent 70%)}
body:has(.editorial-galleries) .site-footer{position:relative;margin-top:-5rem;z-index:1;background:transparent;border:0;padding:1.2rem 3.6%}
body:has(.editorial-galleries) .footer-seal{width:80px}
@media(min-width:701px) and (max-width:1050px){
 .eg-intro{height:42vw}.eg-signature{right:3%;top:40%}.eg-grid{grid-template-columns:1.15fr 1fr;gap:1rem}.eg-card{height:60vw;min-height:410px}.eg-card-families{grid-column:1/-1;height:38vw;min-height:300px}.eg-card-families .eg-card-image img{object-fit:contain;object-position:80% 50%}.eg-card-families .eg-card-image{left:35%;width:65%}.eg-card-families .eg-card-copy{width:35%;bottom:3rem}.eg-card-families .eg-card-shade{background:linear-gradient(90deg,#0b1111 10%,transparent 75%),linear-gradient(0deg,#0b111166,transparent 40%)}
}
@media(max-width:700px){
 body:has(.editorial-galleries) .site-header{padding:1rem 5%}body:has(.editorial-galleries) .brand-art{width:210px;height:38px}body:has(.editorial-galleries) .brand-subline{padding-left:61px}
 .eg-intro{height:111vw;min-height:400px;max-height:650px}.eg-intro-image img{object-position:54% 48%;object-fit:cover}.eg-intro-copy{left:6%;top:auto;bottom:8%;width:88%}.eg-kicker{font-size:.65rem;letter-spacing:.34em;margin-bottom:.6rem}.eg-intro h1{font-size:23vw;margin-bottom:1rem}.eg-intro-description{font-size:.75rem;max-width:34ch;padding-left:.8rem}.eg-intro-shade{background:linear-gradient(0deg,#0b1111 0%,rgba(7,12,13,.82) 17%,transparent 65%)}.eg-signature{display:none}.eg-desktop-break{display:none}
 .eg-collection{padding:0 0 1.2rem}.eg-grid{display:flex;flex-direction:column;gap:1rem}.eg-card{width:100%;height:127vw;min-height:430px;max-height:690px;border-inline:0}.eg-card-copy{left:6%;right:6%;bottom:3.5rem}.eg-number{left:6%;top:1.3rem}.eg-card h2{font-size:3.8rem}.eg-card-sports-portraiture-media-day h2{font-size:3.3rem}.eg-card-copy>p{font-size:.67rem;max-width:28ch}.eg-count{right:6%;bottom:1.2rem}.eg-card-families{height:110vw;min-height:410px}.eg-card-families h2{font-size:3.5rem}.eg-card-families .eg-card-image img{object-position:center 12%}.eg-card-families .eg-card-shade{background:linear-gradient(0deg,#0b1111 5%,rgba(11,17,17,.9) 30%,transparent 65%)}
 .eg-footer-landscape{height:70vw;min-height:290px}.eg-footer-landscape img{object-position:50% 43%}body:has(.editorial-galleries) .site-footer{margin-top:-6.5rem;padding:1rem 6%;font-size:.72rem}body:has(.editorial-galleries) .footer-inner{gap:1rem}
}

/* Approved refinements: full-body panoramic Ari, level signature, homepage closing. */
.eg-intro{height:auto;aspect-ratio:2066/761;min-height:0;max-height:none}
.eg-intro-image img{object-fit:contain;object-position:center}
.eg-signature{transform:none}.eg-signature>span{display:none}
body:has(.editorial-galleries) .site-footer{margin-top:0;background:#0b1111;border-top:0;padding:1.7rem 3.6%}
.editorial-galleries .ed-closing{--ed-red:var(--accent,#a9473f)}
.editorial-galleries .ed-closing h2{font-family:'League Gothic','Noto Sans',sans-serif;font-weight:400}
@media(max-width:700px){.eg-intro{height:111vw;min-height:400px;max-height:650px;aspect-ratio:auto}.eg-intro-image img{object-fit:cover;object-position:61% 50%}}

/* Calmer portrait tile compositions. */
.eg-card-sports-portraiture-media-day .eg-card-image img{object-position:50% 15%}
.eg-card-families .eg-card-image img{object-fit:cover;object-position:50% 50%}
.eg-card-families .eg-card-shade{background:linear-gradient(0deg,rgba(5,9,9,.88),rgba(5,9,9,.3) 32%,transparent 65%)}
@media(min-width:701px) and (max-width:1050px){.eg-card-families .eg-card-image img{object-fit:contain;object-position:75% 50%}}

/* Keep the jersey number above the compact Media Day caption. */
.eg-card-sports-portraiture-media-day .eg-card-image img{object-position:50% 40%}
.eg-card-sports-portraiture-media-day h2{max-width:none;font-size:clamp(2.1rem,2.6vw,3.4rem)}
.eg-card-sports-portraiture-media-day .eg-card-copy>p{font-size:.6rem;line-height:1.4;margin-bottom:.6rem}
@media(max-width:700px){.eg-card-sports-portraiture-media-day h2{font-size:2.7rem}}

/* Two deliberate lines expose more of the number 32 jersey. */
.eg-card-sports-portraiture-media-day h2 .eg-title-line{display:block;white-space:nowrap}
.eg-card-sports-portraiture-media-day h2{text-wrap:initial;margin-bottom:.65rem}

/* Services editorial design. Shared document header/footer are unchanged. */
body:has(.editorial-services){background:#0b1111;color:#eeeae4}
body:has(.editorial-services) .site-header{background:#0b1111;border-bottom:0;padding:1rem 3.6%;width:100%;max-width:none;min-height:0}
body:has(.editorial-services) .brand-art{width:235px;height:43px}
body:has(.editorial-services) .brand-subline{padding-left:68px;font-size:.48rem}
body:has(.editorial-services) .site-nav a{font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.17em}
body:has(.editorial-services) .site-footer{background:#0b1111;border-top:0;padding:1.7rem 3.6%}
body:has(.editorial-services) .footer-seal{width:80px}
.editorial-services{--es-red:var(--accent,#a9473f);--ed-red:var(--es-red);font-family:'Montserrat',sans-serif;background:#0b1111;color:#eeeae4}
.editorial-services h1,.editorial-services h2{font-family:'League Gothic','Noto Sans',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:-.015em;text-wrap:initial}
.es-hero{display:grid;grid-template-columns:60% 40%;position:relative;isolation:isolate;align-items:center;min-height:390px}
.es-hero-photograph{position:relative;min-width:0;aspect-ratio:1.5}
.es-hero-photograph>img{display:block;width:100%;height:100%;object-fit:contain}
.es-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 82%,#0b1111),linear-gradient(0deg,#0b1111,transparent 12%);pointer-events:none}
.es-hero-copy{position:relative;z-index:1;padding:2rem 9% 2rem 0;min-width:0}
.es-kicker{font-size:clamp(.55rem,.72vw,.75rem);letter-spacing:.3em;text-transform:uppercase;margin:0 0 1.1rem}
.es-hero h1{font-size:clamp(4rem,7.9vw,9.5rem);line-height:.9;letter-spacing:-.025em;margin:0 0 1.4rem}
.es-hero h1>span{display:block;white-space:nowrap}.es-dot{color:var(--es-red)}
.es-introduction{font-size:clamp(.74rem,1.03vw,1rem);line-height:1.65;max-width:37ch;border-left:1px solid #eeeae455;padding-left:1rem;margin:0}
.es-offerings{padding:0 2.7%}
.es-service{display:grid;gap:2.2rem;padding:1.8rem 0;border-top:1px solid #a5aaa440;align-items:start}
.es-athlete{grid-template-columns:1.12fr .8fr 1fr;border-top:0}
.es-team{grid-template-columns:.9fr 1.55fr;gap:3rem}
.es-media{grid-template-columns:.95fr .83fr 1.07fr}
.es-social{grid-template-columns:.83fr 1fr 1fr;align-items:center}
.es-service-copy,.es-service-terms,.es-photograph{min-width:0}
.es-photograph{position:relative;overflow:hidden;background:#111818;aspect-ratio:1.2}
.es-photograph .photo{display:block;width:100%;height:100%;aspect-ratio:auto!important}
.es-photograph img{display:block;object-fit:cover;object-position:center;width:100%;height:100%}
.es-athlete .es-photograph{aspect-ratio:1;align-self:stretch;min-height:310px}
.es-athlete .es-photograph img{object-position:58% 50%}
.es-team .es-photograph{aspect-ratio:1.48;align-self:center}.es-team .es-photograph img{object-position:50% 12%}
.es-media .es-photograph{aspect-ratio:.72;align-self:stretch;min-height:420px}.es-media .es-photograph img{object-position:50% 23%}
.es-service h2{font-size:clamp(2.4rem,3.65vw,4.7rem);line-height:1;margin:0 0 .5rem}
.es-number{display:flex;align-items:center;gap:.75rem;font-size:.7rem;letter-spacing:.16em;font-weight:600;margin:0 0 1.35rem}.es-number span{height:1px;width:2.3rem;background:var(--es-red)}
.es-category{font-size:.65rem!important;text-transform:uppercase;letter-spacing:.22em;line-height:1.7!important;margin-bottom:1.4rem!important}
.es-service p,.es-service li,.es-service dt,.es-service dd{font-size:clamp(.75rem,.86vw,.95rem);line-height:1.65}
.es-service p{margin:0 0 1rem}.es-service ul{padding-left:1.1rem;margin:0 0 1rem}.es-service li{padding-left:.05rem;margin-bottom:.25rem}
.es-service .service-price{font-family:'League Gothic','Noto Sans',sans-serif;font-size:clamp(2.4rem,3.6vw,4rem);line-height:1.1;color:var(--es-red);margin:.65rem 0 1.1rem}
.es-service .service-price>span{font-family:'Montserrat',sans-serif;font-size:.72rem;line-height:1.5;color:#eeeae4;margin-left:.5rem;white-space:normal}
.es-service .service-prices{margin:0 0 1rem}.es-service .service-prices>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem 0;border-bottom:1px solid #a5aaa440}.es-service .service-prices>div:first-child{padding-top:0}.es-service .service-prices dt{font-weight:400}.es-service .service-prices dd{font-weight:700;margin:0}
.es-service .service-delivery{font-weight:600;margin:1rem 0}
.es-service .service-details{border-block:1px solid #a5aaa440;margin:1.1rem 0;padding:.7rem 0;background:none;border-radius:0}
.es-service .service-details summary{font-size:.72rem;font-weight:600;line-height:1.5;cursor:pointer;padding:0}.es-service .service-details[open] summary{margin-bottom:.7rem}.es-service .service-details p{font-size:.73rem}.es-service .service-details p:last-child{margin-bottom:0}
.es-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.8rem;background:var(--es-red);color:#fff!important;padding:1rem 1.3rem;text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;font-weight:600;line-height:1.5;text-decoration:none;min-height:46px;max-width:100%}
.es-button:hover{background:#8e3932}.es-button:focus-visible{outline:2px solid #eeeae4;outline-offset:4px}.es-button svg{width:1rem;height:1rem;flex:none}
.es-phones{position:relative;isolation:isolate;width:100%;height:39vw;min-height:390px;max-height:650px;margin:0;perspective:1100px}
.es-phone{position:absolute;aspect-ratio:9/19.5;border:3px solid #555a58;border-radius:clamp(17px,2.2vw,32px);background:#0b0c0d;padding:7px;box-shadow:12px 25px 32px #0008,inset 1px 1px 0 #ffffff40;overflow:hidden}
.es-phone-screen{width:100%;height:100%;border-radius:inherit;overflow:hidden;background:#090a0c;display:flex;align-items:center;justify-content:center}
.es-phone-screen img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.es-phone-front{width:min(53%,280px);left:3%;top:3%;z-index:2;transform:rotate(-7deg) rotateY(5deg)}
.es-phone-back{width:min(46%,240px);right:8%;top:10%;z-index:1;transform:rotate(8deg) rotateY(-6deg)}
.es-phone-speaker{position:absolute;width:27%;height:5px;border-radius:8px;background:#292b2c;left:36.5%;top:12px}
.es-phone-home{position:absolute;width:35%;height:3px;border-radius:4px;background:#eeeae499;left:32.5%;bottom:12px}
.es-phones figcaption{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.55rem;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#c1c4be}
.es-closing{margin-top:1.25rem}.es-closing h2{font-size:clamp(2.8rem,5vw,5.6rem);line-height:1}.es-booking-note{font-size:.75rem;line-height:1.6;max-width:65ch;margin:.8rem 0 0;text-shadow:0 2px 12px #000}
.es-closing .ed-closing-content{gap:2rem}.es-closing .es-button{flex:none;margin-bottom:.15rem}
@media(min-width:701px) and (max-width:1100px){
 .es-service{gap:1.5rem}.es-athlete{grid-template-columns:1fr 1fr}.es-athlete .es-photograph{grid-row:1/3;min-height:460px}.es-athlete .es-service-terms{grid-column:2}.es-media{grid-template-columns:.9fr 1fr}.es-media .es-photograph{grid-row:1/3;min-height:600px}.es-media .es-service-terms{grid-column:2}.es-team{grid-template-columns:1fr 1.15fr}.es-team .es-photograph{aspect-ratio:.85}.es-social{grid-template-columns:1fr 1fr}.es-social .es-service-copy{grid-column:1}.es-social .es-service-terms{grid-column:1}.es-phones{grid-column:2;grid-row:1/3;height:58vw;max-height:630px;align-self:center}.es-hero h1{font-size:7.7vw}.es-hero-copy{padding-right:6%}
}
@media(max-width:700px){
 body:has(.editorial-services) .site-header{padding:1rem 5%}body:has(.editorial-services) .brand-art{width:210px;height:38px}body:has(.editorial-services) .brand-subline{padding-left:61px}
 .es-hero{display:flex;flex-direction:column;min-height:0}.es-hero-photograph{width:100%;aspect-ratio:1.5}.es-hero-shade{background:linear-gradient(0deg,#0b1111,transparent 16%)}.es-hero-copy{padding:.8rem 6% 2rem;width:100%}.es-kicker{font-size:.55rem;letter-spacing:.24em;margin-bottom:1rem}.es-hero h1{font-size:19vw;line-height:.9;margin-bottom:1.2rem}.es-introduction{font-size:.8rem;max-width:44ch}.es-offerings{padding:0 6%}
 .es-service{display:flex;flex-direction:column;gap:1.1rem;padding:1.6rem 0 2rem}.es-service-copy,.es-service-terms{width:100%}.es-service h2{font-size:2.8rem}.es-category{font-size:.61rem!important;margin-bottom:1rem!important}.es-number{margin-bottom:1rem}.es-service p,.es-service li,.es-service dt,.es-service dd{font-size:.8rem;line-height:1.7}.es-service .service-price{font-size:2.8rem}.es-service .service-price>span{font-size:.72rem}
 .es-photograph,.es-athlete .es-photograph,.es-media .es-photograph,.es-team .es-photograph{width:100%;min-height:0;aspect-ratio:1.25}.es-team .es-photograph{order:-1;aspect-ratio:1.4}.es-team .es-photograph img{object-position:50% 10%}.es-media .es-photograph{aspect-ratio:.85;max-height:560px}.es-media .es-photograph img{object-position:center 20%}.es-button{font-size:.62rem;padding:1rem 1.2rem;min-height:46px}
 .es-phones{order:-1;width:95%;margin:0 auto;min-height:0;height:120vw;max-height:600px}.es-phone-front{width:53%;left:4%;top:3%}.es-phone-back{width:46%;right:4%;top:10%}.es-phones figcaption{font-size:.52rem;bottom:.4rem}.es-closing{margin-top:0}.es-closing .ed-closing-content{padding:2rem 6%;gap:1.2rem}.es-closing h2{font-size:3rem}.es-booking-note{font-size:.7rem;max-width:43ch}.es-closing .es-button{align-self:flex-start}.es-closing{min-height:370px}
}
@media(prefers-reduced-motion:reduce){.editorial-services *{scroll-behavior:auto;transition:none}}

/* Stanley: natural-daylight portrait beside one cohesive service-information column. */
.es-athlete{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,3vw,3rem);align-items:center}
.es-athlete .es-photograph{grid-column:auto;grid-row:auto;aspect-ratio:2667/4000;min-height:0;align-self:center;overflow:hidden;width:100%;max-width:480px;background:transparent}
.es-athlete .es-photograph>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.es-athlete-body{min-width:0;width:100%}
.es-athlete .es-service-copy{grid-column:auto;grid-row:auto}
.es-athlete .es-service-copy>p:last-child{margin-bottom:1.25rem}
.es-athlete .es-service-terms{grid-column:auto;grid-row:auto;max-width:none;border:0;padding:0;align-self:auto}
@media(max-width:900px){
 .es-athlete{display:flex;flex-direction:column;gap:1.4rem;align-items:stretch}
 .es-athlete .es-photograph{aspect-ratio:2667/4000;min-height:0;max-height:none;align-self:center}
}

/* Match the Media Day portrait's column width and frame proportions. */
.es-athlete{grid-template-columns:minmax(0,calc((100% - 4.4rem)/3)) minmax(0,1fr);column-gap:2.2rem}
.es-athlete .es-photograph{aspect-ratio:.72;max-width:none;min-height:420px;align-self:center}
.es-athlete .es-photograph>img{object-fit:cover;object-position:50% 35%}
.es-athlete-body{max-width:660px;justify-self:center}
@media(min-width:901px) and (max-width:1100px){.es-athlete{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);column-gap:1.5rem}.es-athlete .es-photograph{min-height:600px}}
@media(min-width:701px) and (max-width:900px){.es-athlete .es-photograph{width:min(100%,432px);aspect-ratio:.72;min-height:0}}
@media(max-width:700px){.es-athlete .es-photograph{aspect-ratio:.85;max-height:560px;min-height:0}.es-athlete .es-photograph>img{object-position:50% 37%}}

/* About: a clean photographic story, scoped to this page. */
body:has(.editorial-about){background:#0b1111;color:#eeeae4}
body:has(.editorial-about) .site-header{background:#0b1111;border-bottom:0;padding:1rem 3.6%;width:100%;max-width:none;min-height:0}
body:has(.editorial-about) .brand-art{width:235px;height:43px}
body:has(.editorial-about) .brand-subline{padding-left:68px;font-size:.48rem}
body:has(.editorial-about) .site-nav a{font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.17em}
body:has(.editorial-about) .site-footer{background:#0b1111;border-top:0;padding:1.7rem 3.6%}
body:has(.editorial-about) .footer-seal{width:80px}
.editorial-about{--ab-red:var(--accent,#a9473f);--ed-red:var(--ab-red);font-family:'Montserrat',sans-serif;color:#eeeae4}
.editorial-about h1,.editorial-about h2{font-family:'League Gothic','Noto Sans',sans-serif;font-weight:400;letter-spacing:-.015em;line-height:.98;text-wrap:initial}
.editorial-about h1{text-transform:uppercase}.editorial-about h1>span{color:var(--ab-red)}
.editorial-about h2{font-size:clamp(2.8rem,4.1vw,5rem);margin:0 0 1.5rem}
.editorial-about h2 em,.ab-opening-italic{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.025em;text-transform:none}
.editorial-about h2 em{font-size:1.12em;line-height:1.05}
.ab-kicker{font-size:clamp(.57rem,.71vw,.72rem);line-height:1.7;letter-spacing:.24em;text-transform:uppercase;font-weight:600;margin:0 0 1.3rem;display:flex;align-items:center;gap:1rem}
.ab-kicker>span{display:inline-block;width:3.5rem;height:1px;background:var(--ab-red);flex:none}
.ab-opening{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:4%;padding:2rem 6% 2.3rem;max-width:1440px;margin:0 auto}
.ab-opening-copy{padding-left:1.5rem;border-left:1px solid #eeeae438}
.ab-opening h1{font-size:clamp(5rem,9.4vw,10rem);line-height:.86;margin:0 0 .6rem}
.ab-opening-italic{font-size:clamp(2rem,3.8vw,4.3rem);line-height:1.12;margin:0 0 1.5rem}
.ab-introduction{font-size:clamp(.85rem,1.05vw,1.05rem);line-height:1.75;max-width:43ch;margin:0}
.ab-opening-photo{width:min(100%,420px);aspect-ratio:1;justify-self:end}
.ab-opening-photo>img,.ab-opening-photo .photo,.ab-opening-photo .photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 78%}
.ab-before{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:0;border-block:1px solid #a5aaa42a}
.ab-birth-photo{aspect-ratio:1.15;overflow:hidden;background:#171a18}
.ab-birth-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%;filter:contrast(1.06) brightness(1.02) sepia(.035) saturate(1.015)}
.ab-chapter-copy{padding:2.5rem clamp(1.5rem,5.2vw,6rem);min-width:0}
.ab-chapter-copy>p:not(.ab-kicker){font-size:clamp(.8rem,.99vw,1rem);line-height:1.8;max-width:49ch;margin:0 0 1.1rem}.ab-chapter-copy>p:last-child{margin-bottom:0}
.ab-growth{border-bottom:1px solid #a5aaa42a}
.ab-then{display:grid;grid-template-columns:1.12fr .88fr;align-items:center}
.ab-then-photo,.ab-now-photo{margin:0;min-width:0}
.ab-then-photo img{display:block;width:100%;height:auto}
.ab-then-photo figcaption,.ab-now-photo figcaption{display:flex;gap:1.2rem;align-items:baseline;padding:1rem 6%;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.6}
.ab-then-photo figcaption strong,.ab-now-photo figcaption strong{font-family:'League Gothic',sans-serif;font-weight:400;font-size:1.5rem;letter-spacing:.03em;color:#eeeae4}
.ab-then-photo figcaption span,.ab-now-photo figcaption span{border-left:1px solid var(--ab-red);padding-left:1.2rem;color:#c9ccc6}
.ab-now{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3%;padding:2rem 6%;background:#111716;border-top:1px solid #a5aaa42a}
.ab-now .ab-chapter-copy{padding:1.5rem 0}
.ab-now h2 em{font-size:1.3em}
.ab-now-photo{width:min(100%,430px);justify-self:end}
.ab-now-photo img{display:block;width:100%;height:auto}
.ab-now-photo figcaption{padding:1rem 0}
.ab-athlete-thought{border-left:2px solid var(--ab-red);padding-left:1.1rem;margin-top:1.7rem!important}
.ab-family{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;background:#171a18}
.ab-family-photo{min-width:0;aspect-ratio:1.5}
.ab-family-photo img{display:block;width:100%;height:100%;object-fit:contain}
.ab-family .ab-chapter-copy{padding:2.5rem 2.7rem}
.ab-invitation{padding:3rem 6% 1.6rem;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.5rem 2rem;border-top:1px solid #a5aaa42a}
.ab-invitation h2{margin:0}.ab-invitation h2 em{font-size:clamp(2.4rem,4.2vw,4.8rem)}.ab-invitation .ab-kicker{margin-bottom:1rem}
.ab-invitation .ed-button{text-decoration:none;min-height:46px}
.ab-contact-options{grid-column:1/-1;font-size:.75rem}.ab-contact-options .contact-links{margin:0;gap:1.4rem}.ab-contact-options a{color:#c9ccc6}
@media(min-width:701px) and (max-width:1050px){
 .ab-opening{gap:3%;padding-inline:4%}.ab-opening-copy{padding-left:1rem}.ab-opening h1{font-size:9.3vw}.ab-opening-italic{font-size:3.8vw}.ab-kicker{letter-spacing:.15em;gap:.7rem}.ab-kicker>span{width:2rem}.ab-chapter-copy{padding:2rem 1.7rem}.ab-chapter-copy>p:not(.ab-kicker){font-size:.78rem}.ab-family{grid-template-columns:1.1fr .9fr}.ab-family .ab-chapter-copy{padding:1.6rem}.ab-family h2{font-size:2.8rem}.ab-birth-photo{aspect-ratio:.85}
}
@media(max-width:700px){
 body:has(.editorial-about) .site-header{padding:1rem 5%}body:has(.editorial-about) .brand-art{width:210px;height:38px}body:has(.editorial-about) .brand-subline{padding-left:61px}
 .ab-opening{display:flex;flex-direction:column;gap:1.8rem;padding:1.4rem 6% 2rem}.ab-opening-copy{width:100%;padding-left:1rem}.ab-opening h1{font-size:19vw}.ab-opening-italic{font-size:9vw}.ab-kicker{font-size:.55rem;letter-spacing:.16em;gap:.7rem}.ab-kicker>span{width:2rem}.ab-introduction{font-size:.82rem;max-width:42ch}.ab-opening-photo{width:min(100%,370px);align-self:center}
 .ab-before,.ab-then,.ab-now,.ab-family{display:flex;flex-direction:column;gap:0}.ab-birth-photo{width:100%;aspect-ratio:.85}.ab-birth-photo img{object-position:50% 40%}.ab-chapter-copy{width:100%;padding:2rem 6%}.editorial-about h2{font-size:2.8rem;margin-bottom:1.1rem}.ab-chapter-copy>p:not(.ab-kicker){font-size:.8rem;max-width:48ch;line-height:1.8}
 .ab-then-photo{width:100%}.ab-then-photo figcaption,.ab-now-photo figcaption{font-size:.57rem;gap:.8rem}.ab-then-photo figcaption span,.ab-now-photo figcaption span{padding-left:.8rem}
 .ab-now{padding:0 0 1rem}.ab-now .ab-chapter-copy{padding:2rem 6%}.ab-now-photo{width:88%;align-self:center}.ab-now-photo figcaption{padding:1rem 0}.ab-now h2 em{font-size:1.15em}
 .ab-family-photo{width:100%}.ab-family .ab-chapter-copy{padding:2rem 6%}.ab-invitation{display:flex;flex-direction:column;align-items:flex-start;padding:2.3rem 6% 1.7rem;gap:1.5rem}.ab-invitation h2 em{font-size:2.6rem}.ab-contact-options{font-size:.72rem;width:100%}
}

/* Targeted About refinements: paired years and a quiet personal closing. */
.ab-then-photo figcaption,.ab-now-photo figcaption{gap:.65rem;align-items:baseline;text-transform:uppercase;letter-spacing:.1em}
.ab-then-photo figcaption strong,.ab-now-photo figcaption strong{font-size:2rem;color:#eeeae4}
.ab-then-photo figcaption span,.ab-now-photo figcaption span{border:0;padding-left:0;font-size:.66rem;font-weight:600}
.ab-now h2{font-family:'League Gothic',sans-serif;text-transform:uppercase;font-size:clamp(3rem,5.5vw,5rem);line-height:1.02}
.ab-now h2 em{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:.8em;text-transform:none;font-weight:400;line-height:1.1;margin-top:.15em}
.ab-signoff{display:grid;grid-template-columns:150px minmax(0,440px);align-items:center;gap:2.4rem;max-width:840px;margin:0 auto;padding:3.5rem 6%}
.ab-signoff>img{display:block;width:150px;aspect-ratio:2/3;height:auto;object-fit:cover}
.ab-signoff-title{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:2rem;line-height:1.15;margin:0 0 .7rem}
.ab-signoff-title:before{content:'';display:block;width:35px;height:1px;background:var(--ab-red);margin-bottom:1rem}
.ab-signoff div>p:last-child{font-size:.8rem;line-height:1.8;margin:0;color:#c9ccc6}
.ab-invitation h2{font-family:'League Gothic',sans-serif;font-size:clamp(2.7rem,5.5vw,5.3rem);text-transform:uppercase;line-height:1.05;margin:0}
.ab-invitation h2>span{color:var(--ab-red)}
.ab-invitation-italic{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(1.8rem,3vw,2.8rem);margin:.35rem 0 0;line-height:1.2}
@media(max-width:700px){
 .ab-now h2{font-size:3rem}.ab-now h2 em{font-size:.8em}
 .ab-signoff{grid-template-columns:100px minmax(0,1fr);gap:1.2rem;padding:2.5rem 6%}.ab-signoff>img{width:100px}.ab-signoff-title{font-size:1.6rem}.ab-signoff div>p:last-child{font-size:.72rem}
 .ab-then-photo figcaption span,.ab-now-photo figcaption span{font-size:.6rem}.ab-invitation h2{font-size:2.8rem}
}

/* About mobile editorial pass. All desktop rules remain unchanged. */
@media(max-width:700px){
 body:has(.editorial-about) .site-header{padding:1rem 5.5% .6rem;gap:.65rem;align-items:center}
 body:has(.editorial-about) .site-header .brand{max-width:100%;min-width:0}
 body:has(.editorial-about) .site-nav{width:100%;justify-content:space-between;gap:.4rem;min-width:0}
 body:has(.editorial-about) .site-nav a{display:flex;align-items:center;min-height:44px;font-size:.625rem;letter-spacing:.1em;white-space:nowrap;padding-block:.5rem}
 .editorial-about{--ab-mobile-gutter:5.5%;--ab-mobile-copy:.9rem;--ab-mobile-space:1.65rem}
 .editorial-about,.editorial-about section,.editorial-about figure{min-width:0}
 .editorial-about h2{font-size:clamp(2.4rem,10vw,3rem);line-height:1.04;margin:0 0 1rem}
 .editorial-about h2 em{font-size:1.06em;line-height:1.1}
 .editorial-about .ab-kicker{font-size:.59rem;line-height:1.6;letter-spacing:.15em;gap:.7rem;margin:0 0 .85rem}
 .editorial-about .ab-kicker>span{width:1.65rem}
 .editorial-about .ab-opening{gap:1.15rem;padding:1.1rem var(--ab-mobile-gutter) var(--ab-mobile-space)}
 .editorial-about .ab-opening-copy{padding-left:.85rem;width:100%}
 .editorial-about .ab-opening h1{font-size:clamp(3.3rem,16.5vw,4.6rem);line-height:.9;margin:0 0 .45rem}
 .editorial-about .ab-opening-italic{font-size:clamp(1.7rem,7.7vw,2.15rem);line-height:1.08;margin:0 0 .9rem}
 .editorial-about .ab-introduction{font-size:var(--ab-mobile-copy);line-height:1.7;max-width:40ch}
 .editorial-about .ab-opening-photo{width:min(100%,360px);aspect-ratio:1;align-self:center}
 .editorial-about .ab-opening-photo>img{object-fit:cover;object-position:50% 78%}
 .editorial-about .ab-before,.editorial-about .ab-then,.editorial-about .ab-now,.editorial-about .ab-family{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 var(--ab-mobile-space)}
 .editorial-about .ab-chapter-copy,.editorial-about .ab-now .ab-chapter-copy,.editorial-about .ab-family .ab-chapter-copy{order:0;width:100%;padding:var(--ab-mobile-space) var(--ab-mobile-gutter) 1.15rem}
 .editorial-about .ab-chapter-copy>p:not(.ab-kicker){font-size:var(--ab-mobile-copy);line-height:1.75;max-width:45ch;margin:0 0 .9rem}
 .editorial-about .ab-chapter-copy>p:last-child{margin-bottom:0}
 .editorial-about .ab-birth-photo,.editorial-about .ab-then-photo,.editorial-about .ab-now-photo,.editorial-about .ab-family-photo{order:1;align-self:center;width:89%;margin:0}
 .editorial-about .ab-birth-photo{aspect-ratio:1}
 .editorial-about .ab-birth-photo img{object-fit:cover;object-position:50% 60%}
 .editorial-about .ab-then-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
 .editorial-about .ab-now-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 72%}
 .editorial-about .ab-then-photo figcaption,.editorial-about .ab-now-photo figcaption{padding:.6rem 0 0;gap:.5rem;line-height:1.3;letter-spacing:.07em;flex-wrap:wrap}
 .editorial-about .ab-then-photo figcaption strong,.editorial-about .ab-now-photo figcaption strong{font-size:1.7rem}
 .editorial-about .ab-then-photo figcaption span,.editorial-about .ab-now-photo figcaption span{font-size:.62rem;padding:0}
 .editorial-about .ab-now h2{font-size:clamp(2.4rem,10vw,3rem);line-height:1.02}
 .editorial-about .ab-now h2 em{font-size:.85em;line-height:1.1;margin-top:.2em}
 .editorial-about .ab-athlete-thought{margin-top:1.15rem!important;padding-left:.9rem}
 .editorial-about .ab-family-photo{aspect-ratio:3/2}
 .editorial-about .ab-family-photo img{object-fit:contain;width:100%;height:100%}
 .editorial-about .ab-signoff{grid-template-columns:minmax(0,100px) minmax(0,1fr);width:100%;max-width:480px;padding:1.9rem var(--ab-mobile-gutter);gap:1.1rem;margin:0 auto;align-items:center}
 .editorial-about .ab-signoff>img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}
 .editorial-about .ab-signoff-title{font-size:1.7rem;line-height:1.1;margin-bottom:.7rem}
 .editorial-about .ab-signoff div{min-width:0}
 .editorial-about .ab-signoff div>p:last-child{font-size:.85rem;line-height:1.7}
 .editorial-about .ab-invitation{padding:1.85rem var(--ab-mobile-gutter) 1.6rem;gap:1.2rem;align-items:stretch}
 .editorial-about .ab-invitation h2{font-size:clamp(2.35rem,10.6vw,3rem);line-height:1.02;margin:0}
 .editorial-about .ab-invitation-italic{font-size:1.8rem;margin:.4rem 0 0;line-height:1.1}
 .editorial-about .ab-invitation .ed-button{align-self:flex-start;min-height:48px;max-width:100%;padding:1rem 1.25rem}
 .editorial-about .ab-contact-options{font-size:.75rem;min-width:0;overflow-wrap:anywhere}
 .editorial-about .ab-contact-options .contact-links{gap:.35rem;flex-direction:column;align-items:flex-start}
 .editorial-about .ab-contact-options a{display:inline-flex;align-items:center;min-height:44px;max-width:100%}
}

/* Keep the mobile camera portrait square independently of intrinsic image sizing. */
@media(max-width:700px){
 .editorial-about .ab-opening-photo{position:relative;aspect-ratio:1 / 1;flex:none;overflow:hidden}
 .editorial-about .ab-opening-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 78%}
}

/* Mobile cover crops: fill the Benson tile and keep Ari's full stride in view. */
@media(max-width:700px){
 .editorial-home .ed-family .ed-gallery-image .photo img{object-fit:cover;object-position:100% 50%}
 .editorial-galleries .eg-intro{height:100vw;min-height:320px;max-height:650px}
 .editorial-galleries .eg-intro-image img{object-fit:cover;object-position:63% 50%}
}

/* Family Sessions: one addition within the established Services editorial layout. */
.es-family-sessions{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:clamp(2rem,4vw,4rem);align-items:center}
.es-family-sessions .es-service-copy{max-width:540px}
.es-family-sessions .es-family-accent{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.8rem,2.7vw,2.7rem);line-height:1.1;letter-spacing:-.025em;margin:.35rem 0 1.1rem}
.es-family-sessions .es-family-photograph{width:100%;aspect-ratio:4/3;min-height:0;align-self:center}
.es-family-sessions .es-family-photograph img{object-fit:cover;object-position:50% 50%}
.es-family-sessions .es-family-photograph[data-photo-orientation='portrait']{aspect-ratio:2/3;max-width:480px;justify-self:center}
@media(min-width:701px) and (max-width:1050px){.es-family-sessions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.8rem}.es-family-sessions .es-family-photograph{aspect-ratio:1}}
@media(max-width:700px){
 .es-family-sessions{display:flex;flex-direction:column;gap:1.15rem;padding:1.6rem 0 2rem}
 .es-family-sessions .es-service-copy{max-width:none}
 .es-family-sessions .es-family-accent{font-size:1.9rem;margin:.3rem 0 1rem}
 .es-family-sessions .es-family-photograph{width:100%;aspect-ratio:4/3;max-height:none}
 .es-family-sessions .es-family-photograph[data-photo-orientation='portrait']{aspect-ratio:2/3;max-width:100%}
 .es-family-sessions .es-button{min-height:48px;white-space:normal;font-size:.61rem;letter-spacing:.1em}
}
/* Consistent mobile sequence: service information, inquiry, then photograph. */
@media(max-width:700px){
 .editorial-services .es-athlete>.es-photograph,
 .editorial-services .es-team>.es-photograph,
 .editorial-services .es-media>.es-photograph{order:1}
}
/* Titles introduce each mobile service; desktop wrappers have no layout box. */
.es-mobile-title,.es-mobile-details{display:contents}
.es-athlete .es-mobile-details>p:last-child{margin-bottom:1.25rem}
@media(max-width:700px){
 .editorial-services .es-service{gap:1.15rem}
 .editorial-services .es-service-copy,.editorial-services .es-athlete-body{display:contents}
 .editorial-services .es-mobile-title{display:block;order:0;width:100%;min-width:0}
 .editorial-services .es-mobile-title .es-number{margin:0 0 .7rem}
 .editorial-services .es-mobile-title h2{margin:0;line-height:1.02;font-size:clamp(2.45rem,10.5vw,2.8rem)}
 .editorial-services .es-mobile-title .es-category{margin:.55rem 0 0!important}
 .editorial-services .es-mobile-title .es-family-accent{margin:.4rem 0 0}
 .editorial-services .es-service>.es-photograph,.editorial-services .es-service>.es-phones{order:1}
 .editorial-services .es-mobile-details{display:block;order:2;width:100%;min-width:0}
 .editorial-services .es-service-terms{order:3}
 .editorial-services .es-mobile-details .service-price{margin:0 0 1rem}
 .editorial-services .es-mobile-details>p:last-child,.editorial-services .es-mobile-details>.es-button:last-child{margin-bottom:0}
 .editorial-services .es-athlete .es-mobile-details>p:last-child{margin-bottom:0}
}

/* Keep the mobile Services document within its viewport, including transformed graphics. */
@media(max-width:700px){
 html:has(.editorial-services),body:has(.editorial-services){max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
 body:has(.editorial-services) main{min-width:0;max-width:100%}
 .editorial-services{width:100%;max-width:100%;min-width:0;overflow-x:clip}
 .editorial-services .es-service,.editorial-services .es-service>*{min-width:0;max-width:100%}
 .editorial-services .es-mobile-details,.editorial-services .es-service-terms{overflow-wrap:anywhere}
 .editorial-services .es-hero h1>span{white-space:normal}
 body:has(.editorial-services) .site-nav{max-width:100%;flex-wrap:wrap}
 body:has(.editorial-services) .footer-inner>p{min-width:0;max-width:100%}
}

/* Fill the desktop family tile from the right, as in the approved mobile crop. */
@media(min-width:701px){.editorial-home .ed-family .ed-gallery-image .photo img{object-fit:cover;object-position:100% 50%}}
/* Quiet platform silhouettes with generous keyboard/touch targets. */
.site-footer .social-links{align-items:center;gap:.2rem}
.site-footer .social-links a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit;text-decoration:none}
.site-footer .social-links svg{display:block;width:22px;height:22px;flex:none}
.site-footer .social-links a:hover{color:var(--accent)}
.site-footer .social-links a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Desktop homepage crops retain the feet in both family and Media Day photographs. */
@media(min-width:701px){
 .editorial-home .ed-family .ed-gallery-image .photo img{object-fit:cover;object-position:100% 100%}
 .editorial-home .ed-gallery-secondary:not(.ed-family) .ed-gallery-image .photo{background-image:none!important;background-color:#0b1111}
 .editorial-home .ed-gallery-secondary:not(.ed-family) .ed-gallery-image img{object-fit:contain;object-position:50% 50%;transform:scale(1.2);transform-origin:50% 45%}
}
/* The heading occupies the portrait's upper negative space; the introduction follows below. */
.ab-opening-titles{display:contents}
@media(max-width:700px){
 .editorial-about .ab-opening{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:0;isolation:isolate}
 .editorial-about .ab-opening-copy{display:contents}
 .editorial-about .ab-opening-photo{grid-column:1;grid-row:1;position:relative;width:100%;aspect-ratio:5/7;align-self:start;justify-self:stretch;overflow:hidden;z-index:0}
 .editorial-about .ab-opening-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%}
 .editorial-about .ab-opening-photo::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,11,11,.78),rgba(6,11,11,.35) 24%,transparent 46%)}
 .editorial-about .ab-opening-titles{display:block;grid-column:1;grid-row:1;align-self:start;position:relative;z-index:1;padding:1.05rem 6% 0;min-width:0;color:#eeeae4}
 .editorial-about .ab-opening-titles .ab-kicker{font-size:.53rem;letter-spacing:.14em;line-height:1.45;margin:0 0 .45rem}
 .editorial-about .ab-opening-titles .ab-kicker>span{display:none}
 .editorial-about .ab-opening-titles h1{font-size:clamp(2.65rem,13.8vw,3.7rem);line-height:.86;margin:0 0 .4rem}
 .editorial-about .ab-opening-titles .ab-opening-italic{font-size:clamp(1.4rem,7vw,1.9rem);line-height:1.06;margin:0}
 .editorial-about .ab-opening-copy>.ab-introduction{grid-column:1;grid-row:2;width:100%;max-width:none;padding:1.35rem 6% 1.6rem;margin:0;background:#0b1111;font-size:.9rem;line-height:1.75}
}

/* Contact: editorial framing with a practical, prominent inquiry form. */
body:has(.editorial-contact){background:#0b1111;color:#eeeae4}
body:has(.editorial-contact) .site-header{width:100%;max-width:none;padding:1rem 3.6%;background:#0b1111;border-bottom:0}
body:has(.editorial-contact) .brand-art{width:235px;height:43px}
body:has(.editorial-contact) .brand-subline{padding-left:68px;font-size:.48rem}
body:has(.editorial-contact) .site-nav a{font-family:'Montserrat',sans-serif;font-size:.68rem;letter-spacing:.17em}
body:has(.editorial-contact) .site-footer{background:#0b1111;border-top:1px solid #a5aaa42a;padding:1.7rem 3.6%}
body:has(.editorial-contact) .footer-seal{width:80px}
.editorial-contact{--ec-red:var(--accent,#a9473f);font-family:'Montserrat',sans-serif;color:#eeeae4;padding:2.5rem 5% 3.5rem;max-width:1500px;margin:auto;width:100%;min-width:0}
.ec-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ec-story,.ec-form-panel{min-width:0}
.ec-kicker{font-size:.65rem;text-transform:uppercase;letter-spacing:.23em;margin:0 0 1rem;font-weight:600}
.ec-heading h1{font-family:'League Gothic',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(4rem,7.7vw,7.2rem);line-height:.9;letter-spacing:-.015em;margin:0 0 .65rem}
.ec-heading h1 span{color:var(--ec-red)}
.ec-italic{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(2.3rem,3.6vw,3.5rem);line-height:1.06;margin:0 0 1.5rem}
.ec-introduction{font-size:.9rem;line-height:1.8;max-width:40ch;margin:0 0 2rem}
.ec-photograph{margin:0;aspect-ratio:3/2;width:100%;overflow:hidden;background:#111817}
.ec-photograph .photo{display:block;width:100%;height:100%;aspect-ratio:auto!important}
.ec-photograph img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.ec-ways{margin-top:1.8rem}
.ec-ways h2{font-family:'Montserrat',sans-serif;font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.17em;margin:0}
.ec-ways .contact-links{margin:.7rem 0 0;padding:.8rem 0 0;gap:.3rem;border-color:#a5aaa440;font-size:.8rem}
.ec-ways a{min-height:40px;max-width:100%;overflow-wrap:anywhere}
.ec-form-panel{border-left:1px solid #a5aaa440;padding-left:clamp(1.5rem,3vw,3rem)}
.editorial-contact .contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.2rem;margin:0;padding:0;max-width:none}
.editorial-contact .field{margin:0;min-width:0}
.editorial-contact .field-sessionType,.editorial-contact .field-preferredDate,.editorial-contact .field-message,.editorial-contact .ec-game-details,.editorial-contact .inquiry-note,.editorial-contact .ec-error-summary,.editorial-contact .contact-form>button{grid-column:1/-1}
.editorial-contact label{display:block;font-size:.76rem;font-weight:500;line-height:1.6;margin:0 0 .45rem;color:#eeeae4}
.editorial-contact .optional{font-size:.69rem;color:#b8c0bb;font-weight:400}
.editorial-contact input,.editorial-contact select,.editorial-contact textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:48px;border:1px solid #77857d85;border-radius:0;background:#111817;color:#eeeae4;padding:.8rem .85rem;font-family:'Montserrat',sans-serif;font-size:16px;line-height:1.4;box-shadow:none}
.editorial-contact select{padding-right:2rem;color-scheme:dark}
.editorial-contact textarea{min-height:170px;resize:vertical}
.editorial-contact input:focus-visible,.editorial-contact select:focus-visible,.editorial-contact textarea:focus-visible{outline:2px solid var(--ec-red);outline-offset:2px;border-color:var(--ec-red)}
.editorial-contact .has-error input,.editorial-contact .has-error textarea,.editorial-contact [aria-invalid='true']{border-color:#e08778}
.editorial-contact .field-error{color:#f2b4a7;font-size:.76rem;line-height:1.6;margin:.4rem 0 0}
.editorial-contact .inquiry-note{font-size:.73rem;line-height:1.7;margin:0;color:#c4cbc5}
.editorial-contact .contact-form>button{justify-self:start;display:inline-flex;align-items:center;justify-content:center;background:var(--ec-red);color:#fff;border:0;border-radius:0;min-height:48px;padding:1rem 1.8rem;font-family:'Montserrat',sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;cursor:pointer}
.editorial-contact .contact-form>button:hover{background:#8e3932}
.editorial-contact .contact-form>button:focus-visible{outline:2px solid #eeeae4;outline-offset:3px}
.ec-game-details{border-block:1px solid #a5aaa440;padding:.85rem 0;min-width:0}
.ec-game-details>summary{font-size:.78rem;font-weight:600;line-height:1.7;cursor:pointer}
.editorial-contact .game-details{padding:1.1rem 0 0;margin:0;border:0;min-width:0}
.editorial-contact .game-details legend{font-size:.75rem;padding:0}
.editorial-contact .game-details>p{font-size:.76rem;line-height:1.6;margin:0 0 1rem;color:#c4cbc5}
.editorial-contact .game-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ec-error-summary{border-left:2px solid var(--ec-red);padding:.2rem 0 .2rem .9rem;font-size:.85rem;line-height:1.6;color:#f2b4a7}
.ec-error-summary p{margin:0}
.ec-success{padding:1rem 0;max-width:40ch}
.ec-success h2{font-family:'League Gothic',sans-serif;text-transform:uppercase;font-size:3.5rem;font-weight:400;margin:0 0 1rem}
.ec-success p{font-size:.9rem;line-height:1.8}
.ec-success a{color:#eeeae4;text-underline-offset:.3em}
@media(max-width:1000px) and (min-width:701px){.editorial-contact{padding-inline:4%}.ec-layout{gap:2rem;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.ec-form-panel{padding-left:1.5rem}.editorial-contact .contact-form{grid-template-columns:minmax(0,1fr)}.ec-heading h1{font-size:8.2vw}}
@media(max-width:700px){
 body:has(.editorial-contact) .site-header{padding:1rem 5.5% .6rem;gap:.65rem}
 body:has(.editorial-contact) .brand-art{width:210px;height:38px}
 body:has(.editorial-contact) .brand-subline{padding-left:61px}
 body:has(.editorial-contact) .site-nav{width:100%;justify-content:space-between;gap:.4rem;flex-wrap:wrap}
 body:has(.editorial-contact) .site-nav a{display:flex;align-items:center;min-height:44px;font-size:.625rem;letter-spacing:.1em;white-space:nowrap}
 .editorial-contact{padding:1.2rem 6% 2rem;max-width:100%}
 .ec-layout{display:flex;flex-direction:column;gap:0;min-width:0}
 .ec-story{display:contents}
 .ec-heading{order:0;width:100%;min-width:0}
 .ec-kicker{font-size:.59rem;letter-spacing:.17em;margin-bottom:.8rem}
 .ec-heading h1{font-size:clamp(3.5rem,16vw,4.5rem);line-height:.91;margin-bottom:.55rem}
 .ec-italic{font-size:clamp(2rem,8.6vw,2.4rem);margin-bottom:1rem}
 .ec-introduction{font-size:.9rem;line-height:1.75;margin-bottom:1.6rem;max-width:42ch}
 .ec-form-panel{order:1;width:100%;border:0;padding:0}
 .editorial-contact .contact-form{grid-template-columns:minmax(0,1fr);gap:1.15rem}
 .editorial-contact label{font-size:.82rem}
 .editorial-contact .optional{font-size:.73rem}
 .editorial-contact .game-fields{grid-template-columns:minmax(0,1fr)}
 .editorial-contact .contact-form>button{width:100%;justify-self:stretch}
 .ec-photograph{order:2;margin-top:2rem;aspect-ratio:3/2}
 .ec-ways{order:3;width:100%;margin-top:1.5rem}
 .ec-ways a{min-height:44px}
}

/* Frame the complete dusk huddle in The Game Story. */
.es-team .es-photograph img{object-position:50% 100%}

/* Let the whole huddle sit naturally in the existing landscape frame. */
.es-team .es-photograph img{object-position:50% 50%}
/* Keep off-canvas artwork inside the page without restricting vertical scrolling. */
html{max-width:100%;overflow-x:hidden}
body{max-width:100%}
@media(max-width:700px){
 .site-header,.site-footer,main{min-width:0;max-width:100%}
 .site-header .header-inner{min-width:0;max-width:100%}
 .site-header .brand,.site-nav{min-width:0;max-width:100%}
 .site-nav{flex-wrap:wrap}
 .footer-inner{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:1.25rem;width:100%;padding-inline:0}
 .footer-inner .footer-seal{width:64px}
 .footer-inner>p{display:block;min-width:0;max-width:100%;line-height:1.65;overflow-wrap:normal}
 .footer-location{display:flex;align-items:flex-start;gap:.4rem;margin-top:.5rem;line-height:1.6}
 .footer-location svg{flex:0 0 16px;width:16px;height:16px;margin-top:.15rem}
 .footer-inner>.social-links{grid-column:1 / -1;justify-content:flex-start;gap:.45rem;min-width:0}
}

/* One mobile document scroller; keep the body out of nested overflow/flex sizing. */
@media(max-width:700px){
 html,html:has(.editorial-services){height:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none}
 body,body:has(.editorial-services){display:block;height:auto;min-height:100svh;overflow:visible}
 body>main{display:flow-root;flex:none;min-height:0;overflow:clip}
 body>.site-footer{position:relative;margin-bottom:0}
}


body:has(.gallery-detail-editorial){background:#0b1111;color:#eeeae4}
body:has(.gallery-detail-editorial) .site-header{background:#0b1111;border-bottom:1px solid #ffffff21}
.gallery-detail-editorial{max-width:1600px;margin:auto;padding:0 3.6% 0;font-family:Montserrat,sans-serif}
.gd-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:5%;padding:3rem 0 2.5rem;align-items:center}
.gd-intro{min-width:0}.gd-back{color:#c7c9c4;text-decoration:none;font-size:.65rem;letter-spacing:.16em;display:inline-block;margin-bottom:2rem}
.gd-eyebrow{font:600 .62rem/1.5 Montserrat,sans-serif;letter-spacing:.23em;margin:0 0 1rem;color:#c0c4bd}
.gd-opening h1{font-family:'League Gothic',sans-serif;font-size:clamp(5rem,10.8vw,10rem);font-weight:400;line-height:.88;letter-spacing:-.015em;margin:0 0 1.2rem;text-transform:uppercase}
.gd-opening h1 span,.gd-invitation h2 span{color:#a9473f}
.gd-italic{font:italic clamp(1.8rem,3vw,3rem)/1.05 'Cormorant Garamond',serif;margin:0 0 1.2rem;color:#eeeae4}
.gd-description{font-size:.85rem;line-height:1.8;max-width:39ch;color:#bcc3bd;margin:0 0 1.8rem}
.gd-meta{border-top:1px solid #a5aaa43d;padding-top:1rem;display:flex;flex-wrap:wrap;gap:1rem 1.6rem;font-size:.57rem;letter-spacing:.15em;color:#b6bcb6}.gd-meta a{color:inherit;text-decoration:none}
.gd-cover{margin:0;position:relative;min-width:0;aspect-ratio:1.02;background:#151b18;overflow:hidden}.gd-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% 50%}.gd-cover figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1rem .8rem;background:linear-gradient(transparent,#0009);font-size:.53rem;letter-spacing:.2em;color:#fff}
.gd-wall-heading{scroll-margin-top:1rem;display:flex;justify-content:space-between;gap:1rem;padding:1.3rem 0;border-top:1px solid #a5aaa43d;font-size:.58rem;letter-spacing:.17em;color:#bec4be}
.gallery-detail-editorial .photo-grid{column-gap:12px;margin:0;padding:0}.gallery-detail-editorial .photo-grid li{margin-bottom:12px}.gallery-detail-editorial .photo-grid a{border-radius:0}.gallery-detail-editorial .photo-grid a:focus-visible{outline:2px solid #a9473f;outline-offset:3px}
.gd-invitation{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 0;border-top:1px solid #a5aaa43d;margin-top:2rem}.gd-invitation h2{font:400 clamp(3rem,5vw,5.5rem)/.95 'League Gothic',sans-serif;margin:0 0 1rem}.gd-invitation .gd-italic{font-size:2rem;margin:0}.gd-invitation .button{background:#a9473f;color:#eeeae4;border:0;font-size:.62rem;letter-spacing:.12em;flex:none}
.gd-next{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #a5aaa43d;border-bottom:1px solid #a5aaa43d;margin-bottom:2rem}.gd-next a{position:relative;color:#eeeae4;text-decoration:none;padding:1.5rem 2rem 1.5rem 0;font:400 clamp(1.5rem,2.4vw,2.5rem)/1.1 'League Gothic',sans-serif}.gd-next a+a{border-left:1px solid #a5aaa43d;padding-left:2rem}.gd-next small{display:block;font:500 .55rem/1.5 Montserrat,sans-serif;letter-spacing:.16em;margin-bottom:.7rem;color:#b7bdb6}.gd-next span{position:absolute;right:1rem;top:50%;font-size:1.3rem;color:#a9473f}
@media(max-width:700px){.gallery-detail-editorial{padding-inline:5%}.gd-opening{gap:1.5rem;padding:1.6rem 0;grid-template-columns:1fr}.gd-back{margin-bottom:1.4rem;min-height:24px}.gd-opening h1{font-size:clamp(4.7rem,22vw,7rem);line-height:.88}.gd-opening h1{max-width:7ch}.gd-italic{font-size:2rem}.gd-description{font-size:.8rem;max-width:100%;margin-bottom:1rem}.gd-eyebrow{margin-bottom:.7rem}.gd-cover{aspect-ratio:1.65}.gd-cover img{object-position:65% 48%}.gd-wall-heading{font-size:.5rem;line-height:1.6}.gd-wall-heading span:last-child{max-width:16ch;text-align:right}.gallery-detail-editorial .photo-grid{column-gap:8px}.gallery-detail-editorial .photo-grid li{margin-bottom:8px}.gd-meta{font-size:.52rem;gap:.8rem}.gd-invitation{display:block;padding:2rem 0;margin-top:1.5rem}.gd-invitation h2{font-size:3.3rem}.gd-invitation .gd-italic{font-size:1.8rem}.gd-invitation .button{margin-top:1.5rem;display:inline-flex;min-height:48px;align-items:center}.gd-next a{font-size:1.5rem;padding-block:1.3rem}.gd-next a+a{padding-left:1rem}.gd-next small{font-size:.48rem}.gd-next span{right:.3rem}}
.gd-sports-portraiture-media-day .gd-opening h1{font-size:clamp(3.6rem,7.4vw,7rem);line-height:.94}
.gd-sports-portraiture-media-day .gd-cover img{object-position:50% 38%}
@media(max-width:700px){.gd-sports-portraiture-media-day .gd-opening h1{font-size:clamp(3rem,15vw,5rem);max-width:none}.gd-sports-portraiture-media-day .gd-cover{aspect-ratio:1.15}.gd-families .gd-cover{aspect-ratio:1.5}}

.gd-cover .photo{width:100%;height:100%;aspect-ratio:auto!important}.gd-cover .photo img{height:100%;object-fit:cover}.gd-back{display:inline-flex;align-items:center;gap:.5rem;text-transform:uppercase}.gd-opening h1{max-width:7ch}.gd-sports-portraiture-media-day .gd-opening h1{max-width:none}.gd-next a{text-transform:uppercase}
/* Real client words, with the same quiet editorial typography as the rest of the site. */
.testimonials{padding:3.5rem 6% 3rem;background:#0b1111;color:#eeeae4;text-align:center;border-top:1px solid #a5aaa42a}
.testimonials header{margin-bottom:1.5rem}.testimonials .ed-kicker{margin-bottom:.7rem}.testimonial-stars{color:#b55349;font-size:.8rem;letter-spacing:.3em}
.testimonial-slides{display:grid;max-width:920px;margin:auto}.testimonial-slide{grid-area:1/1;margin:0;visibility:hidden;pointer-events:none}.testimonial-slide.is-active{visibility:visible;pointer-events:auto}
.testimonial-slide blockquote{margin:0 0 1.5rem;padding:0;border:0}.testimonial-slide blockquote p{font:italic clamp(1.8rem,3.1vw,3rem)/1.2 'Cormorant Garamond',serif;margin:0;text-wrap:pretty}
.testimonial-slide figcaption{font:600 .7rem/1.7 Montserrat,sans-serif;letter-spacing:.1em}.testimonial-slide figcaption span{display:block;font-weight:400;font-size:.58rem;color:#b7bdb6;letter-spacing:.07em;margin-top:.25rem}
.testimonial-controls{display:flex;justify-content:center;align-items:center;gap:.8rem;margin:1.4rem 0 .7rem}.testimonial-controls[hidden]{display:none}.testimonial-controls button{background:transparent;color:#eeeae4;border:1px solid #a5aaa447;min-width:44px;min-height:44px;padding:.4rem .7rem;cursor:pointer;font:500 .65rem Montserrat,sans-serif}.testimonial-controls button:hover{border-color:#b55349}.testimonial-controls button:focus-visible,.testimonial-source:focus-visible{outline:2px solid #b55349;outline-offset:3px}.testimonial-controls span{font:.6rem Montserrat,sans-serif;min-width:3rem;color:#b7bdb6}.testimonial-source{display:inline-block;padding:.65rem;color:#b7bdb6;font:500 .58rem Montserrat,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
@media(max-width:700px){.testimonials{padding:2.2rem 6% 2rem}.testimonial-slide blockquote p{font-size:1.85rem;line-height:1.2}.testimonials .ed-kicker{font-size:.55rem}.testimonial-controls{gap:.6rem}}

/* Gentle motion stays inside the quote area, with no page-width or height changes. */
.testimonial-slides{overflow:hidden}
.testimonial-slide.is-leaving{visibility:visible;pointer-events:none;animation:testimonial-exit 600ms cubic-bezier(.22,.61,.36,1) both}
.testimonial-slide.is-entering{animation:testimonial-enter 600ms cubic-bezier(.22,.61,.36,1) both}
@keyframes testimonial-enter{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
@keyframes testimonial-exit{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-36px)}}
@media(prefers-reduced-motion:reduce){.testimonial-slide.is-entering,.testimonial-slide.is-leaving{animation:none}.testimonial-slide.is-leaving{visibility:hidden}}

/* Native disclosure navigation works with touch, keyboard, and without JavaScript. */
.site-header{position:relative;z-index:30}
.nav-disclosure{position:relative}.nav-disclosure summary{display:flex;align-items:center;gap:.35rem;min-height:44px;cursor:pointer;list-style:none;color:inherit;font:700 .68rem/1.4 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.nav-disclosure summary::-webkit-details-marker{display:none}.nav-disclosure summary::marker{content:''}.nav-disclosure summary>span{font-size:.9rem;line-height:1;transition:transform .15s}.nav-disclosure[open] summary>span{transform:rotate(180deg)}.nav-disclosure summary.is-current,.nav-disclosure summary:hover{color:var(--accent)}.nav-disclosure summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.nav-dropdown{position:absolute;top:100%;left:0;min-width:240px;max-width:320px;background:#111817;color:#eeeae4;border:1px solid #a5aaa447;padding:.5rem;box-shadow:0 12px 24px #0005;z-index:40}
.site-nav .nav-dropdown a{display:flex;align-items:center;min-height:44px;padding:.7rem .8rem;font-size:.65rem;line-height:1.5;letter-spacing:.06em;text-decoration:none;border:0;white-space:normal}.site-nav .nav-dropdown a:hover,.site-nav .nav-dropdown a:focus-visible{background:#eeeae40d;color:#eeeae4;outline:1px solid var(--accent);outline-offset:-1px}
.es-service{scroll-margin-top:1.5rem}
@media(max-width:700px){.nav-disclosure{position:static}.nav-disclosure summary{font-size:.6rem;letter-spacing:.08em;gap:.25rem}.nav-dropdown{top:100%;left:5%;right:5%;min-width:0;max-width:none;max-height:65svh;overflow-y:auto}.site-nav .nav-dropdown a{font-size:.72rem;min-height:48px}.site-header{overflow:visible}}
@media(prefers-reduced-motion:reduce){.nav-disclosure summary>span{transition:none}}
/* Give desktop links and disclosure labels an identical alignment box. */
@media(min-width:701px){
 .site-nav{align-items:center}
 .site-nav>a,.site-nav>.nav-disclosure>summary{display:flex;align-items:center;min-height:44px;line-height:1.4;padding-block:.25rem;border-bottom:1px solid transparent}
 .site-nav>.nav-disclosure{align-self:center}
}
@media(max-width:700px){
 .site-nav{align-items:center}
 .site-nav>a,.site-nav>.nav-disclosure>summary{display:flex;align-items:center;min-height:44px;line-height:1.4;padding-block:.25rem;border-bottom:1px solid transparent}
 .site-nav>.nav-disclosure{align-self:center}
}
.header-motion-pending{opacity:0}
.header-motion-enter{animation:header-photo-arrive 950ms cubic-bezier(.2,.65,.3,1) both}
@keyframes header-photo-arrive{from{opacity:0;scale:.975}to{opacity:1;scale:1}}
.es-service .es-photograph img.header-motion-enter{animation:service-photo-arrive 1s cubic-bezier(.2,.65,.3,1) both}
@keyframes service-photo-arrive{from{opacity:0;translate:0 36px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.header-motion-pending{opacity:1}.header-motion-enter{animation:none}}
@media(prefers-reduced-motion:reduce){.es-service .es-photograph img.header-motion-enter{animation:none}}
@media(max-width:700px){body .site-header .site-nav>a,body .site-header .site-nav>.nav-disclosure>summary{font-family:'Montserrat',sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.08em;line-height:1.4}}

/* Service-specific client words, set directly into the editorial flow. */
.inline-review{margin:2.5rem auto;padding:1.5rem 0 1.5rem 1.4rem;border-left:2px solid #a9473f;max-width:760px;color:#eeeae4}
.inline-review blockquote{margin:0 0 1rem;padding:0;border:0}.inline-review blockquote p{font:italic clamp(1.7rem,2.5vw,2.4rem)/1.2 'Cormorant Garamond',serif;margin:0;color:#eeeae4;max-width:none}
.inline-review figcaption{font:600 .65rem/1.7 'Montserrat',sans-serif;letter-spacing:.06em}.inline-review figcaption span{display:block;font-weight:400;font-size:.56rem;letter-spacing:.04em;color:#b7bdb6;margin-top:.2rem}
.es-family-sessions .inline-review{margin:1.5rem 0;padding:.8rem 0 .8rem 1rem}.es-family-sessions .inline-review blockquote p{font:italic 1.65rem/1.2 'Cormorant Garamond',serif;margin:0;max-width:none}
@media(max-width:700px){.inline-review{margin:1.8rem 0;padding:1rem 0 1rem 1rem}.inline-review blockquote p{font-size:1.75rem}.es-family-sessions .inline-review blockquote p{font-size:1.65rem}}

/* FAQ: the approved accordion, within the shared site navigation and footer. */
.editorial-faq{max-width:1120px;margin:auto;padding:2rem 6% 4rem;color:#eeeae4;font:15px/1.8 Montserrat,sans-serif}
.fq-intro{padding:1rem 0 2rem;border-bottom:1px solid #ffffff26;margin-bottom:2.5rem}
.fq-intro h1{font:400 clamp(70px,12vw,130px)/.95 'League Gothic',sans-serif;margin:1.4rem 0 1rem;text-transform:uppercase}
.fq-intro h1 span{color:#a9473f}.editorial-faq .fq-italic{font:italic clamp(30px,5vw,48px)/1.1 'Cormorant Garamond',serif;margin:0 0 1.5rem}
.fq-intro>p:last-child{max-width:50ch;color:#bdc3bd;font-size:14px}.fq-group{margin-bottom:3rem}
.editorial-faq h2{font:400 36px/1.1 'League Gothic',sans-serif;text-transform:uppercase;margin:0 0 1rem}
.fq-group details{border-top:1px solid #ffffff26}.fq-group details:last-child{border-bottom:1px solid #ffffff26}
.fq-group summary{padding:1.2rem 2rem 1.2rem 0;cursor:pointer;position:relative;list-style:none;font-weight:600;font-size:14px;line-height:1.6}
.fq-group summary::-webkit-details-marker{display:none}.fq-group summary:after{content:'+';position:absolute;right:0;color:#b55349;font-size:22px;top:1rem}
.fq-group details[open] summary:after{content:'−'}.fq-group details p{max-width:75ch;margin:0 0 1.5rem;color:#c7cec7;font-size:14px}
.editorial-faq a:not(.ed-button){color:#d1b2aa}.fq-closing{border-top:1px solid #ffffff26;padding-top:2rem}.fq-closing h2{font-size:42px}
@media(max-width:600px){.editorial-faq{padding-inline:6%}.fq-group summary,.fq-group details p{font-size:13px}.editorial-faq h2{font-size:30px}}
