/* ============================================================
   ميان — واجهة الدخول
   نفس آلية هب maryamayan.com/courses بالضبط:
   مشهد مثبّت (sticky) يقوده التمرير عبر متغيّر واحد --p من 0 إلى 1،
   والـCSS يشتقّ منه كل المراحل. العنوان يبدأ في وسط الشاشة ثم يصعد
   ويصغر، والمشهد يعتم، ثم ترتفع البطاقات بتتابع من تحت قناع.
   الحالة النهائية هي الافتراضية: بلا جافاسكربت --p=1 وكل شيء ظاهر.
   الهوية والمحتوى لميان وحدها.
   ============================================================ */

@font-face{font-family:"Thmanyah";src:url("/fonts/thmanyahserifdisplay-Light.woff2") format("woff2");
  font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Thmanyah";src:url("/fonts/thmanyahserifdisplay-Regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Thmanyah";src:url("/fonts/thmanyahserifdisplay-Medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Thmanyah";src:url("/fonts/thmanyahserifdisplay-Bold.woff2") format("woff2");
  font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Thmanyah";src:url("/fonts/thmanyahserifdisplay-Black.woff2") format("woff2");
  font-weight:900;font-style:normal;font-display:swap}

:root{
  --paper:#FAF9F7;
  --ink:#0B0B0B;
  --ink-2:#3A3733;
  --soft:#6F6B66;
  --line:rgba(11,11,11,.14);
  --off:#EDEAE5;

  --p:1;                    /* تقدّم المشهد — يكتبه السكربت 0→1 */

  --gut:clamp(20px,4.2vw,60px);
  --maxw:1320px;
  --s1:8px; --s2:12px; --s3:18px; --s4:26px; --s5:40px;

  --t-lab:clamp(11px,1vw,12.5px);
  --t-h1:clamp(58px,9.6vw,150px);
  --t-sup:clamp(14.5px,1.25vw,18px);
  --t-card:clamp(22px,2.2vw,30px);
  --t-meta:clamp(15px,1.35vw,18px);

  --display:"Thmanyah",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;
  --out:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--display);font-size:17px;line-height:1.8;
  -webkit-font-smoothing:antialiased}
[dir=rtl] *{letter-spacing:normal}
[dir=ltr] .pin-h{letter-spacing:-.03em}
[dir=ltr] .foot-mark span,[dir=ltr] .brand span{letter-spacing:.06em}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:700}
/* العناوين الدلالية داخل المكوّنات ترث مقاس المكوّن ووزنه، فالشكل لا يتغيّر.
   ⚠ بلا هذا يضيف المتصفّح هامش 1em للـh3 فيقفز ارتفاع الصف من 60 إلى 122. */
h2.deck-lab,h2.svc-lab{font-weight:500}
h3.card-t,h3.s-t{display:block;margin:0}
p{margin:0}

/* ============================================================
   الهيدر — شفاف فوق المشهد، خفيف جداً
   ============================================================ */
.head{position:fixed;inset-block-start:0;inset-inline:0;z-index:40;
  padding:clamp(16px,2.4vh,26px) var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:background .4s var(--out)}
.head::before{content:"";position:absolute;inset-inline:0;inset-block-start:0;height:190%;
  background:linear-gradient(to bottom,rgba(12,11,10,.46),rgba(12,11,10,0));
  pointer-events:none;transition:opacity .4s var(--out)}
.head>*{position:relative}
.brand{display:inline-flex;align-items:center;min-height:48px;color:var(--off);
  text-shadow:0 1px 18px rgba(12,11,10,.6);transition:color .4s var(--out);white-space:nowrap}
.brand span{font-weight:900;font-size:clamp(19px,1.7vw,25px);letter-spacing:.06em;line-height:1;
  direction:ltr;unicode-bidi:isolate}
/* روابط القائمة فوق الفيديو */
.head-nav{display:none;align-items:center;gap:clamp(10px,1.6vw,26px)}
@media(min-width:900px){.head-nav{display:flex}}
.head-nav a{font-size:clamp(14px,1.15vw,16px);font-weight:500;color:rgba(237,234,229,.86);
  text-shadow:0 1px 16px rgba(12,11,10,.6);padding:6px 2px;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.head-nav a:hover{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
.head.solid .head-nav a{color:var(--ink-2);text-shadow:none}
.head.solid .head-nav a:hover{color:var(--ink);border-bottom-color:var(--ink)}
.head-right{display:flex;align-items:center;gap:9px}
.head-lang{font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  color:rgba(237,234,229,.72);border:1px solid rgba(237,234,229,.30);
  border-radius:99px;padding:8px 13px;display:inline-flex;align-items:center;gap:7px;
  min-height:40px;text-shadow:0 1px 16px rgba(12,11,10,.55);direction:ltr;
  transition:background .25s,color .25s,border-color .25s}
.head-lang b{font-weight:600;color:var(--off)}
.head-lang:hover{background:var(--off);color:var(--ink);border-color:var(--off)}
.head-lang:hover b{color:var(--ink)}
.head.solid .head-lang{color:var(--soft);border-color:var(--line);text-shadow:none}
.head.solid .head-lang b{color:var(--ink)}
.head.solid .head-lang:hover{background:var(--ink);color:#EDEAE5;border-color:var(--ink)}
.head.solid .head-lang:hover b{color:#fff}
@media(max-width:520px){.head-link{display:none}}

.head-burger{display:grid;place-items:center;width:44px;height:44px;
  background:rgba(12,11,10,.24);border:1px solid rgba(237,234,229,.34);
  border-radius:99px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media(min-width:900px){.head-burger{display:none}}
.head-burger span{display:block;width:16px;height:1.5px;background:var(--off);
  box-shadow:0 -5px 0 var(--off),0 5px 0 var(--off)}
.head.solid .head-burger{background:transparent;border-color:var(--line)}
.head.solid .head-burger span{background:var(--ink);box-shadow:0 -5px 0 var(--ink),0 5px 0 var(--ink)}

.head-mob{display:none;position:fixed;inset-block-start:0;inset-inline:0;z-index:39;
  background:var(--ink);padding:clamp(78px,11vh,104px) var(--gut) var(--s4)}
.head-mob.open{display:block}
@media(min-width:900px){.head-mob,.head-mob.open{display:none}}
.head-mob a{display:block;font-size:20px;font-weight:600;color:var(--off);
  padding:15px 0;border-bottom:1px solid rgba(237,234,229,.16)}

.head-link{font-family:var(--mono);font-size:11px;letter-spacing:.07em;
  color:rgba(237,234,229,.82);border:1px solid rgba(237,234,229,.34);
  border-radius:99px;padding:8px 16px;display:inline-flex;align-items:center;min-height:40px;
  text-shadow:0 1px 16px rgba(12,11,10,.55);
  transition:background .25s,color .25s,border-color .25s}
.head-link:hover{background:var(--off);color:var(--ink);border-color:var(--off)}
.head.solid{background:var(--paper);border-bottom:1px solid var(--line)}
.head.solid::before{opacity:0}
.head.solid .brand{color:var(--ink);text-shadow:none}
.head.solid .head-link{color:var(--soft);border-color:var(--line);text-shadow:none}
.head.solid .head-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ============================================================
   المشهد — مسار تمرير طويل، وطبقة مثبّتة بارتفاع شاشة
   ============================================================ */
.scene{position:relative;height:136svh;background:var(--ink)}
.scene.scene-svc{height:128svh}
.pin{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink)}

/* مراحل التتابع — كلها مشتقّة من --p */
.pin{
/* المراحل موزّعة على المسار كله حتى تنتهي البطاقات مع نهاية المشهد.
   قبلها كانت تكتمل عند 32% فيبقى 68% تمريراً ميتاً والمتر في أوله. */
  --t:  clamp(0,calc(var(--p) * 6.2),1);            /* 0.00 → .16  العنوان يصعد */
  --dim:clamp(0,calc((var(--p) - .02) * 5.5),1);    /* 0.02 → .20  التعتيم */
  --th: clamp(0,calc((var(--p) - .05) * 5.9),1);    /* 0.05 → .22  العنوان يتلاشى */
  --lab:clamp(0,calc((var(--p) - .05) * 11),1);     /* 0.05 → .14  «خدماتنا» تكتمل قبل البطاقات */
  --cA: clamp(0,calc((var(--p) - .19) * 2.4),1);    /* 0.19 → .61  المرسم */
  --cB: clamp(0,calc((var(--p) - .33) * 2.0),1);    /* 0.33 → .83  المتجر */
}

.pin-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 42%;
  transform:scale(calc(1 + var(--p) * .045))}
/* حجابان: طولي للقراءة العامة، ودائري ناعم خلف الكتلة النصية.
   لقطات المرسم أنور من لقطات المرجع، فالتدرّج الطولي وحده كان يترك
   «ميان» الأبيض يذوب في الطاولة الخشبية. */
.pin-scrim{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 58% 46% at 50% 46%,
      rgba(12,11,10,.62) 0%, rgba(12,11,10,.42) 45%, rgba(12,11,10,0) 78%),
    linear-gradient(to bottom,
      rgba(12,11,10,.56) 0%, rgba(12,11,10,.34) 22%,
      rgba(12,11,10,.38) 58%, rgba(12,11,10,.78) 100%)}
.pin-dim{position:absolute;inset:0;pointer-events:none;background:#0C0B0A;
  opacity:calc(var(--dim) * .32)}

/* ═════ كتلة الهيرو ═════
   زر «ارفع الشاشة» بحدود بيضاء فوق، ثم نص التعريف كبيراً وواضحاً.
   الكتلة تتلاشى قبل وصول البطاقات فما تقعد فوقها. */
.pin-txt{position:absolute;z-index:3;inset-inline:0;top:50%;
  padding-inline:var(--gut);max-width:var(--maxw);margin-inline:auto;
  text-align:center;transform:translate3d(0,-50%,0);
  opacity:calc(1 - var(--th));
  display:flex;flex-direction:column;align-items:center;gap:clamp(20px,3.2vh,34px)}

/* الدعوة للنزول — مؤطّرة بالأبيض حتى تبان فوق الفيديو */
.pin-cue{
  display:inline-flex;align-items:center;gap:11px;
  font-family:var(--mono);font-size:clamp(12px,1.05vw,14px);letter-spacing:.10em;
  color:#fff;border:1px solid rgba(255,255,255,.85);border-radius:99px;
  padding:13px 26px;min-height:46px;
  background:rgba(12,11,10,.26);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  text-shadow:0 1px 14px rgba(12,11,10,.5);
  transition:background .3s var(--out),color .3s var(--out),border-color .3s var(--out);
}
.pin-cue:hover,.pin-cue:focus-visible{background:#fff;color:var(--ink);border-color:#fff;text-shadow:none}
.pin-cue i{font-style:normal;display:block;width:1px;height:16px;
  background:currentColor;opacity:.7;transform-origin:top;flex:none}
@media(prefers-reduced-motion:no-preference){
  .pin-cue i{animation:cueDrop 2.4s var(--out) infinite}
}
@keyframes cueDrop{
  0%{transform:scaleY(.25);opacity:.2}
  40%,70%{transform:scaleY(1);opacity:.7}
  100%{transform:scaleY(.25);opacity:.2}
}

/* نص التعريف — هو العنوان الآن */
.pin-h{
  font-size:clamp(21px,2.5vw,36px);line-height:1.55;font-weight:400;
  letter-spacing:-.012em;color:#fff;margin:0;
  max-width:min(34ch,90vw);text-wrap:balance;
  text-shadow:0 2px 30px rgba(12,11,10,.55);
}
[dir=ltr] .pin-h{max-width:min(38ch,90vw)}

/* ═════ البطاقتان ═════ */
.deck{position:absolute;z-index:2;inset-inline:0;bottom:0;
  padding-inline:var(--gut);max-width:var(--maxw);margin-inline:auto;
  height:calc(100svh - 168px);display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;gap:clamp(16px,2.4vh,28px);
  padding-bottom:clamp(78px,11vh,116px);
  transform:translate3d(calc(var(--mx,0) * 9px),calc(var(--my,0) * 6px),0)}
.deck-row{display:flex;align-items:flex-end;justify-content:center;
  gap:clamp(14px,1.6vw,26px);width:100%;min-height:0}

/* «خدماتنا» — تظهر قبل البطاقات فتقول ايش الجاي */
.deck-lab{display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:var(--lab);transform:translateY(calc((1 - var(--lab)) * 10px))}
.deck-lab span{font-family:var(--display);font-weight:600;
  font-size:clamp(18px,2vw,26px);line-height:1;letter-spacing:-.01em;color:#fff;
  text-shadow:0 2px 22px rgba(12,11,10,.6)}
.deck-lab::after{content:"";width:34px;height:1px;background:rgba(255,255,255,.55)}

/* الارتفاع محسوب من الشاشة ناقص مساحة العنوان، والعرض يتبع النسبة.
   قبلها كان العرض هو الحاكم فتطول البطاقة وتلامس سقف الهيدر. */
.card{position:relative;display:block;flex:0 0 auto;
  height:min(calc(100svh - 360px),600px);
  width:auto;aspect-ratio:2/3;max-width:44vw;
  background:#1b1917;overflow:hidden;isolation:isolate;
  will-change:transform,opacity}
.card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 36%;transform:scale(1.02)}
.card-ph{position:absolute;inset:0;background:#171614;display:grid;place-items:center;
  text-align:center;padding:20px}
.card-ph::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom right,transparent calc(50% - .5px),rgba(237,234,229,.14) 50%,transparent calc(50% + .5px)),
    linear-gradient(to bottom left,transparent calc(50% - .5px),rgba(237,234,229,.14) 50%,transparent calc(50% + .5px))}
.card-ph span{position:relative;font-family:var(--mono);font-size:11px;
  color:rgba(237,234,229,.55);line-height:1.7}
.card-vig{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,9,8,.94) 0%,rgba(10,9,8,.64) 30%,
    rgba(10,9,8,.10) 62%,rgba(10,9,8,.20) 100%)}
.card-in{position:absolute;inset-inline:0;bottom:0;padding:var(--s4) var(--s3) var(--s3)}
.card-t{display:block;font-size:var(--t-card);font-weight:700;line-height:1.2;
  letter-spacing:-.02em;color:var(--off)}
.card-m{margin-top:var(--s2);padding-top:var(--s2);
  border-top:1px solid rgba(237,234,229,.26);display:block;
  font-size:var(--t-meta);line-height:1.5;font-weight:300;
  color:rgba(237,234,229,.90)}
.card-go{position:absolute;top:var(--s3);inset-inline-end:var(--s3);
  width:32px;height:32px;border-radius:100px;display:flex;align-items:center;
  justify-content:center;color:var(--off);border:1px solid rgba(237,234,229,.34);
  background:rgba(12,11,10,.24);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  font-size:14px;opacity:0;transform:translateY(-4px)}

/* بلا جافاسكربت تبقى البطاقات ظاهرة قابلة للنقر — ما ننكسر على أحد */
.pin.js-scene .card{visibility:hidden;pointer-events:none}
.pin.js-scene.deck-on .card{visibility:visible;pointer-events:auto}

.card{--c:0;
  opacity:var(--c);
  clip-path:inset(calc((1 - var(--c)) * 100%) 0 0 0);
  transform:translate3d(0,calc((1 - var(--c)) * 54px),0)
            scale(calc(.965 + var(--c) * .035))}
.card:nth-child(1){--c:var(--cA)}
.card:nth-child(2){--c:var(--cB)}

@media(hover:hover) and (pointer:fine){
  .card{transition:filter .45s var(--out),box-shadow .45s var(--out)}
  .card-go{transition:opacity .35s var(--out),transform .35s var(--out)}
  .deck:hover .card{filter:brightness(.7)}
  .deck .card:hover{filter:brightness(1.04);box-shadow:0 26px 60px rgba(0,0,0,.5)}
  .card:hover .card-go{opacity:1;transform:translateY(0)}
  .card:focus-visible{outline:2px solid var(--off);outline-offset:3px}
  .card:focus-visible .card-go{opacity:1;transform:translateY(0)}
  .deck{perspective:1100px}
}

/* على الجوال: بطاقتان جنب بعض بعرض الشاشة، بلا سحب أفقي.
   النسبة تُقصَّر حتى يدخل النص مقروءاً في عمود ضيّق. */
@media(max-width:820px){
  .deck{gap:12px;overflow:visible;transform:none;
    height:calc(100svh - 250px);padding-bottom:clamp(58px,8vh,84px)}
  .deck-row{gap:10px;align-items:flex-end}
  .deck-lab span{font-size:clamp(16px,4.4vw,20px)}
  .card{flex:1 1 0;width:auto;max-width:none;height:auto;
    aspect-ratio:3/4;min-width:0}
  .card-img{object-position:50% 40%}
  .card-in{padding:var(--s3) 13px 13px}
  .card-t{font-size:clamp(15.5px,4.3vw,19px);line-height:1.25}
  .card-m{font-size:clamp(12px,3.2vw,14px);margin-top:7px;padding-top:7px;line-height:1.4}
  .card-go{width:26px;height:26px;font-size:11px;top:10px;inset-inline-end:10px}
}

/* ═════ الشريط السفلي: دعوة للنزول + مسطرة تقدّم ═════ */
.bar{position:absolute;z-index:4;inset-inline:0;bottom:clamp(18px,3vh,30px);
  max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut);
  display:flex;align-items:center;justify-content:flex-start}
.rule{position:relative;display:flex;align-items:center;justify-content:space-between;
  gap:8px;height:30px;width:clamp(170px,18vw,270px);flex:0 0 auto;opacity:.92}
.rule i{display:block;width:1px;height:9px;background:rgba(237,234,229,.45);flex:0 0 auto}
.rule i:nth-of-type(5n+1){height:17px;background:rgba(237,234,229,.8)}
.rule-box{position:absolute;top:50%;translate:0 -50%;height:26px;width:30px;
  border-radius:7px;border:1px solid var(--off);pointer-events:none;
  inset-inline-start:calc(var(--p) * (100% - 30px))}
@media(max-width:640px){.rule{display:none}}

/* ============================================================
   الفوتر — مأخوذ من فوتر متجر mayanart.net:
   نفس الأعمدة ونفس المحتوى (الوصف · روابط مهمة · تواصل · سوشال ·
   السجل التجاري · طرق الدفع)، لكن على سطح ميان الأسود بخط ثمانية
   بدل رمادي سلة الدافئ.
   ============================================================ */
.foot{background:#EDEAE5;color:var(--ink);
  padding:clamp(32px,4vw,52px) var(--gut) clamp(16px,2vw,22px)}
.foot a{color:rgba(11,11,11,.78);transition:color .2s}
.foot a:hover{color:var(--ink)}
.foot-grid{max-width:var(--maxw);margin:0 auto;display:grid;gap:clamp(20px,2.4vw,32px);
  grid-template-columns:1fr;padding-bottom:clamp(20px,2.4vw,28px);
  border-bottom:1px solid rgba(11,11,11,.16)}
@media(min-width:760px){.foot-grid{grid-template-columns:1.6fr 1fr 1fr}}
@media(min-width:1100px){.foot-grid{grid-template-columns:1.7fr 1fr 1fr 1fr}}
.foot-grid>*{min-width:0}

.foot-mark{display:flex;align-items:center;gap:11px;margin-bottom:var(--s2)}

.foot-mark span{font-weight:900;font-size:21px;letter-spacing:-.02em;line-height:1}
.foot-desc{font-size:14.5px;line-height:1.7;color:rgba(11,11,11,.72);max-width:46ch;
  font-weight:300}

.foot-h{font-family:var(--mono);font-size:11px;letter-spacing:.09em;
  color:rgba(11,11,11,.62);margin:0 0 var(--s2);font-weight:500}
.foot-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:15px}
.foot-list a{display:inline-flex;align-items:center;min-height:26px}
.foot-list .k{font-family:var(--mono);font-size:11px;color:rgba(11,11,11,.62);
  display:block;margin-bottom:2px}

/* أيقونات SVG مضمّنة — بلا طلب خارجي وبلا مكتبة، وتأخذ لونها من currentColor */
/* أيقونات مجرّدة بلا دوائر — هدف اللمس يبقى 44px بالحشو لا بالإطار */
.foot-soc{display:flex;flex-wrap:nowrap;gap:4px;align-items:center}
.foot-soc a{color:rgba(11,11,11,.72);display:inline-flex;align-items:center;
  justify-content:center;width:34px;height:34px;flex:none;
  transition:color .2s var(--out),transform .2s var(--out)}
.foot-soc svg{width:19px;height:19px;fill:currentColor;display:block}
.foot-soc a:hover,.foot-soc a:focus-visible{color:var(--ink);transform:translateY(-2px)}

.foot-cr{margin-top:var(--s3);font-family:var(--mono);font-size:11.5px;
  color:rgba(11,11,11,.6);display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.foot-cr b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;
  direction:ltr;unicode-bidi:isolate}

/* طرق الدفع — إطار بطاقة موحّد، وداخله رمز مرسوم أو ووردمارك مختصر.
   ⚠ شعارات سلة ملوّنة وتصادم الأبيض والأسود، فرُسمت بالأحادي هنا. */
.pay{display:flex;flex-wrap:wrap;gap:5px;margin-top:var(--s2)}
.pay-i{width:46px;height:30px;border:1px solid rgba(11,11,11,.22);border-radius:4px;
  display:inline-flex;align-items:center;justify-content:center;
  color:rgba(11,11,11,.74);background:rgba(255,255,255,.5);overflow:hidden}
.pay-i.pay-w{width:62px}
.pay-i svg{width:46px;height:30px;fill:currentColor;display:block}
.pay-i svg circle.o{fill-opacity:.42}
.pay-i .pay-lbl{font-family:var(--mono);font-size:8.5px;fill:currentColor}
.pay-t{font-size:11px;font-weight:600;line-height:1;letter-spacing:.02em}
.pay-t.lat{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;
  direction:ltr;unicode-bidi:isolate;text-transform:none}

.foot-bot{max-width:var(--maxw);margin:0 auto;padding-top:var(--s3);
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-family:var(--mono);font-size:11px;color:rgba(11,11,11,.62);letter-spacing:.03em}

/* شريط المعاينة */
.pv{background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;
  text-align:center;padding:8px var(--gut);line-height:1.6;position:relative;z-index:50}

@media(prefers-reduced-motion:reduce){
  .pin-media{transform:none}
  .anim .pin-h .w>span{transform:none;animation:none}
  .bar-cue i{animation:none}
}

/* ============================================================
   صفحة المرسم — قائمة أزرار بدل البطاقات
   ============================================================ */
.rows-sec{background:var(--paper);padding:clamp(40px,6vw,76px) 0 clamp(48px,7vw,90px)}
.rows-in{max-width:1080px;margin:0 auto;padding-inline:var(--gut)}
.rows-lab{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
  color:var(--soft);margin:0 0 var(--s4);display:flex;align-items:center;gap:11px}
[dir=rtl] .rows-lab{flex-direction:row-reverse}
.rows-lab::after{content:"";width:26px;height:1px;background:rgba(11,11,11,.3)}

.rowlist{border-top:1px solid var(--ink)}
.row-i{
  position:relative;display:grid;grid-template-columns:1fr auto;gap:14px 20px;
  align-items:center;width:100%;text-align:start;
  padding:clamp(18px,2.4vw,26px) clamp(4px,1.2vw,16px);
  border-bottom:1px solid rgba(11,11,11,.14);
  background:none;border-inline:0;border-top:0;cursor:pointer;
  font-family:var(--display);color:var(--ink);overflow:hidden;isolation:isolate;
  transition:color .38s var(--out),padding-inline .38s var(--out);
}
.row-i::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);
  transform:scaleY(0);transform-origin:bottom;transition:transform .42s var(--out)}
.row-i:hover,.row-i:focus-visible{color:#EDEAE5;padding-inline-start:clamp(14px,2vw,28px)}
.row-i:hover::before,.row-i:focus-visible::before{transform:scaleY(1)}
.row-t{font-size:clamp(20px,2.5vw,30px);font-weight:700;line-height:1.22;
  letter-spacing:-.018em;display:block}
.row-s{font-size:clamp(14px,1.35vw,16.5px);font-weight:300;line-height:1.5;
  color:var(--ink-2);margin-top:6px;display:block;transition:color .38s var(--out)}
.row-i:hover .row-s,.row-i:focus-visible .row-s{color:rgba(237,234,229,.82)}
.row-go{width:40px;height:40px;border-radius:50%;border:1px solid rgba(11,11,11,.28);
  display:grid;place-items:center;font-size:15px;flex:none;
  transition:background .34s var(--out),color .34s var(--out),
             border-color .34s var(--out),transform .34s var(--out)}
.row-i:hover .row-go,.row-i:focus-visible .row-go{
  background:#EDEAE5;color:var(--ink);border-color:#EDEAE5}
[dir=rtl] .row-i:hover .row-go{transform:translateX(-5px)}
[dir=ltr] .row-i:hover .row-go{transform:translateX(5px)}
.row-i .row-go .m{font-size:13px}

/* نافذة خدمات الفخار */
.sheet{border:0;padding:0;background:transparent;max-width:min(520px,92vw);width:100%}
.sheet::backdrop{background:rgba(11,11,11,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sheet-in{background:var(--paper);border:1px solid var(--ink);
  padding:clamp(24px,4vw,36px);text-align:start}
.sheet-h{font-size:clamp(21px,2.4vw,27px);font-weight:700;margin:0 0 6px;letter-spacing:-.02em}
.sheet-p{font-size:14.5px;color:var(--ink-2);margin:0 0 var(--s4);font-weight:300}
.sheet-list{border-top:1px solid var(--ink)}
.sheet-a{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:16px 2px;border-bottom:1px solid rgba(11,11,11,.14);color:var(--ink)}
.sheet-a b{font-size:17px;font-weight:600}
.sheet-a i{font-style:normal;width:32px;height:32px;border-radius:50%;flex:none;
  border:1px solid rgba(11,11,11,.28);display:grid;place-items:center;font-size:13px;
  transition:background .25s,color .25s,border-color .25s}
.sheet-a:hover i{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sheet-x{margin-top:var(--s4);font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;
  color:var(--soft);background:none;border:0;cursor:pointer;padding:10px 0;min-height:40px}
.sheet-x:hover{color:var(--ink)}

/* ============================================================
   صفحة المرسم — الخدمات ترتفع فوق الفيديو داخل المشهد
   نفس منطق البطاقات: كل صف له متغيّره المشتقّ من --p
   ============================================================ */
.pin{
  --L1:clamp(0,calc((var(--p) - .05) * 10),1);
  --L2:clamp(0,calc((var(--p) - .26) * 10),1);
  --r1:clamp(0,calc((var(--p) - .10) * 4.2),1);
  --r2:clamp(0,calc((var(--p) - .16) * 4.2),1);
  --r3:clamp(0,calc((var(--p) - .22) * 4.2),1);
  --r4:clamp(0,calc((var(--p) - .30) * 4.2),1);
  --r5:clamp(0,calc((var(--p) - .36) * 4.2),1);
  --r6:clamp(0,calc((var(--p) - .42) * 4.2),1);
  --r7:clamp(0,calc((var(--p) - .48) * 4.2),1);
  --r8:clamp(0,calc((var(--p) - .54) * 4.2),1);
}

.svc{position:absolute;z-index:2;inset-inline:0;bottom:0;
  padding-inline:var(--gut);max-width:980px;margin-inline:auto;
  height:calc(100svh - 130px);display:flex;flex-direction:column;justify-content:flex-end;
  padding-bottom:clamp(58px,8vh,86px)}
.svc-lab{font-family:var(--mono);font-size:11px;letter-spacing:.10em;
  color:rgba(237,234,229,.62);margin:0 0 10px;display:flex;align-items:center;gap:10px;
  text-shadow:0 1px 14px rgba(12,11,10,.7)}
[dir=rtl] .svc-lab{flex-direction:row-reverse}
.svc-lab::after{content:"";width:24px;height:1px;background:rgba(237,234,229,.4)}
.svc-lab.l1{opacity:var(--L1);transform:translateY(calc((1 - var(--L1)) * 8px))}
.svc-lab.l2{opacity:var(--L2);transform:translateY(calc((1 - var(--L2)) * 8px));
  margin-top:clamp(16px,2.4vh,26px)}

/* ⚠ الحدّ العلوي كان ثابتاً فيظهر كخط عائم فوق الفيديو قبل وصول الصفوف.
   شفافيته صارت مربوطة بنفس متغيّر ظهور تسمية القسم. */
.svc-list{border-top:1px solid transparent}
.svc-list.k1{border-top-color:rgba(237,234,229,calc(.28 * var(--L1)))}
.svc-list.k2{border-top-color:rgba(237,234,229,calc(.28 * var(--L2)))}
.s-row{
  position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 16px;
  align-items:center;width:100%;text-align:start;
  padding:clamp(10px,1.5vh,15px) clamp(6px,1vw,14px);
  border-bottom:1px solid rgba(237,234,229,.20);
  background:none;border-inline:0;border-top:0;cursor:pointer;
  font-family:var(--display);color:#EDEAE5;overflow:hidden;isolation:isolate;
  text-shadow:0 1px 16px rgba(12,11,10,.75);
  --c:0; opacity:var(--c);
  transform:translate3d(0,calc((1 - var(--c)) * 16px),0);
  transition:padding-inline .3s var(--out);
}
.s-row:nth-child(1){--c:var(--r1)} .s-row:nth-child(2){--c:var(--r2)}
.s-row:nth-child(3){--c:var(--r3)} .s-row:nth-child(4){--c:var(--r4)}
.s-row:nth-child(5){--c:var(--r5)} .s-row:nth-child(6){--c:var(--r6)}
.s-row:nth-child(7){--c:var(--r7)} .s-row:nth-child(8){--c:var(--r8)}
/* ⚠ opacity:0 وحدها لا تخرج العنصر من ترتيب التركيز — كان Tab يدخل
   سبعة صفوف غير مرئية. visibility:hidden يخرجها فعلاً. */
.pin.js-scene .s-row{visibility:hidden;pointer-events:none}
.pin.js-scene.deck-on .s-row{visibility:visible;pointer-events:auto}

.s-row::before{content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(237,234,229,.94);transform:scaleY(0);transform-origin:bottom;
  transition:transform .34s var(--out)}
.s-row:hover,.s-row:focus-visible{color:var(--ink);text-shadow:none;
  padding-inline-start:clamp(12px,1.8vw,22px)}
.s-row:hover::before,.s-row:focus-visible::before{transform:scaleY(1)}

.s-t{font-size:clamp(16px,2vw,23px);font-weight:700;line-height:1.25;
  letter-spacing:-.015em;display:block}
.s-s{font-size:clamp(12px,1.15vw,14px);font-weight:300;line-height:1.4;
  color:rgba(237,234,229,.72);margin-top:3px;display:block}
.s-row:hover .s-s,.s-row:focus-visible .s-s{color:var(--ink-2)}
.s-go{width:30px;height:30px;border-radius:50%;flex:none;
  border:1px solid rgba(237,234,229,.4);display:grid;place-items:center;font-size:12px;
  transition:background .3s var(--out),color .3s var(--out),
             border-color .3s var(--out),transform .3s var(--out)}
.s-row:hover .s-go,.s-row:focus-visible .s-go{
  background:var(--ink);color:#EDEAE5;border-color:var(--ink)}
[dir=rtl] .s-row:hover .s-go{transform:translateX(-4px)}
[dir=ltr] .s-row:hover .s-go{transform:translateX(4px)}

@media(max-width:820px){
  .svc{height:calc(100svh - 105px);padding-bottom:clamp(46px,6.5vh,68px);max-width:none}
}
/* ⚠ على الشاشات القصيرة (375×667) كان آخر صف يتجاوز الإطار بـ4 بكسل
   و.pin عليه overflow:hidden فيُقصّ ولا يُوصل له. الحل حشو أضيق فقط —
   بلا تغيير في التوقيت ولا في ارتفاع المشهد ولا في مقاسات الخط. */
@media(max-height:720px) and (max-width:820px){
  .svc{height:calc(100svh - 88px);padding-bottom:clamp(30px,4vh,44px)}
  .s-row{padding-block:clamp(5px,0.9vh,9px)}
  .svc-lab{margin-bottom:5px}
  .svc-lab.l2{margin-top:clamp(8px,1.4vh,14px)}
}
@media(max-width:820px){
  .s-row{padding:clamp(8px,1.2vh,12px) 6px;gap:3px 12px}
  .s-t{font-size:clamp(14.5px,4vw,17px)}
  .s-s{font-size:clamp(11px,3vw,12.5px)}
  .s-go{width:26px;height:26px;font-size:11px}
  .svc-lab{font-size:10px;margin-bottom:8px}
}

/* صف بلا وجهة بعد — نفس شكل الصف، بلا تفاعل، بوسم حالة */
.s-row.is-soon{cursor:default}
.s-row.is-soon:hover::before,.s-row.is-soon:focus-visible::before{transform:scaleY(0)}
.s-row.is-soon:hover{color:#EDEAE5;padding-inline-start:clamp(6px,1vw,14px)}
.s-soon{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
  color:rgba(237,234,229,.66);border:1px solid rgba(237,234,229,.34);
  border-radius:99px;padding:6px 12px;white-space:nowrap;flex:none;
  text-shadow:0 1px 14px rgba(12,11,10,.7)}

/* ============================================================
   صفحة جدول البرامج — بنيت على نفس التوكنز والمكوّنات
   ترويسة مضغوطة (لا مشهد مثبّت) لأنها صفحة بيانات لا صفحة دخول
   ============================================================ */
.sch-head{background:var(--ink);color:var(--off);
  padding:calc(var(--navtotal,86px) + clamp(30px,5vh,58px)) var(--gut) clamp(30px,5vh,52px)}
.sch-in{max-width:1080px;margin:0 auto}
.sch-lab{font-family:var(--mono);font-size:11.5px;letter-spacing:.09em;
  color:rgba(237,234,229,.62);margin:0 0 14px;display:flex;align-items:center;gap:11px}
[dir=rtl] .sch-lab{flex-direction:row-reverse}
.sch-lab::after{content:"";width:26px;height:1px;background:rgba(237,234,229,.4)}
.sch-h1{font-size:clamp(30px,4.6vw,56px);line-height:1.08;letter-spacing:-.025em;
  color:#fff;margin:0;font-weight:700}
.sch-sup{margin-top:14px;font-size:clamp(15px,1.5vw,18px);line-height:1.65;font-weight:300;
  color:rgba(237,234,229,.82);max-width:52ch}
.sch-meta{margin-top:clamp(18px,2.4vh,26px);padding-top:16px;
  border-top:1px solid rgba(237,234,229,.2);
  display:flex;flex-wrap:wrap;gap:8px 26px;
  font-family:var(--mono);font-size:12px;color:rgba(237,234,229,.7)}
.sch-meta b{color:#fff;font-weight:500}

/* شريط التصفية — لاصق تحت الهيدر */
.sch-filters{position:sticky;top:var(--navtotal,86px);z-index:20;
  background:var(--paper);border-bottom:1px solid var(--line);
  padding:14px var(--gut)}
.sch-filters-in{max-width:1080px;margin:0 auto;display:flex;flex-direction:column;gap:9px}
.sch-frow{display:flex;align-items:center;gap:10px;min-width:0}
.sch-frow > b{font-family:var(--mono);font-size:10.5px;letter-spacing:.07em;
  color:var(--soft);flex:none;font-weight:500;width:38px}
.sch-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:2px}
.sch-chips::-webkit-scrollbar{display:none}
.sch-chip{flex:none;font-family:var(--display);font-size:13.5px;font-weight:500;
  padding:8px 15px;min-height:38px;border-radius:99px;border:1px solid var(--line);
  background:transparent;color:var(--ink-2);cursor:pointer;white-space:nowrap;
  transition:background .18s,color .18s,border-color .18s}
.sch-chip:hover{border-color:var(--rule-2)}
.sch-chip[aria-pressed="true"]{background:var(--ink);color:var(--off);border-color:var(--ink)}
.sch-count{font-family:var(--mono);font-size:11.5px;color:var(--soft);flex:none}
.sch-count b{color:var(--ink);font-weight:600}

/* الأيام والجلسات */
.sch-body{padding:clamp(28px,4vw,48px) var(--gut) clamp(44px,6vw,76px)}
.sch-day{max-width:1080px;margin:0 auto}
.sch-day[hidden]{display:none}
.sch-day + .sch-day{margin-top:clamp(26px,3.4vw,42px)}
.sch-dname{display:flex;align-items:baseline;gap:12px;
  padding-bottom:10px;border-bottom:1px solid var(--ink);margin:0 0 2px}
.sch-dname h2{font-size:clamp(19px,2.1vw,25px);font-weight:700;letter-spacing:-.015em;margin:0}
.sch-dnum{font-family:var(--mono);font-size:11px;color:var(--soft)}

.sch-row{display:grid;grid-template-columns:64px 1fr auto;gap:4px 16px;align-items:center;
  padding:13px 4px;border-bottom:1px solid var(--line);color:var(--ink);
  transition:background .2s var(--out),padding-inline .25s var(--out)}
.sch-row:hover{background:var(--surface);padding-inline-start:10px}
.sch-row[hidden]{display:none}
.sch-thumb{width:64px;height:64px;border-radius:3px;overflow:hidden;background:var(--surface-2);grid-row:span 2}
.sch-thumb img{width:100%;height:100%;object-fit:cover}
.sch-t{font-family:var(--display);font-size:clamp(16px,1.7vw,19px);font-weight:600;
  line-height:1.3;display:block;margin:0}
.sch-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:5px;
  font-family:var(--mono);font-size:12px;color:var(--soft)}
.sch-aud{border:1px solid var(--line);border-radius:99px;padding:3px 9px;font-size:10.5px}
.sch-time{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.sch-right{grid-row:span 2;display:flex;align-items:center;gap:12px;flex:none}
.sch-price{font-family:var(--display);font-size:15px;font-weight:600;white-space:nowrap}
.sch-price i{font-style:normal;font-size:11px;color:var(--soft);font-weight:400}
.sch-go{display:inline-flex;align-items:center;justify-content:center;min-height:38px;
  padding:9px 17px;border-radius:99px;border:1.5px solid var(--ink);background:var(--ink);
  color:var(--paper);font-family:var(--display);font-size:13px;font-weight:600;white-space:nowrap;
  transition:background .16s,color .16s}
.sch-go:hover{background:transparent;color:var(--ink)}

.sch-empty{max-width:1080px;margin:0 auto;border:1px dashed var(--rule-2);border-radius:4px;
  padding:clamp(26px,4vw,42px);text-align:center;font-family:var(--mono);font-size:13px;
  color:var(--soft);line-height:1.9}
.sch-empty[hidden]{display:none}

.sch-note{max-width:1080px;margin:clamp(30px,4vw,48px) auto 0;
  background:var(--surface);border:1px solid var(--line);border-inline-start:3px solid var(--ink);
  padding:20px 22px}
.sch-note p{font-size:14.5px;line-height:1.8;color:var(--ink-2);max-width:68ch;margin:0}
.sch-note p + p{margin-top:10px}

@media(max-width:640px){
  .sch-row{grid-template-columns:52px 1fr;gap:3px 12px}
  .sch-thumb{width:52px;height:52px}
  .sch-right{grid-column:2;grid-row:auto;margin-top:8px;justify-content:flex-start}
  .sch-frow > b{width:auto}
}

/* ═════ زر واتساب عائم ═════
   inset-inline-end يتبع اتجاه القراءة: يسار في العربي، يمين في الإنجليزي.
   الأيقونة حبر على ورق — داخل اللوحة، بلا أخضر واتساب. */
.wa{position:fixed;z-index:60;inset-block-end:clamp(16px,3vw,26px);
  inset-inline-end:clamp(16px,3vw,26px);
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:var(--paper);
  box-shadow:0 6px 22px rgba(10,9,8,.28);
  transition:transform .2s var(--out),box-shadow .2s var(--out)}
.wa:hover,.wa:focus-visible{transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(10,9,8,.36);color:var(--paper)}
.wa:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wa svg{width:27px;height:27px;display:block;fill:currentColor}
@media(max-width:520px){.wa{width:48px;height:48px}.wa svg{width:25px;height:25px}}
@media print{.wa{display:none}}
