/* Keep readable focus and controls across safe areas, keyboard use and small screens. */
:root{--page-gutter:max(5.5vw,calc((100vw - 1440px)/2),calc(env(safe-area-inset-left,0px) + 18px),calc(env(safe-area-inset-right,0px) + 18px))}
.header,.topline,.footer,.section-pad{padding-inline:var(--page-gutter)}
:focus-visible{outline:3px solid #5d26bf;outline-offset:5px}
.hero :focus-visible,.protection :focus-visible{outline-color:#fff}
.contact :focus-visible{outline-color:#281044}
.footer :focus-visible{outline-color:#fff}
.cookie-panel[data-placement=top]{top:max(12px,env(safe-area-inset-top));bottom:auto}
.cookie-panel[data-placement=top] .cookie-mascot{display:none}
.language-picker{position:relative;flex:0 0 auto}
.language-picker>summary{display:flex;align-items:center;gap:7px;min-width:55px;min-height:44px;justify-content:center;padding:9px;border:1px solid var(--line);border-radius:999px;cursor:pointer;list-style:none;font-size:11px;background:#fff8}
.language-picker>summary::-webkit-details-marker{display:none}
.language-picker>nav{position:absolute;top:calc(100% + 10px);right:0;z-index:40;display:grid;min-width:165px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 16px 40px #28104421}
.language-picker nav>a{padding:12px 15px;min-height:44px;font-size:13px;border-radius:6px;display:block}
.language-picker nav>a:hover,.language-picker nav>a[aria-current=page]{background:#5d26bf10;color:var(--purple)}
.footer-languages{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:16px;padding-top:14px;border-top:1px solid #ffffff1c}
.footer-languages>a{font-size:12px;color:#bfaed0}.footer-languages>a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:4px}
.language-scope{font-size:11px;line-height:1.6;color:#63427e;max-width:390px;margin-top:20px}
h1,h2,h3,.service-title{overflow-wrap:anywhere;hyphens:auto}
html[lang=en] .hero h1,html[lang=de] .hero h1{font-size:clamp(64px,8.4vw,160px)}
.service-detail-title{font-size:21px;line-height:1.25;letter-spacing:-.025em;margin:0 0 13px;color:var(--purple-dark)}
/* Entry/feedback animations settle while existing ambient loops stay frozen. */
html[data-motion=paused] .hero h1>span,html[data-motion=paused] .scene-note,html[data-motion=paused] .cookie-panel,html[data-motion=paused] .cookie-mascot,html[data-motion=paused] .menu-panel,html[data-motion=paused] .inquiry,html[data-motion=paused] .journey-step,html[data-motion=paused] .faq .disclosure-content>p{animation:none!important}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{transition:none!important}
@media(max-width:740px){
 :root{--page-gutter:max(6vw,calc(env(safe-area-inset-left,0px) + 18px),calc(env(safe-area-inset-right,0px) + 18px))}
 .service-detail-title{font-size:20px}.footer-secondary a,.footer-secondary button,.footer-disclosures summary{font-size:12px}.footer-operator{font-size:12px}
 html[lang=en] .hero h1,html[lang=de] .hero h1{font-size:clamp(27px,9vw,65px)}
 .hero .eyebrow{max-width:90%;margin-inline:auto;line-height:1.6}.language-scope{font-size:11px}.footer-languages{gap:0 22px}
}
@media(max-width:480px){.header-actions>.button{display:none}.header-actions{gap:12px}.language-picker>summary{min-width:52px}.header{gap:12px}}
@media(max-width:359px){html[lang=en] .hero h1,html[lang=de] .hero h1{font-size:clamp(24px,8.8vw,31px)}}
