/* =========================================================================
   Twinco Ready to Plan — port of methodology/ReadyToPlan.tsx
   ========================================================================= */
.elementor-widget-twinco_ready_to_plan .elementor-widget-container { padding: 0; }

.twinco-rtp { position: relative; width: 100%; overflow: hidden; background-color: var(--twinco-ink); font-family: var(--twinco-font-sans); }
.twinco-rtp__frame { position: relative; margin-inline: auto; min-height: 632px; width: 100%; max-width: 1440px; padding: 100px 80px; }
.twinco-rtp__content { position: relative; display: flex; width: 100%; flex-direction: column; align-items: center; gap: 60px; }
.twinco-rtp__block { display: flex; width: 100%; flex-direction: column; align-items: center; gap: 16px; }
.twinco-rtp__heading { display: flex; width: 511px; max-width: 100%; flex-direction: column; align-items: flex-start; gap: 4px; word-break: break-word; }
.twinco-rtp__h1 { width: 100%; text-align: center; font-size: var(--twinco-text-h1); font-weight: 400; line-height: 1; color: #fff; }
.twinco-rtp__h1--italic { font-style: italic; }
.twinco-rtp__h2 { width: 100%; text-align: center; font-size: var(--twinco-text-hero); font-weight: 700; line-height: 1; color: var(--twinco-gold); }
.twinco-rtp__sub { width: 100%; text-align: center; word-break: break-word; }
.twinco-rtp__sub1 { font-size: 36px; font-weight: 400; line-height: 1.2; color: #fff; }
.twinco-rtp__sub2 { font-size: 36px; font-weight: 700; line-height: 1.2; color: #fff; }
.twinco-rtp__detail { width: 672px; max-width: 100%; text-align: center; font-size: var(--twinco-text-title); font-weight: 400; line-height: 1.2; color: var(--twinco-fog); word-break: break-word; }
.twinco-rtp__cta { display: inline-flex; height: 40px; align-items: center; justify-content: center; gap: 10px; border-radius: var(--twinco-radius-pill); border: 1px solid var(--twinco-steel); padding: 10px 22px 10px 24px; font-size: var(--twinco-text-button); font-weight: 600; color: #fff; text-decoration: none; --brand-angle: 120.374deg; transition: filter 0.2s ease; }
.twinco-rtp__cta:hover { filter: brightness(1.1); }
.twinco-rtp .twinco-rtp__cta-icon { width: 24px; height: 24px; flex: 0 0 24px; display: block; }

.twinco-rtp__glow { pointer-events: none; position: absolute; display: flex; align-items: center; justify-content: center; mix-blend-mode: exclusion; }
.twinco-rtp__glow--right { left: 818px; top: 47px; height: 396.491px; width: 759.354px; }
.twinco-rtp__glow--left { left: -371px; top: 120px; height: 353.198px; width: 676.441px; }
.twinco-rtp__glow-rot { flex: none; transform: rotate(4.77deg); }
.twinco-rtp__glow-box { position: relative; }
.twinco-rtp__glow-box--right { height: 336.571px; width: 733.885px; }
.twinco-rtp__glow-box--left { height: 299.821px; width: 653.753px; }
.twinco-rtp__glow-in { position: absolute; inset: -76.97% -35.3%; }
.twinco-rtp .twinco-rtp__glow-in img { display: block; width: 100%; height: 100%; max-width: none; }

@media (max-width: 767.98px) {
	.twinco-rtp__frame { padding: 48px 24px; }
	.twinco-rtp__sub1, .twinco-rtp__sub2 { font-size: 28px; }
}
@media (max-width: 639.98px) {
	.twinco-rtp__frame { padding-left: 16px; padding-right: 16px; }
}
