/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 1199px) {
	.hww-process-track {
		grid-template-columns: repeat(3, 1fr);
	}

	.hww-process-step:not(:last-child)::before {
		display: none;
	}

	.hww-step-title {
		min-height: 0;
	}

	.about-who-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.about-model-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.about-model-globe {
		order: -1;
		width: min(240px, 55vw);
		margin: 0 auto;
	}

	.about-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.about-why-card:last-child {
		grid-column: 1 / -1;
		max-width: 360px;
		justify-self: center;
		width: 100%;
	}

	.about-values-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.kpi-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.kpi-item:nth-child(4),
	.kpi-item:nth-child(5) {
		grid-column: span 1;
	}

	.capabilities-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.process-timeline {
		grid-template-columns: repeat(3, 1fr);
	}

	.process-step:nth-child(4),
	.process-step:nth-child(5) {
		grid-column: span 1;
	}

	.process-line {
		display: none;
	}

	.testimonial-card {
		flex: 0 0 calc(50% - 12px);
		min-width: calc(50% - 12px);
	}

	.footer-top {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 32px 24px;
	}

	.footer-brand {
		grid-column: 1 / -1;
	}
}

/* Mobile: below 768px */
@media (max-width: 767px) {
	:root {
		--section-padding: 48px 0;
	}

	.container {
		padding: 0 16px;
	}

	/* Header mobile menu */
	.menu-toggle {
		display: flex;
		z-index: 1001;
	}

	.main-navigation {
		position: fixed;
		top: 0;
		right: -100%;
		width: 280px;
		height: 100vh;
		background: rgba(5, 7, 10, 0.98);
		backdrop-filter: blur(16px);
		padding: calc(var(--header-height) + 24px) 32px 32px;
		transition: right var(--transition);
		border-left: 1px solid var(--color-border);
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.main-navigation.is-open {
		right: 0;
	}

	.header-partner-btn {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.partner-form-card {
		padding: 28px 20px;
	}

	.section-partner-hero {
		padding-top: 32px;
	}

	.hww-hero-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.hww-process-track {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.hww-process-step:not(:last-child)::before {
		display: none;
	}

	.hww-process-step {
		display: grid;
		grid-template-columns: 56px 1fr;
		grid-template-rows: auto auto auto;
		gap: 0 14px;
		text-align: left;
	}

	.hww-step-icon {
		grid-row: 1 / span 2;
		grid-column: 1;
		margin-bottom: 0;
	}

	.hww-step-number {
		grid-row: 1;
		grid-column: 2;
		margin-bottom: 4px;
	}

	.hww-step-title {
		grid-row: 2;
		grid-column: 2;
		min-height: 0;
		margin-bottom: 6px;
	}

	.hww-step-text {
		grid-row: 3;
		grid-column: 1 / -1;
	}

	.hww-roles-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.hww-roles-divider {
		padding-top: 0;
		order: 2;
	}

	.hww-details-grid {
		grid-template-columns: 1fr;
	}

	.hww-cta-banner {
		flex-direction: column;
		text-align: center;
		padding: 28px 22px;
	}

	.hww-cta-banner .btn-primary {
		width: 100%;
		justify-content: center;
	}

	.about-hero-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.about-story-grid {
		grid-template-columns: 1fr;
		max-width: 520px;
		margin: 0 auto;
	}

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

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

	.about-why-card:last-child {
		max-width: none;
	}

	.about-why-title {
		min-height: 0;
	}

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

	.about-cta-banner {
		flex-direction: column;
		text-align: center;
		padding: 28px 22px;
	}

	.about-cta-banner .btn-primary {
		width: 100%;
		justify-content: center;
	}

	.main-navigation .nav-menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.main-navigation .nav-menu li {
		width: 100%;
		border-bottom: 1px solid rgba(124, 58, 237, 0.12);
	}

	.main-navigation .nav-menu a {
		display: block;
		padding: 16px 0;
		font-size: 16px;
	}

	.menu-toggle.is-active .menu-toggle-bar:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	.menu-toggle.is-active .menu-toggle-bar:nth-child(2) {
		opacity: 0;
	}

	.menu-toggle.is-active .menu-toggle-bar:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	/* Hero */
	.section-hero {
		padding-top: calc(var(--header-height) + 32px);
		padding-bottom: 60px;
	}

	.hero-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.hero-content {
		order: 1;
	}

	.hero-visual {
		order: 2;
	}

	.hero-description {
		max-width: 100%;
	}

	/* Partners */
	.partners-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* KPI */
	.kpi-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.kpi-item {
		padding: 16px 8px;
	}

	/* Capabilities */
	.capabilities-grid {
		grid-template-columns: 1fr;
	}

	/* Process timeline — vertical stack */
	.process-timeline {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-top: 0;
	}

	.process-step {
		display: grid;
		grid-template-columns: 36px 1fr;
		grid-template-rows: auto auto;
		gap: 0 16px;
		text-align: left;
		padding-left: 8px;
		border-left: 2px solid var(--color-purple);
		padding-bottom: 24px;
	}

	.process-step:last-child {
		border-left-color: transparent;
	}

	.step-number {
		grid-row: 1;
		grid-column: 1;
		margin-bottom: 0;
		width: 32px;
		height: 32px;
		font-size: 13px;
	}

	.step-icon {
		grid-row: 1;
		grid-column: 2;
		justify-content: flex-start;
		margin-bottom: 8px;
	}

	.step-title {
		grid-row: 2;
		grid-column: 1 / -1;
		padding-left: 48px;
		margin-top: -28px;
		margin-bottom: 8px;
	}

	.step-details {
		grid-row: 3;
		grid-column: 1 / -1;
		padding-left: 48px;
	}

	/* Testimonials */
	.testimonial-card {
		flex: 0 0 100%;
		min-width: 100%;
	}

	.carousel-btn {
		display: none;
	}

	.carousel-track-wrapper {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}

	.carousel-track {
		gap: 16px;
	}

	.testimonial-card {
		scroll-snap-align: start;
	}

	/* CTA */
	.cta-banner {
		flex-direction: column;
		text-align: center;
		padding: 32px 24px;
	}

	.cta-headline {
		text-align: center;
	}

	/* Footer */
	.footer-top {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.footer-column {
		border-bottom: 1px solid rgba(124, 58, 237, 0.12);
		padding-bottom: 24px;
	}

	.footer-contact {
		border-bottom: none;
	}
}

/* Small mobile */
@media (max-width: 480px) {
	.partners-grid {
		grid-template-columns: 1fr;
	}

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

	.hero-title {
		font-size: 28px;
	}

	.section-title {
		font-size: 24px;
	}
}
