@media (max-width: 980px) {
	.hero,
	.home-hero,
	.about-hero,
	.about-panels,
	.work-hero,
	.work-grid,
	.services-hero,
	.services-stage,
	.services-process,
	.contact-hero,
	.contact-layout,
	.split-grid,
	.footer-grid,
	.service-grid,
	.project-grid,
	.home-featured-grid,
	.home-supporting,
	.home-supporting-stats,
	.gallery-grid,
	.process-grid ol {
		grid-template-columns: 1fr;
	}

	.home-hero-media {
		grid-template-columns: 1fr;
	}

	.home-hero-rail {
		min-height: auto;
		flex-direction: row;
		align-items: center;
		gap: 1rem;
	}

	.home-hero-rail span,
	.home-hero-rail small {
		writing-mode: horizontal-tb;
		transform: none;
	}

	.home-project-meta {
		min-height: 0;
	}

	.about-facts,
	.about-service-list {
		grid-template-columns: 1fr;
	}

	.services-hero,
	.contact-hero,
	.work-hero {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.work-grid {
		grid-template-columns: 1fr;
	}

	.work-grid .project-card-image {
		min-height: 0;
	}

	.services-cta {
		margin-top: 0.6rem;
	}

	.contact-direct {
		justify-items: start;
		text-align: left;
	}

	.about-visual {
		grid-template-columns: 1fr;
	}

	.about-visual-note {
		min-height: auto;
		flex-direction: row;
		gap: 1rem;
	}

	.about-visual-note span,
	.about-visual-note small {
		writing-mode: horizontal-tb;
		transform: none;
	}

	.home-supporting-stats > div {
		border-bottom: 1px solid var(--line);
	}

	.home-supporting-stats > div:last-child {
		border-bottom: 0;
	}

	.hero-placeholder {
		min-height: 320px;
	}

	.stats-row {
		grid-template-columns: 1fr;
	}

	.stats-row > div {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}

	.stats-row > div:last-child {
		border-bottom: 0;
	}

	/* Studio homepage tablet */
	.studio-horizontal-hero {
		height: 1400vh;
	}

	.studio-hero-sticky {
		position: sticky;
		top: 74px;
		height: calc(100vh - 74px);
		overflow: hidden;
	}

	.studio-hero-copy {
		position: absolute;
		left: clamp(0.8rem, 2vw, 1.2rem);
		top: clamp(1rem, 2.4vw, 1.6rem);
		width: min(74vw, 720px);
		margin-inline: 0;
		border-right: 0;
		border-bottom: 0;
		padding: 0;
	}

	.studio-headline {
		max-width: 9ch;
		font-size: clamp(3.7rem, 10vw, 6.8rem);
	}

	.studio-location {
		margin-bottom: 0.45rem;
	}

	.studio-location strong {
		font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	}

	.studio-cta {
		padding: 0.62rem 1rem;
		font-size: clamp(0.95rem, 1.5vw, 1.1rem);
	}

	.studio-image-stage {
		height: min(58vh, 560px);
		overflow: hidden;
	}

	.studio-image-stage::before {
		display: block;
		width: min(40vw, 360px);
	}

	.studio-image-track {
		position: absolute;
		display: block;
		padding: 0;
		width: 360vw;
		transform: translate3d(0, 0, 0);
		height: 100%;
	}

	.studio-image-item {
		position: absolute !important;
		left: var(--x) !important;
		top: auto !important;
		bottom: 0 !important;
		width: clamp(128px, 24vw, 240px) !important;
		height: clamp(128px, 24vw, 240px) !important;
		margin: 0 !important;
		align-self: auto !important;
		transform: scale(var(--scale, 1)) !important;
	}

	.studio-info-strip {
		grid-template-columns: 1fr 1fr;
	}

	.studio-info-links {
		grid-column: 1 / -1;
		flex-direction: row;
		align-items: flex-start;
		gap: 1.2rem;
	}
}

@media (max-width: 760px) {
	.menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 0;
		background: #fff;
		color: var(--text);
		min-width: 4.1rem;
		height: 2rem;
		padding: 0 0.7rem;
		font-family: 'Barlow Condensed', sans-serif;
		font-size: 0.95rem;
		font-weight: 700;
		line-height: 1;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}

	.menu-toggle[aria-expanded="true"] {
		background: var(--text);
		color: #fff;
	}

	.site-nav {
		position: fixed;
		inset: 74px 0 auto 0;
		z-index: 70;
		min-height: calc(100svh - 74px);
		background:
			linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.94) 100%);
		border-top: 0;
		padding: clamp(1.1rem, 5vw, 2rem) clamp(1rem, 5vw, 1.6rem);
		display: none;
		flex-direction: column;
		justify-content: flex-start;
		gap: 0;
	}

	.site-nav.open {
		display: flex;
	}

	.site-nav a {
		display: flex;
		align-items: center;
		min-height: clamp(4rem, 18vw, 6rem);
		border-bottom: 0;
		font-family: 'Barlow Condensed', sans-serif;
		font-size: clamp(3.1rem, 17vw, 6rem);
		font-weight: 800;
		line-height: 0.86;
		letter-spacing: -0.02em;
		color: var(--text);
	}

	.site-nav a:first-child {
		border-top: 0;
	}

	.two-col {
		grid-template-columns: 1fr;
	}

	.home-project-media {
		min-height: 320px;
	}

	.home-supporting-stats {
		grid-template-columns: 1fr;
	}

	/* Studio homepage mobile */
	.studio-headline {
		font-size: clamp(2.35rem, 10.2vw, 4.15rem);
		max-width: 10.8ch;
	}

	.studio-hero-copy {
		width: min(100% - 1.2rem, 760px);
		padding-bottom: 0.95rem;
	}

	.studio-location strong {
		font-size: clamp(1.05rem, 5.4vw, 1.45rem);
	}

	.studio-cta {
		padding: 0.72rem 1.08rem;
		font-size: 1.08rem;
	}

	.studio-sub {
		max-width: 34ch;
	}

	.studio-image-track {
		display: block;
		width: 360vw;
		gap: 0;
		padding: 0;
	}

	.work-grid {
		display: block;
		column-count: 2;
		column-gap: 0.72rem;
	}

	.work-grid .project-card {
		break-inside: avoid;
		margin-bottom: 0.72rem;
	}

	.work-grid .project-card-image {
		min-height: 0;
	}

	.work-grid .project-card--landscape .project-card-image,
	.work-grid .project-card--architecture .project-card-image {
		aspect-ratio: 16 / 10;
		min-height: 0;
	}

	.work-grid .project-card--portrait .project-card-image {
		aspect-ratio: 4 / 5;
		min-height: 0;
	}

	.work-grid .project-card--square .project-card-image {
		aspect-ratio: 1 / 1;
		min-height: 0;
	}

	.work-grid .project-card a {
		grid-template-rows: auto auto;
	}

	.work-grid .project-card-meta {
		min-height: 0;
		padding-top: 0.55rem;
	}

	.work-grid .project-card-meta h3 {
		font-size: clamp(0.95rem, 4.8vw, 1.2rem);
	}

	.work-grid .project-card-meta p {
		font-size: 0.62rem;
		gap: 0.32rem;
	}

	.about-summary {
		max-width: 100%;
	}

	.services-card,
	.services-process div {
		min-height: 0;
	}

	.contact-side-panel h2 {
		max-width: 100%;
	}

	.studio-image-item {
		position: absolute !important;
		left: var(--x) !important;
		top: auto !important;
		bottom: 0 !important;
		width: clamp(140px, 42vw, 250px) !important;
		height: clamp(140px, 42vw, 250px) !important;
		transform: scale(var(--scale, 1)) !important;
	}

	.studio-info-strip {
		grid-template-columns: 1fr;
		gap: 0.9rem;
		padding: 1.2rem 0 1.6rem;
	}

	.studio-info-links {
		flex-direction: column;
		align-items: flex-start;
	}
}
