/* ============================================================
   Mandala Design – Modern UI v2
   Primary: #531f59  |  Pink: #E84D8A  |  Teal: #5BC4BF
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&family=Cairo:wght@400;600;700;800;900&display=swap');

:root {
  --primary:       #531f59;
  --primary-dark:  #3d1642;
  --primary-light: #7B2F8A;
  --accent-pink:   #E84D8A;
  --accent-teal:   #5BC4BF;
  --accent-yellow: #F7C948;
  --light-bg:      #fdf5ff;
  --white:         #ffffff;
  --dark:          #1a0d1e;
  --gray:          #6b6b7b;
  --border:        #ead5f0;
  --shadow:        0 4px 24px rgba(83,31,89,.10);
  --shadow-lg:     0 16px 48px rgba(83,31,89,.20);
  --shadow-xl:     0 24px 64px rgba(83,31,89,.28);
  --radius:        16px;
  --radius-sm:     10px;
  --radius-xs:     6px;
  --transition:    all .3s cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:'Poppins',sans-serif; color:var(--dark); background:var(--white); line-height:1.6; overflow-x:hidden; }
a { text-decoration:none; color:inherit; transition:var(--transition); }
img { max-width:100%; display:block; }
ul { list-style:none; }

/* ── Utilities ── */
.container { max-width:1240px; margin:0 auto; padding:0 28px; }
.section-padding { padding:100px 0; }

.section-tag {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--light-bg); color:var(--primary);
  padding:7px 18px; border-radius:50px; font-size:.75rem;
  font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
  margin-bottom:16px; border:1px solid var(--border);
}
.section-tag::before { content:''; width:6px; height:6px; background:var(--primary); border-radius:50%; }

.section-header { text-align:center; margin-bottom:64px; }
.section-title {
  font-size:clamp(2rem,4vw,2.8rem); font-weight:800; color:var(--dark);
  line-height:1.2; margin-bottom:14px; letter-spacing:-0.5px;
}
.section-title span { color:var(--primary); }
.section-title em { font-style:normal; color:var(--accent-pink); }
.section-desc { font-size:.97rem; color:var(--gray); max-width:560px; margin:0 auto; line-height:1.75; }

.gradient-text {
  background:linear-gradient(135deg,var(--primary),var(--accent-pink));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

/* ── Buttons ── */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 32px; border-radius:50px; font-weight:700; font-size:.9rem;
  cursor:pointer; transition:var(--transition); border:2px solid transparent;
  font-family:'Poppins',sans-serif; white-space:nowrap; position:relative; overflow:hidden;
}
.btn::after {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.12); opacity:0; transition:var(--transition);
}
.btn:hover::after { opacity:1; }
.btn-sm { padding:10px 22px; font-size:.82rem; }
.btn-lg { padding:17px 40px; font-size:1rem; }

.btn-primary { background:var(--primary); color:var(--white); box-shadow:0 6px 24px rgba(83,31,89,.35); }
.btn-primary:hover { background:var(--primary-dark); transform:translateY(-3px); box-shadow:0 12px 32px rgba(83,31,89,.45); }

.btn-pink { background:var(--accent-pink); color:var(--white); box-shadow:0 6px 24px rgba(232,77,138,.35); }
.btn-pink:hover { background:#d43a79; transform:translateY(-3px); box-shadow:0 12px 32px rgba(232,77,138,.45); }

.btn-outline { background:transparent; color:var(--primary); border-color:var(--primary); }
.btn-outline:hover { background:var(--primary); color:var(--white); transform:translateY(-3px); box-shadow:var(--shadow-lg); }

.btn-white { background:var(--white); color:var(--primary); border-color:var(--white); }
.btn-white:hover { background:var(--light-bg); transform:translateY(-3px); box-shadow:var(--shadow-lg); }

.btn-ghost { background:rgba(255,255,255,.12); color:var(--white); border-color:rgba(255,255,255,.3); backdrop-filter:blur(8px); }
.btn-ghost:hover { background:rgba(255,255,255,.22); transform:translateY(-3px); border-color:rgba(255,255,255,.5); }

.btn-whatsapp { background:#25D366; color:var(--white); border-color:#25D366; box-shadow:0 6px 24px rgba(37,211,102,.3); }
.btn-whatsapp:hover { background:#1da851; transform:translateY(-3px); box-shadow:0 12px 32px rgba(37,211,102,.45); }

/* ── NAVBAR ── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  transition:var(--transition);
}
.navbar::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(234,213,240,.5);
  transition:var(--transition);
}
.navbar.scrolled::before { background:rgba(255,255,255,.97); box-shadow:var(--shadow); }

.nav-container {
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 28px; max-width:1240px; margin:0 auto; position:relative;
}

.nav-logo { display:flex; align-items:center; gap:10px; }
.nav-logo img { height:54px; width:auto; object-fit:contain; display:block; }
.nav-logo-text { display:none; }
.nav-logo-text .brand  { font-size:1.15rem; font-weight:800; color:var(--primary); display:block; line-height:1.1; letter-spacing:-0.3px; }
.nav-logo-text .tagline{ font-size:.6rem; color:var(--gray); letter-spacing:1.5px; text-transform:uppercase; }

.nav-menu { display:flex; gap:2px; align-items:center; position:relative; }
.nav-item  { position:relative; }
.nav-link {
  padding:9px 16px; border-radius:var(--radius-sm);
  font-weight:500; font-size:.875rem; color:var(--dark);
  display:flex; align-items:center; gap:4px; transition:var(--transition);
}
.nav-link:hover,.nav-link.active { color:var(--primary); background:var(--light-bg); }
.nav-link.active { font-weight:700; }

/* Dropdown */
.dropdown-menu {
  position:absolute; top:calc(100% + 12px); left:0;
  background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-xl);
  min-width:240px;
  opacity:0; visibility:hidden; transform:translateY(-12px) scale(.97);
  transition:var(--transition); z-index:200;
  overflow:hidden;
}
.nav-item:hover .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0) scale(1); }

.dropdown-menu li { border-bottom:1px solid rgba(234,213,240,.5); }
.dropdown-menu li:last-child { border-bottom:none; }
.dropdown-menu a {
  display:flex; align-items:center; gap:12px;
  padding:13px 20px; font-size:.86rem; color:var(--dark); font-weight:500;
  transition:var(--transition);
}
.dropdown-menu a:hover { background:var(--light-bg); color:var(--primary); padding-left:26px; }
.dropdown-menu a i { color:var(--primary); width:16px; font-size:.9rem; }

.nav-cta { display:flex; gap:10px; align-items:center; }
.menu-toggle { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; position:relative; z-index:1; }
.menu-toggle span { width:24px; height:2px; background:var(--dark); border-radius:2px; transition:var(--transition); }
.menu-toggle.active span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.menu-toggle.active span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* ── HERO ── */
.hero {
  min-height:100vh;
  background:linear-gradient(145deg, #2d0f35 0%, #531f59 40%, #7B2F8A 70%, #4a1a52 100%);
  display:flex; align-items:center;
  position:relative; overflow:hidden; padding-top:80px;
}

/* Blobs */
.hero-blob {
  position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none;
}
.hero-blob-1 { width:600px; height:600px; background:rgba(232,77,138,.18); top:-200px; right:-100px; }
.hero-blob-2 { width:500px; height:500px; background:rgba(91,196,191,.12); bottom:-200px; left:-100px; }
.hero-blob-3 { width:300px; height:300px; background:rgba(247,201,72,.1); top:30%; left:50%; }

/* Dots pattern */
.hero::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size:30px 30px; pointer-events:none;
}

.hero-container {
  max-width:1240px; margin:0 auto; padding:80px 28px;
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:center; position:relative; z-index:1;
}

.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.1); color:rgba(255,255,255,.9);
  padding:8px 18px; border-radius:50px; font-size:.78rem; font-weight:600;
  letter-spacing:1px; text-transform:uppercase;
  border:1px solid rgba(255,255,255,.2); margin-bottom:24px;
  backdrop-filter:blur(8px);
}
.hero-eyebrow .pulse-dot {
  width:8px; height:8px; background:#4ade80; border-radius:50%;
  animation:pulse-green 2s infinite;
  box-shadow:0 0 0 0 rgba(74,222,128,.4);
}
@keyframes pulse-green {
  0%  { box-shadow:0 0 0 0 rgba(74,222,128,.4); }
  70% { box-shadow:0 0 0 8px rgba(74,222,128,0); }
  100%{ box-shadow:0 0 0 0 rgba(74,222,128,0); }
}

.hero-title {
  font-size:clamp(2.8rem,5vw,4.2rem);
  font-weight:900; color:var(--white); line-height:1.08;
  margin-bottom:22px; letter-spacing:-1px;
}
.hero-title em {
  font-style:normal;
  background:linear-gradient(90deg,var(--accent-yellow),var(--accent-pink));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}

.hero-desc { font-size:1.05rem; color:rgba(255,255,255,.78); margin-bottom:38px; line-height:1.85; max-width:480px; }

.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:50px; }

.hero-stats {
  display:flex; gap:0;
  background:rgba(255,255,255,.08); backdrop-filter:blur(12px);
  border-radius:16px; border:1px solid rgba(255,255,255,.15);
  overflow:hidden; width:fit-content;
}
.hstat {
  padding:16px 28px; text-align:center;
  border-right:1px solid rgba(255,255,255,.15);
}
.hstat:last-child { border-right:none; }
.hstat-num   { font-size:1.9rem; font-weight:900; color:var(--white); display:block; line-height:1; }
.hstat-label { font-size:.68rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:1px; margin-top:4px; display:block; }

/* Hero Visual */
.hero-visual { position:relative; }

.hero-img-stack {
  position:relative; display:grid;
  grid-template-columns:1fr 1fr; gap:14px;
}

.hero-img-card {
  border-radius:20px; overflow:hidden;
  position:relative; box-shadow:0 20px 60px rgba(0,0,0,.35);
  transition:var(--transition);
}
.hero-img-card:hover { transform:translateY(-6px) scale(1.02); box-shadow:0 30px 80px rgba(0,0,0,.45); }
.hero-img-card img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-img-card.tall { grid-row:span 2; height:460px; }
.hero-img-card:not(.tall) { height:214px; }

.hero-img-placeholder {
  width:100%; height:100%; min-height:200px;
  background:rgba(255,255,255,.06); border:1px dashed rgba(255,255,255,.2);
  border-radius:20px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:rgba(255,255,255,.4); gap:10px; font-size:.82rem;
}
.hero-img-placeholder i { font-size:2.5rem; }

.hero-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(83,31,89,.7) 0%, transparent 50%);
}
.hero-img-label {
  position:absolute; bottom:14px; left:14px;
  background:rgba(255,255,255,.95); color:var(--dark);
  padding:6px 14px; border-radius:50px; font-size:.72rem; font-weight:700;
  display:flex; align-items:center; gap:6px;
}
.hero-img-label i { color:var(--primary); }

/* Floating badge */
.hero-float-badge {
  position:absolute; background:var(--white);
  border-radius:14px; padding:12px 16px;
  box-shadow:var(--shadow-xl);
  display:flex; align-items:center; gap:10px;
  z-index:10; animation:floatBadge 3s ease-in-out infinite alternate;
}
.hero-float-badge.fb-1 { bottom:-18px; left:-18px; animation-delay:.5s; }
.hero-float-badge.fb-2 { top:24px; right:-18px; }
.hero-float-badge .fb-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.hero-float-badge .fb-icon.pink   { background:rgba(232,77,138,.12); color:var(--accent-pink); }
.hero-float-badge .fb-icon.purple { background:rgba(83,31,89,.12); color:var(--primary); }
.hero-float-badge .fb-label { font-size:.8rem; font-weight:700; color:var(--dark); }
.hero-float-badge .fb-sub   { font-size:.68rem; color:var(--gray); }

@keyframes floatBadge {
  from { transform:translateY(0); }
  to   { transform:translateY(-10px); }
}

/* ── SERVICES MODERN ── */
.services-bento {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:20px;
}

.service-bento-card {
  border-radius:24px; overflow:hidden;
  position:relative; cursor:pointer;
  transition:var(--transition);
  box-shadow:var(--shadow);
}
.service-bento-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); }

.service-bento-card.featured {
  grid-column:span 2;
  height:320px;
}
.service-bento-card:not(.featured) { height:300px; }

.sbc-img {
  position:absolute; inset:0;
}
.sbc-img img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .6s ease;
}
.service-bento-card:hover .sbc-img img { transform:scale(1.06); }

.sbc-gradient {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(27,7,31,.9) 0%, rgba(83,31,89,.5) 40%, transparent 70%);
  transition:var(--transition);
}
.service-bento-card:hover .sbc-gradient {
  background:linear-gradient(to top, rgba(27,7,31,.95) 0%, rgba(83,31,89,.7) 50%, rgba(83,31,89,.2) 100%);
}

.sbc-content {
  position:absolute; bottom:0; left:0; right:0;
  padding:28px; z-index:2;
  transform:translateY(8px); transition:var(--transition);
}
.service-bento-card:hover .sbc-content { transform:translateY(0); }

.sbc-icon {
  width:44px; height:44px; border-radius:12px;
  background:var(--accent-pink); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; margin-bottom:12px;
  box-shadow:0 4px 16px rgba(232,77,138,.4);
}
.sbc-title { font-size:1.3rem; font-weight:800; color:var(--white); margin-bottom:8px; }
.sbc-desc  {
  font-size:.86rem; color:rgba(255,255,255,.75); line-height:1.65; margin-bottom:16px;
  max-height:0; overflow:hidden; transition:max-height .4s ease, opacity .3s ease;
  opacity:0;
}
.service-bento-card:hover .sbc-desc { max-height:100px; opacity:1; }
.sbc-link {
  display:inline-flex; align-items:center; gap:6px;
  color:var(--accent-pink); font-weight:700; font-size:.84rem;
  opacity:0; transform:translateY(8px); transition:var(--transition);
  transition-delay:.05s;
}
.service-bento-card:hover .sbc-link { opacity:1; transform:translateY(0); }

/* placeholder for service bento cards */
.sbc-placeholder {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:4rem; color:rgba(255,255,255,.2);
}

/* ── WHY US ── */
.why-us {
  background:var(--dark); position:relative; overflow:hidden;
}
.why-us-blob {
  position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none;
}
.why-us-blob-1 { width:500px; height:500px; background:rgba(83,31,89,.4); top:-100px; right:-100px; }
.why-us-blob-2 { width:400px; height:400px; background:rgba(232,77,138,.15); bottom:-150px; left:-100px; }

.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }

.why-content .section-tag  { background:rgba(255,255,255,.1); color:#fff; border-color:rgba(255,255,255,.2); }
.why-content .section-tag::before { background:#fff; }
.why-content .section-title{ color:var(--white); text-align:left; }
.why-content .section-desc  { color:rgba(255,255,255,.65); text-align:left; max-width:100%; margin:0 0 40px; }

.why-features { display:grid; gap:20px; }
.why-feature {
  display:flex; gap:16px; align-items:flex-start;
  padding:20px; border-radius:14px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  transition:var(--transition);
}
.why-feature:hover { background:rgba(255,255,255,.09); border-color:rgba(232,77,138,.3); transform:translateX(4px); }
.wf-icon {
  width:46px; height:46px; flex-shrink:0; border-radius:12px;
  background:linear-gradient(135deg,var(--accent-pink),#c2185b);
  display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--white); box-shadow:0 4px 16px rgba(232,77,138,.3);
}
.wf-text h4 { color:var(--white); font-size:.96rem; font-weight:700; margin-bottom:5px; }
.wf-text p  { color:rgba(255,255,255,.58); font-size:.83rem; line-height:1.65; }

/* Why visual */
.why-visual { position:relative; }
.why-img-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

.wi-item { border-radius:20px; overflow:hidden; position:relative; }
.wi-item img { width:100%; height:100%; object-fit:cover; }
.wi-item.tall { grid-row:span 2; height:450px; }
.wi-item:not(.tall) { height:210px; }

.wi-placeholder {
  width:100%; height:100%; min-height:200px;
  background:rgba(255,255,255,.07);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:rgba(255,255,255,.25); gap:8px; font-size:.78rem;
}
.wi-placeholder i { font-size:2.2rem; }

/* ── PRODUCT CARDS ── */
.products-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:24px; }

/* ── Products Slider ── */
.products-slider-wrap {
  position:relative;
  padding:0 56px;
}
.ps-viewport {
  overflow:hidden;
  border-radius:4px;
}
.ps-track {
  display:flex;
  gap:24px;
  transition:transform .48s cubic-bezier(.4,0,.2,1);
  will-change:transform;
}
.ps-track .product-card {
  flex:0 0 calc((100% - 48px) / 3);
  min-width:0;
}
.ps-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:48px; height:48px; border-radius:50%;
  background:var(--white); border:2px solid var(--border);
  color:var(--primary); font-size:1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:5; transition:var(--transition);
  box-shadow:0 6px 24px rgba(83,31,89,.15);
}
.ps-arrow:hover { background:var(--primary); color:#fff; border-color:var(--primary); transform:translateY(-50%) scale(1.08); }
.ps-arrow.ps-disabled { opacity:.3; pointer-events:none; }
.ps-prev { left:0; }
.ps-next { right:0; }
.ps-dots {
  display:flex; justify-content:center; align-items:center;
  gap:8px; margin-top:28px;
}
.ps-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--border); cursor:pointer;
  transition:all .32s cubic-bezier(.4,0,.2,1);
  border:none; padding:0;
}
.ps-dot.active {
  width:26px; border-radius:4px; background:var(--primary);
}

.product-card {
  background:var(--white); border-radius:20px; overflow:hidden;
  border:1px solid var(--border); box-shadow:var(--shadow);
  transition:var(--transition); display:flex; flex-direction:column;
}
.product-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-xl); border-color:transparent; }

.pc-image { height:280px; overflow:hidden; position:relative; background:var(--light-bg); flex-shrink:0; }
.pc-image img { width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.4,0,.2,1); }
.product-card:hover .pc-image img { transform:scale(1.08); }

.pc-placeholder {
  width:100%; height:100%;
  background:linear-gradient(135deg,var(--light-bg),#e8d5f0);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:var(--primary);
}
.pc-placeholder i { font-size:3rem; opacity:.3; margin-bottom:10px; }

.pc-badge {
  position:absolute; top:14px; left:14px;
  padding:5px 14px; border-radius:50px; font-size:.72rem; font-weight:700;
  backdrop-filter:blur(8px);
}
.pc-badge.new     { background:rgba(232,77,138,.9); color:#fff; }
.pc-badge.popular { background:rgba(83,31,89,.9); color:#fff; }
.pc-badge.sale    { background:rgba(247,201,72,.9); color:var(--dark); }

.pc-body { padding:24px; flex:1; display:flex; flex-direction:column; }
.pc-category { font-size:.72rem; color:var(--primary); font-weight:700; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:8px; }
.pc-title    { font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:5px; line-height:1.35; letter-spacing:-0.2px; }
.pc-title a  { color:inherit; text-decoration:none; }
.pc-title a:hover { color:var(--primary); }

.pc-meta { display:flex; gap:12px; margin-bottom:10px; flex-wrap:wrap; }
.meta-item { display:flex; align-items:center; gap:5px; font-size:.76rem; color:var(--gray); background:var(--light-bg); padding:4px 10px; border-radius:50px; }
.meta-item i { color:var(--primary); font-size:.7rem; }

/* Product card button — centered */
.pc-btn { width:100%; justify-content:center; margin-top:auto; }

/* PC card lang toggle */
.pc-lang-tabs { display:flex; gap:5px; margin:8px 0 8px; }
.pc-lang-btn  { padding:3px 13px; border-radius:50px; font-size:.67rem; font-weight:700; border:1.5px solid var(--border); background:transparent; color:var(--gray); cursor:pointer; transition:var(--transition); font-family:'Poppins',sans-serif; }
.pc-lang-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }

.pc-desc-en { font-size:.83rem; color:var(--gray); line-height:1.65; margin-bottom:14px; flex:1; display:block; }
.pc-desc-ar { font-size:.83rem; color:var(--gray); line-height:1.75; margin-bottom:14px; flex:1; display:none; font-family:'Cairo',sans-serif; direction:rtl; text-align:right; }

/* PC image as link */
.pc-img-link { display:block; }

/* PC action buttons row */
.pc-actions { display:flex; align-items:center; gap:8px; margin-top:auto; }
.pc-actions > .btn { flex:1; text-align:center; justify-content:center; }
.btn-wa-card {
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; flex-shrink:0;
  background:#25D366; color:#fff; border-radius:10px;
  font-size:1rem; transition:var(--transition); text-decoration:none;
}
.btn-wa-card:hover { background:#128C7E; transform:scale(1.08); box-shadow:0 4px 14px rgba(37,211,102,.35); }

/* ── NUMBERS / STATS SECTION ── */
.stats-section { background:var(--primary); padding:60px 0; }
.stats-row { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.stat-col {
  text-align:center; padding:30px 20px;
  border-right:1px solid rgba(255,255,255,.15);
}
.stat-col:last-child { border-right:none; }
.stat-col .num   { font-size:2.8rem; font-weight:900; color:var(--white); display:block; line-height:1; }
.stat-col .unit  { font-size:1.5rem; font-weight:900; color:var(--accent-pink); }
.stat-col .label { font-size:.78rem; color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:1.5px; margin-top:8px; display:block; }

/* ── TESTIMONIAL / QUOTE ── */
.quote-section { background:var(--light-bg); padding:80px 0; text-align:center; }
.quote-text { font-size:clamp(1.3rem,2.5vw,1.8rem); font-weight:700; color:var(--dark); line-height:1.5; max-width:700px; margin:0 auto 30px; font-style:italic; }
.quote-text span { color:var(--primary); }

/* ── CTA ── */
.cta-section {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#581f60 0%,#814683 100%);
  padding:100px 28px; text-align:center;
}
.cta-section::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:32px 32px;
}
.cta-blob-1 { position:absolute; width:400px; height:400px; border-radius:50%; background:rgba(232,77,138,.15); filter:blur(80px); top:-100px; left:-100px; pointer-events:none; }
.cta-blob-2 { position:absolute; width:350px; height:350px; border-radius:50%; background:rgba(91,196,191,.1); filter:blur(80px); bottom:-100px; right:-100px; pointer-events:none; }

.cta-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.12); color:rgba(255,255,255,.9); padding:7px 18px; border-radius:50px; font-size:.75rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:20px; border:1px solid rgba(255,255,255,.2); }
.cta-title { font-size:clamp(2rem,4vw,3rem); font-weight:900; color:var(--white); margin-bottom:16px; letter-spacing:-0.5px; position:relative; }
.cta-desc  { color:rgba(255,255,255,.75); font-size:1.05rem; margin-bottom:40px; position:relative; max-width:540px; margin-left:auto; margin-right:auto; }
.cta-buttons { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; }

/* ── FOOTER ── */
footer { background:linear-gradient(135deg,#3d1642 0%,#531f59 50%,#7B2F8A 100%); color:rgba(255,255,255,.7); padding:70px 0 28px; }

.footer-top { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.3fr; gap:44px; margin-bottom:56px; }

.footer-logo { height:90px; width:auto; object-fit:contain; margin-bottom:18px; }
.footer-brand { font-size:1.25rem; font-weight:900; color:var(--white); margin-bottom:12px; letter-spacing:-0.3px; }
.footer-desc  { font-size:.84rem; line-height:1.8; color:rgba(255,255,255,.55); margin-bottom:24px; }

.social-links { display:flex; gap:10px; }
.social-link {
  width:40px; height:40px; border-radius:12px;
  background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center;
  font-size:.95rem; transition:var(--transition);
}
.social-link:hover { transform:translateY(-3px); }
.social-link.fb:hover  { background:#1877F2; color:#fff; }
.social-link.ig:hover  { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366); color:#fff; }
.social-link.wa:hover  { background:#25D366; color:#fff; }

.footer-col h4 { font-size:.92rem; color:var(--white); font-weight:800; margin-bottom:20px; }
.footer-links { display:grid; gap:10px; }
.footer-links a {
  font-size:.83rem; color:rgba(255,255,255,.55);
  display:flex; align-items:center; gap:8px; transition:var(--transition);
}
.footer-links a:hover { color:var(--accent-pink); transform:translateX(4px); }
.footer-links a i { font-size:.6rem; transition:var(--transition); }

.contact-item { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; font-size:.83rem; }
.contact-item i { color:var(--accent-pink); margin-top:3px; width:14px; flex-shrink:0; }
.contact-item a { color:rgba(255,255,255,.7); }
.contact-item a:hover { color:var(--accent-pink); }

.footer-divider { border-color:rgba(255,255,255,.08); margin-bottom:28px; }
.footer-bottom  { display:flex; justify-content:space-between; align-items:center; font-size:.8rem; color:rgba(255,255,255,.4); }
.footer-bottom a { color:var(--accent-pink); }

/* ── PAGE HERO (inner) ── */
.page-hero {
  background:linear-gradient(145deg, #2d0f35 0%, #531f59 50%, #7B2F8A 100%);
  padding:145px 28px 85px; text-align:center; position:relative; overflow:hidden;
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:28px 28px; pointer-events:none;
}
.page-hero::after {
  content:''; position:absolute; bottom:-60px; left:50%; transform:translateX(-50%);
  width:60%; height:200px;
  background:rgba(232,77,138,.12); filter:blur(70px); border-radius:50%;
  pointer-events:none;
}
.page-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.1); color:rgba(255,255,255,.85); padding:7px 18px; border-radius:50px; font-size:.75rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:16px; border:1px solid rgba(255,255,255,.18); }
.page-hero-title { font-size:clamp(2rem,4vw,3rem); font-weight:900; color:var(--white); margin-bottom:14px; letter-spacing:-0.5px; position:relative; z-index:1; }
.page-hero-desc  { font-size:1rem; color:rgba(255,255,255,.72); max-width:560px; margin:0 auto 24px; line-height:1.8; position:relative; z-index:1; }
.breadcrumb { display:flex; justify-content:center; gap:8px; font-size:.82rem; color:rgba(255,255,255,.5); position:relative; z-index:1; }
.breadcrumb a   { color:rgba(255,255,255,.75); }
.breadcrumb a:hover { color:var(--white); }
.breadcrumb-sep { opacity:.4; }

/* ── SERVICE DETAIL ── */
.service-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.service-sticky { position:sticky; top:110px; }
.sd-main-img { border-radius:24px; overflow:hidden; box-shadow:var(--shadow-xl); margin-bottom:14px; }
.sd-main-img img { width:100%; height:460px; object-fit:cover; }
.sd-main-placeholder { width:100%; height:460px; background:var(--light-bg); border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--primary); }
.sd-main-placeholder i { font-size:4rem; opacity:.25; margin-bottom:16px; }
.sd-thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.sd-thumb { border-radius:12px; overflow:hidden; height:90px; background:var(--light-bg); border:2px solid transparent; cursor:pointer; transition:var(--transition); }
.sd-thumb:hover,.sd-thumb.active { border-color:var(--primary); }
.sd-thumb img { width:100%; height:100%; object-fit:cover; }

.sd-info h1 { font-size:2.2rem; font-weight:900; color:var(--dark); margin-bottom:14px; letter-spacing:-0.5px; }
.sd-desc { color:var(--gray); line-height:1.85; margin-bottom:30px; font-size:.94rem; }
.features-list { display:grid; gap:12px; margin-bottom:28px; }
.features-list li { display:flex; gap:12px; align-items:flex-start; font-size:.9rem; }
.features-list li i { color:var(--accent-pink); margin-top:4px; flex-shrink:0; }

.highlights { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:28px; }
.hl-item { background:var(--light-bg); border-radius:14px; padding:16px; border:1px solid var(--border); display:flex; gap:12px; align-items:center; transition:var(--transition); }
.hl-item:hover { border-color:var(--primary); background:#f0e4f7; }
.hl-item i { font-size:1.4rem; color:var(--primary); }
.hl-grid  { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:24px 0; }
.hl-item  { min-width:0; overflow-wrap:break-word; }
.hl-label { font-size:.72rem; color:var(--gray); text-transform:uppercase; letter-spacing:1px; }
.hl-val   { font-size:.92rem; font-weight:800; color:var(--dark); }

/* ── PRODUCT DETAIL ── */
.product-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
.product-detail-grid > * { min-width:0; }
.product-gallery { position:sticky; top:110px; }
.gallery-main { border-radius:24px; overflow:hidden; height:480px; background:var(--light-bg); margin-bottom:14px; position:relative; }
.gallery-main img { width:100%; height:100%; object-fit:cover; transition:opacity .25s; }
.gm-placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--primary); opacity:.3; }
.gm-placeholder i { font-size:4rem; margin-bottom:12px; }
.gallery-thumbs { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.g-thumb { border-radius:12px; overflow:hidden; height:90px; cursor:pointer; border:2px solid transparent; transition:var(--transition); background:var(--light-bg); }
.g-thumb.active,.g-thumb:hover { border-color:var(--primary); }
.g-thumb img { width:100%; height:100%; object-fit:cover; }

/* Video thumb — full-width row inside thumbs grid */
.g-thumb-video {
  grid-column: 1 / -1; height:56px;
  background:linear-gradient(135deg,var(--primary-dark),var(--primary-light));
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:0 20px;
  color:#fff; border-radius:12px; cursor:pointer;
  border:2px solid transparent; transition:var(--transition);
}
.g-thumb-video:hover,.g-thumb-video.active { border-color:#fff; box-shadow:0 4px 18px rgba(83,31,89,.35); }
.g-thumb-video i { font-size:1.1rem; }
.g-thumb-video span { font-size:.78rem; font-weight:700; letter-spacing:.5px; }
.g-thumb-video .vt-badge {
  background:rgba(255,255,255,.22); padding:5px 14px;
  border-radius:50px; font-size:.72rem; font-weight:700; letter-spacing:.5px;
  display:flex; align-items:center; gap:6px;
}

/* Main image is zoomable → opens lightbox */
.gallery-main { cursor:zoom-in; }
.gallery-main .gm-zoom-hint {
  position:absolute; bottom:12px; right:12px; z-index:2;
  width:38px; height:38px; border-radius:50%;
  background:rgba(0,0,0,.45); color:#fff; backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
  pointer-events:none; opacity:0; transition:opacity .25s;
}
.gallery-main:hover .gm-zoom-hint { opacity:1; }

/* ── Lightbox ── */
.lightbox {
  position:fixed; inset:0; z-index:9999; display:none;
  background:rgba(18,6,22,.92); backdrop-filter:blur(6px);
  flex-direction:column; align-items:center; justify-content:center;
  padding:24px; opacity:0; transition:opacity .28s ease;
}
.lightbox.open { display:flex; opacity:1; }
.lb-stage {
  position:relative; flex:1; width:100%; max-width:1000px;
  display:flex; align-items:center; justify-content:center; min-height:0;
}
.lb-img {
  max-width:100%; max-height:100%; object-fit:contain;
  border-radius:12px; box-shadow:0 20px 60px rgba(0,0,0,.5);
  user-select:none; transition:opacity .2s ease;
}
.lb-close {
  position:absolute; top:18px; right:20px; z-index:2;
  width:46px; height:46px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.5rem; line-height:1;
  display:flex; align-items:center; justify-content:center; transition:var(--transition);
}
.lb-close:hover { background:rgba(255,255,255,.28); transform:rotate(90deg); }
.lb-nav {
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:52px; height:52px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.6rem;
  display:flex; align-items:center; justify-content:center; transition:var(--transition);
}
.lb-nav:hover { background:var(--primary); }
.lb-prev { left:18px; }
.lb-next { right:18px; }
.lb-counter {
  color:rgba(255,255,255,.85); font-size:.85rem; font-weight:600;
  letter-spacing:1px; margin:14px 0 10px;
}
.lb-thumbs {
  display:flex; gap:10px; overflow-x:auto; max-width:100%; padding:4px;
  scrollbar-width:none;
}
.lb-thumbs::-webkit-scrollbar { display:none; }
.lb-thumb {
  width:64px; height:64px; flex-shrink:0; border-radius:9px; overflow:hidden;
  cursor:pointer; border:2px solid transparent; opacity:.55; transition:var(--transition);
}
.lb-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.lb-thumb.active { border-color:#fff; opacity:1; }
.lb-thumb:hover { opacity:1; }

/* Video overlay inside gallery-main */
.gallery-video-wrap {
  position:absolute; inset:0; background:#000; display:none; z-index:3;
  border-radius:24px; overflow:hidden;
}
.gallery-video-wrap iframe {
  width:100%; height:100%; border:none; display:block;
}
.gallery-video-wrap.show { display:block; }

.product-info h1 { font-size:1.9rem; font-weight:900; color:var(--dark); margin-bottom:6px; letter-spacing:-0.5px; }
.product-info .ar-h { font-size:1.3rem; font-weight:800; color:var(--primary); font-family:'Cairo',sans-serif; direction:rtl; text-align:right; margin-bottom:22px; }

.lang-tabs { display:flex; background:var(--light-bg); border-radius:50px; padding:4px; width:fit-content; margin-bottom:22px; border:1px solid var(--border); }
.lang-tab { padding:9px 24px; font-size:.84rem; font-weight:700; cursor:pointer; background:transparent; color:var(--gray); border:none; border-radius:50px; font-family:'Poppins',sans-serif; transition:var(--transition); }
.lang-tab.active { background:var(--primary); color:var(--white); box-shadow:0 4px 12px rgba(83,31,89,.35); }

.desc-block { background:var(--light-bg); border-radius:14px; padding:20px; margin-bottom:22px; font-size:.9rem; line-height:1.85; color:var(--dark); border:1px solid var(--border); }
.desc-block.ar { font-family:'Cairo',sans-serif; direction:rtl; text-align:right; display:none; }
.desc-block.ar.show { display:block; }
.desc-block.en.hide { display:none; }

.specs-table { border:1px solid var(--border); border-radius:16px; overflow:hidden; margin-bottom:22px; }
.specs-head  { background:var(--primary); color:var(--white); padding:14px 22px; font-weight:800; font-size:.9rem; }
.spec-row    { display:flex; border-bottom:1px solid var(--border); }
.spec-row:last-child { border-bottom:none; }
.spec-label  { padding:13px 20px; background:var(--light-bg); font-weight:700; font-size:.84rem; width:42%; border-right:1px solid var(--border); }
.spec-value  { padding:13px 20px; font-size:.84rem; color:var(--gray); width:58%; }

.opt-group { margin-bottom:22px; }
.opt-label { font-weight:700; font-size:.86rem; color:var(--dark); margin-bottom:10px; }
.opt-btns  { display:flex; gap:10px; flex-wrap:wrap; }
.opt-btn { padding:9px 20px; border:2px solid var(--border); border-radius:50px; font-size:.82rem; cursor:pointer; transition:var(--transition); background:var(--white); color:var(--dark); font-family:'Poppins',sans-serif; font-weight:600; }
.opt-btn:hover,.opt-btn.active { border-color:var(--primary); color:var(--primary); background:var(--light-bg); }

.product-actions { display:flex; gap:14px; flex-wrap:wrap; }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:60px; }
.contact-card { display:flex; gap:16px; align-items:flex-start; padding:20px; background:var(--light-bg); border-radius:16px; margin-bottom:16px; border:1px solid var(--border); transition:var(--transition); }
.contact-card:hover { border-color:var(--primary); box-shadow:var(--shadow); transform:translateX(4px); }
.cc-icon { width:48px; height:48px; flex-shrink:0; background:var(--primary); color:var(--white); border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.cc-text h4 { font-size:.92rem; font-weight:700; margin-bottom:4px; }
.cc-text p,.cc-text a { font-size:.84rem; color:var(--gray); }
.cc-text a:hover { color:var(--primary); }

.contact-form { background:var(--white); padding:40px; border-radius:24px; box-shadow:var(--shadow-lg); border:1px solid var(--border); }
.contact-form h3 { font-size:1.5rem; font-weight:900; color:var(--dark); margin-bottom:6px; letter-spacing:-0.3px; }
.contact-form p  { font-size:.86rem; color:var(--gray); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { margin-bottom:16px; }
.form-label { display:block; font-size:.82rem; font-weight:700; color:var(--dark); margin-bottom:7px; }
.form-control { width:100%; padding:12px 16px; border:1.5px solid var(--border); border-radius:10px; font-size:.88rem; font-family:'Poppins',sans-serif; transition:var(--transition); color:var(--dark); background:var(--white); }
.form-control:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(83,31,89,.1); }
textarea.form-control { resize:vertical; min-height:120px; }

/* ── ABOUT ── */
.about-story { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.story-img { border-radius:24px; overflow:hidden; box-shadow:var(--shadow-xl); }
.story-img img { width:100%; height:460px; object-fit:cover; }
.story-placeholder { width:100%; height:460px; background:var(--light-bg); border-radius:24px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--primary); }
.story-placeholder i { font-size:4rem; opacity:.25; margin-bottom:14px; }
.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; }
.value-card { text-align:center; padding:36px 24px; background:var(--white); border-radius:20px; border:1px solid var(--border); transition:var(--transition); }
.value-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); border-color:var(--primary); }
.val-icon { width:68px; height:68px; background:linear-gradient(135deg,var(--primary),var(--primary-light)); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.7rem; margin:0 auto 18px; }
.val-title { font-size:1.05rem; font-weight:800; color:var(--dark); margin-bottom:10px; }
.val-desc  { font-size:.83rem; color:var(--gray); line-height:1.7; }

/* ── WHATSAPP FLOAT ── */
.wa-float {
  position:fixed; bottom:28px; right:28px; z-index:999;
  width:56px; height:56px; background:#25D366; border-radius:16px;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; color:var(--white);
  box-shadow:0 8px 24px rgba(37,211,102,.45);
  transition:var(--transition); animation:pulse-wa 2.5s infinite;
}
.wa-float:hover { transform:scale(1.1) translateY(-3px); border-radius:50%; box-shadow:0 12px 32px rgba(37,211,102,.6); }

@keyframes pulse-wa {
  0%,100% { box-shadow:0 8px 24px rgba(37,211,102,.45); }
  50%      { box-shadow:0 8px 32px rgba(37,211,102,.65),0 0 0 10px rgba(37,211,102,.1); }
}

/* ── SCROLL REVEAL ── */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── FILTER BAR ── */
.filter-bar { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-bottom:44px; }
.filter-btn { padding:10px 24px; border-radius:50px; font-size:.83rem; font-weight:700; border:1.5px solid var(--border); background:var(--white); color:var(--gray); cursor:pointer; transition:var(--transition); font-family:'Poppins',sans-serif; }
.filter-btn:hover { border-color:var(--primary); color:var(--primary); background:var(--light-bg); }
.filter-btn.active { background:var(--primary); color:var(--white); border-color:var(--primary); box-shadow:0 4px 16px rgba(83,31,89,.3); }
.product-card.hidden { display:none; }

/* ── CONTACT PAGE ── */
.contact-title   { font-size:1.8rem; text-align:left; margin-bottom:14px; }
.contact-divider { margin-left:0; margin-bottom:28px; }
.contact-intro   { color:var(--gray); font-size:.92rem; line-height:1.8; margin-bottom:32px; }

.contact-social       { margin-top:28px; }
.contact-social-label { font-size:.88rem; font-weight:700; color:var(--dark); margin-bottom:14px; }
.contact-social-links { display:flex; gap:12px; }
.csocial-btn {
  width:46px; height:46px; border-radius:50%; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; transition:var(--transition);
  background:var(--primary);
}
.csocial-btn:hover { transform:translateY(-3px) scale(1.1); }
.csb-fb:hover { background:#1877F2; }
.csb-ig:hover { background:linear-gradient(45deg,#f09433,#dc2743,#cc2366); }
.csb-wa { background:#25D366; }
.csb-wa:hover { background:#128C7E; }

.faq-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
  max-width:900px; margin:0 auto;
}
.faq-card {
  padding:24px; background:var(--white);
  border-radius:var(--radius); border:1px solid var(--border);
  transition:var(--transition);
}
.faq-card:hover { border-color:var(--primary); box-shadow:var(--shadow); }
.faq-q { font-size:.95rem; font-weight:700; margin-bottom:10px; color:var(--primary); }
.faq-q i { margin-right:6px; }
.faq-a { font-size:.85rem; color:var(--gray); line-height:1.7; }

/* ── ABOUT PAGE ── */
.about-stats {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:8px;
}
.about-stat-card {
  text-align:center; padding:20px 16px;
  background:var(--light-bg); border-radius:var(--radius); border:1px solid var(--border);
  transition:var(--transition);
}
.about-stat-card:hover { border-color:var(--primary); box-shadow:var(--shadow); }
.about-stat-num   { font-size:2rem; font-weight:900; color:var(--primary); line-height:1.1; margin-bottom:6px; }
.about-stat-label { font-size:.72rem; color:var(--gray); text-transform:uppercase; letter-spacing:1px; }

.mission-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.mission-card {
  text-align:center; padding:36px 24px;
  background:var(--white); border-radius:var(--radius); border:1px solid var(--border);
  transition:var(--transition);
}
.mission-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-xl); border-color:var(--border); }
.mission-icon {
  width:70px; height:70px; border-radius:50%; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.7rem; margin:0 auto 18px;
}
.mi-purple { background:linear-gradient(135deg,var(--primary),var(--primary-light)); }
.mi-pink   { background:linear-gradient(135deg,var(--accent-pink),#c2185b); }
.mi-teal   { background:linear-gradient(135deg,var(--accent-teal),#00897b); }
.mission-body  { flex:1; }
.mission-title { font-size:1.05rem; font-weight:700; margin-bottom:8px; color:var(--dark); }
.mission-desc  { font-size:.85rem; color:var(--gray); line-height:1.7; }

/* ── HOW IT WORKS / PROCESS ── */
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; position:relative;
}
.process-connector {
  position:absolute; top:40px; left:12.5%; right:12.5%;
  height:2px; background:linear-gradient(90deg,var(--accent-pink),var(--primary));
  z-index:0; opacity:.3;
}
.process-step { text-align:center; padding:0 20px; position:relative; z-index:1; }
.process-icon {
  width:80px; height:80px; border-radius:50%; color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.8rem; margin:0 auto 20px;
}
.pi-pink   { background:linear-gradient(135deg,var(--accent-pink),#c2185b); box-shadow:0 8px 24px rgba(232,77,138,.4); }
.pi-purple { background:linear-gradient(135deg,var(--primary),var(--primary-light)); box-shadow:0 8px 24px rgba(83,31,89,.4); }
.pi-teal   { background:linear-gradient(135deg,var(--accent-teal),#00897b); box-shadow:0 8px 24px rgba(91,196,191,.4); }
.pi-yellow { background:linear-gradient(135deg,#f7c948,#e8a020); color:var(--dark); box-shadow:0 8px 24px rgba(247,201,72,.4); }
.process-title { font-size:1rem; font-weight:800; margin-bottom:8px; }
.process-desc  { font-size:.82rem; color:var(--gray); line-height:1.7; }

/* ── SERVICES SECOND ROW ── */
.services-second-row {
  display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-top:20px;
}
/* Combo: top full-width + bottom 2 cards + CTA */
.services-bento-combo {
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:auto auto;
}
.services-bento-combo .sbc-top {
  grid-column:span 3;
  height:300px;
}
.services-bento-combo .service-bento-card:not(.sbc-top) {
  height:280px;
}
.services-bento-combo .services-cta-card {
  border-radius:24px;
  display:flex; flex-direction:column; justify-content:space-between;
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  padding:28px; height:280px;
}

/* 5-service layout overrides */
.services-bento-5 {
  grid-template-columns:1fr 1fr 1fr;
}
.services-bento-5 .featured {
  grid-column:span 3;
}
.services-second-row-5 {
  grid-template-columns:1fr 1fr 1fr;
}
.sbc-tall { height:280px; }
.services-cta-card {
  background:linear-gradient(135deg,var(--primary),var(--primary-light));
  border-radius:24px; padding:32px;
  display:flex; flex-direction:column; justify-content:space-between;
  height:280px;
}

/* ── FOOTER ALIASES (legacy class names used in older pages) ── */
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1.3fr; gap:44px; margin-bottom:56px; }
.footer-brand-name { font-size:1.25rem; font-weight:900; color:var(--white); margin-bottom:12px; letter-spacing:-0.3px; }

/* ── SERVICES GRID (services.html cards layout) ── */
.services-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:28px;
}
.service-card {
  background:var(--white); border-radius:20px;
  overflow:hidden; border:1px solid var(--border);
  box-shadow:var(--shadow); transition:var(--transition);
  display:flex; flex-direction:column;
}
.service-card:hover { transform:translateY(-8px); box-shadow:var(--shadow-xl); border-color:var(--border); }
.sc-image {
  position:relative; height:220px; overflow:hidden;
  background:var(--light-bg);
}
.sc-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.service-card:hover .sc-image img { transform:scale(1.07); }
.sc-placeholder {
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  color:var(--primary); gap:10px; font-size:.82rem; font-weight:600;
}
.sc-placeholder i { font-size:3rem; opacity:.3; }
.sc-icon {
  position:absolute; bottom:-18px; right:20px;
  width:44px; height:44px; border-radius:12px;
  background:var(--primary); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; box-shadow:0 6px 18px rgba(83,31,89,.4);
  z-index:2; transition:var(--transition);
}
.service-card:hover .sc-icon { background:var(--accent-pink); box-shadow:0 6px 18px rgba(232,77,138,.4); }
.sc-body { padding:32px 24px 26px; flex:1; display:flex; flex-direction:column; }
.sc-title { font-size:1.1rem; font-weight:800; color:var(--dark); margin-bottom:10px; }
.sc-desc  { font-size:.86rem; color:var(--gray); line-height:1.75; margin-bottom:20px; flex:1; }
.sc-link  {
  display:inline-flex; align-items:center; gap:8px;
  color:var(--primary); font-weight:700; font-size:.84rem;
  transition:var(--transition);
}
.sc-link:hover { color:var(--accent-pink); gap:12px; }

/* ── RESPONSIVE ── */

/* ─ Tablet ─ */
@media(max-width:1024px){
  .footer-top,.footer-grid        { grid-template-columns:1fr 1fr; }
  .why-grid                        { grid-template-columns:1fr; }
  .why-visual                      { display:none; }
  .stats-row                       { grid-template-columns:repeat(2,1fr); }
  .services-bento                  { grid-template-columns:1fr 1fr; }
  .service-bento-card.featured     { grid-column:span 2; }
  .services-bento-5                { grid-template-columns:1fr 1fr; }
  .services-bento-5 .featured      { grid-column:span 2; }
  .services-second-row-5           { grid-template-columns:1fr 1fr; }
  .services-second-row-5 .services-cta-card { grid-column:span 2; height:auto; }
  .services-bento-combo            { grid-template-columns:1fr 1fr 1fr; }
  .services-bento-combo .sbc-top  { grid-column:span 3; height:260px; }
  .services-bento-combo .service-bento-card:not(.sbc-top) { height:240px; }
  .services-bento-combo .services-cta-card { height:240px; }
  .product-detail-grid,.service-detail-grid { gap:44px; }
}

/* Canvas header & footer: hidden by default (desktop), shown only in off-canvas drawer */
.nav-canvas-header, .nav-canvas-footer { display:none; }

/* ─ Mobile (≤768px) ─ */
@media(max-width:768px){
  /* Spacing */
  .section-padding { padding:64px 0; }
  .cta-section     { padding:72px 24px; }
  .page-hero       { padding:112px 24px 64px; }
  .section-header  { margin-bottom:44px; }

  /* ── Off-canvas overlay ── */
  .nav-overlay {
    position:fixed; inset:0; background:rgba(10,3,15,.55);
    z-index:997; opacity:0; visibility:hidden;
    transition:opacity .32s ease, visibility .32s ease;
    -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  }
  .nav-overlay.show { opacity:1; visibility:visible; }

  /* ── Off-canvas drawer ── */
  .nav-menu {
    position:fixed; top:0; right:0;
    width:min(300px,84vw); height:100vh; height:100dvh;
    flex-direction:column; gap:0; align-items:stretch;
    background:var(--white); padding:0;
    box-shadow:-10px 0 60px rgba(83,31,89,.28);
    z-index:999; overflow-y:auto; overflow-x:hidden;
    transform:translateX(100%);
    transition:transform .32s cubic-bezier(.4,0,.2,1);
  }
  .nav-menu.open { transform:translateX(0); }

  /* Canvas header (injected by JS) */
  .nav-canvas-header {
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 20px; flex-shrink:0;
    background:linear-gradient(135deg, var(--primary-dark), var(--primary));
    position:sticky; top:0; z-index:2;
  }
  .nav-canvas-brand { font-size:1.05rem; font-weight:900; color:#fff; letter-spacing:-0.3px; }
  .nav-canvas-tagline { font-size:.6rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:1.5px; display:block; }
  .nav-canvas-close {
    width:34px; height:34px; border-radius:50%;
    background:rgba(255,255,255,.18); border:none; color:#fff;
    font-size:1rem; cursor:pointer; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    transition:var(--transition);
  }
  .nav-canvas-close:hover { background:rgba(255,255,255,.3); transform:rotate(90deg); }

  /* Nav items inside canvas */
  .nav-menu .nav-item { border-bottom:1px solid var(--border); }
  .nav-menu .nav-link {
    padding:15px 22px; border-radius:0; font-size:.93rem;
    color:var(--dark); justify-content:space-between; width:100%;
  }
  .nav-menu .nav-link:hover, .nav-menu .nav-link.active {
    background:var(--light-bg); color:var(--primary); padding-left:28px;
  }

  /* Dropdown inside canvas */
  .dropdown-menu {
    position:static; opacity:1; visibility:visible; transform:none;
    box-shadow:none; border:none; border-top:1px solid var(--border);
    background:#fdf5ff; border-radius:0; display:none; min-width:unset;
  }
  .dropdown-menu li { border-bottom:1px solid rgba(234,213,240,.5); }
  .dropdown-menu li:last-child { border-bottom:none; }
  .dropdown-menu a { padding:12px 32px; font-size:.84rem; }
  .nav-item.open .dropdown-menu { display:block; }

  /* Canvas footer */
  .nav-canvas-footer {
    display:block; margin-top:auto; padding:20px; border-top:1px solid var(--border);
  }

  .nav-cta     { display:none; }
  .menu-toggle { display:flex; }

  /* Hero */
  .hero-container { grid-template-columns:1fr; text-align:center; padding:56px 20px 72px; }
  .hero-title     { font-size:2.4rem; }
  .hero-visual,.hero-float-badge { display:none; }
  .hero-actions,.hero-stats      { justify-content:center; }
  .hero-stats  { margin:0 auto; width:100%; border-radius:14px; }
  .hstat       { padding:14px 18px; flex:1; }
  .hero-desc   { margin-left:auto; margin-right:auto; font-size:.96rem; }

  /* Grids */
  .service-detail-grid,.product-detail-grid,.contact-grid,.about-story { grid-template-columns:1fr; gap:32px; }
  .form-row,.highlights { grid-template-columns:1fr; }
  .footer-top,.footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
  .services-bento, .services-bento-5, .services-bento-combo { grid-template-columns:1fr; }
  .services-bento-combo .sbc-top  { grid-column:span 1; height:260px; }
  .services-bento-combo .service-bento-card:not(.sbc-top) { height:240px; }
  .services-bento-combo .services-cta-card { height:auto; }
  .service-bento-card.featured { grid-column:span 1; height:280px; }
  .services-second-row-5 { grid-template-columns:1fr; }
  .services-second-row-5 .services-cta-card { grid-column:span 1; }
  .stats-row  { grid-template-columns:repeat(2,1fr); }
  .why-grid   { grid-template-columns:1fr; }
  .why-visual { display:none; }
  .products-grid { grid-template-columns:repeat(2,1fr); }
  .products-slider-wrap { padding:0 44px; }
  .ps-track .product-card { flex:0 0 calc((100% - 24px) / 2); }
  .ps-arrow { width:40px; height:40px; font-size:.85rem; }
  .services-second-row { grid-template-columns:1fr; }
  .sbc-tall            { height:260px; }
  .services-cta-card   { height:auto; padding:28px; }
  .services-cta-only .services-cta-card { flex-direction:column; align-items:flex-start; gap:20px; }
  .services-cta-only .services-cta-card .btn { width:100%; justify-content:center; }
  .process-grid        { grid-template-columns:repeat(2,1fr); gap:40px 16px; }
  .process-connector   { display:none; }
  .process-step        { padding:0 12px; }
  .mission-grid  { grid-template-columns:1fr; gap:14px; }
  .mission-card  { padding:22px 20px; display:flex; align-items:center; gap:18px; text-align:left; }
  .mission-icon  { width:54px; height:54px; font-size:1.3rem; flex-shrink:0; margin:0; }
  .mission-title { font-size:.97rem; margin-bottom:5px; }
  .mission-desc  { font-size:.82rem; }
  .about-stats     { grid-template-columns:repeat(3,1fr); gap:12px; }
  .about-stat-num  { font-size:1.6rem; }
  .about-stat-card { padding:16px 10px; }
  /* Contact */
  .contact-title   { font-size:1.5rem; }
  .contact-divider { margin-bottom:20px; }
  .faq-grid        { grid-template-columns:1fr; gap:14px; max-width:100%; }
  .contact-card    { padding:16px; }
  .contact-social  { margin-top:20px; }

  /* Typography */
  .section-title   { font-size:1.8rem; }
  .page-hero-title { font-size:2rem; }
  .page-hero-desc  { font-size:.92rem; }
  .cta-title       { font-size:2rem; }

  /* Gallery */
  .gallery-main   { height:340px; }
  .gallery-thumbs { grid-template-columns:repeat(3,1fr); gap:8px; }
  .g-thumb        { height:90px; }
  .g-thumb-video  { height:48px; }

  /* Product page */
  .product-actions { flex-direction:column; }
  .product-actions .btn { width:100%; justify-content:center; }
  .spec-row   { flex-direction:column; }
  .spec-label { width:100%; border-right:none; border-bottom:1px solid var(--border); }
  .spec-value { width:100%; }
  .product-info h1 { font-size:1.75rem; }

  /* Misc */
  .contact-form { padding:24px; }
  .filter-bar   { gap:8px; }
  .service-bento-card:not(.featured) { height:240px; }
}

/* ─ Small mobile (≤480px) ─ */
@media(max-width:480px){
  /* Spacing */
  .section-padding { padding:50px 0; }
  .cta-section     { padding:56px 16px; }
  .page-hero       { padding:96px 16px 50px; }
  .container       { padding:0 16px; }
  .section-header  { margin-bottom:36px; }

  /* Typography */
  .hero-title      { font-size:2rem; }
  .section-title   { font-size:1.6rem; }
  .page-hero-title { font-size:1.8rem; }
  .cta-title       { font-size:1.7rem; }
  .cta-desc        { font-size:.9rem; }

  /* Hero */
  .hstat          { padding:12px 12px; }
  .hstat-num      { font-size:1.5rem; }
  .hstat-label    { font-size:.62rem; }
  .hero-stats     { overflow-x:auto; justify-content:flex-start; -webkit-overflow-scrolling:touch; }
  .hero-actions   { flex-direction:column; align-items:center; }
  .hero-actions .btn { width:100%; max-width:300px; justify-content:center; }

  /* Products */
  .products-grid  { grid-template-columns:1fr; gap:18px; }
  .products-slider-wrap { padding:0 36px; }
  .ps-track .product-card { flex:0 0 100%; }
  .ps-arrow { width:36px; height:36px; font-size:.8rem; }
  .pc-image       { height:240px; }
  .services-grid  { grid-template-columns:1fr; }
  .stats-row      { grid-template-columns:1fr 1fr; }

  /* Gallery */
  .gallery-main   { height:260px; border-radius:16px; }
  .gallery-thumbs { grid-template-columns:repeat(2,1fr); gap:7px; }
  .g-thumb        { height:90px; border-radius:9px; }
  .g-thumb-video  { height:42px; font-size:.72rem; }

  /* Lightbox */
  .lightbox       { padding:14px; }
  .lb-nav         { width:42px; height:42px; font-size:1.3rem; }
  .lb-prev        { left:8px; }
  .lb-next        { right:8px; }
  .lb-close       { top:12px; right:12px; width:40px; height:40px; }
  .lb-thumb       { width:52px; height:52px; }

  /* Filter bar — horizontal scroll on very small screens */
  .filter-bar     { overflow-x:auto; flex-wrap:nowrap; justify-content:flex-start; padding-bottom:6px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .filter-bar::-webkit-scrollbar { display:none; }
  .filter-btn     { padding:8px 14px; font-size:.76rem; flex-shrink:0; }

  /* Product detail */
  .hl-grid                 { grid-template-columns:1fr; }
  .product-info h1         { font-size:1.5rem; }
  .specs-table .specs-head { padding:12px 16px; font-size:.84rem; }
  .spec-label,.spec-value  { padding:10px 14px; font-size:.8rem; }
  .opt-btn { padding:8px 14px; font-size:.78rem; }

  /* Process steps */
  .process-icon  { width:64px; height:64px; font-size:1.4rem; margin-bottom:14px; }
  .process-title { font-size:.9rem; }
  .process-desc  { font-size:.78rem; }

  /* About page */
  .about-stats     { gap:10px; }
  .about-stat-num  { font-size:1.4rem; }
  .about-stat-label{ font-size:.65rem; letter-spacing:.5px; }
  .about-stat-card { padding:14px 8px; }
  .mission-card  { padding:18px 14px; gap:12px; }
  .mission-icon  { width:44px; height:44px; font-size:1.1rem; }
  /* Contact page */
  .faq-card     { padding:18px; }
  .faq-q        { font-size:.88rem; }
  .contact-form { padding:20px 16px; }
  .cc-icon      { width:40px; height:40px; flex-shrink:0; font-size:.95rem; }
  .contact-card { gap:12px; padding:14px; }

  /* CTA buttons */
  .cta-buttons { flex-direction:column; align-items:center; }
  .cta-buttons .btn { width:100%; max-width:320px; justify-content:center; }
}

/* ─ Very small (≤360px) ─ */
@media(max-width:360px){
  .hero-title      { font-size:1.75rem; }
  .hstat-num       { font-size:1.3rem; }
  .page-hero-title { font-size:1.55rem; }
  .cta-title       { font-size:1.5rem; }
  .gallery-main    { height:220px; }
  .product-info h1 { font-size:1.3rem; }
  .products-grid   { gap:14px; }
  .nav-logo-text .brand { font-size:1rem; }
}

/* ══════════════════════════════════════════════════
   MANDALA DESIGN – PAGE & SCROLL ANIMATIONS
══════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes md-up    { from{opacity:0;transform:translateY(36px)} to{opacity:1;transform:none} }
@keyframes md-left  { from{opacity:0;transform:translateX(-44px)} to{opacity:1;transform:none} }
@keyframes md-right { from{opacity:0;transform:translateX(44px)} to{opacity:1;transform:none} }
@keyframes md-scale { from{opacity:0;transform:scale(.88)} to{opacity:1;transform:none} }

/* ── Homepage Hero (page load) ── */
.hero-eyebrow     { animation:md-up   .70s cubic-bezier(.22,1,.36,1) .10s both }
.hero-title       { animation:md-up   .80s cubic-bezier(.22,1,.36,1) .22s both }
.hero-desc        { animation:md-up   .70s cubic-bezier(.22,1,.36,1) .36s both }
.hero-actions     { animation:md-up   .70s cubic-bezier(.22,1,.36,1) .50s both }
.hero-stats       { animation:md-up   .60s cubic-bezier(.22,1,.36,1) .62s both }
.hero-visual      { animation:md-left .90s cubic-bezier(.22,1,.36,1) .28s both }
.hero-float-badge { animation:md-scale .60s cubic-bezier(.22,1,.36,1) .80s both }

/* ── Inner Page Hero (page load) ── */
.page-hero-eyebrow     { animation:md-up .60s cubic-bezier(.22,1,.36,1) .15s both }
.page-hero-title       { animation:md-up .70s cubic-bezier(.22,1,.36,1) .28s both }
.page-hero-desc        { animation:md-up .60s cubic-bezier(.22,1,.36,1) .42s both }
.page-hero .breadcrumb { animation:md-up .50s cubic-bezier(.22,1,.36,1) .55s both }

/* ── Services Page Hero (page load) ── */
.srv-hero-eyebrow { animation:md-up .60s cubic-bezier(.22,1,.36,1) .15s both }
.srv-hero-title   { animation:md-up .70s cubic-bezier(.22,1,.36,1) .28s both }
.srv-hero-desc    { animation:md-up .60s cubic-bezier(.22,1,.36,1) .42s both }
.srv-hero-stats   { animation:md-up .50s cubic-bezier(.22,1,.36,1) .56s both }

/* ── Scroll Animation System ── */
@media (prefers-reduced-motion: no-preference) {
  [data-anim] {
    opacity:0;
    transition:opacity .65s cubic-bezier(.22,1,.36,1),
               transform .65s cubic-bezier(.22,1,.36,1);
  }
  [data-anim="fade-up"]    { transform:translateY(32px) }
  [data-anim="fade-right"] { transform:translateX(-44px) }
  [data-anim="fade-left"]  { transform:translateX(44px) }
  [data-anim="scale-in"]   { transform:scale(.92) }

  [data-delay="1"] { transition-delay:.08s }
  [data-delay="2"] { transition-delay:.16s }
  [data-delay="3"] { transition-delay:.24s }
  [data-delay="4"] { transition-delay:.32s }
  [data-delay="5"] { transition-delay:.40s }
  [data-delay="6"] { transition-delay:.48s }

  [data-anim].anim-in { opacity:1; transform:none }
}
@media (prefers-reduced-motion: reduce) {
  [data-anim] { opacity:1; transform:none }
}

/* No horizontal slide-in on mobile — prevents content overflowing the viewport */
@media (max-width:768px) and (prefers-reduced-motion: no-preference) {
  [data-anim="fade-right"], [data-anim="fade-left"] { transform:translateY(32px) }
}
