
@media (max-aspect-ratio: 1/1) {
	.solutions-grid { grid-template-columns: 1fr; gap: 20px; }
	.brands-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.hero-content { padding: 72px 0; }
	.contact-grid { grid-template-columns: 1fr; gap: 32px; }
	.contact-map-section { order: 2; }
	.contact-info-section { order: 1; }
	.footer-grid { grid-template-columns: none }
	.contact-hero-title-card {background: var(--glass-bg);backdrop-filter: blur(5px);-webkit-backdrop-filter: blur(5px);border: 2px solid var(--color-gold);padding: 40px 20px;width: 70%;box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);}
	.gallery-tabs { gap: 8px; }
	.gallery-tab { flex: 1 1 calc(50% - 8px); text-align: center; padding: 10px 12px; font-size: 14px; }
	.gallery-panel { padding: 20px 16px 24px; }

	.projects-grid { gap: 12px; }
	.work-block { margin-bottom: 40px; }
	.work-block-index { font-size: 2.4rem; }
	.work-block-head { margin-bottom: 16px; padding-bottom: 14px; }
	.work-group-copy { padding: 20px 16px 24px; }
	.project-lightbox-nav { width: 40px; height: 40px; font-size: 26px; }
	.project-lightbox-prev { left: 8px; }
	.project-lightbox-next { right: 8px; }

	/* Visualizzatore AI */
	.viz-wizard-wrap { margin: 0 -2px; }
	.viz-wizard { padding: 20px; }
	.viz-stepper {
		flex-wrap: nowrap;
		gap: 6px;
		justify-content: center;
	}
	.viz-stepper li {
		flex: 0 0 auto;
		padding: 8px 4px;
		gap: 0;
		border-bottom-width: 2px;
	}
	.viz-step-label { display: none; }
	.viz-capture-actions, .viz-step-actions { flex-direction: column; }
	.viz-capture-actions .btn, .viz-step-actions .btn, .viz-confirm-info .btn { width: 100%; text-align: center; box-sizing: border-box; }
	.viz-frame-slider { grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 6px; }
	.viz-frame-nav { width: 34px; height: 34px; font-size: 24px; }
	.viz-frame-card { flex-basis: min(160px, 68vw); }
	.viz-confirm { flex-direction: column; align-items: stretch; }
	.viz-confirm-photo { max-width: 100%; }
	.viz-confirm-img { max-height: min(36vh, 280px); }
	.viz-confirm-info { max-width: 100%; }
	.viz-confirm-info .btn { width: 100%; text-align: center; box-sizing: border-box; }
	.viz-compare { max-height: min(48vh, 420px); }
	.viz-compare img { max-height: min(48vh, 420px); }
	.viz-wizard.has-review-gate { min-height: 0; }
	.viz-review-gate { padding: 16px 8px; align-items: flex-start; }
	.viz-review-stars { font-size: 34px; }
	.viz-review-actions { flex-direction: column; }
	.viz-review-actions .btn { width: 100%; text-align: center; box-sizing: border-box; }
}
