/* The remaining pages: Writing & Books, the essays, About, Contact, Services, Privacy, Thank you,
   Blog and 404. They were dark from 26 September 2026 (Figma H06.3 and H06.4) and are light since
   17 October 2026 (Sarah: "all white backgrounds, no black"); the layout is unchanged and the
   class names (.sha-dark-view, --sha-deep) are kept so nothing else had to move. No panels; long
   reading in a centred column, ink on the light ground. Loaded after the main stylesheet, so every
   rule here is scoped to .sha-dark-view and wins over the old page styles. */

.sha-dark-view {
	--sha-deep: #fafaf9;
	--sha-read: #31312c;
	--sha-soft: #72726c;
	--sha-faint: #72726c;
	--sha-hair: rgba(49, 49, 44, .15);
	--sha-gutter: clamp(20px, 3.2vw, 56px);
	--sha-ease: cubic-bezier(.22, .61, .36, 1);
	--sha-bar: var(--wp-admin--admin-bar--height, 0px);
	--sha-measure: 728px;
	background: var(--sha-deep);
	color: #31312c;
	font-family: "Fact", "Inter", system-ui, sans-serif;
	font-weight: 300;
	-webkit-font-smoothing: antialiased;
}

html:has(.sha-dark-view) {
	background: #fafaf9;
}

html.lenis:has(.sha-dark-view) {
	scroll-behavior: auto;
}

html.sha-theme-scroll-restoring:has(.sha-dark-view)::before {
	background: #fafaf9;
}

.sha-dark-view .wp-site-blocks {
	padding: 0;
}

.sha-dark-view .wp-site-blocks > * {
	margin-block: 0;
}

/* ---------------------------------------------------------------- page frame */

.sha-dark-view .sha-page {
	box-sizing: border-box;
	margin: 0;
	max-width: none;
	background: none;
	padding: clamp(112px, 11.9vw, 180px) var(--sha-gutter) clamp(120px, 11vw, 168px);
	color: #31312c;
}

.sha-dark-view .sha-page *,
.sha-dark-view .sha-page *::before,
.sha-dark-view .sha-page *::after {
	box-sizing: border-box;
}

.sha-dark-view .sha-page a {
	color: inherit;
}

.sha-dark-view .sha-page :focus-visible {
	outline: 1px solid #4f4f49;
	outline-offset: 4px;
}

.sha-dark-view .sha-page .sha-page__title {
	margin: 0 0 clamp(40px, 4.4vw, 72px);
	color: #31312c;
	font-family: inherit;
	font-size: clamp(40px, 4.25vw, 64px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: none;
}

/* ---------------------------------------------------------------- reading pages */

.sha-dark-view .sha-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--sha-measure)) minmax(0, 1fr);
	column-gap: 48px;
	align-items: start;
	margin: 0;
	padding: 0;
	max-width: none;
}

.sha-dark-view .sha-page__layout > * {
	margin: 0;
}

/* The margin stays in view while reading: high up while the header is tucked away, and moved
   down below the logo, in step with the header, when the header comes back. */
.sha-dark-view .sha-page__rail {
	grid-column: 1;
	position: sticky;
	top: calc(var(--sha-bar) + 128px);
	max-height: calc(100vh - var(--sha-bar) - 160px);
	width: min(100%, 230px);
	overflow-y: auto;
	scrollbar-width: none;
	margin: 0;
	padding: 6px 0 0;
	border: 0;
	background: none;
	transition: top .5s cubic-bezier(.22, .61, .36, 1), max-height .5s cubic-bezier(.22, .61, .36, 1);
}

.sha-dark-view:has(.sha-deck-header__bar.is-tucked) .sha-page__rail {
	top: calc(var(--sha-bar) + 40px);
	max-height: calc(100vh - var(--sha-bar) - 72px);
}

.sha-dark-view .sha-page__rail > * {
	margin: 0;
}

.sha-dark-view .sha-page__column {
	grid-column: 2;
	min-width: 0;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Short pages (404, an empty Blog) keep the footer near the bottom of the screen. */
.sha-dark-view .sha-page--plain {
	min-height: 72svh;
}

.sha-dark-view .sha-page--plain .sha-page__column {
	width: min(100%, var(--sha-measure));
	margin-inline: auto;
}

/* A featured photograph (a service, a book's cover) opens the column. */
.sha-dark-view .sha-page .sha-page__image {
	margin: 0 0 clamp(40px, 4vw, 56px);
	overflow: hidden;
}

.sha-dark-view .sha-page .sha-page__image::after {
	content: none;
}

.sha-dark-view .sha-page .sha-page__image img {
	display: block;
	width: 100%;
	height: auto;
	filter: none;
	box-shadow: none;
}

.sha-dark-view .sha-page--essay .sha-page__image {
	width: min(100%, 300px);
}

.sha-dark-view .sha-page--reading .sha-page__title {
	margin-bottom: 18px;
	font-size: clamp(38px, 3.7vw, 56px);
	line-height: 1.14;
}

/* Posts: the author and the date under the title. */
.sha-dark-view .sha-page .sha-theme-blog-single__author-bar {
	align-items: center;
	gap: 12px;
	margin: 26px 0 44px;
	padding: 0 0 28px;
	border-bottom: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-page .sha-theme-blog-single__avatar img {
	display: block;
	border-radius: 50%;
}

.sha-dark-view .sha-page .sha-theme-blog-single__author-meta {
	gap: 2px !important;
}

.sha-dark-view .sha-page .sha-theme-blog-single__author-name {
	margin: 0;
	color: #31312c;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
}

.sha-dark-view .sha-page .sha-theme-blog-single__date {
	margin: 0;
	color: var(--sha-soft);
	font-size: 14px;
	line-height: 20px;
}

/* Back link and contents in the dark margin. */
.sha-dark-view .sha-page__rail .sha-theme-portfolio-single__back-link-wrap {
	position: static;
	margin: 0;
	padding: 0;
	border: 0;
}

.sha-dark-view .sha-page__rail .sha-theme-portfolio-single__back-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #62625c;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 20px;
	text-decoration: none;
	text-transform: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-page__rail .sha-theme-portfolio-single__back-link:hover {
	color: #31312c;
}

.sha-dark-view .sha-theme-blog-single__toc {
	margin: 44px 0 0;
	padding: 0;
	border: 0;
	background: none;
}

.sha-dark-view .sha-theme-blog-single__toc.is-empty,
.sha-dark-view .sha-theme-blog-single__toc:not(:has(.sha-theme-blog-single__toc-item)) {
	display: none;
}

.sha-dark-view .sha-theme-blog-single__toc-title,
.sha-dark-view .sha-theme-service-single__section-title {
	margin: 0 0 14px;
	color: var(--sha-faint);
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: none;
}

.sha-dark-view .sha-page__toc-toggle {
	display: none;
}

.sha-dark-view .sha-theme-blog-single__toc-nav {
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-theme-blog-single__toc-list,
.sha-dark-view .sha-theme-service-single__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sha-dark-view .sha-theme-blog-single__toc-item {
	margin: 0;
	padding: 0;
	border: 0;
}

.sha-dark-view .sha-theme-blog-single__toc-item--level-3,
.sha-dark-view .sha-theme-blog-single__toc-item--level-4 {
	padding-left: 14px;
}

.sha-dark-view .sha-theme-blog-single__toc-link,
.sha-dark-view .sha-theme-service-single__link {
	display: block;
	padding: 0;
	border: 0;
	color: #66665f;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 20px;
	text-decoration: none;
	text-transform: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-theme-blog-single__toc-link:hover,
.sha-dark-view .sha-theme-blog-single__toc-link.is-active,
.sha-dark-view .sha-theme-service-single__link:hover {
	color: #31312c;
}

.sha-dark-view .sha-theme-blog-single__toc-link.is-active::before,
.sha-dark-view .sha-theme-blog-single__toc-link::before {
	content: none;
}

.sha-dark-view .sha-theme-service-single__section,
.sha-dark-view :is(.sha-theme-blog-single__sidebar-projects, .sha-theme-blog-single__sidebar-services) {
	margin: 44px 0 0;
	padding: 0;
	border: 0;
}

/* Links from the contents land a little below the header. */
.sha-dark-view .sha-page .wp-block-post-content :where(h2, h3, h4)[id] {
	scroll-margin-top: calc(var(--sha-bar) + 104px);
}

/* The text itself. */
.sha-dark-view .sha-page .wp-block-post-content {
	margin: 0;
	padding: 0;
	max-width: none;
	color: var(--sha-read);
	font-family: inherit;
	font-size: 19px;
	font-weight: 300;
	line-height: 33px;
	overflow-wrap: break-word;
}

.sha-dark-view .sha-page--reading .wp-block-post-content > * {
	max-width: none;
	margin-block: 0;
	margin-inline: 0;
}

.sha-dark-view .sha-page--reading .wp-block-post-content > :where(p, ul, ol, blockquote, figure, table, .wp-block-table, .wp-block-image, .wp-block-buttons, .wp-block-group, div) {
	margin-bottom: 22px;
}

.sha-dark-view .sha-page .wp-block-post-content :where(p, li) {
	color: var(--sha-read);
	font-family: inherit;
	font-size: inherit;
	font-weight: 300;
	letter-spacing: 0;
	line-height: inherit;
}

.sha-dark-view .sha-page .wp-block-post-content :where(h2, h3, h4, h5) {
	color: #31312c;
	font-family: inherit;
	letter-spacing: 0;
	text-transform: none;
}

.sha-dark-view .sha-page--reading .wp-block-post-content > h2 {
	margin: 64px 0 20px;
	font-size: clamp(26px, 2.2vw, 32px);
	font-weight: 300;
	line-height: 1.25;
}

.sha-dark-view .sha-page--reading .wp-block-post-content > h3 {
	margin: 40px 0 14px;
	font-size: 22px;
	font-weight: 400;
	line-height: 30px;
}

.sha-dark-view .sha-page--reading .wp-block-post-content > :where(h4, h5) {
	margin: 32px 0 10px;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
}

.sha-dark-view .sha-page .wp-block-post-content :where(strong, b) {
	color: #31312c;
	font-weight: 400;
}

.sha-dark-view .sha-page .wp-block-post-content a {
	color: #31312c;
	text-decoration: underline;
	text-decoration-color: rgba(49, 49, 44, .39);
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	transition: text-decoration-color .3s var(--sha-ease);
}

.sha-dark-view .sha-page .wp-block-post-content a:hover {
	text-decoration-color: #31312c;
}

.sha-dark-view .sha-page .wp-block-post-content :where(ul, ol) {
	padding-left: 1.2em;
}

.sha-dark-view .sha-page .wp-block-post-content li + li {
	margin-top: 6px;
}

.sha-dark-view .sha-page .wp-block-post-content blockquote {
	padding: 0 0 0 24px;
	border-left: 1px solid rgba(49, 49, 44, .33);
	font-style: italic;
}

.sha-dark-view .sha-page .wp-block-post-content hr {
	margin: 48px 0;
	border: 0;
	border-top: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-page .wp-block-post-content img {
	max-width: 100%;
	height: auto;
}

.sha-dark-view .sha-page .wp-block-post-content figcaption {
	color: var(--sha-soft);
	font-size: 13px;
	line-height: 18px;
}

.sha-dark-view .sha-page .wp-block-post-content :where(table, th, td) {
	border-color: var(--sha-hair);
	color: inherit;
}

/* Paragraphs set in a colour in the editor (such as the Privacy date) stay readable. */
.sha-dark-view .sha-page .wp-block-post-content p.has-text-color:not(.has-background) {
	color: var(--sha-soft) !important;
}

/* An essay opens with its subtitle, epigraphs and their attributions, written as paragraphs. */
.sha-dark-view .sha-page--essay .wp-block-post-content > p:first-child:has(> em:only-child) {
	margin-bottom: 30px;
	color: var(--sha-soft);
	font-size: clamp(19px, 1.5vw, 22px);
	line-height: 1.4;
}

.sha-dark-view .sha-page--essay .wp-block-post-content > p:first-child > em:only-child {
	font-style: normal;
}

.sha-dark-view .sha-page--essay .wp-block-post-content > p:not(:first-child):has(> em:only-child) {
	margin-bottom: 6px;
	padding-left: 24px;
	color: #31312c;
	font-size: clamp(19px, 1.45vw, 21px);
	line-height: 1.55;
}

.sha-dark-view .sha-page--essay .wp-block-post-content > p:not(:first-child):has(> em:only-child) + p:not(:has(> em)) {
	padding-left: 24px;
	color: var(--sha-soft);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

/* ---------------------------------------------------------------- closing lines */

.sha-dark-view .sha-next,
.sha-dark-view .sha-page__cta {
	width: min(100%, var(--sha-measure));
	margin: clamp(112px, 10vw, 150px) auto 0;
	padding: 0;
	border: 0;
	background: none;
}

.sha-dark-view .sha-page--index .sha-page__cta,
.sha-dark-view .sha-page--about .sha-page__cta,
.sha-dark-view :is(.sha-page--how, .sha-page--collaborators, .sha-page--studio) .sha-page__cta {
	width: auto;
	margin-inline: 0;
}

.sha-dark-view .sha-next__label {
	margin: 0 0 14px;
	color: #66665f;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.sha-dark-view .sha-next__title,
.sha-dark-view .sha-page__cta .sha-page__cta-title {
	display: block;
	margin: 0 0 22px;
	color: #31312c;
	font-family: inherit;
	font-size: clamp(30px, 2.9vw, 44px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.18;
	text-decoration: none;
	text-transform: none;
}

.sha-dark-view .sha-next__title:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .12em;
}

.sha-dark-view .sha-next__links,
.sha-dark-view .sha-page__cta .sha-page__cta-link {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 36px;
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
}

.sha-dark-view .sha-next__links a,
.sha-dark-view .sha-page__cta .sha-page__cta-link a {
	color: #3a3a35;
	text-decoration: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-next__links .sha-next__all {
	color: var(--sha-soft);
}

.sha-dark-view .sha-next__links a:hover,
.sha-dark-view .sha-page__cta .sha-page__cta-link a:hover {
	color: #31312c;
}

.sha-dark-view .sha-next__read::after,
.sha-dark-view .sha-page__cta .sha-page__cta-link a::after,
.sha-dark-view .sha-writing__action::after {
	content: "\2192";
	display: inline-block;
	margin-left: .45em;
	transition: transform .4s var(--sha-ease);
}

.sha-dark-view .sha-next__read:hover::after,
.sha-dark-view .sha-page__cta .sha-page__cta-link a:hover::after,
.sha-dark-view a:hover .sha-writing__action::after {
	transform: translateX(4px);
}

/* ---------------------------------------------------------------- Essays: light for reading */

/* Essays are light from the start since 17 Oct 2026; they used to open dark and turn to
   light paper for the long read (dark-pages.js sets .is-light) and back at the top. The colours
   are registered so the whole page changes in one move. */
@property --sha-essay-bg { syntax: "<color>"; inherits: true; initial-value: #fafaf9; }
@property --sha-essay-ink { syntax: "<color>"; inherits: true; initial-value: #31312c; }
@property --sha-essay-read { syntax: "<color>"; inherits: true; initial-value: #31312c; }
@property --sha-essay-quote { syntax: "<color>"; inherits: true; initial-value: #31312c; }
@property --sha-essay-soft { syntax: "<color>"; inherits: true; initial-value: #72726c; }
@property --sha-essay-faint { syntax: "<color>"; inherits: true; initial-value: #72726c; }
@property --sha-essay-hair { syntax: "<color>"; inherits: true; initial-value: rgba(49, 49, 44, .15); }

.sha-dark-view .sha-page--essay {
	--sha-essay-bg: #fafaf9;
	--sha-essay-ink: #31312c;
	--sha-essay-read: #31312c;
	--sha-essay-quote: #31312c;
	--sha-essay-soft: #72726c;
	--sha-essay-faint: #72726c;
	--sha-essay-hair: rgba(49, 49, 44, .15);
	--sha-read: var(--sha-essay-read);
	--sha-soft: var(--sha-essay-soft);
	--sha-faint: var(--sha-essay-faint);
	--sha-hair: var(--sha-essay-hair);
	background: var(--sha-essay-bg);
	color: var(--sha-essay-ink);
	transition:
		--sha-essay-bg 1s var(--sha-ease),
		--sha-essay-ink 1s var(--sha-ease),
		--sha-essay-read 1s var(--sha-ease),
		--sha-essay-quote 1s var(--sha-ease),
		--sha-essay-soft 1s var(--sha-ease),
		--sha-essay-faint 1s var(--sha-ease),
		--sha-essay-hair 1s var(--sha-ease);
}

.sha-dark-view .sha-page--essay.is-light {
	--sha-essay-bg: #fafaf9;
	--sha-essay-ink: #31312c;
	--sha-essay-read: #31312c;
	--sha-essay-quote: #31312c;
	--sha-essay-soft: #72726c;
	--sha-essay-faint: #72726c;
	--sha-essay-hair: rgba(49, 49, 44, .16);
}

.sha-dark-view .sha-page--essay :is(.sha-page__title, .sha-next__title, .sha-next__links a:hover, .sha-next__links a:focus-visible),
.sha-dark-view .sha-page--essay .wp-block-post-content :is(h2, h3, h4, h5, strong, b, a) {
	color: var(--sha-essay-ink);
}

.sha-dark-view .sha-page--essay .wp-block-post-content a {
	text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
}

.sha-dark-view .sha-page--essay .wp-block-post-content a:hover {
	text-decoration-color: currentColor;
}

.sha-dark-view .sha-page--essay .wp-block-post-content blockquote {
	border-left-color: var(--sha-essay-hair);
}

.sha-dark-view .sha-page--essay .wp-block-post-content > p:not(:first-child):has(> em:only-child) {
	color: var(--sha-essay-quote);
}

.sha-dark-view .sha-page--essay .sha-page__rail .sha-theme-portfolio-single__back-link,
.sha-dark-view .sha-page--essay .sha-next__label {
	color: var(--sha-essay-soft);
}

.sha-dark-view .sha-page--essay .sha-page__rail .sha-theme-portfolio-single__back-link:is(:hover, :focus-visible) {
	color: var(--sha-essay-ink);
}

.sha-dark-view .sha-page--essay .sha-next__links a {
	color: var(--sha-essay-ink);
}

.sha-dark-view .sha-page--essay .sha-next__links .sha-next__all {
	color: var(--sha-essay-soft);
}

.sha-dark-view .sha-page--essay :focus-visible {
	outline-color: currentColor;
}

/* ---------------------------------------------------------------- Writing & Books */

.sha-dark-view .sha-writing {
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-writing__group + .sha-writing__group,
.sha-dark-view .sha-writing__section + .sha-writing__section {
	margin-top: clamp(96px, 9vw, 140px);
}

.sha-dark-view .sha-writing__section {
	margin-bottom: 0;
	padding: 0;
}

/* A section whose list is empty (no essays yet, say) is left out with its heading. */
.sha-dark-view .sha-writing__section:not(:has(.sha-writing li)) {
	display: none;
}

.sha-dark-view .sha-writing__label,
.sha-dark-view .sha-page .sha-page__section-title {
	margin: 0 0 26px;
	color: #62625c;
	font-family: inherit;
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 24px;
	text-transform: none;
}

.sha-dark-view .sha-writing__essays,
.sha-dark-view .sha-writing__books {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sha-dark-view .sha-writing__essay,
.sha-dark-view .sha-writing__book {
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-writing__essay-link {
	display: flex;
	flex-direction: column;
	gap: 14px;
	height: 100%;
	padding: 32px 0 0;
	border-top: 1px solid var(--sha-hair);
	color: #31312c;
	text-decoration: none;
}

.sha-dark-view .sha-writing__essay-title {
	max-width: 22ch;
	font-size: clamp(28px, 2.4vw, 36px);
	line-height: 1.22;
}

.sha-dark-view .sha-writing__essay-sub {
	color: var(--sha-soft);
	font-size: clamp(17px, 1.3vw, 19px);
	line-height: 1.4;
}

.sha-dark-view .sha-writing__action {
	margin-top: auto;
	padding-top: 22px;
	color: #3a3a35;
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
}

.sha-dark-view a:hover .sha-writing__essay-title,
.sha-dark-view a:hover .sha-writing__book-title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .12em;
}

.sha-dark-view .sha-writing__book-link {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	color: #31312c;
	text-decoration: none;
}

.sha-dark-view .sha-writing__cover {
	display: block;
	background: rgba(49, 49, 44, .06);
}

.sha-dark-view .sha-writing__cover img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	transition: opacity .4s var(--sha-ease);
}

.sha-dark-view .sha-writing__cover-blank {
	display: block;
	aspect-ratio: 1;
}

.sha-dark-view .sha-writing__book-text {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 6px;
}

.sha-dark-view .sha-writing__book-title {
	font-size: clamp(26px, 2.1vw, 32px);
	line-height: 1.25;
}

.sha-dark-view .sha-writing__book-by {
	color: var(--sha-soft);
	font-size: 15px;
	font-weight: 400;
	line-height: 22px;
}

.sha-dark-view .sha-writing__book .sha-writing__action {
	margin-top: 10px;
	padding-top: 0;
}

.sha-dark-view .sha-writing__essay .sha-writing__status {
	margin-top: auto;
	padding-top: 22px;
}

.sha-dark-view .sha-writing__status {
	margin-top: 10px;
	color: var(--sha-soft);
	font-size: 15px;
	font-weight: 400;
	line-height: 20px;
}

.sha-dark-view .sha-writing__empty {
	color: var(--sha-soft);
}

/* ---------------------------------------------------------------- Blog */

/* The blog keeps its listing block (category filters, search, ?portfolio_filter links) in the
   dark page's frame: filters in the margin, posts two across. */
.sha-dark-view .sha-theme-portfolio-listing--blog {
	--sha-theme-portfolio-line: transparent;
	--sha-theme-portfolio-card-max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	color: #31312c;
}

.sha-dark-view .sha-theme-portfolio-listing--blog :is(.sha-theme-portfolio-listing__guides, .sha-theme-portfolio-listing__image-line, .sha-theme-portfolio-listing__sidebar-foot) {
	display: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__layout {
	grid-template-columns: minmax(0, 230px) minmax(0, 1fr);
	column-gap: 48px;
	row-gap: 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__sidebar {
	min-height: 0;
	padding: 6px 0 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__sidebar-sticky {
	top: calc(var(--sha-bar, 0px) + 128px);
	gap: 0;
	margin: 0;
	padding: 0;
	background: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-controls {
	display: flex;
	flex-direction: column;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-label {
	margin: 0 0 14px;
	padding: 0;
	color: var(--sha-faint);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-list {
	display: grid;
	gap: 10px;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filter-link {
	display: block;
	padding: 0;
	color: #66665f;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 20px;
	text-transform: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filter-link::before {
	content: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filter-link:is(:hover, :focus-visible, .is-active) {
	color: #31312c;
}

.sha-dark-view .sha-theme-portfolio-listing--blog.is-search-active .sha-theme-portfolio-listing__filter-link.is-active {
	color: #66665f;
}

/* The search sits under the categories on large screens too. */
.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-form--filters-mobile {
	display: flex;
	order: 2;
	margin: 28px 0 0;
	padding: 8px 0;
	border-bottom: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-form:focus-within {
	border-bottom-color: #62625c;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-icon {
	filter: none;
	opacity: .6;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-input {
	color: #31312c;
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-input::placeholder {
	color: #72726c;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 56px 24px;
	align-content: start;
	padding: 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__card,
.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__card.is-offset-right {
	gap: 0;
	width: auto;
	margin: 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__image {
	aspect-ratio: 3 / 2;
	background: rgba(128, 128, 128, .12);
}

/* A post without a featured image shows a hairline drawing instead of an empty tile. */
.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__image-placeholder {
	background: url("../blog-placeholder.svg") center / 64% auto no-repeat;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__meta {
	display: block;
	padding: 18px 0 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__meta-main {
	gap: 6px;
	padding: 0;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__title {
	color: #31312c;
	font-size: clamp(19px, 1.45vw, 22px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__title a:is(:hover, :focus-visible) {
	color: #31312c;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .12em;
}

.sha-dark-view .sha-theme-portfolio-listing--blog :is(.sha-theme-portfolio-listing__location, .sha-theme-portfolio-listing__sector) {
	margin: 0;
	padding: 0;
	color: var(--sha-soft);
	font-size: 14px;
	letter-spacing: 0;
	line-height: 20px;
	text-align: left;
	text-transform: none;
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__sector {
	margin-top: 2px;
	color: var(--sha-faint);
}

.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__empty {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--sha-soft);
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 26px;
	text-transform: none;
}

/* ---------------------------------------------------------------- Services */

.sha-dark-view .sha-services {
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-services__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sha-dark-view .sha-services__item {
	margin: 0;
}

.sha-dark-view .sha-services__link {
	display: flex;
	flex-direction: column;
	gap: 6px;
	color: #31312c;
	text-decoration: none;
}

.sha-dark-view .sha-services__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	margin-bottom: 10px;
	overflow: hidden;
	background: rgba(49, 49, 44, .06);
}

/* The global image settings under Theme Settings: desaturate until hover, and the overlay shown
   on hover (the listing sets both as custom properties). */
.sha-dark-view .sha-services__media::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(255, 255, 255, var(--sha-theme-global-project-overlay-opacity, 0));
	opacity: 0;
	pointer-events: none;
	transition: opacity .28s ease;
}

.sha-dark-view .sha-services__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(var(--sha-theme-global-project-image-saturation, 1));
	transition: filter .28s ease, transform 1.2s var(--sha-ease);
}

.sha-dark-view .sha-services__link:is(:hover, :focus-visible) .sha-services__media::after {
	opacity: 1;
}

.sha-dark-view .sha-services__link:is(:hover, :focus-visible) .sha-services__media img {
	filter: saturate(1);
	transform: scale(1.03);
}

.sha-dark-view .sha-services__name {
	font-size: 19px;
	line-height: 25px;
}

.sha-dark-view .sha-services__line {
	max-width: 52ch;
	color: var(--sha-soft);
	font-size: 14px;
	font-weight: 400;
	line-height: 21px;
}

/* ---------------------------------------------------------------- lists (Blog, archives) */

.sha-dark-view .sha-page__query {
	margin: 0;
}

.sha-dark-view .sha-page__query .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sha-dark-view .sha-page__entry {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 28px 0 32px;
	border-top: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-page__entry .wp-block-post-title {
	margin: 0;
	font-size: clamp(24px, 2vw, 30px);
	font-weight: 300;
	line-height: 1.25;
}

.sha-dark-view .sha-page__entry .wp-block-post-title a {
	color: #31312c;
	text-decoration: none;
}

.sha-dark-view .sha-page__entry .wp-block-post-title a:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .12em;
}

.sha-dark-view .sha-page__entry .wp-block-post-date {
	color: var(--sha-faint);
	font-size: 13px;
	font-weight: 400;
}

.sha-dark-view .sha-page__entry .wp-block-post-excerpt,
.sha-dark-view .sha-page__query .wp-block-query-no-results p,
.sha-dark-view .sha-page--404 .sha-page__column > p {
	margin: 0;
	color: var(--sha-read);
	font-size: 17px;
	line-height: 28px;
}

.sha-dark-view .sha-page__query .wp-block-query-pagination {
	gap: 20px;
	margin-top: 40px;
	color: var(--sha-soft);
	font-size: 14px;
}

.sha-dark-view .sha-page__query .wp-block-query-pagination a {
	text-decoration: none;
}

.sha-dark-view .sha-page__query .wp-block-query-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px 18px;
}

.sha-dark-view .sha-page__query .wp-block-query-pagination :is(a, .current) {
	color: var(--sha-soft);
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-page__query .wp-block-query-pagination :is(a:hover, .current) {
	color: #31312c;
}

/* 404 search. */
.sha-dark-view .sha-page .wp-block-search {
	margin-top: 36px;
}

.sha-dark-view .sha-page .wp-block-search__inside-wrapper {
	gap: 16px;
	padding: 0;
	border: 0;
	background: none;
}

.sha-dark-view .sha-page .wp-block-search__input {
	min-height: 48px;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid rgba(49, 49, 44, .33);
	border-radius: 0;
	background: transparent;
	color: #31312c;
	font: inherit;
	font-size: 17px;
}

.sha-dark-view .sha-page .wp-block-search__input::placeholder {
	color: var(--sha-faint);
}

.sha-dark-view .sha-page .wp-block-search__button {
	margin: 0;
	padding: 0 24px;
	border: 1px solid #72726c;
	border-radius: 0;
	background: transparent;
	color: #31312c;
	font: inherit;
	font-size: 15px;
	font-weight: 400;
}

/* Thank you (Figma H08.5): the studio room fills the left half, full height, and the page's
   own text and button sit on the light ground on the right. The frame comes from the theme
   (sha_theme_thank_you_frame); without the photograph the text reads from the top left. */
.sha-dark-view .sha-page--thanks:has(.sha-thanks) {
	padding: 0;
}

.sha-dark-view .sha-page--thanks:has(.sha-thanks) .sha-page__column {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-thanks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: 100vh;
	min-height: 100svh;
}

.sha-dark-view .sha-thanks__photo {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: rgba(49, 49, 44, .06);
}

.sha-dark-view .sha-thanks__photo img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

/* A shade at the top keeps the white logo clear of the ceiling lights. */
.sha-dark-view .sha-thanks__photo::after {
	position: absolute;
	inset: 0 0 auto;
	height: 220px;
	background: linear-gradient(rgba(0, 0, 0, .45), rgba(0, 0, 0, 0));
	content: "";
	pointer-events: none;
}

.sha-dark-view .sha-thanks__text {
	align-self: center;
	min-width: 0;
	padding: clamp(112px, 11.9vw, 180px) var(--sha-gutter) clamp(96px, 9vw, 136px) clamp(40px, 6.35vw, 96px);
}

.sha-dark-view .sha-thanks__text .wp-block-post-content {
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-page--thanks .sha-theme-thank-you {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	height: auto;
	max-width: 560px;
	margin: 0;
	padding: 0;
	overflow: visible;
	text-align: left;
}

.sha-dark-view .sha-page--thanks .sha-theme-thank-you > * {
	max-width: none;
	margin-inline: 0 !important;
}

.sha-dark-view .sha-page--thanks .sha-theme-thank-you__title {
	margin: 0 0 24px;
	color: #31312c;
	font-family: inherit;
	font-size: clamp(38px, 3.7vw, 56px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.14;
	text-align: left;
}

.sha-dark-view .sha-page--thanks .sha-theme-thank-you__message {
	max-width: 540px;
	margin: 0 0 48px;
	color: #4f4f49;
	font-family: inherit;
	font-size: 20px;
	font-weight: 300;
	line-height: 32px;
	text-align: left;
}

/* Back to Browsing: the same outlined button as Submit Form. */
.sha-dark-view .sha-page--thanks a.sha-theme-thank-you__btn {
	display: inline-block;
	align-self: flex-start;
	margin-inline: 0;
	padding: 16px 28px;
	border: 1px solid #72726c;
	border-radius: 0;
	background: transparent;
	color: #31312c;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 20px;
	text-decoration: none;
	text-transform: none;
	transition: background-color .3s var(--sha-ease), border-color .3s var(--sha-ease), color .3s var(--sha-ease);
}

.sha-dark-view .sha-page--thanks a.sha-theme-thank-you__btn:hover {
	border-color: #31312c;
	background: #31312c;
	color: var(--sha-deep);
}

.sha-dark-view .sha-page--thanks a.sha-theme-thank-you__btn:focus-visible {
	border-color: #31312c;
	outline: 1.5px solid #31312c;
	outline-offset: 4px;
}

/* Tablet and phone: the photograph above, the text below. */
@media (max-width: 64rem) {
	.sha-dark-view .sha-thanks {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.sha-dark-view .sha-thanks__photo {
		aspect-ratio: 3 / 2;
	}

	.sha-dark-view .sha-thanks__text {
		align-self: start;
		padding: 56px var(--sha-gutter) clamp(96px, 14vw, 136px);
	}
}

@media (max-width: 37.5rem) {
	.sha-dark-view .sha-thanks__photo {
		aspect-ratio: 4 / 3;
	}

	.sha-dark-view .sha-page--thanks .sha-theme-thank-you__message {
		font-size: 18px;
		line-height: 28px;
	}
}

/* Cookie preferences summary on the Privacy page. */
.sha-dark-view .sha-page .sha-cookie-consent-status {
	padding: 28px;
	border: 1px solid var(--sha-hair);
	border-radius: 0;
	background: rgba(49, 49, 44, .03);
	color: var(--sha-read);
}

.sha-dark-view .sha-page .sha-cookie-consent-status :where(h3, th, strong) {
	color: #31312c;
}

.sha-dark-view .sha-page .sha-cookie-consent-status :where(p, td) {
	color: var(--sha-read);
}

.sha-dark-view .sha-page .sha-cookie-consent-status :where(table, th, td) {
	border-color: var(--sha-hair);
	background: transparent;
}

/* ---------------------------------------------------------------- About */

/* About opens on the studio photograph, full screen, with a cue to scroll. The page scrolls down
   and turns light when the text reaches the middle of the screen (dark-pages.js adds .is-light, and removes it on the way back up). The colours are
   registered properties so the whole page changes in one transition. */
@property --sha-about-bg { syntax: "<color>"; inherits: true; initial-value: #fafaf9; }
@property --sha-about-ink { syntax: "<color>"; inherits: true; initial-value: #31312c; }
@property --sha-about-text { syntax: "<color>"; inherits: true; initial-value: #31312c; }
@property --sha-about-soft { syntax: "<color>"; inherits: true; initial-value: #72726c; }
@property --sha-about-faint { syntax: "<color>"; inherits: true; initial-value: #72726c; }

.sha-dark-view .sha-page--about {
	--sha-about-bg: #fafaf9;
	--sha-about-ink: #31312c;
	--sha-about-text: #31312c;
	--sha-about-soft: #72726c;
	--sha-about-faint: #72726c;
	padding-top: 0;
	background: var(--sha-about-bg);
	color: var(--sha-about-ink);
	transition:
		--sha-about-bg 1s var(--sha-ease),
		--sha-about-ink 1s var(--sha-ease),
		--sha-about-text 1s var(--sha-ease),
		--sha-about-soft 1s var(--sha-ease),
		--sha-about-faint 1s var(--sha-ease);
}

.sha-dark-view .sha-page--about.is-light {
	--sha-about-bg: #fafaf9;
	--sha-about-ink: #31312c;
	--sha-about-text: #31312c;
	--sha-about-soft: #72726c;
	--sha-about-faint: #72726c;
}

.sha-dark-view .sha-page--about.is-light :focus-visible {
	outline-color: currentColor;
}

.sha-dark-view .sha-page--about .wp-block-post-content {
	display: grid;
	grid-template-columns: minmax(0, 456fr) minmax(0, 912fr);
	column-gap: 48px;
	color: var(--sha-about-text);
}

.sha-dark-view .sha-page--about .wp-block-post-content > * {
	grid-column: 1 / -1;
	max-width: none;
	margin: 0;
}

/* The opening photograph fills the screen, with the practice's name on it. */
.sha-dark-view .sha-page--about .sha-theme-about-hero {
	position: relative;
	grid-row: 1;
	width: auto;
	max-width: none;
	height: calc(100svh - var(--sha-bar));
	min-height: 460px;
	margin-inline: calc(-1 * var(--sha-gutter));
	padding: 0;
	overflow: hidden;
	background: #fafaf9;
}

.sha-dark-view .sha-page--about .sha-theme-about-hero__media {
	height: 100%;
	max-height: none;
	margin: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	filter: none;
}

/* With a phone crop set, one photograph shows per screen size (the block's own swap, kept
   against the rule above). */
.sha-dark-view .sha-page--about .sha-theme-about-hero__media img.sha-theme-about-hero__img--mobile {
	display: none;
}

@media (max-width: 768px) {
	.sha-dark-view .sha-page--about .sha-theme-about-hero--has-mobile-image .sha-theme-about-hero__media img.sha-theme-about-hero__img--desktop {
		display: none;
	}

	.sha-dark-view .sha-page--about .sha-theme-about-hero--has-mobile-image .sha-theme-about-hero__media img.sha-theme-about-hero__img--mobile {
		display: block;
	}
}

.sha-dark-view .sha-page--about .sha-theme-about-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(to bottom, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0) 22%),
		radial-gradient(ellipse 60% 48% at 18% 100%, rgba(0, 0, 0, .5), rgba(0, 0, 0, .22) 55%, rgba(0, 0, 0, 0));
}

.sha-dark-view .sha-page--about .sha-theme-about-hero__media::after {
	content: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-hero__caption {
	display: none;
}

/* The cue to scroll, as on the homepage: a line that draws itself down, bottom right. */
.sha-dark-view .sha-page__cue {
	position: absolute;
	right: var(--sha-gutter);
	bottom: clamp(28px, 5vh, 44px);
	z-index: 2;
	width: 48px;
	color: #fff;
	font-size: 12px;
	line-height: 16px;
	text-align: center;
	opacity: .9;
	pointer-events: none;
	text-shadow: 0 1px 10px rgba(0, 0, 0, .55);
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, .45));
	transition: opacity .6s var(--sha-ease);
}

.sha-dark-view .sha-page__cue::before {
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	margin: 0 auto 10px;
	background: currentColor;
	animation: sha-page-cue 2.8s var(--sha-ease) infinite;
}

.sha-dark-view .sha-page__cue.is-gone {
	opacity: 0;
}

@keyframes sha-page-cue {
	0% { transform: scaleY(0); transform-origin: top; }
	45% { transform: scaleY(1); transform-origin: top; }
	55% { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

.sha-dark-view .sha-page--about :is(.sha-theme-about-entry--intro, .sha-theme-about-intro, .sha-theme-about-intro__content) {
	display: contents;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__eyebrow {
	display: none;
}

/* Items unwrapped by display: contents are grid items too. The title spans the photograph; the
   text, the image after it, Team and the closing line sit in the right half, and the left half
   stays empty. */
.sha-dark-view .sha-page--about .sha-theme-about-intro__title {
	grid-column: 1 / -1;
}

.sha-dark-view .sha-page--about :is(.sha-theme-about-intro__body, .sha-theme-themed-image, .sha-theme-about-intro__media),
.sha-dark-view .sha-page--about .wp-block-post-content > :is(.sha-theme-about-entry:has(.sha-theme-about-team-grid), .sha-theme-about-entry--hobe, .sha-theme-about-page__cta) {
	grid-column: 2;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__title {
	position: relative;
	z-index: 1;
	grid-row: 1;
	align-self: end;
	margin: 0 0 clamp(40px, 5vw, 72px);
	padding-right: 96px;
	color: #fff;
	font-family: inherit;
	font-size: clamp(40px, 4.25vw, 64px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.1;
	text-transform: none;
}

/* The text on the left, then the photograph, then Team and Press. */
.sha-dark-view .sha-page--about .sha-theme-about-intro__body {
	grid-row: 2;
	width: min(100%, 46rem);
	margin: clamp(96px, 9vw, 140px) 0 0;
	color: var(--sha-about-text);
	font-size: 19px;
	line-height: 33px;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__body p {
	margin: 0 0 22px;
	color: inherit;
	font: inherit;
	letter-spacing: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__body :is(strong, b, a) {
	color: var(--sha-about-ink);
	text-decoration-color: currentColor;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__body p:last-child {
	margin-bottom: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-intro__body p:first-child {
	margin-bottom: 34px;
	color: var(--sha-about-ink);
	font-size: clamp(22px, 1.85vw, 27px);
	line-height: 1.45;
}

.sha-dark-view .sha-page--about .sha-theme-themed-image,
.sha-dark-view .sha-page--about .sha-theme-about-intro__media {
	grid-row: 3;
	width: min(100%, 46rem);
	margin: clamp(56px, 5vw, 72px) 0 0;
}

.sha-dark-view .sha-page--about :is(.sha-theme-themed-image__media, .sha-theme-about-intro__media)::after {
	content: none;
}

.sha-dark-view .sha-page--about :is(.sha-theme-themed-image__media, .sha-theme-about-intro__media) img {
	display: block;
	width: 100%;
	height: auto;
}

.sha-dark-view .sha-page--about .sha-theme-themed-image__caption {
	margin-top: 14px;
	color: var(--sha-about-soft);
	font-size: 13px;
	line-height: 18px;
}

/* Team and Press: open sections (the editor keeps them as Details blocks). The old About
   styles hold these blocks' top margin at 0 with !important, so the gap is padding. */
.sha-dark-view .sha-page--about .sha-theme-about-entry--accordion {
	padding: clamp(104px, 9.5vw, 144px) 0 0;
	border: 0;
	background: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-entry--accordion > * {
	max-width: none;
	margin-inline: 0;
}

.sha-dark-view .sha-page--about .sha-page__section-title {
	color: var(--sha-about-soft);
}

.sha-dark-view .sha-page--about :is(.sha-theme-about-entry:has(.sha-theme-about-team-grid), .sha-theme-about-entry--hobe, .sha-theme-about-page__cta) {
	width: min(100%, 46rem);
}

/* Hobe Sound Studio, after Team (joined About on 17 Oct 2026): the studio's words and address,
   then its photographs, the first across the column and the rest two by two. */
.sha-dark-view .sha-page--about .sha-theme-about-entry--hobe .sha-studio__lead {
	margin: 0 0 32px;
	color: var(--sha-about-text);
	font-size: clamp(17px, 1.25vw, 19px);
	line-height: 1.6;
}

.sha-dark-view .sha-page--about .sha-theme-about-entry--hobe .sha-office {
	margin: 0;
	border-top-color: var(--sha-about-faint);
}

.sha-dark-view .sha-page--about .sha-theme-about-entry--hobe .sha-office__label {
	color: var(--sha-about-soft);
}

.sha-dark-view .sha-page--about .sha-theme-about-entry--hobe :is(.sha-office__value, a.sha-office__value) {
	color: var(--sha-about-ink);
}

.sha-dark-view .sha-page--about .sha-theme-about-hobe-photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 48px 0 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-hobe-photos > figure {
	margin: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-hobe-photos > figure:first-child {
	grid-column: 1 / -1;
}

.sha-dark-view .sha-page--about .sha-theme-about-hobe-photos img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* The first Hobe Sound photograph came over from the Studio page with its tall entrance frame;
   on About every photograph keeps the 4:3 crop above. */
.sha-dark-view .sha-page--about .sha-theme-about-hobe-photos .sha-studio__entrance {
	aspect-ratio: auto;
	overflow: visible;
	background: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-team-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 20px;
	margin: 0;
	padding: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-team-member {
	margin: 0;
	padding: 0;
	border: 0;
}

.sha-dark-view .sha-page--about .sha-theme-about-team-member__media {
	aspect-ratio: 4 / 5;
	margin: 0 0 14px;
	background: rgba(128, 128, 128, .12);
}

.sha-dark-view .sha-page--about .sha-theme-about-team-member__media::after {
	content: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-team-member__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sha-dark-view .sha-page--about .sha-theme-about-team-member__name {
	margin: 0 0 4px;
	color: var(--sha-about-ink);
	font-family: inherit;
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 23px;
	text-transform: none;
}

.sha-dark-view .sha-page--about :is(.sha-theme-about-team-member__role, .sha-theme-about-team-member__tenure, .sha-theme-about-team-member__education) {
	margin: 0;
	color: var(--sha-about-soft);
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: none;
}

.sha-dark-view .sha-page--about :is(.sha-theme-about-team-member__tenure, .sha-theme-about-team-member__education) {
	color: var(--sha-about-faint);
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 40px 20px;
	margin: 0;
	padding: 0;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__item {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	border: 0;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__cover-link:hover img {
	filter: none;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__cover {
	max-width: none;
	aspect-ratio: 267 / 346;
	margin: 0 0 14px;
	overflow: hidden;
	background: rgba(128, 128, 128, .12);
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__cover-link {
	display: block;
	height: 100%;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.2s var(--sha-ease);
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__cover-link:hover img {
	transform: scale(1.03);
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__article {
	order: 1;
	margin: 0 0 4px;
	color: var(--sha-about-ink);
	font-size: 17px;
	font-weight: 300;
	letter-spacing: 0;
	line-height: 23px;
	text-transform: none;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) :is(.sha-theme-press-listing__publication, .sha-theme-press-listing__date) {
	order: 2;
	margin: 0;
	color: var(--sha-about-soft);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 18px;
	text-transform: none;
}

.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing__date {
	order: 3;
	color: var(--sha-about-faint);
}

/* ---------------------------------------------------------------- Recognition */

.sha-dark-view .sha-page--recognition .wp-block-post-content > p {
	max-width: 900px;
	margin: 0;
	color: #31312c;
	font-size: clamp(21px, 1.75vw, 26px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.45;
}

.sha-dark-view .sha-page--recognition :is(.sha-awards, .sha-recognition__press) {
	margin: clamp(96px, 9vw, 140px) 0 0;
	padding: 0;
	scroll-margin-top: calc(var(--sha-bar) + 64px);
}

.sha-dark-view .sha-awards__list {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--sha-hair);
	list-style: none;
}

.sha-dark-view .sha-awards__row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr) minmax(0, 320px);
	column-gap: 32px;
	align-items: baseline;
	margin: 0;
	padding: 22px 0;
	border-top: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-awards__year {
	color: #66665f;
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	line-height: 22px;
}

/* A year shows once, on the first of its rows; screen readers still hear it on each. */
.sha-dark-view .sha-awards__year.is-repeat {
	color: transparent;
}

.sha-dark-view .sha-awards__award {
	color: #31312c;
	font-size: 18px;
	font-weight: 300;
	line-height: 26px;
}

.sha-dark-view .sha-awards__note {
	display: block;
	margin-top: 4px;
	color: #72726c;
	font-size: 15px;
	line-height: 22px;
}

.sha-dark-view .sha-awards__project {
	color: #62625c;
	font-size: 15px;
	line-height: 22px;
	text-decoration: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-awards__project:hover {
	color: #31312c;
}

.sha-dark-view .sha-awards__project::after {
	content: "\2192";
	display: inline-block;
	margin-left: .45em;
	opacity: 0;
	transition: opacity .3s var(--sha-ease), transform .4s var(--sha-ease);
}

.sha-dark-view .sha-awards__project:hover::after {
	opacity: 1;
	transform: translateX(4px);
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta {
	display: block;
	margin: 0;
	padding: clamp(120px, 11vw, 168px) 0 0;
	text-align: left;
	border: 0;
	background: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .sha-theme-portfolio-single__cta-title {
	max-width: none;
	margin: 0 0 22px;
	color: var(--sha-about-ink);
	font-family: inherit;
	font-size: clamp(30px, 2.9vw, 44px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.18;
	text-transform: none;
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .wp-block-buttons {
	justify-content: flex-start;
	margin: 0;
	gap: 36px;
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .wp-block-button__link {
	display: inline;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--sha-about-ink);
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 22px;
	text-decoration: none;
	text-transform: none;
	transition: color .3s var(--sha-ease);
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .wp-block-button__link:hover {
	color: var(--sha-about-ink);
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .wp-block-button__link::after {
	content: "\2192";
	display: inline-block;
	margin-left: .45em;
	transition: transform .4s var(--sha-ease);
}

.sha-dark-view .sha-page--about .sha-theme-about-page__cta .wp-block-button__link:hover::after {
	transform: translateX(4px);
}

/* ---------------------------------------------------------------- Contact */

.sha-dark-view .sha-page--contact .wp-block-post-content {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	color: #31312c;
}

/* The layout and the form are in contact.css (Figma H08), shared with the popup. */

/* ---------------------------------------------------------------- tablet and phone */

@media (max-width: 64rem) {
	/* The margin's pieces join the page's grid: the way back and Contents (a toggle) share the
	   first line above the text, and the lists (other services, related projects) follow the
	   text, as on the old pages. */
	.sha-dark-view .sha-page__layout {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 24px;
		row-gap: 0;
		width: min(100%, var(--sha-measure));
		margin-inline: auto;
	}

	.sha-dark-view .sha-page__rail {
		display: contents;
	}

	.sha-dark-view .sha-page__rail > * {
		grid-column: 1 / -1;
	}

	.sha-dark-view .sha-page__rail > .sha-theme-portfolio-single__back-link-wrap {
		grid-column: 1;
		grid-row: 1;
	}

	.sha-dark-view .sha-page__column {
		grid-column: 1 / -1;
		grid-row: 3;
		margin-top: 40px;
	}

	.sha-dark-view .sha-theme-blog-single__toc {
		margin: 0;
	}

	.sha-dark-view .sha-page__rail > :is(.sha-theme-service-single__sidebar-links, .sha-theme-blog-single__sidebar-projects, .sha-theme-blog-single__sidebar-services) {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: 32px 24px;
		width: auto;
		margin: 0;
		padding: 36px 0 0;
		border: 0;
		text-align: left;
	}

	.sha-dark-view .sha-page__rail > :is(.sha-theme-service-single__sidebar-links, .sha-theme-blog-single__sidebar-projects) {
		grid-row: 4;
	}

	.sha-dark-view .sha-page__rail > .sha-theme-blog-single__sidebar-services {
		grid-row: 5;
	}

	.sha-dark-view .sha-page__rail > :is(.sha-theme-blog-single__sidebar-projects, .sha-theme-blog-single__sidebar-services) {
		display: block;
	}

	/* The first list after the text starts under a hairline. */
	.sha-dark-view .sha-page__rail > :is(.sha-theme-service-single__sidebar-links, .sha-theme-blog-single__sidebar-projects),
	.sha-dark-view .sha-page__rail > .sha-theme-blog-single__sidebar-services:not(.sha-theme-blog-single__sidebar-projects + .sha-theme-blog-single__sidebar-services) {
		margin-top: clamp(72px, 9vw, 96px);
		border-top: 1px solid var(--sha-hair);
	}

	.sha-dark-view .sha-theme-service-single__section {
		margin: 0;
	}

	/* Blog: the filters fold into the listing's own toggle above the posts. */
	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__layout {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 36px;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__sidebar {
		padding: 0;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__sidebar-sticky {
		position: static;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-label {
		display: none;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-toggle-icon {
		filter: none;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__filters-toggle-label {
		color: #4f4f49;
		font-size: 14px;
		letter-spacing: 0;
		text-transform: none;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__search-form--filters-mobile {
		margin-top: 20px;
	}

	.sha-dark-view .sha-theme-blog-single__toc {
		display: contents;
	}

	.sha-dark-view .sha-theme-blog-single__toc.is-empty {
		display: none;
	}

	.sha-dark-view .sha-theme-blog-single__toc-title {
		display: none;
	}

	.sha-dark-view .sha-page__toc-toggle {
		grid-column: 2;
		grid-row: 1;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		color: #62625c;
		font: inherit;
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
		cursor: pointer;
	}

	.sha-dark-view .sha-page__toc-toggle::after {
		content: "";
		width: 7px;
		height: 7px;
		margin-top: -3px;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: rotate(45deg);
		transition: transform .4s var(--sha-ease);
	}

	.sha-dark-view .sha-theme-blog-single__toc.is-open .sha-page__toc-toggle {
		color: #31312c;
	}

	.sha-dark-view .sha-theme-blog-single__toc.is-open .sha-page__toc-toggle::after {
		margin-top: 3px;
		transform: rotate(225deg);
	}

	.sha-dark-view .sha-theme-blog-single__toc-nav {
		grid-column: 1 / -1;
		grid-row: 2;
		display: none;
		padding: 20px 0 8px;
		border-bottom: 1px solid var(--sha-hair);
	}

	.sha-dark-view .sha-theme-blog-single__toc.is-open .sha-theme-blog-single__toc-nav {
		display: block;
	}

	.sha-dark-view .sha-page__cta,
	.sha-dark-view .sha-next {
		width: min(100%, var(--sha-measure));
	}

	.sha-dark-view .sha-page--about .wp-block-post-content {
		grid-template-columns: minmax(0, 1fr);
	}

	.sha-dark-view .sha-page--about :is(.sha-theme-about-intro__body, .sha-theme-themed-image, .sha-theme-about-intro__media),
	.sha-dark-view .sha-page--about .wp-block-post-content > :is(.sha-theme-about-entry:has(.sha-theme-about-team-grid), .sha-theme-about-entry--hobe, .sha-theme-about-page__cta) {
		grid-column: 1;
	}

	.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sha-dark-view .sha-writing__books {
		grid-template-columns: minmax(0, 1fr);
	}

	.sha-dark-view .sha-writing__book-link {
		grid-template-columns: minmax(0, 240px) minmax(0, 1fr);
		gap: 32px;
	}

	.sha-dark-view .sha-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 48rem) {
	.sha-dark-view .sha-page .wp-block-post-content,
	.sha-dark-view .sha-page--about .sha-theme-about-intro__body {
		font-size: 17px;
		line-height: 29px;
	}

	.sha-dark-view .sha-page--reading .wp-block-post-content > h2 {
		margin-top: 48px;
	}

	.sha-dark-view .sha-writing__essays {
		grid-template-columns: minmax(0, 1fr);
	}

	.sha-dark-view .sha-writing__book-link {
		grid-template-columns: minmax(0, 132px) minmax(0, 1fr);
		gap: 20px;
	}

	.sha-dark-view .sha-services__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 44px;
	}

	.sha-dark-view .sha-page--about .sha-theme-about-intro__title {
		padding-right: 64px;
	}

	.sha-dark-view .sha-page--about .sha-theme-about-team-grid,
	.sha-dark-view :is(.sha-page--about, .sha-page--recognition) .sha-theme-press-listing {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px 16px;
	}

	.sha-dark-view .sha-theme-portfolio-listing--blog .sha-theme-portfolio-listing__results {
		grid-template-columns: minmax(0, 1fr);
		gap: 44px;
	}

	.sha-dark-view .sha-awards__row {
		grid-template-columns: 56px minmax(0, 1fr);
		column-gap: 16px;
		padding: 18px 0;
	}

	.sha-dark-view .sha-awards__year {
		grid-row: span 2;
	}

	.sha-dark-view .sha-awards__award {
		font-size: 17px;
		line-height: 24px;
	}

	.sha-dark-view .sha-awards__project {
		grid-column: 2;
		margin-top: 6px;
	}

}

@media (prefers-reduced-motion: reduce) {
	.sha-dark-view .sha-page,
	.sha-dark-view .sha-page *,
	.sha-dark-view .sha-page *::before,
	.sha-dark-view .sha-page *::after {
		transition: none !important;
		animation: none !important;
	}
}


/* ---------------------------------------------------------------- Studio pages */

/* Collaborators, How We Work and Hobe Sound Studio (30 September 2026, Figma H09): the Studio
   pages from Scott's outline, built from what the site already holds. Full width like
   Recognition, with the same hairlines; the closing line sits on the left. */
.sha-dark-view :is(.sha-page--how, .sha-page--collaborators) .wp-block-post-content > p {
	max-width: 900px;
	margin: 0 0 clamp(40px, 4.4vw, 72px);
	color: #31312c;
	font-size: clamp(21px, 1.75vw, 26px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.45;
}

.sha-dark-view :is(.sha-page--how, .sha-page--collaborators) .sha-page__title {
	margin-bottom: clamp(48px, 6.3vw, 96px);
}

/* How We Work: each service's title across the top, then its photograph on the left and its text on the right,
   the first line of the text level with the top of the photograph (Scott and Sarah, 9 Oct 2026). */
.sha-dark-view .sha-how__service {
	display: grid;
	grid-template-columns: minmax(0, 560fr) minmax(0, 688fr);
	column-gap: clamp(40px, 11.1vw, 168px);
	padding: clamp(28px, 2.65vw, 40px) 0 clamp(80px, 7.9vw, 120px);
	border-top: 1px solid rgba(49, 49, 44, .24);
}

.sha-dark-view .sha-how__service:last-child {
	padding-bottom: 0;
}

.sha-dark-view .sha-page .sha-how__title {
	grid-column: 1 / -1;
	margin: 0 0 32px;
	color: #31312c;
	font-family: inherit;
	font-size: clamp(26px, 2.1vw, 32px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.25;
	text-transform: none;
}

.sha-dark-view .sha-how__photo {
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: rgba(128, 128, 128, .12);
}

.sha-dark-view .sha-how__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* The text keeps the right column even when a service has no photograph. The half-leading above the first
   line (32px lines, 19px type) would sit the letters below the photo's edge. */
.sha-dark-view .sha-how__text {
	grid-column: 2;
	margin-top: -8px;
}

.sha-dark-view .sha-page .sha-how__text p {
	max-width: none;
	margin: 0 0 22px;
	color: var(--sha-read);
	font-size: 19px;
	font-weight: 300;
	line-height: 32px;
}

.sha-dark-view .sha-page .sha-how__text p:last-child {
	margin-bottom: 0;
}

/* Collaborators: one row per role, the role on the left and the names in columns. A long name
   that wraps hangs, so its second line never reads as another name. */
.sha-dark-view .sha-collab__group {
	display: grid;
	grid-template-columns: 288px minmax(0, 1fr);
	column-gap: 24px;
	padding: 22px 0 22px;
	border-top: 1px solid var(--sha-hair);
}

.sha-dark-view .sha-page .sha-collab__role {
	margin: 0;
	color: #66665f;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 28px;
	text-transform: none;
}

.sha-dark-view .sha-collab__names {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 3;
	column-gap: 24px;
}

.sha-dark-view .sha-collab__names li {
	margin: 0;
	padding: 0 0 8px 1em;
	break-inside: avoid;
	color: #31312c;
	font-size: 18px;
	font-weight: 300;
	line-height: 28px;
	text-indent: -1em;
}

/* Hobe Sound Studio: the entrance beside the title, the paragraph and the office details (at
   the foot of the photograph), then the studio photographs, the first across the full width. */
.sha-dark-view .sha-page--studio .wp-block-post-content {
	margin: 0;
}

.sha-dark-view .sha-studio__intro {
	display: grid;
	grid-template-columns: minmax(0, 560fr) minmax(0, 688fr);
	column-gap: clamp(40px, 11.1vw, 168px);
	margin: 0;
}

.sha-dark-view .sha-page .sha-studio__entrance {
	margin: 0;
	aspect-ratio: 2 / 3;
	overflow: hidden;
	background: rgba(128, 128, 128, .12);
}

.sha-dark-view .sha-page .sha-studio__entrance img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sha-dark-view .sha-studio__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0;
}

.sha-dark-view .sha-page .sha-studio__text .sha-page__title {
	margin: 0 0 40px;
}

.sha-dark-view .sha-page .sha-studio__text > p {
	max-width: 640px;
	margin: 0 0 56px;
	color: #31312c;
	font-size: clamp(21px, 1.75vw, 26px);
	font-weight: 300;
	letter-spacing: 0;
	line-height: 1.45;
}

.sha-dark-view .sha-office {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 20px 32px;
	margin: auto 0 0;
	padding: 28px 0 0;
	border-top: 1px solid rgba(49, 49, 44, .24);
}

.sha-dark-view .sha-page .sha-office__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
}

.sha-dark-view .sha-office__label {
	color: var(--sha-soft);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.sha-dark-view .sha-page .sha-office__value,
.sha-dark-view .sha-page .wp-block-post-content .sha-office a.sha-office__value {
	color: #31312c;
	font-size: 17px;
	font-weight: 300;
	line-height: 26px;
	text-decoration: none;
}

.sha-dark-view .sha-page .wp-block-post-content .sha-office a.sha-office__value:hover {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .15em;
}

.sha-dark-view .sha-studio__photos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: clamp(80px, 7.9vw, 120px) 0 0;
}

.sha-dark-view .sha-page .sha-studio__photos > figure {
	margin: 0;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: rgba(128, 128, 128, .12);
}

.sha-dark-view .sha-page .sha-studio__photos > figure:first-child {
	grid-column: 1 / -1;
}

.sha-dark-view .sha-page .sha-studio__photos img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 64rem) {
	.sha-dark-view .sha-how__service {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 24px;
	}

	.sha-dark-view .sha-page .sha-how__title {
		margin-bottom: 0;
	}

	.sha-dark-view .sha-how__text {
		grid-column: 1;
		margin-top: 4px;
	}

	.sha-dark-view .sha-collab__group {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 10px;
	}

	.sha-dark-view .sha-collab__names {
		columns: 2;
	}
}

@media (max-width: 48rem) {
	.sha-dark-view .sha-studio__intro {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 40px;
	}

	.sha-dark-view .sha-page .sha-studio__entrance {
		aspect-ratio: 4 / 5;
	}

	.sha-dark-view .sha-page .sha-studio__text > p {
		margin-bottom: 40px;
	}

	.sha-dark-view .sha-office {
		justify-content: flex-start;
	}

	.sha-dark-view .sha-studio__photos {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.sha-dark-view .sha-page .sha-studio__photos > figure:first-child {
		grid-column: auto;
	}
}

@media (max-width: 37.5rem) {
	.sha-dark-view .sha-page .sha-how__text p {
		font-size: 17px;
		line-height: 28px;
	}

	.sha-dark-view .sha-collab__names {
		columns: 1;
	}

	.sha-dark-view .sha-collab__names li {
		font-size: 17px;
		line-height: 26px;
	}
}

/* About without its opening photograph (the hero removed, or a fresh page whose hero has no image):
   the title, white for the photograph, turns ink. */
.sha-dark-view .sha-page--about:not(:has(.sha-theme-about-hero)) .sha-theme-about-intro__title {
	color: var(--sha-about-ink);
}
