
/* v16 — cleanup layer: approved team portraits, robust language flags, webmail redirect UX, light mode contrast, floating team details. */

:root { color-scheme: dark light; }

/* Real flag switcher: no emoji/text duplication. */
.language-switcher-v16,
.language-switcher-v15 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    height: 42px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(148, 163, 184, .28) !important;
    background: rgba(8, 16, 32, .72) !important;
    backdrop-filter: blur(18px) !important;
}
.language-switcher-v16 .language-link,
.language-switcher-v15 .language-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 64px !important;
    height: 32px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    color: #eaf4ff !important;
    text-decoration: none !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.language-switcher-v16 .language-link.is-active,
.language-switcher-v15 .language-link.is-active {
    background: linear-gradient(135deg, rgba(43,125,255,.96), rgba(127,76,255,.96)) !important;
    box-shadow: 0 10px 28px rgba(42,125,255,.25) !important;
}
.language-flag {
    width: 22px !important;
    height: 15px !important;
    display: block !important;
    border-radius: 3px !important;
    object-fit: cover !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,.72) !important;
}
.language-code { display: inline !important; letter-spacing: .04em !important; }
.css-flag { display: none !important; }
html[data-theme="light"] .language-switcher-v16,
html[data-theme="light"] .language-switcher-v15 {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(11,42,139,.18) !important;
}
html[data-theme="light"] .language-switcher-v16 .language-link,
html[data-theme="light"] .language-switcher-v15 .language-link { color: #06152c !important; }

/* Light theme: keep all public hero/header text readable and remove the dark-blue top feel. */
html[data-theme="light"] body {
    background: radial-gradient(circle at 15% 0%, rgba(72,145,255,.10), transparent 34%), #f7fbff !important;
    color: #071326 !important;
}
html[data-theme="light"] .page-aura {
    background: radial-gradient(circle at 20% 0%, rgba(43,125,255,.14), transparent 36%), radial-gradient(circle at 82% 12%, rgba(19,194,255,.10), transparent 34%) !important;
    opacity: .85 !important;
}
html[data-theme="light"] .site-header,
html[data-theme="light"] .site-header-v10 {
    background: rgba(255,255,255,.92) !important;
    border-color: rgba(16,42,83,.14) !important;
    color: #071326 !important;
    box-shadow: 0 18px 55px rgba(17,40,80,.10) !important;
}
html[data-theme="light"] .site-nav a,
html[data-theme="light"] .brand-copy strong,
html[data-theme="light"] .brand-copy small,
html[data-theme="light"] .theme-toggle { color: #071326 !important; }
html[data-theme="light"] .hero,
html[data-theme="light"] .hero-premium,
html[data-theme="light"] .page-hero,
html[data-theme="light"] .section,
html[data-theme="light"] .story-narrative-v14,
html[data-theme="light"] .story-flow-item-v14,
html[data-theme="light"] .story-timeline-v14,
html[data-theme="light"] .split-highlight-v14,
html[data-theme="light"] .vision-2040-v16 {
    background: rgba(255,255,255,.82) !important;
    color: #071326 !important;
    border-color: rgba(12,42,82,.13) !important;
    box-shadow: 0 22px 70px rgba(17,42,80,.08) !important;
}
html[data-theme="light"] .hero h1,
html[data-theme="light"] .hero h2,
html[data-theme="light"] .hero h3,
html[data-theme="light"] .page-hero h1,
html[data-theme="light"] .section h2,
html[data-theme="light"] .section h3,
html[data-theme="light"] .story-long-copy-v14 p,
html[data-theme="light"] .hero-lead,
html[data-theme="light"] .section p,
html[data-theme="light"] .team-card-copy p {
    color: #071326 !important;
}
html[data-theme="light"] .hero-visual,
html[data-theme="light"] .hero-glass-card,
html[data-theme="light"] .product-card,
html[data-theme="light"] .card,
html[data-theme="light"] .timeline-card,
html[data-theme="light"] .mission-card,
html[data-theme="light"] .team-card-v16 {
    background: rgba(255,255,255,.90) !important;
    color: #071326 !important;
    border-color: rgba(12,42,82,.14) !important;
}
html[data-theme="light"] .hero-visual img { opacity: .96 !important; filter: saturate(.98) contrast(1.03) !important; }

/* Vision 2040: editorial block, not a wall of tiles. */
.vision-2040-v16 {
    position: relative;
    overflow: hidden;
    border-radius: 32px;
    padding: clamp(30px, 5vw, 64px) !important;
    border: 1px solid var(--line);
    background:
        linear-gradient(135deg, rgba(43,125,255,.14), rgba(19,194,255,.06)),
        rgba(8, 14, 28, .70);
}
.vision-copy-v16 { max-width: 980px; display: grid; gap: 18px; }
.vision-copy-v16 h2 { font-size: clamp(2rem, 5vw, 4.9rem); line-height: .98; letter-spacing: -.06em; margin: 0; }
.vision-copy-v16 p { max-width: 820px; font-size: clamp(1.05rem, 1.6vw, 1.32rem); line-height: 1.7; }
.vision-sectors-v16 { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.vision-sectors-v16 span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 999px;
    padding: 10px 14px;
    color: var(--muted);
    background: rgba(255,255,255,.045);
}
.vision-sectors-v16 strong { color: var(--text); }
html[data-theme="light"] .vision-sectors-v16 span { background: rgba(255,255,255,.92); border-color: rgba(11,42,139,.13); color: #31415d; }
html[data-theme="light"] .vision-sectors-v16 strong { color: #071326; }

/* Team: cards + one floating detail panel. */
.team-section-v16 { position: relative; overflow: visible !important; }
.team-grid-v16 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(14px, 1.6vw, 22px) !important;
    align-items: stretch !important;
}
.team-card-v16 {
    min-height: 372px !important;
    padding: 20px 18px !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    gap: 14px !important;
    cursor: pointer !important;
    overflow: visible !important;
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease, background .24s ease !important;
}
.team-card-v16 .team-portrait-wrap { display: grid; justify-items: center; }
.team-card-v16 img {
    width: 132px !important;
    height: 132px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #fff !important;
    border: 3px solid rgba(255,255,255,.92) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.24) !important;
    filter: grayscale(1) contrast(1.04) !important;
}
.team-card-v16 h3 { margin: 4px 0 0 !important; }
.team-card-v16 .team-card-copy span { color: var(--cyan) !important; font-weight: 900 !important; line-height: 1.28 !important; }
@media (hover:hover) and (pointer:fine) {
    .team-card-v16:hover,
    .team-card-v16:focus,
    .team-card-v16.is-active,
    .team-card-v16.is-locked {
        transform: translateY(-7px) scale(1.018) !important;
        border-color: rgba(73,216,255,.56) !important;
        box-shadow: 0 30px 90px rgba(0,0,0,.34), 0 0 0 1px rgba(73,216,255,.14) !important;
        z-index: 8 !important;
    }
}
.team-floating-detail-v16 {
    position: fixed !important;
    z-index: 2000 !important;
    max-width: min(560px, calc(100vw - 32px)) !important;
    padding: 24px 24px 22px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(73,216,255,.32) !important;
    background: rgba(4, 10, 24, .97) !important;
    color: #f4f8ff !important;
    box-shadow: 0 34px 100px rgba(0,0,0,.48), 0 0 0 1px rgba(255,255,255,.05) inset !important;
    backdrop-filter: blur(22px) !important;
    cursor: pointer !important;
}
.team-floating-detail-v16[hidden] { display: none !important; }
.team-floating-detail-v16 h2 { margin: 8px 0 8px !important; color: #fff !important; }
.team-floating-detail-v16 strong { display: block; color: #53ddff !important; margin-bottom: 12px !important; }
.team-floating-detail-v16 p { color: #d9e7ff !important; line-height: 1.68 !important; margin: 0 !important; }
.team-floating-detail-v16 small { display: block; color: rgba(217,231,255,.64) !important; margin-top: 14px !important; }
.team-detail-close-v16 {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 1.2rem;
    cursor: pointer;
}
html[data-theme="light"] .team-floating-detail-v16 {
    background: rgba(255,255,255,.98) !important;
    color: #071326 !important;
    border-color: rgba(43,125,255,.24) !important;
    box-shadow: 0 34px 100px rgba(18,42,82,.20), 0 0 0 1px rgba(13,48,95,.08) inset !important;
}
html[data-theme="light"] .team-floating-detail-v16 h2 { color: #071326 !important; }
html[data-theme="light"] .team-floating-detail-v16 p { color: #243552 !important; }
html[data-theme="light"] .team-detail-close-v16 { color: #071326; background: rgba(7,19,38,.06); border-color: rgba(7,19,38,.16); }

/* Partners: no grey frame, bigger logos, no clipping. */
.ecosystem-v15 { align-items: center !important; }
.partner-logos-v15 { gap: 14px !important; }
.partner-logo-card-v15 {
    background: #fff !important;
    border: 1px solid rgba(4,16,32,.08) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.14) !important;
    min-height: 118px !important;
    padding: 10px 12px !important;
    overflow: visible !important;
}
.partner-logo-card-v15 img {
    width: 100% !important;
    max-width: 214px !important;
    height: 76px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: #fff !important;
    border-radius: 0 !important;
}
.partner-logo-card-v15 span { margin-top: 6px !important; }

/* Auth modal/login cleanup. */
.login-modal-card-v15,
.auth-card-v15,
.auth-card {
    text-align: left !important;
}
.auth-brand-v15,
.auth-brand-modal {
    width: 100% !important;
    display: grid !important;
    justify-items: center !important;
    text-align: center !important;
    gap: 10px !important;
}
.auth-brand-v15 img,
.auth-brand-modal img { margin: 0 auto !important; }
.auth-brand-wordmark { display: grid !important; justify-items: center !important; text-align: center !important; }
.auth-fields-v15,
.auth-fields { display: grid !important; gap: 15px !important; }
.auth-fields-v15 label,
.auth-fields label { display: grid !important; gap: 8px !important; }
.auth-fields-v15 label span,
.auth-fields label span { display: block !important; white-space: nowrap !important; }
.auth-fields-v15 input,
.auth-fields input { width: 100% !important; box-sizing: border-box !important; }

@media (max-width: 1100px) {
    .team-grid-v16 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
    .team-grid-v16 { grid-template-columns: 1fr !important; }
    .team-card-v16 { min-height: auto !important; }
    .team-floating-detail-v16 { left: 16px !important; right: 16px !important; top: auto !important; bottom: 16px !important; width: auto !important; max-height: min(74vh, 620px); overflow: auto; }
    .language-switcher-v16 .language-link,
    .language-switcher-v15 .language-link { min-width: 48px !important; padding: 0 8px !important; }
    .language-code { display: none !important; }
    .language-flag { width: 24px !important; height: 16px !important; }
}
