.hero-content { max-width: 800px; margin: 0 auto; position: relative; z-index: 1; }
.hero h2 { font-size: clamp(36px, 6vw, 48px); margin-bottom: var(--space-lg); color: var(--white); text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); }
.hero h2 span { color: var(--gold); text-shadow: var(--gold-glow); }
.hero p { font-size: clamp(16px, 3vw, 20px); margin-bottom: var(--space-xl); color: var(--gray); }
.hero-subtitle { font-size: 18px; color: var(--light-gold); margin-bottom: 40px; letter-spacing: 1px; }
.section-subtitle { text-align: left; margin: var(--space-lg) 0; font-size: 24px; color: var(--gold); font-weight: bold; line-height: 1.3; }
.brand-company, .teacher-background, .language-training { background-color: var(--dark-black); }
.study-abroad-info { background-color: var(--black); }
.brand-company-content { display: flex; flex-wrap: wrap; gap: 50px; margin-bottom: 50px; }
.story-part, .company-part { flex: 1; min-width: 300px; }
.story-part h3, .company-part h3 { font-size: 28px; margin-bottom: var(--space-lg); color: var(--gold); }
.story-part p, .company-part p { color: var(--gray); margin-bottom: var(--space-lg); font-size: 16px; line-height: 1.8; text-align: justify; }
.intro-grid, .teacher-categories, .offer-grid, .training-grid, .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-xl); margin-top: 50px; }
.intro-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.intro-card, .training-card, .teacher-category { padding: 40px 30px; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.intro-card:hover, .training-card:hover, .teacher-category:hover { transform: translateY(-8px); box-shadow: 0 10px 25px rgba(212, 175, 55, 0.15); }
.intro-card:hover .intro-icon { transform: scale(1.1); transition: transform 0.3s ease; }
.intro-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gold-gradient); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; }
.intro-card:hover::before { transform: scaleX(1); }
.intro-icon, .training-icon { font-size: 50px; color: var(--gold); margin-bottom: var(--space-lg); text-shadow: 0 0 10px rgba(212, 175, 55, 0.3); }
.intro-card h3, .training-card h3, .teacher-category h3 { font-size: 22px; margin-bottom: 15px; color: var(--white); }
.intro-card p, .training-card p, .teacher-category p { color: var(--gray); font-size: 16px; }
.teacher-category { display: flex; flex-direction: column; height: 100%; border: 1px solid transparent; }
.teacher-category:hover { border-color: rgba(212, 175, 55, 0.2); }
.teacher-category h3 { display: flex; align-items: center; justify-content: center; }
.teacher-category h3 i { color: var(--gold); margin-right: var(--space-sm); font-size: 28px; }
.teacher-category p { line-height: 1.6; margin-bottom: var(--space-lg); text-align: left; }
.teacher-features { list-style: none; margin-top: 25px; margin-bottom: 30px; flex-grow: 1; }
.teacher-features li { padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); color: var(--gray); display: flex; flex-direction: column; align-items: flex-start; }
.teacher-features li:last-child { border-bottom: none; }
.teacher-features .feature-title { color: var(--white); font-weight: bold; margin-bottom: 5px; display: flex; align-items: center; }
.teacher-features .feature-title i { color: var(--gold); margin-right: var(--space-sm); font-size: 14px; }
.teacher-features .feature-desc { color: var(--gray); font-size: 14px; padding-left: 24px; text-align: left; }
.teacher-category .btn-ghost { margin-top: auto; align-self: center; }
.training-card { border: 1px solid transparent; }
.training-card:hover { border-color: rgba(212, 175, 55, 0.3); background-color: #1a1a1a; }
.training-card .expandable-content { text-align: left; }
.training-card .content-preview { color: var(--gray); font-size: 14px; line-height: 1.6; max-height: 320px; overflow-y: auto; padding-right: 5px; scrollbar-width: none; mask-image: linear-gradient(to bottom, black 90%, transparent 100%); -webkit-mask-image: linear-gradient(to bottom, black 90%, transparent 100%); }
.training-card .content-preview::-webkit-scrollbar { display: none; }
.training-card .content-preview ul { margin: 10px 0; padding-left: 20px; }
.training-card .content-preview li { margin-bottom: 8px; text-align: left; }
.training-card .content-preview strong { color: var(--light-gold); }
.process-intro { max-width: 900px; margin: 0 auto 60px; }
.process-intro p { color: var(--gray); margin-bottom: var(--space-lg); font-size: 16px; line-height: 1.8; text-align: justify; }
.process-phases { display: flex; flex-direction: column; gap: 60px; margin-top: 50px; }
.process-phase { background-color: rgba(42, 42, 42, 0.5); border-radius: 10px; padding: 40px; border: 1px solid rgba(212, 175, 55, 0.2); position: relative; overflow: hidden; }
.process-phase::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 5px; background: var(--gold-gradient); }
.phase-header { display: flex; align-items: center; margin-bottom: 30px; padding-bottom: 15px; border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
.phase-icon { width: 70px; height: 70px; background: var(--gold-gradient); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--black); font-size: 30px; margin-right: var(--space-lg); flex-shrink: 0; box-shadow: var(--gold-shadow); }
.phase-title { color: var(--gold); font-size: 28px; margin-bottom: 5px; }
.phase-subtitle { color: var(--gray); font-size: 16px; }
.phase-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--space-lg); }
.process-card { padding: 25px; border: 1px solid rgba(212, 175, 55, 0.1); border-radius: 8px; background: var(--light-black); position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.process-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.4); border-color: var(--gold); background: rgba(255, 255, 255, 0.02); }
.process-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: var(--gold-gradient); transition: height 0.3s ease; }
.process-card-header { display: flex; align-items: center; margin-bottom: 15px; }
.process-card-number { width: 40px; height: 40px; background: var(--gold-gradient); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--black); font-weight: bold; font-size: 18px; margin-right: 15px; flex-shrink: 0; box-shadow: var(--gold-shadow); transition: transform 0.5s ease, background 0.3s ease, color 0.3s ease; }
.process-card:hover .process-card-number { transform: scale(1.1); background: var(--white); color: var(--black); }
.process-card h3 { color: var(--gold); font-size: 18px; }
.process-card p { color: var(--gray); font-size: 15px; line-height: 1.6; }
.info-card { padding: 30px; border-left: 4px solid var(--gold); transition: all 0.3s ease; }
.info-card:hover { transform: translateX(5px); border-left-color: var(--white); background: linear-gradient(90deg, var(--light-black), transparent); }
.info-card h3 { font-size: 20px; margin-bottom: 15px; color: var(--gold); }
.info-card p { color: var(--gray); font-size: 16px; }
.training-wide-card { background-color: var(--light-black); border-radius: 10px; padding: 40px; grid-column: 1 / -1; transition: all 0.3s ease; border: 1px solid transparent; }
.training-wide-card:hover { transform: translateY(-5px); border-color: var(--gold); box-shadow: var(--gold-shadow); }
.wide-card-content { display: flex; align-items: flex-start; gap: 40px; }
.wide-card-icon i { font-size: 70px; color: var(--gold); }
.wide-card-text { flex: 1; }
.wide-card-text h3 { font-size: 28px; margin-bottom: 15px; color: var(--white); }
.wide-card-text p { color: var(--gray); margin-bottom: 20px; font-size: 16px; }
.team-features { list-style: none; margin-bottom: 25px; }
.team-features li { color: var(--gray); padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); display: flex; align-items: flex-start; }
.team-features li:last-child { border-bottom: none; }
.team-features li i { color: var(--gold); margin-right: 10px; margin-top: 3px; flex-shrink: 0; }
.offer-image-container { margin: var(--space-lg) 0; border: 1px solid rgba(212, 175, 55, 0.2); border-radius: 5px; overflow: hidden; transition: all 0.3s ease; height: 500px; background-color: var(--light-black); }
.offer-image-container:hover { border-color: var(--gold); transform: translateY(-5px); box-shadow: var(--gold-shadow); }
.offer-image-container picture { width: 100%; height: 100%; display: block; }
.offer-image-container img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-wrapper { max-width: 1000px; margin: 30px auto; }
.promo-video { width: 100%; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.5); }
.offer-showcase-img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; }
@media (max-width: 768px) {
    .brand-company-content { flex-direction: column; }
    .process-phases { gap: 40px; }
    .process-phase { padding: 25px; }
    .phase-header { flex-direction: column; text-align: center; }
    .phase-icon { margin-right: 0; margin-bottom: 15px; }
    .phase-cards { grid-template-columns: 1fr; }
    .wide-card-content { flex-direction: column; text-align: center; gap: 20px; }
    .training-wide-card { padding: 30px 20px; }
}