@media (max-width: 900px) {
	.site-header__branding {
		min-height: 104px;
		padding: 0.65rem 4.75rem;
	}
	.site-header__brand img {
		width: auto;
		height: 84px;
	}
	.site-header__nav-row {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: block;
		min-height: 0;
	}
	.site-header__nav-row::before,
	.site-header__nav-row::after {
		display: none;
	}
	.primary-navigation {
		grid-column: auto;
	}
	.menu-enhanced .menu-toggle {
		position: absolute;
		top: 50%;
		right: 1.25rem;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		transform: translateY(-50%);
	}
	.menu-enhanced .primary-navigation {
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		background: var(--color-ivory);
		opacity: 0;
		transition:
			max-height 250ms ease,
			opacity 200ms ease,
			visibility 200ms ease;
	}
	.menu-enhanced .primary-navigation.is-open {
		max-height: 70vh;
		overflow-y: auto;
		overscroll-behavior: contain;
		visibility: visible;
		border-bottom: var(--border);
		opacity: 1;
		-webkit-overflow-scrolling: touch;
	}
	.primary-navigation__list {
		flex-direction: column;
		padding: var(--space-4) 1.5rem var(--space-5);
		gap: var(--space-1);
	}
	.primary-navigation a {
		width: 100%;
		min-height: 48px;
		border-bottom: var(--border);
	}
	.site-header__social {
		position: static;
		display: flex;
		justify-content: center;
		flex-direction: row;
		padding: 0.55rem 1.5rem 0.8rem;
		border-top: 1px solid rgba(117, 108, 100, 0.28);
		gap: 0.65rem;
	}
	.menu-enhanced .site-header__social {
		display: none;
	}
	.menu-enhanced.menu-is-open .site-header__social {
		display: none;
	}
	.wechat-qr-popover {
		top: calc(100% + 0.6rem);
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}
	.menu-toggle__icon,
	.menu-toggle__icon::before,
	.menu-toggle__icon::after {
		display: block;
		width: 20px;
		height: 1px;
		background: currentColor;
		content: "";
		transition: transform 180ms ease;
	}
	.menu-toggle__icon {
		position: relative;
		margin-left: var(--space-2);
	}
	.menu-toggle__icon::before {
		position: absolute;
		top: -6px;
	}
	.menu-toggle__icon::after {
		position: absolute;
		top: 6px;
	}
	.menu-toggle.is-active .menu-toggle__icon {
		background: transparent;
	}
	.menu-toggle.is-active .menu-toggle__icon::before {
		top: 0;
		transform: rotate(45deg);
	}
	.menu-toggle.is-active .menu-toggle__icon::after {
		top: 0;
		transform: rotate(-45deg);
	}

	.site-footer__image-strip {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		margin-bottom: var(--space-6);
	}
	.site-footer__main {
		grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
		align-items: center;
	}
	.site-footer__copy {
		max-width: none;
	}
	.site-footer__logo {
		order: -1;
		grid-column: 1 / -1;
		width: min(260px, 64vw);
		margin-bottom: var(--space-4);
	}
	.site-footer__links {
		align-self: end;
	}
	.site-footer__back-to-top {
		bottom: 0;
	}
	.site-footer a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}
	.editorial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.editorial-grid > :first-child,
	.editorial-grid > :nth-child(2) {
		grid-column: auto;
	}
	.split-story,
	.project-detail__intro,
	.contact-layout {
		grid-template-columns: 1fr;
	}
	.split-story--reverse > :first-child {
		order: initial;
	}
	.process-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.gallery > *,
	.project-gallery > *,
	.gallery > :nth-child(3n),
	.project-gallery > :nth-child(3n) {
		grid-column: span 6;
	}
	.service-section {
		grid-template-columns: 1fr;
		gap: var(--space-3);
	}
}

@media (max-width: 600px) {
	:root {
		--space-7: 3.25rem;
		--space-8: 4.5rem;
	}
	.container,
	.page-hero__content {
		width: min(calc(100% - 2rem), var(--max-width));
	}
	.section {
		padding-block: var(--space-7);
	}
	.page-hero {
		min-height: 68vh;
	}
	.site-header__branding {
		min-height: 88px;
		padding-inline: 4rem;
	}
	.site-header__brand img {
		width: auto;
		height: 40px;
	}
	.site-footer {
		--footer-gutter: 1rem;
		padding-top: var(--space-5);
	}
	.site-footer__image-strip {
		display: none;
	}
	.site-footer__back-to-top-wrap {
		display: none;
	}
	.site-footer__main {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: var(--space-5);
	}
	.editorial-grid,
	.process-steps,
	.static-form {
		grid-template-columns: 1fr;
	}
	.site-footer__logo {
		order: 0;
		width: min(350px, 78vw);
		margin-bottom: var(--space-3);
	}
	.site-footer__copy {
		order: 1;
		width: min(100%, 500px);
		font-size: clamp(1.15rem, 4.5vw, 1.48rem);
		line-height: 1.58;
		letter-spacing: 0.12em;
	}
	.site-footer__signature {
		margin-top: var(--space-3);
		text-align: right;
		transform-origin: right center;
	}
	.site-footer__links {
		order: 2;
		align-items: center;
		width: 100%;
		gap: var(--space-5);
	}
	.site-footer__navigation {
		display: none;
	}
	.site-footer__social-icons {
		justify-content: center;
		gap: clamp(2.4rem, 12vw, 4.5rem);
	}
	.site-footer__social-button {
		width: 54px;
		min-height: 54px;
	}
	.site-footer__social-button img {
		width: 42px;
		height: 42px;
	}
	.site-footer__legal {
		margin-top: var(--space-4);
		text-align: center;
	}
	.site-footer__logo img {
		width: 50%;
		margin: 0 auto;
	}
	.static-form__field,
	.static-form__field--full,
	.static-form [data-form-message],
	.static-form .button {
		grid-column: 1;
	}
	.gallery,
	.project-gallery {
		grid-template-columns: 1fr;
	}
	.gallery > *,
	.project-gallery > *,
	.gallery > :nth-child(3n),
	.project-gallery > :nth-child(3n) {
		grid-column: 1;
	}
	.service-section__list {
		columns: 1;
	}
	.cta-band,
	.career-card {
		align-items: stretch;
		flex-direction: column;
		grid-template-columns: 1fr;
	}
	.cta-band {
		display: flex;
	}
	.project-navigation {
		flex-direction: column;
		gap: var(--space-3);
	}
	.button,
	button,
	input,
	select {
		min-height: 44px;
	}
	.button {
		width: 100%;
	}
	.testimonial-slider {
		padding: var(--space-4);
	}
}

@media (max-width: 900px) {
	.about-intro__canvas {
		grid-template-columns: minmax(150px, 0.8fr) minmax(360px, 1.4fr) minmax(150px, 0.8fr);
		width: min(100% - 32px, 860px);
		column-gap: 1.25rem;
	}
	.about-intro__building {
		width: 210px;
		margin-right: 0;
	}
	.about-intro__content h1 {
		font-size: clamp(2.5rem, 6vw, 3.5rem);
	}
	.about-intro__material-board {
		width: 250px;
		margin-top: -5rem;
		transform: translateX(0);
	}
	.about-intro__render {
		width: 190px;
		margin-top: -1rem;
		transform: translateX(0);
	}
	.about-founder__layout {
		grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
		width: min(100% - 40px, 800px);
		gap: clamp(2.5rem, 6vw, 5rem);
	}
	.about-founder__portrait {
		width: 100%;
		min-height: 405px;
	}
	.about-approach__ornament {
		left: 7vw;
		width: 72px;
		height: 280px;
	}
	.about-galleries__images {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.about-press__logos {
		gap: 1.25rem;
	}
}

@media (max-width: 600px) {
	.about-page {
		font-size: 0.92rem;
	}
	.about-page .about-intro {
		padding: 4.5rem 0 5rem;
		background: #fff;
	}
	.about-intro__canvas {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas:
			"building"
			"content"
			"material"
			"render";
		width: min(100% - 32px, 480px);
		row-gap: 2.25rem;
	}
	.about-intro__building {
		justify-self: center;
		width: min(62vw, 230px);
		margin: 0 0 1rem;
	}
	.about-intro__building img {
		height: 150px;
	}
	.about-intro__content h1 {
		margin-bottom: 2.25rem;
		font-size: clamp(2.15rem, 10vw, 3.25rem);
		line-height: 1.14;
		letter-spacing: 0.02em;
	}
	.about-intro__copy {
		font-size: 0.88rem;
	}
	.about-intro__material-board,
	.about-intro__render {
		justify-self: center;
		width: min(86vw, 360px);
		margin: 0;
		transform: none;
	}
	.about-intro__render {
		width: min(68vw, 280px);
	}
	.about-founder {
		padding: 5rem 0 6rem;
	}
	.about-founder__layout {
		grid-template-columns: 1fr;
		width: min(100% - 32px, 480px);
		gap: 3rem;
	}
	.about-founder__portrait {
		justify-self: center;
		width: min(78vw, 300px);
		min-height: 440px;
		margin: 0;
	}
	.about-founder__portrait::before {
		display: none;
	}
	.about-founder__content {
		text-align: left;
	}
	.about-founder__content h2 {
		margin-bottom: 1.75rem;
	}
	.about-founder__trade-note {
		width: min(100% - 32px, 480px);
		margin-top: 4rem;
	}
	.about-page .about-approach {
		min-height: 560px;
	}
	.about-approach__ornament {
		top: -6rem;
		left: -1rem;
		width: 54px;
		height: 210px;
	}
	.about-approach__content {
		width: min(100% - 32px, 480px);
		padding: 7rem 0 4rem;
	}
	.about-approach__content h2 {
		font-size: clamp(2.1rem, 10vw, 3rem);
	}
	.about-galleries {
		padding: 6rem 0;
	}
	.about-galleries__inner {
		width: min(100% - 32px, 480px);
	}
	.about-galleries__images {
		grid-template-columns: 1fr;
		width: min(82vw, 350px);
		gap: 0.75rem;
	}
	.about-galleries__images img {
		aspect-ratio: 4 / 3;
	}
	.about-galleries__content h2 {
		font-size: clamp(2rem, 10vw, 3rem);
	}
	.about-press {
		margin-top: 5rem;
	}
	.about-press__logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-items: center;
		row-gap: 2.5rem;
		white-space: normal;
	}
	.about-cta {
		min-height: 400px;
	}
	.about-cta__content {
		width: min(100% - 32px, 480px);
	}
	.about-cta__content h2 {
		font-size: clamp(2.4rem, 12vw, 3.6rem);
	}
}

@media (prefers-reduced-motion: reduce) {
	.primary-navigation,
	.project-card__media img,
	.button,
	.menu-toggle__icon,
	.menu-toggle__icon::before,
	.menu-toggle__icon::after {
		transition: none !important;
	}
}

/* About page reflow below the fixed 1200px desktop canvas. */
@media (max-width: 900px) {
	.about-page {
		padding-top: 64px;
		overflow: hidden;
	}
	.about-page .button {
		position: static;
		width: 180px;
		height: 52px;
		margin: 24px auto 0;
		transform: none;
	}
	.about-intro {
		height: auto;
		min-height: 0;
		padding: 0 24px 90px;
	}
	.about-intro__canvas {
		display: flex;
		width: min(100%, 680px);
		height: auto;
		flex-direction: column;
		align-items: center;
	}
	.about-intro__building {
		position: static;
		width: min(360px, 58vw);
		height: auto;
		margin: 0 0 70px auto;
	}
	.about-intro__building img {
		height: auto;
		aspect-ratio: 360 / 254;
	}
	.about-intro__content {
		position: static;
		width: 100%;
		transform: none;
	}
	.about-intro__content h1 {
		height: auto;
		font-size: clamp(38px, 7vw, 58px);
		line-height: 1.25;
		letter-spacing: 2px;
	}
	.about-intro__copy {
		width: min(100%, 560px);
		margin-top: 42px;
		font-size: 14px;
		line-height: 27px;
		letter-spacing: 0.4px;
	}
	.about-founder {
		height: auto;
		padding: 80px 24px 100px;
	}
	.about-intro__material-board,
	.about-intro__render {
		display: none;
	}
	.about-founder__layout {
		display: grid;
		width: min(100%, 720px);
		height: auto;
		grid-template-columns: minmax(240px, 0.8fr) minmax(300px, 1fr);
		gap: 48px;
	}
	.about-founder__portrait {
		position: relative;
		top: auto;
		left: auto;
		width: 100%;
		height: auto;
		min-height: 410px;
	}
	.about-founder__ornament {
		display: none;
	}
	.about-founder__content {
		position: static;
		width: auto;
	}
	.about-founder__content h2 {
		width: 100%;
		height: auto;
		margin-bottom: 32px;
	}
	.about-founder__content p {
		font-size: 14px;
		line-height: 27px;
	}
	.about-founder__trade-note {
		position: static;
		width: min(100%, 720px);
		height: auto;
		margin: 72px auto 0;
		transform: none;
		font-size: 14px;
		line-height: 27px;
		text-align: left;
	}
	.about-approach-bumper {
		display: block;
		height: 0;
		background: transparent;
	}
	.about-approach-bumper::before,
	.about-approach-bumper::after,
	.about-approach-bumper > span {
		display: none;
	}
	.about-approach {
		height: auto;
		min-height: 570px;
	}
	.about-approach__background {
		height: 100%;
	}
	.about-approach__ornament {
		top: -170px;
		left: 8vw;
		width: 74px;
		height: 360px;
	}
	.about-approach__content {
		width: min(100% - 48px, 680px);
		height: auto;
		padding: 130px 0 80px;
	}
	.about-approach__content h2,
	.about-approach__content p {
		position: static;
		width: 100%;
		height: auto;
	}
	.about-approach__content h2 {
		font-size: clamp(38px, 7vw, 58px);
		line-height: 1.2;
	}
	.about-approach__content p {
		margin-top: 34px;
		font-size: 14px;
		line-height: 27px;
		letter-spacing: 0.7px;
	}
	.about-approach__content p + p {
		margin-top: 0;
	}
	.about-galleries {
		height: auto;
		padding: 100px 24px 90px;
	}
	.about-galleries__inner {
		width: min(100%, 720px);
		height: auto;
	}
	.about-galleries__images {
		position: static;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		height: auto;
		gap: 8px;
	}
	.about-galleries__images figure,
	.about-galleries__images img {
		width: 100%;
		height: auto;
		aspect-ratio: 303 / 403;
	}
	.about-galleries__content p,
	.about-galleries__content h2 {
		position: static;
		width: 100%;
		height: auto;
	}
	.about-galleries__content p {
		margin-top: 58px;
		font-size: 26px;
		line-height: 1.5;
	}
	.about-galleries__content h2 {
		margin-top: 8px;
		font-size: 44px;
		line-height: 1.5;
	}
	.about-press {
		height: auto;
		padding: 56px 24px 100px;
	}
	.about-press h3 {
		position: static;
		width: min(100%, 720px);
		height: auto;
		margin: 0 auto 55px;
	}
	.about-press__logos {
		display: grid;
		width: min(100%, 720px);
		margin: 0 auto;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: center;
		gap: 28px;
	}
	.about-press__logos > * {
		position: static;
		width: 100%;
		height: 80px;
		max-height: 80px;
		object-fit: contain !important;
	}
	.about-cta {
		height: auto;
		min-height: 460px;
	}
	.about-cta__background {
		top: -50%;
		height: 180%;
		object-fit: cover;
	}
	.about-cta__content {
		width: min(100% - 48px, 680px);
		height: auto;
		padding: 110px 0 80px;
	}
	.about-cta__content p,
	.about-cta__content h2 {
		position: static;
		width: 100%;
		height: auto;
	}
	.about-cta__content p {
		font-size: 15px;
		line-height: 1.7;
	}
	.about-cta__content h2 {
		margin-top: 14px;
		font-size: clamp(46px, 8vw, 68px);
		line-height: 1.2;
	}
}

@media (max-width: 600px) {
	.about-page {
		padding-top: 40px;
	}
	.about-intro {
		padding-inline: 16px;
	}
	.about-intro__building {
		width: min(250px, 70vw);
		margin-right: 0;
		margin-bottom: 54px;
	}
	.about-intro__content h1 br {
		display: none;
	}
	.about-founder {
		padding: 70px 16px 80px;
	}
	.about-founder__layout {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.about-founder__portrait {
		width: min(100%, 340px);
		min-height: 392px;
		margin: 0 auto;
	}
	.about-founder__content .button {
		display: flex;
	}
	.about-galleries {
		padding-inline: 16px;
	}
	.about-galleries__images {
		grid-template-columns: 1fr;
		width: min(100%, 340px);
		margin: 0 auto;
		gap: 12px;
	}
	.about-galleries__images figure,
	.about-galleries__images img {
		aspect-ratio: 4 / 3;
	}
	.about-press__logos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 38px 28px;
	}
	.about-press__logos > * {
		height: 70px;
		max-height: 70px;
	}
}

/* Contact page — source 320px mobile composition. */
@media (max-width: 768px) {
	.contact-page {
		padding-top: 33px;
		overflow: hidden;
	}
	.contact-bumper {
		height: 60px;
	}
	.contact-callout {
		height: 90px;
		overflow: visible;
	}
	.contact-callout__canvas,
	.contact-intro__canvas,
	.contact-stage__canvas {
		width: min(320px, 100%);
	}
	.contact-callout__rule {
		top: 27px;
		left: 72px;
		width: 269px;
	}
	.contact-callout__block {
		top: -47px;
		left: 243px;
		width: 77px;
		height: 95px;
	}
	.contact-callout__note {
		top: -34px;
		left: 248px;
		width: 75px;
		height: 69px;
		transform: rotate(-9deg);
		font-size: 24px;
		line-height: 1;
	}
	.contact-callout__note > span:first-child {
		display: none;
	}
	.contact-intro {
		height: 280px;
		overflow: visible;
	}
	.contact-intro h1 {
		top: 63px;
		left: 49px;
		width: 223px;
		height: 82px;
		font-size: 20px;
		line-height: 30px;
		letter-spacing: 1px;
	}
	.contact-intro__prompt {
		top: 170px;
		left: 56px;
		width: 209px;
		height: 31px;
		font-size: 8px;
		line-height: 14px;
		letter-spacing: 0.4px;
	}
	.contact-intro__arrow {
		top: 211px;
		left: 151px;
		width: 30px;
		height: 30px;
		border-width: 1px;
	}
	.contact-intro__arrow::before {
		top: 7px;
		left: 14px;
		width: 1px;
		height: 13px;
	}
	.contact-intro__arrow::after {
		bottom: 8px;
		left: 11px;
		width: 6px;
		height: 6px;
		border-width: 0 1px 1px 0;
	}
	.contact-intro__staircase {
		top: 211px;
		left: 19px;
		width: 82px;
		height: 96px;
	}
	.contact-intro__approach {
		top: -80px;
		left: 100px;
		width: 120px;
		height: 100px;
	}
	.contact-intro__living {
		top: 234px;
		left: 240px;
		width: 110px;
		height: 137px;
	}
	.contact-stage {
		height: 760px;
		background-position: right top;
	}
	.contact-stage .contact-stage__form {
		top: 76px;
		left: 9px;
		width: 303px;
		height: 568px;
	}
	.contact-stage__field {
		left: 0;
		width: 303px;
	}
	.contact-stage__field--name {
		top: 0;
		height: 28px;
	}
	.contact-stage__field--phone {
		top: 39px;
		height: 28px;
	}
	.contact-stage__field--email {
		top: 78px;
		height: 28px;
	}
	.contact-stage__field--details {
		top: 118px;
		height: 193px;
	}
	.contact-stage .contact-stage__field input,
	.contact-stage .contact-stage__field textarea {
		min-height: 0;
		padding: 0 14px;
		font-size: 8px;
		line-height: 14px;
		letter-spacing: 0.8px;
	}
	.contact-stage .contact-stage__field textarea,
	.contact-stage .contact-stage__field--communication textarea {
		padding-top: 6px;
	}
	.contact-stage .contact-stage__field--details textarea {
		padding: 7px 17px;
	}
	.contact-stage .contact-stage__submit {
		top: 324px;
		left: 1px;
		width: 303px;
		height: 37px;
		min-height: 0;
		font-size: 12px;
		line-height: 22px;
		letter-spacing: 1.2px;
	}
	.contact-success__panel {
		padding: 48px 24px 40px;
	}
	.contact-stage__social {
		top: 669px;
		left: 86px;
		width: 150px;
		height: 15px;
		font-size: 12px;
		line-height: 15px;
	}
}

@media (min-width: 769px) and (max-width: 1199px) {
	.contact-intro h1 {
		left: 17.4167%;
		width: 65.25%;
		font-size: clamp(46px, 5.834vw, 70px);
	}
	.contact-intro__prompt {
		left: 35.25%;
	}
	.contact-intro__arrow {
		left: 46.5833%;
	}
	.contact-intro__staircase {
		left: 1.6667%;
	}
	.contact-intro__approach {
		left: 58.6667%;
	}
	.contact-intro__living {
		left: 78.4167%;
	}
	.contact-stage .contact-stage__form {
		left: 50%;
		transform: translateX(-50%);
	}
}

@media (max-width: 991px) {
	.projects-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px;
	}
}

@media (max-width: 767px) {
	.projects-list-section {
		padding: 48px 0 72px;
	}
	.projects-list {
		grid-template-columns: 1fr;
		width: min(calc(100% - 32px), 600px);
		row-gap: 48px;
	}
	.projects-list .project-card__body h2 {
		font-size: 20px;
	}
	.projects-list .project-card__body p {
		font-size: 14px;
	}
}

@media (max-width: 991px) {
	.services-hero {
		height: auto;
		padding: 72px 0 90px;
	}
	.services-hero__image {
		height: auto;
		aspect-ratio: 1200 / 807;
	}
	.services-hero__intro {
		position: relative;
		top: auto;
		right: auto;
		margin: 24px 4vw 0 auto;
	}
	.services-hero__slash {
		bottom: -62px;
		left: 7vw;
		width: 330px;
		height: 86px;
	}
	.services-mission {
		height: auto;
		padding-block: 110px 135px;
	}
	.services-mission__inner {
		margin-inline: auto;
	}
	.services-mission h2 {
		width: 100%;
		height: auto;
		line-height: 1.2;
	}
	.services-mission p {
		width: 100%;
		height: auto;
	}
	.services-offerings {
		height: auto;
		padding-block: 125px 120px;
	}
	.services-offerings__heading {
		margin-bottom: 0;
	}
	.services-offerings__heading h2 {
		height: auto;
		font-size: clamp(48px, 7.2vw, 60px);
		line-height: 1.2;
	}
	.services-offerings__heading p {
		height: auto;
	}
	.services-offerings__intro {
		height: auto;
		margin: 48px auto 0;
	}
	.services-offerings__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 60px;
		gap: 18px;
	}
	.services-card {
		width: 100%;
	}
	.services-card__image {
		width: 100%;
		height: auto;
		aspect-ratio: 19 / 16;
	}
	.services-card__body {
		width: 100%;
	}
	.services-card h3 {
		width: 100%;
		font-size: 18px;
	}
	.services-card p {
		left: 10%;
		width: 80%;
	}
	.services-card__link {
		left: calc(50% - 95px);
	}
	.services-card__dots {
		left: calc(50% + 15px);
	}
	.services-process {
		padding-inline: 18px;
	}
	.services-process__intro {
		margin-right: auto;
		margin-left: auto;
	}
	.services-process__discovery {
		left: 50%;
		width: min(321px, 100%);
		transform: translateX(-50%);
	}
	.services-process__timeline {
		width: min(100%, 900px);
	}
	.services-process__item {
		height: auto;
		min-height: 380px;
		padding-inline: 20px;
		column-gap: 72px;
	}
	.services-process__item--with-image {
		height: auto;
		min-height: 510px;
	}
	.services-process__copy {
		max-width: 360px;
	}
	.services-process__continuation {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 24px;
	}
	.services-process__image {
		right: 8px;
		width: 330px;
		height: 360px;
	}
	.services-process__item:nth-child(even) .services-process__image {
		right: auto;
		left: 8px;
	}
	.services-process__image--round {
		width: 300px;
		height: 300px;
	}
	.services-process__image--wide {
		width: 380px;
		height: 310px;
	}
	.services-process__note {
		width: 230px;
		font-size: 20px !important;
	}
	.services-process__opening-accent {
		top: -31px;
		left: calc(50% + 119px);
		width: 193px;
		height: 161px;
	}
	.services-process__opening-image {
		left: calc(50% + 150px);
		width: 280px;
		height: 280px;
	}
	.services-process__visual {
		transform: scale(0.75);
		transform-origin: top left;
	}
	.services-reading__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px;
	}
	.services-reading__card img {
		width: 100%;
		height: auto;
		aspect-ratio: 55 / 46;
	}
}

@media (max-width: 767px) {
	.services-page p {
		font-size: 14px;
	}
	.services-button {
		width: auto;
		min-width: 150px;
	}
	.services-hero {
		padding: 46px 0 72px;
	}
	.services-hero__canvas {
		width: min(calc(100% - 32px), 600px);
	}
	.services-hero__image {
		aspect-ratio: 1 / 1;
		object-position: 34% top;
	}
	.services-hero__intro {
		width: min(100%, 390px);
		margin: 28px auto 0;
		text-align: center;
	}
	.services-hero__intro h1 {
		height: auto;
		font-size: clamp(28px, 8vw, 38px);
	}
	.services-hero__slash {
		bottom: -34px;
		left: -38px;
		width: 220px;
		height: 58px;
	}
	.services-mission {
		padding: 82px 20px 96px;
	}
	.services-mission__copy {
		text-align: left;
	}
	.services-mission h2 {
		margin-bottom: 30px;
		font-size: clamp(36px, 10vw, 49px);
	}
	.services-offerings {
		padding: 92px 16px 88px;
	}
	.services-offerings__heading {
		margin-bottom: 58px;
	}
	.services-offerings__heading h2 {
		font-size: clamp(42px, 13vw, 61px);
	}
	.services-offerings__heading p {
		font-size: 10px;
	}
	.services-offerings__intro {
		margin: 42px auto 0;
		text-align: left;
	}
	.services-offerings__grid {
		grid-template-columns: 1fr;
		width: min(100%, 480px);
		gap: 58px;
	}
	.services-card__image {
		aspect-ratio: 19 / 16;
		margin: 0;
	}
	.services-card h3 {
		min-height: 0;
		font-size: 18px;
	}
	.services-process {
		padding: 92px 20px 80px;
	}
	.services-process__intro {
		margin-bottom: 68px;
	}
	.services-process__intro h2 {
		width: 100%;
		height: auto;
		font-size: clamp(44px, 13vw, 62px);
		line-height: 1.2;
		white-space: normal;
	}
	.services-process__intro > p:not(.services-kicker) {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 24px;
	}
	.services-process__discovery {
		position: static;
		width: min(100%, 321px);
		margin: 30px auto 0;
		transform: none;
	}
	.services-process__opening-image {
		position: static;
		width: min(100%, 340px);
		height: auto;
		margin: 34px auto 0;
		aspect-ratio: 1 / 1;
	}
	.services-process__opening-accent {
		display: none;
	}
	.services-process__timeline::before {
		display: none;
	}
	.services-page .services-process__item,
	.services-page .services-process__item--with-image {
		display: block;
		height: auto;
		min-height: 0;
		margin-bottom: 82px;
		padding: 0 0 0 48px;
	}
	.services-process__number {
		top: -2px;
		left: 0;
		transform: none;
	}
	.services-process__item:nth-child(n) .services-process__number {
		top: -2px;
		left: 0;
	}
	.services-process__copy,
	.services-process__item:nth-child(even) .services-process__copy {
		width: 100%;
		max-width: none;
	}
	.services-page .services-process__item .services-process__copy {
		width: 100%;
		margin-left: 0;
	}
	.services-page .services-process__item .services-process__copy h3 {
		width: 100%;
		height: auto;
		font-size: 29px;
		white-space: normal;
	}
	.services-page .services-process__item .services-process__copy p {
		width: 100%;
		height: auto;
	}
	.services-process__image,
	.services-process__item:nth-child(even) .services-process__image,
	.services-process__image--round,
	.services-process__image--wide {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 28px;
		border-radius: 0;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	.services-process__image--round {
		border-radius: 50%;
		aspect-ratio: 1 / 1;
	}
	.services-process__visual,
	.services-process__visual--home-tour,
	.services-process__visual--programming,
	.services-process__visual--diagram,
	.services-process__visual--materials,
	.services-process__visual--bathrooms,
	.services-process__visual--rendering,
	.services-process__visual--floorplan,
	.services-process__visual--management,
	.services-process__visual--final {
		position: static;
		display: block;
		width: 100%;
		height: auto;
		margin-top: 28px;
		transform: none;
	}
	.services-process__visual img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	.services-process__visual--bathrooms {
		display: grid;
		grid-template-rows: none;
		gap: 16px;
	}
	.services-process__note,
	.services-process__item:nth-child(7) .services-process__note,
	.services-process__item:last-child .services-process__note {
		position: static;
		width: 100%;
		height: auto;
		margin-top: 24px;
		transform: none;
		font-size: 20px !important;
	}
	.services-reading {
		padding: 90px 16px 100px;
	}
	.services-reading__heading {
		margin-bottom: 54px;
	}
	.services-reading__heading h2 {
		font-size: clamp(42px, 13vw, 58px);
	}
	.services-reading__grid {
		grid-template-columns: 1fr;
		width: min(100%, 520px);
		margin-inline: auto;
		gap: 70px;
	}
	.services-reading__card h3 {
		min-height: 0;
		font-size: 29px;
	}
	.services-cta {
		height: 520px;
	}
	.services-cta__content {
		top: 0;
		width: calc(100% - 32px);
		transform: none;
	}
	.services-cta__content h2 {
		font-size: clamp(44px, 13vw, 62px);
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.services-process__item:nth-child(n) {
		padding-inline: 24px;
		column-gap: 72px;
	}
	.services-process__item:nth-child(n) .services-process__copy {
		width: min(100%, 350px);
	}
	.services-process__item:nth-child(n) .services-process__visual {
		max-width: 350px;
		transform: none;
	}
	.services-process__item:nth-child(2) .services-process__visual--home-tour {
		width: 330px;
		height: 249px;
	}
	.services-process__item:nth-child(3) .services-process__visual--proposal {
		width: 350px;
		height: 244px;
	}
	.services-process__item:nth-child(5) .services-process__visual--programming {
		width: 350px;
		height: 265px;
	}
	.services-process__item:nth-child(6) .services-process__visual--materials {
		width: 350px;
		height: 358px;
	}
	.services-process__item:nth-child(7) .services-process__visual--bathrooms {
		width: 330px;
		grid-template-rows: repeat(2, 212px);
	}
	.services-process__item:nth-child(7) {
		min-height: 590px;
	}
}

@media (max-width: 767px) {
	.services-page .services-process__item:nth-child(n) .services-process__visual {
		width: 100%;
		max-width: none;
		height: auto;
		grid-column: auto;
	}
	.services-page .services-process__item:nth-child(7) .services-process__visual--bathrooms {
		grid-template-rows: none;
	}
	.services-page .services-process__item:nth-child(n) .services-process__note {
		width: 100%;
		height: auto;
	}
}
