/* ============================================================
   novaERPS — enhance.css
   طبقة التحسين: موشن، أسطح زجاجية، مكوّنات جديدة، وصولية،
   الهوية السعودية الهندسية.
   قاعدة السلامة: كل تأثير يُخفي محتوى مشروط بـ html.motion.
   ============================================================ */

/* ---------- 1. رابط التخطي ---------- */
.skip-link{
  position:fixed;top:-100px;inset-inline-start:16px;z-index:200;
  background:var(--btn-bg);color:var(--btn-fg);
  padding:12px 20px;border-radius:0 0 12px 12px;font-weight:700;font-size:14px;
  transition:top .2s var(--ease);
}
.skip-link:focus{top:0}

/* ---------- 3. الهيدر الزجاجي ---------- */
header{
  background:var(--header-bg);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  transition:box-shadow .3s var(--ease), border-color .3s var(--ease);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  header{background:var(--header-bg-solid)}
}
header.is-scrolled{box-shadow:0 6px 24px -12px rgba(7,20,50,.28);border-bottom-color:var(--line-2)}

.hero{isolation:isolate}

/* ---------- 6. الظهور التدريجي ---------- */
html.motion .page-content.active .reveal:not(.in){opacity:0;transform:translate3d(0,22px,0)}
html.motion .reveal{
  transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);
  transition-delay:var(--rv-delay,0ms);will-change:opacity,transform;
}
html.motion .reveal.in{opacity:1;transform:none;will-change:auto}
html.motion .stagger > *{transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:var(--st-delay,0ms)}
html.motion .stagger:not(.in) > *{opacity:0;transform:translate3d(0,16px,0)}
html.motion .stagger.in > *{opacity:1;transform:none}

/* ---------- 7. انتقال الصفحات ---------- */
html.motion .page-content.active{animation:page-in .45s var(--ease-out) both}
@keyframes page-in{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}

/* ---------- 8. الأزرار ---------- */
.btn-primary,.btn-ghost{
  position:relative;
  transition:transform .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease);
}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(7,42,124,.4)}
.btn-primary:active,.btn-ghost:active{transform:translateY(0) scale(.98)}
.btn-ghost:hover{transform:translateY(-1px)}
@media (hover:hover) and (pointer:fine){
  html.motion .magnetic{transform:translate3d(var(--mx,0),var(--my,0),0);transition:transform .28s var(--ease-out)}
  html.motion .magnetic:hover{transition:transform .08s linear}
}

/* ---------- 9. البطاقات: رفع + بقعة ضوء ---------- */
.mod-card,.sol-card,.solution-item,.sector-row,.why-item,.task-item,
.price-card,.intro-card,.form-card,.stat-card,.faq-item,.bento-item,.sector-tile,.showcase-nav button{
  position:relative;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.sol-card::before,.solution-item::before,.sector-row::before,.stat-card::before,.bento-item::before{
  content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s var(--ease);
  background:radial-gradient(240px circle at var(--px,50%) var(--py,50%),var(--tint), transparent 70%);
}
@media (hover:hover){
  .sol-card:hover::before,.solution-item:hover::before,.sector-row:hover::before,.stat-card:hover::before,.bento-item:hover::before{opacity:1}
  .sol-card:hover,.solution-item:hover,.sector-row:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--tint-strong)}
  .why-item:hover,.task-item:hover{border-color:var(--tint-strong)}
  .price-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
}
.mod-card > *,.sol-card > *,.solution-item > *,.sector-row > *,.stat-card > *,.bento-item > *{position:relative;z-index:1}

/* ---------- 10. لوحة المنتج في الهيرو ---------- */
.browser-frame{position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
html.motion .hero-panel-wrap{transform:translate3d(0,var(--par,0px),0);will-change:transform}
.dash-live i{box-shadow:0 0 0 0 rgba(15,39,64,.6)}
html.motion .dash-live i{animation:pulse-dot 2s ease-out infinite}
@keyframes pulse-dot{70%{box-shadow:0 0 0 8px rgba(15,39,64,0)}100%{box-shadow:0 0 0 0 rgba(15,39,64,0)}}
.dash-kpi{transition:background .3s var(--ease), border-color .3s var(--ease)}
.dash-kpi.bump{background:rgba(15,39,64,.22);border-color:var(--tint-strong)}
.dash-list div{transition:background .3s var(--ease)}
.dash-list div.flash{background:rgba(15,39,64,.22)}

/* رسم بياني SVG داخل اللوحات */
.spark-wrap{margin:2px 0}
.spark-wrap svg{width:100%;height:60px;display:block;overflow:visible}
.spark-line{fill:none;stroke:var(--accent-teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
html.motion .spark-line{stroke-dasharray:var(--len,400);stroke-dashoffset:var(--len,400)}
html.motion .spark-wrap.drawn .spark-line{animation:draw-line 1.6s var(--ease-out) forwards}
@keyframes draw-line{to{stroke-dashoffset:0}}
.spark-fill{fill:url(#sparkFade);opacity:0}
html.motion .spark-wrap.drawn .spark-fill{animation:fade-fill .8s .8s var(--ease) forwards}
@keyframes fade-fill{to{opacity:1}}
html:not(.motion) .spark-fill{opacity:1}
.mini-bars{display:flex;align-items:flex-end;gap:4px;height:38px;margin-top:10px}
.mini-bars i{flex:1;background:linear-gradient(180deg,var(--accent-teal),rgba(7,42,124,.25));border-radius:3px 3px 0 0;height:var(--h,40%);font-style:normal;transform-origin:bottom}
html.motion .mini-bars.drawn i{animation:grow-bar .7s var(--ease-out) both;animation-delay:var(--bd,0ms)}
@keyframes grow-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- 10ب. شريط الامتثال ---------- */
.strip-section{padding-bottom:34px}
.strip-label{text-align:center;font-size:13.5px;font-weight:700;color:var(--muted);margin-bottom:20px;line-height:1.7}

/* ---------- 11. شريط الإحصائيات ---------- */
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:860px){ .stats-band{grid-template-columns:1fr 1fr} }
@media (max-width:420px){ .stats-band{grid-template-columns:1fr} }
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px 22px;text-align:center;box-shadow:var(--shadow)}
.stat-card .num{
  font-family:var(--font-en);font-size:clamp(28px,4.2vw,40px);font-weight:800;line-height:1.1;color:var(--brand-text);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";display:flex;align-items:baseline;justify-content:center;gap:2px;
  direction:ltr;unicode-bidi:isolate;
}
.stat-card .num .suffix{font-size:.55em;font-weight:800;opacity:.85}
.stat-card .label{font-size:13.5px;color:var(--muted);margin-top:8px;line-height:1.6;font-weight:600}

/* ---------- 12. شريط الشعارات المتحرك ---------- */
/* direction:ltr هنا (وليس فقط على .marquee-track) إلزامي: اتجاه انسكاب
   الصندوق الأعرض من حاويته (overflow) يتبع اتجاه الحاوية الأب لا الابن،
   فبدونها في صفحة RTL يلتصق الشريط بيمين الحاوية ويفيض بالكامل تقريباً
   خارج النافذة المرئية على اليسار طوال دورة الحركة. */
.marquee{position:relative;overflow:hidden;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
/* direction:ltr إلزامي هنا: بدونها، الصفحات العربية (dir=rtl) تجعل Flex
   يبدأ الترتيب من اليمين بدل اليسار، فيخرج الشريط بالكامل تقريباً خارج
   نافذة العرض المرئية (يمين الحاوية) طوال دورة الحركة تقريباً — يظهر
   وكأنه "لا يظهر إطلاقاً" خصوصاً على الشاشات الضيقة. تثبيت الاتجاه هنا
   يجعل حساب موضع الشريط صحيحاً بغض النظر عن اتجاه الصفحة. */
.marquee-track{display:flex;width:max-content;gap:14px;direction:ltr}
html.motion .marquee-track{animation:marquee 38s linear infinite}
html[dir="rtl"].motion .marquee-track{animation-direction:reverse}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translate3d(-50%,0,0)}}
.marquee-item{display:inline-flex;align-items:center;gap:9px;flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 20px;font-size:13px;font-weight:700;color:var(--ink-2);white-space:nowrap}
.marquee-item svg{width:17px;height:17px;fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
@media (prefers-reduced-motion:reduce){ .marquee{-webkit-mask-image:none;mask-image:none;overflow-x:auto} .marquee-track{flex-wrap:nowrap} }
/* بعض متصفحات الجوال (WebView قديمة، متصفحات داخل التطبيقات) تُخفي العنصر
   بالكامل بدل تجاهل mask-image بأمان عند فشل الدعم. نوقف القناع على
   الشاشات الصغيرة لأن المحتوى أهم من تأثير التلاشي الزخرفي. */
@media (max-width:760px){
  .marquee{-webkit-mask-image:none;mask-image:none}
}

/* ---------- 13. الأسئلة الشائعة ---------- */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.faq-item.open{border-color:var(--tint-strong);box-shadow:var(--shadow)}
.faq-q{width:100%;display:flex;align-items:center;gap:14px;padding:19px 22px;text-align:start;font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.6}
.faq-q .chev{margin-inline-start:auto;flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--tint);color:var(--brand-text);transition:transform .3s var(--ease), background .3s var(--ease)}
.faq-q .chev svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.faq-item.open .faq-q .chev{transform:rotate(180deg);background:var(--brand);color:#fff}
.faq-a{display:grid;grid-template-rows:1fr}
.faq-a > div{overflow:hidden}
.faq-a p{padding:0 22px 20px;font-size:14.5px;line-height:1.9;color:var(--muted);margin:0}
html.js .faq-a{grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
html.js .faq-item.open .faq-a{grid-template-rows:1fr}
@supports not (grid-template-rows:0fr){
  html.js .faq-a{display:block;max-height:0;overflow:hidden;transition:max-height .4s var(--ease)}
  html.js .faq-item.open .faq-a{max-height:500px}
}

/* ---------- 14. عناوين الأقسام ---------- */
.section-head h2{letter-spacing:-.01em}
.hero h1 .accent{
  background:linear-gradient(120deg,var(--brand) 0%,var(--brand-mid) 45%,var(--brand-teal) 100%);
  background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
}
html.motion .hero h1 .accent{animation:shift-grad 7s var(--ease) infinite alternate}
@keyframes shift-grad{to{background-position:100% 0}}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .hero h1 .accent{-webkit-text-fill-color:var(--brand);color:var(--brand);background:none}
}

/* ---------- 15. الأداء ---------- */
.page-content:not(.active){content-visibility:hidden}
.mod-grid,.solutions-grid,.sector-list,.why-grid,.faq-list{content-visibility:auto;contain-intrinsic-size:auto 600px}

/* ---------- 15ب. أهداف لمس ---------- */
.lang-switch button{min-height:32px;min-width:38px;justify-content:center;display:inline-flex;align-items:center}
.footer-legal-links a{display:inline-flex;align-items:center;min-height:32px}
.logo{min-height:34px}
.breadcrumb a,.contact-info .row a,.legal-content a,.pricing-note a{display:inline-flex;align-items:center;min-height:32px}
.breadcrumb{display:flex;align-items:center;gap:4px;flex-wrap:wrap}

/* ---------- 16. تفاصيل أخيرة ---------- */
.mobile-menu{transition:transform .38s var(--ease), opacity .3s var(--ease)}
.burger span{transition:transform .3s var(--ease), opacity .2s var(--ease)}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.eyebrow{transition:border-color .3s var(--ease), background .3s var(--ease)}
html.motion .eyebrow .pip{animation:pulse-dot 2.6s ease-out infinite}
.intro-card,.form-card,.stat-card,.mod-card,.sol-card,.solution-item,.sector-row,.why-item,.task-item,
.price-card,.faq-item,.marquee-item,.trust-chip,.pricing-toggle,.lang-switch,.burger,.bento-item,.sector-tile{
  transition-property:transform,box-shadow,border-color,color;
}
.sol-card a,.contact-info .row a{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1.5px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--ease)}
html[dir="rtl"] .sol-card a,html[dir="rtl"] .contact-info .row a{background-position:100% 100%}
.sol-card a:hover,.contact-info .row a:hover{background-size:100% 1.5px;text-decoration:none}

/* ============================================================
   20. الهوية السعودية — شريط بانر
   ============================================================ */
.saudi-band{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--deep-1) 0%,var(--deep-2) 55%,var(--deep-3) 100%);
  color:var(--on-deep);border-radius:22px;padding:48px 44px;border:1px solid var(--tint-strong);box-shadow:var(--shadow-lg);
}
.saudi-band > *{position:relative;z-index:1}
.saudi-band .sb-eyebrow{
  display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;
  color:var(--on-deep-soft);margin-bottom:14px;border:1px solid var(--on-deep-line);border-radius:999px;padding:7px 14px;background:var(--on-deep-fill);
}
.saudi-band h2{font-size:clamp(22px,3vw,30px);font-weight:800;line-height:1.4;margin-bottom:12px}
.saudi-band > p{font-size:15px;line-height:1.9;color:var(--on-deep-soft);max-width:620px;margin-bottom:28px}
.sb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:900px){ .sb-grid{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .sb-grid{grid-template-columns:1fr} }
.sb-item{background:var(--on-deep-fill);border:1px solid var(--on-deep-line);border-radius:14px;padding:18px 16px;transition:border-color .3s var(--ease), transform .3s var(--ease)}
@media (hover:hover){ .sb-item:hover{border-color:var(--tint-strong);transform:translateY(-3px)} }
.sb-item .ic{width:38px;height:38px;border-radius:11px;margin-bottom:12px;background:var(--tint);border:1px solid var(--on-deep-line);display:flex;align-items:center;justify-content:center}
.sb-item .ic svg{width:19px;height:19px;fill:none;stroke:var(--accent-teal);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sb-item h3{font-size:14.5px;font-weight:800;margin-bottom:6px;color:var(--on-deep)}
.sb-item p{font-size:12.5px;line-height:1.7;color:var(--on-deep-mute);margin:0}

.riyal{width:.95em;height:1em;display:inline-block;vertical-align:-.08em;flex-shrink:0;fill:currentColor}

/* ============================================================
   21. المحاسب الذكي — واجهة محادثة
   ============================================================ */
.ai-shell{
  background:linear-gradient(155deg,var(--deep-1) 0%,var(--deep-2) 60%,var(--deep-3) 100%);
  border:1px solid var(--tint-strong);border-radius:22px;padding:26px;box-shadow:var(--shadow-lg);color:#fff;position:relative;overflow:hidden;
}
.ai-shell::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 85% 0%,rgba(15,39,64,.16),transparent 55%)}
.ai-shell > *{position:relative;z-index:1}
.ai-chat{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.ai-msg{display:flex;gap:10px;max-width:86%}
.ai-msg.user{align-self:flex-end;flex-direction:row-reverse}
html[dir="rtl"] .ai-msg.user{align-self:flex-start;flex-direction:row}
.ai-msg .av{width:30px;height:30px;border-radius:9px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800}
.ai-msg.user .av{background:var(--on-deep-fill);border:1px solid var(--on-deep-line)}
.ai-msg.bot .av{background:var(--brand);color:#fff}
.ai-msg .bubble{background:var(--on-deep-fill);border:1px solid var(--on-deep-line);border-radius:14px;padding:12px 15px;font-size:13.5px;line-height:1.8}
.ai-msg.user .bubble{background:rgba(15,39,64,.14)}
.ai-msg .bubble ul{margin-top:6px;display:flex;flex-direction:column;gap:5px}
.ai-msg .bubble li{display:flex;gap:8px;font-size:13px;color:var(--on-deep-soft)}
.ai-msg .bubble li::before{content:"•";color:var(--accent-teal);flex-shrink:0}
.ai-insights{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (max-width:760px){ .ai-insights{grid-template-columns:1fr 1fr} }
@media (max-width:480px){ .ai-insights{grid-template-columns:1fr} }
.ai-ins-card{background:var(--on-deep-fill);border:1px solid var(--on-deep-line);border-radius:12px;padding:14px}
.ai-ins-card .tag{font-size:10.5px;font-weight:800;color:var(--accent-teal);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:block}
.ai-ins-card p{font-size:12.5px;line-height:1.6;color:var(--on-deep-soft);margin:0}

/* ============================================================
   22. لوحات المراجعة (داخلي/خارجي)
   ============================================================ */
.audit-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:860px){ .audit-grid{grid-template-columns:1fr} }
.audit-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.audit-card h3{font-size:14.5px;font-weight:800;margin-bottom:14px}
.risk-gauge{display:flex;align-items:center;gap:18px}
.risk-gauge svg{width:104px;height:104px;flex-shrink:0}
.risk-gauge .track{fill:none;stroke:var(--line);stroke-width:10}
.risk-gauge .val{fill:none;stroke:var(--brand);stroke-width:10;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;
  stroke-dasharray:251;stroke-dashoffset:var(--off,90)}
.risk-gauge .num{font-size:26px;font-weight:800;color:var(--ink);font-family:var(--font-en)}
.risk-gauge .lbl{font-size:12.5px;color:var(--muted);margin-top:4px}
.audit-list{display:flex;flex-direction:column;gap:0;margin-top:6px}
.audit-list div{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:13.5px}
.audit-list div:first-child{border-top:none}
.status-pill{font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px}
.status-pill.ok{background:var(--tint);color:var(--ok-text)}
.status-pill.warn{background:rgba(217,164,65,.14);color:#8A6D2E}
.status-pill.risk{background:rgba(220,90,80,.12);color:#B44236}
.timeline{display:flex;flex-direction:column;gap:0;margin-top:6px}
.timeline .t-row{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line)}
.timeline .t-row:first-child{border-top:none}
.timeline .dot{width:9px;height:9px;border-radius:50%;background:var(--brand);margin-top:6px;flex-shrink:0}
.timeline .t-body b{display:block;font-size:13.5px;font-weight:700;margin-bottom:2px}
.timeline .t-body span{font-size:12px;color:var(--muted)}

.portal-shell{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}
.portal-lock{display:flex;align-items:center;gap:12px;padding:16px 22px;background:var(--brand-light);border-bottom:1px solid var(--line)}
.portal-lock .ic{width:34px;height:34px;border-radius:10px;background:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.portal-lock .ic svg{width:17px;height:17px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.portal-lock b{display:block;font-size:13.5px}
.portal-lock span{font-size:12px;color:var(--muted)}
.portal-body{display:grid;grid-template-columns:200px 1fr;min-height:280px}
@media (max-width:700px){ .portal-body{grid-template-columns:1fr} }
.portal-side{background:var(--paper-2);border-inline-end:1px solid var(--line);padding:14px}
@media (max-width:700px){ .portal-side{border-inline-end:none;border-bottom:1px solid var(--line);display:flex;gap:6px;overflow-x:auto} }
.portal-side button{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700;color:var(--ink-2);width:100%;text-align:start;transition:.15s}
.portal-side button.on{background:var(--surface);color:var(--brand-text);box-shadow:var(--shadow)}
@media (max-width:700px){ .portal-side button{width:auto;white-space:nowrap} }
.portal-main{padding:20px}
.portal-view{display:none}
.portal-view.on{display:block}
.portal-main .row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line);font-size:13.5px}
.portal-main .row:first-child{border-top:none}
.portal-time{font-size:12px;color:var(--muted);font-weight:600}

/* ============================================================
   23. المنيو الضخم — سهم صغير يربط الزر بالقائمة
   ============================================================ */
.mega::before{
  content:"";position:absolute;top:-6px;inset-inline-start:calc(50% - 6px);
  width:12px;height:12px;background:var(--surface);border-inline-start:1px solid var(--line);border-top:1px solid var(--line);
  transform:rotate(45deg);
}

/* ---------- 17. احترام تقليل الحركة ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal,.stagger > *{opacity:1 !important;transform:none !important}
}

/* ---------- 18. تباين عالٍ ---------- */
@media (prefers-contrast:more){
  :root{--line:rgba(16,37,27,.35);--line-2:rgba(16,37,27,.5);--muted:#33443A}
  .btn-ghost{border-width:2px}
}

/* ---------- 19. الطباعة ---------- */
@media print{
  header,.mobile-menu,.skip-link,.lang-switch,.burger,footer .social-row{display:none !important}
  .page-content{display:block !important}
  body{background:#fff;color:#000}
  .browser-frame,.cta-banner,.contact-info,.price-card.featured,.ai-shell{background:#fff !important;color:#000 !important;border:1px solid #999 !important}
  a[href^="#"]::after{content:""}
  section{padding:18px 0;page-break-inside:avoid}
}
