:root{
    --plum: #331729;
    --plum-deep: #220f17;
    --plum-soft: #472038;
    --cream: #eae3df;
    --cream-warm: #f4efe9;
    --paper: #fbf9f7;
    --gold: #b89a73;
    --gold-light: #d4c3a5;
    --ink: #2a1a22;
    --ink-soft: #6b5a63;
    --line: rgba(51,23,41,0.12);
    --shadow: 0 20px 50px -20px rgba(34,15,23,0.35);
    --ease: cubic-bezier(.22,.68,0,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Readex Pro', sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.75;
    overflow-x:hidden;
  }
  img{max-width:100%; display:block;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
  h1,h2,h3,h4{font-family:'El Messiri', sans-serif; font-weight:700; color:var(--plum); letter-spacing:-.01em;}
  .eyebrow{
    font-family:'El Messiri',sans-serif; font-weight:700; font-size:13px; letter-spacing:.22em;
    color:var(--gold); text-transform:uppercase; display:flex; align-items:center; gap:12px; margin-bottom:18px;
  }
  .eyebrow::before{content:''; width:34px; height:1px; background:var(--gold);}
  .btn{
    display:inline-flex; align-items:center; gap:10px; font-family:'El Messiri',sans-serif; font-weight:700; font-size:15px;
    padding:16px 34px; border-radius:2px; border:1px solid transparent; cursor:pointer; transition:all .35s var(--ease);
  }
  .btn-gold{background:var(--gold); color:var(--plum-deep);}
  .btn-gold:hover{background:var(--plum); color:var(--cream); transform:translateY(-2px); box-shadow:var(--shadow);}
  .btn-outline{border-color:rgba(234,227,223,.5); color:var(--cream);}
  .btn-outline:hover{background:var(--cream); color:var(--plum); border-color:var(--cream);}
  .btn-outline-dark{border-color:var(--plum); color:var(--plum);}
  .btn-outline-dark:hover{background:var(--plum); color:var(--cream);}

  /* ===== NAV ===== */
  header{
    position:fixed; top:0; right:0; left:0; z-index:1000;
    background:rgba(51,23,41,0);
    transition:background .4s var(--ease), box-shadow .4s var(--ease), padding .4s var(--ease);
    padding:26px 0;
  }
  header.scrolled{ background:var(--plum); box-shadow:0 10px 30px -12px rgba(0,0,0,.4); padding:14px 0;}
  nav.wrap{display:flex; align-items:center; justify-content:space-between;}
  .logo-mark{display:flex; align-items:center; gap:10px;}
  .logo-mark .logo-img{height:92px; width:auto; display:block; transition:height .4s var(--ease);}
  header.scrolled .logo-mark .logo-img{height:68px;}
  .navlinks{display:flex; gap:34px; align-items:center; margin-right:56px;}
  .navlinks a{font-family:'El Messiri',sans-serif; font-size:14.5px; font-weight:600; color:var(--cream); position:relative; padding:4px 0;}
  .navlinks a::after{content:''; position:absolute; right:0; bottom:-2px; width:0; height:1px; background:var(--gold-light); transition:width .3s var(--ease);}
  .navlinks a:hover::after{width:100%;}
  .navlinks a.active-link::after{width:100%;}
  .nav-cta{font-family:'El Messiri',sans-serif; font-weight:700; font-size:14px; padding:11px 24px; background:var(--gold); color:var(--plum-deep); border-radius:2px; transition:.3s;}
  .nav-cta:hover{background:var(--gold-light);}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px;}
  .burger span{width:24px; height:2px; background:var(--cream);}

  /* ===== HERO ===== */
  .hero{
    position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden;
    background:
      radial-gradient(ellipse at 50% 0%, rgba(184,154,115,.12), transparent 55%),
      repeating-linear-gradient(90deg,
        rgba(0,0,0,.16) 0px, rgba(255,255,255,.05) 22px, rgba(0,0,0,.20) 46px,
        rgba(255,255,255,.03) 70px, rgba(0,0,0,.14) 94px
      ),
      var(--plum);
    padding-bottom:70px; padding-top:70px;
  }
  .hero-inner{position:relative; z-index:2; width:100%; text-align:center; display:flex; flex-direction:column; align-items:center;}
  .hero-tag{
    font-family:'El Messiri',sans-serif; color:var(--gold-light); font-weight:700; font-size:13px; letter-spacing:.3em;
    text-transform:uppercase; margin-bottom:40px; display:flex; align-items:center; gap: 30px; justify-content:center;
  }
  .hero-tag::before, .hero-tag::after{content:''; width:50px; height:1px; background:var(--gold-light);}
  .hero h1{
    color:var(--cream); font-size:clamp(38px,6vw,76px); line-height:1.14; font-weight:700; max-width:820px; margin-bottom:26px;
  }
  .hero h1 em{font-style:normal; color:var(--gold-light);}
  .hero p{color:rgba(234,227,223,.75); font-size:18px; max-width:560px; margin:0 auto 44px; font-weight:300;}
  .hero-actions{display:flex; gap:18px; flex-wrap:wrap; align-items:center; justify-content:center;}

  .leaf-motif{position:absolute; pointer-events:none; opacity:.55;}
  .leaf-motif svg{width:100%; height:100%;}

  /* ===== SECTION GENERIC ===== */
  section{padding:120px 0; position:relative;}
  .section-cream{background:var(--cream-warm);}
  .section-plum{background:var(--plum); color:var(--cream);}
  .section-plum h2, .section-plum h3, .section-plum h4{color:var(--cream);}
  .head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:64px; flex-wrap:wrap;}
  h2.big{font-size:clamp(30px,4vw,48px); line-height:1.15; max-width:640px;}
  .lead{font-size:17px; color:var(--ink-soft); max-width:480px; font-weight:400;}
  .section-plum .lead{color:rgba(234,227,223,.75);}

  /* ===== ABOUT ===== */
  .about-grid{display:block;}
  .about-grid p{color:var(--ink-soft); margin-bottom:20px; font-size:16px; max-width:760px;}
  .quote-block{
    border-right:3px solid var(--gold); padding-right:26px; margin:34px 0; font-family:'El Messiri',sans-serif;
    font-size:22px; font-weight:700; color:var(--plum); line-height:1.55;
  }
  .vm-cards{display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; max-width:900px;}
  .vm-card{background:var(--paper); border:1px solid var(--line); padding:32px 28px; border-radius:4px;}
  .vm-card h4{font-size:18px; margin-bottom:12px;}
  .vm-card p{font-size:14.5px; color:var(--ink-soft); margin:0;}

  /* ===== SERVICES ===== */
  .services-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  .service-card{background:var(--paper); padding:44px 30px; transition:.35s var(--ease);}
  .service-card:hover{background:var(--plum); color:var(--cream);}
  .service-card:hover h4, .service-card:hover .num{color:var(--gold-light);}
  .service-card .num{font-family:'El Messiri'; font-weight:700; font-size:14px; color:var(--gold); margin-bottom:26px; display:block;}
  .service-card h4{font-size:19px; margin-bottom:12px; transition:.35s;}
  .service-card p{font-size:14px; color:var(--ink-soft); transition:.35s;}
  .service-card:hover p{color:rgba(234,227,223,.75);}

  /* ===== PORTFOLIO (editorial cards) ===== */
  .editorial-card{cursor:pointer; margin-bottom:14px; position:relative;}
  .editorial-media{border-radius:4px; aspect-ratio:16/9; position:relative; overflow:hidden;}
  .editorial-media img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
  .editorial-card:hover .editorial-media img{transform:scale(1.05);}
  .editorial-info{
    display:grid; grid-template-columns:auto 1fr auto; align-items:end; gap:40px; padding:28px 4px 46px;
    border-bottom:1px solid var(--line);
  }
  .editorial-index{font-family:'El Messiri'; font-weight:700; color:var(--gold); letter-spacing:.05em; font-size:15px;}
  .editorial-meta h3{margin-bottom:10px; font-size:clamp(22px,2.6vw,30px);}
  .editorial-meta .sub{display:flex; flex-wrap:wrap; gap:22px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.05em; font-size:12.5px;}
  .editorial-cta{
    display:flex; align-items:center; gap:10px; font-family:'El Messiri'; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
    color:var(--ink); white-space:nowrap; font-size:12px;
  }
  .editorial-cta .arrow{display:inline-block; transition:transform .4s var(--ease);}
  .editorial-card:hover .editorial-cta .arrow{transform:translateX(-6px);}

  /* ===== PROJECT DETAIL OVERLAY ===== */
  .project-overlay{
    position:fixed; inset:0; background:var(--paper); z-index:2500; overflow-y:auto; display:none;
  }
  .project-overlay.open{display:block;}
  .pd-hero{height:72vh; position:relative; overflow:hidden;}
  .pd-hero img{width:100%; height:100%; object-fit:cover; display:block;}
  .pd-hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(30,14,22,.35) 0%, rgba(30,14,22,.1) 40%, rgba(30,14,22,.7) 100%);}
  .pd-close{
    position:fixed; top:30px; left:30px; z-index:20; width:48px; height:48px; border-radius:50%;
    background:rgba(30,14,22,.35); border:1px solid rgba(247,244,239,.5); color:var(--cream);
    display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(6px); font-size:20px;
  }
  .pd-hero-info{position:absolute; bottom:56px; left:0; right:0; text-align:center; color:var(--cream); padding:0 24px;}
  .pd-hero-info .eyebrow{justify-content:center; color:var(--gold-light);}
  .pd-hero-info h1{color:var(--cream); font-size:clamp(30px,5vw,58px); margin:0;}
  .pd-meta-bar{
    display:grid; grid-template-columns:repeat(3,1fr); gap:34px; max-width:1080px; margin:0 auto; padding:50px 32px;
    border-bottom:1px solid var(--line); text-align:center;
  }
  .pd-meta-bar div span{display:block; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:8px;}
  .pd-meta-bar div b{font-family:'El Messiri'; font-size:18px; font-weight:700; color:var(--plum);}
  .pd-desc{max-width:720px; margin:60px auto 0; padding:0 32px; text-align:center;}
  .pd-desc p{color:var(--ink-soft); font-size:17px; font-weight:300; line-height:1.9;}
  .pd-masonry{columns:2; column-gap:16px; max-width:1080px; margin:0 auto; padding:60px 32px 100px;}
  .pd-masonry img{width:100%; border-radius:4px; margin-bottom:16px; break-inside:avoid; cursor:zoom-in; display:block;}
  @media(max-width:760px){
    .pd-masonry{columns:1;}
    .pd-meta-bar{grid-template-columns:1fr; gap:20px;}
    .editorial-info{grid-template-columns:1fr; gap:16px;}
  }

  /* ===== EXPLORE MORE TILE (after last portfolio card) ===== */
  .explore-more-tile{
    display:flex; align-items:center; justify-content:space-between; gap:24px; padding:38px 4px;
    cursor:pointer; margin-top:6px;
  }
  .explore-more-tile .em-text h3{font-size:clamp(20px,2.4vw,26px); margin-bottom:6px;}
  .explore-more-tile .em-text p{color:var(--ink-soft); font-size:14.5px;}
  .explore-more-tile .em-arrow{
    flex:none; width:56px; height:56px; border-radius:50%; border:1px solid var(--line); display:flex;
    align-items:center; justify-content:center; font-size:20px; color:var(--plum); transition:.4s var(--ease);
  }
  .explore-more-tile:hover .em-arrow{background:var(--plum); color:var(--cream); transform:translateX(-6px); border-color:var(--plum);}

  /* ===== PAGE HERO (subpages: all-portfolio / all-blog) ===== */
  .page-hero{
    background:var(--plum); padding:180px 0 70px; position:relative; overflow:hidden;
  }
  .page-hero .wrap{position:relative; z-index:2;}
  .page-hero .eyebrow{color:var(--gold-light); justify-content:flex-start;}
  .page-hero h1{color:var(--cream); font-size:clamp(34px,5vw,58px); margin-top:14px;}
  .page-hero .back-home{
    display:inline-flex; align-items:center; gap:8px; color:rgba(234,227,223,.7); font-size:13.5px; margin-top:24px;
  }
  .page-hero .back-home:hover{color:var(--gold-light);}

  /* ===== BLOG — compact homepage cards ===== */
  .blog-compact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .blog-compact-card{
    background:var(--paper); border:1px solid var(--line); border-radius:6px; padding:32px 28px; cursor:pointer;
    transition:.4s var(--ease); display:flex; flex-direction:column;
  }
  .blog-compact-card:hover{border-color:var(--gold); transform:translateY(-4px); box-shadow:0 16px 36px -18px rgba(51,23,41,.3);}
  .blog-compact-card .bc-kicker{color:var(--gold); font-size:12px; letter-spacing:.15em; text-transform:uppercase; font-weight:600; margin-bottom:12px;}
  .blog-compact-card h3{font-size:19px; margin-bottom:12px; line-height:1.4;}
  .blog-compact-card p{color:var(--ink-soft); font-size:14px; margin-bottom:20px; flex:1;}
  .blog-compact-card .bc-more{
    display:flex; align-items:center; gap:8px; font-family:'El Messiri'; font-weight:600; font-size:13px; color:var(--plum);
  }
  .blog-compact-card:hover .bc-more{color:var(--gold);}
  .blog-see-all{text-align:center; margin-top:40px;}
  .blog-see-all a{
    display:inline-flex; align-items:center; gap:10px; font-family:'El Messiri'; font-weight:600; font-size:14.5px;
    color:var(--plum); border-bottom:1px solid var(--gold); padding-bottom:4px; transition:.3s;
  }
  .blog-see-all a:hover{color:var(--gold);}

  /* ===== BLOG — all posts page grid ===== */
  .blog-all-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}

  /* ===== POST DETAIL OVERLAY ===== */
  .post-overlay{position:fixed; inset:0; background:var(--paper); z-index:2500; overflow-y:auto; display:none;}
  .post-overlay.open{display:block;}
  .po-hero{background:var(--plum); padding:170px 0 70px; text-align:center;}
  .po-hero .eyebrow{justify-content:center; color:var(--gold-light);}
  .po-hero h1{color:var(--cream); font-size:clamp(28px,4.4vw,48px); margin-top:16px; max-width:820px; margin-left:auto; margin-right:auto;}
  .po-cover{max-width:900px; margin:-50px auto 0; padding:0 24px; position:relative; z-index:2;}
  .po-cover img{width:100%; border-radius:6px; display:block;}
  .po-body{max-width:720px; margin:0 auto; padding:70px 24px 110px;}
  .po-body p{color:var(--ink-soft); font-size:17px; line-height:1.9; margin-bottom:22px; font-weight:300;}
  @media(max-width:760px){
    .blog-compact-grid, .blog-all-grid{grid-template-columns:1fr;}
    .page-hero{padding:150px 0 50px;}
    .explore-more-tile{flex-direction:column; align-items:flex-start; text-align:right;}
  }

  /* ===== PROCESS (timeline, luxury-style) ===== */
  .timeline{max-width:760px; margin:0 auto; position:relative;}
  .timeline-line{
    position:absolute; top:0; bottom:0; right:29px; width:1px; background:rgba(234,227,223,.18); transform-origin:top;
  }
  .timeline-line-fill{
    position:absolute; top:0; right:0; width:100%; height:0%; background:var(--gold); transform-origin:top; transition:height .1s linear;
  }
  .tl-step{position:relative; padding:0 90px 90px 0;}
  .tl-step:last-child{padding-bottom:0;}
  .tl-dot{
    position:absolute; top:4px; right:14px; width:30px; height:30px; border-radius:50%; border:1px solid var(--gold);
    background:var(--plum-deep); color:var(--gold-light); display:flex; align-items:center; justify-content:center;
    font-family:'El Messiri'; font-weight:700; font-size:12px;
  }
  .tl-step h4{color:var(--cream); font-size:22px; margin-bottom:10px; font-weight:700;}
  .tl-step p{color:rgba(247,244,239,.62); max-width:520px; font-size:15px; font-weight:300;}
  .process-note{margin-top:46px; font-family:'El Messiri'; font-size:19px; font-weight:700; color:var(--gold-light); text-align:center; line-height:1.6;}

  /* ===== BEFORE / AFTER ===== */
  .ba-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .ba-card{position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/5; cursor:default;}
  .ba-card .ba-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .7s var(--ease);}
  .ba-card .ba-after{opacity:0;}
  .ba-card:hover .ba-after{opacity:1;}
  .ba-card .ba-label{
    position:absolute; top:18px; right:18px; z-index:2; font-family:'El Messiri'; font-weight:700; font-size:12px; letter-spacing:.08em;
    background:rgba(34,15,23,.55); color:var(--cream); padding:7px 16px; border-radius:20px; backdrop-filter:blur(4px);
    transition:opacity .4s;
  }
  .ba-card .ba-label.label-after{opacity:0;}
  .ba-card:hover .ba-label.label-before{opacity:0;}
  .ba-card:hover .ba-label.label-after{opacity:1;}
  .ba-card::before{
    content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(34,15,23,.6) 100%); z-index:1; pointer-events:none;
  }
  .ba-card .ba-cat{position:absolute; bottom:18px; right:18px; left:18px; z-index:2; color:var(--cream); font-family:'El Messiri'; font-weight:700; font-size:16px;}
  .ba-hint{text-align:center; color:var(--ink-soft); font-size:14px; margin-top:28px;}

  /* ===== BLOG (قصتنا) ===== */
  .blog-story{
    background:var(--plum); color:var(--cream); border-radius:6px; padding:56px; position:relative; overflow:hidden;
    margin-bottom:24px;
  }
  .blog-story::after{
    content:'"'; position:absolute; font-family:'El Messiri'; font-size:220px; font-weight:700; color:rgba(234,227,223,.05);
    top:-50px; left:20px; line-height:1;
  }
  .blog-story .blog-kicker{color:var(--gold-light); font-size:13px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:10px; display:block;}
  .blog-story h3{color:var(--cream); font-size:26px; margin-bottom:22px;}
  .blog-story p{color:rgba(234,227,223,.85); font-size:15.5px; margin-bottom:16px; position:relative; z-index:2;}
  .founder{display:flex; align-items:center; gap:16px; margin-top:30px; padding-top:26px; border-top:1px solid rgba(234,227,223,.15);}
  .founder .initial{
    width:52px; height:52px; border-radius:50%; background:var(--gold); color:var(--plum-deep); display:flex; align-items:center;
    justify-content:center; font-family:'El Messiri'; font-weight:700; font-size:20px; flex:none;
  }
  .founder b{display:block; font-family:'El Messiri'; font-size:16px; color:var(--cream);}
  .founder span{font-size:13px; color:var(--gold-light);}
  .blog-topics{margin-top:36px;}
  .blog-topics h4{font-size:14px; color:var(--ink-soft); margin-bottom:16px; font-weight:700;}
  .tag-row{display:flex; gap:10px; flex-wrap:wrap;}
  .tag-chip{font-size:12.5px; font-family:'El Messiri'; font-weight:700; background:var(--cream-warm); color:var(--plum); padding:8px 16px; border-radius:20px;}

  /* ===== FAQ ===== */
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    display:flex; justify-content:space-between; align-items:center; padding:26px 0; cursor:pointer;
    font-family:'El Messiri'; font-weight:700; font-size:16.5px; color:var(--plum); gap:20px;
  }
  .faq-q .plus{font-size:22px; color:var(--gold); transition:.35s var(--ease); flex:none;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .4s var(--ease);}
  .faq-a p{padding-bottom:26px; color:var(--ink-soft); font-size:15px; max-width:760px;}

  /* ===== CONTACT ===== */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  .contact-list{display:flex; flex-direction:column; gap:26px; margin-top:34px;}
  .contact-list a, .contact-list .item{
    display:flex; align-items:center; gap:18px; font-family:'El Messiri'; font-weight:600; font-size:16px; color:var(--cream);
  }
  .contact-list .ic{
    width:46px; height:46px; border:1px solid rgba(234,227,223,.3); border-radius:50%; display:flex; align-items:center;
    justify-content:center; flex:none; color:var(--gold-light);
  }
  .social-row{display:flex; gap:14px; margin-top:36px;}
  .social-row a{
    width:44px; height:44px; border-radius:50%; border:1px solid rgba(234,227,223,.3); display:flex; align-items:center;
    justify-content:center; color:var(--cream); transition:.3s;
  }
  .social-row a:hover{background:var(--gold); border-color:var(--gold);}
  .map-embed{
    margin-top:34px; border-radius:8px; overflow:hidden; border:1px solid rgba(234,227,223,.18); position:relative;
    aspect-ratio:16/9; background:var(--plum-deep);
  }
  .map-embed iframe{width:100%; height:100%; border:0; display:block; filter:grayscale(.15) contrast(1.05);}

  /* ===== WHATSAPP FLOAT BUTTON ===== */
  .wa-float{
    position:fixed; bottom:26px; right:26px; z-index:3100; width:58px; height:58px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -6px rgba(20,9,14,.35);
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
  }
  .wa-float:hover{transform:translateY(-4px) scale(1.06); box-shadow:0 12px 24px -6px rgba(20,9,14,.4);}
  .wa-float svg{width:29px; height:29px;}
  @media(max-width:640px){
    .wa-float{width:52px; height:52px; bottom:18px; right:18px;}
    .wa-float svg{width:26px; height:26px;}
  }
  .contact-form{background:rgba(234,227,223,.05); border:1px solid rgba(234,227,223,.15); border-radius:8px; padding:44px;}
  .contact-form h3{color:var(--cream); font-size:22px; margin-bottom:6px;}
  .contact-form p{color:rgba(234,227,223,.65); font-size:14px; margin-bottom:28px;}
  .field{margin-bottom:18px;}
  .field label{display:block; font-family:'El Messiri'; font-size:13px; font-weight:600; color:var(--gold-light); margin-bottom:8px;}
  .field input, .field textarea, .field select{
    width:100%; background:rgba(234,227,223,.06); border:1px solid rgba(234,227,223,.2); color:var(--cream);
    padding:14px 16px; border-radius:3px; font-family:'Readex Pro'; font-size:14.5px;
  }
  .field select{ cursor:pointer; color-scheme: light; }
  .field select:focus{ outline:2px solid var(--cream-warm); outline-offset:2px; }
  .field select option{ background:var(--cream-warm); color:var(--plum); }
  .field textarea{resize:vertical; min-height:90px;}
  .field input::placeholder, .field textarea::placeholder{color:rgba(234,227,223,.4);}

  /* ===== FOOTER ===== */
  footer{background:var(--plum-deep); color:rgba(234,227,223,.55); padding:44px 0; font-size:13.5px;}
  .foot-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;}
  .foot-row .fname{font-family:'El Messiri'; color:var(--cream); font-weight:700;}

  /* ===== LIGHTBOX ===== */
  .lightbox{
    position:fixed; inset:0; background:rgba(20,9,14,.94); z-index:3000; display:none; align-items:center; justify-content:center;
    padding:40px;
  }
  .lightbox.open{display:flex;}
  .lightbox img{max-width:90vw; max-height:85vh; border-radius:4px; box-shadow:0 40px 80px rgba(0,0,0,.5);}
  .lightbox-close{position:absolute; top:30px; left:30px; color:var(--cream); font-size:32px; cursor:pointer; font-family:'El Messiri';}
  .lightbox-nav{position:absolute; top:50%; transform:translateY(-50%); color:var(--cream); font-size:30px; cursor:pointer; padding:14px; opacity:.7;}
  .lightbox-nav:hover{opacity:1;}
  .lb-prev{right:30px;} .lb-next{left:30px;}

  /* reveal on scroll */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.visible{opacity:1; transform:translateY(0);}

  @media(max-width:980px){
    .navlinks, .nav-cta{display:none;}
    .burger{display:flex;}
    .contact-grid{grid-template-columns:1fr; gap:40px;}
    .vm-cards{grid-template-columns:1fr;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .ba-grid{grid-template-columns:1fr;}
  }
  @media(max-width:640px){
    .wrap{padding:0 20px;}
    .logo-mark .logo-img{height:60px;}
    header.scrolled .logo-mark .logo-img{height:48px;}
    section{padding:80px 0;}
    .services-grid{grid-template-columns:1fr;}
    .head-row{align-items:flex-start;}
  }
  @media (prefers-reduced-motion: reduce){
    *{transition:none !important; animation:none !important; scroll-behavior:auto !important;}
  }

  /* mobile nav drawer */
  .mobile-drawer{
    position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; background:var(--plum); z-index:2000;
    transform:translateX(100%); transition:transform .4s var(--ease); padding:100px 32px 32px; display:flex; flex-direction:column; gap:26px;
  }
  .mobile-drawer.open{transform:translateX(0);}
  .mobile-drawer a{font-family:'El Messiri'; color:var(--cream); font-size:18px; font-weight:700;}
  .drawer-overlay{position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1900; display:none;}
  .drawer-overlay.open{display:block;}