/* Native accessible preferences, progressively enhanced on all Rohall pages. */
.rh-a11y{position:fixed;z-index:9999;bottom:20px;left:20px;font-family:Arial,Helvetica,sans-serif;color:#28232b}
.rh-a11y *{box-sizing:border-box}
.rh-a11y [hidden]{display:none!important}
.rh-a11y button{font-family:inherit;cursor:pointer}
.rh-a11y-launch{display:flex;align-items:center;gap:10px;min-height:52px;padding:7px 16px 7px 7px;border:2px solid #85233a;background:#fffdfa;color:#572239;border-radius:30px;font-size:14px;font-weight:700;box-shadow:0 10px 28px rgba(35,18,32,.25)}
.rh-a11y-launch-icon{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:#a72c45;color:white;font-size:16px;font-weight:700}
.rh-a11y-launch:hover{background:#f8eae5}
.rh-a11y-panel{position:absolute;bottom:65px;left:0;max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;width:min(370px,calc(100vw - 30px));padding:23px 23px 19px;background:#fffdfa;color:#28232b;border:2px solid #653046;border-radius:14px;box-shadow:0 18px 56px rgba(26,15,25,.3)}
.rh-a11y-heading-row{display:flex;align-items:start;justify-content:space-between;gap:12px}
.rh-a11y-eyebrow{color:#8c2c42;font-size:10px;letter-spacing:.13em;font-weight:800}
.rh-a11y h2{margin:7px 0 8px!important;font:700 23px/1.18 Arial,Helvetica,sans-serif!important;letter-spacing:-.025em!important;color:#28232b}
.rh-a11y-close{width:44px;height:44px;flex:0 0 44px;border:1px solid #9b6c78;background:#fff;color:#602a3b;font-size:18px;border-radius:9px}
.rh-a11y-explanation{font-size:13px;line-height:1.6;color:#544650;margin:5px 0 22px}
.rh-a11y-group{margin:0 0 20px;padding:0;border:0;min-width:0}
.rh-a11y legend{font-size:14px;font-weight:700;margin-bottom:11px;color:#392934}
.rh-a11y-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.rh-a11y-choices button{min-height:44px;padding:6px 4px;border:1px solid #bba8af;background:#fff;color:#38272f;border-radius:5px;font-size:12px;font-weight:700}
.rh-a11y-choices button[aria-pressed="true"],.rh-a11y-switches button[aria-pressed="true"]{border-color:#942741;background:#faecea;box-shadow:inset 0 0 0 1px #942741}
.rh-a11y-switches{display:grid;gap:7px}
.rh-a11y-switches button{width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;text-align:left;border:1px solid #d1c2c4;background:#fff;color:#31262c;border-radius:7px}
.rh-a11y-switches strong{display:block;font-size:13px;line-height:1.35}
.rh-a11y-switches small{display:block;margin-top:5px;color:#695c63;font-size:11px;line-height:1.4}
.rh-a11y-indicator{flex:0 0 25px;width:25px;height:25px;border:2px solid #9a7f89;border-radius:6px;background:#fff}
.rh-a11y-switches button[aria-pressed="true"] .rh-a11y-indicator{background:#982b46;border-color:#982b46}
.rh-a11y-switches button[aria-pressed="true"] .rh-a11y-indicator:after{content:'✓';display:block;color:#fff;text-align:center;font-size:17px;font-weight:700;line-height:22px}
.rh-a11y-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:21px}
.rh-a11y-reset{padding:10px 14px;min-height:44px;border:1px solid #bba5ae;color:#572639;background:#fff;font-size:12px;font-weight:700;border-radius:6px}
.rh-a11y-status{font-size:11px;color:#6b5260;max-width:130px;text-align:right}
.rh-a11y-notice{margin:18px 0 0!important;font-size:11px!important;line-height:1.55!important;color:#61545e!important}
.rh-a11y :focus-visible{outline:3px solid #222!important;outline-offset:3px!important}
/* Give short standalone links a practical pointer target without replacing browser link behaviour. */
.site-header nav a,.header nav a,.footer-links a,.site-footer a{display:inline-flex;align-items:center;min-height:30px}
.inline-link,.origin-link,.venture-link,.product-text-link,.product-jumpbar a,.contact-aliases a{display:inline-flex;align-items:center;min-height:30px}
body a:focus-visible,body button:focus-visible,body summary:focus-visible{outline:3px solid #a02b46;outline-offset:3px}
.skip:focus{background:#81233a!important;color:#fff!important}
.hero-foot{color:#65575d}
.case-library-note{color:#655961}
.dex-market-insight a,.impact-research-footer a,.impact-calculator-note a,.solution-link{display:inline-flex;align-items:center;min-height:30px}
.foot a{display:inline-flex;align-items:center;min-height:30px}
@media(max-width:580px){.rh-a11y{left:12px;bottom:12px}.rh-a11y-launch{min-height:48px;padding:5px 13px 5px 5px}.rh-a11y-panel{bottom:58px;padding:18px 17px 16px;width:min(352px,calc(100vw - 24px))}}

/* Browser magnification still works independently up to 200% and beyond. */
/* Enlarge page content, never the fixed control panel itself: its close and reset controls must stay reachable. */
html[data-rh-size="large"] body > :not(.rh-a11y){zoom:1.15}
html[data-rh-size="larger"] body > :not(.rh-a11y){zoom:1.30}

/* A reading-spacing preference, not a claim to treat dyslexia. */
html[data-rh-reading="on"] :is(main p, main li, main figcaption, main dd, main dt, main summary, main .copy){font-family:Verdana,Arial,sans-serif!important;letter-spacing:.025em!important;word-spacing:.09em!important;line-height:1.85!important}
html[data-rh-reading="on"] :is(h1,h2,h3,h4){font-family:Verdana,Arial,sans-serif!important;letter-spacing:0!important;line-height:1.25!important}

/* Colour vision differences: interactions have non-colour cues. No fake simulated filter. */
html[data-rh-colour="clear"] :is(main a,footer a,.header a,.site-header nav a,.topbar nav a,.product-jumpbar a){text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
html[data-rh-colour="clear"] :is(a,button,summary){outline-offset:4px;border-radius:2px}
html[data-rh-colour="clear"] :is(.blueprint-card,.feature,.capability-card,.impact-case,.problem-card){border:2px solid #5c5058!important}

/* Deliberately stark alternative for readers who need high contrast. */
html[data-rh-contrast="high"] body :not(img):not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon){background-color:#050505!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important;box-shadow:none!important}
html[data-rh-contrast="high"] body :is(a,button,summary){color:#ffe179!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
html[data-rh-contrast="high"] body :is(article,section,header,footer,nav,button,.rh-a11y-panel,.rh-a11y-launch,.rh-a11y-choices button,.rh-a11y-switches button){border-color:#e5e5e5!important}
html[data-rh-contrast="high"] .rh-a11y-indicator{border-color:#ffe179!important}
html[data-rh-contrast="high"] .rh-a11y-switches button[aria-pressed="true"] .rh-a11y-indicator:after{color:#ffe179!important}

html[data-rh-motion="reduce"]{scroll-behavior:auto!important}
html[data-rh-motion="reduce"] *,html[data-rh-motion="reduce"] *::before,html[data-rh-motion="reduce"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
