/* ==========================================================================
   Desktop polish — spacing, containers, rhythm (1200px+)
   Mobile untouched. No redesign — layout consistency only.
   ========================================================================== */

@media (min-width: 75rem) {
	:root {
		--container-max: 80rem; /* 1280px main */
		--container-content: 72rem; /* 1152px forms / focused content */
		--container-wide: 87.5rem; /* 1400px wide sections */
		--content-max: 48rem; /* 768px article column */
		--prose-max: 44rem; /* aligned with container--narrow */
		--space-section: 7.5rem; /* 120px standard sections */
		--space-section-lg: 10rem; /* 160px major / CTA sections */
		--space-section-sm: 5rem; /* 80px compact blocks */
		--desktop-card-pad: var(--space-6); /* 2.4rem cards */
		--desktop-grid-gap: var(--space-6);
		--page-hero-pad-top: var(--space-12);
		--page-hero-pad-bottom: var(--space-12);
	}

	/* ---- Containers ---- */
	.container {
		max-width: var(--container-max);
	}

	.container--hero {
		max-width: var(--container-max);
	}

	.container--narrow,
	.container--prose,
	.legal-page .container--prose,
	.services-page .container--prose,
	.about-page .container--prose {
		max-width: var(--prose-max);
	}

	.container--content,
	.discovery-main__container {
		max-width: var(--container-content);
	}

	.hub-page .container,
	.hub-page .hub-hero .container,
	.hub-page .hub-projects .container {
		max-width: var(--container-max);
	}

	/* ---- Section rhythm ---- */
	.section {
		padding-block: var(--space-section);
	}

	.section--cta,
	.section--cta-block {
		padding-block: var(--space-section-lg);
	}

	.section__header {
		margin-bottom: var(--space-12);
	}

	.section__eyebrow {
		margin-bottom: var(--space-4);
	}

	.section__lead {
		margin-top: var(--space-5);
		max-width: 38rem;
		line-height: 1.75;
	}

	/* ---- Typography spacing ---- */
	.heading-2,
	.section__title {
		margin-bottom: var(--space-5);
	}

	.heading-3,
	.card__title {
		margin-bottom: var(--space-4);
	}

	.card__text,
	.compare-card__list li,
	.service-block__description {
		line-height: 1.7;
		max-width: 42rem;
	}

	/* ---- Page heroes (top padding only; bottom clearance in hero-conversion.css) ---- */
	.hero,
	.hub-hero,
	.services-hero,
	.about-hero,
	.contact-hero,
	.process-hero,
	.blog-hub-hero,
	.blog-single-hero,
	.cs-hero,
	.legal-page__hero {
		padding-top: var(--page-hero-pad-top);
	}

	.hero__title,
	.hub-hero__title,
	.services-hero__title,
	.about-hero__title,
	.contact-hero__title,
	.process-hero__title,
	.blog-hub-hero__title,
	.cs-hero__headline {
		margin-bottom: var(--space-6);
		max-width: 52rem;
	}

	.hero__description,
	.hub-hero__sub,
	.services-hero__sub,
	.about-hero__sub,
	.contact-hero__sub,
	.process-hero__sub,
	.blog-hub-hero__sub,
	.cs-hero__sub {
		margin-bottom: var(--space-8);
		max-width: 40rem;
	}

	.hero__actions,
	.services-hero__actions,
	.about-hero__actions,
	.contact-hero__actions,
	.process-hero__actions,
	.hub-hero__actions,
	.blog-hub-hero__actions,
	.cs-hero__actions {
		margin-top: 0;
		margin-bottom: 0;
		gap: var(--space-4);
	}

	/* ---- Cards & grids ---- */
	.card--glass,
	.compare-card,
	.services-audience__card,
	.services-tech__item,
	.about-approach__card,
	.about-experience__expertise-item,
	.process-step__content,
	.process-duration__card,
	.contact-next__step,
	.testimonial,
	.cs-block,
	.cs-takeaway,
	.cs-card {
		padding: var(--desktop-card-pad);
	}

	.grid--expertise,
	.grid--testimonials,
	.portfolio-grid,
	.portfolio-grid--home,
	.portfolio-grid--hub,
	.compare-grid,
	.process-track,
	.about-approach__grid,
	.about-experience__expertise,
	.about-projects__grid,
	.about-tech__grid,
	.services-audience__grid,
	.services-tech__grid,
	.home-insights__grid,
	.blog-grid,
	.blog-related__grid {
		gap: var(--desktop-grid-gap);
		align-items: stretch;
	}

	.portfolio-card,
	.blog-card,
	.grid--expertise .card,
	.grid--testimonials .testimonial {
		height: 100%;
	}

	.portfolio-card__body,
	.blog-card__body {
		padding: var(--desktop-card-pad);
	}

	.service-block {
		padding: var(--space-10);
	}

	.services-list .container {
		gap: var(--space-8);
		max-width: 52rem;
	}

	/* ---- Homepage specifics ---- */
	.cta-block {
		padding: var(--space-16) var(--space-12);
	}

	.cta-block__title {
		margin-bottom: var(--space-5);
	}

	.cta-block__text {
		margin-bottom: var(--space-8);
		font-size: var(--text-lg);
		line-height: 1.75;
	}

	.section-services__footer,
	.section-process__footer,
	.home-insights__footer {
		margin-top: var(--space-10);
	}

	.home-insights__grid {
		margin-top: var(--space-10);
	}

	/* ---- Case studies ---- */
	.cs-layout,
	.case-study-layout {
		max-width: var(--container-max);
		gap: var(--space-10);
		padding-bottom: var(--space-section-lg);
	}

	.cs-sidebar__inner {
		padding: var(--desktop-card-pad);
	}

	.cs-details-grid {
		padding: var(--desktop-card-pad);
		margin-bottom: var(--space-10);
	}

	.cs-section__title,
	.cs-content h2 {
		margin-top: var(--space-12);
		margin-bottom: var(--space-5);
	}

	.cs-content h2:first-child,
	.cs-section:first-child .cs-section__title {
		margin-top: 0;
	}

	.cs-media,
	.cs-media--tech {
		margin-block: var(--space-8);
	}

	/* ---- Blog ---- */
	.blog-hub-body {
		padding-block: var(--space-10) var(--space-section);
	}

	.blog-hub-layout {
		gap: var(--space-10);
	}

	.blog-featured {
		padding-block: var(--space-10) var(--space-8);
	}

	.blog-featured__content {
		padding: var(--desktop-card-pad);
	}

	.blog-single-body {
		padding-block: var(--space-10) 0;
	}

	.article-layout {
		grid-template-columns: 13.75rem minmax(0, var(--content-max));
		gap: var(--space-10);
		max-width: calc(13.75rem + var(--space-10) + var(--content-max));
	}

	.article-layout--no-toc {
		max-width: var(--content-max);
	}

	.toc-sidebar {
		top: calc(var(--header-height) + var(--space-6));
	}

	.article-content,
	.blog-single-article {
		max-width: var(--content-max);
	}

	.blog-prose {
		font-size: 1.125rem;
		line-height: 1.8;
	}

	.blog-prose h2 {
		margin-top: var(--space-12);
		margin-bottom: var(--space-4);
	}

	.blog-prose h3 {
		margin-top: var(--space-10);
		margin-bottom: var(--space-3);
	}

	.blog-prose > * + * {
		margin-top: var(--space-6);
	}

	.blog-single-after {
		max-width: var(--content-max);
		margin-top: var(--space-12);
		padding-bottom: var(--space-section);
	}

	.blog-single-after .blog-related {
		margin-top: var(--space-12);
		padding-top: var(--space-10);
		border-top: 1px solid var(--color-border);
	}

	.blog-single-cta {
		padding-block: var(--space-section) var(--space-section-lg);
	}

	.blog-cta-wrap {
		margin: 0 auto;
		max-width: var(--prose-max);
	}

	.blog-cta--end {
		padding: var(--space-12) var(--space-10);
	}

	/* ---- Contact & forms ---- */
	.contact-main,
	.contact-trust,
	.contact-faq,
	.contact-next {
		padding-block: var(--space-section);
	}

	.contact-panel {
		padding: var(--space-10);
	}

	.contact-panel__layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
		gap: var(--space-12);
		align-items: start;
	}

	/* ---- About ---- */
	.about-hero__layout {
		gap: var(--space-12);
		align-items: center;
	}

	.about-layout {
		gap: var(--space-12);
		align-items: start;
	}

	/* ---- Legal ---- */
	.legal-page__body {
		padding-block: var(--space-section) var(--space-section-lg);
	}

	.legal-document {
		gap: var(--space-10);
	}

	.legal-document__section {
		padding-bottom: var(--space-8);
	}

	.legal-document__heading {
		margin-bottom: var(--space-5);
	}

	.legal-document__text {
		line-height: 1.8;
		max-width: var(--prose-max);
	}

	/* ---- FAQ ---- */
	.services-faq__list,
	.process-faq__list,
	.contact-faq__list {
		gap: var(--space-4);
	}

	.services-faq__question,
	.process-faq__question,
	.contact-faq__question {
		padding: var(--space-5) var(--space-6);
	}

	/* ---- Page CTAs ---- */
	.services-cta__inner,
	.about-cta__inner,
	.process-cta__inner,
	.contact-cta__inner {
		padding: var(--space-16) var(--space-12);
		gap: var(--space-6);
	}

	/* ---- Footer ---- */
	.pre-footer-cta {
		padding-block: var(--space-section-lg) var(--space-16);
	}

	.pre-footer-cta__inner {
		padding: var(--space-16) var(--space-12);
	}

	.site-footer {
		padding-block: var(--space-20) var(--space-10);
	}

	.site-footer__main {
		gap: var(--space-10);
		padding-bottom: var(--space-12);
		align-items: start;
	}

	.site-footer__bar {
		padding-top: var(--space-8);
		align-items: center;
	}

	.site-footer__legal-list {
		justify-content: flex-end;
		align-items: center;
	}

	/* ---- Project discovery ---- */
	.discovery-main {
		padding-block: var(--space-6) var(--space-section);
	}

	.discovery-trust {
		margin-bottom: var(--space-8);
	}

	.discovery-wizard__panel-head {
		margin-bottom: var(--space-6);
	}

	/* ---- Overflow QA ---- */
	html,
	body {
		overflow-x: clip;
	}

	.site-main,
	.container,
	.cs-layout,
	.case-study-layout,
	.article-layout {
		min-width: 0;
	}
}

/* 1280px+ — balanced side padding */
@media (min-width: 80rem) {
	:root {
		--container-pad: 2.5rem;
	}
}

/* 1440px+ */
@media (min-width: 90rem) {
	:root {
		--space-section: 8rem;
		--space-section-lg: 10rem;
	}
}

/* 1920px — prevent over-stretch on ultra-wide */
@media (min-width: 120rem) {
	.container,
	.cs-layout,
	.case-study-layout {
		max-width: var(--container-max);
	}

	.hub-page .container,
	.hub-page .hub-hero .container,
	.hub-page .hub-projects .container {
		max-width: var(--container-max);
	}
}
