/* v15 stable cleanup. This file is intentionally last and overrides older layers. */

/* Theme contrast: hero remains readable in both themes. */
html[data-theme="light"] body {
    background: #f5f8ff !important;
    color: #071326 !important;
}
html[data-theme="light"] main { color: #071326 !important; }
html[data-theme="light"] .hero,
html[data-theme="light"] .hero-premium,
html[data-theme="light"] .page-hero,
html[data-theme="light"] .story-hero-v14 {
    background: radial-gradient(circle at 16% 18%, rgba(0, 125, 255, .26), transparent 30%), linear-gradient(135deg, #06111f 0%, #071c33 48%, #0a1020 100%) !important;
    color: #ffffff !important;
}
html[data-theme="light"] .hero h1,
html[data-theme="light"] .hero p,
html[data-theme="light"] .hero .hero-lead,
html[data-theme="light"] .hero .eyebrow,
html[data-theme="light"] .page-hero h1,
html[data-theme="light"] .page-hero p,
html[data-theme="light"] .page-hero .eyebrow {
    color: #ffffff !important;
    text-shadow: 0 1px 16px rgba(0,0,0,.28) !important;
}
html[data-theme="light"] .hero-glass-card {
    background: rgba(255,255,255,.92) !important;
    color: #071326 !important;
}
html[data-theme="light"] .hero-glass-card strong,
html[data-theme="light"] .hero-glass-card span { color: #071326 !important; text-shadow: none !important; }
html[data-theme="light"] .card,
html[data-theme="light"] .product-card,
html[data-theme="light"] .detail-card,
html[data-theme="light"] .chain-section,
html[data-theme="light"] .roadmap-section,
html[data-theme="light"] .story-narrative-v14,
html[data-theme="light"] .story-flow-item-v14,
html[data-theme="light"] .timeline-card-v14,
html[data-theme="light"] .team-card-v15,
html[data-theme="light"] .team-detail-panel-v15,
html[data-theme="light"] .ecosystem-v15,
html[data-theme="light"] .vision-2040-v15,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .auth-card,
html[data-theme="light"] .login-modal-card {
    background: rgba(255,255,255,.95) !important;
    color: #071326 !important;
    border-color: rgba(11,42,139,.16) !important;
}
html[data-theme="light"] .card h2,
html[data-theme="light"] .card h3,
html[data-theme="light"] .product-card h3,
html[data-theme="light"] .detail-card h2,
html[data-theme="light"] .story-narrative-v14 h2,
html[data-theme="light"] .story-flow-item-v14 h3,
html[data-theme="light"] .timeline-card-v14 h3,
html[data-theme="light"] .team-card-v15 h3,
html[data-theme="light"] .team-detail-panel-v15 h2,
html[data-theme="light"] .ecosystem-v15 h2,
html[data-theme="light"] .vision-2040-v15 h2,
html[data-theme="light"] .dashboard-card h2,
html[data-theme="light"] .dashboard-card h3,
html[data-theme="light"] .auth-card h1,
html[data-theme="light"] .login-modal-card h2 { color: #071326 !important; }
html[data-theme="light"] .card p,
html[data-theme="light"] .product-card p,
html[data-theme="light"] .detail-card p,
html[data-theme="light"] .story-narrative-v14 p,
html[data-theme="light"] .story-flow-item-v14 p,
html[data-theme="light"] .timeline-card-v14 p,
html[data-theme="light"] .team-card-v15 p,
html[data-theme="light"] .team-detail-panel-v15 p,
html[data-theme="light"] .ecosystem-v15 p,
html[data-theme="light"] .vision-2040-v15 p,
html[data-theme="light"] .dashboard-card p { color: #263a58 !important; }

/* Language switcher: no emoji text duplication; visible desktop and mobile. */
.language-switcher-v15 {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.08) !important;
    min-width: max-content !important;
}
.language-switcher-v15 .language-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 66px !important;
    height: 36px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    color: var(--text) !important;
    font-weight: 900 !important;
    font-size: .78rem !important;
    letter-spacing: .04em !important;
}
.language-switcher-v15 .language-link.is-active {
    background: rgba(73,216,255,.22) !important;
    box-shadow: inset 0 0 0 1px rgba(73,216,255,.35) !important;
}
.css-flag {
    position: relative;
    display: inline-block !important;
    width: 25px !important;
    height: 16px !important;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(255,255,255,.65), 0 2px 6px rgba(0,0,0,.20);
    background: #fff;
    flex: 0 0 auto;
}
.css-flag-fr { background: linear-gradient(90deg, #0055a4 0 33.33%, #fff 33.33% 66.66%, #ef4135 66.66% 100%); }
.css-flag-uk { background: #012169; }
.css-flag-uk::before { content:""; position:absolute; inset:0; background: linear-gradient(33deg, transparent 42%, #fff 42% 50%, #c8102e 50% 56%, #fff 56% 64%, transparent 64%), linear-gradient(147deg, transparent 42%, #fff 42% 50%, #c8102e 50% 56%, #fff 56% 64%, transparent 64%); }
.css-flag-uk::after { content:""; position:absolute; inset:0; background: linear-gradient(90deg, transparent 0 38%, #fff 38% 45%, #c8102e 45% 55%, #fff 55% 62%, transparent 62%), linear-gradient(0deg, transparent 0 33%, #fff 33% 42%, #c8102e 42% 58%, #fff 58% 67%, transparent 67%); }
.css-flag i { display: none; }
html[data-theme="light"] .language-switcher-v15 { background: rgba(255,255,255,.92) !important; border-color: rgba(11,42,139,.16) !important; }
html[data-theme="light"] .language-switcher-v15 .language-link { color: #071326 !important; }

/* Header: keep controls visible on desktop. */
.header-tools { display: flex !important; align-items: center !important; gap: 10px !important; }
@media (min-width: 981px) {
    .menu-button { display: none !important; }
    .site-nav { display: flex !important; }
    .language-switcher-v15 { display: inline-flex !important; }
}
@media (max-width: 980px) {
    .site-nav.is-open { display: grid !important; }
    .language-switcher-v15 { display: inline-flex !important; }
    .header-tools { gap: 8px !important; }
    .language-switcher-v15 .language-link { min-width: 54px !important; padding: 0 8px !important; }
    .language-switcher-v15 .language-link b { display: none !important; }
}

/* Brand: handwritten-style label, simple tricolor line, no thick outline. */
.brand-copy strong,
.logo-wordmark,
.auth-brand-v15 strong,
.auth-brand-modal strong,
.footer-brand .brand-copy strong {
    font-family: "Segoe Script", "Brush Script MT", "Apple Chancery", cursive !important;
    font-weight: 700 !important;
    font-style: italic !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.brand-tricolor,
.tricolor-line {
    display: grid !important;
    grid-template-columns: 1fr .85fr 1fr !important;
    gap: 4px !important;
    height: 3px !important;
    margin-top: 4px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.brand-tricolor i:nth-child(1), .tricolor-line i:nth-child(1) { background: #173a8f !important; }
.brand-tricolor i:nth-child(2), .tricolor-line i:nth-child(2) { background: #fff !important; box-shadow: 0 0 0 1px rgba(15,30,50,.08) !important; }
.brand-tricolor i:nth-child(3), .tricolor-line i:nth-child(3) { background: #d71f2a !important; }

/* Login modal/page: centered and spaced. */
.login-modal-card-v15,
.auth-page-card-v15 {
    width: min(520px, calc(100vw - 32px)) !important;
    padding: clamp(26px, 4vw, 40px) !important;
    display: grid !important;
    gap: 20px !important;
    text-align: center !important;
}
.auth-brand-v15 {
    display: grid !important;
    justify-items: center !important;
    gap: 10px !important;
    margin: 0 auto 4px !important;
}
.auth-brand-v15 img { width: 92px !important; height: 92px !important; object-fit: contain !important; margin: 0 auto !important; }
.auth-brand-wordmark { display: grid !important; justify-items: center !important; gap: 2px !important; }
.auth-brand-wordmark strong { font-size: 1.5rem !important; color: var(--text) !important; }
.auth-brand-wordmark small { color: var(--muted) !important; font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
.auth-modal-intro { display: grid !important; gap: 8px !important; text-align: center !important; }
.auth-modal-intro h2,
.auth-card-head h1 { margin: 0 !important; }
.auth-fields-v15 { display: grid !important; gap: 18px !important; text-align: left !important; }
.auth-fields-v15 label { display: grid !important; gap: 8px !important; width: 100% !important; }
.auth-fields-v15 label span { display: block !important; white-space: nowrap !important; font-weight: 850 !important; font-size: .92rem !important; color: var(--text) !important; }
.auth-fields-v15 input { min-height: 52px !important; padding: 0 16px !important; width: 100% !important; box-sizing: border-box !important; }

/* Team: one detail panel only, no overlays, no inline stacking. */
.team-section-v15 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 420px) !important;
    gap: clamp(22px, 3vw, 36px) !important;
    align-items: start !important;
}
.team-grid-v15 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
.team-card-v15 {
    position: relative !important;
    padding: 20px !important;
    min-height: 355px !important;
    overflow: hidden !important;
    cursor: pointer !important;
    outline: none !important;
}
.team-card-v15:hover,
.team-card-v15:focus,
.team-card-v15.is-active {
    transform: translateY(-4px) !important;
    border-color: rgba(73,216,255,.62) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.28) !important;
}
.team-card-v15 img { width: 108px !important; height: 108px !important; object-fit: cover !important; margin-inline: auto !important; }
.team-card-v15 .team-card-copy h3 { margin-top: 16px !important; }
.team-card-v15 .team-card-copy span { color: var(--cyan) !important; font-weight: 900 !important; }
.team-detail-panel-v15 {
    position: sticky !important;
    top: 110px !important;
    padding: clamp(24px, 3vw, 34px) !important;
    border-radius: 28px !important;
    border: 1px solid var(--line) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(73,216,255,.045)) !important;
    min-height: 355px !important;
    box-shadow: var(--shadow-soft) !important;
}
.team-detail-panel-v15 h2 { margin: 10px 0 8px !important; font-size: clamp(1.7rem, 2.6vw, 2.6rem) !important; }
.team-detail-panel-v15 strong { display: block !important; color: var(--cyan) !important; margin-bottom: 18px !important; }
.team-detail-panel-v15 p { font-size: 1.02rem !important; line-height: 1.72 !important; color: var(--muted-strong) !important; }
.team-detail-panel, .team-detail-dock, .team-inline-detail-v14 { display: none !important; }
@media (max-width: 1180px) {
    .team-section-v15 { grid-template-columns: 1fr !important; }
    .team-detail-panel-v15 { position: relative !important; top: auto !important; order: 2; }
    .team-grid-v15 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) { .team-grid-v15 { grid-template-columns: 1fr !important; } }

/* Partner logos: one white card only, bigger logos, no crop. */
.ecosystem-v15 {
    display: grid !important;
    grid-template-columns: minmax(260px, 420px) 1fr !important;
    gap: clamp(26px, 4vw, 56px) !important;
    align-items: center !important;
}
.partner-logos-v15 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
    gap: 14px !important;
}
.partner-logo-card-v15 {
    min-height: 132px !important;
    padding: 14px 16px !important;
    background: #fff !important;
    border: 1px solid rgba(10,30,60,.10) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.22) !important;
    overflow: visible !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
}
.partner-logo-card-v15 img {
    display: block !important;
    width: 94% !important;
    height: auto !important;
    max-height: 82px !important;
    max-width: 260px !important;
    object-fit: contain !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.partner-logo-card-v15 span { color: #071326 !important; text-align: center !important; font-weight: 850 !important; font-size: .84rem !important; }
@media (hover: hover) and (pointer: fine) { .partner-logo-card-v15:hover { transform: translateY(-5px) scale(1.025) !important; } }
@media (max-width: 900px) { .ecosystem-v15 { grid-template-columns: 1fr !important; } .partner-logos-v15 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) { .partner-logos-v15 { grid-template-columns: 1fr !important; } }

/* Vision: remove the old wall of tiles. */
.vision-2040-v15 {
    display: grid !important;
    grid-template-columns: minmax(280px, .9fr) 1.1fr !important;
    gap: clamp(26px, 4vw, 58px) !important;
    padding: clamp(30px, 5vw, 64px) !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--radius-xl) !important;
    background: linear-gradient(135deg, rgba(255,255,255,.075), rgba(73,216,255,.035)) !important;
}
.vision-copy-v15 h2 { font-size: clamp(2rem, 4vw, 4.4rem) !important; margin: 8px 0 18px !important; }
.vision-copy-v15 p { font-size: 1.08rem !important; line-height: 1.72 !important; }
.vision-markets-v15 { display: grid !important; gap: 14px !important; }
.vision-markets-v15 article {
    display: grid !important;
    grid-template-columns: 150px 1fr !important;
    gap: 18px !important;
    align-items: center !important;
    padding: 18px 20px !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.055) !important;
}
.vision-markets-v15 h3 { margin: 0 !important; color: var(--cyan) !important; }
.vision-markets-v15 p { margin: 0 !important; }
@media (max-width: 860px) { .vision-2040-v15, .vision-markets-v15 article { grid-template-columns: 1fr !important; } }

/* Admin v15 permissions. */
.admin-users-layout-v15 { grid-template-columns: minmax(300px, 440px) 1fr !important; }
.admin-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.permission-fieldset { border: 1px solid var(--line); border-radius: 18px; padding: 14px; display: grid; gap: 8px; }
.permission-fieldset legend { padding: 0 8px; color: var(--muted-strong); font-weight: 850; }
.admin-user-form-v15 textarea { width: 100%; resize: vertical; min-height: 90px; }
.permission-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.permission-badge { background: rgba(73,216,255,.12) !important; border-color: rgba(73,216,255,.28) !important; color: var(--cyan) !important; }
.user-access-meta-v15 small { display: block; }
@media (max-width: 1100px) { .admin-users-layout-v15 { grid-template-columns: 1fr !important; } }
