.text-hero { font-size: 6.5rem; line-height: 1.2; }
.heroTitleAccent { display: block; white-space: nowrap; font-size: 5.2rem; }
.heroTitleAccentEn { display: flex; flex-direction: column; align-items: center; white-space: normal; font-size: 3.5rem; line-height: 1.3; letter-spacing: 0.04em; }
.heroTitleAccentEn > span { white-space: nowrap; }
.intro-text { margin-bottom: 50px; color: #E5E7EB; font-size: 28px; line-height: 1.7; font-weight: 300; }
.hero-container { position: relative; display: flex; align-items: center; justify-content: center; height: 100vh; }
.hero-media-layer { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero-media-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.8s ease; }
.hero-media-active { opacity: 1; }
.hero-content { position: relative; z-index: 10; max-width: 1100px; margin-top: 50px; padding: 0 20px; text-align: center; }
.badge-outline { display: inline-block; margin-bottom: 40px; padding: 8px 20px; border: 1px solid rgba(212, 175, 55, 0.5); border-radius: 4px; }
.home-section-sup { font-size: 20px; line-height: 1.6; }
.section-title { margin-bottom: 50px; color: #163C75; font-size: 46px; line-height: 1.3; font-weight: bold; }
.partnersTitle { font-size: 44px; }
.about-text { margin-bottom: 36px; color: #6B7280; font-size: 18px; line-height: 1.9; font-weight: 300; text-align: justify; }
.section-culture { padding-top: 0; padding-bottom: 0; }
.culture-stage { margin-top: 56px; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); padding: 88px 20px; background-image: linear-gradient(to bottom, rgba(22, 60, 117, 0.24), rgba(22, 60, 117, 0.62)), linear-gradient(90deg, rgba(22, 60, 117, 0.24) 0%, rgba(22, 60, 117, 0.12) 36%, rgba(22, 60, 117, 0.30) 100%), url('../../img/frontend/culture_1.jpg'); background-size: cover, cover, cover; background-position: center, center, center; background-repeat: no-repeat; }
.culture-row { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; max-width: 1220px; margin: 0 auto; }
.culture-stage .culture-row.row-narrow { margin-left: auto; margin-right: auto; }
.culture-col { display: flex; }
.culture-card { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; min-height: 250px; margin-bottom: 20px; padding: 42px 48px; overflow: hidden; border: 1px solid rgba(255,255,255,0.16); border-radius: 10px; background: linear-gradient(180deg, rgba(255,255,255,0.13) 0%, rgba(255,255,255,0.09) 100%); box-shadow: 0 24px 60px rgba(0,0,0,0.16); text-align: center; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.culture-card:before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.03) 38%, rgba(255,255,255,0.00) 60%); pointer-events: none; }
.culture-card:after { content: ""; position: absolute; top: 22px; right: 22px; bottom: 22px; left: 22px; border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; pointer-events: none; }
.culture-label,
.culture-desc { position: relative; z-index: 1; }
.culture-label { margin-bottom: 24px; color: #D4AF37; font-size: 28px; line-height: 1.5; letter-spacing: 0.08em; font-weight: 700; text-transform: uppercase; }
.culture-desc { max-width: 520px; color: #FFFFFF; font-size: 22px; line-height: 1.65; font-weight: 700; font-family: "Noto Serif SC", Georgia, serif; }
.culture-card-action { cursor: pointer; transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease; }
.culture-card-action:hover { transform: translateY(-10px); border-color: rgba(212,175,55,0.42); background: linear-gradient(180deg, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0.12) 100%); box-shadow: 0 30px 70px rgba(0,0,0,0.24); }
.culture-card-action:hover .culture-label { color: #F5D97A; }
.culture-card-action:hover .culture-desc { color: #F9FAFB; }
.row-narrow { margin-left: -10px; margin-right: -10px; }
.row-narrow > [class*="col-"] { padding-left: 10px; padding-right: 10px; }
.sector-card { position: relative; height: 480px; margin-bottom: 20px; overflow: hidden; border-radius: 6px; box-shadow: 0 15px 40px rgba(0,0,0,0.12); }
.sector-img { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0.7; transition: transform 1s ease; }
.sector-card:hover .sector-img { transform: scale(1.1); opacity: 1; }
.sector-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(22, 60, 117, 0.95), rgba(22, 60, 117, 0.3)); transition: all 0.5s; }
.sector-content { position: absolute; inset: 0; z-index: 10; display: flex; flex-direction: column; justify-content: flex-end; padding: 40px; }
.sector-card-title { display: flex; align-items: flex-end; margin-bottom: 20px; line-height: 1.35; }
.sector-card-title-top { min-height: 84px; }
.sector-card-title-bottom { min-height: 64px; }
.sector-line-deco { width: 40px; margin-bottom: 20px; transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.sector-card-desc { margin-bottom: 16px; font-size: 18px; }
.sector-card-desc-top { min-height: 124px; }
.sector-card-desc-bottom { min-height: 214px; }
.sector-card-more { display: inline-flex; align-items: center; min-height: 22px; }
.sector-card:hover .sector-line-deco { width: 100px; }
.home-news-desc { font-size: 18px; }
.news-header { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 2px solid #F3F4F6; }
.partner-col { margin-bottom: 20px; padding: 0 10px; }
.partner-box { display: flex; align-items: center; justify-content: center; height: 110px; padding: 0; overflow: hidden; border: 1px solid #F3F4F6; border-radius: 8px; background: #FFFFFF; box-shadow: 0 10px 30px rgba(0,0,0,0.04); transition: all 0.4s; }
.partner-img { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; filter: grayscale(100%); transition: all 0.4s; }
.partner-box:hover { transform: translateY(-10px); border-color: rgba(22,60,117,0.1); box-shadow: 0 20px 40px rgba(22,60,117,0.1); }
.partner-box:hover .partner-img { transform: scale(1.05); opacity: 1; filter: grayscale(0%); }
.rounded-corporate { border-radius: 4px; }

@media (max-width: 991px) {
    .heroTitleAccent { font-size: 4rem; }
    .heroTitleAccentEn { font-size: 2.7rem; }
    .culture-stage { padding-top: 76px; padding-bottom: 76px; }
    .culture-col { display: block; }
    .culture-card { min-height: 240px; }
}

@media (max-width: 760px) {
    .heroTitleMainEn { font-size: 38px; }
    .heroTitleAccent { font-size: 2.225rem; letter-spacing: 0.02em; }
    .heroTitleAccentEn { font-size: 1.675rem; line-height: 1.4; letter-spacing: 0.02em; }
    .home-section-sup { font-size: 18px; }
    .section-title { font-size: 42px; }
    .partnersTitle { font-size: 40px; }
    .pageHomeEn .section-title,
    .pageHomeEn .partnersTitle { font-size: 38px; }
    .about-text { font-size: 16px; }
    .culture-stage { margin-top: 44px; padding: 58px 20px; }
    .culture-card { min-height: 260px; padding: 34px 24px; }
    .culture-card-action:hover { transform: translateY(-6px); }
    .culture-card:after { top: 16px; right: 16px; bottom: 16px; left: 16px; }
    .culture-label { margin-bottom: 16px; font-size: 22px; }
    .culture-desc { font-size: 20px; line-height: 1.55; }
    .partner-col { display: inline-block; float: none; width: 50%; padding-left: 10px; padding-right: 10px; vertical-align: top; }
    .partner-col:last-child { margin-right: auto; }
    .partner-box { height: 108px; }
    .sector-content { padding: 28px; }
    .sector-card-title { margin-bottom: 16px; }
    .sector-card-title-top { min-height: 64px; }
    .sector-card-title-bottom { min-height: 52px; }
    .sector-line-deco { margin-bottom: 16px; }
    .sector-card-desc { margin-bottom: 14px; font-size: 17px; }
    .sector-card-desc-top,
    .sector-card-desc-bottom { min-height: auto; }
    .home-news-desc { font-size: 14px; }
}
