/* ================================================================
   قدرات العرض المستوردة — Rashad Fakiha · 2026-09-14
   ملف واحد يحمل أربع قدرات، كلها تنسيق محض بلا مكتبة.
   ومصدر كل واحدة قياسٌ على 48 صفحة من أربعة مواقع مرجعية.

   الاستعمال: يُربط بعد رموز نظام التصميم وقبل تنسيق الصفحة.
   ولا يفرض شيئًا على أحد — كل قدرة تُطلب بصفة أو بصنف.
   ================================================================ */

/* ----------------------------------------------------------------
   1 · سلّم مدد الحركة — رقم واحد يحكم كل سرعة في الصفحة
   المصدر: augment.org يعلن كل مدّة بحساب مضروب في متغيّر واحد.
   وتحفّظ مقيس: مكتبته محملة ولا تعمل في سبع من ثماني صفحات.
   فالفكرة تُؤخذ لصوابها الهندسي، لا لإتقانهم إياها.
   ---------------------------------------------------------------- */
:root {
  --rf-t: 0.4s;            /* الرقم الحاكم. غيّره وحده فيتبعه الجميع. */

  --rf-t-instant: calc(var(--rf-t) * 0.4);   /* لمسة زر · 0.16s */
  --rf-t-quick:   calc(var(--rf-t) * 0.75);  /* تحويم · 0.30s */
  --rf-t-base:    var(--rf-t);               /* ظهور عنصر · 0.40s */
  --rf-t-calm:    calc(var(--rf-t) * 1.5);   /* ظهور قسم · 0.60s */
  --rf-t-slow:    calc(var(--rf-t) * 2.75);  /* مشهد · 1.10s */
  --rf-t-scene:   calc(var(--rf-t) * 3.5);   /* عدّاد · 1.40s */
  --rf-t-marquee: calc(var(--rf-t) * 125);   /* شريط · 50s — مطابق لقياس masterclass */

  --rf-ease:      cubic-bezier(0.23, 1, 0.32, 1);
  --rf-ease-in:   cubic-bezier(0.42, 0, 1, 1);
  --rf-ease-soft: cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root { --rf-t: 0.001s; }
}

/* ----------------------------------------------------------------
   2 · انتقال العنصر المشترك
   المصدر: المواقع الأربعة كلها، في 38 صفحة من 38 فُحصت.
   وهي قدرة في المتصفح نفسه، بلا مكتبة ولا حِزمة.
   ---------------------------------------------------------------- */

/* أ · الانتقال بين صفحتين. سطر واحد يجعل كل تنقّل داخل الموقع يتلاشى
      بدل أن يومض أبيض. ويحتاج أن تُخدَم الصفحتان من الأصل نفسه. */
@view-transition {
  navigation: auto;
}

/* ب · العناصر التي تنتقل بذاتها بين الصفحتين.
      تُوضع الصفة نفسها على العنصر في الصفحتين، فيعبر بينهما.
      والاسم لا بد أن يكون فريدًا في الصفحة الواحدة. */
[data-rf-morph="hero"]    { view-transition-name: rf-hero; }
[data-rf-morph="title"]   { view-transition-name: rf-title; }
[data-rf-morph="media"]   { view-transition-name: rf-media; }
[data-rf-morph="card"]    { view-transition-name: rf-card; }
[data-rf-morph="price"]   { view-transition-name: rf-price; }
[data-rf-morph="badge"]   { view-transition-name: rf-badge; }

/* ب-2 · أسماء بعينها لبطاقات البرامج الثلاث في الرئيسية — وُصلت 2026-09-15.
      وعلّتها أن الاسم لا بد أن يكون فريدًا في الصفحة، وثلاث بطاقات متجاورة
      لا تتقاسم اسمًا واحدًا وإلا بطل الانتقال كله. الصفة نفسها تُوضع على
      صورة المنتج في صفحة الرحلة، فتعبر الصورة بين الصفحتين وهي واحدة. */
[data-rf-morph="journey-transformation"] { view-transition-name: rf-journey-transformation; }
[data-rf-morph="journey-empowerment"]   { view-transition-name: rf-journey-empowerment; }
[data-rf-morph="journey-complete"]      { view-transition-name: rf-journey-complete; }

/* ج · الرأس والتذييل يثبتان ولا يتلاشيان مع الصفحة. */
[data-rf-morph="header"]  { view-transition-name: rf-header; }
[data-rf-morph="footer"]  { view-transition-name: rf-footer; }

/* د · إيقاع الانتقال مربوط بالرقم الحاكم أعلاه. */
::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: var(--rf-t-quick);
  animation-timing-function: var(--rf-ease-soft);
}
::view-transition-group(rf-hero),
::view-transition-group(rf-media),
::view-transition-group(rf-card),
::view-transition-group(rf-journey-transformation),
::view-transition-group(rf-journey-empowerment),
::view-transition-group(rf-journey-complete) {
  animation-duration: var(--rf-t-calm);
  animation-timing-function: var(--rf-ease);
}

/* هـ · احترام تقليل الحركة: الانتقال يصير تبديلًا فوريًّا. */
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}

/* ----------------------------------------------------------------
   3 · قصّ الأشكال
   المصدر: توني روبنز 10 إلى 18 عنصرًا في كل صفحة من عشر،
   وماستر كلاس حتى 83، وأوجمنت حتى 241 في صفحات الأشخاص.
   وحدّ معلن: لا يُقصّ وجه. الأشكال للمشاهد والقاعات لا للبورتريه.
   ---------------------------------------------------------------- */
.rf-clip {
  overflow: clip;
  display: block;
}
.rf-clip > img,
.rf-clip > video,
.rf-clip > picture > img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.rf-clip--slant  > * { clip-path: polygon(0 0, 100% 6%, 100% 100%, 0 94%); }
.rf-clip--arch   > * { clip-path: inset(0 round 50% 50% 4px 4px / 34% 34% 4px 4px); }
.rf-clip--arrow  > * { clip-path: polygon(0 0, 100% 0, 100% 88%, 50% 100%, 0 88%); }
.rf-clip--lean   > * { clip-path: polygon(12% 0, 100% 0, 88% 100%, 0 100%); }
.rf-clip--notch  > * { clip-path: polygon(0 0, 72% 0, 100% 18%, 100% 100%, 0 100%); }
.rf-clip--ribbon > * { clip-path: polygon(0 8%, 100% 0, 100% 92%, 0 100%); }

/* على الشاشة الضيّقة تهدأ الأشكال، فالقصّ الحادّ يأكل محتوى الصورة
   حين يقلّ العرض. مقيس: تحت 480 يبقى القصّ خفيفًا أو يزول. */
@media (max-width: 480px) {
  .rf-clip--arrow > *,
  .rf-clip--notch > * { clip-path: none; }
  .rf-clip--slant > * { clip-path: polygon(0 0, 100% 3%, 100% 100%, 0 97%); }
  .rf-clip--lean  > * { clip-path: polygon(6% 0, 100% 0, 94% 100%, 0 100%); }
}

/* حارس صريح: لا يُقصّ ما وُسم وجهًا. */
.rf-clip[data-rf-face="true"] > * { clip-path: none !important; }

/* ----------------------------------------------------------------
   4 · سلّم العنوان بنوع الصفحة
   تصحيح مقيس: حجم العنوان الأول عند المراجع ليس رقمًا واحدًا.
   يمتد من 1.8 بالمئة من ارتفاع الشاشة في صفحة خدمية
   إلى 13.3 بالمئة في صفحة شهادات. والصفحة الرئيسية وحدها
   هي التي تسكن النطاق الضيّق حول 8 بالمئة.
   ---------------------------------------------------------------- */
[data-rf-page] h1 { line-height: 1.15; margin: 0; }

/* حكم المالك 2026-09-15 · الجولة 10-أ: السقف يُرفع إلى 68px ولا يُطبَّق على
   الرئيسية المبنية — عنوانها المقيس 66.24px عند 1440×900 (7.36vh) داخل النطاق
   المرجعي، فلا يُصغَّر. والصفة data-rf-page غير موضوعة على الصفحة عن قصد. */
[data-rf-page="home"]    h1 { font-size: clamp(30px, 8vh, 68px); }   /* مقيس 7.6 إلى 8.9 */
[data-rf-page="landing"] h1 { font-size: clamp(32px, 11vh, 76px); }  /* ذروة الإقناع */
[data-rf-page="program"] h1 { font-size: clamp(26px, 6vh, 46px); }
[data-rf-page="catalog"] h1 { font-size: clamp(22px, 5vh, 38px); }   /* مقيس 6.2 عند مايند فالي */
[data-rf-page="article"] h1 { font-size: clamp(24px, 4.5vh, 40px); }
[data-rf-page="utility"] h1 { font-size: clamp(18px, 2.4vh, 24px); } /* مقيس 1.8 عند صفحة خدمية */

/* ----------------------------------------------------------------
   5 · حدود معلنة
   • الضباب ممنوع في هذا النظام. وثلاثة من أربعة مراجع يستعملونه،
     ولا يُستورَد. ولا قاعدة هنا تُنتجه.
   • الصورة تبقى بلونها. لا تحويل إلى رمادي عند التحويم.
   • السحب وحده ليس تنقّلًا. كل شريط يحمل أسهمًا ولوحة مفاتيح.
   ---------------------------------------------------------------- */
