/* 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}}

:root{--ink:#0a0b0d;--muted:#41444a;--line:#d6d7da;--silver:#f5f5f5}h1,h2{letter-spacing:-.035em}.desktop-nav a,.mobile-nav a{min-height:44px;display:inline-flex;align-items:center}
