/* Palette from https://www.enterprise-it.com/css/eit.css. */
:root {
    --eit-navy: #0a1628;
    --eit-navy-light: #0f2040;
    --eit-blue: #0078d4;
    --eit-blue-dark: #005a9e;
    --eit-cyan: #00b4d8;
    --eit-light: #f0f4f8;
    --eit-light-2: #dbeafe;
    --eit-white: #ffffff;
    --bs-body-bg: var(--eit-navy);
    --bs-body-color: var(--eit-light);
    --bs-primary: var(--eit-blue);
    --bs-primary-rgb: 0, 120, 212;
}
body { margin: 0; font-size: 1rem; line-height: 1.75; }
body::before {
    content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(ellipse at 80% 10%, #0078d426, transparent 55%),
        linear-gradient(#0078d409 1px, transparent 1px), linear-gradient(90deg, #0078d409 1px, transparent 1px);
    background-size: auto, 48px 48px, 48px 48px;
}
.profile-page { min-height: 100vh; min-height: 100svh; padding: 48px 20px; }
.profile-card {
    width: 100%; max-width: 640px; overflow: hidden;
    background: var(--eit-navy-light); color: var(--eit-light);
    border-radius: 18px; box-shadow: 0 28px 90px #0005, 0 0 0 1px #dbeafe18;
}
.profile-cover {
    height: 180px; position: relative;
    background: linear-gradient(135deg, #0a1628d9, #005a9e99 65%, #00b4d84d), url('../images/bg.jpg') center 48% / cover;
}
.cover-line { position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--eit-cyan), transparent); }
.profile-card .card-body { padding: 0 44px 40px; }
.profile-photo { position: relative; width: 126px; height: 126px; object-fit: cover; border: 5px solid var(--eit-navy-light); border-radius: 50%; margin-top: -63px; margin-bottom: 23px; box-shadow: 0 0 0 1px #00b4d84d; }
.profile-role { color: var(--eit-cyan); text-transform: uppercase; font-size: .875rem; letter-spacing: .2em; font-weight: 700; margin-bottom: 6px; }
h1 { color: var(--eit-white); font-size: clamp(2rem, 6vw, 2.8rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.2; margin-bottom: 0; }
.title-rule { display: block; margin: 24px auto; width: 38px; height: 2px; background: var(--eit-cyan); }
.profile-intro { font-size: 1.125rem; margin: 0 auto 18px; max-width: 360px; }
.disciplines { gap: 7px 0; margin-bottom: 18px; color: var(--eit-light-2); font-size: .9375rem; }
.disciplines li { display: flex; align-items: center; }
.disciplines li:not(:last-child)::after { content: "+"; color: var(--eit-cyan); margin: 0 10px; }
.specialization { color: var(--eit-light-2); font-size: 1rem; margin-bottom: 30px; }
.profile-actions { padding-top: 28px; border-top: 1px solid #dbeafe20; }
.btn { font-size: .9375rem; font-weight: 600; padding: 12px 18px; border-radius: 8px; min-height: 48px; }
.btn-primary { --bs-btn-bg: var(--eit-blue); --bs-btn-border-color: var(--eit-blue); --bs-btn-hover-bg: var(--eit-blue-dark); --bs-btn-hover-border-color: var(--eit-blue-dark); --bs-btn-active-bg: var(--eit-blue-dark); --bs-btn-active-border-color: var(--eit-blue-dark); }
.btn-outline-light { --bs-btn-color: var(--eit-white); --bs-btn-border-color: #dbeafe66; --bs-btn-hover-bg: #ffffff12; --bs-btn-hover-color: white; --bs-btn-hover-border-color: var(--eit-cyan); }
a:focus-visible { outline: 3px solid var(--eit-cyan); outline-offset: 5px; }
.loading-shell { min-height: 100svh; display: grid; place-content: center; text-align: center; padding: 24px; }
.loading-shell h1 { font-size: 2rem; }
.loading-bar { height: 3px; background: #dbeafe33; margin-top: 24px; overflow: hidden; }
.loading-bar::after { content: ""; display: block; height: 100%; width: var(--blazor-load-percentage, 0%); background: var(--eit-cyan); }
#blazor-error-ui { display: none; position: fixed; bottom: 0; width: 100%; background: var(--eit-light); color: var(--eit-navy); padding: 16px; z-index: 1000; text-align: center; }
#blazor-error-ui a { color: var(--eit-blue-dark); margin-left: 12px; }
@media (max-width: 575.98px) {
    .profile-page { padding: 24px 16px; }
    .profile-cover { height: 150px; }
    .profile-card .card-body { padding: 0 24px 28px; }
    .profile-photo { width: 112px; height: 112px; margin-top: -56px; }
    .profile-intro { max-width: 280px; }
    .profile-actions { padding-top: 22px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; scroll-behavior: auto !important; } }

h1:focus { outline: none; }
