/* CASA UI R40 — shared interaction and reading rules. 25 October 2026. */
:root{--casa-ink:#0a0b0d;--casa-charcoal:#1e2024;--casa-graphite:#41444a;--casa-silver:#bec1c7;--casa-paper:#fff;--casa-surface:#f5f5f5;--casa-border:#d6d7da;--casa-control:#74777d;--casa-space:clamp(20px,4vw,64px)}
html{scroll-padding-block-start:7rem;text-size-adjust:100%;-webkit-text-size-adjust:100%;scrollbar-color:#8b8e94 #f1f1f1}
body{font-size:16px;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box}
::selection{background:#bec1c7;color:#0a0b0d}
:where(input,textarea){caret-color:#0a0b0d}
:where(input,textarea)::placeholder{color:#5b5e64;opacity:1}
:where(a){text-underline-offset:.22em;text-decoration-thickness:1px}
:where(button,select,summary,[role=button],input:not([type=checkbox]):not([type=radio]):not([type=hidden])){min-height:44px}
button:not([role=checkbox]):not([role=switch]){min-height:44px!important}
:where(button,select,input,textarea){max-width:100%}
:where(button,[role=button],summary,a){touch-action:manipulation}
:where(button,[role=button]){line-height:1.4;white-space:normal}
:where(input,select,textarea){font-size:1rem}
:where(textarea){resize:vertical;line-height:1.55}
:where(button,input,select,textarea):disabled{cursor:not-allowed}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #0a0b0d!important;outline-offset:3px!important;box-shadow:0 0 0 3px #fff!important}
:where(h1,h2){text-wrap:balance;letter-spacing:-.035em}
:where(h3,h4){text-wrap:pretty}
:where(main,section,article,form,fieldset){min-width:0}
:where(fieldset){min-inline-size:0}
:where(img,svg,video){max-width:100%}
:where(table){font-variant-numeric:tabular-nums;line-height:1.5}
:where(th){text-align:start}
:where(th,td){overflow-wrap:anywhere}
:where(label){line-height:1.5}
:where([aria-busy=true]){cursor:progress}
:where([aria-invalid=true]){border-color:#9c2828!important}
.casa-ui-skip{position:fixed;z-index:10000;inset-block-start:12px;inset-inline-start:16px;padding:14px 20px;background:#fff;color:#0a0b0d;transform:translateY(-180%);border:1px solid #41444a;text-decoration:underline}
.casa-ui-skip:focus{transform:none}
.casa-ui-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;scrollbar-width:thin}
.casa-ui-scroll>table{margin-block:0!important}
.casa-ui-scroll:focus-visible{outline-offset:2px!important}
.casa-ui-scroll[data-overflow=true]{border-inline-end:1px solid #74777d}
.casa-ui-scroll-hint{font-size:.8125rem;line-height:1.5;color:#53565c;margin:8px 0}
.casa-ui-scroll-hint[hidden]{display:none!important}
@media(hover:hover){:where(a):hover{text-decoration-thickness:2px}}
@media(max-width:760px){:where(input,select,textarea){font-size:16px!important}:where(h1){hyphens:auto}:where(dialog,[role=dialog]){max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.casa-ui-scroll{border:1px solid CanvasText}}
@media print{.casa-ui-skip,.casa-ui-scroll-hint{display:none!important}.casa-ui-scroll{overflow:visible;border:0}table thead{display:table-header-group}tr{break-inside:avoid}}

.cp-public-header,.cp-home-header,.cp-home-header.is-scrolled,.cp-public-footer,.cp-menu-panel{background:#0a0b0d!important;color:#fff}
.cp-home-header{position:relative;inset:auto}.cp-primary{gap:24px}.cp-primary a{font-size:.875rem;min-height:44px}
.cp-menu-panel{max-height:calc(100dvh - 110px);overflow:auto}
.casa-home-ux .hero-image,.casa-hero-image,.casa-georgia-image{filter:grayscale(1)}
.casa-home-ux .hero-shade{background:linear-gradient(90deg,rgba(10,11,13,.94),rgba(10,11,13,.60) 50%,rgba(10,11,13,.12))!important}
.casa-home-ux .hero-inner{padding-top:64px!important;padding-bottom:64px!important}
.casa-home-ux .hero-copy h1{font-size:clamp(42px,5vw,72px);line-height:1.08;letter-spacing:-.035em}
.casa-home-ux .hero-copy>p,.casa-home-ux .hero-intro{font-family:Inter,Arial,sans-serif!important;font-size:clamp(17px,1.5vw,21px)!important;line-height:1.65!important;max-width:46ch}
.casa-home-ux .service-strip :is(h2,h3){font-size:.9375rem;letter-spacing:.01em;overflow-wrap:normal;hyphens:auto;line-height:1.5}
.casa-home-ux .service-strip p{font-size:.9375rem;line-height:1.6}
.casa-test-note{font-size:.8125rem!important;line-height:1.5;padding:10px 24px;color:#41444a;background:#f2f2f2}
.casa-member-side{background:#0a0b0d;color:#e5e5e5;width:auto;position:sticky;top:0;height:100dvh;overflow:auto}
.casa-member-side nav a{min-height:44px;font-size:.875rem;line-height:1.5;padding:12px}
.casa-member-side nav a[aria-current=page],.casa-member-side nav a:hover{background:#41444a;color:#fff;border-color:#bec1c7}
.casa-member-top{font-size:.9375rem;flex-wrap:wrap}.casa-member-main .hero p{color:#41444a}
.casa-member-mobile{background:#0a0b0d}.casa-member-mobile summary{min-height:44px}
.casa-shell-caption{font-size:.75rem;color:#bec1c7;letter-spacing:.04em}
[data-sidebar=menu-button]{font-size:.875rem!important;min-height:44px!important}
.casa-trial-entry,body>aside:has(>a[href='/erproben']){position:static!important;margin:0;padding:18px 24px!important;border-radius:0!important;background:#1e2024!important;border-top:1px solid #bec1c7;font-size:.9375rem}
.casa-trial-entry a,body>aside>a[href='/erproben']{min-height:44px;display:inline-flex;align-items:center;color:#fff}
.ux-breadcrumb{font-size:.875rem;line-height:1.6}.ux-breadcrumb a{min-height:44px;display:inline-flex;align-items:center}
.ux-search label{font-size:.9375rem}.ux-tags,.ux-panel .meta{font-size:.8125rem}
@media(max-width:760px){.casa-home-ux .hero-inner{padding-top:36px!important;padding-bottom:42px!important}.casa-home-ux .hero-copy>p{font-size:17px!important}.casa-home-ux .hero-actions{gap:12px}.casa-home-ux .hero-actions a{width:100%;min-height:48px;justify-content:center}.cp-menu-panel{grid-template-columns:1fr}.casa-member-top{padding:18px 20px}.casa-member-main .shell{width:calc(100% - 40px)}.casa-member-side{display:none}.casa-trial-entry{padding:14px 20px!important}}

.casa-language img{filter:grayscale(1)}
