/* Shared motion and phone support. Native scrolling and visible content are the defaults. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:calc(var(--aal-header-height,92px) + 18px); }
.aal-motion-enhanced .aal-reveal,
.aal-motion-enhanced .aal-reveal.aal-reveal-visible { opacity:1; transform:none; transition:none!important; will-change:auto; }
.aal-scroll-zoom,
.aal-signature .aal-scroll-zoom { transform:scale(var(--aal-frame-scale,1)); transform-origin:50% 50%; border-radius:var(--aal-frame-radius,16px)!important; transition:none!important; overflow:hidden; isolation:isolate; will-change:auto; }
.aal-scroll-zoom img,
.aal-signature .aal-scroll-zoom img { transform:translate3d(0,var(--aal-image-shift,0px),0) scale(var(--aal-image-scale,1)); transform-origin:50% 50%; transition:none!important; will-change:auto; }
.aal-scroll-zoom.aal-motion-active,
.aal-scroll-zoom.aal-motion-active img { will-change:transform; }
body > header { padding-top:env(safe-area-inset-top,0px)!important; }
body .mobile-nav,
.aal-signature .mobile-nav { max-height:calc(var(--aal-visual-height,100vh) - var(--aal-header-height,92px))!important; overflow-y:auto; overscroll-behavior-y:contain; -webkit-overflow-scrolling:touch; padding-bottom:max(16px,env(safe-area-inset-bottom,0px))!important; }
body .floating-contact { right:calc(24px + env(safe-area-inset-right,0px)); bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
body .site-footer { padding-bottom:env(safe-area-inset-bottom,0px); }
body :is(a,button) { -webkit-tap-highlight-color:rgba(226,185,121,.24); }
.aal-signature .cta-button { position:relative; overflow:hidden; isolation:isolate; }
.aal-signature .cta-button::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.35) 50%,transparent 85%); transform:translateX(-120%); transition:transform .65s cubic-bezier(.22,1,.36,1); pointer-events:none; }
@media (hover:hover) and (pointer:fine) {
 .aal-signature .cta-button:hover::before { transform:translateX(120%); }
 .aal-signature .advantage-card::before { transition:transform .45s cubic-bezier(.22,1,.36,1); }
 .aal-signature .advantage-card:hover::before { transform:translateY(-5px); }
}
@media (max-width:1024px) and (pointer:coarse), (max-width:960px) {
 body .header-content > nav { display:none!important; }
 body .hamburger { display:flex!important; min-width:44px; min-height:44px; }
 body .mobile-nav.open { display:flex!important; }
 body .mobile-nav a { display:block; min-height:44px; white-space:normal; overflow-wrap:anywhere; }
 body :is(.container,.sf-container) { width:100%!important; max-width:100%!important; padding-left:max(24px,env(safe-area-inset-left,0px))!important; padding-right:max(24px,env(safe-area-inset-right,0px))!important; }
 body :is(.mobile-nav a,.mobile-nav .mob-label) { padding-left:max(24px,env(safe-area-inset-left,0px))!important; padding-right:max(24px,env(safe-area-inset-right,0px))!important; }
 body :is(.hero,.page-header,.article-hero,.glossary-header) h1 { overflow-wrap:break-word; }
 body :is(.cta-button,.btn,.btn-primary,.btn-secondary) { max-width:100%; white-space:normal; }
 body .service-link { min-height:44px; align-items:center; }
 body .contact-detail-list a { overflow-wrap:anywhere; }
}
@media (max-width:700px) {
 body :is(.container,.sf-container) { padding-left:max(20px,env(safe-area-inset-left,0px))!important; padding-right:max(20px,env(safe-area-inset-right,0px))!important; }
 .aal-signature .image-placeholder .image-block { height:clamp(280px,92vw,410px); }
 body .floating-contact { right:calc(18px + env(safe-area-inset-right,0px)); bottom:calc(18px + env(safe-area-inset-bottom,0px)); }
 .aal-signature .contact-methods { gap:18px; }
}
@media (orientation:landscape) and (max-height:540px) and (pointer:coarse) {
 body .header-content { min-height:64px!important; }
 body .logo-img { height:52px!important; width:52px!important; max-height:52px!important; }
 .aal-signature .hero { padding-top:36px; }
 .aal-signature .image-placeholder .image-block { height:clamp(260px,76svh,410px); }
 body .mobile-nav a { padding-top:10px; padding-bottom:10px; }
}
@media (hover:none) {
 .aal-signature .cta-button:hover { transform:none; box-shadow:none; }
 .aal-signature .service-card:hover { transform:none; }
}
@media (prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto!important; }
 .aal-scroll-zoom,.aal-scroll-zoom img,.aal-signature .aal-scroll-zoom,.aal-signature .aal-scroll-zoom img { transform:none!important; will-change:auto!important; }
 .aal-motion-enhanced .aal-reveal { opacity:1!important; transform:none!important; animation:none!important; transition:none!important; }
 .aal-signature .cta-button::before { display:none; }
 .aal-signature .advantage-card::before { transition:none; }
}
@media print {
 .aal-scroll-zoom,.aal-scroll-zoom img { transform:none!important; }
 .aal-reveal { opacity:1!important; transform:none!important; }
}

/* Keep intrinsic table widths inside their own scroll region on phones. */
.aal-table-scroll { max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
.aal-table-scroll:focus-visible { outline:2px solid #e2b979; outline-offset:4px; }
@media (max-width:960px) {
 body :is(main,article,aside,section,.container,.content-wrapper,.content-grid,.main-content,.content-area,.article-content,.hero-content) { min-width:0; }
 body .content-wrapper { grid-template-columns:minmax(0,1fr); }
 body .related-link { flex-direction:column; align-items:flex-start; }
 body .related-link > * { min-width:0; max-width:100%; overflow-wrap:break-word; }
}
@media (max-width:700px) {
 body :is(.sector-cards,.process-steps,.related-grid) { grid-template-columns:minmax(0,1fr)!important; }
}
@media (max-width:960px) {
 body .term-header { min-width:0; }
 body :is(.term-english,.term-arabic) { min-width:0; max-width:100%; white-space:normal; overflow-wrap:anywhere; }
}
body > header.aal-header-scrolled { -webkit-backdrop-filter:blur(20px); }
@media (max-width:960px) {
 body .header-content { flex-direction:row!important; flex-wrap:nowrap!important; justify-content:space-between!important; align-items:center!important; gap:20px!important; }
}
@media (max-width:700px) {
 body :is(.article-content,.content-section,.content-area) p { text-align:left!important; }
}

@media (max-width:960px) {
 body .header-content { padding-top:8px!important; padding-bottom:8px!important; }
 body .header-content .logo { padding-top:0!important; padding-bottom:0!important; }
}
@media (orientation:landscape) and (max-height:540px) and (pointer:coarse) {
 body .header-content { padding-top:4px!important; padding-bottom:4px!important; }
}
