:root{
  --white:#fff; --ivory:#faf6ec; --sand:#efe6cf;
  --gold-1:#f1d77a; --gold-2:#d4af37; --gold-3:#a67c12; --gold-4:#6f520a;
  --black:#0c0c0c; --ink:#1b1a17; --graphite:#26241f; --muted:#6b665a;
  --gold-grad:linear-gradient(135deg,var(--gold-1) 0%,var(--gold-2) 45%,var(--gold-3) 100%);
  --radius:16px; --shadow:0 18px 50px -20px rgba(60,45,5,.35);
  --font-body:'Cairo',system-ui,'Segoe UI',Tahoma,sans-serif;
  --font-head:'Cairo',system-ui,'Segoe UI',Tahoma,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.85;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-head);line-height:1.35;margin:0 0 .5em;font-weight:700}
h2{font-size:clamp(1.7rem,3vw,2.4rem)}
h3{font-size:1.3rem}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--gold-2);outline-offset:3px;border-radius:6px}
.container{width:min(1160px,100% - 2.5rem);margin-inline:auto}
.skip{position:absolute;inset-inline-start:1rem;top:-60px;background:var(--black);color:#fff;padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{top:1rem}
.muted{color:var(--muted)} .small{font-size:.9rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:700;border:0;cursor:pointer;text-decoration:none;padding:.7rem 1.4rem;border-radius:999px;transition:transform .2s,box-shadow .2s,background .2s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold-grad);color:var(--black);box-shadow:0 10px 26px -10px rgba(212,175,55,.8)}
.btn-gold:hover{box-shadow:0 14px 30px -8px rgba(212,175,55,.9)}
.btn-dark{background:var(--black);color:var(--gold-1)}
.btn-ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(241,215,122,.6)}
.btn-ghost:hover{background:rgba(241,215,122,.12)}
.btn-sm{padding:.5rem 1.2rem;font-size:.95rem}
.btn-block{width:100%}

/* الشريط العلوي + الهيدر (mobile-first: قائمة منسدلة على الهاتف، وصف واحد من 1080px) */
.si{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.85rem;font-weight:700;letter-spacing:.02em;color:var(--gold-3)}
.eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--gold-grad)}
.gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.topbar{background:var(--black);color:rgba(255,255,255,.75);font-size:.84rem}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:.4rem 1rem;min-height:40px;padding-block:.3rem}
.topbar-info{display:flex;flex-wrap:wrap;gap:.2rem 1.4rem}
.topbar-info span,.topbar-info a{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;line-height:1.6}
.topbar-info a:hover{color:var(--gold-1)}
.topbar-info .si{color:var(--gold-2);width:1.05em;height:1.05em}
.topbar-addr{display:none!important}
.socials{display:flex;gap:.45rem}
.socials a{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--gold-1);background:rgba(241,215,122,.1);transition:background .2s,color .2s,transform .2s}
.socials a:hover{background:var(--gold-2);color:var(--black);transform:translateY(-2px)}
.socials .si{width:16px;height:16px}

.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s}
.nav.scrolled{box-shadow:0 10px 30px -22px rgba(60,45,5,.5);border-color:rgba(166,124,18,.22)}
.nav-in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:1rem;transition:min-height .3s}
.brand{display:inline-flex;align-items:center}
.brand img{height:48px;width:auto;mix-blend-mode:multiply;transition:height .3s}
.burger{display:flex;width:46px;height:46px;border:0;border-radius:12px;background:var(--ivory);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.burger span{width:22px;height:2.5px;background:var(--black);border-radius:2px;transition:.25s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.menu{position:absolute;inset-inline:1rem;top:calc(100% + 8px);display:none;flex-direction:column;background:#fff;color:var(--ink);padding:.6rem 1rem 1rem;border-radius:18px;border:1px solid rgba(166,124,18,.22);box-shadow:0 24px 50px -24px rgba(0,0,0,.4);max-height:calc(100dvh - 140px);overflow-y:auto}
.menu.open{display:flex}
.menu a:not(.btn){position:relative;display:flex;align-items:center;min-height:50px;text-decoration:none;font-weight:600;border-bottom:1px solid #f0ead8}
.menu a[aria-current=page]{color:var(--gold-3)}
.menu form{display:contents}
.menu-end{display:grid;gap:.8rem;padding-top:1rem}
.menu-end .btn{min-height:48px}
.menu-user{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;color:var(--muted);overflow-wrap:anywhere}
@media (min-width:760px){
  .topbar-addr{display:inline-flex!important}
}
@media (min-width:1080px){
  .nav-in{min-height:80px}
  .nav.scrolled .nav-in{min-height:66px}
  .brand img{height:56px}
  .nav.scrolled .brand img{height:46px}
  .burger{display:none}
  .menu{position:static;display:flex;flex-direction:row;align-items:center;gap:.2rem;margin-inline-start:auto;background:none;padding:0;border:0;border-radius:0;box-shadow:none;max-height:none;overflow:visible}
  .menu a:not(.btn){min-height:0;padding:.45rem .7rem;border:0;border-radius:10px;font-size:.95rem;transition:color .2s}
  .menu a:not(.btn)::after{content:"";position:absolute;inset-inline:.7rem;bottom:.15rem;height:2px;border-radius:2px;background:var(--gold-grad);transform:scaleX(0);transform-origin:right;transition:transform .3s}
  .menu a:not(.btn):hover,.menu a.active{color:var(--gold-4)}
  .menu a:not(.btn):hover::after,.menu a[aria-current=page]::after,.menu a.active::after{transform:scaleX(1)}
  .menu-end{display:flex;align-items:center;gap:1rem;padding:0;margin-inline-start:1rem}
  .menu-end .btn{min-height:0}
}

/* ===== الصفحة الرئيسية (mobile-first). كل الأقسام بالبادئة hm- ===== */
.hm-section{position:relative;padding-block:4rem}
.hm-ivory{background:var(--ivory)}
.hm-sand{background:linear-gradient(180deg,var(--sand),#e9dfc4)}
.hm-head{display:grid;gap:1rem;margin-bottom:2.2rem;align-items:end}
.hm-head h2,.hm-center h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:0}
.hm-head p{margin:0;color:var(--muted)}
.hm-head .side{display:grid;gap:1rem;justify-items:start}
.hm-center{text-align:center;max-width:720px;margin:0 auto 2rem}

/* البداية */
.hm-hero{position:relative;padding:2.6rem 0 6rem;background:radial-gradient(70% 60% at 100% 0,rgba(212,175,55,.14),transparent 60%),linear-gradient(180deg,var(--ivory),var(--sand))}
.hm-hero-grid{display:grid;gap:2rem;align-items:center}
.hm-hero h1{font-size:clamp(1.9rem,4.6vw,3.4rem);font-weight:800;line-height:1.3;margin-bottom:.4em}
.hm-lead{font-size:1.05rem;color:var(--muted);max-width:560px}
.hm-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.3rem 0 1.8rem}
.hm-list-title{font-size:1rem;font-weight:700;color:var(--ink);margin:0 0 .4rem}
.hm-svc-more{display:inline-block;margin-top:.5rem;font-size:.9rem;font-weight:700;color:var(--gold-4)}
.sp-narrow{max-width:820px}
.sp-hero{padding-block:2.5rem 3rem}
.sp-crumbs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;font-size:.9rem;color:var(--muted)}
.sp-crumbs a{color:var(--gold-4)}
.sp-list,.sp-steps{margin:1rem 0;padding-inline-start:1.4rem;line-height:1.9}
.sp-note{font-size:.95rem;color:var(--muted)}
.sp-faq details{border-bottom:1px solid rgba(166,124,18,.25);padding:.8rem 0}
.sp-faq summary{font-weight:700;cursor:pointer}
.sp-faq p{margin:.5rem 0 0;color:var(--muted)}
.sp-related{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;list-style:none;margin:1rem 0;padding:0}
.sp-related a{font-weight:700;color:var(--gold-4)}
.hm-list ol{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;counter-reset:s}
.hm-list li{counter-increment:s;display:flex;align-items:center;gap:.7rem;font-size:.95rem;color:var(--muted)}
.hm-list li::before{content:counter(s,decimal-leading-zero);min-width:1.8rem;font-weight:800;font-size:.85rem;color:var(--gold-3)}
.hm-list a{text-decoration:none;transition:color .2s}
.hm-list a:hover{color:var(--gold-4)}
.hm-visual{position:relative;min-height:340px;border-radius:26px;overflow:hidden;background:radial-gradient(80% 70% at 50% 30%,rgba(212,175,55,.22),transparent 65%),linear-gradient(160deg,#1c1a15,var(--black));box-shadow:0 24px 60px -30px rgba(60,45,5,.55)}
.hm-visual #scene{position:absolute;inset:0;width:100%;height:100%;display:block}
.hm-fallback{position:absolute;inset:0;display:grid;place-items:center}
.hm-fallback svg{width:70%;stroke:var(--gold-2);fill:none;stroke-width:1.4}
.scene-ready .hm-fallback{display:none}
.hm-float{position:absolute;z-index:2;display:flex;align-items:center;gap:.7rem;padding:.6rem .9rem;border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
.hm-float strong{display:block;font-size:1.25rem;line-height:1.2;color:var(--gold-4)}
.hm-float small{display:block;font-size:.78rem;color:var(--muted);line-height:1.45}
.hm-float .ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--black);color:var(--gold-1)}
.hm-float-1{top:18px;inset-inline-start:18px}
.hm-float-2{bottom:18px;inset-inline-end:18px}

/* المميزات + شريط الجهات */
.hm-features{position:relative;z-index:2;margin-top:-4.2rem}
.hm-feat-grid{display:grid;gap:1rem}
.hm-feat{position:relative;padding:1.3rem 1.2rem;border-radius:18px;background:var(--white);border:1px solid rgba(166,124,18,.22);box-shadow:0 24px 60px -30px rgba(60,45,5,.45);transition:transform .35s,box-shadow .35s}
.hm-feat:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(60,45,5,.6)}
.hm-feat .ico{display:grid;place-items:center;width:48px;height:48px;margin-bottom:.8rem;border-radius:14px;background:var(--gold-grad);color:var(--black)}
.hm-feat .ico .si{width:24px;height:24px}
.hm-feat h3{font-size:1.08rem;margin-bottom:.3rem}
.hm-feat p{margin:0;font-size:.92rem;color:var(--muted);line-height:1.75}
.hm-feat .num{position:absolute;top:1rem;inset-inline-end:1.1rem;font-weight:800;font-size:.85rem;color:#e6dcc0}
.hm-strip{margin-top:-3rem;padding:5rem 0 2.4rem;background:var(--black);overflow:hidden}
.hm-strip p{text-align:center;color:rgba(255,255,255,.6);font-size:.9rem;margin-bottom:1rem}
.hm-marquee{display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.hm-marquee-track{display:flex;flex:none;gap:3rem;padding-inline-end:3rem;animation:hm-marquee 32s linear infinite;will-change:transform}
.hm-marquee span{display:inline-flex;align-items:center;gap:.8rem;white-space:nowrap;font-size:1.12rem;font-weight:700;color:rgba(241,215,122,.8)}
.hm-marquee span::before{content:"◆";font-size:.6rem;color:var(--gold-3)}
@keyframes hm-marquee{to{transform:translateX(100%)}}

/* من نحن */
.hm-about{display:grid;gap:2.2rem;align-items:center}
.hm-plan{position:relative;border-radius:24px;padding:2rem;min-height:320px;background:linear-gradient(160deg,var(--graphite),var(--black));box-shadow:0 24px 60px -30px rgba(60,45,5,.55);overflow:hidden}
.hm-plan svg{width:100%;height:auto;stroke:var(--gold-2);fill:none;stroke-width:1.2}
.hm-plan path{stroke-dasharray:1;stroke-dashoffset:0}
.has-reveal .hm-plan path{stroke-dashoffset:1}
.has-reveal .hm-plan.in path{animation:hm-draw 2.6s ease forwards}
.hm-plan.in path:nth-child(2){animation-delay:.3s}
.hm-plan.in path:nth-child(3){animation-delay:.6s}
.hm-plan.in path:nth-child(4){animation-delay:.9s}
.hm-plan.in path:nth-child(5){animation-delay:1.2s}
@keyframes hm-draw{to{stroke-dashoffset:0}}
.hm-plan-note{position:absolute;bottom:1.2rem;inset-inline:1.2rem;display:flex;gap:.8rem;align-items:flex-start;padding:.9rem 1rem;border-radius:14px;background:rgba(255,255,255,.96)}
.hm-plan-note .si{color:var(--gold-3);width:26px;height:26px;margin-top:.2rem}
.hm-plan-note strong{display:block}
.hm-plan-note small{color:var(--muted);line-height:1.6;display:block}
.hm-about-copy p{color:var(--muted)}
.hm-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.6rem;max-width:420px}
.hm-stats strong{display:block;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.1;font-weight:800;color:var(--gold-4)}
.hm-stats small{color:var(--muted);font-size:.88rem;line-height:1.5;display:block}

/* خدماتنا */
.hm-svc-grid{display:grid;gap:1.2rem}
.hm-svc{display:flex;flex-direction:column;border-radius:18px;background:var(--white);border:1px solid rgba(166,124,18,.22);overflow:hidden;box-shadow:0 20px 44px -34px rgba(60,45,5,.6);transition:transform .35s,box-shadow .35s}
.hm-svc:hover{transform:translateY(-6px);box-shadow:0 34px 60px -34px rgba(60,45,5,.65)}
.hm-svc-top{position:relative;height:140px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(70% 90% at 50% 100%,rgba(212,175,55,.3),transparent 70%),linear-gradient(160deg,var(--graphite),var(--black))}
.hm-svc-top::before{content:"";position:absolute;inset:-22px;background-image:linear-gradient(rgba(212,175,55,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.1) 1px,transparent 1px);background-size:22px 22px;transition:transform 6s linear}
.hm-svc:hover .hm-svc-top::before{transform:translate(22px,22px)}
.hm-svc-top .si{position:relative;width:60px;height:60px;color:var(--gold-1);stroke-width:1.2;transition:transform .45s}
.hm-svc:hover .hm-svc-top .si{transform:scale(1.1) rotate(-4deg)}
.hm-svc-num{position:absolute;top:.8rem;inset-inline-end:1rem;font-weight:800;color:rgba(241,215,122,.55);font-size:.9rem}
.hm-svc-body{padding:1.2rem 1.3rem 1.4rem}
.hm-svc h3{font-size:1.2rem;margin-bottom:.3rem}
.hm-svc p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.8}
.hm-svc-tag{display:inline-block;margin-bottom:.4rem;padding:.05rem .65rem;border-radius:999px;background:#fff7df;border:1px dashed var(--gold-2);color:var(--gold-4);font-size:.75rem;font-weight:700}
.hm-svc.is-optional{border-style:dashed;background:#fffdf6}

/* كيف نعمل */
.hm-how-visual{position:relative;height:300px;border-radius:26px;overflow:hidden;background:radial-gradient(60% 80% at 50% 0,rgba(212,175,55,.3),transparent 70%),linear-gradient(180deg,var(--graphite),var(--black))}
.hm-how-visual svg{position:absolute;inset:0;width:100%;height:100%}
.hm-how-visual path{stroke:var(--gold-2);fill:none;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:0}
.has-reveal .hm-how-visual path{stroke-dashoffset:1}
.has-reveal .hm-how-visual.in path{animation:hm-draw 2.4s ease forwards}
.hm-how-cards{position:relative;z-index:2;display:grid;gap:2.4rem 1rem;margin-top:-4rem;padding-inline:1rem}
.hm-how-card{padding:1.3rem 1.2rem;border-radius:18px;background:var(--ivory);border:1px solid rgba(166,124,18,.22);box-shadow:0 24px 60px -30px rgba(60,45,5,.45);text-align:center;transition:transform .35s}
.hm-how-card:hover{transform:translateY(-6px)}
.hm-how-card .step{display:grid;place-items:center;width:52px;height:52px;margin:-2.6rem auto .8rem;border-radius:50%;background:var(--gold-grad);color:var(--black);font-weight:800;font-size:1.2rem;box-shadow:0 0 0 6px var(--ivory)}
.hm-how-card h3{font-size:1.1rem;margin-bottom:.3rem}
.hm-how-card p{font-size:.92rem;color:var(--muted);margin:0;line-height:1.75}

/* مثال مسار الخدمة: الخطوات مقسّمة في بطاقات بدون أسماء الدفعات */
.hm-path{display:grid;gap:1rem}
.hm-stage{padding:1.1rem 1.1rem 1rem;border-radius:18px;background:var(--white);border:1px solid rgba(166,124,18,.22);box-shadow:0 18px 40px -32px rgba(60,45,5,.6)}
.hm-stage ol{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.hm-stage li{display:flex;align-items:center;gap:.6rem;font-size:.93rem;line-height:1.5}
.hm-stage li i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-style:normal;font-weight:800;font-size:.8rem;background:var(--ivory);color:var(--gold-4);border:1.5px solid var(--gold-2)}
.hm-stage li.done i{background:var(--black);color:var(--gold-1);border-color:var(--black)}
.hm-stage li.now i{position:relative;background:var(--gold-grad);color:var(--black);border-color:transparent}
.hm-stage li.now i::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid rgba(212,175,55,.6);animation:hm-pulse 2.2s ease-out infinite;pointer-events:none}
@keyframes hm-pulse{0%{transform:scale(1);opacity:1}60%,100%{transform:scale(1.55);opacity:0}}
.hm-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.4rem;margin:1.2rem 0 0;font-size:.88rem;color:var(--muted)}
.hm-legend span{display:inline-flex;align-items:center;gap:.4rem}
.hm-legend i{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--gold-2);background:var(--ivory)}
.hm-legend .done i{background:var(--black);border-color:var(--black)}
.hm-legend .now i{background:var(--gold-grad);border-color:transparent}

/* بوابة العملاء */
.hm-portal{position:relative;padding:5rem 0;overflow:hidden;color:#fff;text-align:center;background:radial-gradient(60% 90% at 50% 120%,rgba(212,175,55,.35),transparent 70%),linear-gradient(180deg,#14130f,var(--black))}
.hm-portal-grid{position:absolute;inset:0;overflow:hidden;pointer-events:none;-webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000,transparent)}
.hm-portal-grid i{position:absolute;inset:-40px 0 0 -40px;background-image:linear-gradient(rgba(212,175,55,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.08) 1px,transparent 1px);background-size:40px 40px;animation:hm-grid 20s linear infinite;will-change:transform}
@keyframes hm-grid{to{transform:translate(40px,40px)}}
.hm-portal .container{position:relative}
.hm-portal .eyebrow{color:var(--gold-1)}
.hm-portal h2{font-size:clamp(1.8rem,4vw,2.8rem);color:#fff}
.hm-portal p{max-width:620px;margin:0 auto 1.6rem;color:rgba(255,255,255,.72)}
.hm-portal .btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}

/* الظهور عند التمرير (site.js يضيف has-reveal ثم in). بدون JavaScript أو مع تقليل الحركة يظهر كل شيء مباشرة. */
@media (prefers-reduced-motion:no-preference){
  @keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  .hm-hero-copy>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
  .hm-hero-copy>:nth-child(2){animation-delay:.1s}
  .hm-hero-copy>:nth-child(3){animation-delay:.2s}
  .hm-hero-copy>:nth-child(4){animation-delay:.3s}
  .hm-hero-copy>:nth-child(5){animation-delay:.4s}
  /* العنوان والمقدمة يظهران فوراً: تأخيرهما يبطئ أكبر عنصر مرئي (LCP) */
  .hm-hero-copy>h1,.hm-hero-copy>.hm-lead{animation:none}
  @keyframes hm-float{50%{transform:translateY(-8px)}}
  .hm-float{animation:hm-float 6s ease-in-out infinite}
  .hm-float-2{animation-delay:-3s}
  .has-reveal .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 110ms)}
  .has-reveal .reveal.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .hm-marquee-track,.hm-portal-grid i,.hm-stage li.now i::after{animation:none}
}

@media (min-width:480px){.hm-feat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:640px){
  .hm-svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hm-how-cards{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:2rem}
  .hm-path{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:980px){
  .hm-section{padding-block:5.5rem}
  .hm-hero{padding:4rem 0 8rem}
  .hm-hero-grid{grid-template-columns:1.05fr 1fr}
  .hm-visual{min-height:520px}
  .hm-feat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .hm-head{grid-template-columns:1fr 1fr;gap:2rem}
  .hm-about{grid-template-columns:1fr 1.1fr;gap:4rem}
  .hm-plan{min-height:440px}
  .hm-svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hm-how-visual{height:420px}
  .hm-how-cards{padding-inline:4rem}
  .hm-path{grid-template-columns:repeat(var(--n,4),minmax(0,1fr))}
}

/* Forms */
.card{background:var(--white);border-radius:20px;padding:2rem;box-shadow:var(--shadow);border:1px solid rgba(166,124,18,.28)}
.field{display:block;margin-bottom:1.1rem}
.field>label{display:block;font-weight:700;margin-bottom:.35rem}
.field-box{position:relative}
/* الصفحة RTL دائماً والحقول اللاتينية dir=ltr، لذلك الاتجاهات هنا صريحة */
.field-box>.si{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--gold-3);pointer-events:none}
.field-box input:not([type=checkbox]){min-height:52px;padding-right:3rem;text-align:right}
input:not([type=checkbox]),textarea{width:100%;font:inherit;color:var(--ink);padding:.8rem 1rem;border-radius:12px;border:1.5px solid #d9d2bd;background:#fffdf8;transition:border-color .2s,box-shadow .2s}
input:focus,textarea:focus{outline:0;border-color:var(--gold-2);box-shadow:0 0 0 4px rgba(212,175,55,.25)}
.field-err,.field-validation-error{display:block;color:#a11a1a;font-size:.9rem;font-weight:600}
.field-validation-error{margin-top:.3rem}
.input-validation-error{border-color:#a11a1a!important}
.alert{padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem;font-weight:500}
.alert.ok{background:#eef7e8;border:1px solid #9bc58a;color:#25531a}
.alert.err,.validation-summary-errors{background:#fdecec;border:1px solid #e0a0a0;color:#7a1414}
.validation-summary-errors ul{margin:0;padding:0;list-style:none}
.validation-summary-valid{display:none}

/* Footer */
.footer{background:var(--black);color:rgba(255,255,255,.72);padding-top:3rem;font-size:.95rem}
.foot-in{display:grid;gap:2rem;padding-bottom:2rem}
.foot-brand p{margin:0 0 1rem;max-width:40ch}
.logo-chip{display:inline-block;background:#fff;border-radius:14px;padding:.5rem .9rem;margin-bottom:1rem}
.logo-chip img{height:48px}
.foot-col{display:grid;align-content:start;font-style:normal}
.foot-title{font-size:1rem;color:#fff;margin:0 0 .7rem}
.foot-col a,.foot-col>span{display:flex;align-items:center;gap:.6rem;min-height:38px;text-decoration:none;line-height:1.6;overflow-wrap:anywhere;transition:color .2s}
.foot-col a:hover{color:var(--gold-1)}
.foot-col .si{color:var(--gold-2)}
.hours{display:grid;gap:.45rem}
.hours div{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .85rem;border-radius:10px;background:rgba(255,255,255,.05)}
.hours div.off{color:rgba(255,255,255,.45)}
.hours b{color:var(--gold-1)}
.foot-copy{border-top:1px solid rgba(255,255,255,.08);padding-block:1rem;font-size:.85rem;color:rgba(255,255,255,.5)}
.wa-float{position:fixed;z-index:55;bottom:18px;left:18px;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 14px 30px -10px rgba(37,211,102,.7);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.consent{position:fixed;z-index:60;inset-inline:12px;bottom:12px;max-width:560px;margin-inline:auto;padding:.9rem 1rem;border-radius:14px;background:var(--black);color:#fff;font-size:.9rem;line-height:1.7;box-shadow:0 16px 40px -14px rgba(0,0,0,.6)}
.consent[hidden]{display:none}
.consent p{margin:0 0 .6rem}
.consent-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.wa-float svg{width:28px;height:28px;fill:currentColor}
@media (min-width:640px){.foot-in{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){
  .footer{padding-top:4rem}
  .foot-in{grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:2.5rem}
}

/* Login (mobile-first: البطاقة وحدها على الهاتف، ولوحة التعريف بالمشهد ثلاثي الأبعاد من 980px) */
.login{position:relative;min-height:calc(100dvh - 110px);padding:2rem 0 3rem;background:radial-gradient(70% 60% at 100% 0,rgba(212,175,55,.14),transparent 60%),linear-gradient(180deg,var(--ivory),var(--sand))}
.login-in{display:grid;gap:2rem;align-items:stretch;justify-items:center}
.login-card{position:relative;width:min(470px,100%);padding:1.6rem 1.3rem;border-radius:22px;background:var(--white);border:1px solid rgba(166,124,18,.22);box-shadow:0 30px 70px -36px rgba(60,45,5,.55)}
.login-card::before{content:"";position:absolute;inset-inline:1.4rem;top:0;height:3px;border-radius:0 0 3px 3px;background:var(--gold-grad)}
.login-head{text-align:center;margin-bottom:1.4rem}
.login-ico{display:grid;place-items:center;width:58px;height:58px;margin:0 auto .8rem;border-radius:18px;background:var(--black);color:var(--gold-1);box-shadow:0 14px 28px -14px rgba(0,0,0,.6)}
.login-ico .si{width:26px;height:26px}
.login-card h1{font-size:1.7rem;font-weight:800;margin-bottom:.3rem}
.login-head p{margin:0;font-size:.95rem;line-height:1.7}
.login-card .btn-block{min-height:54px;font-size:1.05rem}
.btn[aria-busy=true]{opacity:.75;pointer-events:none}
.btn-line{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--gold-2)}
.pw input:not([type=checkbox]){padding-left:5rem}
.pw-toggle{position:absolute;left:.35rem;top:50%;transform:translateY(-50%);min-width:48px;min-height:44px;background:none;border:0;font:inherit;font-size:.9rem;font-weight:700;color:var(--gold-3);cursor:pointer;padding:.4rem .6rem}
.check{display:flex;align-items:center;gap:.6rem;min-height:44px;margin-bottom:1rem;cursor:pointer}
.check input{width:1.25rem;height:1.25rem;accent-color:var(--gold-3)}
.login-help{display:grid;gap:.7rem;margin-top:1.4rem;padding-top:1.4rem;border-top:1px dashed rgba(166,124,18,.32)}
.help-item{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start;padding:.9rem 1rem;border-radius:14px;background:var(--ivory);border:1px solid rgba(166,124,18,.22)}
.help-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--gold-grad);color:var(--black)}
.help-item strong{display:block;line-height:1.5}
.help-item p{margin:0;color:var(--muted);font-size:.93rem;line-height:1.7}
.help-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.help-actions .btn{flex:1 1 8.5rem;min-height:44px;padding:.4rem .6rem;font-size:.92rem;white-space:nowrap}
.back{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;margin-top:.8rem;color:var(--gold-3);font-weight:700;text-decoration:none}
.back:hover{color:var(--gold-4)}

/* لوحة التعريف: نفس لوحة البداية في الرئيسية */
.login-intro{display:none;position:relative;overflow:hidden;border-radius:26px;min-height:560px;padding:2.4rem;color:#fff;background:radial-gradient(80% 60% at 50% 100%,rgba(212,175,55,.25),transparent 65%),linear-gradient(160deg,#1c1a15,var(--black));box-shadow:0 30px 70px -36px rgba(60,45,5,.6)}
.login-intro #scene{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9}
.login-intro-copy{position:relative;z-index:2;max-width:26rem}
.login-intro .eyebrow{color:var(--gold-1)}
.login-intro h2{color:#fff;font-size:clamp(1.8rem,2.6vw,2.4rem);margin-bottom:1rem}
.login-checks{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.login-checks li{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border-radius:12px;background:rgba(12,12,12,.72);border:1px solid rgba(241,215,122,.18);font-size:.98rem}
.login-checks .si{color:var(--gold-1)}

@media (min-width:600px){
  .login-card{padding:2.2rem}
  .login-card h1{font-size:1.9rem}
}
@media (min-width:980px){
  .login{padding:3rem 0 4rem}
  .login-in:has(.login-intro){grid-template-columns:minmax(0,470px) minmax(0,1fr);justify-items:stretch;gap:2.5rem}
  .login-intro{display:block}
}

.page-pad{padding-block:5rem}

/* Customer portal (mobile-first).
   الصفحة: pt-split = ملخص (pt-side) + محتوى (pt-main)؛ عمود واحد على الهاتف، وعمود جانبي ثابت من 900px.
   المكوّنات: pt-box (بطاقة ملخص)، pt-card (أرض)، pt-item (صف خدمة = رابط)، tl (خطوات الخدمة). */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pt{padding-block:1rem 2.5rem;min-height:70vh;background:var(--ivory);font-size:1rem;line-height:1.7}
.pt h1{margin:0;font-size:1.35rem;line-height:1.4;overflow-wrap:anywhere}
.pt-narrow{max-width:640px}
.pt-back{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;margin-bottom:.3rem;color:var(--gold-4);font-size:.95rem;font-weight:700;text-decoration:none}
.pt-back:hover,.pt-more:hover{text-decoration:underline}
.pt-split,.pt-side,.pt-main{display:grid;gap:1rem;align-content:start;min-width:0}
.pt-h{margin:0 0 .6rem;font-size:1.05rem;color:var(--gold-4)}




/* بطاقة الملخص */
.pt-box,.pt-card{display:grid;gap:.6rem;padding:1rem;background:var(--white);border:1px solid rgba(166,124,18,.25);border-radius:var(--radius)}
.pt-box>*,.pt-card>*{margin:0}
.pt-eyebrow{font-size:.85rem;font-weight:700;line-height:1.3;color:var(--gold-3)}
.pt-headline{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem}
.pt-lead{font-size:.92rem;color:var(--muted)}
.pt-lead b{color:var(--ink)}
.pt-stats{list-style:none;margin:0;padding:.6rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #efe8d6}
.pt-stats li{display:grid;justify-items:center;line-height:1.4;text-align:center}
.pt-stats li+li{border-inline-start:1px solid #efe8d6}
.pt-stats b{font-size:1.35rem;color:var(--gold-3);font-variant-numeric:tabular-nums}
.pt-stats span{font-size:.8rem;color:var(--muted)}
.pt-prog{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem}
.pt-prog small{font-size:.82rem;color:var(--muted);white-space:nowrap}
.pt-bar{display:block;height:8px;border-radius:8px;background:var(--sand);overflow:hidden}
.pt-bar span{display:block;height:100%;border-radius:8px;background:var(--gold-grad)}
.pt-kv{display:grid;gap:.35rem;margin:0;padding-top:.6rem;border-top:1px solid #efe8d6;font-size:.92rem}
.pt-kv div{display:flex;justify-content:space-between;gap:1rem}
.pt-kv dt{flex:none;color:var(--muted)}
.pt-kv dd{margin:0;font-weight:700;text-align:end}
.pt-focus{display:grid;gap:.1rem;padding:.9rem 1rem;border-radius:var(--radius);background:linear-gradient(155deg,#0c0c0c,#2a2108);color:#e8e2cf;font-size:.9rem;text-decoration:none}
.pt-focus small{font-size:.82rem;font-weight:700;color:var(--gold-1)}
.pt-focus b{font-size:1.05rem;color:#fff}
.pt-focus em{display:inline-flex;align-items:center;gap:.4rem;margin-top:.4rem;font-style:normal;font-weight:700;color:var(--gold-1)}
.pt-fold{border-top:1px solid #efe8d6}
.pt-fold summary{display:flex;align-items:center;justify-content:space-between;min-height:44px;font-size:.92rem;font-weight:700;cursor:pointer;list-style:none}
.pt-fold summary::-webkit-details-marker,.tl-toggle::-webkit-details-marker,.tl-par>summary::-webkit-details-marker{display:none}
.pt-own{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.9rem}
.pt-own li{display:grid}
.pt-own small{color:var(--muted)}

/* بطاقة أرض وصف خدمة */
.pt-cards,.pt-items{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.pt-items{gap:.5rem}
.pt-card.is-off{background:#fbfaf6}
.pt-card-head{display:flex;align-items:center;gap:.6rem}
.pt-card-head h3{flex:1;min-width:0;margin:0;font-size:1.08rem;overflow-wrap:anywhere}
.pt-ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--black);color:var(--gold-1)}
.pt-item{display:grid;gap:.35rem;padding:.7rem .85rem;border-radius:12px;background:var(--ivory);border:1px solid rgba(166,124,18,.22);text-decoration:none;transition:border-color .2s,background .2s}
.pt-item:hover{border-color:var(--gold-2);background:#fff8e6}
.pt-item-top,.pt-item-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem}
.pt-item-top b{font-size:1rem}
.pt-item-now{font-size:.88rem;color:var(--muted)}
.pt-item-now b{color:var(--ink)}
.pt-item-go{display:inline-flex;align-items:center;gap:.35rem;margin-inline-start:auto;font-size:.88rem;font-weight:700;color:var(--gold-4)}
.pt-items:not(.pt-items-lg) .pt-prog{display:none}
.pt-items-lg{gap:.8rem}
.pt-items-lg .pt-item{padding:1rem;background:var(--white);border-color:rgba(166,124,18,.25);border-radius:var(--radius)}
.pt-items-lg .pt-item-top b{font-size:1.1rem}
.pt-more{display:inline-flex;align-items:center;gap:.35rem;justify-self:start;min-height:40px;font-size:.88rem;font-weight:700;color:var(--gold-4);text-decoration:none}
/* رابط «تفاصيل الأرض» يثبت أسفل البطاقة مهما كان عدد خدماتها */
.pt-card{align-content:start;grid-template-rows:auto 1fr}
.pt-card>.pt-items,.pt-card>.pt-lines,.pt-card>.pt-lead,.pt-card>.pt-warn{align-self:start}
.pt-card>.pt-more{align-self:end}
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .7rem;border-radius:999px;font-size:.82rem;font-weight:700;white-space:nowrap;background:#f1eee4;color:#4a463c;border:1px solid #cfc7b0}
.chip-now{background:#fff1c4;color:var(--gold-4);border-color:var(--gold-2)}
.chip-done{background:var(--black);color:var(--gold-1);border-color:var(--black)}
.chip-ok{background:#eef7e8;color:#25531a;border-color:#9bc58a}
.chip-off{background:#fdecec;color:#7a1414;border-color:#e0a0a0}
.pt-warn,.tl-hint{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.7rem .9rem;border-radius:12px;font-size:.92rem;font-weight:600;line-height:1.7}
.pt-warn{background:#fdecec;border:1px solid #e0a0a0;color:#7a1414}
.pt-warn-info,.tl-hint{background:#fff6dc;border:1px solid var(--gold-2);color:var(--gold-4)}
.pt-warn .si,.tl-hint .si{margin-top:.25rem}
.pt-empty{display:grid;gap:.3rem;padding:1.2rem;border-radius:var(--radius);border:1.5px dashed rgba(166,124,18,.45);background:var(--white);color:var(--muted)}
.pt-empty strong,.pt-empty h1{color:var(--ink)}
.pt-empty p{margin:0}
.pt-empty-big{justify-items:center;gap:.8rem;padding:2rem 1.2rem;text-align:center}

/* الملف الشخصي ونماذجه */
.pt>.container>.alert{margin-bottom:1rem}
.pt-acts{display:flex;flex-wrap:wrap;gap:.6rem}
.pt-acts .btn{flex:1 1 11rem;min-height:48px;padding:.5rem 1.2rem;font-size:.95rem}
.pt-form{gap:.8rem;padding:1.2rem 1rem}
.pt-form form{display:grid}
.pt-form .pt-acts{margin-top:.4rem}
.pt-lines{list-style:none;margin:0;padding:0;display:grid;font-size:.95rem}
.pt-lines li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem .6rem;padding:.45rem 0}
.pt-lines li+li{border-top:1px solid #f0ead8}
.pw-rules{list-style:none;margin:.5rem 0 0;padding:.6rem .8rem;display:grid;gap:.15rem;border-radius:10px;background:var(--ivory);font-size:.88rem;color:var(--muted)}
.pw-rules li::before{content:"○";display:inline-block;width:1.4em}
.pw-rules li.is-ok{color:#25531a;font-weight:600}
.pw-rules li.is-ok::before{content:"✓"}
.pw-rules.is-missing li:not(.is-ok){color:#a11a1a;font-weight:600}

/* خطوات الخدمة: خط زمني مدمج داخل بطاقة واحدة.
   الظاهر لكل خطوة: الرقم، الاسم، الحالة، المدة المتوقعة، وصف مختصر. الملاحظات والمستندات والتواريخ تُفتح بالضغط. */
.tl-card{--tl-pad:.8rem;padding:.2rem var(--tl-pad);background:var(--white);border:1px solid rgba(166,124,18,.25);border-radius:var(--radius)}
.tl-card>.tl-hint{margin:.6rem 0 .3rem}
.tl{list-style:none;margin:0;padding:0}
.tl-step{position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.7rem;padding:1rem 0 .6rem}
.tl-step+.tl-step{border-top:1px solid #e6dfc9}
.tl-step::before{content:"";position:absolute;inset-inline-start:calc(1rem - 1px);top:0;bottom:0;width:2px;background:#e2dbc6}
.tl-step:first-child::before{top:2rem}
.tl-step:last-child::before{bottom:auto;height:2rem}
.tl-step:only-child::before{display:none}
.tl-step.is-now{margin-inline:calc(var(--tl-pad) * -1);padding-inline:var(--tl-pad);background:#fffaf0}
.tl-step.is-now::before{inset-inline-start:calc(var(--tl-pad) + 1rem - 1px)}
.tl-mark{position:relative;z-index:1;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--white);border:2px solid #b9b19a;color:var(--muted);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}
.is-done>.tl-mark{background:var(--black);border-color:var(--black);color:var(--gold-1)}
.is-now>.tl-mark{background:var(--gold-grad);border-color:var(--gold-3);color:var(--black);box-shadow:0 0 0 4px rgba(212,175,55,.25)}
.tl-body{display:grid;gap:.3rem;min-width:0}
.tl-body>*,.tl-sec>*{margin:0}
.tl-name{display:flex;align-items:center;min-height:2rem;margin:0;font-size:1rem;line-height:1.5}
.is-todo>.tl-body>.tl-name{font-weight:600;color:#4a463c}
.tl-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .7rem}
.tl-st{display:inline-flex;align-items:center;gap:.3rem;padding:0 .6rem;border-radius:999px;font-size:.78rem;font-weight:700;white-space:nowrap;background:#f1eee4;color:#4a463c;border:1px solid #cfc7b0}
.tl-st i{font-style:normal}
.is-done>.tl-body>.tl-sub>.tl-st{background:#eef7e8;color:#25531a;border-color:#9bc58a}
.is-now>.tl-body>.tl-sub>.tl-st{background:#fff1c4;color:var(--gold-4);border-color:var(--gold-2)}
.tl-meta{display:inline-flex;align-items:center;gap:.35rem;font-size:.84rem;color:var(--muted)}
.tl-meta b{color:var(--ink)}
.tl-desc{font-size:.88rem;line-height:1.6;color:#4a463c;white-space:pre-line;overflow-wrap:anywhere}
/* site.js يضيف is-clamp ثم زر «قراءة المزيد» إذا زاد الوصف عن سطرين */
.tl-desc.is-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal}
.tl-readmore{justify-self:start;min-height:28px;margin-top:-.2rem;padding:0;background:none;border:0;font:inherit;font-size:.84rem;font-weight:700;color:var(--gold-4);text-decoration:underline;cursor:pointer}
.tl-toggle{display:flex;align-items:center;gap:.4rem;min-height:44px;margin-top:.1rem;border-top:1px dashed rgba(166,124,18,.35);font-size:.86rem;font-weight:700;color:var(--gold-4);cursor:pointer;list-style:none}
.tl-toggle-text{flex:1 1 0;min-width:0}
.tl-d[open]>.tl-toggle .when-closed,.tl-d:not([open])>.tl-toggle .when-open{display:none}
.tl-tag{display:inline-flex;align-items:center;gap:.25rem;padding:0 .5rem;border-radius:999px;background:#fff1c4;border:1px solid var(--gold-2);color:var(--gold-4);font-size:.78rem;font-weight:700}
.tl-chev{flex:none;width:.5rem;height:.5rem;margin:-.2rem .3rem 0;border-right:2px solid var(--gold-3);border-bottom:2px solid var(--gold-3);transform:rotate(45deg);transition:transform .2s}
details[open]>summary>.tl-chev{margin-top:.2rem;transform:rotate(-135deg)}
.tl-open{display:grid;gap:.8rem;padding:.2rem 0 .4rem}
.tl-sec{display:grid;gap:.35rem;min-width:0}
.tl-sec h4{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted)}
.tl-none{font-size:.88rem;color:var(--muted)}
.tl-note{display:grid;gap:.15rem;padding:.55rem .8rem;border-radius:10px;background:#fff8e6;border-inline-start:4px solid var(--gold-2)}
.tl-note p{margin:0;font-size:.95rem;white-space:pre-line;overflow-wrap:anywhere}
.tl-note small{font-size:.8rem;color:var(--muted)}
.tl-note-tag{display:inline-flex;align-items:center;gap:.35rem;justify-self:start;font-size:.78rem;font-weight:700;color:var(--gold-4)}
.tl-note-tag i{font-style:normal;font-size:.6rem;color:var(--gold-2)}
.tl-cal{margin:.2rem 0 0;font-size:.8rem;color:var(--muted)}
.tl-why{display:inline-flex;align-items:center;min-height:32px;margin-inline-start:.3rem;padding:0 .7rem;border-radius:999px;border:1.5px solid var(--gold-2);background:var(--white);font:inherit;font-size:.8rem;font-weight:700;color:var(--gold-4);cursor:pointer}
.tl-why:hover{background:#fff8e6}
.due-dialog{width:min(520px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:1px solid #e6dcc0;border-radius:16px;background:var(--white);color:var(--ink);box-shadow:0 18px 50px -20px rgba(60,45,5,.45);overflow:hidden}
.due-dialog[open]{display:flex;flex-direction:column}
.due-dialog::backdrop{background:rgba(12,12,12,.5)}
.due-dialog header{flex:none;padding:1rem 1.2rem .8rem;border-bottom:1px solid #e6dcc0}
.due-dialog h2{margin:0;font-size:1.1rem}
.due-dialog header p{margin:.25rem 0 0;font-size:.9rem;color:var(--muted);overflow-wrap:anywhere}
.due-body{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.2rem}
.due-body ul{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}
.due-body li{padding:.55rem .8rem;border-radius:10px;border:1px solid #ece4cf;background:#fffdf8;font-size:.93rem;line-height:1.8;overflow-wrap:anywhere}
.due-body li:last-child{border-color:var(--gold-2);background:#fff8e6;font-weight:600}
.due-note{margin:.8rem 0 0;font-size:.82rem;color:var(--muted)}
.due-dialog footer{flex:none;display:flex;padding:.8rem 1.2rem;border-top:1px solid #e6dcc0;background:#faf6ec}
.due-dialog footer .btn{min-height:44px;flex:1}
@media (min-width:576px){.due-dialog footer{justify-content:flex-end}.due-dialog footer .btn{flex:none;min-width:8rem}}
.tl-early{display:flex;gap:.5rem;margin:.5rem 0 0;padding:.55rem .8rem;border-radius:10px;border:1px solid #9bc58a;background:#eef7e8;color:#25531a;font-size:.92rem}
.tl-early i{font-style:normal;font-weight:700}
.tl-early.is-office{border-color:#e9b46a;background:#fdf3e3;color:#8a4a06}
.pt-search{margin:0 0 .9rem}
.pt-search>summary{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;list-style:none;color:var(--gold-3);font-weight:600;font-size:.92rem;padding:.3rem .2rem}
.pt-search>summary::-webkit-details-marker{display:none}
.pt-search>summary:hover{color:var(--gold-3)}
.pt-search[open]>summary{margin-bottom:.5rem}
.pt-search-form{display:grid;gap:.45rem;max-width:30rem}
.pt-search-bar{display:flex;align-items:center;gap:.5rem;padding:.3rem .35rem .3rem .9rem;border-radius:999px;border:1px solid rgba(166,124,18,.3);background:#fffdf8;transition:border-color .2s,box-shadow .2s}
.pt-search-bar:focus-within{border-color:var(--gold-2);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.pt-search-bar>.si{flex:none;color:var(--gold-3)}
.pt-search-bar input:not([type=checkbox]){flex:1;min-width:0;width:auto;padding:.4rem .2rem;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:.95rem;text-align:right}
.pt-search-bar input:focus{box-shadow:none}
.pt-search-bar .btn{flex:none;padding:.35rem 1.1rem;font-size:.88rem;box-shadow:none}
.pt-search-bar .btn:hover{transform:none;box-shadow:none;filter:brightness(1.04)}
.pt-search-clear{justify-self:start;font-size:.88rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.pt-search-clear:hover{color:var(--gold-4)}
.tl-ext{display:grid;gap:.35rem;margin:.5rem 0 0;padding:.6rem .8rem;border-radius:10px;border:1px solid #d9d2bd;border-inline-start:4px solid #8a8577;background:#f6f4ee}
.tl-ext p{margin:0;font-size:.92rem;overflow-wrap:anywhere}
.tl-ext .tl-ext-note{font-weight:600;white-space:pre-line}
.tl-ext small{font-size:.8rem;color:var(--muted)}
.tl-ext-title{font-size:.92rem}
.tl-ext.is-resolved{border-color:#bcd6c3;border-inline-start-color:#2f7d4f;background:#f0f7f2}
.tl-ext.is-resolved .tl-ext-title{color:#2f7d4f}
.tl-old{margin-top:.6rem}
.tl-old summary{display:inline-flex;align-items:center;gap:.4rem;min-height:36px;padding:0 .8rem;border-radius:999px;border:1.5px solid #e6dcc0;background:var(--white);font-size:.82rem;font-weight:700;color:var(--gold-4);cursor:pointer;list-style:none}
.tl-old summary::-webkit-details-marker{display:none}
.tl-old summary::after{content:"▾";color:var(--gold-3)}
.tl-old[open] summary::after{content:"▴"}
.tl-old summary:hover{border-color:var(--gold-2)}
.tl-old ol{list-style:none;margin:.5rem 0 0;padding:0}
.tl-old li{display:grid;gap:.1rem;padding:.55rem .2rem}
.tl-old li + li{border-top:1px solid #e6dcc0}
.tl-old small{font-size:.78rem;color:var(--muted)}
.tl-old p{margin:0;font-size:.9rem;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}
.tl-docs{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.tl-docs li{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.45rem .6rem;border:1px solid #ece4cf;border-radius:10px;background:var(--white)}
.tl-doc{flex:1 1 9rem;min-width:0;display:grid;font-size:.9rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.tl-doc small{font-size:.78rem;font-weight:400;color:var(--muted)}
.tl-doc-acts{display:flex;gap:.4rem}
.tl-doc-acts a{display:inline-flex;align-items:center;gap:.3rem;min-height:40px;padding:0 .8rem;border-radius:999px;border:1.5px solid var(--gold-2);background:var(--white);font-size:.85rem;font-weight:700;text-decoration:none}
.tl-doc-acts a:hover{background:#fff8e6}
.tl-facts{display:flex;flex-wrap:wrap;gap:.4rem;margin:0}
.tl-facts div{display:inline-flex;gap:.35rem;padding:.1rem .6rem;border-radius:8px;background:var(--ivory);font-size:.84rem}
.tl-facts dt{color:var(--muted)}
.tl-facts dd{margin:0;font-weight:700}

/* إجراء متوازٍ تحت خطوته: قائمة خطوات أصغر داخل إطار منقّط. على الهاتف يأخذ عرض البطاقة كله */
.tl-par{--tl-pad:.7rem;position:relative;z-index:1;margin-top:.4rem;margin-inline-start:-2.7rem;padding:0 var(--tl-pad);border:1.5px dashed var(--gold-2);border-radius:12px;background:#fffdf6}
.tl-par>summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.5rem 0;cursor:pointer;list-style:none}
.tl-par-title{display:grid;gap:.05rem;min-width:0}
.tl-par-title small{font-size:.8rem;font-weight:700;color:var(--gold-4)}
.tl-par-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .6rem;font-size:.84rem;color:var(--muted)}
.tl-par>.tl-hint{margin-bottom:.4rem}
.tl-par .tl-step{grid-template-columns:1.7rem minmax(0,1fr);gap:.6rem}
.tl-par .tl-step::before{inset-inline-start:calc(.85rem - 1px)}
.tl-par .tl-step.is-now{background:#fff6dc}
.tl-par .tl-step.is-now::before{inset-inline-start:calc(var(--tl-pad) + .85rem - 1px)}
.tl-par .tl-mark{width:1.7rem;height:1.7rem;font-size:.8rem}

@media (min-width:600px){
  .tl-card{--tl-pad:1.2rem}
  .tl-par{margin-inline-start:0}
  .tl-desc{max-width:70ch}
  /* الاسم والحالة والمدة في سطر واحد */
  .tl-body{grid-template-columns:minmax(0,1fr) auto;column-gap:1rem}
  .tl-body>*{grid-column:1 / -1}
  .tl-body>.tl-name{grid-column:1}
  .tl-body>.tl-sub{grid-column:2;justify-content:flex-end}
  .tl-par .tl-body>.tl-name,.tl-par .tl-body>.tl-sub{grid-column:1 / -1;justify-content:flex-start}
}
@media (min-width:900px){
  /* التفاصيل في عمودين: الملاحظات بجانب المستندات */
  .tl-open{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;align-items:start}
  .tl-par .tl-open{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:900px){
  .pt{padding-block:1.6rem 4rem}
  .pt h1{font-size:1.5rem}
  .pt-split{grid-template-columns:320px minmax(0,1fr);gap:1.8rem;align-items:start}
  .pt-side{position:sticky;top:96px}
  .pt-box{padding:1.3rem}
  .pt-form{padding:1.8rem}
  /* البطاقتان في الصف بنفس الارتفاع، فلا تظهر فجوة تحت البطاقة الأقصر */
  .pt-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
  .pt-cards>li:only-child{grid-column:1 / -1}
  .pt-items-lg{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .pt-items-lg>li:only-child{grid-column:1 / -1}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ===== آراء عملائنا (التقييمات) =====
   عنوان في المنتصف، ثم شريط بطاقات يُمرَّر أفقياً: 3 بطاقات بعرض الحاوية على الكمبيوتر، 2 على التابلت، 1 على الهاتف.
   البطاقات خارج الحاوية تظهر باهتة (rv-js من site.js)، والفورم في نافذة تفتح بزر «شاركنا رأيك». */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rv-section{overflow:hidden;background:radial-gradient(60% 50% at 0 100%,rgba(212,175,55,.10),transparent 70%),radial-gradient(50% 45% at 100% 100%,rgba(212,175,55,.08),transparent 70%),linear-gradient(180deg,var(--ivory),#fff 75%)}
.rv-intro{max-width:680px;margin:0 auto .4rem;text-align:center}
.rv-intro h2{margin-bottom:.25em}
.rv-gold{background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-intro>p{margin:0 auto .9rem;color:var(--muted)}
.rv-summary{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem .7rem;margin:0;padding:.35rem 1.1rem;border-radius:999px;background:var(--white);border:1px solid rgba(166,124,18,.22);box-shadow:0 10px 26px -20px rgba(60,45,5,.55)}
.rv-avg{font-size:1.35rem;line-height:1.2;font-weight:700;color:var(--gold-4)}
.rv-meter{position:relative;display:inline-block;font-size:1.05rem;letter-spacing:.1em;line-height:1;color:#e3dcc6}
.rv-meter-fill{position:absolute;inset-block:0;right:0;overflow:hidden;white-space:nowrap;color:var(--gold-2)}
.rv-count{font-size:.9rem;color:var(--muted)}
.rv-alert{margin:1rem auto 0;max-width:560px}

/* الشريط: حشوة جانبية = هامش الحاوية، فأول بطاقة تبدأ مع حافة المحتوى وما بعدها يمتد لحافة الشاشة */
.rv-carousel{--gap:1.4rem;--edge:calc((100% - min(1160px,100% - 2.5rem)) / 2)}
.rv-track{display:flex;gap:var(--gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scroll-padding-inline:var(--edge);padding:52px var(--edge) 34px;scrollbar-width:none;outline:0}
.rv-track::-webkit-scrollbar{display:none}
.rv-track:focus-visible{box-shadow:inset 0 0 0 2px rgba(212,175,55,.5);border-radius:18px}
.rv-card{position:relative;flex:0 0 86%;scroll-snap-align:start;display:flex;flex-direction:column;padding:2.7rem 1.4rem 1.4rem;background:var(--white);border:1px solid rgba(166,124,18,.14);border-radius:18px;box-shadow:0 24px 44px -32px rgba(60,45,5,.6);transition:opacity .4s ease,transform .4s ease,box-shadow .3s ease}
.rv-card:hover{box-shadow:0 30px 54px -30px rgba(60,45,5,.65)}
.rv-js .rv-card{opacity:.4;transform:scale(.95)}
.rv-js .rv-card.is-in{opacity:1;transform:none}
.rv-avatar{position:absolute;top:-34px;inset-inline-start:1.4rem;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--gold-grad);color:var(--black);font-size:1.6rem;font-weight:700;box-shadow:0 0 0 5px var(--white),0 12px 24px -12px rgba(60,45,5,.7)}
.rv-card-head{display:grid;gap:.15rem;margin-top:.3rem}
.rv-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;color:var(--ink)}
.rv-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.rv-meta time{font-size:.8rem;font-weight:700;letter-spacing:.03em;color:var(--gold-3)}
.rv-stars{flex:none;color:#e6dfca;font-size:.98rem;letter-spacing:.08em}
.rv-stars i{font-style:normal}
.rv-stars i.on{color:var(--gold-2)}
.rv-quote-line{display:flex;align-items:center;gap:.7rem;margin:1rem 0 .8rem}
.rv-quote-line span{flex:none;height:.95rem;font-family:Georgia,"Times New Roman",serif;font-size:2.6rem;line-height:.75;color:var(--gold-2)}
.rv-quote-line::after{content:"";flex:1;border-top:2px dotted rgba(166,124,18,.32)}
.rv-text{margin:0;white-space:pre-line;overflow-wrap:anywhere;color:#4a463d;line-height:1.9}
.rv-text.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv-readmore{align-self:flex-start;margin-top:.2rem;padding:0;border:0;background:none;font:inherit;font-size:.88rem;font-weight:700;color:var(--gold-3);cursor:pointer}
.rv-readmore:hover{text-decoration:underline}
.rv-reply{margin-top:1rem;padding:.75rem .9rem;border-radius:12px;background:linear-gradient(180deg,#fffaf0,#fdf3dc);border:1px solid rgba(212,175,55,.32);border-inline-start:3px solid var(--gold-2)}
.rv-reply-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem}
.rv-reply-head img{flex:none;width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--black);border:1px solid rgba(166,124,18,.4)}
.rv-reply-head strong{display:block;font-size:.92rem;line-height:1.3}
.rv-badge{display:inline-block;margin-top:.1rem;padding:.02rem .55rem;border-radius:999px;background:var(--black);color:var(--gold-1);font-size:.72rem;font-weight:700}
.rv-reply .rv-text{font-size:.93rem}

.rv-arrows{display:flex;justify-content:center;gap:1.4rem}
.rv-arrows[hidden]{display:none}
.rv-arrow{display:grid;place-items:center;width:68px;height:34px;padding:0;border:0;background:none;color:var(--gold-3);cursor:pointer;transition:color .2s,transform .2s}
.rv-arrow svg{width:56px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rv-arrow:not(:disabled):hover{color:var(--gold-4);transform:scaleX(1.08)}
.rv-arrow:disabled{color:#d6cdb3;cursor:default}
.rv-arrow:focus-visible{outline:2px solid var(--gold-3);outline-offset:2px;border-radius:8px}
.rv-actions{margin-top:1.4rem;text-align:center}
.rv-cta{padding:.9rem 2.8rem;font-size:1.05rem;box-shadow:0 18px 34px -14px rgba(212,175,55,.85)}
.rv-empty{max-width:560px;margin:1.2rem auto 0;padding:1.4rem;text-align:center;color:var(--muted);background:var(--white);border:1px dashed rgba(166,124,18,.4);border-radius:var(--radius)}

/* نافذة كتابة التقييم */
.rv-dialog{width:min(520px,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:1px solid #e6dcc0;border-radius:18px;background:var(--white);color:var(--ink);box-shadow:0 30px 70px -30px rgba(12,12,12,.6);overflow:auto}
.rv-dialog::backdrop{background:rgba(12,12,12,.55)}
.rv-dialog header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.3rem;background:var(--white);border-bottom:1px solid #efe6cf}
.rv-dialog header::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--gold-grad)}
.rv-dialog h3{margin:0;font-size:1.2rem}
.rv-dialog form{padding:1.2rem 1.3rem 1.4rem}
.rv-close{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid #e6dcc0;background:var(--white);color:var(--ink);font:inherit;cursor:pointer}
.rv-close:hover{border-color:var(--gold-2);color:var(--gold-4)}
.rv-pick-wrap{border:0;padding:0;min-width:0}
.rv-pick-wrap legend{font-weight:700;margin-bottom:.35rem;padding:0}
.rv-pick{display:inline-flex;flex-direction:row-reverse;gap:.15rem}
.rv-pick input{position:absolute;opacity:0;width:1px;height:1px}
.rv-pick label{cursor:pointer;font-size:2.2rem;line-height:1;color:#d9d2bd;transition:color .15s,transform .15s;padding:.1rem}
.rv-pick input:checked~label,.rv-pick label:hover,.rv-pick label:hover~label{color:var(--gold-2)}
.rv-pick label:hover{transform:scale(1.12)}
.rv-pick input:focus-visible+label{outline:2px solid var(--gold-3);outline-offset:2px;border-radius:6px}
.rv-pick-text{margin:.2rem 0 0;color:var(--muted);font-size:.92rem}
.rv-as{margin:0 0 1rem;padding:.6rem .8rem;border-radius:10px;background:#fffaf0;border:1px solid rgba(166,124,18,.25)}
.rv-hp{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.rv-dialog textarea{resize:vertical;min-height:120px}

@media (min-width:640px){.rv-card{flex-basis:calc((100% - var(--gap)) / 2)}}
@media (min-width:960px){.rv-card{flex-basis:calc((100% - 2 * var(--gap)) / 3)}}
@media (prefers-reduced-motion:reduce){.rv-track{scroll-behavior:auto}.rv-card,.rv-arrow{transition:none}.rv-js .rv-card{transform:none}}
