/* Orvix Suite V71 — WCAG 2.2 AA-oriented accessibility, Arabic and performance hardening */
:root{
  --ovx-focus:#1d4ed8;
  --ovx-focus-ring:0 0 0 4px rgba(29,78,216,.24);
  --ovx-danger:#b42318;
  --ovx-success:#067647;
  --ovx-min-target:44px;
  scroll-padding-top:112px;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
html{scroll-behavior:smooth}
body{overflow-wrap:anywhere}
[hidden]{display:none!important}
.sr-only,.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed!important;z-index:100000;inset-block-start:12px;inset-inline-start:12px;transform:translateY(-180%);padding:12px 18px;border-radius:12px;background:#fff;color:#07111f!important;border:2px solid var(--ovx-focus);font-weight:900;text-decoration:none;box-shadow:0 12px 36px rgba(0,0,0,.2)}
.skip-link:focus{transform:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus{outline:none}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ovx-focus)!important;outline-offset:3px!important;box-shadow:var(--ovx-focus-ring)!important}
:where(button,.btn,input[type=submit],input[type=button],input[type=reset],summary,.nav-item,.top-pill){min-block-size:var(--ovx-min-target)}
a{overflow-wrap:anywhere;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
[aria-current=page]{text-decoration-thickness:2px}
[aria-disabled=true],:disabled{cursor:not-allowed!important;opacity:.62!important}
[aria-busy=true]{cursor:progress}
[role=status],[role=alert],.alert,.global-notice{scroll-margin-top:130px}
[role=alert],.alert.error,.global-notice.error{border-inline-start:4px solid var(--ovx-danger)}
.alert.success,.global-notice.success{border-inline-start:4px solid var(--ovx-success)}
input,select,textarea,button{font:inherit}
input,select,textarea{min-block-size:48px}
textarea{min-block-size:120px;resize:vertical}
label{line-height:1.45}
input:invalid:not(:placeholder-shown),textarea:invalid:not(:placeholder-shown),select:invalid{border-color:var(--ovx-danger)!important}
.field-error{display:block;margin-top:6px;color:var(--ovx-danger);font-size:.82rem;font-weight:800}
.required-indicator{color:var(--ovx-danger);margin-inline-start:4px}
img,svg,video{max-inline-size:100%}
img[width][height]{height:auto}
iframe{max-inline-size:100%}
section[id],article[id],div[id]{scroll-margin-top:120px}
.table-scroll,.ovx-table-scroll{max-inline-size:100%;overflow:auto;overscroll-behavior-inline:contain;border-radius:14px;scrollbar-gutter:stable}
.table-scroll:focus-visible,.ovx-table-scroll:focus-visible{outline:3px solid var(--ovx-focus);outline-offset:2px}
table{font-variant-numeric:tabular-nums}
th{font-weight:850}
/* Delay layout and paint for content outside the initial viewport while keeping intrinsic space stable. */
.ovx-public main>.section:not(:first-child),.ovx-public main>section:not(.page-hero):not(:first-child),.main-content>.panel:not(:first-child),.main-content>.card:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 720px}
/* Public navigation accessibility */
.ovx-public .hamb{display:inline-grid;place-items:center;padding:10px;border:0;background:transparent}
.ovx-public .mobile-panel[aria-hidden=true]{visibility:hidden}
.ovx-public .mobile-panel[aria-hidden=false]{visibility:visible}
body.menu-open{overflow:hidden}
.ovx-public .nav-item>a[aria-current=page],.ovx-public .mobile-panel>a[aria-current=page]{font-weight:950;text-decoration:underline;text-decoration-color:currentColor}
.ovx-public .brand-mark img{inline-size:100%;block-size:100%;object-fit:contain}
.ovx-public .whatsapp-float,.ovx-public .mobile-conversion a{min-block-size:48px}
.ovx-public .contact-chip{min-block-size:72px}
.ovx-public .faq-item button{inline-size:100%;text-align:start}
.ovx-public .faq-item [data-faq-answer]{overflow:hidden}
/* Stronger text contrast */
.ovx-public :where(.lead,.section-head p,.card p,.footer-brand p,.newsletter p,.module-story-copy p,.role-journey-copy p){color:#364152}
.ovx-public .eyebrow{letter-spacing:.08em}
/* Arabic reading experience */
html[lang=ar],html[dir=rtl]{font-family:Tahoma,"Segoe UI",Arial,sans-serif}
html[lang=ar] body,html[dir=rtl] body{line-height:1.75;letter-spacing:0}
html[lang=ar] :where(h1,h2,h3,h4,h5,h6),html[dir=rtl] :where(h1,h2,h3,h4,h5,h6){letter-spacing:0!important;line-height:1.3;text-wrap:balance}
html[lang=ar] :where(p,li,dd,label,small),html[dir=rtl] :where(p,li,dd,label,small){line-height:1.8}
html[dir=rtl] :where(input[type=email],input[type=tel],input[type=url],input[type=number],code,.technical-token,[data-ltr]){direction:ltr;text-align:left;unicode-bidi:embed}
html[dir=rtl] .orvix-lang-switch{direction:ltr}
html[dir=rtl] .footer-meta span,html[dir=rtl] .public-contact-strip b{unicode-bidi:plaintext}
/* Portal */
body.orvix-rtl .hamb,body.orvix-rtl .top-pill{letter-spacing:0}
.topbar{isolation:isolate}
.sidebar{overscroll-behavior:contain}
.sidebar .nav-item[aria-current=page]{font-weight:900}
.main-content{min-inline-size:0}
.main-content :where(.panel,.card,.lux-form){scroll-margin-top:92px}
.main-content form :where(input,select,textarea){max-inline-size:100%}
.main-content :where(.actions,.page-actions){flex-wrap:wrap}
.nav-ico{flex:0 0 auto}
.topbar .hamb{min-inline-size:48px;min-block-size:48px}
/* Authentication pages */
.auth-page{min-block-size:100vh;min-block-size:100dvh}
.auth-card{inline-size:min(460px,calc(100% - 28px))}
.auth-card .auth-logo{inline-size:56px;block-size:56px}
.auth-card [role=alert],.auth-card [role=status]{margin-block:14px}
.auth-card .auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
/* Responsive usability */
@media(max-width:760px){
  :root{scroll-padding-top:88px}
  .main-content{padding-inline:14px!important}
  .main-content table{min-inline-size:680px}
  .main-content .form-grid,.main-content .lux-grid{grid-template-columns:1fr!important}
  .main-content .full{grid-column:1!important}
  .ovx-public .mobile-panel{max-block-size:calc(100dvh - 72px);overflow:auto;overscroll-behavior:contain;padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media(max-width:420px){
  .auth-card{padding:24px!important;border-radius:22px!important}
  .ovx-public .page-hero h1{font-size:clamp(2.35rem,12vw,3.5rem)!important}
}
/* Motion and transparency preferences */
@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}
  [data-reveal]{opacity:1!important;transform:none!important}
  .hero-chip,.hero-console{transform:none!important}
}
@media(prefers-contrast:more){
  :root{--ovx-focus:#0000ee}
  :where(.card,.panel,.pricing-card,.contact-chip,.form-box){border-width:2px!important}
  .ovx-public :where(.lead,.section-head p,.card p){color:#111827!important}
}
@media(forced-colors:active){
  *{forced-color-adjust:auto}
  .brand-mark,.logo-mark,.nav-ico,.hero-orbit{forced-color-adjust:none}
  :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight!important}
  .btn{border:1px solid ButtonText!important}
}
@media print{
  .ovx-top,.ovx-nav,.whatsapp-float,.mobile-conversion,.newsletter,.closing-cta,.public-contact-strip,.sidebar,.topbar,.foot{display:none!important}
  body,.main-content{background:#fff!important;color:#000!important;display:block!important;padding:0!important;margin:0!important}
  a{color:#000!important;text-decoration:underline}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt}
}
