.legal-footer{background:rgba(33,33,33,.62);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(28px) saturate(135%);-webkit-backdrop-filter:blur(28px) saturate(135%);box-shadow:none;border-radius:12px!important}
.footer-row{font:500 14px/1.2 Manrope,Arial,sans-serif!important}
.footer-row nav a{font:500 14px/1.2 Manrope,Arial,sans-serif!important}
:is(.menu-toggle,.contact-button,.floating-save,.back,.save-contact){background:rgba(41,39,36,.56)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-color:rgba(255,255,255,.14);color:#fff}
:is(.menu-toggle,.contact-button,.back,.save-contact):hover{background:rgba(53,51,48,.65)!important;border-color:rgba(255,255,255,.28);color:#fff}
.floating-save{background:rgba(255,251,241,.45)!important;border-color:rgba(33,33,33,.14);color:#212121}
.floating-save:hover{background:rgba(245,241,231,.6)!important;border-color:rgba(33,33,33,.28);color:#212121}
.language-switch{font:500 14px/1.2 Manrope,Arial,sans-serif;position:relative;z-index:3}
.language-select{position:relative}
.language-select summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid #ffffff24;border-radius:12px;background:#ffffff08;cursor:pointer;color:#fff5df;transition:background .15s,border-color .15s}
.language-select summary::-webkit-details-marker{display:none}
.language-select summary:hover{background:#ffffff10;border-color:#ffffff47}
.language-select summary:focus-visible,.language-switch a:focus-visible{outline:2px solid #fff5df;outline-offset:2px}
.language-select[open] summary>svg:last-child{transform:rotate(180deg)}
.language-options{position:absolute;bottom:calc(100% + 8px);right:0;min-width:116px;padding:6px;background:rgba(33,33,33,.95);border:1px solid #ffffff24;border-radius:12px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.language-switch .language-options a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;color:#fff5df;font:500 14px/1.2 Manrope,Arial,sans-serif}
.language-switch .language-options a[aria-current="true"],.language-switch .language-options a:hover{color:#fff5df;background:#ffffff12}
.language-select svg{flex-shrink:0}
@media(pointer:coarse){.language-select summary{min-height:44px}}
/* Layered smoked glass: directional light, crisp edge and a quiet interior. */
.legal-footer{
 background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.018) 38%,rgba(255,255,255,.045)),linear-gradient(180deg,rgba(24,26,28,.76),rgba(15,18,20,.88));
 border:1px solid rgba(255,255,255,.19);border-top-color:rgba(255,255,255,.34);
 backdrop-filter:blur(38px) saturate(125%);-webkit-backdrop-filter:blur(38px) saturate(125%);
 box-shadow:inset 0 1px 0 #ffffff12,inset 0 -1px 0 #ffffff06,0 24px 80px #0005,0 4px 16px #0002;
 padding-bottom:24px;
}
.footer-backdrop{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:rgba(6,9,12,.18)}
:is(.menu-toggle,.contact-button,.back,.save-contact){
 background:linear-gradient(145deg,#ffffff15,#ffffff03 60%),rgba(29,32,34,.64)!important;
 border:1px solid #ffffff26;border-top-color:#ffffff4a;
 box-shadow:inset 0 1px 0 #ffffff0c,0 4px 12px #00000012;
 backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);
 transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;
}
:is(.menu-toggle,.contact-button,.back,.save-contact):hover{background:linear-gradient(145deg,#ffffff20,#ffffff09 60%),rgba(38,41,43,.68)!important;border-color:#ffffff47;box-shadow:inset 0 1px 0 #ffffff17,0 6px 18px #00000018}
.floating-save{background:linear-gradient(145deg,#ffffff90,#ffffff15),rgba(255,251,241,.36)!important;border-top-color:#fff9;box-shadow:inset 0 1px 0 #ffffff80,0 4px 12px #21212108}
.footer-row{width:100%;max-width:1000px;margin-left:auto!important;margin-right:auto!important;min-height:64px;box-sizing:border-box;padding:16px 0 0!important;border-top:1px solid #ffffff12!important;column-gap:24px!important;position:relative;isolation:isolate}
.footer-row nav{gap:6px}
.footer-row nav a{padding:11px 12px;border-radius:8px;color:#fff5dfad;transition:background .15s,color .15s}
.footer-row nav a:first-child{margin-left:-12px}
.footer-row nav a:hover,.footer-row nav a[aria-current="page"]{color:#fff5df;background:#ffffff09}
.footer-row nav a:focus-visible{outline:2px solid #fff5df;outline-offset:2px}
.language-select summary{min-width:88px;min-height:40px;padding:0 12px;background:linear-gradient(145deg,#ffffff0d,#ffffff03);border-color:#ffffff18;border-top-color:#ffffff30;box-shadow:inset 0 1px 0 #ffffff05;font:500 14px/1.2 Manrope,Arial,sans-serif;gap:9px}
.language-select[open] summary{background:#ffffff0e;border-color:#ffffff32}
.language-select summary>svg:last-child{opacity:.55;transition:transform .18s}
.language-options{width:208px;min-width:0;padding:8px;bottom:calc(100% + 12px);border:1px solid #ffffff26;border-top-color:#ffffff4a;border-radius:12px;background:linear-gradient(145deg,#ffffff13,#ffffff03),rgba(21,24,27,.96);box-shadow:inset 0 1px 0 #ffffff08,0 12px 40px #0006;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);transform-origin:bottom right}
.language-options::before{content:'Sprache';display:block;padding:7px 11px 9px;font:500 11px/1.4 Manrope,Arial,sans-serif;letter-spacing:.04em;color:#fff5df70}
html[lang="en"] .language-options::before{content:'Language'}
.language-switch .language-options a{min-height:42px;box-sizing:border-box;padding:10px 11px;gap:10px;border-radius:7px;color:#fff5dfb8;transition:background .15s,color .15s}
.language-switch .language-options a[aria-current="true"]{background:#ffffff09;color:#fff5df}
.language-switch .language-options a:hover{background:#ffffff12;color:#fff5df}
.language-options a[aria-current="true"]::after{content:'';margin-left:auto;width:9px;height:5px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);translate:0 -2px}
.language-select[open] .language-options{animation:language-reveal .16s ease-out}
@keyframes language-reveal{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:680px){.legal-footer{padding-bottom:18px}.footer-row{min-height:62px;gap:12px!important;padding-top:12px!important}.footer-row nav{gap:2px}.footer-row nav a{padding:11px 8px}.footer-row nav a:first-child{margin-left:-8px}.language-options{width:190px}.language-select summary{min-width:80px;padding:0 10px}}
@media(pointer:coarse){.language-select summary,.language-switch .language-options a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.language-select[open] .language-options{animation:none}.language-select summary>svg:last-child{transition:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.legal-footer{background:#202326}.language-options{background:#202326}}

/* Edge-to-edge language rows with straight inner corners. */
.language-options{padding:0;overflow:hidden}
.language-options::before{padding:14px 19px 10px}
.language-switch .language-options a{border-radius:0;margin:0;width:100%;padding:12px 19px}
.footer-row nav a,.footer-row nav a:hover,.footer-row nav a[aria-current="page"]{background:transparent}
#menu-legal-title:focus{outline:none;box-shadow:none}
/* Match the menu's neutral hover; retain the glass surface and button outline. */
:is(.menu-toggle,.contact-button,.back,.save-contact):hover,.legal-footer a.contact-button:hover{
 color:#fff5df;
 background:linear-gradient(#ffffff12,#ffffff12),linear-gradient(145deg,#ffffff15,#ffffff03 60%),rgba(29,32,34,.64)!important;
 border-color:#ffffff26;border-top-color:#ffffff4a;
 box-shadow:inset 0 1px 0 #ffffff0c,0 4px 12px #00000012;
 transform:none;
}
:is(.menu-toggle,.contact-button,.back,.save-contact):active{transform:translateY(1px)}
/* Slow, low-intensity illumination inside slightly clearer glass. */
@property --mh-light-x{syntax:'<percentage>';inherits:false;initial-value:18%}
@keyframes mh-glass-light{from{--mh-light-x:18%}to{--mh-light-x:82%}}
.legal-footer,.language-options,.language-select summary,:is(.menu-toggle,.contact-button,.back,.save-contact,.floating-save){--mh-light-x:18%;animation:mh-glass-light 18s ease-in-out infinite alternate}
.legal-footer{background:radial-gradient(ellipse at var(--mh-light-x) 0%,rgba(255,245,224,.055),transparent 62%),linear-gradient(135deg,#ffffff12,#ffffff03 38%,#ffffff08),linear-gradient(180deg,rgba(24,26,28,.70),rgba(15,18,20,.82))}
:is(.menu-toggle,.contact-button,.back,.save-contact){background:radial-gradient(ellipse at var(--mh-light-x) 0%,#ffffff0e,transparent 75%),linear-gradient(145deg,#ffffff12,#ffffff03 60%),rgba(29,32,34,.58)!important;animation-delay:-6s}
:is(.menu-toggle,.contact-button,.back,.save-contact):hover,.legal-footer a.contact-button:hover{background:linear-gradient(#ffffff12,#ffffff12),radial-gradient(ellipse at var(--mh-light-x) 0%,#ffffff0e,transparent 75%),rgba(29,32,34,.58)!important}
.floating-save{background:radial-gradient(ellipse at var(--mh-light-x) 0%,#ffffff40,transparent 75%),linear-gradient(145deg,#ffffff75,#ffffff12),rgba(255,251,241,.30)!important}
.language-select summary{background:radial-gradient(ellipse at var(--mh-light-x) 0%,#ffffff0c,transparent 75%),linear-gradient(145deg,#ffffff0b,#ffffff02);animation-delay:-10s}
.language-options{background:radial-gradient(ellipse at var(--mh-light-x) 0%,#ffffff0e,transparent 80%),linear-gradient(145deg,#ffffff10,#ffffff03),rgba(21,24,27,.90)}
@media(prefers-reduced-motion:reduce){.legal-footer,.language-options,.language-select summary,:is(.menu-toggle,.contact-button,.back,.save-contact,.floating-save){animation:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.legal-footer,.language-options{background:#202326}}
/* Match the menu shell to its 1000px content column. */
.legal-footer{box-sizing:border-box;width:calc(100% - 32px);max-width:1082px;margin-inline:auto;padding-inline:40px}
@media(max-width:680px){.legal-footer{width:calc(100% - 16px);padding-inline:24px}}
/* The menu floats directly above a blurred index, without a panel surface. */
.legal-footer{background:transparent!important;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}
.footer-backdrop{backdrop-filter:blur(32px) brightness(.48);-webkit-backdrop-filter:blur(32px) brightness(.48);background:rgba(6,9,12,.12)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){body.footer-open .banner{filter:blur(32px) brightness(.48)}}
/* Minimal language trigger: flag and language code only. */
.language-options::before{display:none}
.language-select summary,.language-select summary:hover,.language-select[open] summary{background:none;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none;min-width:0;padding:0;gap:8px;border-radius:0}
.language-select summary>svg:last-child{display:none}
.language-select summary:focus:not(:focus-visible){outline:none}
.language-select summary:focus-visible{outline:1px solid #fff5df;outline-offset:4px}
/* Simple frosted buttons, without glass lighting or reflective edges. */
:is(.menu-toggle,.contact-button,.back,.save-contact,.floating-save){background:rgba(33,33,33,.38)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);box-shadow:none;animation:none;color:#fff5df}
:is(.menu-toggle,.contact-button,.back,.save-contact):hover,.legal-footer a.contact-button:hover{background:rgba(55,55,55,.46)!important;border-color:rgba(255,255,255,.22);box-shadow:none;color:#fff5df}
.floating-save{background:rgba(255,251,241,.40)!important;border-color:rgba(33,33,33,.14);color:#212121}
.floating-save:hover{background:rgba(245,241,231,.48)!important;border-color:rgba(33,33,33,.22);box-shadow:none;color:#212121}
/* Language popup uses the same plain blur treatment as buttons. */
.language-options,.language-select[open] .language-options{background:rgba(33,33,33,.38);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.14);box-shadow:none;animation:none}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.language-options,.language-select[open] .language-options{background:#212121}}
/* Only the legal document scrolls; the navigation stays in place. */
.legal-footer.legal-view{overflow:hidden}
.legal-footer.legal-view .menu-legal{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#fff5df40 transparent}
.legal-footer.legal-view .footer-row{flex:0 0 auto}
/* Menu overview without the large rotating headline. */
.menu-overview h2{display:none}
/* Contact content is placed directly on the blurred index, with no card styling. */
.legal-footer:not(.legal-view){height:min(720px,calc(100dvh - 124px));display:flex;flex-direction:column;padding-top:20px}
.menu-overview:not([hidden]){flex:1;min-height:0;display:grid;place-items:center;padding:12px 0 28px}
.menu-contact{width:100%;max-width:480px;text-align:center;color:#fff5df;font-family:Manrope,Arial,sans-serif}
.menu-contact-portrait{display:block;width:clamp(96px,13vh,132px);height:clamp(96px,13vh,132px);border-radius:50%;object-fit:cover;margin:0 auto 22px}
.menu-contact #menu-contact-name{margin:0;font:500 clamp(28px,3.2vw,40px)/1.15 Manrope,Arial,sans-serif;letter-spacing:-.045em}
.menu-contact-role{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0 28px;color:#fff5dfb3;font:400 14px/1.5 Manrope,Arial,sans-serif}
.menu-contact-role .brand-inline{display:inline-flex;align-items:center;gap:5px}
.menu-contact-role svg{width:26px;height:13px}
.menu-contact-links{display:flex;flex-direction:column;gap:18px}
.menu-contact-links a{display:flex;flex-direction:column;gap:4px;color:#fff5df;text-decoration:none;width:fit-content;max-width:100%;margin:auto}
.menu-contact-links a>span{font:400 12px/1.4 Manrope,Arial,sans-serif;color:#fff5df80}
.menu-contact-links a>strong{font:500 clamp(18px,2vw,22px)/1.4 Manrope,Arial,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.legal-footer .menu-contact-links a:hover{color:#fff5df;text-decoration:none}
.legal-footer .menu-contact-links a:hover>strong{text-decoration:underline;text-underline-offset:5px}
.legal-footer:not(.legal-view) .footer-row{flex:0 0 auto}
@media(max-width:680px){.legal-footer:not(.legal-view){height:calc(100dvh - 110px)}.menu-overview:not([hidden]){padding:8px 0 20px}.menu-contact-portrait{margin-bottom:18px}.menu-contact-role{margin:12px 0 22px}.menu-contact-links{gap:14px}}
@media(max-height:580px){.menu-contact{display:grid;grid-template-columns:80px 1fr;text-align:left;gap:10px 24px;max-width:460px}.menu-contact-portrait{grid-row:1/4;width:80px;height:80px;margin:0}.menu-contact #menu-contact-name{font-size:26px}.menu-contact-role{display:none}.menu-contact-links{gap:8px}.menu-contact-links a{margin:0}.menu-contact-links a>strong{font-size:17px}.menu-contact-links a>span{display:none}.menu-overview:not([hidden]){padding:6px 0 16px}}
/* Quiet contact values beneath the person's name. */
.menu-contact-links a>strong{font:400 clamp(16px,1.5vw,18px)/1.5 Manrope,Arial,sans-serif;letter-spacing:-.01em;color:#fff5dfb8;transition:color .15s}
.legal-footer .menu-contact-links a:hover>strong{color:#fff5df;text-decoration-thickness:1px}
@media(hover:hover) and (pointer:fine){.menu-toggle:hover{transform:rotate(-2deg)}.menu-toggle:active{transform:rotate(-2deg) translateY(1px)}}
@media(prefers-reduced-motion:reduce){.menu-toggle:hover,.menu-toggle:active{transform:none}}

.menu-contact .menu-save-contact{display:inline-flex;align-items:center;justify-content:center;position:static;margin:20px 0 0;padding:0 18px;min-height:44px;border-radius:12px!important;font:500 14px/1 Manrope,Arial,sans-serif;text-decoration:none;gap:8px;grid-column:1/-1;justify-self:center;transition:background .15s,border-color .15s}
.menu-contact .menu-save-contact:hover{text-decoration:none}

/* Keep contact download directly beside the menu control at every viewport width. */
.menu-actions{position:fixed;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));left:24px;z-index:10;display:flex;justify-content:flex-end;align-items:stretch;gap:10px;pointer-events:none}
.menu-actions>.menu-toggle,.menu-actions>.menu-save-contact{position:static;margin:0;min-height:44px;pointer-events:auto;white-space:nowrap;flex-shrink:0}
.menu-actions>.menu-save-contact[hidden]{display:none!important}
@media(max-width:680px){.menu-actions{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));left:16px;gap:8px}.menu-actions>.menu-toggle,.menu-actions>.menu-save-contact{padding:0 12px}}
@media(max-width:380px){.menu-actions{left:10px;right:10px;gap:6px}.menu-actions>.menu-toggle,.menu-actions>.menu-save-contact{padding:0 8px;font-size:12px;gap:6px}}
