.section-page { padding-bottom: 64px; }
.breadcrumbs { font-size: 14px; color: #777; padding: 24px 0; }
.breadcrumbs a:hover { color: #ce253d; }
.section-hero { position: relative; min-height: 390px; overflow: hidden; border-radius: 20px; background: #f3f3f5; display: flex; align-items: center; padding: 28px; }
.section-hero__image { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.section-hero__info { position: relative; max-width: 590px; width: 56%; padding: 28px; border-radius: 16px; background: #ffffffed; }
.section-hero h1 { text-align: left; font-size: 38px; line-height: 1.1; margin-bottom: 20px; }
.section-hero p { font-size: 18px; line-height: 1.5; margin: 0 0 28px; }
.section-hero--cutout .section-hero__image { left: auto; width: 49%; object-fit: contain; object-position: bottom right; }
.section-hero--cutout .section-hero__info { background: transparent; padding-left: 12px; }
.section-block { margin-top: 64px; }
.section-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.section-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; border-radius: 20px; padding: 30px; background: #f5f5f5; min-height: 270px; }
.section-card h3, .program-card h3, .benefit-grid h3 { font-size: 23px; line-height: 1.25; margin: 0 0 16px; }
.section-card p { line-height: 1.5; margin: 0 0 26px; max-width: 90%; }
.section-card .btn { margin-top: auto; }
.btn-outline { color: #ce253d; background: transparent; border: 1px solid #ce253d; }
.btn-outline:hover { background: #ce253d; color: white; }
.section-card__image { width: 64px; height: 64px; object-fit: contain; margin-bottom: 22px; }
.section-page--travel .section-card { min-height: 430px; padding-bottom: 205px; overflow: hidden; }
.section-page--travel .section-card__image { position: absolute; right: 0; bottom: 0; height: 190px; width: 65%; object-fit: contain; object-position: bottom right; margin: 0; }
.program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.program-card { padding: 24px; border-radius: 20px; background: #f5f5f5; }
.program-card:hover { box-shadow: 0 6px 20px #00000014; }
.program-card img { width: 100%; height: 130px; object-fit: contain; margin-bottom: 16px; }
.program-card p { color: #666; line-height: 1.45; min-height: 50px; }
.program-card span { color: #ce253d; }
.benefit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; }
.benefit-grid p { color: #666; line-height: 1.6; margin-bottom: 0; }
.step-number { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 50%; background: #fbe9ec; color: #ce253d; font-weight: 600; margin-bottom: 20px; }
.section-how { padding: 36px; border-radius: 20px; background: #f7f7f7; }
.section-how > .btn { margin-top: 32px; }
.section-faq details { border-bottom: 1px solid #ddd; padding: 22px 0; }
.section-faq summary { cursor: pointer; font-size: 20px; font-weight: 600; }
.section-faq p { line-height: 1.6; max-width: 900px; }
@media (max-width: 760px) {
 .section-hero { padding: 16px; padding-top: 215px; min-height: 0; }
 .section-hero__image, .section-hero--cutout .section-hero__image { height: 235px; width: 100%; object-fit: cover; object-position: center; }
 .section-hero--cutout .section-hero__image { object-fit: contain; }
 .section-hero__info, .section-hero--cutout .section-hero__info { width: 100%; padding: 22px; background: #fffffff5; }
 .section-hero h1 { font-size: 29px; }
 .section-hero p { font-size: 16px; }
 .section-cards, .program-grid { grid-template-columns: 1fr; gap: 16px; }
 .section-card { padding: 24px; }
 .section-block { margin-top: 40px; }
 .section-how { padding: 24px; }
 .section-page { padding-bottom: 40px; }
}
