/* About page */
.info-about main { overflow: hidden; background: #fff; color: #182137; }
.info-about main .section { position: relative; scroll-margin-top: 96px; }
.info-about .section-kicker { display: none; }
.info-about .section-kicker::before, .info-about .section-kicker::after { width: 22px; height: 1px; background: #a8bef5; content: ""; }

.info-about .about-hero { position: relative; display: flex; min-height: 450px; align-items: center; overflow: hidden; background: radial-gradient(circle at 82% 25%, rgba(255,255,255,.22), transparent 25%), linear-gradient(120deg,#5368ef,#8752eb); color: #fff; }
.info-about .about-hero::before { position: absolute; right: -110px; bottom: -210px; width: 560px; height: 560px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; content: ""; }
.info-about .about-hero::after { position: absolute; top: -210px; left: 38%; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; }
.info-about .about-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1fr) 500px; align-items: center; gap: 72px; padding-block: 56px; }
.info-about .about-hero-label { display: inline-flex; margin-bottom: 18px; padding: 6px 13px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.info-about .about-hero h1 { max-width: 560px; margin: 0 0 18px; color: #fff; font-size: 44px; line-height: 1.25; letter-spacing: -1px; }
.info-about .about-hero-copy > p { max-width: 640px; margin: 0; color: rgba(255,255,255,.82); font-size: 16px; line-height: 1.9; }
.info-about .about-hero-actions { display: flex; gap: 14px; margin-top: 28px; }
.info-about .about-hero-actions .btn-primary { background: #ff6b32; box-shadow: 0 10px 28px rgba(42,24,116,.2); }
.info-about .about-hero-actions .btn-outline { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.1); color: #fff; }
.info-about .about-hero-visual { position: relative; padding: 12px 12px 54px; border: 1px solid rgba(255,255,255,.25); border-radius: 24px; background: rgba(255,255,255,.12); box-shadow: 0 28px 70px rgba(25,20,93,.24); backdrop-filter: blur(14px); }
.info-about .about-hero-image { overflow: hidden; border-radius: 16px; background: #fff; }
.info-about .about-hero-image img { width: 100%; height: 282px; object-fit: cover; transition: transform .5s ease; }
.info-about .about-hero-visual:hover .about-hero-image img { transform: scale(1.025); }
.info-about .about-hero-note { position: absolute; right: 30px; bottom: 18px; left: 30px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #fff; }
.info-about .about-hero-note strong { font-size: 15px; }
.info-about .about-hero-note span { color: rgba(255,255,255,.72); font-size: 12px; }

.info-about .about-section-nav { position: fixed; top: 50%; left: max(16px,calc((100vw - 1200px) / 2 - 360px)); z-index: 80; width: 110px; padding: 12px; border: 1px solid #e6ebf5; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 14px 38px rgba(39,64,123,.12); transform: translateY(-50%); backdrop-filter: blur(10px); }
.info-about .about-section-nav ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.info-about .about-section-nav a { position: relative; display: block; padding: 9px 10px 9px 18px; border-radius: 10px; color: #666; font-size: 14px; transition: background .2s ease,color .2s ease,transform .2s ease; }
.info-about .about-section-nav a::before { position: absolute; top: 50%; left: 8px; width: 4px; height: 4px; border-radius: 50%; background: #c7d2e8; content: ""; transform: translateY(-50%); transition: .2s ease; }
.info-about .about-section-nav a:hover, .info-about .about-section-nav a:focus-visible, .info-about .about-section-nav a.active { background: #edf3ff; color: #2878ff; transform: translateX(2px); }
.info-about .about-section-nav a:hover::before, .info-about .about-section-nav a:focus-visible::before, .info-about .about-section-nav a.active::before { height: 14px; border-radius: 3px; background: linear-gradient(180deg,#2878ff,#7544ef); }

.info-about .section-about-intro { background: linear-gradient(180deg,#fff,#fafcff); }
.info-about .about-intro-inner { display: flow-root;}
.info-about .about-intro-text { position: relative; }
.info-about .about-intro-text p { margin: 0 0 16px; color: #606c82; line-height: 1.95; text-align: justify; }
.info-about .about-intro-text p:last-child { margin-bottom: 0; }
.info-about .about-intro-img { position: relative; float: right; width: 44%; overflow: hidden; margin: 4px 0 24px 42px; border-radius: 20px; box-shadow: 0 16px 38px rgba(26,55,100,.14); }
.info-about .about-intro-img::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.5); border-radius: inherit; content: ""; pointer-events: none; }
.info-about .about-intro-img img { display: block; width: 100%; min-height: 330px; object-fit: cover; transition: transform .5s ease; }
.info-about .about-intro-img:hover img { transform: scale(1.025); }

.info-about .section-gallery { background: #fff; }
.info-about .section-gallery-alt {background: url(../images/home-bg2.png) no-repeat 50%;background-size: cover;overflow: hidden; width: 100%;}
.info-about .gallery-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.info-about .gallery-item { position: relative; overflow: hidden; border: 1px solid #e8edf6; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(40,73,118,.06); transition: transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.info-about .gallery-item:hover { z-index: 1; border-color: #d7ddf8; box-shadow: 0 18px 42px rgba(56,49,134,.13); transform: translateY(-5px); }
.info-about .gallery-img { display: block; width: 100%; height: 205px; object-fit: cover; transition: transform .45s ease; }
.info-about .gallery-item:hover .gallery-img { transform: scale(1.035); }
.info-about #officeGallery .gallery-item:first-child, .info-about #teamStyle .gallery-item:first-child, .info-about #teamActivity .gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.info-about #officeGallery .gallery-item:first-child .gallery-img, .info-about #teamStyle .gallery-item:first-child .gallery-img, .info-about #teamActivity .gallery-item:first-child .gallery-img { height: 430px; }
.info-about #honor .gallery-img, .info-about #cert .gallery-img { height: 280px; padding: 14px; object-fit: contain; }
.info-about .gallery-cap { min-height: 48px; padding: 13px 10px; border-top: 1px solid #edf0f6; color: #666; font-size: 13px; text-align: center; }

.info-about .section-about-why { overflow: hidden; background: radial-gradient(circle at 10% 0,rgba(104,146,255,.13),transparent 28%), linear-gradient(180deg,#f7faff,#f2f6ff); }
.info-about .adv-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.info-about .adv-item { position: relative; min-height: 230px; overflow: hidden; padding: 30px; border: 1px solid rgba(226,233,246,.96); border-radius: 18px; background: rgba(255,255,255,.9); box-shadow: 0 12px 34px rgba(41,92,158,.07); transition: transform .24s ease,border-color .24s ease,box-shadow .24s ease; }
.info-about .adv-item::after { position: absolute; right: -34px; bottom: -48px; width: 130px; height: 130px; border-radius: 50%; background: linear-gradient(145deg,rgba(40,120,255,.1),rgba(117,68,239,.06)); content: ""; transition: transform .3s ease; }
.info-about .adv-item:hover { border-color: #d9ddfa; box-shadow: 0 18px 42px rgba(56,49,134,.11); transform: translateY(-5px); }
.info-about .adv-item:hover::after { transform: scale(1.18); }
.info-about .adv-num { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 14px; background: linear-gradient(145deg,#edf4ff,#f3efff); color: #3970ea; font-size: 14px; font-weight: 750; }
.info-about .adv-title { position: relative; z-index: 1; margin: 20px 0 10px; color: #263148; font-size: 19px; line-height: 1.55; }
.info-about .adv-text { position: relative; z-index: 1; margin: 0; color: #707b90; font-size: 14px; line-height: 1.8; }

.info-about .section-culture { background: #fff; }
.info-about .culture-top { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.info-about .culture-card { position: relative; overflow: hidden; min-height: 210px; padding: 34px 36px 34px 112px; border: 1px solid #dfe7fb; border-radius: 22px; background: radial-gradient(circle at 100% 0,rgba(255,255,255,.9),transparent 35%), linear-gradient(135deg,#edf6ff,#e6ecff); box-shadow: 0 14px 36px rgba(42,67,128,.07); }
.info-about .culture-goal { background: radial-gradient(circle at 100% 0,rgba(255,255,255,.9),transparent 35%), linear-gradient(135deg,#f5efff,#ebe5ff); }
.info-about .culture-card-icon { position: absolute; top: 36px; left: 34px; display: grid; width: 58px; height: 58px; place-items: center; border-radius: 17px; background: #fff; color: #4c72e8; box-shadow: 0 10px 25px rgba(58,81,160,.12); }
.info-about .culture-card-icon svg, .info-about .purpose-icon svg { stroke-linecap: round; stroke-linejoin: round; }
.info-about .culture-card-title { margin: 0 0 12px; color: #263148; font-size: 23px; }
.info-about .culture-card-text { margin: 0; color: #606c82; line-height: 1.85; }
.info-about .culture-dark-block { margin-top: 30px; padding: 30px 32px 30px; border: 1px solid #dbe5f4; border-radius: 20px; background: linear-gradient(180deg,#f5f8ff,#edf3ff); }
.info-about .culture-subhead { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0 0 30px; color: #3970ea; font-size: 28px; font-weight: 750; letter-spacing: .08em; }
.info-about .culture-subhead::before, .info-about .culture-subhead::after { width: 24px; height: 1px; background: #9ebcff; content: ""; }
.info-about .culture-subhead span { color: #5a83ed; font-size: 15px; font-weight: 800; letter-spacing: .24em; }
.info-about .culture-subhead b { color: #4f7ff0; font-size: 13px; }
.info-about .culture-purpose-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.info-about .culture-purpose-card { min-height: 172px; padding: 26px 22px 24px; border: 1px solid #dce5f2; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(43,67,124,.045); text-align: center; transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.info-about .culture-purpose-card:hover, .info-about .culture-value-card:hover { border-color: #d8dcf8; box-shadow: 0 16px 36px rgba(56,49,134,.1); transform: translateY(-4px); }
.info-about .purpose-icon { display: grid; width: 54px; height: 54px; margin: 0 auto 16px; place-items: center; border: 1px solid #a9c5ff; border-radius: 50%; background: linear-gradient(145deg,#fff,#f3f7ff); color: #3f7bff; box-shadow: 0 8px 18px rgba(63,123,255,.08); }
.info-about .culture-purpose-card h4 { margin: 0 0 8px; color: #202a40; font-size: 17px; }
.info-about .culture-purpose-card p, .info-about .culture-value-card p { margin: 0; color: #707b90; font-size: 14px; line-height: 1.8; }
.info-about .culture-value-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.info-about .culture-value-card { position: relative; display: flex; min-height: 98px; align-items: flex-start; gap: 14px; padding: 24px 24px; border: 1px solid #dce5f2; border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(43,67,124,.04); transition: transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.info-about .value-num { position: static; flex: 0 0 auto; color: #2867e8; font-size: 30px; font-style: italic; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.info-about .culture-value-card p { padding-top: 1px; }
