/* =========================================================
   مِدارن | MDARN — Shared Stylesheet
   ========================================================= */
:root{
  /* Color */
  --navy:#0B1D33;
  --navy-2:#122a49;
  --gold:#C9A15C;
  --gold-dark:#a9813f;
  --paper:#F7F5F0;
  --ink:#182233;
  --gray:#5C6579;
  --line:#E4E1D8;
  --white:#ffffff;
  --wa:#25D366;

  /* Radius */
  --radius:2px;
  --radius-md:6px;
  --radius-lg:14px;

  /* Spacing scale */
  --space-1:4px;
  --space-2:8px;
  --space-3:14px;
  --space-4:20px;
  --space-5:32px;
  --space-6:48px;
  --space-7:72px;
  --space-8:96px;

  /* Shadows */
  --shadow-1:0 2px 8px -4px rgba(11,29,51,.12);
  --shadow-2:0 10px 30px -12px rgba(11,29,51,.18);
  --shadow-3:0 24px 48px -20px rgba(11,29,51,.32);

  /* Transitions */
  --dur-fast:150ms;
  --dur-base:250ms;
  --dur-slow:450ms;

  /* Layout */
  --container-max:1180px;
  --container-pad:24px;

  /* Breakpoints (documented — CSS can't read these in media queries, kept as reference) */
  --bp-tablet:980px;
  --bp-mobile:680px;

  /* Fluid typography scale (clamp: min, preferred, max) */
  --fs-h1:clamp(1.9rem, 1.35rem + 2.6vw, 2.9rem);
  --fs-h1-lg:clamp(2.3rem, 1.3rem + 4.6vw, 3.6rem);
  --fs-h2:clamp(1.55rem, 1.3rem + 1.1vw, 2rem);
  --fs-body:clamp(0.95rem, 0.92rem + 0.15vw, 1rem);
  --fs-lead:clamp(1rem, 0.94rem + 0.3vw, 1.1rem);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Tajawal',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-weight:800;}
p{margin:0;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:88px 0;}

/* ===== Header ===== */
header{
  position:sticky;top:0;z-index:500;
  background:rgba(11,29,51,0.97);
  border-bottom:1px solid rgba(201,161,92,0.25);
}
.nav-wrap{
  max-width:1180px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  column-gap:36px;
  height:74px;
}
.brand{display:flex;align-items:center;gap:13px;color:var(--white);margin-left:8px;flex-shrink:0;}
.brand-mark{
  width:42px;height:42px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.brand-name{font-size:19px;font-weight:800;letter-spacing:0.3px;}
.brand-name span{color:var(--gold);font-weight:400;font-size:12px;display:block;margin-top:1px;}
nav.main-nav{display:flex;gap:28px;}
nav.main-nav a{color:#D9DEE8;font-size:15px;font-weight:500;transition:color .2s;position:relative;padding:4px 0;}
nav.main-nav a:hover{color:var(--gold);}
nav.main-nav a.active{color:var(--gold);}
nav.main-nav a.active::after{content:"";position:absolute;bottom:-3px;right:0;left:0;height:2px;background:var(--gold);}
.header-actions{display:flex;align-items:center;gap:12px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 24px;font-size:15px;font-weight:700;border:none;cursor:pointer;
  border-radius:var(--radius);transition:all .2s;white-space:nowrap;
}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-dark);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:var(--gold-dark);}
.btn-outline-light{border:1px solid rgba(255,255,255,0.35);color:var(--white);background:transparent;}
.btn-outline-light:hover{border-color:var(--gold);color:var(--gold);}
.btn-outline-navy{border:1px solid var(--navy);color:var(--navy);background:transparent;}
.btn-outline-navy:hover{border-color:var(--gold-dark);color:var(--gold-dark);}
.btn-wa{background:var(--wa);color:#fff;}
.btn-wa:hover{background:#1fb856;}
.btn-block{width:100%;}
.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:26px;cursor:pointer;}

/* ===== Page hero (inner pages) ===== */
.page-hero{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0B1D33 100%);
  color:var(--white);padding:64px 0 56px;position:relative;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(201,161,92,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,161,92,.06) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 80% 20%, black, transparent 70%);
  pointer-events:none;
}
.page-hero .container{position:relative;z-index:2;}
.breadcrumb{font-size:13px;color:#9AA5B8;margin-bottom:16px;}
.breadcrumb a:hover{color:var(--gold);}
.page-hero h1{font-size:var(--fs-h1);line-height:1.25;max-width:680px;}
.page-hero p.lead{font-size:16px;color:#C7CEDB;max-width:600px;margin-top:14px;}

/* ===== Hero (home) ===== */
.hero{
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 55%,#0B1D33 100%);
  color:var(--white);padding:100px 0 90px;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(201,161,92,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,161,92,.06) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(circle at 75% 30%, black, transparent 70%);
  pointer-events:none;
}
.hero-inner{position:relative;z-index:2;max-width:760px;}
.hero h1{font-size:var(--fs-h1-lg);line-height:1.22;margin-bottom:18px;}
.hero h1 em{font-style:normal;color:var(--gold);}
.hero .tagline{font-size:21px;color:var(--gold);font-weight:700;margin-bottom:22px;}
.hero p.lead{font-size:17px;color:#C7CEDB;max-width:600px;margin-bottom:34px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;margin-top:64px;border-top:1px solid rgba(255,255,255,.12);padding-top:28px;
  max-width:760px;
}
.hero-stats div{border-right:1px solid rgba(255,255,255,.12);padding-right:20px;}
.hero-stats div:last-child{border-right:none;}
.hero-stats strong{display:block;font-size:26px;color:var(--gold);}
.hero-stats span{font-size:13px;color:#9AA5B8;}

/* ===== Section headings ===== */
.sec-head{max-width:680px;margin-bottom:48px;}
.sec-head h2{font-size:var(--fs-h2);line-height:1.3;color:var(--navy);}
.sec-head p{margin-top:14px;font-size:16px;color:var(--gray);}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* ===== Services grid ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);}
.svc-card{background:var(--white);padding:34px 30px;transition:background .2s;}
.svc-card:hover{background:#FBFAF6;}
.svc-num{font-size:13px;color:var(--gold-dark);font-weight:700;margin-bottom:14px;}
.svc-card h3{font-size:19px;color:var(--navy);margin-bottom:14px;}
.svc-benefit{font-size:13.5px;color:var(--gold-dark);font-weight:600;margin-bottom:14px;}
.svc-price{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:14px;padding-top:12px;border-top:1px dashed var(--line);}
.svc-price span{font-weight:500;color:var(--gray);font-size:12.5px;}
.svc-card ul{margin-bottom:18px;}
.svc-card ul li{font-size:14.5px;color:var(--gray);padding:6px 0;border-bottom:1px dashed var(--line);}
.svc-card ul li:last-child{border-bottom:none;}
.svc-link{font-size:14px;font-weight:700;color:var(--navy);border-bottom:1.5px solid var(--gold);padding-bottom:2px;}
.svc-link:hover{color:var(--gold-dark);}

/* ===== Management section ===== */
.mgmt{background:var(--navy);color:var(--white);}
.mgmt-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.mgmt h2{font-size:32px;line-height:1.35;color:var(--white);margin-bottom:18px;}
.mgmt p.lead{color:#C7CEDB;font-size:16px;margin-bottom:26px;max-width:460px;}
.mgmt-list{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.mgmt-list li{font-size:14.5px;color:#D9DEE8;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:baseline;gap:8px;}
.mgmt-list li::before{content:"—";color:var(--gold);flex-shrink:0;}
.mgmt-note{margin-top:28px;padding:18px 20px;border-right:3px solid var(--gold);background:rgba(255,255,255,.04);font-size:13.5px;color:#B9C2D2;line-height:1.8;}

/* ===== Packages ===== */
.pkg-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pkg-card{background:var(--white);border:1px solid var(--line);padding:32px 26px;display:flex;flex-direction:column;position:relative;}
.pkg-card.featured{border-color:var(--gold);box-shadow:0 18px 40px -20px rgba(11,29,51,.35);}
.pkg-badge{position:absolute;top:-13px;right:26px;background:var(--gold);color:var(--navy);font-size:12px;font-weight:800;padding:5px 12px;}
.pkg-card h3{font-size:19px;color:var(--navy);margin-bottom:6px;}
.pkg-price{font-size:30px;font-weight:800;color:var(--navy);margin:14px 0 2px;}
.pkg-price span{font-size:14px;font-weight:500;color:var(--gray);}
.pkg-sub{font-size:13.5px;color:var(--gray);margin-bottom:20px;}
.pkg-card ul{margin-bottom:26px;flex-grow:1;}
.pkg-card ul li{font-size:14px;color:var(--ink);padding:7px 0;display:flex;gap:8px;align-items:flex-start;}
.pkg-card ul li::before{content:"✓";color:var(--gold-dark);font-weight:800;flex-shrink:0;}

/* ===== Store ===== */
.store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.store-card{background:var(--white);border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;gap:10px;}
.store-icon{width:44px;height:44px;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--gold-dark);}
.store-card h4{font-size:17px;color:var(--navy);}
.store-card p{font-size:13.5px;color:var(--gray);flex-grow:1;}
.store-meta{display:flex;justify-content:space-between;align-items:center;margin-top:6px;padding-top:14px;border-top:1px solid var(--line);}
.store-price{font-size:15px;font-weight:800;color:var(--navy);}
.store-price small{font-weight:500;color:var(--gray);font-size:12px;}
.store-time{font-size:12px;color:var(--gray);}
.store-cta{display:block;text-decoration:none;font-size:13.5px;font-weight:700;color:var(--white);background:var(--navy);padding:9px 16px;text-align:center;cursor:pointer;border:none;width:100%;}
.store-cta:hover{background:var(--gold-dark);}

/* ===== Steps ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.step{padding:0 24px;position:relative;}
.step:first-child{padding-right:0;}
.step-num{font-size:38px;font-weight:800;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px;}
.step h3{font-size:17px;color:var(--navy);margin-bottom:8px;}
.step p{font-size:14px;color:var(--gray);}

/* ===== Why us ===== */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);}
.why-card{background:var(--white);padding:30px;}
.why-card h3{font-size:17px;color:var(--navy);margin-bottom:8px;}
.why-card p{font-size:14px;color:var(--gray);}

/* ===== Audience ===== */
.audience-chips{display:flex;flex-wrap:wrap;gap:10px;}
.chip{border:1px solid var(--line);padding:11px 20px;font-size:14px;color:var(--navy);background:var(--white);font-weight:500;}

/* ===== Marketing banner ===== */
.banner{background:linear-gradient(135deg,var(--navy),#0d233d);color:var(--white);text-align:center;padding:90px 24px;}
.banner h2{font-size:30px;margin-bottom:22px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.4;}
.pain-list{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:30px;}
.pain-list span{border:1px solid rgba(201,161,92,.4);color:var(--gold);font-size:14px;padding:8px 16px;}
.banner .closing{font-size:18px;color:#D9DEE8;margin-bottom:32px;}

/* ===== About ===== */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-wrap p{font-size:16px;color:var(--gray);margin-bottom:16px;}
.about-box{background:var(--white);border:1px solid var(--line);padding:36px;}
.about-box h4{font-size:15px;color:var(--gold-dark);margin-bottom:10px;}
.about-box p{font-size:15px;color:var(--navy);font-weight:600;line-height:1.8;}

/* ===== FAQ ===== */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:22px 0;cursor:pointer;font-size:16px;font-weight:700;color:var(--navy);}
.faq-q .icon{color:var(--gold-dark);font-size:20px;transition:transform .2s;flex-shrink:0;margin-right:16px;}
.faq-item.open .faq-q .icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding-bottom:22px;font-size:14.5px;color:var(--gray);max-width:640px;}
.faq-cat{font-size:13px;font-weight:800;color:var(--gold-dark);margin:36px 0 6px;}
.faq-cat:first-child{margin-top:0;}

/* ===== Order form ===== */
.order-section{background:var(--white);}
.order-wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;}
.order-side h2{font-size:30px;color:var(--navy);margin-bottom:16px;}
.order-side p{font-size:15px;color:var(--gray);margin-bottom:24px;}
.order-side .wa-box{display:flex;align-items:center;gap:14px;padding:18px;background:var(--paper);border:1px solid var(--line);margin-bottom:16px;}
.order-side .wa-box .ico{width:42px;height:42px;background:var(--wa);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.order-side .wa-box strong{display:block;font-size:14px;color:var(--navy);}
.order-side .wa-box span{font-size:13px;color:var(--gray);direction:ltr;display:inline-block;}
.order-side .mini-note{font-size:13px;color:var(--gray);border-right:3px solid var(--gold);padding:10px 14px;background:var(--paper);}

form.order-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
form.order-form .full{grid-column:1 / -1;}
.field label{display:block;font-size:13.5px;font-weight:700;color:var(--navy);margin-bottom:7px;}
.field input,.field select,.field textarea{
  width:100%;border:1px solid var(--line);background:var(--paper);
  padding:12px 14px;font-size:14.5px;font-family:'Tajawal',sans-serif;color:var(--ink);
  border-radius:var(--radius);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold);}
.field textarea{resize:vertical;min-height:100px;}
.field-file{border:1.5px dashed var(--line);padding:18px;text-align:center;font-size:13.5px;color:var(--gray);background:var(--paper);cursor:pointer;}
.field-file input{display:none;}
.field-file .fname{margin-top:6px;font-size:12.5px;color:var(--navy);font-weight:700;}
.form-success{display:none;background:#F0F8F2;border:1px solid #BFE3C8;padding:22px;margin-top:6px;grid-column:1/-1;text-align:center;}
.form-success.show{display:block;}
.form-success p{font-size:15px;color:var(--navy);margin-bottom:14px;line-height:1.8;}
.form-error{display:none;grid-column:1/-1;background:#FBEAEA;border:1px solid #E8B9B9;padding:14px 18px;font-size:13.5px;color:#8A2E2E;}
.form-error.show{display:block;}

/* ===== Contact ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.contact-card{background:var(--navy);color:var(--white);padding:40px;}
.contact-card h3{font-size:20px;margin-bottom:6px;}
.contact-card p{color:#B9C2D2;font-size:14px;margin-bottom:22px;}
.contact-card .num{font-size:26px;color:var(--gold);font-weight:800;direction:ltr;margin-bottom:22px;}
.contact-card-2{background:var(--white);border:1px solid var(--line);padding:40px;}
.contact-card-2 h3{font-size:18px;color:var(--navy);margin-bottom:16px;}
.contact-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.contact-row span:first-child{color:var(--gray);}
.contact-row span:last-child{color:var(--navy);font-weight:700;}

/* ===== Sitemap-style link list (used on contact/sitemap sections) ===== */
.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;}
.link-grid a{display:block;background:var(--white);border:1px solid var(--line);padding:16px 18px;font-size:14px;color:var(--navy);font-weight:700;}
.link-grid a:hover{border-color:var(--gold);color:var(--gold-dark);}

/* ===== Footer ===== */
footer{background:#081527;color:#8B94A6;padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-grid h4{color:var(--white);font-size:14px;margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px;font-size:13.5px;}
.footer-grid ul li a:hover{color:var(--gold);}
.footer-brand p{font-size:13.5px;color:#8B94A6;margin-top:14px;line-height:1.8;max-width:280px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;justify-content:space-between;font-size:12.5px;flex-wrap:wrap;gap:10px;}

/* ===== 404 ===== */
.notfound{text-align:center;padding:140px 24px;}
.notfound .code{font-size:80px;font-weight:800;color:var(--gold);}
.notfound h1{font-size:26px;color:var(--navy);margin:10px 0 16px;}
.notfound p{color:var(--gray);margin-bottom:26px;}

/* ===== Floating WhatsApp ===== */
.fab-wa{
  position:fixed;bottom:24px;left:24px;z-index:900;
  width:58px;height:58px;border-radius:50%;background:var(--wa);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;
  box-shadow:0 10px 24px -6px rgba(37,211,102,.6);
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.45);}
  70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}
}

/* Skip link for accessibility */
.skip-link{position:absolute;right:-999px;top:0;background:var(--gold);color:var(--navy);padding:10px 16px;z-index:1000;font-size:14px;font-weight:700;}
.skip-link:focus{right:12px;top:12px;}

@media (max-width:980px){
  .hero-stats{grid-template-columns:repeat(2,1fr);row-gap:20px;}
  .hero-stats div:nth-child(2){border-right:none;}
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .mgmt-grid{grid-template-columns:1fr;gap:32px;}
  .pkg-grid{grid-template-columns:repeat(2,1fr);}
  .store-grid{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);row-gap:36px;}
  .step:nth-child(3){padding-right:0;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .about-wrap{grid-template-columns:1fr;gap:30px;}
  .order-wrap{grid-template-columns:1fr;gap:36px;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .link-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  section{padding:56px 0;}
  .nav-wrap{height:64px;}
  nav.main-nav{
    position:fixed;top:64px;right:0;left:0;bottom:0;background:var(--navy);
    flex-direction:column;padding:20px 24px;gap:0;transform:translateX(100%);
    transition:transform .25s ease;overflow-y:auto;
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:16px;}
  .header-actions .btn-outline-light{display:none;}
  .menu-toggle{display:block;}
  .hero{padding:56px 0 60px;}
  .hero .tagline{font-size:18px;}
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn{width:100%;}
  .services-grid{grid-template-columns:1fr;}
  .pkg-grid{grid-template-columns:1fr;}
  .store-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;row-gap:30px;}
  .step{padding-right:0;}
  .why-grid{grid-template-columns:1fr;}
  form.order-form{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .link-grid{grid-template-columns:1fr;}
  .fab-wa{width:52px;height:52px;font-size:24px;bottom:18px;left:18px;}
}

/* ===== Merged from premium.css (motion/visual layer) — combined for fewer HTTP requests ===== */
/* =========================================================
   مِدارن | MDARN — Premium Motion & Visual Layer
   Additive only — loaded AFTER style.css, never removes
   existing rules, only enhances them.
   ========================================================= */

:root{
  --gold-grad: linear-gradient(135deg, #E8C888 0%, #C9A15C 55%, #A9813F 100%);
  --navy-grad: linear-gradient(135deg, #16304F 0%, #0B1D33 60%, #081527 100%);
  --glass-bg: rgba(255,255,255,0.06);
  --glass-border: rgba(255,255,255,0.14);
  --shadow-soft: 0 10px 30px -12px rgba(11,29,51,0.18);
  --shadow-lift: 0 24px 48px -20px rgba(11,29,51,0.32);
  --ease-premium: cubic-bezier(.16,.84,.44,1);
  --scrollY: 0px;
}

/* ---------- Base motion setup ---------- */
html{scroll-behavior:smooth;}
*{transition-timing-function:var(--ease-premium);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- Scroll reveal (progressive enhancement) ---------- */
/* If JS never runs / motion.js fails to load, nothing stays hidden. */
body.anim-ready .svc-card,
body.anim-ready .pkg-card,
body.anim-ready .store-card,
body.anim-ready .why-card,
body.anim-ready .step,
body.anim-ready .chip,
body.anim-ready .contact-card,
body.anim-ready .contact-card-2,
body.anim-ready .about-box,
body.anim-ready .faq-item,
body.anim-ready .faq-teaser-item,
body.anim-ready .sec-head,
body.anim-ready .page-hero h1,
body.anim-ready .page-hero p.lead,
body.anim-ready .link-grid a,
body.anim-ready .mgmt-note{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s var(--ease-premium), transform .7s var(--ease-premium);
  will-change:opacity, transform;
}
body.anim-ready .hero-inner > *{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .75s var(--ease-premium), transform .75s var(--ease-premium);
}
body.anim-ready .in-view{opacity:1 !important; transform:none !important;}

/* Stagger within grids for a natural cascade */
.services-grid .svc-card:nth-child(1),.pkg-grid .pkg-card:nth-child(1),.store-grid .store-card:nth-child(1),.why-grid .why-card:nth-child(1),.steps .step:nth-child(1){transition-delay:.03s;}
.services-grid .svc-card:nth-child(2),.pkg-grid .pkg-card:nth-child(2),.store-grid .store-card:nth-child(2),.why-grid .why-card:nth-child(2),.steps .step:nth-child(2){transition-delay:.09s;}
.services-grid .svc-card:nth-child(3),.pkg-grid .pkg-card:nth-child(3),.store-grid .store-card:nth-child(3),.why-grid .why-card:nth-child(3),.steps .step:nth-child(3){transition-delay:.15s;}
.services-grid .svc-card:nth-child(4),.pkg-grid .pkg-card:nth-child(4),.store-grid .store-card:nth-child(4),.steps .step:nth-child(4){transition-delay:.21s;}
.services-grid .svc-card:nth-child(5),.store-grid .store-card:nth-child(5){transition-delay:.27s;}
.services-grid .svc-card:nth-child(6),.store-grid .store-card:nth-child(6){transition-delay:.33s;}
.hero-inner > *:nth-child(1){transition-delay:.05s;}
.hero-inner > *:nth-child(2){transition-delay:.14s;}
.hero-inner > *:nth-child(3){transition-delay:.22s;}
.hero-inner > *:nth-child(4){transition-delay:.30s;}
.hero-inner > *:nth-child(5){transition-delay:.38s;}

/* ---------- Header: glass + scrolled state ---------- */
header{transition:background .35s var(--ease-premium), box-shadow .35s var(--ease-premium), border-color .35s var(--ease-premium);}
header.scrolled{
  background:rgba(8,21,39,0.88);
  box-shadow:0 12px 30px -16px rgba(0,0,0,0.45);
  border-bottom-color:rgba(201,161,92,0.35);
}
nav.main-nav a{position:relative;}
nav.main-nav a::before{
  content:"";position:absolute;bottom:-3px;right:0;left:0;height:2px;
  background:var(--gold-grad);transform:scaleX(0);transform-origin:right;
  transition:transform .3s var(--ease-premium);
}
nav.main-nav a:hover::before{transform:scaleX(1);}
nav.main-nav a.active::before{transform:scaleX(1);}
.brand-mark{transition:transform .4s var(--ease-premium), filter .4s var(--ease-premium);}
.brand-mark img{display:block;width:42px;height:42px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}
.brand:hover .brand-mark{transform:rotate(-6deg) scale(1.08);}
.brand:hover .brand-mark img{filter:drop-shadow(0 6px 16px rgba(201,161,92,.45));}

/* ---------- Buttons: gradient + shine micro-interaction ---------- */
.btn{position:relative;overflow:hidden;transform:translateZ(0);transition:transform .25s var(--ease-premium), box-shadow .25s var(--ease-premium), background .25s var(--ease-premium);}
.btn::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  transform:translateX(-120%);
  transition:transform .6s var(--ease-premium);
  pointer-events:none;
}
.btn:hover::after{transform:translateX(120%);}
.btn-gold{background:var(--gold-grad);box-shadow:0 8px 20px -8px rgba(201,161,92,.55);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 28px -10px rgba(201,161,92,.65);}
.btn-navy{background:var(--navy-grad);}
.btn-navy:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(11,29,51,.45);}
.btn-outline-light:hover{transform:translateY(-2px);}
.btn-outline-navy:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-wa{transition:transform .25s var(--ease-premium), box-shadow .25s var(--ease-premium), background .25s var(--ease-premium);}
.btn-wa:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 14px 26px -10px rgba(37,211,102,.5);}
.btn:active{transform:translateY(0) scale(.98);}

/* ---------- Hero: aurora glass premium look ---------- */
.hero, .page-hero{position:relative;isolation:isolate;}
.hero::before, .page-hero::before{
  content:"";position:absolute;z-index:-1;inset:-20% -10% auto auto;
  width:560px;height:560px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,92,.22), transparent 65%);
  filter:blur(10px);
  animation:auroraFloat 14s ease-in-out infinite;
}
.hero::after, .page-hero::after{transform:translate3d(0, calc(var(--scrollY, 0px) * 0.08), 0);}
@keyframes auroraFloat{
  0%,100%{transform:translate(0,0) scale(1);}
  50%{transform:translate(-30px,26px) scale(1.06);}
}
.hero-inner{position:relative;}
.hero .tagline, .hero h1 em{
  background:var(--gold-grad);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-stats{
  background:var(--glass-bg);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-radius:6px;padding:26px 28px;margin-top:56px;
  box-shadow:0 20px 50px -30px rgba(0,0,0,.5);
}
.hero-stats div{border-right-color:rgba(255,255,255,.14);}
.hero-stats strong{
  display:block;font-size:28px;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* ---------- Cards: lift, glow border, icon motion ---------- */
.svc-card, .store-card, .why-card, .pkg-card, .about-box, .contact-card-2{
  transition:transform .4s var(--ease-premium), box-shadow .4s var(--ease-premium), border-color .4s var(--ease-premium);
}
.svc-card:hover, .store-card:hover, .why-card:hover, .about-box:hover, .contact-card-2:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-lift);
  z-index:2;
  position:relative;
}
.pkg-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift);border-color:var(--gold);}
.pkg-card.featured{background:linear-gradient(180deg, #ffffff 0%, #FBF7EE 100%);}
.svc-num{transition:transform .35s var(--ease-premium), color .35s var(--ease-premium);}
.svc-card:hover .svc-num{transform:scale(1.15);color:var(--gold);}
.svc-link{display:inline-flex;align-items:center;gap:6px;transition:gap .25s var(--ease-premium), color .25s var(--ease-premium);}
.svc-link:hover{gap:10px;}
.store-icon{transition:transform .4s var(--ease-premium), background .4s var(--ease-premium), color .4s var(--ease-premium);}
.store-card:hover .store-icon{transform:rotate(-6deg) scale(1.08);background:var(--gold-grad);color:var(--navy);}
.step-num{transition:transform .35s var(--ease-premium), color .35s var(--ease-premium);}
.step:hover .step-num{transform:translateY(-4px);color:var(--gold-dark);}
.chip{transition:transform .3s var(--ease-premium), box-shadow .3s var(--ease-premium), border-color .3s var(--ease-premium), background .3s var(--ease-premium);}
.chip:hover{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 10px 20px -12px rgba(201,161,92,.4);background:#FBF7EE;}

/* ---------- Management (navy) section glow ---------- */
.mgmt{position:relative;overflow:hidden;}
.mgmt::before{
  content:"";position:absolute;z-index:0;inset:auto auto -30% -10%;
  width:480px;height:480px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,161,92,.14), transparent 65%);
  filter:blur(6px);pointer-events:none;
}
.mgmt-grid{position:relative;z-index:1;}
.mgmt-list li{transition:transform .25s var(--ease-premium), color .25s var(--ease-premium), padding-right .25s var(--ease-premium);}
.mgmt-list li:hover{transform:translateX(-4px);color:#fff;padding-right:4px;}

/* ---------- Banner: subtle gradient motion ---------- */
.banner{background-size:180% 180%;animation:gradientDrift 12s ease infinite;background-image:var(--navy-grad);}
@keyframes gradientDrift{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}
.pain-list span{transition:transform .3s var(--ease-premium), background .3s var(--ease-premium), color .3s var(--ease-premium);}
.pain-list span:hover{transform:translateY(-3px);background:rgba(201,161,92,.12);}

/* ---------- FAQ premium interaction ---------- */
.faq-q{transition:color .25s var(--ease-premium), padding-right .25s var(--ease-premium);}
.faq-q:hover{color:var(--gold-dark);padding-right:4px;}
.faq-item.open .faq-q{color:var(--gold-dark);}

/* ---------- Form fields: focus micro-interaction ---------- */
.field input,.field select,.field textarea,.field-file{
  transition:border-color .25s var(--ease-premium), box-shadow .25s var(--ease-premium), background .25s var(--ease-premium);
}
.field input:focus,.field select:focus,.field textarea:focus{
  box-shadow:0 0 0 4px rgba(201,161,92,.15);
  background:#fff;
}
.field-file:hover{border-color:var(--gold);background:#FBF7EE;color:var(--gold-dark);}

/* ---------- Links (contact/sitemap grid) ---------- */
.link-grid a{transition:transform .3s var(--ease-premium), box-shadow .3s var(--ease-premium), border-color .3s var(--ease-premium);}
.link-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:var(--gold);}

/* ---------- Fab: entrance + hover polish ---------- */
.fab-wa{transition:transform .3s var(--ease-premium), box-shadow .3s var(--ease-premium);}
.fab-wa:hover{transform:scale(1.08);}

/* ---------- Focus-visible accessibility polish ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [role="button"]:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;border-radius:2px;
}

@media (max-width:680px){
  .hero::before, .page-hero::before{width:340px;height:340px;}
  .hero-stats{padding:20px 18px;}
}

/* ---------- Custom request card (خدمات منفردة → طلب خاص) ---------- */
.store-card-custom{border:1.5px dashed var(--gold);background:linear-gradient(180deg,#FFFFFF 0%,#FBF7EE 100%);}
.store-card-custom .store-icon{background:var(--gold-grad);color:var(--navy);border-color:transparent;}
.store-card-custom .store-price{color:var(--gold-dark);font-weight:800;}
.store-card-custom .store-cta{background:var(--navy-grad);display:block;text-decoration:none;}
.store-card-custom .store-cta:hover{background:var(--gold-dark);}
.store-card-custom:hover{border-color:var(--gold-dark);}

/* ---------- Button loading state ---------- */
.btn.is-loading{position:relative;color:transparent !important;pointer-events:none;}
.btn.is-loading::before{
  content:"";position:absolute;top:50%;left:50%;
  width:16px;height:16px;margin:-8px 0 0 -8px;
  border:2px solid rgba(255,255,255,.5);border-top-color:#fff;
  border-radius:50%;
  animation:btnSpin .7s linear infinite;
}
.btn-gold.is-loading::before{border-color:rgba(11,29,51,.35);border-top-color:var(--navy);}
@keyframes btnSpin{to{transform:rotate(360deg);}}

/* ============================================================
   Hero — Living animated background (GPU-only: transform/opacity)
   ============================================================ */
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-inner{position:relative;z-index:1;}
.hero-bg .hero-blob{
  position:absolute;border-radius:50%;filter:blur(58px);
  will-change:transform;transform:translateZ(0);
}
.hero-blob-1{
  width:440px;height:440px;top:-140px;right:-90px;
  background:radial-gradient(circle, rgba(201,161,92,.38), transparent 70%);
  animation:heroFloat1 17s ease-in-out infinite;
}
.hero-blob-2{
  width:380px;height:380px;bottom:-160px;left:-110px;
  background:radial-gradient(circle, rgba(94,140,201,.20), transparent 70%);
  animation:heroFloat2 21s ease-in-out infinite;
}
.hero-blob-3{
  width:260px;height:260px;top:38%;left:28%;
  background:radial-gradient(circle, rgba(201,161,92,.16), transparent 70%);
  animation:heroFloat3 13.5s ease-in-out infinite;
}
.hero-bg .hero-sweep{
  position:absolute;top:-30%;left:-35%;width:55%;height:160%;
  background:linear-gradient(100deg, transparent 42%, rgba(255,255,255,.05) 50%, transparent 58%);
  animation:heroSweep 10s ease-in-out infinite;
}
@keyframes heroFloat1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-46px,34px) scale(1.05);}}
@keyframes heroFloat2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(36px,-28px) scale(1.08);}}
@keyframes heroFloat3{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(22px,18px) scale(1.1);}}
@keyframes heroSweep{0%,100%{transform:translateX(0);}50%{transform:translateX(170%);}}

@media (max-width:680px){
  .hero-blob-1{width:280px;height:280px;}
  .hero-blob-2{width:240px;height:240px;}
  .hero-blob-3{display:none;}
}

/* ============================================================
   Scroll progress indicator — thin gold line under the header
   ============================================================ */
.scroll-progress{
  position:fixed;top:0;right:0;left:0;height:2.5px;z-index:600;
  background:var(--gold-grad);transform-origin:right;
  transform:scaleX(0);
  will-change:transform;
}

/* ============================================================
   Magnetic micro-interaction for primary buttons (mouse only)
   ============================================================ */
@media (hover:hover) and (pointer:fine){
  .btn-magnetic{transition:transform .18s var(--ease-premium), box-shadow .25s var(--ease-premium), background .25s var(--ease-premium);}
}

/* ============================================================
   Smooth initial page entrance (prevents an abrupt flash)
   Pure CSS — never depends on JS running, so content is never
   left invisible if a script fails to load.
   ============================================================ */
body{animation:pageFadeIn .4s var(--ease-premium) both;}
@keyframes pageFadeIn{from{opacity:0;}to{opacity:1;}}

/* Anchor targets shouldn't hide under the sticky header */
#main, section[id]{scroll-margin-top:90px;}

/* ---------- Timeline connector (How-it-works steps) ---------- */
.steps{position:relative;}
.steps::before{
  content:"";position:absolute;top:57px;right:12%;left:12%;height:2px;z-index:0;
  background:linear-gradient(90deg, transparent, var(--gold) 12%, var(--gold) 88%, transparent);
  transform:scaleX(0);transform-origin:right;
  transition:transform 1.1s var(--ease-premium) .15s;
}
.steps.line-drawn::before{transform:scaleX(1);}
.step{position:relative;z-index:1;}
@media (max-width:980px){ .steps::before{display:none;} }

/* ---------- Contact info links (email) ---------- */
.contact-row a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px;transition:color .2s var(--ease-premium), text-decoration-color .2s var(--ease-premium);}
.contact-row a:hover{color:var(--gold-dark);text-decoration-color:var(--gold-dark);}

/* ---------- FAQ heading semantics (H2 category / H3 question) — kept visually identical ---------- */
.faq-q h3{font-size:inherit;font-weight:inherit;margin:0;color:inherit;}

/* ---------- Order page: WhatsApp box is now a clickable link ---------- */
.order-side .wa-box{cursor:pointer;transition:transform .25s var(--ease-premium), box-shadow .25s var(--ease-premium), border-color .25s var(--ease-premium);}
.order-side .wa-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--wa);}

/* ===== Homepage FAQ teaser ===== */
.faq-teaser-item{padding:20px 0;border-bottom:1px solid var(--line);}
.faq-teaser-item:last-child{border-bottom:none;}
.faq-teaser-item h3{font-size:15.5px;color:var(--navy);margin-bottom:8px;}
.faq-teaser-item p{font-size:14px;color:var(--gray);}
