:root {
  --eds-bg: #090d14;
  --eds-surface: #111823;
  --eds-surface-soft: #172130;
  --eds-text: #f4f7fb;
  --eds-muted: #aeb9c7;
  --eds-line: rgba(255,255,255,.12);
  --eds-profilegroups: #8fd8ff;
  --eds-savmasys: #3aa0ff;
  --eds-git: #4d8dff;
  --eds-aurix: #9b6cff;
  --eds-yoursystem: #32d6b2;
  --eds-mvrecords: #25e1e8;
  --eds-myreside: #78b85a;
  --eds-myreside-secondary: #d7b66d;
  --eds-profilestores: #ffad42;
  --eds-radius: 26px;
  --eds-shadow: 0 28px 80px rgba(0,0,0,.32);
}

.pg-hero .pg-brand-lockup { display: none; }
body { background: var(--eds-bg); }
.site-header { background: rgba(9,13,20,.88); border-bottom-color: var(--eds-line); color: var(--eds-text); }
.site-header .brand-copy small, .site-header .main-nav a { color: var(--eds-muted); }
.site-header .main-nav a:hover, .site-header .main-nav .current-menu-item > a, .site-header .main-nav .current_page_item > a { color: var(--eds-profilegroups); }
.pg-header-monogram { color: var(--eds-profilegroups); border-color: rgba(143,216,255,.55); background: linear-gradient(145deg,#172130,#0b111a); box-shadow: inset 0 0 0 5px rgba(143,216,255,.06),0 0 28px rgba(143,216,255,.12); }
.pg-language-switcher { display: inline-flex; align-items: center; gap: 6px; padding: 4px; border: 1px solid var(--eds-line); border-radius: 999px; background: rgba(255,255,255,.04); }
.pg-language-link { min-width: 34px; padding: 7px 9px; border-radius: 999px; color: var(--eds-muted); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-align: center; }
.pg-language-link.is-current { color: #071018; background: var(--eds-profilegroups); }


/* Canonical Profilegroups brand lockup sizing. Global EDS CSS is loaded by all corporate templates. */
.pg-brand-logo { display: block; width: auto; object-fit: contain; }
.pg-brand-logo--header { height: 70px; max-width: 128px; }
.pg-brand-logo--footer { height: 82px; max-width: 150px; }

/* Navigation 2.0 */
.pg-site-header { position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(18px); box-shadow: 0 1px 0 rgba(255,255,255,.035),0 18px 48px rgba(0,0,0,.16); }
.pg-site-header .nav-wrap { min-height: 78px; gap: 22px; }
.pg-header-brand { flex: 0 0 auto; }
.pg-header-brand .brand-copy small { letter-spacing: .08em; text-transform: uppercase; }
.pg-header-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.pg-header-cta { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid rgba(143,216,255,.38); border-radius: 12px; color: #071018; background: var(--eds-profilegroups); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 10px 28px rgba(143,216,255,.13); }
.pg-header-cta:hover, .pg-header-cta:focus-visible { transform: translateY(-1px); box-shadow: 0 14px 34px rgba(143,216,255,.22); }
.main-nav .menu { gap: clamp(14px,2vw,28px); }
.main-nav a { position: relative; font-size: .73rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.main-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -8px; height: 1px; background: var(--eds-profilegroups); transition: right .2s ease; }
.main-nav a:hover::after, .main-nav .current-menu-item > a::after, .main-nav .current_page_item > a::after { right: 0; }

/* EDS Hero 3.0 */
.pg-hero { position: relative; isolation: isolate; min-height: min(820px,calc(100vh - 84px)); display: grid; align-items: center; overflow: hidden; color: var(--eds-text); background: radial-gradient(circle at 78% 20%,rgba(143,216,255,.24),transparent 23%), radial-gradient(circle at 16% 78%,rgba(155,108,255,.15),transparent 28%), linear-gradient(135deg,#080d14 0%,#101a29 54%,#081018 100%); }
.pg-hero::before, .pg-hero::after { content: ''; position: absolute; pointer-events: none; z-index: -1; }
.pg-hero::before { inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom,black,transparent 88%); }
.pg-hero::after { width: 520px; height: 520px; right: -140px; top: 80px; border: 1px solid rgba(143,216,255,.18); border-radius: 50%; box-shadow: 0 0 0 72px rgba(143,216,255,.025),0 0 0 144px rgba(155,108,255,.018); }
.pg-hero-grid { gap: clamp(42px,7vw,110px); align-items: center; }
.pg-hero-copy { max-width: 760px; }
.pg-hero .eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 22px; padding: 8px 12px; border: 1px solid rgba(143,216,255,.28); border-radius: 999px; background: rgba(143,216,255,.055); }
.pg-hero .eyebrow::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--eds-profilegroups); box-shadow: 0 0 18px rgba(143,216,255,.7); }
.pg-hero h1 { max-width: 12ch; margin-bottom: 24px; font-size: clamp(3.25rem,6.6vw,6.8rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.pg-hero h1 em { display: inline-block; margin-top: .12em; color: var(--eds-profilegroups); font-style: normal; text-shadow: 0 0 32px rgba(143,216,255,.15); }
.pg-hero p, .pg-hero .lead { color: var(--eds-muted); }
.pg-hero .lead { max-width: 68ch; font-size: clamp(1.04rem,1.5vw,1.22rem); line-height: 1.75; }
.pg-hero .actions { margin-top: 34px; }
.pg-hero .btn { min-height: 50px; border-radius: 14px; }
.pg-hero .btn.primary { box-shadow: 0 16px 42px rgba(143,216,255,.16); }
.pg-hero-visual { position: relative; overflow: hidden; min-height: 420px; padding: clamp(28px,4vw,48px); background: linear-gradient(150deg,rgba(24,35,51,.97),rgba(7,12,20,.95)); border-color: rgba(143,216,255,.28); box-shadow: var(--eds-shadow),inset 0 1px 0 rgba(255,255,255,.07); }
.pg-hero-visual::before { content: ''; position: absolute; inset: 22px; border: 1px solid rgba(143,216,255,.12); border-radius: calc(var(--eds-radius) - 8px); }
.pg-hero-visual::after { content: ''; position: absolute; width: 250px; height: 250px; right: -50px; bottom: -70px; border-radius: 50%; background: radial-gradient(circle,rgba(143,216,255,.26),transparent 68%); filter: blur(8px); }
.pg-visual-mark { position: relative; z-index: 1; font-size: clamp(5rem,10vw,9.4rem); line-height: .9; letter-spacing: -.08em; color: var(--eds-profilegroups); text-shadow: 0 0 48px rgba(143,216,255,.22); }
.pg-visual-caption { position: relative; z-index: 1; margin-top: auto; }
.pg-visual-caption span, .pg-hero em { color: var(--eds-profilegroups); }

.eds-portfolio { padding: 112px 0; background: radial-gradient(circle at 10% 10%,rgba(77,141,255,.08),transparent 22%), radial-gradient(circle at 90% 82%,rgba(50,214,178,.07),transparent 24%), var(--eds-bg); color: var(--eds-text); }
.eds-portfolio .pg-section-heading { max-width: 860px; margin: 0 auto 46px; }
.eds-portfolio .pg-section-heading p { color: var(--eds-muted); }
.eds-project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.eds-project-card { --project-accent: var(--eds-profilegroups); position: relative; overflow: hidden; min-width: 0; border: 1px solid color-mix(in srgb,var(--project-accent) 34%,transparent); border-radius: var(--eds-radius); background: linear-gradient(145deg,var(--eds-surface-soft),var(--eds-surface)); box-shadow: 0 18px 56px rgba(0,0,0,.22); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.eds-project-card::after { content: ''; position: absolute; inset: auto -22% -40% 34%; height: 58%; border-radius: 50%; background: color-mix(in srgb,var(--project-accent) 11%,transparent); filter: blur(36px); pointer-events: none; }
.eds-project-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb,var(--project-accent) 72%,transparent); box-shadow: 0 30px 78px rgba(0,0,0,.36); }
.eds-project-card:focus-within { outline: 2px solid var(--project-accent); outline-offset: 4px; }
.eds-project-card[data-project="git"] { --project-accent: var(--eds-git); }
.eds-project-card[data-project="aurix"] { --project-accent: var(--eds-aurix); }
.eds-project-card[data-project="yoursystem"] { --project-accent: var(--eds-yoursystem); }
.eds-project-card[data-project="mvrecords"] { --project-accent: var(--eds-mvrecords); }
.eds-project-card[data-project="myreside"] { --project-accent: var(--eds-myreside); }
.eds-project-card[data-project="profilestores"] { --project-accent: var(--eds-profilestores); }
.eds-project-media { position: relative; z-index: 1; min-height: 205px; overflow: hidden; border-bottom: 1px solid color-mix(in srgb,var(--project-accent) 25%,transparent); background: linear-gradient(155deg,color-mix(in srgb,var(--project-accent) 11%,#0b1018),#0a0f17); }
.eds-project-art { display: block; width: 100%; height: 205px; object-fit: cover; transition: transform .4s ease,filter .4s ease; }
.eds-project-card:hover .eds-project-art { transform: scale(1.035); filter: saturate(1.08) brightness(1.05); }
.eds-project-mark { position: absolute; left: 22px; bottom: -34px; width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid color-mix(in srgb,var(--project-accent) 55%,transparent); border-radius: 20px; background: rgba(8,13,20,.92); box-shadow: 0 16px 38px rgba(0,0,0,.38),0 0 34px color-mix(in srgb,var(--project-accent) 16%,transparent); backdrop-filter: blur(12px); }
.eds-project-mark img { display: block; width: 68px; height: 68px; border-radius: 20px; object-fit: contain; }
.eds-project-status { position: absolute; top: 18px; right: 18px; padding: 8px 11px; border: 1px solid color-mix(in srgb,var(--project-accent) 45%,transparent); border-radius: 999px; color: var(--eds-text); background: rgba(5,10,16,.76); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; backdrop-filter: blur(12px); }
.eds-project-content { position: relative; z-index: 1; padding: 54px 28px 28px; }
.eds-project-category { display: block; margin-bottom: 10px; color: var(--project-accent); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.eds-project-card h3 { margin-bottom: 14px; color: var(--eds-text); }
.eds-project-card p { min-height: 5.8em; color: var(--eds-muted); }
.eds-project-meta { display: flex; justify-content: flex-end; align-items: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--eds-line); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.eds-project-meta a { color: var(--eds-text); text-align: right; }
.eds-project-meta a:hover, .eds-project-meta a:focus-visible { color: var(--project-accent); }

/* Footer 2.0 */
.pg-site-footer { position: relative; overflow: hidden; color: var(--eds-text); background: linear-gradient(180deg,#0b111a,#070b11); border-top: 1px solid var(--eds-line); }
.pg-site-footer::before { content: ''; position: absolute; width: 520px; height: 520px; left: -220px; bottom: -330px; border-radius: 50%; background: radial-gradient(circle,rgba(143,216,255,.12),transparent 68%); pointer-events: none; }
.pg-footer-main { position: relative; display: grid; grid-template-columns: minmax(260px,1.5fr) repeat(3,minmax(150px,1fr)); gap: clamp(34px,5vw,72px); padding-top: 72px; padding-bottom: 58px; }
.pg-footer-intro { max-width: 390px; }
.pg-footer-intro p { margin: 22px 0; color: var(--eds-muted); line-height: 1.75; }
.pg-footer-primary-link { color: var(--eds-profilegroups); font-size: .74rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pg-footer-column { display: flex; flex-direction: column; gap: 11px; }
.pg-footer-column h3 { margin-bottom: 7px; color: var(--eds-text); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.pg-footer-column a { color: var(--eds-muted); font-size: .9rem; }
.pg-footer-column a:hover, .pg-footer-column a:focus-visible { color: var(--eds-profilegroups); }
.pg-site-footer .legal { position: relative; padding-top: 22px; padding-bottom: 28px; border-top: 1px solid var(--eds-line); color: var(--eds-muted); }

@media (prefers-reduced-motion: reduce) {
  .eds-project-card, .eds-project-art, .main-nav a::after, .pg-header-cta { transition: none; }
  .eds-project-card:hover, .pg-header-cta:hover { transform: none; }
  .eds-project-card:hover .eds-project-art { transform: none; }
}
@media (max-width: 1180px) {
  .pg-header-cta { display: none; }
}
@media (max-width: 1040px) {
  .pg-hero { min-height: auto; padding: 112px 0 96px; }
  .pg-hero-grid { grid-template-columns: 1fr; }
  .pg-hero h1 { max-width: 14ch; }
  .pg-hero-visual { min-height: 340px; }
  .eds-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pg-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px) {
  .pg-header-actions { margin-left: 0; }
  .pg-site-header .nav-wrap { min-height: 70px; }
}
@media (max-width: 680px) {
  .pg-brand-logo--header { height: 54px; max-width: 98px; }
  .pg-hero { padding: 92px 0 72px; }
  .pg-hero h1 { font-size: clamp(2.85rem,15vw,4.25rem); }
  .pg-hero .actions { display: grid; grid-template-columns: 1fr; }
  .pg-hero .btn { width: 100%; justify-content: center; }
  .pg-hero-visual { min-height: 280px; }
  .eds-project-grid { grid-template-columns: 1fr; }
  .eds-portfolio { padding: 78px 0; }
  .pg-language-switcher { order: 3; }
  .eds-project-art, .eds-project-media { min-height: 190px; height: 190px; }
  .eds-project-card p { min-height: 0; }
  .pg-footer-main { grid-template-columns: 1fr; padding-top: 58px; }
  .pg-footer-intro { max-width: none; }
  .pg-site-footer .legal { display: grid; gap: 8px; }
}

/* Corporate accessibility/navigation rules migrated from header for strict CSP. */
.corporate-v4-products .eyebrow,
.eds-editorial-grid .eyebrow,
.eds-about-model .eyebrow,
.eds-ventures-section .eyebrow,
.investor-principles .eyebrow,
.contact-eds-routes .eyebrow,
.contact-eds-products .eyebrow {
    color: var(--eds-profilegroups);
}
.corporate-v4-products h2 {
    color: var(--eds-text);
}
.investor-principles .lead,
.contact-eds-routes .lead {
    color: var(--eds-muted);
}
@media (max-width: 1040px) {
    .pg-site-header .main-nav {
        background: #0b111a;
        border-bottom-color: rgba(255,255,255,.12);
    }
    .pg-site-header .main-nav a {
        color: #f4f7fb;
    }
    .pg-site-header .main-nav a:hover,
    .pg-site-header .main-nav a:focus-visible,
    .pg-site-header .main-nav .current-menu-item > a,
    .pg-site-header .main-nav .current_page_item > a {
        color: #ffffff;
    }
}
