/* Shared public marketing-site improvements — October 2026. */
*{box-sizing:border-box}
html{scroll-padding-top:120px}
body{margin:0}
.bi-skip-link{position:fixed;top:8px;left:20px;z-index:3000;padding:12px 18px;border-radius:8px;background:#fff;color:#07175f;transform:translateY(-160%);font-weight:700}
.bi-skip-link:focus{transform:none}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #3885ff;outline-offset:4px}
.bi-site-header{position:fixed;inset:0 0 auto;z-index:1000;width:100%;padding:14px 24px;background:transparent;display:flex;justify-content:center}
.bi-site-header .navbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;width:min(1280px,100%);min-height:76px;height:auto;margin:0 auto;padding:12px 20px;border-radius:20px;background:#202329;border:1px solid #ffffff24;box-shadow:0 12px 32px #07175f20}
.bi-site-header .logo{display:flex;align-items:center;gap:12px;min-width:0}
.bi-site-header .logo img{width:50px;height:50px;flex-shrink:0;object-fit:contain}
.bi-site-header .logo h2{margin:0}
.bi-site-header .logo a{font-family:Orbitron,"Segoe UI",sans-serif;font-size:clamp(.85rem,1.35vw,1.2rem);color:#fff;white-space:nowrap}
.bi-site-header .lang-dropdown{margin-left:auto;flex-shrink:0}
.bi-site-header .navbar .links{display:flex;align-items:center;gap:20px;margin:0;padding:0;list-style:none}
.bi-site-header .navbar .links a{font-size:.94rem;color:#fff;font-weight:600;text-decoration:none}
.bi-site-header .navbar .dropdown-content{background:#202329;border:1px solid #ffffff24;border-radius:12px;padding:10px;min-width:215px}
.bi-site-header .navbar .dropdown-content a{display:block;padding:10px 12px;border-radius:6px}
.bi-site-header .navbar .dropdown-content a:hover,.bi-site-header .navbar .dropdown-content a:focus-visible{background:#ffffff15}
.bi-site-header .dropdown:focus-within>.dropdown-content,.bi-site-header .dropdown>.dropdown-content.open-submenu{display:block}
.bi-site-header button.toggle_btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #ffffff24;border-radius:50%;background:#ffffff10;color:#fff;cursor:pointer;font-size:1.2rem}
/* Let photography be visible in dedicated panels rather than behind body copy. */
.team-page .team-hero-section{min-height:0;padding:170px 28px 80px;background:radial-gradient(ellipse at 95% 10%,#dde9ff,transparent 55%),#f7f9ff}
.team-page .team-hero-section:before,.team-page .team-hero-section:after{display:none}
.team-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:64px;align-items:center;width:min(1220px,100%);margin:auto}
.team-page .team-hero-content{max-width:none;text-align:left;margin:0;color:#07175f}
.team-page .team-hero-content .team-kicker{background:#e7edfa;color:#07175f;border-color:#ccd7f0;font-size:.72rem;letter-spacing:.08em;line-height:1.5}
.team-page .team-hero-content h1{font-size:clamp(2.8rem,5vw,4.9rem);line-height:1.03;letter-spacing:-.045em;margin:22px 0;color:#07175f}
.team-page .team-hero-content p{margin:0;max-width:570px;font-size:1.08rem;line-height:1.8;color:#4b586e}
.team-page .team-hero-actions{justify-content:flex-start;gap:12px;margin-top:28px}
.team-page .team-hero-actions a{padding:15px 21px;min-height:52px;font-size:.92rem}
.team-hero-photo{position:relative;margin:0;border-radius:28px;overflow:hidden;box-shadow:0 26px 65px #07175f24;background:#d6dce9;aspect-ratio:1.1}
.team-hero-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.team-hero-photo figcaption{position:absolute;inset:auto 0 0;padding:64px 28px 26px;background:linear-gradient(transparent,#071329e6);color:white;text-align:left}
.team-hero-photo figcaption span{display:block;font-size:.78rem;letter-spacing:.05em;margin-bottom:8px}
.team-hero-photo figcaption strong{display:block;font-size:1.18rem;line-height:1.4}
.bi-hero-v2 .bi-hero-bg,.edu-hero-bg,.course-hero-bg,.duo-hero-bg{background:none;animation:none;opacity:0}
.bi-hero-v2{min-height:0;padding:160px 0 80px}
.bi-hero-v2-content h1{font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.06;letter-spacing:-.045em}
.bi-hero-visual .bi-floating-photo{animation:none}
.bi-floating-photo-main{inset:40px 10px 60px 20px}
.bi-floating-photo-top{width:190px;height:130px}
.bi-floating-photo-bottom{width:190px;height:135px}
.bi-floating-photo-main img{object-position:53% center}
.vision-hero{background:radial-gradient(ellipse at 95% 0,#dce9ff,transparent 60%),#f7f9ff;min-height:0}
.vision-hero:before{display:none}
.edu-hero,.course-hero,.duo-hero,.contact-hero{min-height:0}
.bi-info-page{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#18243b;background:#fff;min-height:70vh}
.bi-info-hero{padding:170px max(24px,calc((100% - 1080px)/2)) 64px;background:radial-gradient(ellipse at 95% 0,#dce9ff,transparent 65%),#f7f9ff}
.bi-info-kicker{color:#07175f;text-transform:uppercase;font-size:.78rem;font-weight:800;letter-spacing:.1em}
.bi-info-hero h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.08;letter-spacing:-.035em;max-width:850px;color:#07175f;margin:20px 0}
.bi-info-hero p{max-width:720px;font-size:1.15rem;line-height:1.8;color:#4b586e}
.bi-info-body{width:min(880px,calc(100% - 48px));margin:60px auto 80px}
.bi-info-body details{border-bottom:1px solid #dbe3ef;padding:22px 0}
.bi-info-body summary{font-size:1.08rem;font-weight:700;cursor:pointer;color:#07175f;line-height:1.5}
.bi-info-body details p,.bi-info-body>p{line-height:1.8;color:#4b586e;margin-top:18px}
.bi-info-cta{padding:32px;border:1px solid #dbe3ef;border-radius:24px;background:#f7f9ff;margin-top:40px}
.bi-info-cta h2{color:#07175f;margin:0 0 12px}
.bi-info-cta p{line-height:1.8;color:#4b586e;margin-bottom:24px}
.bi-info-cta a{margin:0 8px 10px 0}
@media(max-width:1100px){
 .bi-site-header .navbar .links{gap:12px}.bi-site-header .navbar .links a{font-size:.86rem}
 .team-hero-layout{gap:34px}.bi-hero-v2-grid{gap:30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:900px){
 .bi-site-header{padding:10px 12px}.bi-site-header .navbar{min-height:68px;padding:10px 12px;gap:10px;border-radius:18px}
 .bi-site-header .logo img{width:42px;height:42px}.bi-site-header .logo a{font-size:.88rem}
 .bi-site-header button.toggle_btn{display:flex}
 .bi-site-header .navbar .links{position:absolute;top:calc(100% + 8px);left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:16px;background:#202329;border-radius:18px;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 16px 30px #0003}
 .bi-site-header .navbar .links.mobile-visible{display:flex}
 .bi-site-header .navbar .links>li>a{display:block;padding:12px;font-size:1rem}
 .bi-site-header .navbar .dropdown-content{position:static;display:none;box-shadow:none;background:#ffffff08;margin:4px 0 8px;min-width:0}
 .bi-site-header .dropdown:hover>.dropdown-content,.bi-site-header .dropdown:focus-within>.dropdown-content{display:none}
 .bi-site-header .navbar .dropdown>.dropdown-content.open-submenu{display:block}
 .team-page .team-hero-section{padding:135px 24px 56px}
 .team-hero-layout{grid-template-columns:1fr;gap:36px;max-width:700px}
 .team-hero-photo{aspect-ratio:1.5}
 .team-page .team-hero-content h1{font-size:clamp(2.6rem,8vw,4.1rem)}
 .bi-hero-v2-grid{grid-template-columns:1fr}.bi-hero-v2{padding:130px 0 60px}.bi-hero-visual{min-height:450px}
 .bi-info-hero{padding-top:140px}
}
@media(max-width:560px){
 html{scroll-padding-top:100px}.bi-site-header .logo{gap:7px}.bi-site-header .logo a{font-size:.75rem}.bi-site-header .logo img{width:36px;height:36px}
 .bi-site-header .navbar{gap:6px}.bi-site-header .lang-btn{width:38px;height:38px}.bi-site-header button.toggle_btn{width:38px;height:38px}
 .team-page .team-hero-section{padding:125px 20px 44px}.team-hero-photo{aspect-ratio:1.15;border-radius:22px}
 .team-hero-photo figcaption{padding:50px 20px 20px}.team-hero-photo figcaption strong{font-size:1rem}
 .team-page .team-hero-actions{flex-direction:column}.team-page .team-hero-actions a{width:100%}
 .bi-hero-visual{min-height:380px}.bi-floating-photo-main{inset:35px 0 40px}.bi-floating-photo-top{width:140px;height:100px}.bi-floating-photo-bottom{width:140px;height:100px}
 .bi-info-body{width:calc(100% - 36px)}.bi-info-cta{padding:24px}.bi-info-cta a{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.bi-form-status{font-size:.94rem;line-height:1.6;color:#813515;margin:14px 0 0}
button:disabled{cursor:wait;opacity:.7}
/* Override older forced mobile logo truncation rules in styles.css. */
@media(max-width:560px){
 .bi-site-header .logo h2,.bi-site-header .logo a{margin:0!important;font-size:.68rem!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important}
 .bi-site-header .logo img{width:36px!important;height:36px!important}
 .bi-site-header .lang-dropdown{margin:0!important}
 .bi-site-header button.toggle_btn{width:38px!important;height:38px!important;flex:0 0 38px!important}
 .bi-site-header .navbar{gap:6px!important}
}
#partner-modal .close{border:0;background:transparent;cursor:pointer;font:inherit;font-size:28px;color:#07175f}
/* Partner dialog has its own display state, independent of legacy image modals. */
#partner-modal{display:none;visibility:visible;opacity:1;z-index:2000;padding:100px 20px 30px}
#partner-modal .modal-content{width:min(600px,100%);padding:48px 30px 30px;margin:auto;text-align:left;line-height:1.7}
#partner-modal h2{font-size:1.5rem;color:#07175f;line-height:1.3;margin:0 0 16px}
#partner-modal p{font-size:1rem;line-height:1.7;margin:0 0 20px}
#partner-modal a{color:#07175f;text-decoration:underline;font-weight:700}
