*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:#071014;color:#f4f1e9;line-height:1.8;overflow-x:hidden}.site-bg{position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(214,162,58,.16),transparent 28%),radial-gradient(circle at 85% 20%,rgba(84,123,132,.16),transparent 26%),linear-gradient(135deg,#05090b,#0a1518 48%,#030506);z-index:-3}.site-bg:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 95%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px clamp(20px,5vw,70px);background:rgba(4,10,12,.78);backdrop-filter:blur(16px);border-bottom:1px solid rgba(214,162,58,.22)}.brand{display:flex;align-items:center;gap:12px;direction:ltr}.brand img{width:62px;height:62px;object-fit:contain}.brand strong{display:block;letter-spacing:6px;color:#d6a23a;font-size:22px;line-height:1}.brand em{display:block;font-style:normal;text-transform:uppercase;color:#fff;font-size:11px;letter-spacing:3px}.nav{display:flex;gap:24px;color:#d8d2c5;align-items:center}.nav a{position:relative;font-size:15px;white-space:nowrap}.nav a:after{content:"";position:absolute;right:0;bottom:-6px;width:0;height:2px;background:#d6a23a;transition:.3s}.nav a:hover:after{width:100%}.lang-switcher{display:flex;gap:6px;direction:ltr}.lang-switcher button{border:1px solid rgba(214,162,58,.38);background:rgba(255,255,255,.05);color:#f3ead9;border-radius:999px;padding:8px 11px;cursor:pointer;font-weight:800}.lang-switcher button.active{background:linear-gradient(135deg,#d6a23a,#8e5f19);color:#071014}.menu-btn{display:none;background:none;border:0;gap:5px;flex-direction:column}.menu-btn span{width:28px;height:2px;background:#d6a23a}.section{padding:86px clamp(20px,5vw,76px)}.hero{min-height:86vh;display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}.eyebrow{color:#d6a23a;font-weight:700;letter-spacing:.5px;margin:0 0 8px}.hero h1,.section h2{font-size:clamp(36px,6vw,80px);line-height:1.1;margin:0 0 18px}.hero h1 span,.section h2 span{color:#d6a23a}.lead,.section-head p,.panel p,.experience p,.team-text p,.cta p{color:#d9d3c8;font-size:18px;max-width:760px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:999px;font-weight:700;border:1px solid rgba(214,162,58,.45);transition:.25s}.btn.primary{background:linear-gradient(135deg,#d6a23a,#8e5f19);color:#071014}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(214,162,58,.25)}.btn.secondary{color:#d6a23a;background:rgba(255,255,255,.04)}.trust-row{display:flex;gap:18px;align-items:center;color:#d6a23a;text-transform:uppercase;letter-spacing:5px;font-size:12px}.trust-row i{width:5px;height:5px;border-radius:50%;background:#d6a23a}.hero-card{display:grid;gap:18px}.glass-card{border:1px solid rgba(214,162,58,.28);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));box-shadow:0 25px 80px rgba(0,0,0,.35);border-radius:36px;padding:18px;position:relative;overflow:hidden}.glass-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(214,162,58,.13),transparent);transform:translateX(100%);animation:shine 6s infinite}.logo-card img{width:min(430px,86%);margin:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats div,.panel,.service-card,.contact-card,.contact-form,.work-item,.experience-card,.cta-box{border:1px solid rgba(214,162,58,.24);background:rgba(7,16,20,.72);border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.stats div{padding:18px;text-align:center}.stats strong{display:block;color:#d6a23a;font-size:28px}.stats span{font-size:13px;color:#d9d3c8}.section-head{max-width:900px;margin-bottom:36px}.section-head h2{font-size:clamp(30px,4vw,54px)}.grid.two{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.panel{padding:28px}.panel h3,.service-card h3,.contact-card h3{color:#d6a23a;margin-top:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%}.service-card img{height:240px;width:100%;object-fit:cover;object-position:center center;display:block;border-bottom:1px solid rgba(214,162,58,.18);background:#091215}.service-card div{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}.icon{display:inline-flex;width:44px;height:44px;border:1px solid rgba(214,162,58,.55);border-radius:14px;align-items:center;justify-content:center;color:#d6a23a;margin-bottom:12px;font-weight:900}.service-card p,.contact-card p,.work-item{color:#d9d3c8}.service-card h3{min-height:58px;display:flex;align-items:flex-end}.service-card p{margin:0}.experience{padding-top:30px}.experience-card{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:42px;background-image:linear-gradient(100deg,rgba(214,162,58,.12),rgba(7,16,20,.8)),url("assets/team.jpg?v=luxury-v2-final-20260618");background-size:cover;background-position:center;position:relative;overflow:hidden}.experience-card:before{content:"";position:absolute;inset:0;background:rgba(3,6,8,.72)}.experience-card>*{position:relative}.check-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.check-list li{padding:12px 16px;border:1px solid rgba(214,162,58,.25);border-radius:16px;background:rgba(255,255,255,.05)}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.work-item{padding:28px;min-height:150px;display:flex;align-items:end;font-weight:700;color:#fff;background:linear-gradient(160deg,rgba(214,162,58,.14),rgba(255,255,255,.03))}.team{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.team-photo{border-radius:32px;overflow:hidden;border:1px solid rgba(214,162,58,.25);box-shadow:0 30px 90px rgba(0,0,0,.35)}.team-photo img{width:100%;height:520px;object-fit:cover}.team-text h2{font-size:clamp(32px,4vw,56px);margin:0 0 14px}.cta-box{text-align:center;padding:54px;background:linear-gradient(135deg,rgba(214,162,58,.18),rgba(255,255,255,.03))}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}.contact-card,.contact-form{padding:28px}.contact-card a,.contact-card p{display:block;margin:12px 0;color:#f2eadb;direction:ltr;text-align:right}.contact-form{display:grid;gap:14px}input,select,textarea{width:100%;border:1px solid rgba(214,162,58,.22);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:14px 16px;font-family:inherit;font-size:15px}select option{background:#071014}.whatsapp{position:fixed;left:22px;bottom:22px;z-index:30;background:#25d366;color:#06100a;border-radius:999px;padding:12px 18px;font-weight:800;box-shadow:0 12px 35px rgba(0,0,0,.35)}.footer{padding:34px;text-align:center;border-top:1px solid rgba(214,162,58,.2);color:#cfc7b8}.footer img{width:120px;margin:0 auto 12px}@keyframes shine{0%,40%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:translateY(0)}html[dir="ltr"] body{text-align:left}html[dir="ltr"] .nav a:after{left:0;right:auto}html[dir="ltr"] .contact-card a,html[dir="ltr"] .contact-card p{text-align:left}html[dir="ltr"] .whatsapp{right:22px;left:auto}html[dir="ltr"] .hero-content,html[dir="ltr"] .section-head,html[dir="ltr"] .panel,html[dir="ltr"] .service-card,html[dir="ltr"] .experience-card,html[dir="ltr"] .team-text,html[dir="ltr"] .contact-card,html[dir="ltr"] .contact-form{direction:ltr}html[dir="rtl"] .hero-content,html[dir="rtl"] .section-head,html[dir="rtl"] .panel,html[dir="rtl"] .service-card,html[dir="rtl"] .experience-card,html[dir="rtl"] .team-text,html[dir="rtl"] .contact-card,html[dir="rtl"] .contact-form{direction:rtl}@media(max-width:1100px){.header{flex-wrap:wrap}.lang-switcher{order:2}.nav{order:3;width:100%;justify-content:center}}@media(max-width:980px){.menu-btn{display:flex}.nav{position:absolute;left:20px;right:20px;top:88px;display:none;flex-direction:column;background:#071014;border:1px solid rgba(214,162,58,.2);border-radius:22px;padding:18px}.nav.open{display:flex}.hero,.grid.two,.experience-card,.team,.contact-grid{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.works-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.section{padding:62px 18px}.brand img{width:50px;height:50px}.brand strong{font-size:18px}.service-grid,.works-grid,.stats{grid-template-columns:1fr}.hero h1{font-size:44px}.trust-row{letter-spacing:2px}.service-card img{height:180px}.team-photo img{height:420px}.header{align-items:flex-start}.lang-switcher{margin-inline-start:auto}}

/* Visual consistency update */
.service-card:hover img{transform:scale(1.02);transition:transform .45s ease}
.service-card img{transition:transform .45s ease}
.whatsapp{padding:14px 18px;border-radius:999px;box-shadow:0 18px 35px rgba(0,0,0,.28);z-index:60;display:inline-flex;align-items:center;justify-content:center;min-width:110px;font-weight:700}
@media (max-width: 1100px){.service-card img{height:220px}}
@media (max-width: 700px){.service-card img{height:200px}.service-card h3{min-height:auto}}


/* ===== Luxury V2 enhancement ===== */
:root{
  --gold:#d6a23a;
  --gold-soft:#e5bd6a;
  --bg:#071014;
  --panel:rgba(8,18,24,.78);
}
body{
  background:#050b0e;
}
.site-bg{
  background:
    radial-gradient(circle at 18% 6%, rgba(214,162,58,.22), transparent 28%),
    radial-gradient(circle at 82% 15%, rgba(79,116,124,.22), transparent 24%),
    linear-gradient(135deg,#020507 0%,#071014 42%,#09181b 72%,#020406 100%);
}
.header{
  background:linear-gradient(180deg, rgba(3,8,10,.92), rgba(4,10,12,.78));
  box-shadow:0 18px 40px rgba(0,0,0,.24);
}
.nav a{font-size:15.5px}
.lang-switcher button{
  min-width:44px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.hero{
  min-height:92vh;
  gap:52px;
}
.hero::before{
  content:"";
  position:absolute;
  inset:auto auto 12% 5%;
  width:240px;
  height:240px;
  border:1px solid rgba(214,162,58,.14);
  border-radius:32px;
  transform:rotate(12deg);
  pointer-events:none;
  filter:blur(.2px);
}
.hero{position:relative}
.hero h1{letter-spacing:-1.2px}
.hero-content .lead{max-width:700px;color:#e7dfd2}
.glass-card{
  border-color:rgba(214,162,58,.34);
  background:
    linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),
    radial-gradient(circle at 30% 20%,rgba(214,162,58,.10),transparent 40%);
  box-shadow:0 28px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
}
.logo-card{
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:38px;
}
.logo-card::after{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(214,162,58,.12);
  border-radius:28px;
  pointer-events:none;
}
.logo-card img{
  width:min(460px,86%);
  filter:drop-shadow(0 28px 48px rgba(0,0,0,.42));
}
.stats div{
  background:linear-gradient(180deg, rgba(214,162,58,.12), rgba(255,255,255,.02));
  border:1px solid rgba(214,162,58,.24);
}
.panel,.service-card,.contact-card,.contact-form,.work-item,.experience-card,.cta-box{
  background:linear-gradient(180deg, rgba(8,18,24,.82), rgba(6,12,16,.78));
  border-color:rgba(214,162,58,.26);
}
.panel,.contact-card,.contact-form,.cta-box,.experience-card{
  box-shadow:0 20px 60px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.02);
}
.section-head{margin-bottom:42px}
.service-grid{gap:26px}
.service-card{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
  box-shadow:0 20px 55px rgba(0,0,0,.28);
}
.service-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 75px rgba(0,0,0,.38);
  border-color:rgba(214,162,58,.42);
}
.service-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, transparent 55%, rgba(4,10,12,.10) 100%);
  pointer-events:none;
}
.service-card::after{
  position:absolute;
  top:18px;
  left:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:16px;
  border:1px solid rgba(214,162,58,.36);
  background:rgba(4,10,12,.56);
  color:var(--gold-soft);
  font-weight:800;
  letter-spacing:1px;
  font-size:15px;
  backdrop-filter:blur(8px);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.service-card:nth-child(1)::after{content:"01"}
.service-card:nth-child(2)::after{content:"02"}
.service-card:nth-child(3)::after{content:"03"}
.service-card:nth-child(4)::after{content:"04"}
.service-card:nth-child(5)::after{content:"05"}
.service-card:nth-child(6)::after{content:"06"}
.service-card img{
  height:265px !important;
  border-bottom:1px solid rgba(214,162,58,.12);
  filter:saturate(1.03) contrast(1.02);
}
.service-card div{
  position:relative;
  gap:10px;
  padding:24px 24px 26px;
}
.icon{
  width:48px;
  height:48px;
  border-radius:15px;
  background:linear-gradient(180deg, rgba(214,162,58,.12), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.service-card h3{
  font-size:26px;
  line-height:1.25;
  margin-bottom:0;
}
.service-card p{
  font-size:17px;
  line-height:1.75;
  color:#e1d9cc;
}
.experience-card{
  border-radius:30px;
  background-image:linear-gradient(102deg,rgba(5,11,14,.82),rgba(5,11,14,.68)), url("assets/team.jpg?v=luxury-v2-final-20260618");
  background-position:center;
}
.check-list li{
  background:linear-gradient(180deg, rgba(214,162,58,.09), rgba(255,255,255,.02));
}
.works-grid{gap:18px}
.work-item{
  min-height:170px;
  border-radius:24px;
  position:relative;
  overflow:hidden;
}
.work-item::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--gold),transparent 70%);
}
.team-photo{
  border-radius:34px;
  position:relative;
}
.team-photo::after{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(214,162,58,.15);
  border-radius:24px;
  pointer-events:none;
}
.team-photo img{height:560px}
.contact-card a,.contact-card p{line-height:1.9}
.contact-form input,.contact-form select,.contact-form textarea,
input,select,textarea{
  background:rgba(255,255,255,.05);
  border-color:rgba(214,162,58,.20);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:rgba(214,162,58,.55);
  box-shadow:0 0 0 3px rgba(214,162,58,.08);
}
.whatsapp{
  background:linear-gradient(135deg,#2fda72,#1ea650);
  color:#04120a;
  font-size:17px;
  min-width:128px;
}
.whatsapp:hover{transform:translateY(-2px)}
.footer{
  background:linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
}
@media (max-width:1100px){
  .service-card img{height:240px !important}
  .logo-card{min-height:420px}
}
@media (max-width:640px){
  .service-card img{height:210px !important}
  .service-card h3{font-size:22px}
  .service-card p{font-size:16px}
  .logo-card{min-height:320px}
}


/* ===== Final polish: hero balance + WhatsApp position ===== */
.hero{min-height:86vh;align-items:center}
.hero-content{padding-block:18px 12px}
.hero-card{align-self:center}
.logo-card{min-height:460px;padding:26px 24px 18px}
.logo-card img{width:min(390px,74%);max-height:470px;object-fit:contain}
.stats{margin-top:18px}
.whatsapp{right:24px!important;left:auto!important;bottom:24px!important;min-width:auto;padding:14px 20px;border-radius:999px;font-size:16px;box-shadow:0 16px 36px rgba(0,0,0,.34)}
@media (max-width:1100px){.hero{min-height:auto}.logo-card{min-height:400px}.logo-card img{width:min(340px,76%);max-height:390px}}
@media (max-width:640px){.hero{padding-top:26px}.logo-card{min-height:290px;padding:18px}.logo-card img{width:min(260px,80%);max-height:270px}.whatsapp{right:14px!important;bottom:14px!important;padding:12px 16px;font-size:15px}}


/* ===== Active contact form ===== */
.hp-field{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.form-status{
  display:none;
  padding:14px 16px;
  border-radius:14px;
  font-weight:700;
  line-height:1.6;
}
.form-status.success{
  display:block;
  background:rgba(47,218,114,.12);
  border:1px solid rgba(47,218,114,.35);
  color:#aaf2c4;
}
.form-status.error{
  display:block;
  background:rgba(255,87,87,.12);
  border:1px solid rgba(255,87,87,.35);
  color:#ffc3c3;
}


/* ===== Final professional polish: Hero logo + WhatsApp circle ===== */
.hero {
  min-height: 84vh;
  align-items: center;
}
.logo-card {
  min-height: 440px !important;
  padding: 34px 26px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: visible !important;
}
.logo-card img {
  width: min(360px, 72%) !important;
  max-height: 380px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  transform: none !important;
}
.hero-card {
  align-self: center !important;
}
.stats {
  margin-top: 18px !important;
}
.whatsapp {
  position: fixed !important;
  right: 24px !important;
  left: auto !important;
  bottom: 24px !important;
  z-index: 9999 !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #25D366 url("assets/whatsapp.svg?v=final-professional-20260618") center/62px 62px no-repeat !important;
  color: transparent !important;
  font-size: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.35) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  display: block !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
}
.whatsapp span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}
.whatsapp:hover {
  transform: translateY(-4px) scale(1.03) !important;
  box-shadow: 0 20px 42px rgba(0,0,0,.42) !important;
}
html[dir="ltr"] .whatsapp,
html[dir="rtl"] .whatsapp {
  right: 24px !important;
  left: auto !important;
}
@media (max-width: 1100px) {
  .hero {
    min-height: auto;
  }
  .logo-card {
    min-height: 370px !important;
  }
  .logo-card img {
    width: min(320px, 76%) !important;
    max-height: 330px !important;
  }
}
@media (max-width: 640px) {
  .logo-card {
    min-height: 285px !important;
    padding: 24px 18px !important;
  }
  .logo-card img {
    width: min(245px, 82%) !important;
    max-height: 255px !important;
  }
  .whatsapp {
    right: 16px !important;
    bottom: 16px !important;
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    background-size: 56px 56px !important;
  }
}
/* HERO PHOTO - Residence Marrakech */
.hero-photo-card {
  padding: 14px !important;
  overflow: hidden !important;
  border-radius: 34px !important;
  min-height: auto !important;
}

.hero-photo-card img {
  width: 100% !important;
  height: 420px !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 24px !important;
}

/* HERO STATS */
.stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: 22px !important;
}

.stats div {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(212, 163, 57, 0.35) !important;
  border-radius: 22px !important;
  padding: 22px 16px !important;
  text-align: center !important;
}

.stats strong {
  display: block !important;
  color: #d6a032 !important;
  font-size: 34px !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
}

.stats span {
  display: block !important;
  color: #f5f2ea !important;
  font-size: 15px !important;
}

/* MOBILE */
@media (max-width: 768px) {
  .hero-photo-card img {
    height: 300px !important;
  }

  .stats {
    grid-template-columns: 1fr !important;
  }
}