/* =========================================================================
   Twinco About — Our Story + Leadership
   ========================================================================= */
.elementor-widget-twinco_our_story .elementor-widget-container,
.elementor-widget-twinco_leadership .elementor-widget-container { padding: 0; }

/* ---- Our Story ---- */
.twinco-story { width: 100%; background-color: var(--twinco-surface); padding: 100px 80px; font-family: var(--twinco-font-sans); }
.twinco-story__card { margin-inline: auto; display: flex; width: 1280px; max-width: 100%; flex-direction: column; align-items: flex-start; gap: 50px; border-radius: var(--twinco-radius-card); background: #fff; padding: 24px; filter: drop-shadow(0 8px 6px rgba(0, 0, 0, 0.1)); transition: transform 0.3s ease, filter 0.3s ease; will-change: transform; }
.twinco-story__card:hover { transform: translateY(-4px); filter: drop-shadow(0 18px 20px rgba(0, 0, 0, 0.15)); }
.twinco-story__heading { display: flex; width: 100%; flex-direction: column; align-items: center; text-align: center; line-height: 1; }
.twinco-story__heading-blue { display: block; font-size: var(--twinco-text-h1); font-weight: 700; line-height: 1; color: var(--twinco-blue); }
.twinco-story__heading-navy { display: block; font-size: var(--twinco-text-h1); font-weight: 400; line-height: 1; color: var(--twinco-navy); }
.twinco-story__row { display: flex; width: 1232px; max-width: 100%; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; row-gap: 32px; }
.twinco-story__body { width: 551px; max-width: 100%; min-width: 0; font-size: var(--twinco-text-body); font-weight: 500; line-height: 1.3; color: var(--twinco-navy); word-break: break-word; }
.twinco-story__body p { margin: 0; }
.twinco-story__body p + p { margin-top: 20.8px; }
.twinco-story__body strong { font-weight: 700; }
.twinco-story__media { height: 614px; width: 669px; max-width: 100%; flex-shrink: 0; overflow: hidden; border-radius: 16px; }
.twinco-story .twinco-story__img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 0.5s ease; }
.twinco-story__card:hover .twinco-story__img { transform: scale(1.05); }

@media (max-width: 1023.98px) {
	.twinco-story__row { flex-direction: column; align-items: center; gap: 32px; }
	.twinco-story__body { width: 100%; }
}
@media (max-width: 767.98px) {
	.twinco-story { padding: 48px 24px; }
	.twinco-story__media { height: 360px; width: 100%; }
}

/* ---- Leadership ---- */
.twinco-lead { position: relative; width: 100%; overflow: hidden; background-color: var(--twinco-surface); font-family: var(--twinco-font-sans); }
.twinco-lead__frame { position: relative; margin-inline: auto; width: 100%; max-width: 1440px; padding: 80px; }
.twinco-lead__ribbon { pointer-events: none; position: absolute; left: 50%; top: 491px; height: 731px; width: 100vw; transform: translateX(-50%); overflow: hidden; }
.twinco-lead .twinco-lead__ribbon img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.twinco-lead__content { position: relative; display: flex; flex-direction: column; align-items: center; gap: 90px; }
.twinco-lead__head { display: flex; width: 100%; flex-direction: column; align-items: center; gap: 16px; }
.twinco-lead__heading { width: 100%; text-align: center; }
.twinco-lead__heading-blue { font-size: var(--twinco-text-h1); font-weight: 700; line-height: 1; color: var(--twinco-blue); }
.twinco-lead__heading-navy { font-size: var(--twinco-text-h1); font-weight: 400; line-height: 1; color: var(--twinco-navy); }
.twinco-lead__sub { width: 100%; text-align: center; font-size: var(--twinco-text-title); line-height: 1.2; }
.twinco-lead__sub-navy { color: var(--twinco-navy); }
.twinco-lead__sub-blue { font-weight: 700; color: var(--twinco-blue); }
.twinco-lead__intro { width: 1048px; max-width: 100%; text-align: center; font-size: 20px; font-weight: 400; line-height: 1.3; color: var(--twinco-jet); word-break: break-word; }
.twinco-lead__grid { display: flex; flex-wrap: wrap; align-items: stretch; gap: 24px; width: 1280px; max-width: 100%; }
.twinco-lead__card { display: flex; width: 628px; max-width: 100%; flex-direction: column; align-items: flex-start; gap: 24px; overflow: clip; border-radius: var(--twinco-radius-card); background: #fff; padding: 30px 24px; box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25); transition: transform 0.3s ease, box-shadow 0.3s ease; }
.twinco-lead__card:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(2, 27, 121, 0.15); }
.twinco-lead__card-top { display: flex; align-items: center; gap: 24px; }
.twinco-lead__portrait { display: flex; height: 260px; width: 200px; flex-shrink: 0; align-items: flex-end; justify-content: center; overflow: clip; border-radius: 8px; background: linear-gradient(to bottom, var(--twinco-sky), var(--twinco-mist)); }
.twinco-lead .twinco-lead__portrait img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.twinco-lead__meta { display: flex; width: 284px; max-width: 100%; min-width: 0; flex-direction: column; align-items: flex-start; gap: 24px; }
/* "Show photo" off: the portrait box is removed, so let the meta fill the card width. */
.twinco-lead__card--no-photo .twinco-lead__meta { width: 100%; }
.twinco-lead__names { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 8px; line-height: 1.2; word-break: break-word; }
.twinco-lead__name { width: 100%; font-size: 36px; font-weight: 700; color: var(--twinco-navy); }
.twinco-lead__title { width: 100%; font-size: 28px; font-weight: 400; color: var(--twinco-blue); }
.twinco-lead__divider { height: 1px; width: 100px; background: var(--twinco-blue); }
.twinco-lead__bio { width: 100%; font-size: var(--twinco-text-label); font-weight: 400; line-height: 1.4; color: #000; word-break: break-word; }

@media (max-width: 1023.98px) {
	.twinco-lead__card { width: 100%; }
}
@media (max-width: 767.98px) {
	.twinco-lead__frame { padding: 24px; }
	.twinco-lead__ribbon { top: 380px; }
	.twinco-lead__name, .twinco-lead__title { font-size: 24px; }
}
@media (max-width: 639.98px) {
	.twinco-lead__card-top { flex-direction: column; align-items: flex-start; }
	.twinco-lead__meta { width: 100%; }
}
