/* Twinco Methodology Stages — port of methodology/MethodologyStages.tsx */
.elementor-widget-twinco_methodology_stages .elementor-widget-container { padding: 0; }
.twinco-stages { position: relative; width: 100%; overflow: hidden; background-color: var(--twinco-surface); font-family: var(--twinco-font-sans); }
.twinco-stages__frame { position: relative; margin-inline: auto; width: 100%; max-width: 1440px; padding: 80px; }
.twinco-stages__ribbon { pointer-events: none; position: absolute; left: 50%; top: 1px; height: 731px; width: 100vw; transform: translateX(-50%); overflow: hidden; }
.twinco-stages .twinco-stages__ribbon img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.twinco-stages__content { position: relative; display: flex; flex-direction: column; align-items: center; gap: 90px; }
.twinco-stages__heading { width: 100%; text-align: center; }
.twinco-stages__heading-blue { font-size: var(--twinco-text-h1); font-weight: 700; line-height: 1; color: var(--twinco-blue); }
.twinco-stages__heading-navy { font-size: var(--twinco-text-h1); font-weight: 400; line-height: 1; color: var(--twinco-navy); }

.twinco-stages__card { position: relative; display: flex; height: 700px; width: 1280px; max-width: 100%; flex-shrink: 0; flex-direction: column; align-items: flex-start; justify-content: center; overflow: hidden; border-radius: var(--twinco-radius-card); transition: transform 0.5s ease, box-shadow 0.5s ease; will-change: transform; }
.twinco-stages__card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px rgba(0, 0, 0, 0.3); }
.twinco-stages .twinco-stages__img { pointer-events: none; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; border-radius: var(--twinco-radius-card); object-fit: cover; transition: transform 0.7s ease; }
.twinco-stages__card:hover .twinco-stages__img { transform: scale(1.05); }
.twinco-stages__overlay { position: relative; display: flex; height: 700px; width: 1280px; max-width: 100%; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; overflow: clip; border-top-left-radius: var(--twinco-radius-card); border-bottom-left-radius: var(--twinco-radius-card); padding: 24px; background-image: linear-gradient(-89.895deg, rgba(0, 8, 45, 0) 6%, rgba(0, 8, 45, 0.5) 40%, rgba(0, 8, 45, 0.88) 66%, rgb(0, 8, 45) 88%); }
.twinco-stages__top { display: flex; width: 510px; max-width: 100%; flex-direction: column; align-items: flex-start; gap: 12px; word-break: break-word; }
.twinco-stages .twinco-stages__ol { display: block; width: 100%; list-style: decimal; font-size: 36px; font-weight: 700; line-height: 1; color: var(--twinco-gold); }
.twinco-stages .twinco-stages__ol li { margin-inline-start: 54px; }
.twinco-stages__ol li span { line-height: 1; }
.twinco-stages__subtitle { width: 100%; font-size: 20px; font-weight: 500; line-height: 1.2; color: #fff; }
.twinco-stages__divider { height: 1px; width: 510px; max-width: 100%; background: var(--twinco-gold); }
.twinco-stages__blocks { display: flex; width: 510px; max-width: 100%; flex-direction: column; align-items: flex-start; gap: 24px; word-break: break-word; }
.twinco-stages__block { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 16px; }
.twinco-stages__label { width: 100%; font-size: var(--twinco-text-title); font-weight: 700; line-height: 1; color: var(--twinco-gold); }
.twinco-stages__body { width: 100%; font-size: var(--twinco-text-body); font-weight: 400; line-height: 1.3; color: #fff; }
.twinco-stages__edge { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 16px; border-radius: 4px; border: 0.5px solid var(--twinco-gold); padding: 16px; }

@media (max-width: 1023.98px) {
	.twinco-stages__top, .twinco-stages__divider, .twinco-stages__blocks { width: 100%; }
}
@media (max-width: 767.98px) {
	.twinco-stages__frame { padding: 24px; }
	.twinco-stages__card, .twinco-stages__overlay { height: auto; min-height: 700px; }
	.twinco-stages .twinco-stages__ol { font-size: 28px; }
}
