/*
 * Śląskie Studio - shared V5 subpages.
 * Character comes from type, scale, colour and real content rather than UI decoration.
 */

body.studio-subpage {
	--v5-ink: #0b0b0b;
	--v5-bone: #f1eee7;
	--v5-white: #fff;
	--v5-red: #ef3e2f;
	--v5-muted: #aaa59d;
	--v5-display: "Syne Local", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	--v5-sans: "DM Sans Local", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--color-ink: var(--v5-ink);
	--color-ink-soft: #55514c;
	--color-bone: var(--v5-bone);
	--color-paper: var(--v5-white);
	--color-blue: var(--v5-red);
	--color-blue-dark: var(--v5-ink);
	--font-display: var(--v5-display);
	--font-body: var(--v5-sans);
	--font-data: var(--v5-sans);
	--page-pad: clamp(1.25rem, 4vw, 4.5rem);
	--content-max: 96rem;
	--header-height: 4.75rem;
	margin: 0;
	background: var(--v5-ink);
	color: var(--v5-ink);
	font-family: var(--v5-sans);
	font-size: 1rem;
	line-height: 1.55;
}

body.studio-subpage ::selection {
	background: var(--v5-red);
	color: var(--v5-ink);
}

body.studio-subpage :focus-visible {
	outline: 3px solid var(--v5-red);
	outline-offset: 4px;
}

body.studio-subpage .studio-page-cta :focus-visible,
body.studio-subpage .studio-contact-hero :focus-visible,
body.studio-subpage .site-footer :focus-visible {
	outline-color: var(--v5-bone);
}

body.studio-subpage .alignwide,
body.studio-subpage .site-header__inner,
body.studio-subpage .site-footer__grid,
body.studio-subpage .site-footer__bottom,
.studio-shell {
	width: min(calc(100% - (2 * var(--page-pad))), var(--content-max));
	max-width: none;
	margin-inline: auto;
}

/* Header */
body.studio-subpage .site-header {
	min-height: var(--header-height);
	border: 0;
	background: var(--v5-ink);
	box-shadow: none;
	color: var(--v5-bone);
}

body.studio-subpage .site-header__inner {
	min-height: var(--header-height);
}

body.studio-subpage .site-brand {
	gap: 0;
	color: var(--v5-bone);
}

body.studio-subpage .site-brand__mark {
	display: none;
}

body.studio-subpage .site-brand__text {
	display: flex;
	align-items: baseline;
	gap: .32rem;
	font-family: var(--v5-display);
	font-size: .92rem;
	font-weight: 800;
	letter-spacing: .025em;
	line-height: 1;
}

body.studio-subpage .site-brand__text strong,
body.studio-subpage .site-brand__text span {
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
}

body.studio-subpage .site-brand__text span {
	color: var(--v5-red);
}

body.studio-subpage .site-nav {
	gap: clamp(1.1rem, 2vw, 2.3rem);
}

body.studio-subpage .site-nav__list {
	gap: clamp(.9rem, 1.55vw, 1.7rem);
}

body.studio-subpage .site-nav__list a {
	border: 0;
	color: var(--v5-bone);
	font-family: var(--v5-sans);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

body.studio-subpage .site-nav__list a::after {
	display: none;
}

body.studio-subpage .site-nav__list a:hover,
body.studio-subpage .site-nav__list a:focus-visible {
	color: var(--v5-red);
}

body.studio-subpage .site-nav__cta {
	min-height: 2.9rem;
	padding: .7rem 1.1rem;
	border: 0;
	background: var(--v5-red);
	color: var(--v5-ink);
	font-size: .77rem;
	font-weight: 800;
	letter-spacing: .045em;
	text-transform: uppercase;
	transition: background 160ms ease, color 160ms ease;
}

body.studio-subpage .site-nav__cta:hover,
body.studio-subpage .site-nav__cta:focus-visible {
	background: var(--v5-bone);
	color: var(--v5-ink);
}

body.studio-subpage .site-nav-toggle {
	border: 0;
	background: var(--v5-red);
	color: var(--v5-ink);
	font-family: var(--v5-sans);
}

/* Shared page type and controls */
.studio-page :where(h1, h2, h3, p, figure, ul, ol) {
	margin-top: 0;
}

.studio-page h1,
.studio-page h2,
.studio-page h3 {
	width: 100%;
	min-width: 0;
	margin-bottom: 0;
	font-family: var(--v5-display);
	font-weight: 800;
	hyphens: none;
	line-height: .92;
	overflow-wrap: normal;
	text-wrap: wrap;
	word-break: normal;
}

.studio-page p:last-child,
.studio-page ul:last-child,
.studio-page ol:last-child {
	margin-bottom: 0;
}

.studio-kicker {
	margin-bottom: clamp(1.25rem, 2.5vw, 2.2rem);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.studio-button {
	display: inline-flex;
	min-height: 3.65rem;
	align-items: center;
	justify-content: center;
	padding: .9rem 1.35rem;
	border: 0;
	background: var(--v5-red);
	color: var(--v5-ink);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 160ms ease, color 160ms ease;
}

.studio-button:hover,
.studio-button:focus-visible {
	background: var(--v5-bone);
	color: var(--v5-ink);
}

.studio-button--light {
	background: var(--v5-bone);
	color: var(--v5-ink);
}

.studio-button--light:hover,
.studio-button--light:focus-visible {
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-text-link {
	display: inline-flex;
	width: fit-content;
	margin-top: 2.4rem;
	color: inherit;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration-thickness: 2px;
	text-transform: uppercase;
}

.studio-meta {
	font-size: .67rem !important;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.6;
	text-transform: uppercase;
}

/* Heroes */
.studio-page-hero {
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-page-hero--split {
	display: grid;
	min-height: min(58rem, calc(100svh - var(--header-height)));
	grid-template-columns: minmax(0, 1.08fr) minmax(26rem, .92fr);
}

.studio-page-hero__copy {
	display: flex;
	min-width: 0;
	container-type: inline-size;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(5rem, 8vw, 9rem) var(--page-pad) clamp(5rem, 8vw, 9rem) max(var(--page-pad), calc((100vw - var(--content-max)) / 2 + var(--page-pad)));
}

.studio-page-hero__copy h1 {
	max-width: 12ch;
	font-size: clamp(2.75rem, 8.2cqw, 6.5rem);
	letter-spacing: -.065em;
}

.studio-page-hero__lead {
	max-width: 39rem;
	margin: clamp(2.5rem, 4vw, 4rem) 0 0;
	color: var(--v5-muted);
	font-size: clamp(1.05rem, 1.45vw, 1.28rem);
	line-height: 1.58;
}

.studio-page-hero__copy .studio-button {
	margin-top: 2.25rem;
}

.studio-page-hero__media {
	min-width: 0;
	margin: 0;
	background: #191919;
}

.studio-page-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 45%;
}

.studio-page-hero--text {
	padding-block: clamp(7rem, 12vw, 12rem);
}

.studio-page-hero--text h1 {
	max-width: 11.5ch;
	font-size: clamp(3.2rem, 8vw, 8rem);
	letter-spacing: -.07em;
}

.studio-page-hero__intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, .62fr);
	margin-top: clamp(3rem, 6vw, 6rem);
}

.studio-page-hero__intro p {
	grid-column: 2;
	color: var(--v5-muted);
	font-size: clamp(1rem, 1.3vw, 1.2rem);
	line-height: 1.65;
}

/* About */
.studio-statement {
	padding-block: clamp(7rem, 12vw, 12rem);
	background: var(--v5-bone);
}

.studio-statement__layout {
	display: grid;
	grid-template-columns: minmax(9rem, .38fr) minmax(0, 1.62fr);
	gap: clamp(3rem, 8vw, 9rem);
}

.studio-statement h2 {
	max-width: 12ch;
	font-size: clamp(3rem, 6vw, 6rem);
	letter-spacing: -.06em;
}

.studio-copy-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 5vw, 6rem);
	margin-top: clamp(3rem, 6vw, 6rem);
}

.studio-copy-columns p {
	margin-bottom: 0;
	font-size: clamp(1rem, 1.35vw, 1.22rem);
	line-height: 1.65;
}

.studio-domains {
	padding-block: clamp(7rem, 11vw, 11rem);
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-section-heading {
	max-width: 72rem;
	margin-bottom: clamp(5rem, 9vw, 9rem);
}

.studio-section-heading h2 {
	font-size: clamp(3rem, 6.5vw, 6.8rem);
	letter-spacing: -.065em;
}

.studio-section-heading--compact {
	max-width: 56rem;
	margin-bottom: clamp(4rem, 7vw, 7rem);
}

.studio-section-heading--compact h2 {
	font-size: clamp(2.75rem, 5vw, 5.75rem);
}

.studio-domains__grid,
.studio-process__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(3rem, 5vw, 6rem);
}

.studio-domains__grid article {
	min-width: 0;
	container-type: inline-size;
}

.studio-domains__grid h3 {
	font-size: clamp(1.9rem, 8cqw, 3.2rem);
	letter-spacing: -.055em;
}

.studio-domains__grid article > p:not(.studio-meta) {
	margin: 2rem 0 0;
	color: var(--v5-muted);
	line-height: 1.65;
}

.studio-domains__grid .studio-meta {
	margin-top: 3rem;
	color: var(--v5-bone);
}

.studio-local {
	display: grid;
	min-height: min(56rem, 88svh);
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	background: var(--v5-bone);
}

.studio-local__media {
	min-width: 0;
	margin: 0;
}

.studio-local__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.studio-local__copy {
	display: flex;
	min-width: 0;
	container-type: inline-size;
	flex-direction: column;
	justify-content: center;
	padding: clamp(4rem, 7vw, 8rem);
}

.studio-local__copy h2 {
	max-width: 11ch;
	font-size: clamp(2.6rem, 10cqw, 5.5rem);
	letter-spacing: -.06em;
}

.studio-local__copy > p:not(.studio-kicker) {
	max-width: 38rem;
	margin: 2.4rem 0 0;
	font-size: clamp(1rem, 1.2vw, 1.14rem);
	line-height: 1.7;
}

.studio-process,
.studio-contact-next {
	padding-block: clamp(7rem, 11vw, 11rem);
	background: var(--v5-bone);
}

.studio-process__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.studio-process__list li {
	min-width: 0;
	container-type: inline-size;
}

.studio-process__list li > span {
	display: block;
	margin-bottom: 2.4rem;
	color: var(--v5-red);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.studio-process__list h3 {
	font-size: clamp(1.6rem, 7.5cqw, 2.8rem);
	letter-spacing: -.055em;
}

.studio-process__list p {
	margin: 2rem 0 0;
	color: #615d57;
	line-height: 1.65;
}

/* Work */
.studio-work-row {
	display: grid;
	min-height: min(54rem, 86svh);
	grid-template-columns: minmax(0, 1.16fr) minmax(24rem, .84fr);
	background: var(--v5-bone);
}

.studio-work-row:nth-child(even) {
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-work-row__media {
	min-width: 0;
	margin: 0;
	background: #1a1a1a;
}

.studio-work-row__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.studio-work-row__copy {
	display: flex;
	min-width: 0;
	container-type: inline-size;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(4rem, 7vw, 8rem);
}

.studio-work-row__copy h2 {
	max-width: 10ch;
	font-size: clamp(2.6rem, 11cqw, 5.2rem);
	letter-spacing: -.065em;
}

.studio-work-row__copy > p:not(.studio-kicker, .studio-meta) {
	max-width: 35rem;
	margin: 2.5rem 0 0;
	color: #625e58;
	font-size: clamp(1rem, 1.2vw, 1.14rem);
	line-height: 1.7;
}

.studio-work-row:nth-child(even) .studio-work-row__copy > p:not(.studio-kicker, .studio-meta) {
	color: var(--v5-muted);
}

.studio-work-row__copy .studio-meta {
	margin-top: 3rem;
}

.studio-work-row--reverse {
	grid-template-columns: minmax(24rem, .84fr) minmax(0, 1.16fr);
}

.studio-work-row--reverse .studio-work-row__media {
	grid-column: 2;
	grid-row: 1;
}

.studio-work-row--reverse .studio-work-row__copy {
	grid-column: 1;
	grid-row: 1;
}

/* Contact */
.studio-contact-hero {
	min-height: min(54rem, calc(100svh - var(--header-height)));
	padding-block: clamp(6rem, 10vw, 10rem);
	background: var(--v5-red);
	color: var(--v5-ink);
}

.studio-contact-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(22rem, .75fr);
	align-items: end;
	gap: clamp(4rem, 8vw, 10rem);
}

.studio-contact-hero h1 {
	max-width: 12ch;
	font-size: clamp(3.4rem, 5.5vw, 6.5rem);
	letter-spacing: -.075em;
}

.studio-contact-hero__copy > p {
	max-width: 34rem;
	font-size: clamp(1.05rem, 1.5vw, 1.28rem);
	line-height: 1.6;
}

.studio-contact-hero .seo-contact-link {
	display: grid;
	gap: 1rem;
	margin-top: 2.5rem;
}

.studio-contact-hero .seo-button {
	display: inline-flex;
	width: fit-content;
	min-height: 3.65rem;
	align-items: center;
	justify-content: center;
	padding: .9rem 1.35rem;
	border: 0;
	background: var(--v5-bone);
	color: var(--v5-ink);
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-decoration: none;
	text-transform: uppercase;
}

.studio-contact-hero .seo-contact-link__email {
	max-width: 29rem;
	color: var(--v5-ink);
	font-family: var(--v5-sans);
	font-size: .72rem;
	letter-spacing: .02em;
}

.studio-contact-form-wrap {
	width: 100%;
	max-width: 48rem;
	margin-top: 2.5rem;
}

.studio-contact-form {
	margin: 0;
}

.studio-contact-form fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.studio-contact-form legend {
	margin-bottom: 1.5rem;
	padding: 0;
	color: var(--v5-ink);
	font-family: var(--v5-display);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-weight: 800;
	letter-spacing: -.035em;
}

.studio-contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.studio-contact-form label {
	display: grid;
	min-width: 0;
	gap: .5rem;
}

.studio-contact-form label > span {
	color: var(--v5-ink);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .055em;
	text-transform: uppercase;
}

.studio-contact-form input,
.studio-contact-form select,
.studio-contact-form textarea {
	width: 100%;
	min-width: 0;
	border: 0;
	border-radius: 0;
	background: var(--v5-bone);
	box-shadow: none;
	color: var(--v5-ink);
	font: inherit;
}

.studio-contact-form input,
.studio-contact-form select {
	min-height: 3.5rem;
	padding: .8rem .9rem;
}

.studio-contact-form textarea {
	min-height: 10rem;
	padding: .9rem;
	resize: vertical;
}

.studio-contact-form input::placeholder,
.studio-contact-form textarea::placeholder {
	color: #6d6963;
	opacity: 1;
}

.studio-contact-form input:focus-visible,
.studio-contact-form select:focus-visible,
.studio-contact-form textarea:focus-visible {
	outline: 3px solid var(--v5-ink);
	outline-offset: 3px;
}

.studio-contact-form__message {
	margin-top: 1rem;
}

.studio-contact-form__privacy,
.studio-contact-form__staging-note,
.studio-contact-form__notice {
	max-width: 42rem;
	font-size: .78rem;
	line-height: 1.55;
}

.studio-contact-form__privacy {
	margin: 1rem 0 1.5rem;
	color: var(--v5-ink);
}

.studio-contact-form__staging-note,
.studio-contact-form__notice {
	margin: 0 0 1.5rem;
	padding: .9rem 1rem;
	background: var(--v5-bone);
	color: var(--v5-ink);
}

.studio-contact-form__notice--error {
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-contact-form fieldset:disabled {
	opacity: 1;
}

.studio-contact-form fieldset:disabled :is(input, select, textarea, button) {
	cursor: not-allowed;
}

.studio-contact-form fieldset:disabled :is(input, select, textarea) {
	-webkit-text-fill-color: var(--v5-ink);
	opacity: 1;
}

.studio-contact-form .studio-button {
	border: 0;
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-contact-form .studio-button:hover,
.studio-contact-form .studio-button:focus-visible {
	background: var(--v5-bone);
	color: var(--v5-ink);
}

.studio-contact-brief {
	padding-block: clamp(7rem, 11vw, 11rem);
	background: var(--v5-bone);
}

.studio-contact-brief__layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(4rem, 9vw, 10rem);
}

.studio-contact-brief h2 {
	max-width: 11ch;
	font-size: clamp(2.8rem, 4.5vw, 5rem);
	letter-spacing: -.06em;
}

.studio-contact-brief ul {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.studio-contact-brief li {
	display: grid;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	grid-template-columns: 3rem minmax(0, 1fr);
	gap: 1.25rem;
	padding-block: .85rem;
	font-family: var(--v5-display);
	font-size: clamp(1.45rem, 2.5vw, 2.7rem);
	font-weight: 800;
	hyphens: none;
	letter-spacing: -.04em;
	line-height: 1.1;
	overflow-wrap: normal;
	word-break: normal;
}

.studio-contact-brief li span {
	padding-top: .35em;
	color: var(--v5-red);
	font-family: var(--v5-sans);
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .12em;
}

.studio-contact-next {
	background: var(--v5-ink);
	color: var(--v5-bone);
}

.studio-contact-next .studio-process__list p {
	color: var(--v5-muted);
}

/* Closing CTA */
.studio-page-cta {
	padding-block: clamp(7rem, 11vw, 11rem);
	background: var(--v5-red);
	color: var(--v5-ink);
}

.studio-page-cta__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(13rem, .55fr);
	align-items: end;
	gap: clamp(3rem, 8vw, 10rem);
}

.studio-page-cta h2 {
	max-width: 13ch;
	font-size: clamp(2.5rem, 4vw, 4.6rem);
	letter-spacing: -.07em;
}

.studio-page-cta .studio-button {
	justify-self: end;
}

/* Footer */
body.studio-subpage .site-footer {
	padding-top: clamp(4.5rem, 8vw, 8rem);
	background: var(--v5-ink);
	color: var(--v5-bone);
}

body.studio-subpage .site-footer__grid {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4rem;
	padding-bottom: clamp(4.5rem, 8vw, 8rem);
}

body.studio-subpage .site-brand--footer {
	color: var(--v5-bone);
}

body.studio-subpage .site-footer__claim {
	max-width: 28rem;
	margin: 1.4rem 0 0;
	color: var(--v5-muted);
}

body.studio-subpage .site-footer__business {
	color: var(--v5-muted);
	font-family: var(--v5-sans);
}

body.studio-subpage .site-footer__business strong {
	color: var(--v5-bone);
}

body.studio-subpage .site-footer__business a:hover,
body.studio-subpage .site-footer__business a:focus-visible {
	color: var(--v5-red);
}

body.studio-subpage .site-footer__nav {
	grid-template-columns: repeat(2, minmax(7rem, 1fr));
	gap: .65rem 3rem;
}

body.studio-subpage .site-footer__nav a {
	color: var(--v5-bone);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

body.studio-subpage .site-footer__nav a:hover,
body.studio-subpage .site-footer__nav a:focus-visible {
	color: var(--v5-red);
}

body.studio-subpage .site-footer__bottom {
	padding-block: 1.4rem;
	border: 0;
	color: #817d76;
	font-family: var(--v5-sans);
	font-size: .62rem;
	letter-spacing: .06em;
	text-transform: uppercase;
}

@media (max-width: 82rem) {
	.studio-page-hero--split,
	.studio-local,
	.studio-work-row,
	.studio-work-row--reverse {
		min-height: 0;
		grid-template-columns: 1fr;
	}

	.studio-page-hero__copy {
		min-height: min(50rem, calc(100svh - var(--header-height)));
		padding: clamp(5rem, 10vw, 8rem) var(--page-pad);
	}

	.studio-page-hero__copy h1 {
		font-size: clamp(3.2rem, 8vw, 6.5rem);
	}

	.studio-page-hero__media,
	.studio-local__media,
	.studio-work-row__media {
		aspect-ratio: 16 / 10;
	}

	.studio-local__copy,
	.studio-work-row__copy {
		min-height: 34rem;
	}

	.studio-work-row--reverse .studio-work-row__media,
	.studio-work-row--reverse .studio-work-row__copy {
		grid-column: auto;
		grid-row: auto;
	}

	.studio-contact-hero__layout,
	.studio-page-cta__layout {
		grid-template-columns: 1fr;
	}

	.studio-contact-hero {
		min-height: 0;
	}

	.studio-page-cta .studio-button {
		justify-self: start;
	}
}

@media (max-width: 72rem) and (min-width: 62.01rem) {
	body.studio-subpage .site-nav {
		gap: .9rem;
	}

	body.studio-subpage .site-nav__list {
		gap: .75rem;
	}

	body.studio-subpage .site-nav__list a,
	body.studio-subpage .site-nav__cta {
		font-size: .7rem;
	}

	body.studio-subpage .site-nav__cta {
		padding-inline: .8rem;
	}
}

@media (max-width: 68rem) {
	.studio-statement__layout,
	.studio-contact-brief__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.studio-domains__grid,
	.studio-process__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 4.5rem;
	}

	.studio-domains__grid h3,
	.studio-process__list h3 {
		font-size: clamp(1.35rem, 5.5vw, 2.4rem);
	}

	.studio-copy-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 62rem) {
	body.studio-subpage {
		--header-height: 4.5rem;
	}

	html.has-js body.studio-subpage .site-nav {
		background: var(--v5-ink);
		color: var(--v5-bone);
		overflow-x: hidden;
	}

	body.studio-subpage .site-nav__list li,
	body.studio-subpage .site-nav__list a {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}

	body.studio-subpage .site-nav__list a {
		min-height: 4.6rem;
		border: 0;
		color: var(--v5-bone);
		font-family: var(--v5-display);
		font-size: clamp(1.65rem, 7vw, 2.8rem);
		font-weight: 800;
		letter-spacing: -.04em;
		text-transform: uppercase;
	}

	body.studio-subpage .site-nav__cta {
		width: 100%;
		min-height: 3.75rem;
		margin-top: 1.5rem;
	}

	body.studio-subpage .site-footer__grid {
		grid-template-columns: 1fr;
	}

	.studio-page-hero--text {
		padding-block: 7rem;
	}

	.studio-page-hero__intro {
		grid-template-columns: minmax(0, 1fr);
	}

	.studio-page-hero__intro p {
		grid-column: 1;
	}
}

@media (max-width: 47.5rem) {
	body.studio-subpage {
		--page-pad: 1.25rem;
	}

	body.studio-subpage .site-brand__text {
		font-size: .82rem;
	}

	.studio-kicker {
		margin-bottom: 1.1rem;
		font-size: .61rem;
	}

	.studio-page-hero__copy {
		min-height: min(43rem, calc(100svh - var(--header-height)));
		padding-block: 4.5rem;
	}

	.studio-page-hero__copy h1,
	.studio-page-hero--text h1 {
		font-size: clamp(1.4rem, 7.2vw, 2.8rem);
		letter-spacing: -.06em;
	}

	.studio-contact-hero h1 {
		font-size: clamp(1.6rem, 8vw, 3rem);
		letter-spacing: -.06em;
	}

	.studio-page-hero__lead,
	.studio-contact-hero__copy > p {
		font-size: 1rem;
	}

	.studio-page-hero__media,
	.studio-local__media,
	.studio-work-row__media {
		aspect-ratio: 5 / 4;
	}

	.studio-button,
	.studio-contact-hero .seo-button {
		width: 100%;
	}

	.studio-statement,
	.studio-domains,
	.studio-process,
	.studio-contact-next,
	.studio-contact-brief,
	.studio-page-cta {
		padding-block: 5.5rem;
	}

	.studio-statement h2,
	.studio-local__copy h2,
	.studio-contact-brief h2 {
		font-size: clamp(1.6rem, 7vw, 3rem);
	}

	.studio-section-heading h2 {
		font-size: clamp(1.5rem, 7vw, 2.75rem);
	}

	.studio-page-cta h2 {
		font-size: clamp(1.25rem, 6vw, 2.75rem);
	}

	.studio-copy-columns,
	.studio-section-heading,
	.studio-section-heading--compact {
		margin-top: 3rem;
		margin-bottom: 4rem;
	}

	.studio-local__copy,
	.studio-work-row__copy {
		min-height: 0;
		padding: 4.5rem var(--page-pad);
	}

	.studio-work-row__copy h2 {
		font-size: clamp(1.9rem, 8.5vw, 3.2rem);
	}

	.studio-contact-hero {
		padding-block: 6rem;
	}

	.studio-contact-hero__layout {
		gap: 3rem;
	}

	.studio-contact-form-wrap {
		margin-top: 2rem;
	}

	.studio-contact-form__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.studio-contact-form input,
	.studio-contact-form select,
	.studio-contact-form textarea {
		font-size: 1rem;
	}

	.studio-contact-form .studio-button {
		width: 100%;
	}

	.studio-contact-brief li {
		grid-template-columns: 1.5rem minmax(0, 1fr);
		gap: .5rem;
		font-size: clamp(.98rem, 4.2vw, 1.6rem);
	}

	body.studio-subpage .site-footer__nav {
		grid-template-columns: 1fr;
		gap: .85rem;
	}

	body.studio-subpage .site-footer__bottom {
		flex-direction: column;
		gap: .35rem;
	}
}

@media (max-width: 22rem) {
	body.studio-subpage .site-brand__text {
		font-size: .74rem;
	}

	.studio-page-hero__copy h1,
	.studio-page-hero--text h1 {
		font-size: clamp(1.35rem, 7.2vw, 1.6rem);
	}

	.studio-contact-hero h1 {
		font-size: clamp(1.5rem, 7.8vw, 2rem);
	}

	.studio-process__list h3 {
		font-size: 1.45rem;
	}
}

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

@media (forced-colors: active) {
	.studio-button,
	body.studio-subpage .site-nav__cta,
	.studio-contact-hero .seo-button {
		border: 2px solid ButtonText;
	}
}
