{"id":1750,"date":"2026-09-06T20:03:14","date_gmt":"2026-09-06T20:03:14","guid":{"rendered":"https:\/\/maroczain.com\/couture.maroczain.com\/?page_id=1750"},"modified":"2026-09-06T22:57:11","modified_gmt":"2026-09-06T22:57:11","slug":"caftan-haute-couture","status":"publish","type":"page","link":"https:\/\/maroczain.com\/couture.maroczain.com\/caftan-haute-couture\/","title":{"rendered":"Caftan Haute Couture"},"content":{"rendered":"\n<!-- ============================================================\n MZA ACADEMY\n CAFTAN MAROCAIN & HAUTE COUTURE\n COLLECTION ROYAL PRESTIGE\n PAGE COMPL\u00c8TE WORDPRESS\n============================================================ -->\n\n<div id=\"mza-caftan-royal\">\n\n<style>\n#mza-caftan-royal,\n#mza-caftan-royal *{box-sizing:border-box}\n\n#mza-caftan-royal{\n  --black:#11100f;\n  --black2:#1b1815;\n  --green:#063a2d;\n  --green2:#0c5441;\n  --gold:#c6a15a;\n  --gold2:#ecd89d;\n  --ivory:#f7f2e8;\n  --ivory2:#eee4d4;\n  --wine:#681e2c;\n  --grey:#746f68;\n  --line:#ded0b3;\n  --white:#fff;\n\n  width:100%;\n  overflow:hidden;\n  background:var(--ivory);\n  color:#181613;\n  font-family:Arial,Helvetica,sans-serif;\n}\n\n#mza-caftan-royal img{\n  width:100%;\n  display:block;\n}\n\n#mza-caftan-royal button,\n#mza-caftan-royal input{\n  font:inherit;\n}\n\n#mza-caftan-royal button{cursor:pointer}\n\n#mza-caftan-royal .wrap{\n  width:min(1280px,calc(100% - 40px));\n  margin:auto;\n}\n\n\/* ============================================================\n HERO\n============================================================ *\/\n\n#mza-caftan-royal .hero{\n  min-height:100vh;\n  position:relative;\n  overflow:hidden;\n  display:flex;\n  align-items:center;\n  color:#fff;\n  background:#111;\n}\n\n#mza-caftan-royal .hero-img{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  object-fit:cover;\n  object-position:center 18%;\n}\n\n#mza-caftan-royal .hero-overlay{\n  position:absolute;\n  inset:0;\n  background:\n    linear-gradient(90deg,\n      rgba(9,8,7,.91) 0%,\n      rgba(9,8,7,.68) 39%,\n      rgba(9,8,7,.18) 72%,\n      rgba(9,8,7,.38) 100%),\n    linear-gradient(180deg,\n      rgba(0,0,0,.18),\n      rgba(0,0,0,.55));\n}\n\n#mza-caftan-royal .royal-frame{\n  position:absolute;\n  inset:25px;\n  border:1px solid rgba(236,216,157,.45);\n  pointer-events:none;\n}\n\n#mza-caftan-royal .royal-frame:before{\n  content:\"\";\n  position:absolute;\n  inset:8px;\n  border:1px solid rgba(236,216,157,.12);\n}\n\n#mza-caftan-royal .hero-content{\n  position:relative;\n  z-index:2;\n  width:min(750px,90%);\n  margin-left:max(5vw,40px);\n  padding:90px 0;\n}\n\n#mza-caftan-royal .monogram{\n  width:94px;\n  height:94px;\n  border-radius:50%;\n  border:1px solid var(--gold);\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  color:var(--gold2);\n  font-family:Georgia,serif;\n  font-size:21px;\n  letter-spacing:5px;\n  margin-bottom:33px;\n  background:rgba(0,0,0,.24);\n  box-shadow:0 0 0 8px rgba(198,161,90,.06);\n}\n\n#mza-caftan-royal .kicker{\n  color:var(--gold2);\n  letter-spacing:4px;\n  font-size:10px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .hero h1{\n  margin:22px 0 25px;\n  font-family:Georgia,\"Times New Roman\",serif;\n  font-size:clamp(58px,8.5vw,113px);\n  font-weight:400;\n  line-height:.86;\n  letter-spacing:-4px;\n}\n\n#mza-caftan-royal .hero h1 em{\n  display:block;\n  margin-top:15px;\n  color:var(--gold2);\n  font-weight:400;\n}\n\n#mza-caftan-royal .hero-lead{\n  max-width:650px;\n  color:rgba(255,255,255,.78);\n  font-family:Georgia,serif;\n  font-size:18px;\n  line-height:1.8;\n}\n\n#mza-caftan-royal .hero-buttons{\n  display:flex;\n  flex-wrap:wrap;\n  gap:11px;\n  margin-top:36px;\n}\n\n#mza-caftan-royal .btn-gold,\n#mza-caftan-royal .btn-outline{\n  min-height:52px;\n  padding:14px 24px;\n  border:1px solid var(--gold);\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1.8px;\n}\n\n#mza-caftan-royal .btn-gold{\n  background:var(--gold);\n  color:#211a0d;\n}\n\n#mza-caftan-royal .btn-outline{\n  background:rgba(0,0,0,.18);\n  color:#fff;\n}\n\n\/* ============================================================\n NAV\n============================================================ *\/\n\n#mza-caftan-royal .couture-nav{\n  border-bottom:1px solid var(--line);\n  background:#fff;\n}\n\n#mza-caftan-royal .couture-nav .wrap{\n  display:flex;\n  justify-content:center;\n  gap:4px;\n  flex-wrap:wrap;\n  padding:10px 0;\n}\n\n#mza-caftan-royal .couture-nav button{\n  border:0;\n  background:transparent;\n  padding:12px 15px;\n  color:var(--green);\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1px;\n}\n\n\/* ============================================================\n MANIFESTE\n============================================================ *\/\n\n#mza-caftan-royal .manifesto{\n  padding:120px 0;\n  background:var(--ivory);\n}\n\n#mza-caftan-royal .manifesto-grid{\n  display:grid;\n  grid-template-columns:.85fr 1.15fr;\n  gap:90px;\n  align-items:center;\n}\n\n#mza-caftan-royal .manifesto-photo{\n  position:relative;\n}\n\n#mza-caftan-royal .manifesto-photo img{\n  height:700px;\n  object-fit:cover;\n}\n\n#mza-caftan-royal .manifesto-photo:before{\n  content:\"\";\n  position:absolute;\n  inset:-16px 16px 16px -16px;\n  border:1px solid var(--gold);\n  pointer-events:none;\n}\n\n#mza-caftan-royal .chapter{\n  color:rgba(198,161,90,.28);\n  font-family:Georgia,serif;\n  font-size:110px;\n  line-height:.8;\n}\n\n#mza-caftan-royal .eyebrow{\n  margin-top:28px;\n  color:#9f7a39;\n  letter-spacing:4px;\n  font-size:9px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .manifesto h2,\n#mza-caftan-royal .section-title{\n  font-family:Georgia,serif;\n  color:var(--green);\n  font-weight:400;\n}\n\n#mza-caftan-royal .manifesto h2{\n  font-size:clamp(42px,6vw,70px);\n  line-height:1;\n  margin:16px 0 30px;\n}\n\n#mza-caftan-royal .manifesto h2 em{\n  display:block;\n  color:var(--wine);\n  font-weight:400;\n}\n\n#mza-caftan-royal .manifesto p{\n  color:#6d675f;\n  line-height:1.9;\n  font-size:17px;\n}\n\n\/* ============================================================\n DETAIL CRAFT\n============================================================ *\/\n\n#mza-caftan-royal .craft{\n  background:#11100f;\n  color:#fff;\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  min-height:720px;\n}\n\n#mza-caftan-royal .craft-img{\n  min-height:720px;\n}\n\n#mza-caftan-royal .craft-img img{\n  height:100%;\n  min-height:720px;\n  object-fit:cover;\n}\n\n#mza-caftan-royal .craft-copy{\n  padding:90px;\n  display:flex;\n  flex-direction:column;\n  justify-content:center;\n}\n\n#mza-caftan-royal .craft-copy h2{\n  font-family:Georgia,serif;\n  font-size:clamp(44px,6vw,76px);\n  line-height:.95;\n  font-weight:400;\n  margin:18px 0;\n}\n\n#mza-caftan-royal .craft-copy h2 em{\n  display:block;\n  color:var(--gold2);\n}\n\n#mza-caftan-royal .craft-copy p{\n  color:rgba(255,255,255,.63);\n  line-height:1.8;\n}\n\n#mza-caftan-royal .craft-terms{\n  display:flex;\n  flex-wrap:wrap;\n  gap:8px;\n  margin-top:28px;\n}\n\n#mza-caftan-royal .craft-terms span{\n  border:1px solid rgba(236,216,157,.3);\n  padding:10px 13px;\n  color:var(--gold2);\n  font-size:9px;\n  letter-spacing:1.5px;\n}\n\n\/* ============================================================\n SILHOUETTES\n============================================================ *\/\n\n#mza-caftan-royal .silhouettes{\n  padding:120px 0;\n  background:#fff;\n}\n\n#mza-caftan-royal .section-head{\n  text-align:center;\n  max-width:840px;\n  margin:0 auto 65px;\n}\n\n#mza-caftan-royal .section-head .eyebrow{margin:0}\n\n#mza-caftan-royal .section-title{\n  font-size:clamp(45px,7vw,77px);\n  margin:15px 0;\n  line-height:.95;\n}\n\n#mza-caftan-royal .section-head p{\n  color:#746e66;\n  line-height:1.7;\n}\n\n#mza-caftan-royal .line{\n  width:75px;\n  height:1px;\n  background:var(--gold);\n  margin:27px auto;\n}\n\n#mza-caftan-royal .silhouette-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:22px;\n}\n\n#mza-caftan-royal .look{\n  position:relative;\n  min-height:720px;\n  overflow:hidden;\n  background:#111;\n}\n\n#mza-caftan-royal .look img{\n  height:720px;\n  object-fit:cover;\n  transition:transform .7s ease;\n}\n\n#mza-caftan-royal .look:hover img{\n  transform:scale(1.025);\n}\n\n#mza-caftan-royal .look:after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.82));\n}\n\n#mza-caftan-royal .look-copy{\n  position:absolute;\n  left:35px;\n  right:35px;\n  bottom:35px;\n  z-index:2;\n  color:#fff;\n}\n\n#mza-caftan-royal .look-no{\n  color:var(--gold2);\n  font-family:Georgia,serif;\n}\n\n#mza-caftan-royal .look h3{\n  margin:10px 0;\n  font-family:Georgia,serif;\n  font-size:38px;\n  font-weight:400;\n}\n\n#mza-caftan-royal .look p{\n  color:rgba(255,255,255,.65);\n}\n\n#mza-caftan-royal .look button{\n  padding:9px 0;\n  border:0;\n  border-bottom:1px solid var(--gold);\n  background:transparent;\n  color:#fff;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1.5px;\n}\n\n\/* ============================================================\n PROGRAMME\n============================================================ *\/\n\n#mza-caftan-royal .programme{\n  padding:115px 0;\n  background:#eee5d7;\n}\n\n#mza-caftan-royal .tools{\n  display:flex;\n  justify-content:space-between;\n  gap:15px;\n  flex-wrap:wrap;\n  align-items:center;\n  margin-bottom:32px;\n}\n\n#mza-caftan-royal #couture-search{\n  min-width:260px;\n  width:min(450px,100%);\n  padding:14px 16px;\n  border:1px solid #d5c39d;\n  background:#fff;\n  outline:none;\n}\n\n#mza-caftan-royal .filters{\n  display:flex;\n  gap:7px;\n  flex-wrap:wrap;\n}\n\n#mza-caftan-royal .filter{\n  border:1px solid #cfbc95;\n  background:#fff;\n  color:var(--green);\n  padding:11px 13px;\n  font-size:9px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .filter.active{\n  background:var(--green);\n  border-color:var(--green);\n  color:#fff;\n}\n\n\/* progress *\/\n\n#mza-caftan-royal .progress{\n  padding:25px;\n  background:var(--green);\n  color:#fff;\n  display:grid;\n  grid-template-columns:auto 1fr auto;\n  gap:20px;\n  align-items:center;\n  margin-bottom:45px;\n}\n\n#mza-caftan-royal .progress strong.big{\n  color:var(--gold2);\n  font-family:Georgia,serif;\n  font-size:42px;\n  font-weight:400;\n}\n\n#mza-caftan-royal .track{\n  height:7px;\n  background:rgba(255,255,255,.18);\n  margin-top:10px;\n}\n\n#mza-caftan-royal .fill{\n  height:100%;\n  width:0;\n  background:var(--gold2);\n}\n\n#mza-caftan-royal .reset{\n  border:1px solid rgba(255,255,255,.35);\n  background:transparent;\n  color:#fff;\n  padding:11px;\n  font-size:9px;\n}\n\n\/* levels *\/\n\n#mza-caftan-royal .level-title{\n  border-bottom:1px solid #d4c19d;\n  margin:58px 0 24px;\n  padding-bottom:16px;\n}\n\n#mza-caftan-royal .level-title small{\n  color:#9d7738;\n  font-size:9px;\n  letter-spacing:3px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .level-title h3{\n  margin:8px 0 0;\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:34px;\n  font-weight:400;\n}\n\n#mza-caftan-royal .course-grid{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:16px;\n}\n\n#mza-caftan-royal .course-card{\n  border:1px solid #ddd0b6;\n  background:#fff;\n  text-align:left;\n  padding:0;\n  min-height:390px;\n  transition:.22s;\n}\n\n#mza-caftan-royal .course-card:hover{\n  transform:translateY(-5px);\n  box-shadow:0 18px 42px rgba(0,0,0,.08);\n}\n\n#mza-caftan-royal .course-card.done{\n  border-color:var(--gold);\n}\n\n#mza-caftan-royal .course-img{\n  height:185px;\n  overflow:hidden;\n}\n\n#mza-caftan-royal .course-img img{\n  height:100%;\n  object-fit:cover;\n}\n\n#mza-caftan-royal .course-body{\n  padding:20px;\n}\n\n#mza-caftan-royal .course-number{\n  color:var(--gold);\n  font-family:Georgia,serif;\n  font-size:18px;\n}\n\n#mza-caftan-royal .course-card h4{\n  min-height:48px;\n  margin:11px 0;\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:21px;\n  font-weight:400;\n}\n\n#mza-caftan-royal .course-card p{\n  min-height:55px;\n  color:#766f67;\n  font-size:12px;\n  line-height:1.55;\n}\n\n#mza-caftan-royal .open-label{\n  display:block;\n  margin-top:14px;\n  color:var(--wine);\n  font-size:9px;\n  letter-spacing:1px;\n  font-weight:900;\n}\n\n\/* detail inline *\/\n\n#mza-caftan-royal .course-detail{\n  display:none;\n  grid-template-columns:.85fr 1.15fr;\n  background:#fff;\n  border:1px solid var(--gold);\n  margin:45px 0;\n}\n\n#mza-caftan-royal .course-detail.show{\n  display:grid;\n}\n\n#mza-caftan-royal .detail-image{\n  min-height:650px;\n}\n\n#mza-caftan-royal .detail-image img{\n  height:100%;\n  min-height:650px;\n  object-fit:cover;\n}\n\n#mza-caftan-royal .detail-copy{\n  padding:55px;\n  position:relative;\n}\n\n#mza-caftan-royal .detail-close{\n  position:absolute;\n  top:15px;\n  right:15px;\n  width:40px;\n  height:40px;\n  border:1px solid var(--line);\n  background:#fff;\n}\n\n#mza-caftan-royal .detail-copy small{\n  color:#9c7739;\n  letter-spacing:3px;\n  font-size:9px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .detail-copy h3{\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:clamp(38px,5vw,58px);\n  font-weight:400;\n  margin:12px 0 20px;\n}\n\n#mza-caftan-royal .detail-copy > p{\n  color:#706961;\n  line-height:1.75;\n}\n\n#mza-caftan-royal .meta{\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  border-top:1px solid var(--line);\n  border-left:1px solid var(--line);\n  margin:25px 0;\n}\n\n#mza-caftan-royal .meta div{\n  padding:16px;\n  border-right:1px solid var(--line);\n  border-bottom:1px solid var(--line);\n}\n\n#mza-caftan-royal .meta span{\n  display:block;\n  color:#a07c3d;\n  font-size:8px;\n  font-weight:900;\n}\n\n#mza-caftan-royal .meta strong{\n  display:block;\n  margin-top:6px;\n  color:var(--green);\n  font-size:13px;\n}\n\n#mza-caftan-royal .detail-columns{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:18px;\n}\n\n#mza-caftan-royal .detail-box{\n  padding:19px;\n  background:var(--ivory);\n}\n\n#mza-caftan-royal .detail-box h4{\n  margin:0 0 10px;\n  font-family:Georgia,serif;\n  color:var(--green);\n}\n\n#mza-caftan-royal .detail-box ul{\n  margin:0;\n  padding-left:18px;\n  color:#706a62;\n  line-height:1.7;\n  font-size:13px;\n}\n\n#mza-caftan-royal .mission{\n  margin-top:20px;\n  padding:20px;\n  border-left:3px solid var(--gold);\n  background:#f5ecde;\n}\n\n#mza-caftan-royal .mission strong{\n  display:block;\n  color:var(--wine);\n  margin-bottom:7px;\n}\n\n#mza-caftan-royal .detail-actions{\n  display:flex;\n  flex-wrap:wrap;\n  gap:9px;\n  margin-top:22px;\n}\n\n#mza-caftan-royal .validate,\n#mza-caftan-royal .next{\n  padding:13px 17px;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1.2px;\n}\n\n#mza-caftan-royal .validate{\n  background:var(--green);\n  color:#fff;\n  border:1px solid var(--green);\n}\n\n#mza-caftan-royal .next{\n  background:#fff;\n  border:1px solid var(--gold);\n  color:var(--green);\n}\n\n\/* ============================================================\n COLLECTION FINALE\n============================================================ *\/\n\n#mza-caftan-royal .final{\n  padding:120px 0;\n  background:var(--black);\n  color:#fff;\n}\n\n#mza-caftan-royal .final-box{\n  max-width:1000px;\n  margin:auto;\n  padding:75px 55px;\n  position:relative;\n  border:1px solid var(--gold);\n  text-align:center;\n}\n\n#mza-caftan-royal .final-box:before{\n  content:\"\";\n  position:absolute;\n  inset:9px;\n  border:1px solid rgba(198,161,90,.25);\n}\n\n#mza-caftan-royal .final-box > *{\n  position:relative;\n  z-index:2;\n}\n\n#mza-caftan-royal .final-symbol{\n  color:var(--gold2);\n  font-size:43px;\n}\n\n#mza-caftan-royal .final h2{\n  font-family:Georgia,serif;\n  font-weight:400;\n  font-size:clamp(47px,7vw,77px);\n  line-height:.95;\n  margin:17px 0;\n}\n\n#mza-caftan-royal .final h2 em{\n  display:block;\n  color:var(--gold2);\n}\n\n#mza-caftan-royal .final-intro{\n  max-width:720px;\n  margin:auto;\n  color:rgba(255,255,255,.64);\n  line-height:1.8;\n}\n\n#mza-caftan-royal .final-stats{\n  display:grid;\n  grid-template-columns:repeat(5,1fr);\n  margin:45px 0;\n  border-top:1px solid rgba(236,216,157,.28);\n  border-bottom:1px solid rgba(236,216,157,.28);\n}\n\n#mza-caftan-royal .final-stats div{\n  padding:23px 8px;\n  border-right:1px solid rgba(236,216,157,.28);\n}\n\n#mza-caftan-royal .final-stats div:last-child{border:0}\n\n#mza-caftan-royal .final-stats strong{\n  display:block;\n  color:var(--gold2);\n  font-family:Georgia,serif;\n  font-size:34px;\n  font-weight:400;\n}\n\n#mza-caftan-royal .final-stats span{\n  color:rgba(255,255,255,.5);\n  font-size:10px;\n}\n\n#mza-caftan-royal .final-message{\n  margin:25px auto;\n  max-width:650px;\n  color:var(--gold2);\n  font-size:13px;\n}\n\n\/* ============================================================\n RESPONSIVE\n============================================================ *\/\n\n@media(max-width:1050px){\n  #mza-caftan-royal .course-grid{\n    grid-template-columns:repeat(3,1fr);\n  }\n}\n\n@media(max-width:900px){\n\n  #mza-caftan-royal .hero-content{\n    margin:auto;\n  }\n\n  #mza-caftan-royal .manifesto-grid,\n  #mza-caftan-royal .craft{\n    grid-template-columns:1fr;\n  }\n\n  #mza-caftan-royal .silhouette-grid{\n    grid-template-columns:1fr;\n  }\n\n  #mza-caftan-royal .course-grid{\n    grid-template-columns:repeat(2,1fr);\n  }\n\n  #mza-caftan-royal .course-detail.show{\n    grid-template-columns:1fr;\n  }\n\n}\n\n@media(max-width:650px){\n\n  #mza-caftan-royal .wrap{\n    width:calc(100% - 24px);\n  }\n\n  #mza-caftan-royal .royal-frame{\n    inset:9px;\n  }\n\n  #mza-caftan-royal .hero h1{\n    letter-spacing:-1px;\n  }\n\n  #mza-caftan-royal .manifesto-photo img{\n    height:480px;\n  }\n\n  #mza-caftan-royal .craft-copy{\n    padding:55px 25px;\n  }\n\n  #mza-caftan-royal .course-grid{\n    grid-template-columns:1fr;\n  }\n\n  #mza-caftan-royal .course-card h4,\n  #mza-caftan-royal .course-card p{\n    min-height:0;\n  }\n\n  #mza-caftan-royal .progress{\n    grid-template-columns:1fr;\n  }\n\n  #mza-caftan-royal .detail-copy{\n    padding:45px 23px;\n  }\n\n  #mza-caftan-royal .detail-columns,\n  #mza-caftan-royal .meta{\n    grid-template-columns:1fr;\n  }\n\n  #mza-caftan-royal .final-box{\n    padding:55px 22px;\n  }\n\n  #mza-caftan-royal .final-stats{\n    grid-template-columns:1fr;\n  }\n}\n<\/style>\n\n\n<!-- ============================================================\n HERO\n============================================================ -->\n\n<section class=\"hero\">\n\n<img decoding=\"async\"\n class=\"hero-img\"\n src=\"https:\/\/romeocouture.com\/images\/collections\/collection_2025\/IMG_50_1.jpg\"\n alt=\"Caftan marocain haute couture rouge et or\">\n\n<div class=\"hero-overlay\"><\/div>\n<div class=\"royal-frame\"><\/div>\n\n<div class=\"hero-content\">\n\n  <div class=\"monogram\">MZA<\/div>\n\n  <div class=\"kicker\">\n    MAISON DE COUTURE MAROCAINE \u00b7 MZA ACADEMY\n  <\/div>\n\n  <h1>\n    Caftan\n    <em>Haute Couture<\/em>\n  <\/h1>\n\n  <p class=\"hero-lead\">\n    Construire la silhouette. Ma\u00eetriser le geste.\n    Sublimer sfifa, a\u00e2kad, broderie et mati\u00e8res nobles.\n    Puis cr\u00e9er sa propre signature.\n  <\/p>\n\n  <div class=\"hero-buttons\">\n\n    <button\n      type=\"button\"\n      class=\"btn-gold\"\n      data-scroll=\"mza-couture-40\">\n      D\u00c9COUVRIR LES 40 ATELIERS\n    <\/button>\n\n    <button\n      type=\"button\"\n      class=\"btn-outline\"\n      data-scroll=\"mza-collection-finale\">\n      COLLECTION SIGNATURE\n    <\/button>\n\n  <\/div>\n\n<\/div>\n\n<\/section>\n\n\n<!-- ============================================================\n NAV\n============================================================ -->\n\n<nav class=\"couture-nav\">\n<div class=\"wrap\">\n\n<button type=\"button\" data-scroll=\"mza-maison-couture\">\nLA MAISON\n<\/button>\n\n<button type=\"button\" data-scroll=\"mza-savoir-faire\">\nSAVOIR-FAIRE\n<\/button>\n\n<button type=\"button\" data-scroll=\"mza-silhouettes\">\nSILHOUETTES\n<\/button>\n\n<button type=\"button\" data-scroll=\"mza-couture-40\">\n40 ATELIERS\n<\/button>\n\n<button type=\"button\" data-scroll=\"mza-collection-finale\">\nCOLLECTION FINALE\n<\/button>\n\n<\/div>\n<\/nav>\n\n\n<!-- ============================================================\n MANIFESTE\n============================================================ -->\n\n<section class=\"manifesto\" id=\"mza-maison-couture\">\n\n<div class=\"wrap\">\n\n<div class=\"manifesto-grid\">\n\n<div class=\"manifesto-photo\">\n\n<img decoding=\"async\"\n src=\"https:\/\/us.bouchrafilalilahlou.com\/cdn\/shop\/files\/takchita.jpg?crop=region&#038;crop_height=1200&#038;crop_left=120&#038;crop_top=0&#038;crop_width=960&#038;v=1741212099&#038;width=1200\"\n alt=\"Takchita marocaine en velours et broderie dor\u00e9e\">\n\n<\/div>\n\n<div>\n\n<div class=\"chapter\">01<\/div>\n\n<div class=\"eyebrow\">\nLA PHILOSOPHIE DE LA MAISON\n<\/div>\n\n<h2>\nLa richesse commence\n<em>par la ligne.<\/em>\n<\/h2>\n\n<p>\nAvant la broderie, avant le perlage et avant la parure,\nune grande cr\u00e9ation commence par la proportion :\nune \u00e9paule juste, une taille correctement plac\u00e9e,\nune manche qui accompagne le mouvement et un tissu\ndont le tomb\u00e9 sert la silhouette.\n<\/p>\n\n<p>\nMZA enseigne le caftan comme une discipline compl\u00e8te :\ndessin, patronage, coupe, confection, savoir-faire marocain,\nessayage, finition, pr\u00e9sentation et cr\u00e9ation de collection.\n<\/p>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n<\/section>\n\n\n<!-- ============================================================\n DETAIL DU SAVOIR-FAIRE\n============================================================ -->\n\n<section class=\"craft\" id=\"mza-savoir-faire\">\n\n<div class=\"craft-img\">\n\n<img decoding=\"async\"\n src=\"https:\/\/images.boksha.com\/uploads\/products\/57129\/images\/6RmwzheKHMcYkePOteQ9Pc5tnRe9PhZRXBwRGYvN.jpg\"\n alt=\"D\u00e9tail sfifa et broderie d'un caftan\">\n\n<\/div>\n\n<div class=\"craft-copy\">\n\n<div class=\"kicker\">\nLE D\u00c9TAIL\n<\/div>\n\n<h2>\nLa main\n<em>suit la coupe.<\/em>\n<\/h2>\n\n<p>\nLa sfifa souligne l&#8217;architecture du v\u00eatement.\nLes a\u00e2kad rythment la fermeture.\nLa broderie, les perles et la passementerie enrichissent\nla surface sans perdre la coh\u00e9rence de la silhouette.\n<\/p>\n\n<div class=\"craft-terms\">\n<span>SFIFA<\/span>\n<span>A\u00c2KAD<\/span>\n<span>SKALLI<\/span>\n<span>BRODERIE<\/span>\n<span>PERLAGE<\/span>\n<span>VELOURS<\/span>\n<span>ORGANZA<\/span>\n<span>BROCARD<\/span>\n<\/div>\n\n<\/div>\n\n<\/section>\n\n\n<!-- ============================================================\n SILHOUETTES\n============================================================ -->\n\n<section class=\"silhouettes\" id=\"mza-silhouettes\">\n\n<div class=\"wrap\">\n\n<header class=\"section-head\">\n\n<div class=\"eyebrow\">\nLE VESTIAIRE MZA\n<\/div>\n\n<h2 class=\"section-title\">\nSilhouettes d&#8217;Exception\n<\/h2>\n\n<div class=\"line\"><\/div>\n\n<p>\nTradition, mariage, grand soir et cr\u00e9ation contemporaine :\nchaque silhouette devient un exercice de construction.\n<\/p>\n\n<\/header>\n\n\n<div class=\"silhouette-grid\">\n\n<article class=\"look\">\n\n<img decoding=\"async\"\n src=\"https:\/\/romeocouture.com\/images\/collections\/collection_2025\/IMG_50_1.jpg\"\n alt=\"Caftan rouge haute couture\">\n\n<div class=\"look-copy\">\n<span class=\"look-no\">LOOK I<\/span>\n<h3>Rouge &#038; Or<\/h3>\n<p>Broderie architectur\u00e9e, ceinture et construction grand soir.<\/p>\n<button type=\"button\" data-course=\"28\">\n\u00c9TUDIER LA SILHOUETTE \u2192\n<\/button>\n<\/div>\n\n<\/article>\n\n\n<article class=\"look\">\n\n<img decoding=\"async\"\n src=\"https:\/\/us.bouchrafilalilahlou.com\/cdn\/shop\/files\/takchita.jpg?crop=region&#038;crop_height=1200&#038;crop_left=120&#038;crop_top=0&#038;crop_width=960&#038;v=1741212099&#038;width=1200\"\n alt=\"Takchita gris argent et or\">\n\n<div class=\"look-copy\">\n<span class=\"look-no\">LOOK II<\/span>\n<h3>Velours &#038; Lumi\u00e8re<\/h3>\n<p>Volume fluide, broderie or et noblesse de la mati\u00e8re.<\/p>\n<button type=\"button\" data-course=\"24\">\n\u00c9TUDIER LA SILHOUETTE \u2192\n<\/button>\n<\/div>\n\n<\/article>\n\n<\/div>\n\n<\/div>\n<\/section>\n\n\n<!-- ============================================================\n PROGRAMME 40\n============================================================ -->\n\n<section class=\"programme\" id=\"mza-couture-40\">\n\n<div class=\"wrap\">\n\n<header class=\"section-head\">\n\n<div class=\"eyebrow\">\nPARCOURS PROFESSIONNEL\n<\/div>\n\n<h2 class=\"section-title\">\n40 Ateliers de Couture\n<\/h2>\n\n<div class=\"line\"><\/div>\n\n<p>\nDe la prise de mesures jusqu&#8217;\u00e0 la pr\u00e9sentation\nd&#8217;une collection compl\u00e8te.\n<\/p>\n\n<\/header>\n\n\n<div class=\"tools\">\n\n<input\n type=\"search\"\n id=\"couture-search\"\n placeholder=\"Rechercher : sfifa, mariage, patronage, velours\u2026\">\n\n<div class=\"filters\">\n\n<button type=\"button\" class=\"filter active\" data-filter=\"all\">\nTOUS\n<\/button>\n\n<button type=\"button\" class=\"filter\" data-filter=\"1\">\nFONDATIONS\n<\/button>\n\n<button type=\"button\" class=\"filter\" data-filter=\"2\">\nARTISANAT\n<\/button>\n\n<button type=\"button\" class=\"filter\" data-filter=\"3\">\nCR\u00c9ATION\n<\/button>\n\n<button type=\"button\" class=\"filter\" data-filter=\"4\">\nMAISON\n<\/button>\n\n<\/div>\n\n<\/div>\n\n\n<div class=\"progress\">\n\n<strong class=\"big\" id=\"couture-progress-number\">\n0\/40\n<\/strong>\n\n<div>\n<strong>Passeport Haute Couture MZA<\/strong>\n<div class=\"track\">\n<div class=\"fill\" id=\"couture-progress-fill\"><\/div>\n<\/div>\n<\/div>\n\n<button type=\"button\" class=\"reset\" id=\"couture-reset\">\nR\u00c9INITIALISER\n<\/button>\n\n<\/div>\n\n\n<div id=\"couture-detail\" class=\"course-detail\"><\/div>\n\n<div id=\"couture-courses\"><\/div>\n\n<\/div>\n<\/section>\n\n\n<!-- ============================================================\n COLLECTION FINALE\n============================================================ -->\n\n<section class=\"final\" id=\"mza-collection-finale\">\n\n<div class=\"wrap\">\n\n<div class=\"final-box\">\n\n<div class=\"final-symbol\">\u2726<\/div>\n\n<div class=\"kicker\">\nEXAMEN FINAL MZA \u00b7 COLLECTION ROYAL\n<\/div>\n\n<h2>\nLa Collection\n<em>Signature<\/em>\n<\/h2>\n\n<p class=\"final-intro\">\nLe candidat con\u00e7oit et pr\u00e9sente sa propre mini-collection\nde caftans : de l&#8217;esquisse au v\u00eatement termin\u00e9,\navec dossier technique, costing, essayage\net pr\u00e9sentation finale.\n<\/p>\n\n<div class=\"final-stats\">\n\n<div>\n<strong>5<\/strong>\n<span>silhouettes<\/span>\n<\/div>\n\n<div>\n<strong>5<\/strong>\n<span>fiches techniques<\/span>\n<\/div>\n\n<div>\n<strong>1<\/strong>\n<span>shooting<\/span>\n<\/div>\n\n<div>\n<strong>1<\/strong>\n<span>costing<\/span>\n<\/div>\n\n<div>\n<strong>1<\/strong>\n<span>pr\u00e9sentation<\/span>\n<\/div>\n\n<\/div>\n\n<div class=\"final-message\" id=\"couture-final-message\">\nValidez les 40 ateliers pour compl\u00e9ter le parcours.\n<\/div>\n\n<button\n type=\"button\"\n class=\"btn-gold\"\n id=\"couture-start-programme\">\nCOMMENCER LE PARCOURS DES 40 ATELIERS\n<\/button>\n\n<\/div>\n\n<\/div>\n<\/section>\n\n\n<script>\n(function(){\n\n\"use strict\";\n\n\/* =========================================================\n IMAGES\n========================================================= *\/\n\nconst IMG = {\n runway:\n \"https:\/\/romeocouture.com\/images\/collections\/collection_2025\/IMG_50_1.jpg\",\n\n grey:\n \"https:\/\/us.bouchrafilalilahlou.com\/cdn\/shop\/files\/takchita.jpg?crop=region&crop_height=1200&crop_left=120&crop_top=0&crop_width=960&v=1741212099&width=1200\",\n\n detail:\n \"https:\/\/images.boksha.com\/uploads\/products\/57129\/images\/6RmwzheKHMcYkePOteQ9Pc5tnRe9PhZRXBwRGYvN.jpg\",\n\n embroidery:\n \"https:\/\/i.pinimg.com\/originals\/82\/21\/e4\/8221e47c3dc5854c601888d631d3837d.jpg\"\n};\n\n\n\/* =========================================================\n DATA\n========================================================= *\/\n\nconst courses = [\n\n\/* NIVEAU 1 *\/\n\n{n:1,l:1,t:\"Histoire du caftan marocain\",\nd:\"Comprendre les grandes familles, usages et \u00e9volutions du caftan.\",\ntime:\"2 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"Carnet\",\"R\u00e9f\u00e9rences\",\"Archives visuelles\"],\nskills:[\"Lecture stylistique\",\"Chronologie\",\"Analyse silhouette\"],\nmission:\"Cr\u00e9er une planche pr\u00e9sentant cinq grandes influences du caftan marocain.\"},\n\n{n:2,l:1,t:\"Vocabulaire professionnel\",\nd:\"Ma\u00eetriser les termes essentiels de l'atelier marocain.\",\ntime:\"2 h\",level:\"Fondations\",img:IMG.detail,\ntools:[\"Glossaire\",\"\u00c9chantillons\"],\nskills:[\"Sfifa\",\"A\u00e2kad\",\"Skalli\",\"Galon\"],\nmission:\"Cr\u00e9er un glossaire illustr\u00e9 de 20 termes.\"},\n\n{n:3,l:1,t:\"Morphologie & proportions\",\nd:\"Construire une silhouette adapt\u00e9e \u00e0 la personne.\",\ntime:\"3 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"Mannequin\",\"M\u00e8tre\",\"Carnet\"],\nskills:[\"Proportions\",\"\u00c9quilibre\",\"Ligne\"],\nmission:\"Analyser trois morphologies et proposer trois coupes.\"},\n\n{n:4,l:1,t:\"Prise de mesures\",\nd:\"Ma\u00eetriser les mesures indispensables au sur-mesure.\",\ntime:\"3 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"M\u00e8tre ruban\",\"Fiche mesures\"],\nskills:[\"Tour poitrine\",\"Taille\",\"Hanches\",\"Carrure\"],\nmission:\"\u00c9tablir une fiche de mesures compl\u00e8te.\"},\n\n{n:5,l:1,t:\"Textiles & mati\u00e8res nobles\",\nd:\"Choisir velours, soie, brocart, organza et mousseline.\",\ntime:\"3 h\",level:\"Fondations\",img:IMG.runway,\ntools:[\"\u00c9chantillons\",\"Nuancier\"],\nskills:[\"Tomb\u00e9\",\"Main\",\"Poids\",\"Transparence\"],\nmission:\"Composer une mat\u00e9riauth\u00e8que de dix \u00e9toffes.\"},\n\n{n:6,l:1,t:\"Couleur & harmonie\",\nd:\"Construire des palettes coh\u00e9rentes avec broderies et ornements.\",\ntime:\"2 h\",level:\"Fondations\",img:IMG.runway,\ntools:[\"Nuancier\",\"\u00c9chantillons\"],\nskills:[\"Contraste\",\"Harmonie\",\"M\u00e9talliques\"],\nmission:\"Cr\u00e9er trois palettes de collection.\"},\n\n{n:7,l:1,t:\"Initiation au patronage\",\nd:\"Comprendre le patron de base du caftan.\",\ntime:\"4 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"Papier patron\",\"R\u00e8gle\",\"\u00c9querre\"],\nskills:[\"Construction\",\"Rep\u00e8res\",\"Valeurs couture\"],\nmission:\"Construire un patron de base.\"},\n\n{n:8,l:1,t:\"Coupe du tissu\",\nd:\"Placement, droit-fil, sym\u00e9trie et pr\u00e9cision.\",\ntime:\"3 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"Ciseaux\",\"Craie\",\"Table coupe\"],\nskills:[\"Placement\",\"Droit-fil\",\"Coupe\"],\nmission:\"Couper proprement les \u00e9l\u00e9ments d'un prototype.\"},\n\n{n:9,l:1,t:\"Montage du caftan\",\nd:\"Assembler proprement le v\u00eatement.\",\ntime:\"5 h\",level:\"Fondations\",img:IMG.grey,\ntools:[\"Machine\",\"\u00c9pingles\",\"Fil\"],\nskills:[\"Assemblage\",\"Coutures\",\"Ordre montage\"],\nmission:\"Monter un prototype complet.\"},\n\n{n:10,l:1,t:\"Repassage & mise en forme\",\nd:\"Utiliser le repassage comme outil de construction.\",\ntime:\"2 h\",level:\"Fondations\",img:IMG.detail,\ntools:[\"Fer\",\"Pattemouille\"],\nskills:[\"Ouverture couture\",\"Formage\",\"Finition\"],\nmission:\"Pr\u00e9parer un v\u00eatement pour essayage.\"},\n\n\/* NIVEAU 2 *\/\n\n{n:11,l:2,t:\"Sfifa \u2014 fondamentaux\",\nd:\"Comprendre placement, largeur et continuit\u00e9.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.detail,\ntools:[\"Sfifa\",\"\u00c9pingles\",\"Fil\"],\nskills:[\"Pose\",\"Alignement\",\"Angles\"],\nmission:\"Poser une sfifa r\u00e9guli\u00e8re sur un prototype.\"},\n\n{n:12,l:2,t:\"A\u00e2kad \u2014 boutons marocains\",\nd:\"Cr\u00e9ation, placement et rythme des boutons traditionnels.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.detail,\ntools:[\"Fil\",\"Passementerie\"],\nskills:[\"Fa\u00e7onnage\",\"R\u00e9gularit\u00e9\",\"Pose\"],\nmission:\"R\u00e9aliser une s\u00e9rie de 20 a\u00e2kad r\u00e9guliers.\"},\n\n{n:13,l:2,t:\"Skalli & fil m\u00e9tallis\u00e9\",\nd:\"Utiliser les effets dor\u00e9s et argent\u00e9s avec mesure.\",\ntime:\"3 h\",level:\"Artisanat\",img:IMG.detail,\ntools:[\"Skalli\",\"Aiguille\"],\nskills:[\"Tension\",\"Motif\",\"Finition\"],\nmission:\"Cr\u00e9er un \u00e9chantillon de bordure.\"},\n\n{n:14,l:2,t:\"Broderie marocaine\",\nd:\"Approche des motifs, placements et densit\u00e9s.\",\ntime:\"5 h\",level:\"Artisanat\",img:IMG.embroidery,\ntools:[\"Aiguille\",\"Tambour\",\"Fils\"],\nskills:[\"Motif\",\"Placement\",\"R\u00e9gularit\u00e9\"],\nmission:\"Cr\u00e9er un panneau brod\u00e9 pour devant de caftan.\"},\n\n{n:15,l:2,t:\"Perlage Couture\",\nd:\"Construire une surface perl\u00e9e \u00e9l\u00e9gante et \u00e9quilibr\u00e9e.\",\ntime:\"5 h\",level:\"Artisanat\",img:IMG.embroidery,\ntools:[\"Perles\",\"Cristaux\",\"Fil\"],\nskills:[\"Perlage\",\"Rythme\",\"Fixation\"],\nmission:\"Cr\u00e9er un motif de 20 \u00d7 20 cm.\"},\n\n{n:16,l:2,t:\"Passementerie\",\nd:\"Ma\u00eetriser galons, cordons et bordures d\u00e9coratives.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.detail,\ntools:[\"Galons\",\"Cordons\"],\nskills:[\"Pose\",\"Raccord\",\"Finition\"],\nmission:\"Cr\u00e9er trois bordures diff\u00e9rentes.\"},\n\n{n:17,l:2,t:\"Construction des manches\",\nd:\"Proportions, volume et mouvement.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.grey,\ntools:[\"Patron\",\"Toile\"],\nskills:[\"Emmanchure\",\"Volume\",\"Tomb\u00e9\"],\nmission:\"D\u00e9velopper deux formes de manches.\"},\n\n{n:18,l:2,t:\"Ceinture du caftan\",\nd:\"Cr\u00e9er une ceinture coh\u00e9rente avec la silhouette.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.runway,\ntools:[\"Support\",\"Broderie\",\"Fermoir\"],\nskills:[\"Proportion\",\"Rigidit\u00e9\",\"D\u00e9cor\"],\nmission:\"Cr\u00e9er une ceinture pour une silhouette grand soir.\"},\n\n{n:19,l:2,t:\"Doublures & propret\u00e9 int\u00e9rieure\",\nd:\"Donner au v\u00eatement une finition professionnelle.\",\ntime:\"3 h\",level:\"Artisanat\",img:IMG.grey,\ntools:[\"Doublure\",\"Machine\"],\nskills:[\"Montage propre\",\"Ourlets\",\"Parementures\"],\nmission:\"Finir enti\u00e8rement l'int\u00e9rieur d'un prototype.\"},\n\n{n:20,l:2,t:\"Finitions main\",\nd:\"Ourlets invisibles, points main et contr\u00f4le final.\",\ntime:\"4 h\",level:\"Artisanat\",img:IMG.detail,\ntools:[\"Aiguille\",\"Fil fin\"],\nskills:[\"Points invisibles\",\"Contr\u00f4le\",\"Nettoyage\"],\nmission:\"Pr\u00e9parer une pi\u00e8ce pr\u00eate \u00e0 livrer.\"},\n\n\/* NIVEAU 3 *\/\n\n{n:21,l:3,t:\"Caftan de c\u00e9r\u00e9monie\",\nd:\"Construire une silhouette \u00e9l\u00e9gante de r\u00e9ception.\",\ntime:\"6 h\",level:\"Cr\u00e9ation\",img:IMG.grey,\ntools:[\"Patron\",\"\u00c9toffe\",\"Ornements\"],\nskills:[\"Volume\",\"Proportion\",\"D\u00e9cor\"],\nmission:\"Cr\u00e9er le dossier d'un caftan de c\u00e9r\u00e9monie.\"},\n\n{n:22,l:3,t:\"Takchita\",\nd:\"Comprendre la superposition et la relation entre les deux pi\u00e8ces.\",\ntime:\"7 h\",level:\"Cr\u00e9ation\",img:IMG.grey,\ntools:[\"Deux \u00e9toffes\",\"Patrons\"],\nskills:[\"Superposition\",\"Transparence\",\"Volume\"],\nmission:\"Concevoir une takchita compl\u00e8te.\"},\n\n{n:23,l:3,t:\"Caftan mariage\",\nd:\"Construire une silhouette adapt\u00e9e au mariage.\",\ntime:\"7 h\",level:\"Cr\u00e9ation\",img:IMG.embroidery,\ntools:[\"\u00c9toffe noble\",\"Broderie\"],\nskills:[\"\u00c9clat\",\"Structure\",\"Finition\"],\nmission:\"Pr\u00e9senter une proposition mariage compl\u00e8te.\"},\n\n{n:24,l:3,t:\"Velours Couture\",\nd:\"Ma\u00eetriser sens du poil, coupe et broderie sur velours.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.grey,\ntools:[\"Velours\",\"Craie\",\"Broderie\"],\nskills:[\"Coupe\",\"Sens mati\u00e8re\",\"Poids\"],\nmission:\"Cr\u00e9er une silhouette en velours.\"},\n\n{n:25,l:3,t:\"Mousseline & transparence\",\nd:\"Construire l\u00e9g\u00e8ret\u00e9, couches et mouvement.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.embroidery,\ntools:[\"Mousseline\",\"Organza\"],\nskills:[\"Transparence\",\"Volume\",\"Doublure\"],\nmission:\"Cr\u00e9er une manche a\u00e9rienne.\"},\n\n{n:26,l:3,t:\"Brocart & tissus architectur\u00e9s\",\nd:\"Exploiter motif et structure du tissu.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.runway,\ntools:[\"Brocart\",\"Patron\"],\nskills:[\"Raccord\",\"Placement motif\",\"Volume\"],\nmission:\"Construire une pi\u00e8ce autour d'un motif de brocart.\"},\n\n{n:27,l:3,t:\"Cape Couture\",\nd:\"Cr\u00e9er une cape int\u00e9gr\u00e9e \u00e0 une silhouette marocaine.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.embroidery,\ntools:[\"Patron\",\"Mousseline\"],\nskills:[\"Volume\",\"Attache\",\"Mouvement\"],\nmission:\"Concevoir une cape de grand soir.\"},\n\n{n:28,l:3,t:\"Tra\u00eene & Grand Soir\",\nd:\"Ma\u00eetriser ampleur, poids et d\u00e9placement.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.runway,\ntools:[\"\u00c9toffe\",\"Toile\"],\nskills:[\"Tra\u00eene\",\"\u00c9quilibre\",\"Mobilit\u00e9\"],\nmission:\"Cr\u00e9er un look de d\u00e9fil\u00e9.\"},\n\n{n:29,l:3,t:\"Essayage professionnel\",\nd:\"Lire plis, tensions et \u00e9quilibre sur le corps.\",\ntime:\"4 h\",level:\"Cr\u00e9ation\",img:IMG.grey,\ntools:[\"Mannequin\",\"\u00c9pingles\"],\nskills:[\"Diagnostic\",\"Ajustement\",\"Aplomb\"],\nmission:\"Corriger un prototype apr\u00e8s essayage.\"},\n\n{n:30,l:3,t:\"Transformation contemporaine\",\nd:\"Moderniser la silhouette sans perdre son identit\u00e9.\",\ntime:\"5 h\",level:\"Cr\u00e9ation\",img:IMG.embroidery,\ntools:[\"Croquis\",\"Toile\"],\nskills:[\"Cr\u00e9ativit\u00e9\",\"\u00c9pure\",\"Proportion\"],\nmission:\"R\u00e9interpr\u00e9ter un caftan classique.\"},\n\n\/* NIVEAU 4 *\/\n\n{n:31,l:4,t:\"Construire une collection\",\nd:\"D\u00e9finir th\u00e8me, coh\u00e9rence et progression des silhouettes.\",\ntime:\"5 h\",level:\"Maison\",img:IMG.runway,\ntools:[\"Moodboard\",\"Croquis\"],\nskills:[\"Direction artistique\",\"Coh\u00e9rence\",\"Gamme\"],\nmission:\"Cr\u00e9er le plan d'une collection de cinq looks.\"},\n\n{n:32,l:4,t:\"Sourcing textile\",\nd:\"Choisir fournisseurs, mati\u00e8res et ornements.\",\ntime:\"3 h\",level:\"Maison\",img:IMG.detail,\ntools:[\"\u00c9chantillons\",\"Table prix\"],\nskills:[\"S\u00e9lection\",\"Qualit\u00e9\",\"Achat\"],\nmission:\"Cr\u00e9er une fiche sourcing.\"},\n\n{n:33,l:4,t:\"Costing d'un caftan\",\nd:\"Calculer mati\u00e8re, main-d'\u0153uvre, d\u00e9coration et marge.\",\ntime:\"3 h\",level:\"Maison\",img:IMG.grey,\ntools:[\"Tableur\",\"Fiche technique\"],\nskills:[\"Co\u00fbt mati\u00e8re\",\"Temps\",\"Marge\"],\nmission:\"\u00c9tablir le co\u00fbt complet d'une cr\u00e9ation.\"},\n\n{n:34,l:4,t:\"Fiche technique Couture\",\nd:\"Documenter construction, fournitures et finitions.\",\ntime:\"3 h\",level:\"Maison\",img:IMG.detail,\ntools:[\"Dossier technique\"],\nskills:[\"Nomenclature\",\"Mesures\",\"Instructions\"],\nmission:\"Cr\u00e9er une fiche technique exploitable par l'atelier.\"},\n\n{n:35,l:4,t:\"Organisation d'atelier\",\nd:\"G\u00e9rer commandes, production et contr\u00f4le qualit\u00e9.\",\ntime:\"4 h\",level:\"Maison\",img:IMG.grey,\ntools:[\"Planning\",\"Fiches suivi\"],\nskills:[\"Flux\",\"Contr\u00f4le\",\"D\u00e9lais\"],\nmission:\"Organiser la production de dix commandes.\"},\n\n{n:36,l:4,t:\"Identit\u00e9 de Maison\",\nd:\"Nom, signature visuelle, univers et positionnement.\",\ntime:\"4 h\",level:\"Maison\",img:IMG.runway,\ntools:[\"Moodboard\",\"Logo\"],\nskills:[\"Branding\",\"Positionnement\",\"Storytelling\"],\nmission:\"Cr\u00e9er l'identit\u00e9 d'une maison de caftan.\"},\n\n{n:37,l:4,t:\"Shooting Couture\",\nd:\"Pr\u00e9senter le v\u00eatement par la lumi\u00e8re et l'image.\",\ntime:\"4 h\",level:\"Maison\",img:IMG.embroidery,\ntools:[\"Lookbook\",\"Brief photo\"],\nskills:[\"Pose\",\"Lumi\u00e8re\",\"Direction artistique\"],\nmission:\"Pr\u00e9parer un brief de shooting complet.\"},\n\n{n:38,l:4,t:\"D\u00e9fil\u00e9 & sc\u00e9nographie\",\nd:\"Construire ordre de passage, musique et rythme.\",\ntime:\"4 h\",level:\"Maison\",img:IMG.runway,\ntools:[\"Run of show\",\"Looks\"],\nskills:[\"Casting\",\"Ordre\",\"Sc\u00e8ne\"],\nmission:\"Organiser un mini-d\u00e9fil\u00e9 de cinq silhouettes.\"},\n\n{n:39,l:4,t:\"Cr\u00e9ation Signature\",\nd:\"D\u00e9velopper une silhouette reconnaissable et personnelle.\",\ntime:\"8 h\",level:\"Maison\",img:IMG.embroidery,\ntools:[\"Tous outils\"],\nskills:[\"Direction\",\"Construction\",\"Finition\"],\nmission:\"Cr\u00e9er le look signature du candidat.\"},\n\n{n:40,l:4,t:\"Collection Finale MZA\",\nd:\"Pr\u00e9parer et pr\u00e9senter la collection de fin de parcours.\",\ntime:\"Projet final\",level:\"Final\",img:IMG.runway,\ntools:[\"5 silhouettes\",\"Dossier\",\"Lookbook\"],\nskills:[\"Cr\u00e9ation\",\"Costing\",\"Pr\u00e9sentation\"],\nmission:\"Pr\u00e9senter cinq silhouettes devant le jury p\u00e9dagogique MZA.\"}\n\n];\n\n\n\/* =========================================================\n STORAGE\n========================================================= *\/\n\nfunction loadProgress(){\n  try{\n    const x=JSON.parse(\n      localStorage.getItem(\"mzaCaftanProgress\")||\"[]\"\n    );\n    return Array.isArray(x)?x:[];\n  }catch(e){\n    return [];\n  }\n}\n\nfunction saveProgress(){\n  try{\n    localStorage.setItem(\n      \"mzaCaftanProgress\",\n      JSON.stringify(completed)\n    );\n  }catch(e){}\n}\n\nlet completed=loadProgress();\nlet activeFilter=\"all\";\n\n\n\/* =========================================================\n SCROLL\n========================================================= *\/\n\nfunction go(id){\n  const x=document.getElementById(id);\n  if(x){\n    x.scrollIntoView({\n      behavior:\"smooth\",\n      block:\"start\"\n    });\n  }\n}\n\ndocument.querySelectorAll(\n  \"#mza-caftan-royal [data-scroll]\"\n).forEach(function(btn){\n\n  btn.addEventListener(\"click\",function(){\n    go(btn.dataset.scroll);\n  });\n\n});\n\n\n\/* bouton final garanti *\/\n\ndocument.getElementById(\n  \"couture-start-programme\"\n).addEventListener(\"click\",function(){\n  go(\"mza-couture-40\");\n});\n\n\n\/* =========================================================\n LEVEL\n========================================================= *\/\n\nfunction levelTitle(l){\n  return {\n    1:\"Fondations de l'Atelier\",\n    2:\"Savoir-Faire Marocain\",\n    3:\"Cr\u00e9ation Couture\",\n    4:\"Maison de Haute Couture\"\n  }[l];\n}\n\n\n\/* =========================================================\n RENDER\n========================================================= *\/\n\nfunction render(){\n\n  const search=\n    document.getElementById(\"couture-search\")\n    .value.toLowerCase().trim();\n\n  let html=\"\";\n\n  [1,2,3,4].forEach(function(level){\n\n    const list=courses.filter(function(c){\n\n      const filter=\n        activeFilter===\"all\" ||\n        String(c.l)===activeFilter;\n\n      const text=(c.t+\" \"+c.d).toLowerCase();\n\n      return c.l===level &&\n             filter &&\n             (!search || text.includes(search));\n\n    });\n\n    if(!list.length)return;\n\n    html+=`\n      <div class=\"level-title\">\n        <small>NIVEAU ${level}<\/small>\n        <h3>${levelTitle(level)}<\/h3>\n      <\/div>\n\n      <div class=\"course-grid\">\n    `;\n\n    list.forEach(function(c){\n\n      const done=completed.includes(c.n);\n\n      html+=`\n        <button\n          type=\"button\"\n          class=\"course-card ${done?\"done\":\"\"}\"\n          data-id=\"${c.n}\">\n\n          <div class=\"course-img\">\n            <img decoding=\"async\"\n              src=\"${c.img}\"\n              alt=\"${c.t}\">\n          <\/div>\n\n          <div class=\"course-body\">\n\n            <span class=\"course-number\">\n              ${String(c.n).padStart(2,\"0\")}\n            <\/span>\n\n            <h4>${c.t}<\/h4>\n\n            <p>${c.d}<\/p>\n\n            <span class=\"open-label\">\n              ${done\n                ?\"\u2713 ATELIER VALID\u00c9\"\n                :\"ENTRER DANS L'ATELIER \u2192\"}\n            <\/span>\n\n          <\/div>\n\n        <\/button>\n      `;\n\n    });\n\n    html+=\"<\/div>\";\n\n  });\n\n  document.getElementById(\n    \"couture-courses\"\n  ).innerHTML=html;\n\n  document.querySelectorAll(\n    \"#mza-caftan-royal .course-card\"\n  ).forEach(function(card){\n\n    card.addEventListener(\"click\",function(){\n      openCourse(Number(card.dataset.id));\n    });\n\n  });\n\n}\n\n\n\/* =========================================================\n DETAIL\n========================================================= *\/\n\nfunction openCourse(id){\n\n  const c=courses.find(x=>x.n===id);\n  if(!c)return;\n\n  const detail=document.getElementById(\"couture-detail\");\n\n  detail.innerHTML=`\n    <div class=\"detail-image\">\n\n      <img decoding=\"async\"\n        src=\"${c.img}\"\n        alt=\"${c.t}\">\n\n    <\/div>\n\n    <div class=\"detail-copy\">\n\n      <button\n        type=\"button\"\n        class=\"detail-close\"\n        id=\"detail-close\">\n        \u00d7\n      <\/button>\n\n      <small>\n        ATELIER ${String(c.n).padStart(2,\"0\")}\n        \u00b7 ${levelTitle(c.l)}\n      <\/small>\n\n      <h3>${c.t}<\/h3>\n\n      <p>${c.d}<\/p>\n\n      <div class=\"meta\">\n\n        <div>\n          <span>DUR\u00c9E<\/span>\n          <strong>${c.time}<\/strong>\n        <\/div>\n\n        <div>\n          <span>NIVEAU<\/span>\n          <strong>${c.level}<\/strong>\n        <\/div>\n\n        <div>\n          <span>ATELIER<\/span>\n          <strong>${c.n}\/40<\/strong>\n        <\/div>\n\n      <\/div>\n\n      <div class=\"detail-columns\">\n\n        <div class=\"detail-box\">\n\n          <h4>Outils & mati\u00e8res<\/h4>\n\n          <ul>\n            ${c.tools.map(x=>`<li>${x}<\/li>`).join(\"\")}\n          <\/ul>\n\n        <\/div>\n\n        <div class=\"detail-box\">\n\n          <h4>Comp\u00e9tences<\/h4>\n\n          <ul>\n            ${c.skills.map(x=>`<li>${x}<\/li>`).join(\"\")}\n          <\/ul>\n\n        <\/div>\n\n      <\/div>\n\n      <div class=\"mission\">\n\n        <strong>MISSION COUTURE MZA<\/strong>\n\n        ${c.mission}\n\n      <\/div>\n\n      <div class=\"detail-actions\">\n\n        <button\n          type=\"button\"\n          class=\"validate\"\n          id=\"validate-course\">\n\n          ${\n            completed.includes(c.n)\n            ?\"\u2713 ATELIER VALID\u00c9\"\n            :\"VALIDER CET ATELIER\"\n          }\n\n        <\/button>\n\n        ${\n          c.n<40\n          ?`\n          <button\n            type=\"button\"\n            class=\"next\"\n            id=\"next-course\">\n            ATELIER SUIVANT \u2192\n          <\/button>\n          `\n          :`\n          <button\n            type=\"button\"\n            class=\"next\"\n            id=\"go-final\">\n            COLLECTION SIGNATURE \u2192\n          <\/button>\n          `\n        }\n\n      <\/div>\n\n    <\/div>\n  `;\n\n  detail.classList.add(\"show\");\n\n  detail.scrollIntoView({\n    behavior:\"smooth\",\n    block:\"start\"\n  });\n\n  document.getElementById(\n    \"detail-close\"\n  ).onclick=function(){\n    detail.classList.remove(\"show\");\n  };\n\n  document.getElementById(\n    \"validate-course\"\n  ).onclick=function(){\n\n    if(!completed.includes(c.n)){\n      completed.push(c.n);\n      completed.sort((a,b)=>a-b);\n      saveProgress();\n    }\n\n    updateProgress();\n    render();\n    openCourse(c.n);\n\n  };\n\n  const next=document.getElementById(\"next-course\");\n\n  if(next){\n    next.onclick=function(){\n      openCourse(c.n+1);\n    };\n  }\n\n  const final=document.getElementById(\"go-final\");\n\n  if(final){\n    final.onclick=function(){\n      go(\"mza-collection-finale\");\n    };\n  }\n\n}\n\n\n\/* silhouettes *\/\n\ndocument.querySelectorAll(\n  \"#mza-caftan-royal [data-course]\"\n).forEach(function(btn){\n\n  btn.addEventListener(\"click\",function(){\n\n    go(\"mza-couture-40\");\n\n    setTimeout(function(){\n      openCourse(Number(btn.dataset.course));\n    },450);\n\n  });\n\n});\n\n\n\/* =========================================================\n PROGRESS\n========================================================= *\/\n\nfunction updateProgress(){\n\n  const n=completed.length;\n\n  document.getElementById(\n    \"couture-progress-number\"\n  ).textContent=n+\"\/40\";\n\n  document.getElementById(\n    \"couture-progress-fill\"\n  ).style.width=(n\/40*100)+\"%\";\n\n  const message=\n    document.getElementById(\n      \"couture-final-message\"\n    );\n\n  if(n===40){\n\n    message.innerHTML=\n      \"<strong>PARCOURS COMPLET.<\/strong><br>\"+\n      \"La Collection Signature MZA peut \u00eatre pr\u00e9sent\u00e9e.\";\n\n  }else{\n\n    message.textContent=\n      n+\"\/40 ateliers valid\u00e9s \u00b7 \"+\n      (40-n)+\n      \" atelier(s) restant(s).\";\n\n  }\n\n}\n\n\n\/* =========================================================\n FILTERS\n========================================================= *\/\n\ndocument.querySelectorAll(\n  \"#mza-caftan-royal .filter\"\n).forEach(function(btn){\n\n  btn.onclick=function(){\n\n    document.querySelectorAll(\n      \"#mza-caftan-royal .filter\"\n    ).forEach(x=>x.classList.remove(\"active\"));\n\n    btn.classList.add(\"active\");\n\n    activeFilter=btn.dataset.filter;\n\n    render();\n\n  };\n\n});\n\n\n\/* =========================================================\n SEARCH\n========================================================= *\/\n\ndocument.getElementById(\n  \"couture-search\"\n).addEventListener(\"input\",render);\n\n\n\/* =========================================================\n RESET\n========================================================= *\/\n\ndocument.getElementById(\n  \"couture-reset\"\n).onclick=function(){\n\n  if(!confirm(\n    \"R\u00e9initialiser la progression du parcours Caftan ?\"\n  ))return;\n\n  completed=[];\n\n  saveProgress();\n\n  updateProgress();\n\n  render();\n\n  document.getElementById(\n    \"couture-detail\"\n  ).classList.remove(\"show\");\n\n};\n\n\n\/* =========================================================\n INIT\n========================================================= *\/\n\nrender();\nupdateProgress();\n\n})();\n<\/script>\n\n<\/div>\n\n\n\n<!-- ============================================================\n MZA COUTURE LAB\n MOTEUR MESURES + PATRONAGE\n============================================================ -->\n\n<section id=\"mza-couture-lab\">\n\n<style>\n#mza-couture-lab,\n#mza-couture-lab *{box-sizing:border-box}\n\n#mza-couture-lab{\n  --green:#07392c;\n  --gold:#c6a25b;\n  --ivory:#f7f2e8;\n  --wine:#681f2d;\n  --line:#ded0b4;\n  --ink:#181613;\n  --muted:#716b63;\n\n  padding:110px 0;\n  background:#f3eadc;\n  font-family:Arial,Helvetica,sans-serif;\n  color:var(--ink);\n}\n\n#mza-couture-lab .lab-wrap{\n  width:min(1250px,calc(100% - 30px));\n  margin:auto;\n}\n\n#mza-couture-lab .lab-head{\n  max-width:850px;\n  margin:0 auto 55px;\n  text-align:center;\n}\n\n#mza-couture-lab .eyebrow{\n  color:#9a7536;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:4px;\n}\n\n#mza-couture-lab h2{\n  margin:13px 0;\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:clamp(42px,7vw,72px);\n  font-weight:400;\n  line-height:1;\n}\n\n#mza-couture-lab .lab-head p{\n  color:var(--muted);\n  line-height:1.75;\n}\n\n#mza-couture-lab .lab-grid{\n  display:grid;\n  grid-template-columns:1fr 1fr;\n  gap:20px;\n}\n\n#mza-couture-lab .panel{\n  background:#fff;\n  border:1px solid var(--line);\n  padding:30px;\n}\n\n#mza-couture-lab .panel h3{\n  margin:0 0 7px;\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:30px;\n  font-weight:400;\n}\n\n#mza-couture-lab .panel-intro{\n  margin:0 0 25px;\n  color:var(--muted);\n  font-size:13px;\n  line-height:1.6;\n}\n\n#mza-couture-lab .form-grid{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  gap:12px;\n}\n\n#mza-couture-lab label{\n  display:block;\n  color:#8e6b32;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:.8px;\n}\n\n#mza-couture-lab input,\n#mza-couture-lab select{\n  width:100%;\n  margin-top:6px;\n  padding:12px;\n  border:1px solid #d9ccb3;\n  background:#fff;\n  color:#222;\n  outline:none;\n}\n\n#mza-couture-lab input:focus,\n#mza-couture-lab select:focus{\n  border-color:var(--gold);\n}\n\n#mza-couture-lab .full{\n  grid-column:1\/-1;\n}\n\n#mza-couture-lab .actions{\n  display:flex;\n  flex-wrap:wrap;\n  gap:9px;\n  margin-top:22px;\n}\n\n#mza-couture-lab button{\n  padding:12px 16px;\n  border:1px solid var(--green);\n  background:var(--green);\n  color:#fff;\n  font-size:9px;\n  font-weight:900;\n  letter-spacing:1px;\n  cursor:pointer;\n}\n\n#mza-couture-lab button.secondary{\n  background:#fff;\n  color:var(--green);\n  border-color:var(--gold);\n}\n\n#mza-couture-lab .result{\n  margin-top:25px;\n  display:none;\n}\n\n#mza-couture-lab .result.show{\n  display:block;\n}\n\n#mza-couture-lab .result-grid{\n  display:grid;\n  grid-template-columns:repeat(2,1fr);\n  border-top:1px solid var(--line);\n  border-left:1px solid var(--line);\n}\n\n#mza-couture-lab .result-card{\n  padding:16px;\n  border-right:1px solid var(--line);\n  border-bottom:1px solid var(--line);\n}\n\n#mza-couture-lab .result-card small{\n  display:block;\n  color:#9b7638;\n  font-size:8px;\n  font-weight:900;\n  letter-spacing:.8px;\n}\n\n#mza-couture-lab .result-card strong{\n  display:block;\n  margin-top:5px;\n  color:var(--green);\n  font-family:Georgia,serif;\n  font-size:22px;\n  font-weight:400;\n}\n\n#mza-couture-lab .warning{\n  display:none;\n  margin-top:16px;\n  padding:14px;\n  border-left:3px solid var(--wine);\n  background:#f7e9ec;\n  color:var(--wine);\n  font-size:12px;\n  line-height:1.5;\n}\n\n#mza-couture-lab .warning.show{\n  display:block;\n}\n\n#mza-couture-lab .pattern{\n  margin-top:25px;\n  padding:25px;\n  background:var(--ivory);\n  border:1px solid var(--line);\n}\n\n#mza-couture-lab .pattern svg{\n  width:100%;\n  height:auto;\n  background:#fff;\n  border:1px solid #ddd0b4;\n}\n\n#mza-couture-lab .note{\n  margin-top:18px;\n  padding:14px;\n  background:#f4ecdf;\n  color:#6e675f;\n  font-size:12px;\n  line-height:1.6;\n}\n\n@media(max-width:850px){\n  #mza-couture-lab .lab-grid{\n    grid-template-columns:1fr;\n  }\n}\n\n@media(max-width:560px){\n  #mza-couture-lab .form-grid,\n  #mza-couture-lab .result-grid{\n    grid-template-columns:1fr;\n  }\n}\n<\/style>\n\n<div class=\"lab-wrap\">\n\n<header class=\"lab-head\">\n  <div class=\"eyebrow\">MZA COUTURE LAB<\/div>\n  <h2>Mesures &#038; Patronage<\/h2>\n  <p>\n    Saisissez les mesures de la cliente puis g\u00e9n\u00e9rez\n    une base p\u00e9dagogique de patron pour caftan marocain.\n  <\/p>\n<\/header>\n\n<div class=\"lab-grid\">\n\n<!-- ============================================================\n MESURES\n============================================================ -->\n\n<div class=\"panel\">\n\n<h3>1. Fiche de mesures<\/h3>\n\n<p class=\"panel-intro\">\nToutes les valeurs sont exprim\u00e9es en centim\u00e8tres.\n<\/p>\n\n<div class=\"form-grid\">\n\n<label>\nNom cliente\n<input id=\"mzNom\" type=\"text\" placeholder=\"Nom \/ r\u00e9f\u00e9rence\">\n<\/label>\n\n<label>\nStature\n<input id=\"mzStature\" type=\"number\" min=\"120\" max=\"210\" value=\"165\">\n<\/label>\n\n<label>\nTour poitrine\n<input id=\"mzPoitrine\" type=\"number\" min=\"60\" max=\"180\" value=\"96\">\n<\/label>\n\n<label>\nTour taille\n<input id=\"mzTaille\" type=\"number\" min=\"50\" max=\"180\" value=\"78\">\n<\/label>\n\n<label>\nTour hanches\n<input id=\"mzHanches\" type=\"number\" min=\"60\" max=\"200\" value=\"104\">\n<\/label>\n\n<label>\nCarrure dos\n<input id=\"mzCarrure\" type=\"number\" min=\"25\" max=\"60\" value=\"38\">\n<\/label>\n\n<label>\nLargeur \u00e9paules\n<input id=\"mzEpaules\" type=\"number\" min=\"25\" max=\"60\" value=\"39\">\n<\/label>\n\n<label>\nTour cou\n<input id=\"mzCou\" type=\"number\" min=\"25\" max=\"60\" value=\"36\">\n<\/label>\n\n<label>\nLongueur dos\n<input id=\"mzDos\" type=\"number\" min=\"30\" max=\"60\" value=\"42\">\n<\/label>\n\n<label>\nLongueur devant\n<input id=\"mzDevant\" type=\"number\" min=\"35\" max=\"70\" value=\"45\">\n<\/label>\n\n<label>\nHauteur poitrine\n<input id=\"mzHP\" type=\"number\" min=\"15\" max=\"45\" value=\"27\">\n<\/label>\n\n<label>\n\u00c9cart poitrine\n<input id=\"mzEP\" type=\"number\" min=\"12\" max=\"35\" value=\"19\">\n<\/label>\n\n<label>\nLongueur manche\n<input id=\"mzManche\" type=\"number\" min=\"40\" max=\"80\" value=\"58\">\n<\/label>\n\n<label>\nTour bras\n<input id=\"mzBras\" type=\"number\" min=\"20\" max=\"70\" value=\"31\">\n<\/label>\n\n<label>\nTour coude\n<input id=\"mzCoude\" type=\"number\" min=\"18\" max=\"60\" value=\"27\">\n<\/label>\n\n<label>\nTour poignet\n<input id=\"mzPoignet\" type=\"number\" min=\"12\" max=\"40\" value=\"17\">\n<\/label>\n\n<label>\nLongueur caftan\n<input id=\"mzLongueur\" type=\"number\" min=\"100\" max=\"180\" value=\"145\">\n<\/label>\n\n<label>\nAisance souhait\u00e9e\n<select id=\"mzAisance\">\n<option value=\"4\">Ajust\u00e9 +4 cm<\/option>\n<option value=\"6\" selected>Confort +6 cm<\/option>\n<option value=\"10\">Ample +10 cm<\/option>\n<option value=\"14\">Tr\u00e8s ample +14 cm<\/option>\n<\/select>\n<\/label>\n\n<\/div>\n\n<div class=\"actions\">\n\n<button type=\"button\" id=\"mzCalcul\">\nCALCULER LES MESURES DE CONSTRUCTION\n<\/button>\n\n<button type=\"button\" class=\"secondary\" id=\"mzPrint\">\nIMPRIMER LA FICHE\n<\/button>\n\n<\/div>\n\n<div id=\"mzWarning\" class=\"warning\"><\/div>\n\n<div id=\"mzResult\" class=\"result\">\n\n<div class=\"result-grid\">\n\n<div class=\"result-card\">\n<small>\u00bc POITRINE + AISANCE<\/small>\n<strong id=\"rPoitrine\">\u2014<\/strong>\n<\/div>\n\n<div class=\"result-card\">\n<small>\u00bc TAILLE + AISANCE<\/small>\n<strong id=\"rTaille\">\u2014<\/strong>\n<\/div>\n\n<div class=\"result-card\">\n<small>\u00bc HANCHES + AISANCE<\/small>\n<strong id=\"rHanches\">\u2014<\/strong>\n<\/div>\n\n<div class=\"result-card\">\n<small>PROFONDEUR EMMANCHURE<\/small>\n<strong id=\"rEmmanchure\">\u2014<\/strong>\n<\/div>\n\n<div class=\"result-card\">\n<small>\u00bd CARRURE DOS<\/small>\n<strong id=\"rCarrure\">\u2014<\/strong>\n<\/div>\n\n<div class=\"result-card\">\n<small>LARGEUR ENCOLURE<\/small>\n<strong id=\"rEncolure\">\u2014<\/strong>\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n<!-- ============================================================\n PATRON\n============================================================ -->\n\n<div class=\"panel\">\n\n<h3>2. G\u00e9n\u00e9rateur de patron<\/h3>\n\n<p class=\"panel-intro\">\nVisualisation p\u00e9dagogique simplifi\u00e9e du devant,\ndu dos et de la manche.\n<\/p>\n\n<div class=\"actions\">\n\n<button type=\"button\" id=\"mzPattern\">\nG\u00c9N\u00c9RER LE PATRON\n<\/button>\n\n<button type=\"button\" class=\"secondary\" id=\"mzPatternPrint\">\nIMPRIMER LE PATRON\n<\/button>\n\n<\/div>\n\n<div id=\"mzPatternResult\" class=\"pattern\">\n\n<svg\n id=\"mzSvg\"\n viewBox=\"0 0 700 650\"\n xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n\n<text\n x=\"350\"\n y=\"320\"\n text-anchor=\"middle\"\n font-size=\"22\"\n fill=\"#777\">\nSaisissez les mesures puis cliquez sur\n\u00ab G\u00e9n\u00e9rer le patron \u00bb\n<\/text>\n\n<\/svg>\n\n<\/div>\n\n<div class=\"note\">\n<strong>Important :<\/strong>\nce moteur constitue une base p\u00e9dagogique de patronage.\nUn essayage sur toile reste indispensable avant coupe\ndans un tissu d\u00e9finitif, notamment pour les caftans\nstructur\u00e9s, brod\u00e9s ou r\u00e9alis\u00e9s dans des mati\u00e8res co\u00fbteuses.\n<\/div>\n\n<\/div>\n\n<\/div>\n\n<\/div>\n\n\n<script>\n(function(){\n\n\"use strict\";\n\nfunction n(id){\n  return Number(document.getElementById(id).value)||0;\n}\n\nfunction cm(x){\n  return x.toFixed(1)+\" cm\";\n}\n\nfunction calculate(){\n\n  const poitrine=n(\"mzPoitrine\");\n  const taille=n(\"mzTaille\");\n  const hanches=n(\"mzHanches\");\n  const carrure=n(\"mzCarrure\");\n  const cou=n(\"mzCou\");\n  const aisance=n(\"mzAisance\");\n\n  let warnings=[];\n\n  if(poitrine<=taille){\n    warnings.push(\n      \"V\u00e9rifiez poitrine et taille : la mesure poitrine est inhabituelle.\"\n    );\n  }\n\n  if(hanches<taille){\n    warnings.push(\n      \"V\u00e9rifiez le rapport taille\/hanches.\"\n    );\n  }\n\n  if(carrure<28 || carrure>55){\n    warnings.push(\n      \"La carrure saisie semble inhabituelle.\"\n    );\n  }\n\n  const qPoitrine=\n    poitrine\/4 + aisance\/4;\n\n  const qTaille=\n    taille\/4 + aisance\/4;\n\n  const qHanches=\n    hanches\/4 + aisance\/4;\n\n  const emmanchure=\n    poitrine\/6 + 7;\n\n  const demiCarrure=\n    carrure\/2;\n\n  const encolure=\n    cou\/6 + 0.5;\n\n  document.getElementById(\"rPoitrine\").textContent=\n    cm(qPoitrine);\n\n  document.getElementById(\"rTaille\").textContent=\n    cm(qTaille);\n\n  document.getElementById(\"rHanches\").textContent=\n    cm(qHanches);\n\n  document.getElementById(\"rEmmanchure\").textContent=\n    cm(emmanchure);\n\n  document.getElementById(\"rCarrure\").textContent=\n    cm(demiCarrure);\n\n  document.getElementById(\"rEncolure\").textContent=\n    cm(encolure);\n\n  document.getElementById(\"mzResult\")\n    .classList.add(\"show\");\n\n  const warn=\n    document.getElementById(\"mzWarning\");\n\n  if(warnings.length){\n    warn.innerHTML=\n      \"<strong>Contr\u00f4le des mesures :<\/strong><br>\"+\n      warnings.join(\"<br>\");\n    warn.classList.add(\"show\");\n  }else{\n    warn.classList.remove(\"show\");\n  }\n\n  return{\n    poitrine,\n    taille,\n    hanches,\n    carrure,\n    cou,\n    qPoitrine,\n    qTaille,\n    qHanches,\n    emmanchure,\n    demiCarrure,\n    encolure,\n    dos:n(\"mzDos\"),\n    devant:n(\"mzDevant\"),\n    manche:n(\"mzManche\"),\n    bras:n(\"mzBras\"),\n    poignet:n(\"mzPoignet\"),\n    longueur:n(\"mzLongueur\")\n  };\n\n}\n\n\nfunction generatePattern(){\n\n  const m=calculate();\n\n  const svg=\n    document.getElementById(\"mzSvg\");\n\n  const scale=2.6;\n\n  const bodyWidth=\n    Math.max(\n      m.qPoitrine,\n      m.qHanches\n    )*scale;\n\n  const bodyHeight=\n    Math.min(\n      m.longueur*2.8,\n      480\n    );\n\n  const armDepth=\n    m.emmanchure*scale;\n\n  const sleeveLength=\n    Math.min(\n      m.manche*4.3,\n      250\n    );\n\n  const sleeveTop=\n    (m.bras\/2+4)*scale;\n\n  const sleeveBottom=\n    (m.poignet\/2+3)*scale;\n\n  const frontX=80;\n  const backX=350;\n  const topY=70;\n\n  svg.innerHTML=`\n\n  <rect\n    x=\"1\"\n    y=\"1\"\n    width=\"698\"\n    height=\"648\"\n    fill=\"#fff\"\n    stroke=\"#e2d4b8\"\/>\n\n  <!-- DEVANT -->\n\n  <text\n    x=\"${frontX+bodyWidth\/2}\"\n    y=\"40\"\n    text-anchor=\"middle\"\n    font-size=\"16\"\n    fill=\"#07392c\">\n    DEVANT\n  <\/text>\n\n  <path\n    d=\"\n    M ${frontX} ${topY}\n    L ${frontX+bodyWidth} ${topY}\n    L ${frontX+bodyWidth+12} ${topY+armDepth}\n    L ${frontX+bodyWidth+15} ${topY+bodyHeight}\n    L ${frontX} ${topY+bodyHeight}\n    Z\n    \"\n    fill=\"rgba(198,162,91,.12)\"\n    stroke=\"#07392c\"\n    stroke-width=\"2\"\/>\n\n  <!-- ENCOLURE DEVANT -->\n\n  <path\n    d=\"\n    M ${frontX+bodyWidth\/2-m.encolure*scale\/2} ${topY}\n    Q ${frontX+bodyWidth\/2} ${topY+35}\n      ${frontX+bodyWidth\/2+m.encolure*scale\/2} ${topY}\n    \"\n    fill=\"none\"\n    stroke=\"#681f2d\"\n    stroke-width=\"2\"\/>\n\n  <!-- LIGNE TAILLE -->\n\n  <line\n    x1=\"${frontX}\"\n    y1=\"${topY+m.dos*scale}\"\n    x2=\"${frontX+bodyWidth}\"\n    y2=\"${topY+m.dos*scale}\"\n    stroke=\"#c6a25b\"\n    stroke-dasharray=\"6 5\"\/>\n\n  <!-- MILIEU DEVANT -->\n\n  <line\n    x1=\"${frontX+bodyWidth\/2}\"\n    y1=\"${topY}\"\n    x2=\"${frontX+bodyWidth\/2}\"\n    y2=\"${topY+bodyHeight}\"\n    stroke=\"#bbb\"\n    stroke-dasharray=\"4 4\"\/>\n\n\n  <!-- DOS -->\n\n  <text\n    x=\"${backX+bodyWidth\/2}\"\n    y=\"40\"\n    text-anchor=\"middle\"\n    font-size=\"16\"\n    fill=\"#07392c\">\n    DOS\n  <\/text>\n\n  <path\n    d=\"\n    M ${backX} ${topY}\n    L ${backX+bodyWidth} ${topY}\n    L ${backX+bodyWidth+12} ${topY+armDepth}\n    L ${backX+bodyWidth+15} ${topY+bodyHeight}\n    L ${backX} ${topY+bodyHeight}\n    Z\n    \"\n    fill=\"rgba(7,57,44,.06)\"\n    stroke=\"#07392c\"\n    stroke-width=\"2\"\/>\n\n  <path\n    d=\"\n    M ${backX+bodyWidth\/2-m.encolure*scale\/2} ${topY}\n    Q ${backX+bodyWidth\/2} ${topY+15}\n      ${backX+bodyWidth\/2+m.encolure*scale\/2} ${topY}\n    \"\n    fill=\"none\"\n    stroke=\"#681f2d\"\n    stroke-width=\"2\"\/>\n\n\n  <!-- MANCHE -->\n\n  <text\n    x=\"350\"\n    y=\"565\"\n    text-anchor=\"middle\"\n    font-size=\"16\"\n    fill=\"#07392c\">\n    MANCHE\n  <\/text>\n\n  <path\n    d=\"\n    M ${350-sleeveTop\/2} 590\n    Q 350 550 ${350+sleeveTop\/2} 590\n    L ${350+sleeveBottom\/2} ${590+sleeveLength\/4}\n    L ${350-sleeveBottom\/2} ${590+sleeveLength\/4}\n    Z\n    \"\n    fill=\"rgba(198,162,91,.10)\"\n    stroke=\"#07392c\"\n    stroke-width=\"2\"\/>\n\n  <text\n    x=\"18\"\n    y=\"630\"\n    font-size=\"11\"\n    fill=\"#777\">\n    MZA Couture Lab \u00b7 Patron p\u00e9dagogique \u00b7 Essayage toile obligatoire\n  <\/text>\n\n  `;\n\n}\n\n\ndocument.getElementById(\"mzCalcul\")\n.addEventListener(\"click\",calculate);\n\ndocument.getElementById(\"mzPattern\")\n.addEventListener(\"click\",generatePattern);\n\ndocument.getElementById(\"mzPrint\")\n.addEventListener(\"click\",function(){\n  window.print();\n});\n\ndocument.getElementById(\"mzPatternPrint\")\n.addEventListener(\"click\",function(){\n  window.print();\n});\n\n})();\n<\/script>\n\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>MZA MAISON DE COUTURE MAROCAINE \u00b7 MZA ACADEMY Caftan Haute Couture Construire la silhouette. Ma\u00eetriser le geste. Sublimer sfifa, a\u00e2kad, broderie et mati\u00e8res nobles. Puis cr\u00e9er sa propre signature. D\u00c9COUVRIR LES 40 ATELIERS COLLECTION SIGNATURE LA MAISON SAVOIR-FAIRE SILHOUETTES 40 ATELIERS COLLECTION FINALE 01 LA PHILOSOPHIE DE LA MAISON La richesse commence par la ligne. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1750","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/pages\/1750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/comments?post=1750"}],"version-history":[{"count":3,"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/pages\/1750\/revisions"}],"predecessor-version":[{"id":1754,"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/pages\/1750\/revisions\/1754"}],"wp:attachment":[{"href":"https:\/\/maroczain.com\/couture.maroczain.com\/wp-json\/wp\/v2\/media?parent=1750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}