/* Responsive: ajustes por breakpoints e comportamento adaptativo. */

@media (max-width: 991.98px) {
	.site-navbar-container {
		min-height: 72px;
	}

	.site-navbar.is-compact .site-navbar-container {
		min-height: 60px;
	}

	.site-navbar-logo {
		height: 29px;
	}

	.site-navbar.is-compact .site-navbar-logo {
		height: 25px;
	}

	.site-navbar:not(.is-scrolled) {
		opacity: 0.98;
	}

	.site-navbar-collapse {
		margin-top: 0.65rem;
		padding: 0.7rem;
		border: 1px solid var(--solidia-line);
		border-radius: 0.8rem;
		background-color: rgba(255, 255, 255, 0.98);
	}

	.site-navbar-nav {
		gap: 0.3rem;
	}

	.site-navbar-link {
		padding: 0.62rem 0.65rem;
	}

	.site-navbar.is-compact .site-navbar-link {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}

	.site-navbar-actions {
		margin-top: 0.7rem;
		padding-top: 0.75rem;
		border-top: 1px solid var(--solidia-line);
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.55rem;
	}

	.site-login-link {
		padding: 0.18rem 0;
	}

	.site-btn-demo {
		width: 100%;
		text-align: center;
	}
}

@media (max-width: 991.98px) {
	.hero {
		min-height: auto;
		padding: 2.75rem 0 3.95rem;
		display: block;
	}

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

	.hero-shot,
	.hero-shot-inner {
		min-height: 360px;
	}

	.hero-op-card {
		width: min(200px, 46vw);
	}

	.hero-op-card--request {
		top: -10px;
		right: -10px;
	}

	.hero-op-card--os {
		left: -8px;
		bottom: 10px;
	}

	.hero-op-card--preventive {
		right: -12px;
		top: 52%;
	}

	.hero-proof {
		margin-top: 1.3rem;
	}

	.problem {
		padding: 0.9rem 0 3.45rem;
	}

	.problem-header {
		margin-bottom: 1.65rem;
	}

	.solution {
		padding: 0.9rem 0 3.75rem;
	}

	.solution-header {
		margin-bottom: 1.62rem;
	}

	.solution-copy {
		max-width: 100%;
	}

	.solution-copy::after {
		display: none;
	}

	.solution-shot,
	.solution-shot-inner {
		min-height: 340px;
	}

	.solution .solution-op-card {
		width: min(186px, 42vw);
		min-width: 154px;
	}

	.solution .solution-op-card--timeline {
		left: -10px;
		top: -8px;
	}

	.solution .solution-op-card--team {
		right: -12px;
		top: 40%;
	}

	.solution .solution-op-card--kpi {
		right: 4px;
		bottom: -10px;
	}

	.workflow {
		padding: 0.92rem 0 4rem;
	}

	.workflow-header {
		margin-bottom: 1.7rem;
	}

	.workflow-timeline {
		display: grid;
		gap: 0.78rem;
		overflow: visible;
		padding-bottom: 0.2rem;
	}

	.workflow-timeline::before,
	.workflow-timeline::after {
		display: none;
	}

	.workflow-node {
		min-width: 0;
	}

	.workflow-connector {
		padding-top: 0;
		padding-left: 0.3rem;
		justify-content: flex-start;
		flex-basis: auto;
	}

	.workflow-connector i {
		transform: rotate(90deg);
	}

	.workflow .workflow-node:nth-of-type(2n),
	.workflow .workflow-node:nth-of-type(3n) {
		padding-top: 0;
	}

	.workflow .workflow-item,
	.workflow .workflow-node:nth-of-type(2n) .workflow-item,
	.workflow .workflow-item:hover,
	.workflow .workflow-item:focus,
	.workflow .workflow-item:focus-within,
	.workflow .workflow-node.is-active .workflow-item {
		min-height: 0;
	}

	.platform {
		padding: 0.8rem 0 3.9rem;
	}

	.platform-header {
		margin-bottom: 1.5rem;
	}

	.platform .module-card {
		min-height: 276px;
	}

	.platform .module-op-fragment {
		display: none;
	}

	.segments {
		padding: 0.8rem 0 4rem;
	}

	.segments-header {
		margin-bottom: 1.5rem;
	}

	.benefits {
		padding: 0.8rem 0 4rem;
	}

	.benefits-header {
		margin-bottom: 1.5rem;
	}

	.mobile-app {
		padding: 0.8rem 0 4.1rem;
	}

	.mobile-app-header {
		margin-bottom: 1.5rem;
	}

	.mobile-app .mobile-app-content {
		padding: 0;
		background: none;
		display: block;
	}

	.mobile-app .device-mockup {
		transform: none;
	}

	.mobile-app .app-feature-list {
		padding-left: 0;
	}

	.mobile-app .app-feature-list::before,
	.mobile-app .app-feature-item::before {
		display: none;
	}

	.mobile-app .device-sync-badge {
		right: 0;
		top: 30px;
	}

	.device-mockup-screen {
		min-height: 430px;
	}

	.mobile-app .device-mockup-frame {
		width: min(264px, 100%);
	}

	.mobile-app .device-mockup-screen {
		min-height: 396px;
	}

	.indicators {
		padding: 0.8rem 0 4.1rem;
	}

	.indicators-header {
		margin-bottom: 1.5rem;
	}

	.dashboard-preview,
	.dashboard-preview-inner {
		min-height: 320px;
	}

	.indicators .dashboard-preview {
		min-height: 438px;
		padding: 0.56rem;
	}

	.indicators .dashboard-preview-inner {
		min-height: 420px;
		padding: 0.72rem;
	}

	.indicators .dashboard-shot-frame {
		min-height: 312px;
	}

	.indicators .kpi-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.74rem;
	}

	.testimonials {
		padding: 0.8rem 0 4.2rem;
	}

	.testimonials-header {
		margin-bottom: 1.5rem;
	}

	.testimonials .testimonial-card {
		padding: 1.02rem 1.04rem 1rem;
	}

	.testimonials .testimonial-quote-mark {
		font-size: clamp(4.2rem, 9vw, 6.2rem);
		top: -0.2rem;
		right: 0.8rem;
	}

	.testimonials .testimonial-photo,
	.testimonials .testimonial-photo-placeholder {
		width: 64px;
		height: 64px;
	}

	.testimonials .company-logos {
		gap: 0.6rem 1rem;
	}

	.pricing {
		padding: 0.8rem 0 4.3rem;
	}

	.pricing-header {
		margin-bottom: 1.5rem;
	}

	.pricing .pricing-evolution {
		margin-bottom: 0.78rem;
	}

	.pricing .pricing-grid::before {
		left: 9%;
		right: 9%;
	}

	.pricing .pricing-card {
		padding: 0.98rem 0.96rem 0.94rem;
	}

	.pricing .pricing-card.is-recommended {
		transform: translateY(-5px);
	}

	.pricing .pricing-footer-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.faq {
		padding: 0.8rem 0 4.4rem;
	}

	.faq-header {
		margin-bottom: 1.35rem;
	}

	.faq .faq-surface {
		padding: 0.92rem 0.88rem;
	}

	.faq .faq-trigger {
		padding: 0.95rem 0.94rem;
	}

	.faq .faq-answer {
		padding: 0.14rem 0.94rem 0.9rem 1.14rem;
	}

	.final-cta {
		padding: 1rem 0 4.9rem;
	}

	.final-cta-header {
		margin-bottom: 1.2rem;
	}

	.final-cta .final-cta-surface {
		padding: 1.82rem 1.18rem;
	}

	.final-cta .final-cta-floating {
		opacity: 0.86;
	}

	.final-cta .final-cta-float-card--a {
		left: 0.96rem;
		top: 1.8rem;
	}

	.final-cta .final-cta-float-card--b {
		right: 1rem;
		top: 2.14rem;
	}

	.final-cta .final-cta-float-card--c {
		right: 1.32rem;
		bottom: 1.54rem;
	}

	.final-cta-button-group {
		justify-content: center;
	}

	.site-footer .site-footer-social-link {
		width: 2.06rem;
		height: 2.06rem;
	}

	.site-footer {
		padding: 2rem 0 1.2rem;
	}

	.site-footer-top {
		margin-bottom: 1.1rem;
	}

	.site-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 575.98px) {
	.hero {
		padding: 2.15rem 0 3.15rem;
	}

	.hero-title {
		line-height: 1.08;
	}

	.hero-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 0.62rem;
	}

	.btn-hero-primary,
	.btn-hero-secondary {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.hero-shot,
	.hero-shot-inner {
		min-height: 280px;
	}

	.hero-shot {
		border-radius: 20px;
	}

	.hero-shot-inner {
		border-radius: 16px;
	}

	.hero-op-card {
		width: min(180px, 56vw);
		min-width: 160px;
		padding: 0.54rem 0.58rem;
	}

	.hero-op-card-title {
		font-size: 0.78rem;
	}

	.hero-op-card-subtitle {
		font-size: 0.74rem;
	}

	.hero-op-card--request {
		right: -6px;
		top: -8px;
	}

	.hero-op-card--os {
		left: -6px;
		bottom: 6px;
	}

	.hero-op-card--preventive {
		right: -8px;
		top: 56%;
	}

	.hero-proof {
		margin-top: 1.05rem;
	}

	.problem {
		padding: 0.72rem 0 2.8rem;
	}

	.problem-card {
		padding: 1.02rem;
	}

	.problem-summary {
		margin-top: 1.15rem;
	}

	.solution {
		padding: 0.72rem 0 2.98rem;
	}

	.solution-header {
		margin-bottom: 1.4rem;
	}

	.solution-highlight {
		padding: 0.98rem;
	}

	.solution-shot,
	.solution-shot-inner {
		min-height: 260px;
	}

	.solution .solution-op-fragments {
		display: none;
	}

	.solution-summary {
		margin-top: 1.12rem;
	}

	.workflow {
		padding: 0.72rem 0 3.08rem;
	}

	.workflow-header {
		margin-bottom: 1.28rem;
	}

	.workflow-item {
		padding: 0.95rem;
	}

	.workflow-summary {
		margin-top: 1.15rem;
	}

	.platform {
		padding: 0.65rem 0 3rem;
	}

	.platform-header {
		margin-bottom: 1.2rem;
	}

	.module-card {
		padding: 0.92rem;
	}

	.platform .module-op-fragment {
		display: none;
	}

	.platform .module-card-shot {
		min-height: 96px;
	}

	.module-card-text {
		min-height: 0;
	}

	.platform-summary {
		margin-top: 1rem;
	}

	.segments {
		padding: 0.65rem 0 3.1rem;
	}

	.segments-header {
		margin-bottom: 1.2rem;
	}

	.segment-card {
		padding: 0.92rem;
	}

	.segments .segment-card {
		min-height: 0;
	}

	.segments .segment-card-shot {
		min-height: 96px;
	}

	.segment-card-note {
		opacity: 1;
		max-height: none;
	}

	.segments .segments-cta-wrap {
		width: 100%;
	}

	.segments-cta {
		width: 100%;
	}

	.benefits {
		padding: 0.65rem 0 3.1rem;
	}

	.benefits-header {
		margin-bottom: 1.2rem;
	}

	.benefit-card {
		padding: 0.92rem;
	}

	.benefits .benefit-card {
		min-height: 0;
	}

	.benefits .benefit-card-evidence {
		min-height: 96px;
	}

	.benefits .benefit-card-indicator {
		opacity: 1;
		transform: none;
	}

	.benefit-card-text {
		min-height: 0;
	}

	.benefits-summary {
		margin-top: 1rem;
	}

	.mobile-app {
		padding: 0.65rem 0 3.2rem;
	}

	.mobile-app-header {
		margin-bottom: 1.2rem;
	}

	.device-mockup {
		margin-bottom: 0.35rem;
	}

	.device-mockup-frame {
		width: min(290px, 92vw);
	}

	.device-mockup-screen {
		min-height: 390px;
	}

	.mobile-app .device-mockup-screen {
		min-height: 410px;
	}

	.mobile-app .device-mockup-frame {
		width: min(250px, 88vw);
	}

	.mobile-app .app-feature-list {
		padding-left: 0;
	}

	.mobile-app .app-feature-list::before,
	.mobile-app .app-feature-item::before {
		display: none;
	}

	.mobile-app .device-sync-badge {
		display: none;
	}

	.app-feature-item {
		padding: 0.78rem;
	}

	.mobile-app-summary {
		margin-top: 1rem;
	}

	.indicators {
		padding: 0.65rem 0 3.2rem;
	}

	.indicators-header {
		margin-bottom: 1.2rem;
	}

	.dashboard-preview,
	.dashboard-preview-inner {
		min-height: 260px;
	}

	.indicators .dashboard-preview {
		min-height: 350px;
		padding: 0.46rem;
	}

	.indicators .indicators-content {
		display: block;
	}

	.indicators .dashboard-preview-inner {
		min-height: 334px;
		padding: 0.58rem;
		gap: 0.56rem;
	}

	.indicators .dashboard-shot-frame {
		min-height: 244px;
		padding: 0.86rem;
	}

	.indicators .dashboard-shot-placeholder {
		padding: 0.92rem 0.8rem;
	}

	.indicators .dashboard-preview-badge {
		white-space: normal;
	}

	.indicators .kpi-list {
		grid-template-columns: 1fr;
		gap: 0.6rem;
	}

	.kpi-item {
		padding: 0.78rem;
	}

	.indicators-summary {
		margin-top: 1rem;
	}

	.testimonials {
		padding: 0.65rem 0 3.3rem;
	}

	.testimonials-header {
		margin-bottom: 1.2rem;
	}

	.testimonial-card {
		padding: 0.95rem;
	}

	.testimonials .testimonial-card {
		padding: 0.92rem;
	}

	.testimonials .testimonial-head {
		gap: 0.72rem;
	}

	.testimonials .testimonial-photo,
	.testimonials .testimonial-photo-placeholder {
		width: 56px;
		height: 56px;
	}

	.testimonials .testimonial-quote-mark {
		font-size: clamp(3.6rem, 17vw, 4.8rem);
		right: 0.58rem;
		opacity: 0.82;
	}

	.testimonials .testimonial-quote {
		font-size: 0.95rem;
		line-height: 1.66;
	}

	.testimonials .testimonial-chip {
		font-size: 0.68rem;
	}

	.testimonials .company-logos {
		gap: 0.5rem 0.86rem;
	}

	.testimonials .company-logo-item {
		font-size: 0.76rem;
		letter-spacing: 0.02em;
	}

	.testimonials .testimonials-cta-title {
		font-size: 0.95rem;
	}

	.testimonials .testimonials-cta-text {
		font-size: 0.85rem;
	}

	.testimonial-quote {
		font-size: 0.92rem;
		padding-left: 0.75rem;
	}

	.testimonials-cta {
		width: 100%;
	}

	.pricing {
		padding: 0.65rem 0 3.35rem;
	}

	.pricing-header {
		margin-bottom: 1.2rem;
	}

	.pricing .pricing-evolution {
		grid-template-columns: 1fr;
		gap: 0.22rem;
		margin-bottom: 0.58rem;
	}

	.pricing .pricing-evolution::before,
	.pricing .pricing-grid::before,
	.pricing .pricing-evolution-arrow {
		display: none;
	}

	.pricing .pricing-evolution-step {
		min-height: 1.3rem;
		font-size: 0.64rem;
	}

	.pricing-card,
	.pricing-footer {
		padding: 0.95rem;
	}

	.pricing .pricing-card {
		padding: 0.9rem;
		gap: 0.8rem;
	}

	.pricing .pricing-card.is-recommended,
	.pricing .pricing-card.is-recommended:hover,
	.pricing .pricing-card:hover {
		transform: translateY(0);
	}

	.pricing .pricing-feature-item {
		grid-template-columns: 1.56rem 1fr;
		gap: 0.45rem;
	}

	.pricing .pricing-feature-icon {
		width: 1.56rem;
		height: 1.56rem;
	}

	.pricing .pricing-footer {
		padding: 0.84rem;
	}

	.pricing .pricing-footer-list {
		grid-template-columns: 1fr;
		gap: 0.42rem;
	}

	.pricing .pricing-footer-item {
		font-size: 0.75rem;
	}

	.pricing .pricing-cta-lead {
		font-size: 0.84rem;
	}

	.pricing-main-cta {
		width: 100%;
	}

	.faq {
		padding: 0.65rem 0 3.4rem;
	}

	.faq-header {
		margin-bottom: 1.15rem;
	}

	.faq .faq-support-badge {
		font-size: 0.64rem;
	}

	.faq .faq-surface {
		padding: 0.78rem;
		border-radius: 0.92rem;
	}

	.faq .faq-accordion {
		gap: 0.56rem;
	}

	.faq .faq-trigger {
		padding: 0.88rem 0.84rem;
		font-size: 0.92rem;
	}

	.faq .faq-answer {
		padding: 0.1rem 0.84rem 0.82rem 1.04rem;
		font-size: 0.85rem;
		line-height: 1.58;
	}

	.faq .faq-answer::before {
		left: 0.62rem;
	}

	.faq .faq-cta-title {
		font-size: 0.94rem;
	}

	.faq .faq-cta-text {
		font-size: 0.83rem;
	}

	.faq-trigger {
		padding: 0.8rem 0.88rem;
		font-size: 0.93rem;
	}

	.faq-answer {
		padding: 0 0.88rem 0.84rem;
	}

	.faq-cta {
		width: 100%;
	}

	.final-cta {
		padding: 0.82rem 0 3.7rem;
	}

	.final-cta-surface {
		padding: 1.2rem 0.95rem;
	}

	.final-cta .final-cta-surface {
		padding: 1.26rem 0.92rem;
	}

	.final-cta .final-cta-floating,
	.final-cta .final-cta-glow {
		display: none;
	}

	.final-cta .final-cta-title {
		font-size: clamp(1.5rem, 8vw, 1.86rem);
	}

	.final-cta .final-cta-subtitle {
		font-size: 0.9rem;
	}

	.final-cta .final-cta-assurance {
		font-size: 0.69rem;
		line-height: 1.46;
	}

	.final-cta-header {
		margin-bottom: 1rem;
	}

	.final-cta-button-group {
		display: grid;
		width: 100%;
		grid-template-columns: 1fr;
	}

	.final-cta-btn {
		width: 100%;
	}

	.module-grid > [class*="col-"]:nth-child(2n) .module-card {
		transform: none;
	}

	.site-footer {
		padding: 1.65rem 0 1rem;
	}

	.site-footer-logo {
		height: 31px;
	}

	.site-footer-link-list {
		margin-top: 0.58rem;
	}

	.site-footer-social {
		margin-top: 0.82rem;
	}

	.site-footer-social-link {
		width: 2rem;
		height: 2rem;
		padding: 0;
	}

	.site-footer-bottom {
		padding-top: 0.8rem;
		gap: 0.32rem;
		align-items: flex-start;
	}

	.contact-modal-layout {
		grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
	}

	.contact-modal-aside,
	.contact-modal-form-wrap {
		padding: 1.08rem;
	}

	.contact-modal-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 991.98px) {
	.site-navbar-link.is-active,
	.site-login-link.is-active {
		box-shadow: none;
	}

	.contact-modal {
		padding: 0.74rem;
	}

	.contact-modal-panel {
		max-height: 92vh;
	}

	.contact-modal-layout {
		grid-template-columns: 40% 60%;
	}

	.contact-modal-benefits {
		gap: 0.36rem;
	}
}

@media (max-width: 767.98px) {
	.contact-modal-layout {
		grid-template-columns: 1fr;
	}

	.contact-modal-aside {
		order: 1;
		border-right: 0;
		border-bottom: 1px solid rgba(18, 54, 109, 0.11);
	}

	.contact-modal-form-wrap {
		order: 2;
	}

	.contact-modal-title {
		font-size: 1.28rem;
	}

	.contact-modal-whatsapp {
		width: 100%;
	}

	.contact-modal-submit {
		width: 100%;
	}
}
