/* ==========================================================================
   Graphite Strategy — responsive rules
   ========================================================================== */

@media (max-width: 1200px) {
	.gs-container { padding: 0 24px; }
	.gs-section { padding: 90px 0; }
}

@media (max-width: 991px) {
	.gs-hero { padding: 140px 0 70px; align-items: flex-end; min-height: 88vh; }
	.gs-pillar { grid-template-columns: 50px 1fr; }
	.gs-service-row { padding: 48px 0; }
}

@media (max-width: 768px) {
	.gs-section { padding: 64px 0; }
	.gs-section-tight { padding: 48px 0; }
	.gs-doctrine-statement { margin-bottom: 48px; }
	.gs-mobile-overlay a { font-size: 26px; }
	.gs-hero-cta { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 480px) {
	.gs-container { padding: 0 18px; }
	.gs-hero { min-height: 82vh; padding: 120px 0 56px; }
	.gs-btn { width: 100%; justify-content: center; }
	.gs-hero-cta .gs-btn { width: 100%; }
}

/* Never allow horizontal scroll from wide editorial content */
html, body { max-width: 100%; overflow-x: hidden; }

/* Disable parallax / heavy transforms + custom cursor on touch/mobile */
@media (max-width: 991px), (hover: none) {
	.gs-parallax { transform: none !important; }
	.gs-cursor { display: none !important; }
}
