{"id":17099,"date":"2025-11-03T12:22:02","date_gmt":"2025-11-03T12:22:02","guid":{"rendered":"https:\/\/northwesternhair.com\/?page_id=17099"},"modified":"2025-11-07T09:59:40","modified_gmt":"2025-11-07T09:59:40","slug":"galerie-de-test-curseur","status":"publish","type":"page","link":"https:\/\/northwesternhair.com\/fr\/test-gallery-slider\/","title":{"rendered":"Galerie de test avec curseur"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"17099\" class=\"elementor elementor-17099\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50284209 e-con-full e-flex e-con e-parent\" data-id=\"50284209\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6d31585e elementor-widget elementor-widget-shortcode\" data-id=\"6d31585e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <section class=\"section-before-slider\"><\/section>\n    <div class=\"gallery-slider-wrapper\">\n      <div class=\"gallery-slider\">\n                    <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_blue \"\n                data-id=\"17095\"\n                data-popup-video=\"https:\/\/www.youtube.com\/watch?v=i_uPKgXjwYQ\"\n                data-before-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/09\/7.1-B.png\"\n                data-after-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/09\/7.4-A.png\"\n                data-cta1-text=\"See What Worked\"\n                data-cta1-link=\"https:\/\/northwesternhair.com\/gallery\/jim\/\"\n                data-cta2-text=\"Book Your Consult\"\n                data-cta2-link=\"https:\/\/northwesternhair.com\/men-hair-book-a-consult\/\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Jim_DuringHairlineDesign.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17095\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">Jim&#8217;s case taught me something about the relationship between choice and satisfaction. I presented him with two hairline options, both technically conservative, but one visually more aggressive. He chose the bolder shape, and that decision made all the difference. The hairline itself will last him a lifetime, but what mattered most was that he owned [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Jim<\/h3>\n                    <p><strong>Jim&#8217;s case taught me something about the relationship between choice and satisfaction.<\/strong><\/p>\n<p>I presented him with two hairline options, both technically conservative, but one visually more aggressive. He chose the bolder shape, and that decision made all the difference. The hairline itself will last him a lifetime, but what mattered most was that he owned the choice. In the video, you&#8217;ll see the entire design process: how we map proportions, plan for aging, and balance ambition with long-term stability. Jim hasn&#8217;t worn a hat since. That tells you everything.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_pink no-popup\"\n                data-id=\"17097\"\n                data-popup-video=\"\"\n                data-before-img=\"\"\n                data-after-img=\"\"\n                data-cta1-text=\"\"\n                data-cta1-link=\"\"\n                data-cta2-text=\"\"\n                data-cta2-link=\"\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Maddy_DuringACS.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17097\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">Maddy works at our front desk, which means she sees this process unfold daily. But opening up about her own hair took time, and her nervousness around needles didn&#8217;t help. We started slow: adjusting medication, introducing minoxidil, building trust alongside the treatment plan. When we finally progressed to ACS, the results accelerated in a way [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Maddy<\/h3>\n                    <p><strong>Maddy works at our front desk, which means she sees this process unfold daily. <\/strong><\/p>\n<p>But opening up about her own hair took time, and her nervousness around needles didn&#8217;t help. We started slow: adjusting medication, introducing minoxidil, building trust alongside the treatment plan. When we finally progressed to ACS, the results accelerated in a way the earlier steps hadn&#8217;t.<\/p>\n<p>Watching someone you work with push through anxiety and reclaim what she&#8217;d been quietly struggling with\u2014that&#8217;s a different kind of satisfaction.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_blue \"\n                data-id=\"17096\"\n                data-popup-video=\"https:\/\/www.youtube.com\/watch?v=JwHl_0dGOkw\"\n                data-before-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/05\/IMG_7023.png\"\n                data-after-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/05\/IMG_6354.png\"\n                data-cta1-text=\"See What Worked\"\n                data-cta1-link=\"https:\/\/northwesternhair.com\/gallery\/wasif\/\"\n                data-cta2-text=\"Book Your Consult\"\n                data-cta2-link=\"https:\/\/northwesternhair.com\/men-hair-book-a-consult\/\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Wasif_DuringHairlineDesign.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17096\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">This video shows the process most clinics skip entirely. We spent 90 minutes mapping Wasif&#8217;s hairline, starting with where his hair loss will end, then working backward to design something that looks sharp today and natural in 20 years. You&#8217;ll see us collaborate with a professional stylist, adjust angles by millimeters to save hundreds of [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Wasif<\/h3>\n                    <p><strong>This video shows the process most clinics skip entirely. <\/strong><\/p>\n<p>We spent 90 minutes mapping Wasif&#8217;s hairline, starting with where his hair loss will end, then working backward to design something that looks sharp today and natural in 20 years. You&#8217;ll see us collaborate with a professional stylist, adjust angles by millimeters to save hundreds of grafts, and give Wasif real choices between shapes that both protect his future. The four-millimeter adjustment we made? Invisible from the front, but it preserved 800 grafts for his crown. This is what separates a good result from one that lasts a lifetime.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_blue \"\n                data-id=\"17094\"\n                data-popup-video=\"https:\/\/www.youtube.com\/watch?v=mFeJ-QhxB7c\"\n                data-before-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/10\/1-2-scaled-e1761102630954.png\"\n                data-after-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/10\/1-1-1-scaled-e1761102475363.png\"\n                data-cta1-text=\"See What Worked\"\n                data-cta1-link=\"https:\/\/northwesternhair.com\/gallery\/ari\/\"\n                data-cta2-text=\"Book Your Consult\"\n                data-cta2-link=\"https:\/\/northwesternhair.com\/men-hair-book-a-consult\/\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Ari_DuringHairlineDesign.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17094\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">His case became the one I use to teach hairline design. Ari&#8217;s early diffuse thinning meant we couldn&#8217;t follow the typical playbook, advancing the hairline would have been shortsighted. Instead, we focused on reshaping what he had &#8211; subtle adjustments to the existing frame that created definition without compromising his future. The approach required precision [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Ari<\/h3>\n                    <p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>His case became the one I use to teach hairline design.<br \/>\n<\/strong><br \/>\nAri&#8217;s early diffuse thinning meant we couldn&#8217;t follow the typical playbook, advancing the hairline would have been shortsighted. Instead, we focused on reshaping what he had &#8211; subtle adjustments to the existing frame that created definition without compromising his future. The approach required precision and restraint, which is exactly why it works as a teaching case. In the full video, you can watch the entire design process unfold in real time: how we evaluate proportions, map recession patterns, and plan for stability decades ahead. It shows that great outcomes aren&#8217;t always about doing more.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_pink \"\n                data-id=\"17093\"\n                data-popup-video=\"https:\/\/youtu.be\/uZlM1O4SFNo\"\n                data-before-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/05\/1.2-B-1.png\"\n                data-after-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/05\/1.2-A-1.png\"\n                data-cta1-text=\"See What Worked\"\n                data-cta1-link=\"https:\/\/northwesternhair.com\/gallery\/lisa\/\"\n                data-cta2-text=\"Book Your Consult\"\n                data-cta2-link=\"https:\/\/northwesternhair.com\/women-hair-book-a-consult\/\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Lisa_ACSTestimonialmp4.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17093\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">She walked in skeptical, and I understood why. By the time Lisa found us, she&#8217;d exhausted every conventional option &#8211; supplements, treatments, second opinions &#8211; with nothing to show for it. What turned things around wasn&#8217;t just the treatment plan. It was finally identifying what was actually causing her shedding. Once we understood the root [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Lisa<\/h3>\n                    <p><strong>She walked in skeptical, and I understood why.<br \/>\n<\/strong><br \/>\nBy the time Lisa found us, she&#8217;d exhausted every conventional option &#8211; supplements, treatments, second opinions &#8211; with nothing to show for it. What turned things around wasn&#8217;t just the treatment plan. It was finally identifying what was actually causing her shedding. Once we understood the root issue, we combined ACS with a targeted medication approach. The shift happened quickly. Her hair became fuller, easier, and most importantly, she stopped worrying about it. That&#8217;s the outcome that matters most.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_blue \"\n                data-id=\"17173\"\n                data-popup-video=\"\"\n                data-before-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/09\/5.2-B.png\"\n                data-after-img=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/09\/5.1-A.png\"\n                data-cta1-text=\"See What Worked\"\n                data-cta1-link=\"https:\/\/northwesternhair.com\/gallery\/matt\/\"\n                data-cta2-text=\"Book Your Consult\"\n                data-cta2-link=\"https:\/\/northwesternhair.com\/men-hair-book-a-consult\/\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Matt_AfterHairTransplant.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17173\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">Matt&#8217;s case was about understanding what the hairline needed to do. He works in entertainment, travels internationally, and operates in spaces where visual presence is currency. He didn&#8217;t ask for natural, he asked for power. We built a hairline with sharp, deliberate structure designed to demand attention. The approach was intentional, aggressive, and aligned with [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Matt<\/h3>\n                    <p><strong>Matt&#8217;s case was about understanding what the hairline needed to do. <\/strong><\/p>\n<p>He works in entertainment, travels internationally, and operates in spaces where visual presence is currency. He didn&#8217;t ask for natural, he asked for power.<\/p>\n<p>We built a hairline with sharp, deliberate structure designed to demand attention. The approach was intentional, aggressive, and aligned with exactly how he needs to show up in his world.<\/p>\n<p>Sometimes the goal isn&#8217;t to blend in. It&#8217;s to make a statement.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                      <div class=\"gallery_slider_inner\">\n              <div class=\"gallery-slide border_pink no-popup\"\n                data-id=\"17172\"\n                data-popup-video=\"\"\n                data-before-img=\"\"\n                data-after-img=\"\"\n                data-cta1-text=\"\"\n                data-cta1-link=\"\"\n                data-cta2-text=\"\"\n                data-cta2-link=\"\">\n                <div class=\"media-wrap \">\n                                        <video src=\"https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/Jillian_DuringACS.mp4\"  loop muted playsinline class=\"slide-media open-popup\" data-id=\"17172\"><\/video>\n                                    <button class=\"button_box mute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Mute tolstoy video\"><path d=\"M6.266 1.551a0.667 0.667 0 0 1 0.382 0.583v7.714c0 0.261 -0.161 0.482 -0.381 0.602a0.651 0.651 0 0 1 -0.703 -0.12L2.85 7.918h-1.346a1.269 1.269 0 0 1 -1.286 -1.286v-1.286c0 -0.703 0.562 -1.286 1.286 -1.286h1.346L5.563 1.671a0.651 0.651 0 0 1 0.703 -0.12Zm2.492 2.651 1.105 1.106 1.105 -1.106c0.18 -0.18 0.483 -0.18 0.663 0 0.201 0.201 0.201 0.502 0 0.683L10.526 5.991l1.106 1.104c0.201 0.201 0.201 0.502 0 0.683a0.44 0.44 0 0 1 -0.663 0l-1.106 -1.105 -1.104 1.106c-0.201 0.201 -0.502 0.201 -0.683 0 -0.201 -0.182 -0.201 -0.483 0 -0.684l1.105 -1.105L8.073 4.886c-0.2 -0.18 -0.2 -0.482 0 -0.683 0.182 -0.18 0.483 -0.18 0.684 0Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                  <button class=\"button_box unmute_btn\">\n                    <svg class=\"\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-label=\"Unmute tolstoy video\"><path d=\"M6.627 1.55c.238.101.411.342.411.583v7.714c0 .261-.173.482-.411.603a.742.742 0 0 1-.757-.121l-2.921-2.41H1.5c-.779 0-1.385-.563-1.385-1.286V5.347c0-.703.606-1.286 1.385-1.286h1.449l2.921-2.39a.742.742 0 0 1 .757-.121Zm3.721 1.447c.931.723 1.537 1.788 1.537 2.993 0 1.225-.606 2.29-1.537 2.993a.542.542 0 0 1-.735-.06c-.195-.201-.152-.502.065-.683.714-.522 1.168-1.326 1.168-2.25 0-.904-.454-1.708-1.168-2.23a.475.475 0 0 1-.065-.683.565.565 0 0 1 .735-.08ZM9.029 4.503c.476.362.779.884.779 1.487 0 .623-.303 1.145-.779 1.507a.55.55 0 0 1-.736-.081.454.454 0 0 1 .087-.663.966.966 0 0 0 .389-.763.928.928 0 0 0-.389-.743.475.475 0 0 1-.087-.683.57.57 0 0 1 .736-.061Z\" fill=\"#fff\"><\/path><\/svg>\n                  <\/button>\n                <\/div>\n                <div class=\"slide-desc\">\n                  <p class=\"short-desc\">Jillian is a high-end stylist and formulator &#8211; she creates hair health products for a living. When she started losing her own hair, she came in more educated and more skeptical than most. She&#8217;d already tried multiple treatments before her Northwestern physicians referred her for ACS. When ACS delivered what the other avenues hadn&#8217;t, it [&hellip;]<\/p>\n                  <div class=\"full-desc\">\n                    <h3>Jillian<\/h3>\n                    <p><strong>Jillian is a high-end stylist and formulator &#8211; she creates hair health products for a living. <\/strong><\/p>\n<p>When she started losing her own hair, she came in more educated and more skeptical than most. She&#8217;d already tried multiple treatments before her Northwestern physicians referred her for ACS.<\/p>\n<p>When ACS delivered what the other avenues hadn&#8217;t, it carried weight. Now she refers her own patients to us. Watching someone at her level shift from doubt to confidence, then to advocate&#8230; that&#8217;s its own kind of validation.<\/p>\n                  <\/div>\n                  <button class=\"toggle-desc\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                      <path d=\"M7.28125 3.3125C7.65625 2.90625 8.3125 2.90625 8.6875 3.3125L14.6875 9.3125C15.0938 9.6875 15.0938 10.3438 14.6875 10.7188C14.3125 11.125 13.6562 11.125 13.2812 10.7188L8 5.4375L2.6875 10.7188C2.3125 11.125 1.65625 11.125 1.28125 10.7188C0.875 10.3438 0.875 9.6875 1.28125 9.3125L7.28125 3.3125Z\" fill=\"black\"><\/path>\n                    <\/svg>\n                  <\/button>\n                <\/div>\n              <\/div>\n            <\/div>\n                <\/div>\n    <\/div>\n    <section class=\"section-after-slider\"><\/section>\n\n    <!-- Single reusable popup -->\n    <div class=\"gallery-popup\" id=\"gallery-popup\">\n      <button class=\"popup-close mobile-close\">\u2715<\/button>\n      <div class=\"popup-content\">\n        <button class=\"popup-close desk-close\">\u2715<\/button>\n        <div class=\"popup-left\">\n          <div class=\"popup-media\"><\/div>\n        <\/div>\n        <div class=\"popup-right\">\n          <div class=\"before-after\"><\/div>\n          <div class=\"popup-ctas\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/slick-carousel@1.8.1\/slick\/slick.css\"\/>\n    <link rel=\"stylesheet\" type=\"text\/css\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/slick-carousel@1.8.1\/slick\/slick-theme.css\"\/>\n    <script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/slick-carousel@1.8.1\/slick\/slick.min.js\"><\/script>\n\n    <script>\n      jQuery(document).ready( function($){\n        $('.gallery-slider').on('click', '.toggle-desc', function (e){\n          e.stopPropagation(); \/\/ prevent unwanted bubbling\n\n          const $slide = $(this).closest('.slick-slide');\n          const $desc = $slide.find('.full-desc');\n\n          \/\/ Close all other slides first\n          $('.full-desc').not($desc).slideUp();\n          $('.slide-desc').not($slide.find('.slide-desc')).removeClass('full_desc');\n          $('.toggle-desc').not(this).removeClass('open');\n\n          \/\/ Then toggle current\n          $desc.slideToggle();\n          $(this).toggleClass('open');\n          $slide.find('.slide-desc').toggleClass('full_desc');\n        });\n\n        \/\/ Open popup dynamically\n        $('.open-popup').on('click', function(){\n          const slide = $(this).closest('.gallery-slide');\n          let videoUrl  = slide.data('popup-video');\n          let beforeImg = slide.data('before-img');\n          let afterImg  = slide.data('after-img');\n\n          \/\/ STOP CLICK IF ALL ARE EMPTY\n          if( !videoUrl && !beforeImg && !afterImg ){\n            e.stopPropagation();\n            e.preventDefault();\n            return;\n          }\n\n          const $this = $(this);\n          \/\/ Mute all videos on popup open\n          $('video').each( function(){\n            this.muted = true;\n          });\n\n          \/\/ Reset mute\/unmute button states inside the clicked element\n          $('.unmute_btn').removeClass('show_mute');\n          $('.mute_btn').removeClass('hide_unmute');\n\n          const popup = $('#gallery-popup');\n          const popupMedia = popup.find('.popup-media');\n          const beforeAfter = popup.find('.before-after');\n          const ctas = popup.find('.popup-ctas');\n\n          popupMedia.html('');\n          beforeAfter.html('');\n          ctas.html('');\n\n          let cta1Text = slide.data('cta1-text');\n          let cta1Link = slide.data('cta1-link');\n          let cta2Text = slide.data('cta2-text');\n          let cta2Link = slide.data('cta2-link');\n          if( videoUrl && !(beforeImg || afterImg) ){\n            $('.popup-content').addClass('popup-content-video');\n            $('.popup-content').removeClass('popup-content-text');\n          }\n          if( (beforeImg || afterImg) && !videoUrl ){\n            $('.popup-content').addClass('popup-content-text');\n            $('.popup-content').removeClass('popup-content-video');\n          }\n          if( videoUrl && beforeImg && afterImg ){\n            $('.popup-content').removeClass('popup-content-text');\n            $('.popup-content').removeClass('popup-content-video');\n          }\n\n          \/\/ Handle YouTube or self-hosted\n          if( videoUrl ){\n            if( videoUrl.includes('youtube.com') || videoUrl.includes('youtu.be') ){\n              videoUrl = videoUrl\n                .replace('youtu.be\/', 'www.youtube.com\/embed\/')\n                .replace('watch?v=', 'embed\/');\n              popupMedia.html('<iframe src=\"'+videoUrl+'\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe>');\n            }else{\n              popupMedia.html('<video src=\"'+videoUrl+'\" controls autoplay muted playsinline><\/video>');\n            }\n          }\n\n          if( beforeImg || afterImg ){\n            let html = '';\n            if (beforeImg) html += '<div class=\"before\"><img decoding=\"async\" src=\"'+beforeImg+'\"><span>Before<\/span><\/div>';\n            if (afterImg) html += '<div class=\"after\"><img decoding=\"async\" src=\"'+afterImg+'\"><span>After<\/span><\/div>';\n            beforeAfter.html(html);\n\n            if (cta1Text) ctas.append('<a href=\"'+cta1Link+'\" class=\"btn cta1\" target=\"_blank\">'+cta1Text+'<\/a>');\n            if (cta2Text) ctas.append('<a href=\"'+cta2Link+'\" class=\"btn cta2\" target=\"_blank\">'+cta2Text+'<\/a>');\n          }\n          popup.fadeIn();\n        });\n\n        \/\/ Close popup\n        $('.popup-close').on('click', function(){\n          const popup = $('#gallery-popup');\n          popup.fadeOut();\n          popup.find('video').each(function(){ \n            this.pause(); \n          });\n          popup.find('iframe').attr('src', popup.find('iframe').attr('src'));\n        });\n      });\n\n      let activeSlide = null;\n      $('.gallery-slider').on('init afterChange', function( event, slick, currentSlide ){\n        const isInit = event.type === 'init';\n        const current = currentSlide ?? slick.currentSlide;\n        const centerIndex = current + Math.floor(slick.options.slidesToShow \/ 2);\n\n        \/* ---------- CENTER SLIDE ---------- *\/\n        slick.$slides.removeClass('slick-center');\n        if( centerIndex < slick.$slides.length ){\n          slick.$slides.eq(centerIndex).addClass('slick-center');\n        }\n\n        \/* ---------- RESET DESCRIPTIONS ---------- *\/\n        $('.full-desc').slideUp();\n        $('.slide-desc').removeClass('full_desc');\n        $('.toggle-desc').removeClass('open');\n\n        \/* ---------- RESET ALL VIDEOS ---------- *\/\n        $('video').each( function(){\n          this.pause();\n          this.removeAttribute('autoplay');\n          this.muted = true;\n          this.currentTime = 0;\n        });\n\n        $('.unmute_btn').removeClass('show_mute');\n        $('.mute_btn').removeClass('hide_unmute');\n\n        \/* ---------- FIND CENTER VIDEO ---------- *\/\n        const $centerSlide = slick.$slides.filter('.slick-center');\n        const video = $centerSlide.find('video').get(0);\n        if( !video ) return;\n\n        \/* ---------- AUTOPLAY (NO-STUCK FIX) ---------- *\/\n        const playSafeVideo = () => {\n          if( $centerSlide.is(':visible') ){\n            video.setAttribute('autoplay', true);\n            video.setAttribute('playsinline', '');\n            video.muted = true;\n\n            \/\/ Force browser reflow\n            void video.offsetHeight;\n\n            const playPromise = video.play();\n            if( playPromise ){\n              playPromise.catch(() => {\n                setTimeout(() => {\n                  video.play().catch(() => {});\n                }, 300);\n              });\n            }\n            $centerSlide.find('.unmute_btn').removeClass('show_mute');\n            $centerSlide.find('.mute_btn').removeClass('hide_unmute');\n          }else{\n            setTimeout(playSafeVideo, 150);\n          }\n        };\n\n        const delay = 100;\n        setTimeout(() => {\n          requestAnimationFrame(playSafeVideo);\n        }, delay);\n\n        \/* \u2705 Reset active slide tracker after navigation *\/\n        activeSlide = null;\n      });\n\n      $( '.gallery-slider' ).slick({\n        centerMode: false,\n        centerPadding: '60px', \/\/ space on sides of center slide\n        slidesToShow: 5,\n        arrows: true,\n        dots: false,\n        infinite:false,\n        initialSlide: 1,\n        responsive: [\n          {\n            breakpoint: 1200,\n            settings: {\n              centerMode: false,\n              centerPadding: '40px',\n              slidesToShow: 3\n            }\n          },\n          {\n            breakpoint: 768,\n            settings: {\n              centerMode: false,\n              centerPadding: '40px',\n              arrows: false,\n              slidesToShow: 1,\n              vertical: false, \n              verticalSwiping: false,\n              swipe: true\n            }\n          }\n        ]\n      });\n\n      $('.gallery-slider').on('mouseenter', '.slick-slide', function(){\n        const $this = $(this);\n\n        \/\/ Skip if same as current active slide\n        if( activeSlide && activeSlide.is($this) ) return;\n\n        \/\/ Skip if this slide has an open full description\n        if( $this.find('.slide-desc').hasClass('full_desc') ) return;\n\n        \/\/ Close any open descriptions\n        $('.full-desc').slideUp();\n        $('.slide-desc').removeClass('full_desc');\n        $('.toggle-desc').removeClass('open');\n\n        \/\/ Pause all videos\n        $('video').each( function(){\n          this.pause();\n          this.removeAttribute('autoplay');\n          this.muted = true;\n        });\n\n        \/\/ Update center visual state\n        $('.gallery-slider .slick-slide').removeClass('slick-center');\n        $this.addClass('slick-center');\n\n        \/\/ Play the hovered video\n        const video = $this.find('video').get(0);\n        if(video){\n          video.setAttribute('autoplay', true);\n          video.muted = true;\n          video.play();\n          $this.find('.unmute_btn').removeClass('show_mute');\n          $this.find('.mute_btn').removeClass('hide_unmute');\n        }\n        \/\/ Track this slide as active\n        activeSlide = $this;\n      });\n           \n      $(document).ready( function(){\n        const video = $('.slick-center video').get(0);\n        if( video ){\n          video.setAttribute('autoplay', true);\n        }\n      });\n\n      $(document).on('click', '.mute_btn', function(){\n        const video = $(this).closest('.slick-center').find('video').get(0);\n        if( video ){\n          video.muted = false;\n          $(this).addClass('hide_unmute');\n          $(this).siblings('.unmute_btn').addClass('show_mute');\n        }\n      });\n\n      $(document).on('click', '.unmute_btn', function(){\n        const video = $(this).closest('.slick-center').find('video').get(0);\n        if( video ){\n          video.muted = true;\n          video.play();\n          $(this).removeClass('show_mute');\n          $(this).siblings('.mute_btn').removeClass('hide_unmute');\n        }\n      });\n\n      ( function($){\n        let startY = 0;\n        let touchingSlider = false;\n        let locked = false;\n\n        const slider = $('.gallery-slider');\n        const container = document.querySelector('.slider-meet');\n\n        function getSlick(){\n          return slider.hasClass('slick-initialized')\n            ? slider.slick('getSlick')\n            : null;\n        }\n\n        function updateScrollLock(){\n          const slick = getSlick();\n          if( !slick ) return;\n\n          const atFirst = slick.currentSlide === 0;\n          const atLast  = slick.currentSlide === slick.slideCount - 1;\n\n          container.classList.remove('unlock-first', 'unlock-last', 'lock-scroll');\n\n          if( atFirst ){\n            container.classList.add('unlock-first');\n          }else if( atLast ){\n            container.classList.add('unlock-last');\n          }else{\n            container.classList.add('lock-scroll');\n          }\n        }\n\n        slider.on( 'init afterChange', updateScrollLock );\n\n        \/* ---------- TOUCH START ---------- *\/\n        document.addEventListener( 'touchstart', function(e){\n          if( window.innerWidth > 767 ) return;\n\n          const touch = e.touches[0];\n          const el = document.elementFromPoint(touch.clientX, touch.clientY);\n\n          touchingSlider = !!(el && el.closest('.slider-meet'));\n          startY = touch.clientY;\n        }, true);\n\n        \/* ---------- TOUCH MOVE ---------- *\/\n        document.addEventListener('touchmove', function (e) {\n          if( window.innerWidth > 767 ) return;\n          if( !touchingSlider ) return;\n\n          if( container.classList.contains('lock-scroll') ){\n            e.preventDefault();\n          }\n        }, { passive: false, capture: true });\n\n        \/* ---------- TOUCH END ---------- *\/\n        document.addEventListener( 'touchend', function(e){\n          if( window.innerWidth > 767 ) return;\n          if( !touchingSlider ) return;\n\n          const touch = e.changedTouches[0];\n          const diff = startY - touch.clientY;\n\n          if( Math.abs(diff) < 60 ) return;\n\n          const slick = getSlick();\n          if( !slick ) return;\n\n          \/* FIRST SLIDE \u2192 SCROLL UP *\/\n          if( slick.currentSlide === 0 && diff < 0 ){\n            touchingSlider = false;\n            return;\n          }\n\n          \/* LAST SLIDE \u2192 SCROLL DOWN *\/\n          if( slick.currentSlide === slick.slideCount - 1 && diff > 0 ){\n            touchingSlider = false;\n            return;\n          }\n\n          if( locked ) return;\n          locked = true;\n\n          diff > 0\n            ? slider.slick('slickNext')\n            : slider.slick('slickPrev');\n\n          setTimeout(() => locked = false, 700);\n        }, true);\n      })( jQuery );\n    <\/script>\n\n    <style>\n      .gallery-slider-wrapper{ \n        overflow:hidden; \n      }\n      .gallery-slider{ \n        display:flex; \n        gap:20px; \n      }\n      .gallery-slide{ \n        background:#fff; \n        border-radius:16px;  \n        position:relative; \n        scroll-snap-align:start; \n        border:3px solid transparent; \n        transition:.3s; \n      }\n      .gallery-slide .border_pink:hover{ \n        border-color:#f36; \n      }\n      .gallery-slide .border_blue:hover{ \n        border-color:blue; \n      }\n      .slide-media{ \n        width:100%; \n        cursor:pointer; \n        display:block; \n        border-bottom:1px solid #eee; \n      }\n      .slide-desc{ \n        padding:12px; \n        position:relative; \n      }\n      .slide-desc .full-desc{ \n        display:none; \n      }\n      .toggle-desc{ \n        background:none; \n        border:none; \n        font-size:18px; \n        cursor:pointer; \n        position:absolute; \n        right:10px; \n        bottom:5px; \n      }\n\n      \/* Popup *\/\n      .gallery-popup{ \n        display:none; \n        position:fixed; \n        inset:0; \n        background:rgba(0,0,0,0.7); \n        z-index:9999; \n        justify-content:center; \n        align-items:center; \n      }\n      .popup-content{ \n        background:#fff; \n        border-radius:12px; \n        max-width:800px; \n        width:90%; \n        padding:20px; \n        position:relative; \n      }\n      .popup-close{ \n        position:absolute; \n        top:10px; \n        right:10px; \n        background:none; \n        border:none; \n        font-size:24px; \n        cursor:pointer; \n      }\n      .popup-content video, .popup-content img, .popup-content iframe{ \n        width:100%; \n        border-radius:10px; \n      }\n      .before-after{ \n        display:flex; \n        gap:10px; \n        justify-content:center; \n        margin-top:15px; \n      }\n      .before, .after{ \n        text-align:center; \n      }\n      .before img, .after img{\n        width:120px; \n        border-radius:10px; \n      }\n      .popup-ctas{ \n        display:flex; \n        flex-direction:column; \n        gap:10px; \n        margin-top:20px; \n      }\n      .popup-ctas .btn{ \n        display:block; \n        padding:12px; \n        text-align:center; \n        border-radius:8px; \n        text-decoration:none; \n        font-weight:bold; \n      }\n      .popup-ctas .cta1{ \n        background:#fff; \n        color:#000; \n        border-radius: 35px; \n      }\n      .popup-ctas .cta2{ \n        background:#fcc244; \n        color:#000; \n        border-radius: 35px; \n      }\n      p.short-desc{\n        font-size: 16px;\n        line-height: 24px;\n        -webkit-box-orient: vertical;\n        -webkit-line-clamp: 3;\n        overflow: hidden;\n        display: -webkit-box;\n        color: #111;\n      }\n      .gallery-slider .slick-slide.slick-center{\n        transition: transform 0.3s ease;\n        z-index: 2;\n      }\n      .full-desc p{\n        font-size: 16px;\n        line-height: 24px;\n        color: #111;\n      }\n      .gallery_slider_inner{\n        position: relative;\n        min-height: 635px;\n        overflow: hidden;\n        display: flex !important;\n        align-items: center;\n        justify-content: center;\n        width: 100%;\n        padding: 0 6px;\n      }\n      .gallery-slide{\n        width: 100%;\n        min-height: 520px;\n      }\n      .popup-content.popup-content-text, .popup-content.popup-content-video{\n        display: block;\n      }\n      .gallery_slider_inner.slick-center{\n        min-height: 635px;\n      }\n      .slick-center .gallery-slide{\n        min-height: 635px;\n      }\n      .slick-center .poster-img{\n        display: none;\n      }\n      .gif-img{\n        display: none;\n      }\n      .slick-center .gif-img{\n        display: block;\n      }\n      button.toggle-desc{\n        padding: 0 !important;\n        background: transparent;\n        border: none !important;\n        position: absolute;\n        right: 25px;\n        top: 50%;\n        transform: translateY(-50%);\n      }\n      .media-wrap{\n        height: 388px;\n        overflow: hidden;\n        border-radius: 18px;\n        border: 5px solid #fb056d;\n        position: relative;\n      }\n      .unmute_btn{\n        display: none;\n      }\n      .button_box{\n        position: absolute;\n        bottom: 10px;\n        right: 10px;\n        padding: 15px !important;\n        background: rgba(0, 0, 0, 0.5) !important;\n        border: none !important;\n        height: auto !important;\n        min-height: inherit !important;\n        display: flex     ;\n        align-items: center;\n        justify-content: center;\n      }\n      .border_blue .media-wrap{\n        border-color: #142e67;\n      }\n      .media-wrap img, .media-wrap video{\n        width: 100%;\n        height: 100%;\n        object-fit: cover;\n        border-radius: 0;\n      }\n      .gallery-slider{\n        align-items: center;\n        padding-bottom: 80px;\n        padding-top: 80px;\n        width: 94%;\n        margin: 0 auto;\n      }\n      .slider-meet .gallery-slider{\n        padding-top: 40px;\n      }\n      .slider-meet .gallery-slide, .slider-meet .slide-desc{\n        background: #f3f1e6;\n      }\n      .gallery-slider button.slick-arrow.slick-disabled{\n        opacity: 0.5;\n      }\n      .slide-desc{\n        padding: 12px 35px 12px 12px;\n        border-radius: 12px;\n        border: 1px solid;\n        margin-top: 15px;\n        position: absolute;\n        bottom: 0;\n        left: 0;\n        min-height: 100px;\n        max-height: 100px;\n        transition: min-height 0.5s, max-height 0.5s;\n        background: #fff;\n        border-color: #c19e79;\n        overflow: hidden;\n      }\n      .slide-desc.full_desc{\n        min-height: 100%;\n        max-height: 100%;\n        position: absolute;\n        overflow-y: auto;\n      }\n      button.toggle-desc.open{\n        top: 45px;\n        transform: rotate(180deg) translateY(-10px);\n        height: 0;\n      }\n      .popup-content{\n        border-radius: 12px;\n        width: 96%;\n        padding: 20px;\n        position: absolute;\n        top: 50%;\n        transform: translateY(-50%);\n        max-width: 100%;\n        margin: 0 auto;\n        background: transparent;\n        display: flex;    \n        flex-wrap: wrap;\n        justify-content: center;\n        align-items: center;\n        left: 0;\n        right: 0;\n        margin: 0 auto;\n      }\n      .popup-left{\n        width: 61%;\n        margin: 0 auto;\n      }\n      .popup-right{\n        width: 35%;\n        margin: 0 auto;\n      }\n      .iframe-box iframe{\n          height: 600px; \n      }\n      .before-after{\n        column-gap: 30px;\n      }\n      .before-after img{\n        width: 100%;\n        overflow: hidden;\n        border-radius: 10px;\n      }\n      .before img{\n        border: 2px solid #595959;\n      }\n      .after img{\n        border: 2px solid #00d29e;\n      }\n      .before-after span{\n        background: #fff;\n        display: flex;\n        width: max-content;\n        margin: 0 auto;\n        padding: 10px 25px;\n        margin-top: -10px;\n        font-weight: bold;\n        color: #000;\n        border-bottom-left-radius: 15px;\n        border-bottom-right-radius: 15px;\n      }\n      button.popup-close{\n        color: #fff !important;\n        padding: 0;\n        background: transparent !important;\n        border: none !important;\n        font-size: 25px;\n        top: 0px;\n        right: 22px;\n      }\n      .mobile-close{\n        display: none;\n      }\n      .slick-center .media-wrap{\n        height: 500px;\n      }\n      .gallery-slider .slick-track{\n        display: flex;\n        align-items: center;\n      }\n      .full_desc .short-desc{\n        display: none;\n      }\n      .slide-desc.full_desc .full-desc{\n        display: block;\n      }\n      .gallery-slider button.slick-arrow{\n        background: transparent;\n        border: none;\n        bottom: 0;\n        padding: 0;\n        top: inherit;\n        margin: 0 auto;\n        width: 35px;\n        height: 25px;\n        min-width: 35px;\n        background-image: url(https:\/\/northwesternhair.com\/wp-content\/uploads\/2025\/11\/right-arrow.svg);\n        font-size: 0;\n        opacity: 1;\n        background-repeat: no-repeat;\n        background-position: center;\n        top: 50%;\n        transform: translateY(-50%);\n      }\n      .gallery-slider button.slick-arrow:after, .gallery-slider button.slick-arrow:before{\n        display: none;\n      }\n      .gallery-slider button.slick-arrow.slick-next{\n        right: -45px;\n        bottom: 0px;\n        transform: rotate(180deg);\n      }\n      .gallery-slider button.slick-arrow.slick-prev{\n        left: -45px;\n      }\n      .unmute_btn{\n        display: none;\n      }\n      .slide-desc.full_desc .full-desc h3{\n        font-size: 26px;\n      }\n      .slick-center .unmute_btn{\n        display: none;\n      }\n      .popup-media iframe{\n        height: 530px;\n      } \n      .slick-center .mute_btn.show_mute{\n        display: flex;\n      }\n      .slick-center .mute_btn.hide_mute{\n        display: none;\n      }\n      .slick-center .unmute_btn.show_mute{\n        display: flex;\n      }\n      .gallery-slide.no-popup .slide-media{\n        cursor: default !important;\n        pointer-events: none !important;\n      }\n\n      @media screen and (min-width: 1601px) and (max-width: 1401px){\n        .gallery-slider button.slick-arrow.slick-prev{\n          left: -35px;\n        }\n        .gallery-slider button.slick-arrow.slick-next{\n          right: -35px;\n        }\n      }\n      @media screen and (min-width: 1201px) and (max-width: 1400px){\n        .gallery-slider button.slick-arrow.slick-prev{\n          left: -30px;\n        }\n        .gallery-slider button.slick-arrow.slick-next{\n          right: -30px;\n        }\n      }\n      @media screen and (min-width: 1025px) and (max-width: 1200px){\n        .gallery-slider button.slick-arrow.slick-prev{\n          left: -30px;\n        }\n        .gallery-slider button.slick-arrow.slick-next{\n          right: -30px;\n        }\n      }\n      @media screen and (min-width: 768px) and (max-width: 1024px){\n        .gallery_slider_inner.slick-center{\n          min-height: 585px;\n        }\n        .gallery_slider_inner{\n          min-height: 585px;\n        }\n        .gallery-slide{\n            min-height: 475px;\n        }\n        .slide-desc.full_desc .full-desc h3{\n          font-size: 20px;\n        }\n        p.short-desc, .full-desc p{\n          font-size: 15px;\n        }\n        .slick-center .gallery-slide{\n            min-height: 585px;\n        }\n        .media-wrap{\n          height: 355px;\n        }\n        .slick-center .media-wrap{\n            height: 465px;\n        }\n        .gallery-slider{\n          width: 90%;\n        }\n        .gallery-slider button.slick-arrow.slick-prev{\n          left: -30px;\n        }\n        .gallery-slider button.slick-arrow.slick-next{\n          right: -30px;\n        }\n      }\n      @media screen and (max-width: 767px){\n        .slider-meet.lock-scroll{\n          touch-action: none;\n        }\n        .slider-meet.unlock-first,\n        .slider-meet.unlock-last{\n          touch-action: pan-y !important;\n        }\n        .popup-content{\n          grid-template-columns: 100%;\n          height: auto;\n          position: absolute;\n          left: 0;\n          right: 0;\n          margin: 0 auto;\n          top: 50%;\n          transform: translateY(-50%);\n        }\n        .gallery-slider .slick-track{\n          display: block;\n        }\n        .gallery-slider{\n          width: 85%;\n        }\n        .gallery-slider button.slick-arrow.slick-prev{\n          left: -30px;\n        }\n        .gallery-slider button.slick-arrow.slick-next{\n          right: -30px;\n        }\n        .desk-close{\n          display: none;\n        }\n        .mobile-close{\n          display: block;\n        }\n        .gallery-slider{\n          padding-bottom: 40px;\n        }\n        .slider-meet .gallery-slider{\n          padding-bottom: 20px;\n          padding-top: 0;\n        }\n        .popup-media iframe{\n          height: 250px;\n        }\n        .popup-ctas .cta1, .popup-ctas .cta2{\n          max-width: 230px;\n          margin: 0 auto;\n          width: 100%;\n        }\n        .popup-ctas{\n          margin-top: 40px;\n        }\n        .media-wrap{\n          height: 475px;\n        }\n        .slick-center .media-wrap{\n          height: 475px;\n        }\n        .gallery_slider_inner{\n          min-height: 600px;\n        }\n        .gallery-slide{\n          min-height: 600px;\n        }\n        .slick-center .gallery-slide{\n          min-height: 600px;\n        }\n        .slide-desc.full_desc .full-desc h3{\n          font-size: 22px;\n        }\n        .full-desc p{\n          font-size: 15px;\n        }\n        .gallery_slider_inner.slick-center{\n          min-height: 530px;\n        }\n        .popup-left{\n          width: 100%;\n        }\n        .popup-right{\n          width: 100%;\n        }\n        button.popup-close{\n          top: 75px;\n        }\n      }\n      @media screen and (max-width: 400px){\n        button.popup-close{\n          top: 50px;\n          z-index: 99999;\n        }\n      }\n      @media screen and (max-width: 380px){\n        .popup-media iframe{\n          height: 200px;\n        }\n        .popup-left{\n          margin-top: 30px;\n          width: 100%;\n        }\n        button.popup-close{\n          top: 15px;\n          z-index: 99999;\n        }\n      }\n    <\/style>\n  <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-17099","page","type-page","status-publish","hentry","has-read-time","read-time-1"],"acf":[],"_links":{"self":[{"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/pages\/17099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/comments?post=17099"}],"version-history":[{"count":5,"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/pages\/17099\/revisions"}],"predecessor-version":[{"id":17401,"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/pages\/17099\/revisions\/17401"}],"wp:attachment":[{"href":"https:\/\/northwesternhair.com\/fr\/wp-json\/wp\/v2\/media?parent=17099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}