{"id":626,"date":"2026-05-06T15:07:23","date_gmt":"2026-05-06T13:07:23","guid":{"rendered":"https:\/\/nylaw.ma\/a-propos\/"},"modified":"2026-06-08T13:21:49","modified_gmt":"2026-06-08T11:21:49","slug":"about-us","status":"publish","type":"page","link":"https:\/\/nylaw.ma\/en\/about-us\/","title":{"rendered":"About us"},"content":{"rendered":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<section class=\"bg-beige-1 nl-layer-behind hc--has-right relative overflow-hidden flex flex-col justify-center\"\n         style=\"padding-top: max(6rem, 6vh);\"\n         id=\"hc-6a34eb07a70b1\">\n\n    <!-- Watermark papillon (vide pour NY Law) -->\n    \n    <div class=\"nl-container relative z-1\">\n        <div class=\"hc-grid\">\n\n            <!-- Colonne gauche : contenu texte -->\n            <div class=\"hc-left\">\n\n                                    <!-- Eyebrow (signature design system NY Law) -->\n                    <p class=\"hc-pretitle nl-eyebrow \"\n                       style=\"margin: 0 0 1.5rem; opacity: 0; transform: translateY(16px)\">\n                        About us                    <\/p>\n                \n                <!-- Titre principal (weight 400) + texte d'emphasis optionnel (weight 500, ligne en dessous) -->\n                <h1 class=\"text-nourd-impact text-brown-900 m-0 leading-[0.92] tracking-tight hc-title max-w-4xl\"\n                    style=\"font-size: clamp(2.8rem, 7.5vw, 6rem); font-weight: 400\">\n                    <span class=\"hc-title__base\">Paris. Casablanca. <\/span>\n                                            <span class=\"hc-title__emphasis\">One story.<\/span>\n                                    <\/h1>\n\n                <!-- Ligne accent brown-800 anim\u00e9e (signature NY Law) -->\n                <div class=\"bg-brown-800 h-[3px] mt-6 md:mt-8 hc-accent\" style=\"width: 0; max-width: 120px\"><\/div>\n\n                <!-- Sous-titre -->\n                                    <p class=\"hc-sub font-display text-[clamp(1.3rem,1.5vw,1.35rem)] text-brown-900\/70 mt-6 md:mt-8 mb-0 max-w-2xl leading-relaxed\">\n                        A friendship born in Paris. Two practices brought together in Casablanca.                    <\/p>\n                \n                                    <!-- Scroll cue discret (NY Law : \u00e9ditorial, pas un gros indicator) -->\n                    <button type=\"button\"\n                            class=\"hc-scroll mt-14 md:mt-20 inline-flex items-center gap-3 bg-transparent border-0 cursor-pointer p-2 transition-opacity duration-300 hover:opacity-100 [-webkit-tap-highlight-color:transparent]\"\n                            style=\"color: var(--color-brown-900); opacity: 0.55;\"\n                            aria-label=\"Scroller vers la section suivante\"\n                            data-hc-scroll>\n                        <span class=\"nl-eyebrow \" style=\"margin: 0; opacity: 1;\">Discover more<\/span>\n                        <svg class=\"hc-scroll-arrow\" width=\"14\" height=\"22\" viewBox=\"0 0 14 22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" aria-hidden=\"true\">\n                            <path d=\"M7 1v18M1 13l6 6 6-6\"\/>\n                        <\/svg>\n                    <\/button>\n                            <\/div>\n\n            <!-- Colonne droite (optionnelle) : image | gallery | svg -->\n                            <div class=\"hc-right hc-right--image\" aria-hidden=\"false\">\n\n                                            <figure class=\"hc-right__image-wrap\">\n                            <img fetchpriority=\"high\" decoding=\"async\" class=\"hc-right__image\"\n                                 src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/associe-1-1.webp\"\n                                 alt=\"\"\n                                 loading=\"eager\"\n                                 width=\"2560\"                                 height=\"1706\">\n                        <\/figure>\n\n                    \n                <\/div>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<script>\n(function() {\n    var section = document.getElementById('hc-6a34eb07a70b1');\n    if (!section) return;\n\n    var pretitle = section.querySelector('.hc-pretitle');\n    var title    = section.querySelector('.hc-title');\n    var accent   = section.querySelector('.hc-accent');\n    var sub      = section.querySelector('.hc-sub');\n    var scrollBtn = section.querySelector('[data-hc-scroll]');\n\n    \/* === Scroll cue : click \u2192 scroll vers la section suivante (Lenis si dispo) === *\/\n    if (scrollBtn) {\n        scrollBtn.addEventListener('click', function() {\n            var next = section.nextElementSibling;\n            while (next && (next.offsetHeight === 0 || next.tagName === 'SCRIPT' || next.tagName === 'STYLE')) {\n                next = next.nextElementSibling;\n            }\n            if (!next) {\n                window.scrollBy({ top: window.innerHeight * 0.85, behavior: 'smooth' });\n                return;\n            }\n            var header = document.querySelector('.site-header, header.site-header, header[role=\"banner\"]');\n            var offset = (header ? header.getBoundingClientRect().height : 80) + 16;\n            var y = next.getBoundingClientRect().top + window.pageYOffset - offset;\n            if (window.lenis && typeof window.lenis.scrollTo === 'function') {\n                window.lenis.scrollTo(y, { duration: 1.0 });\n            } else {\n                window.scrollTo({ top: y, behavior: 'smooth' });\n            }\n        });\n    }\n\n    \/* === Animations entr\u00e9e \u2014 fallback no-GSAP \/ reduce-motion === *\/\n    if (typeof gsap === 'undefined' || window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n        if (pretitle) { pretitle.style.opacity = '1'; pretitle.style.transform = 'none'; }\n        if (title)    { title.style.opacity = '1'; title.style.transform = 'none'; }\n        if (accent)   { accent.style.width = '120px'; }\n        if (sub)      { sub.style.opacity = '1'; sub.style.transform = 'none'; }\n        return;\n    }\n\n    gsap.set(title, { opacity: 0, y: 30 });\n    if (accent) gsap.set(accent, { width: 0 });\n    if (sub) gsap.set(sub, { opacity: 0, y: 20 });\n\n    \/* Cascade \u00e9ditoriale : eyebrow \u2192 titre \u2192 filet \u2192 sous-titre\n       Ease 'power4.out' \u2248 cubic-bezier(0.22, 1, 0.36, 1) du motion guide *\/\n    var tl = gsap.timeline({ delay: 0.2 });\n    if (pretitle) tl.to(pretitle, { opacity: 1, y: 0, duration: 0.8, ease: 'power4.out' });\n    tl.to(title, { opacity: 1, y: 0, duration: 1.2, ease: 'power4.out' }, pretitle ? '-=0.5' : '0');\n    if (accent) tl.to(accent, { width: 120, duration: 0.8, ease: 'power3.out' }, '-=0.7');\n    if (sub) tl.to(sub, { opacity: 1, y: 0, duration: 1.0, ease: 'power4.out' }, '-=0.6');\n\n    \/* === SVG shape : activer l'animation .is-revealed apr\u00e8s l'entr\u00e9e du texte === *\/\n    var svgWrap = section.querySelector('.hc-right__svg');\n    if (svgWrap) {\n        setTimeout(function () { svgWrap.classList.add('is-revealed'); }, 600);\n    }\n\n    \/* === Galerie : carousel crossfade automatique === *\/\n    var gallery = section.querySelector('[data-hc-gallery]');\n    if (gallery) {\n        var slides = gallery.querySelectorAll('.hc-right__gallery-slide');\n        if (slides.length > 1) {\n            var current = 0;\n            var paused  = false;\n            \/* Pause au hover (UX premium) *\/\n            gallery.addEventListener('mouseenter', function () { paused = true; });\n            gallery.addEventListener('mouseleave', function () { paused = false; });\n\n            setInterval(function () {\n                if (paused) return;\n                slides[current].classList.remove('is-active');\n                current = (current + 1) % slides.length;\n                slides[current].classList.add('is-active');\n            }, 4500); \/* 4.5s par slide \u2014 rythme premium, pas press\u00e9 *\/\n        }\n    }\n})();\n<\/script>\n\n<style>\n\/* Titre principal weight 400 + emphasis weight 500 (signature \u00e9ditoriale subtile)\n   Spans en display:block pour que l'emphasis se place sur sa propre ligne. *\/\n#hc-6a34eb07a70b1 .hc-title__base,\n#hc-6a34eb07a70b1 .hc-title__emphasis {\n    display: block;\n        line-height:normal;\n}\n#hc-6a34eb07a70b1 .hc-title__base {\n    font-weight: 300;\n    line-height:normal;\n}\n#hc-6a34eb07a70b1 .hc-title__emphasis {\n    font-weight: 400;\n}\n\n\/* Hover scroll cue : fl\u00e8che descend subtilement *\/\n#hc-6a34eb07a70b1 .hc-scroll-arrow {\n    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#hc-6a34eb07a70b1 .hc-scroll:hover .hc-scroll-arrow {\n    transform: translateY(4px);\n}\n@media (prefers-reduced-motion: reduce) {\n    #hc-6a34eb07a70b1 .hc-scroll-arrow { transition: none; }\n}\n\n\/* Mode \"arri\u00e8re-plan\" : utility globale .nl-layer-behind dans style.css *\/\n\n\/* ============================================\n   Layout grid quand contenu \u00e0 droite (image \/ gallery \/ svg)\n   ============================================ *\/\n#hc-6a34eb07a70b1 .hc-grid {\n    display: grid;\n    grid-template-columns: 1fr;\n    \/* gap: 3rem; *\/\n    align-items: center;\n}\n@media (min-width: 1024px) {\n    #hc-6a34eb07a70b1.hc--has-right .hc-grid {\n        grid-template-columns: 1fr 1fr;\n        \/* gap: 4rem; *\/\n    }\n}\n@media (min-width: 1280px) {\n    #hc-6a34eb07a70b1.hc--has-right .hc-grid {\n        \/* gap: 5rem; *\/\n    }\n}\n\n\/* === Container right column : hauteur contrainte + centrage vertical ===\n   \u00c9vite que l'image\/galerie d\u00e9borde sous le header ou casse la page\n   si le client uploade une image tr\u00e8s haute.\n   - padding-top: forcer un espace garanti sous le header (anti-clipping)\n   - max-height: ne d\u00e9passe pas le viewport *\/\n#hc-6a34eb07a70b1 .hc-right {\n    align-self: stretch;\n    width: 100%;\n    max-height: 75vh;\n    padding-top: 4rem;\n    padding-bottom: 2rem;\n    box-sizing: border-box;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n@media (min-width: 1280px) {\n    #hc-6a34eb07a70b1 .hc-right {\n        padding-top: 5rem;\n        padding-bottom: 3rem;\n    }\n}\n\n\/* === Right column : image solo === *\/\n#hc-6a34eb07a70b1 .hc-right__image-wrap {\n    margin: 0;\n    overflow: hidden;\n    border-radius: 15px;\n    aspect-ratio: 4\/5;\n    width: 100%;\n    max-height: 100%; \/* contraint \u00e0 la hauteur du parent .hc-right *\/\n}\n#hc-6a34eb07a70b1 .hc-right__image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n    display: block;\n}\n\n\/* === Right column : gallery (crossfade auto) === *\/\n#hc-6a34eb07a70b1 .hc-right__gallery {\n    position: relative;\n    overflow: hidden;\n    border-radius: 15px;\n    aspect-ratio: 4\/5;\n    width: 100%;\n    max-height: 100%; \/* contraint \u00e0 la hauteur du parent .hc-right *\/\n}\n#hc-6a34eb07a70b1 .hc-right__gallery-slide {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n    opacity: 0;\n    transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1);\n    will-change: opacity;\n}\n#hc-6a34eb07a70b1 .hc-right__gallery-slide.is-active {\n    opacity: 1;\n}\n\n\/* === Right column : SVG shape === *\/\n#hc-6a34eb07a70b1 .hc-right__svg-wrap {\n    width: 100%;\n    aspect-ratio: 1\/1;\n    max-height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1rem;\n}\n#hc-6a34eb07a70b1 .hc-right__svg {\n    width: 100%;\n    height: 100%;\n    max-width: 540px;\n    max-height: 540px;\n}\n\n\/* Mobile : pas de contrainte de hauteur (le stack vertical n'a pas le souci header) *\/\n@media (max-width: 1023px) {\n    #hc-6a34eb07a70b1 .hc-right {\n        max-height: none;\n    }\n    #hc-6a34eb07a70b1 .hc-right__image-wrap,\n    #hc-6a34eb07a70b1 .hc-right__gallery {\n        max-height: 60vh;\n    }\n}\n\/* === Animation squiggle (pattern exact original) ===\n   Chaque .mask est un path stroke (pathLength=100) avec dasharray sp\u00e9cifique.\n   Au repos : stroke-dashoffset 100 = path cach\u00e9.\n   Au reveal : stroke-dashoffset 0 = path r\u00e9v\u00e9l\u00e9.\n   Les 4 traits se r\u00e9v\u00e8lent en cascade (transition-delay croissant). *\/\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask {\n    stroke-dashoffset: 100;\n    transition: stroke-dashoffset 1.8s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask-0 { stroke-dasharray: 100, 299.069; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask-1 { stroke-dasharray: 100, 1113.56; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask-2 { stroke-dasharray: 100, 869.713; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask-3 { stroke-dasharray: 100, 674.382; }\n\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle.is-revealed .mask { stroke-dashoffset: 0; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle.is-revealed .mask-0 { transition-delay: 0s;   }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle.is-revealed .mask-1 { transition-delay: 0.3s; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle.is-revealed .mask-2 { transition-delay: 0.6s; }\n#hc-6a34eb07a70b1 .hc-right__svg--squiggle.is-revealed .mask-3 { transition-delay: 1.0s; }\n\/* Cercle : draw progressif *\/\n#hc-6a34eb07a70b1 .hc-right__svg--circle circle {\n    transform-origin: center;\n    transform: rotate(-90deg);\n    stroke-dasharray: 2000;\n    stroke-dashoffset: 2000;\n    transition: stroke-dashoffset 2s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#hc-6a34eb07a70b1 .hc-right__svg--circle.is-revealed circle {\n    stroke-dashoffset: 0;\n}\n\/* Bars : scale-Y growth depuis le haut *\/\n#hc-6a34eb07a70b1 .hc-right__svg--bars rect {\n    transform-origin: top center;\n    transform: scaleY(0);\n    transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#hc-6a34eb07a70b1 .hc-right__svg--bars rect:nth-child(2) {\n    transition-delay: 0.2s;\n}\n#hc-6a34eb07a70b1 .hc-right__svg--bars.is-revealed rect {\n    transform: scaleY(1);\n}\n\n\/* Reduced motion : SVG visible direct *\/\n@media (prefers-reduced-motion: reduce) {\n    #hc-6a34eb07a70b1 .hc-right__svg--squiggle .mask,\n    #hc-6a34eb07a70b1 .hc-right__svg--circle circle {\n        stroke-dashoffset: 0 !important;\n        transition: none !important;\n    }\n    #hc-6a34eb07a70b1 .hc-right__svg--bars rect {\n        transform: scaleY(1) !important;\n        transition: none !important;\n    }\n}\n<\/style>\n\n\n\n\n<section class=\"mr\"\n         id=\"mr-6a34eb07a7b15\"\n         aria-label=\"Our story\">\n    <div class=\"mr__inner nl-container\">\n\n        <div class=\"mr__eyebrow-wrap\">\n                            <span class=\"mr__eyebrow\">Our story<\/span>\n                    <\/div>\n\n        <div class=\"mr__main\">\n            <div class=\"mr__text\" data-text-reveal>\n                NY Law was born of a friendship.\u2028\u2028<br \/>\r\nIt all began in Paris, where Nasser Benwahoud and Younes Aniq Filali met as law students. Once friends, they each chose distinct professional paths: Nasser, strategic corporate advisory; Younes, business litigation.\u2028\u2028            <\/div>\n\n                            <!-- Sous-texte muted (pattern ISI \"Our Promise\" : description plus petite sous le manifeste) -->\n                <div class=\"mr__description\">\n                    <p>Ten years on, both having returned to practise in Morocco, they decided to bring their two practices together within a single firm. NY Law was born of that reunion \u2014 a university friendship turned shared professional project, in Casablanca.\u2028<\/p>\n<p>Today, the firm advises Moroccan and international clients on their high-stakes matters, from upstream advisory to litigation defence, with one team and one standard of technical depth.<\/p>\n                <\/div>\n                    <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Manifesto Reveal \u2014 section \"Notre approche\"\n   Pattern ISI : eyebrow petit gauche \/ gros texte droite avec reveal scroll\n   ============================================ *\/\n\n\/* Pattern identique \u00e0 hero-compact : section full-bleed (padding-y uniquement),\n   padding-x appliqu\u00e9 \u00e0 l'inner (= \u00e9quivalent Tailwind mx-auto px-6 md:px-12) *\/\n#mr-6a34eb07a7b15.mr {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 3rem 0 6rem;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #mr-6a34eb07a7b15.mr { padding: 4rem 0 9rem; } }\n@media (min-width: 1024px) { #mr-6a34eb07a7b15.mr { padding: 5rem 0 12rem; } }\n\n\/* === Mode \"wrap overlap\" : chevauchement subtil avec la section pr\u00e9c\u00e9dente ===\n   Juste un margin-top n\u00e9gatif. Pas de border-radius, pas de shadow : effet naturel.\n   Le hero sticky en arri\u00e8re-plan + ce l\u00e9ger chevauchement suffisent \u00e0 cr\u00e9er le\n   storytelling \"section qui monte par-dessus\". *\/\n#mr-6a34eb07a7b15.mr--wrap-overlap {\n    margin-top: -8vh;\n}\n@media (min-width: 1024px) {\n    #mr-6a34eb07a7b15.mr--wrap-overlap {\n        margin-top: -12vh;\n    }\n}\n\n#mr-6a34eb07a7b15.mr--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* Width + padding-x : via utility globale .nl-container (coh\u00e9rence inter-sections) *\/\n#mr-6a34eb07a7b15 .mr__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #mr-6a34eb07a7b15 .mr__inner {\n        grid-template-columns: minmax(180px, 1fr) 3fr;\n        gap: 18rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #mr-6a34eb07a7b15 .mr__inner {\n        grid-template-columns: minmax(200px, 1fr) 3.5fr;\n        gap: 31rem;\n    }\n}\n\n\/* === Eyebrow (gauche) \u2014 italic, underline premium \u00e9ditorial === *\/\n#mr-6a34eb07a7b15 .mr__eyebrow-wrap {\n    align-self: start;\n}\n\n#mr-6a34eb07a7b15 .mr__eyebrow {\n    display: inline-block;\n    font-family: var(--font-serif, 'Cormorant Garamond', serif);\n    font-style: italic;\n    font-size: clamp(1.25rem, 1.8vw, 1.85rem);\n    font-weight: 400;\n    line-height: 1.2;\n    color: var(--color-brown-800);\n    letter-spacing: 0;\n    \/* Underline premium : d\u00e9coll\u00e9 du texte, fin, hairline magazine *\/\n    text-decoration: underline;\n    text-decoration-color: currentColor;\n    text-decoration-thickness: 1px;\n    text-underline-offset: 0.32em;\n    text-decoration-skip-ink: auto;\n}\n\n#mr-6a34eb07a7b15.mr--dark .mr__eyebrow {\n    color: var(--color-beige-1);\n}\n\n#mr-6a34eb07a7b15 .mr__eyebrow--link {\n    transition: color 0.3s ease, opacity 0.3s ease;\n}\n#mr-6a34eb07a7b15 .mr__eyebrow--link:hover {\n    color: var(--color-brown-600);\n}\n#mr-6a34eb07a7b15.mr--dark .mr__eyebrow--link:hover {\n    color: var(--color-beige-3);\n    opacity: 0.85;\n}\n\n\/* === Main column (texte + description) === *\/\n#mr-6a34eb07a7b15 .mr__main {\n    display: flex;\n    flex-direction: column;\n}\n\n\/* === Texte (droite) \u2014 gros, prend toute la place === *\/\n#mr-6a34eb07a7b15 .mr__text {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.5rem, 3.2vw, 2.4rem);\n    font-weight: 400;\n    line-height: 1.25;\n    letter-spacing: -0.005em;\n    color: var(--color-brown-900);\n    max-width: none;\n}\n\n#mr-6a34eb07a7b15.mr--dark .mr__text {\n    color: var(--color-beige-1);\n}\n\n\/* === Sous-texte muted (optionnel) \u2014 pattern ISI \"Our Promise\" ===\n   Plus petit, opacit\u00e9 r\u00e9duite, padding-top pour s\u00e9parer du gros texte.\n   Pas anim\u00e9 en text-reveal (le gros texte fait le show, la description\n   compl\u00e8te le contexte sans concurrence visuelle). *\/\n#mr-6a34eb07a7b15 .mr__description {\n    margin: 2rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(0.95rem, 1.1vw, 1.05rem);\n    font-weight: 400;\n    line-height: 1.65;\n    color: var(--color-brown-900);\n    opacity: 0.55;\n    \/* max-width: 56ch; *\/\n}\n@media (min-width: 1024px) {\n    #mr-6a34eb07a7b15 .mr__description {\n        margin-top: 2.5rem;\n    }\n}\n\n#mr-6a34eb07a7b15.mr--dark .mr__description {\n    color: var(--color-beige-1);\n    opacity: 0.55;\n}\n\n#mr-6a34eb07a7b15 .mr__description p {\n    margin: 0 0 0.75em;\n}\n#mr-6a34eb07a7b15 .mr__description p:last-child {\n    margin-bottom: 0;\n}\n\n\/* === \u00c9tats initiaux pour le reveal mot par mot ===\n   Les spans .mr__word seront cr\u00e9\u00e9s dynamiquement par le JS\n   (cf. script en bas). Au repos opacity faible, GSAP scrub les anime \u00e0 1. *\/\n#mr-6a34eb07a7b15 .mr__word {\n    display: inline-block;\n    opacity: 0.18;\n    will-change: opacity;\n    transition: none;\n}\n\n\/* Reduced motion : pas de reveal, tout visible direct *\/\n@media (prefers-reduced-motion: reduce) {\n    #mr-6a34eb07a7b15 .mr__word { opacity: 1 !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('mr-6a34eb07a7b15');\n    if (!section) return;\n\n    var textEl = section.querySelector('[data-text-reveal]');\n    if (!textEl) return;\n\n    \/* === Split du texte en mots (en gardant les <br>) === *\/\n    function splitText(el) {\n        var nodes = Array.prototype.slice.call(el.childNodes);\n        var frag = document.createDocumentFragment();\n        nodes.forEach(function (node) {\n            if (node.nodeType === Node.TEXT_NODE) {\n                var words = node.textContent.split(\/(\\s+)\/); \/* keep separators *\/\n                words.forEach(function (w) {\n                    if (\/^\\s+$\/.test(w)) {\n                        frag.appendChild(document.createTextNode(w));\n                    } else if (w.length) {\n                        var span = document.createElement('span');\n                        span.className = 'mr__word';\n                        span.textContent = w;\n                        frag.appendChild(span);\n                    }\n                });\n            } else {\n                \/* <br> ou autres nodes : on garde tel quel *\/\n                frag.appendChild(node.cloneNode(true));\n            }\n        });\n        el.innerHTML = '';\n        el.appendChild(frag);\n    }\n\n    \/* Reduced motion : pas d'animation. Le CSS @media reduce force opacity 1. *\/\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) {\n        return;\n    }\n\n    splitText(textEl);\n    var words = section.querySelectorAll('.mr__word');\n    if (!words.length) return;\n\n    \/* === Fallback no-GSAP : tout visible direct === *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        words.forEach(function (w) { w.style.opacity = '1'; });\n        return;\n    }\n\n    gsap.registerPlugin(ScrollTrigger);\n\n    \/* === Text reveal scroll-scrubbed ===\n       Chaque mot s'\u00e9claircit progressivement quand sa zone passe\n       du bas (75% viewport) au milieu (50% viewport). *\/\n    gsap.to(words, {\n        opacity: 1,\n        ease: 'none',\n        stagger: { each: 0.04 },\n        scrollTrigger: {\n            trigger: textEl,\n            start: 'top 80%',\n            end: 'bottom 55%',\n            scrub: 0.8,\n        },\n    });\n})();\n<\/script>\n\n\n\n<section class=\"itp itp--card-white\"\n         id=\"itp-6a34eb07a8deb\">\n    <div class=\"itp__inner nl-container\">\n\n                    <figure class=\"itp__media\">\n                <img decoding=\"async\" class=\"itp__image\"\n                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/associes-2-1.webp\"\n                     alt=\"\"\n                     loading=\"lazy\"\n                     width=\"958\"                     height=\"1437\">\n            <\/figure>\n        \n        <div class=\"itp__content\">\n                            <p class=\"itp__eyebrow nl-eyebrow\">The Founders<\/p>\n            \n                            <h2 class=\"itp__title\">\n                    <span class=\"itp__title-base\">Two paths,<\/span>                    <span class=\"itp__title-emphasis\">one shared vision.\u2028<\/span>                                    <\/h2>\n            \n                            <div class=\"itp__text\">\n                    Nasser Benwahoud embodies NY Law&#8217;s advisory practice. His expertise was forged between Paris and Casablanca \u2014 successively at Grant Thornton, at the French business law firm 28 Octobre, in the legal department of Attijariwafa Bank, and at the helm of EY Morocco&#8217;s legal practice.\u2028\u2028<br \/>\r\n<br \/>\r\nYounes Aniq Filali leads NY Law&#8217;s litigation practice. His career blends legal discipline with an entrepreneurial culture: after earning a Master\u2019s degree in Business Law from Paris Nanterre University, launching an entrepreneurial venture in Paris and completing an MBA, he developed his expertise in business litigation at leading Casablanca law firms , he built his business litigation expertise at leading Casablanca law firms.\u2028\u2028<br \/>\r\n<br \/>\r\nTogether, they founded NY Law to offer an integrated approach to business law: anticipate upstream, defend downstream, with one team and one standard of technical depth.                <\/div>\n            \n                    <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Image + Text Pair \u2014 section narrative simple\n   Pattern ISI : image full-bleed \u00e0 gauche, texte \u00e0 droite avec emphasis\n   ============================================ *\/\n\n\/* Pattern identique \u00e0 hero-compact : section full-bleed (padding-y uniquement),\n   padding-x appliqu\u00e9 \u00e0 l'inner (= \u00e9quivalent Tailwind mx-auto px-6 md:px-12) *\/\n#itp-6a34eb07a8deb.itp {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    \/* padding: 5rem 0; *\/\n    position: relative;\n    z-index: 2;\n}\n\/* @media (min-width: 768px)  { #itp-6a34eb07a8deb.itp { padding: 7rem 0; } }\n@media (min-width: 1024px) { #itp-6a34eb07a8deb.itp { padding: 9rem 0; } } *\/\n\n#itp-6a34eb07a8deb.itp--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Mode \"carte int\u00e9rieure\" ===\n   Le bg n'est pas appliqu\u00e9 \u00e0 toute la section, mais seulement \u00e0 la carte\n   qui contient image + texte (pattern ISI Global).\n   La section garde son fond de page (beige-1 par d\u00e9faut).\n\n   En mode card, on change la strat\u00e9gie de padding :\n   - La SECTION re\u00e7oit le padding-x (espace autour de la carte)\n   - L'INNER (= la carte) n'a PAS de padding-x int\u00e9rieur\n     \u2192 l'image touche les bords gauche\/haut\/bas de la carte (pattern ISI)\n   - Le CONTENT a son propre padding int\u00e9rieur (texte \u00e0 droite) *\/\n\/* #itp-6a34eb07a8deb.itp--card-white,\n#itp-6a34eb07a8deb.itp--card-warm {\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n}\n@media (min-width: 768px) {\n    #itp-6a34eb07a8deb.itp--card-white,\n    #itp-6a34eb07a8deb.itp--card-warm {\n        padding-left: 3rem;\n        padding-right: 3rem;\n    }\n} *\/\n\n#itp-6a34eb07a8deb.itp--card-white .itp__inner,\n#itp-6a34eb07a8deb.itp--card-warm .itp__inner {\n    \/* padding-left: 0;\n    padding-right: 0; *\/\n    gap: 0;\n    align-items: stretch; \/* image et texte ont la m\u00eame hauteur *\/\n}\n\/* Background appliqu\u00e9 uniquement sur le content (pas l'inner).\n   Border-radius UNIQUEMENT sur les coins ext\u00e9rieurs droits (defaut)\n   \u2192 l'ensemble image + content forme une carte continue. *\/\n#itp-6a34eb07a8deb.itp--card-white .itp__content,\n#itp-6a34eb07a8deb.itp--card-warm .itp__content {\n    padding: 2.5rem 1.75rem;\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    max-width: none;\n    border-radius: 0 15px 15px 0; \/* top-r + bottom-r seulement (coins ext\u00e9rieurs droits) *\/\n    overflow: hidden;\n}\n\/* Image \u00e0 droite \u2192 on inverse : content re\u00e7oit les coins gauches *\/\n#itp-6a34eb07a8deb.itp--image-right.itp--card-white .itp__content,\n#itp-6a34eb07a8deb.itp--image-right.itp--card-warm .itp__content {\n    border-radius: 15px 0 0 15px;\n}\n#itp-6a34eb07a8deb.itp--card-white .itp__content {\n    background-color: #ffffff;\n}\n#itp-6a34eb07a8deb.itp--card-warm .itp__content {\n    background-color: var(--color-beige-2);\n}\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb.itp--card-white .itp__content,\n    #itp-6a34eb07a8deb.itp--card-warm .itp__content {\n        padding: 3.5rem 3rem 3.5rem 3.5rem;\n    }\n}\n@media (min-width: 1280px) {\n    #itp-6a34eb07a8deb.itp--card-white .itp__content,\n    #itp-6a34eb07a8deb.itp--card-warm .itp__content {\n        padding: 4rem 3.5rem 4rem 4.5rem;\n    }\n}\n\n\/* En mode card, l'image a un border-radius UNIQUEMENT sur les coins ext\u00e9rieurs gauches\n   (d\u00e9faut image-left). Pour image-right, les coins droits.\n   \u2192 image + content coll\u00e9s forment une carte continue avec coins ext\u00e9rieurs arrondis. *\/\n#itp-6a34eb07a8deb.itp--card-white .itp__media,\n#itp-6a34eb07a8deb.itp--card-warm .itp__media {\n    border-radius: 15px 0 0 15px; \/* coins ext\u00e9rieurs gauches *\/\n    overflow: hidden;\n    height: 100%;\n    aspect-ratio: auto;\n}\n\/* Image \u00e0 droite \u2192 on inverse : image re\u00e7oit les coins droits *\/\n#itp-6a34eb07a8deb.itp--image-right.itp--card-white .itp__media,\n#itp-6a34eb07a8deb.itp--image-right.itp--card-warm .itp__media {\n    border-radius: 0 15px 15px 0;\n}\n#itp-6a34eb07a8deb.itp--card-white .itp__media .itp__image,\n#itp-6a34eb07a8deb.itp--card-warm .itp__media .itp__image {\n    height: 100%;\n    min-height: 380px;\n}\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb.itp--card-white .itp__media .itp__image,\n    #itp-6a34eb07a8deb.itp--card-warm .itp__media .itp__image {\n        min-height: 480px;\n    }\n}\n\n\/* Width + padding-x : via utility globale .nl-container.\n   En mode card, l'override `.itp--card-* .itp__inner { padding-left\/right: 0 }`\n   plus haut dans ce fichier reste prioritaire gr\u00e2ce \u00e0 la specificity scop\u00e9e. *\/\n#itp-6a34eb07a8deb .itp__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    align-items: center;\n}\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb .itp__inner {\n        grid-template-columns: 1fr 1fr;\n        gap: 4rem;\n    }\n}\n@media (min-width: 1280px) {\n    #itp-6a34eb07a8deb .itp__inner { gap: 5.5rem; }\n}\n\n\/* Image \u00e0 droite : on inverse l'ordre des colonnes *\/\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb.itp--image-right .itp__media   { order: 2; }\n    #itp-6a34eb07a8deb.itp--image-right .itp__content { order: 1; }\n}\n\n\/* === Image === *\/\n#itp-6a34eb07a8deb .itp__media {\n    margin: 0;\n    overflow: hidden;\n    border-radius: 4px;\n    aspect-ratio: 4\/5;\n}\n@media (min-width: 768px) {\n    #itp-6a34eb07a8deb .itp__media { aspect-ratio: 5\/6; }\n}\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb .itp__media { aspect-ratio: 4\/5; }\n}\n\n#itp-6a34eb07a8deb .itp__image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: right;\n    display: block;\n    \/* \u00c9tat initial pour le clip-path expand reveal *\/\n    \/* clip-path: inset(15% 15% 15% 15%);\n    opacity: 0;\n    transform: scale(1.05);\n    will-change: clip-path, transform, opacity; *\/\n}\n\n\/* === Content === *\/\n#itp-6a34eb07a8deb .itp__content {\n    max-width: 540px;\n}\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb .itp__content {\n        padding: 1rem 0;\n    }\n}\n\n#itp-6a34eb07a8deb .itp__eyebrow {\n    margin: 0 0 1.5rem;\n}\n\n\/* Titre avec emphasis : 3 spans inline *\/\n#itp-6a34eb07a8deb .itp__title {\n    margin: 0 0 1.75rem;\n    font-family: var(--font-display);\n    font-size: clamp(2rem, 3.6vw, 3rem);\n    line-height: 1.1;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n    font-weight: 400;\n}\n#itp-6a34eb07a8deb.itp--dark .itp__title { color: var(--color-beige-1); }\n\n#itp-6a34eb07a8deb .itp__title-base     { font-weight: 300; }\n#itp-6a34eb07a8deb .itp__title-emphasis { font-weight: 400; letter-spacing: -0.018em; }\n\n\/* === Text body === *\/\n#itp-6a34eb07a8deb .itp__text {\n    font-family: var(--font-display);\n    font-size: clamp(1.3rem, 1.15vw, 1.1rem);\n    line-height: 1.7;\n    color: var(--color-brown-900);\n    opacity: 0.78;\n    \/* max-width: 50ch; *\/\n}\n#itp-6a34eb07a8deb.itp--dark .itp__text { color: var(--color-beige-1); opacity: 0.78; }\n\n#itp-6a34eb07a8deb .itp__text p { margin: 0 0 1.1rem; }\n#itp-6a34eb07a8deb .itp__text p:last-child { margin-bottom: 0; }\n#itp-6a34eb07a8deb .itp__text strong { font-weight: 500; }\n\n\/* === CTA underline \u00e9ditorial === *\/\n#itp-6a34eb07a8deb .itp__cta {\n    margin-top: 2rem;\n    display: inline-flex;\n    align-items: center;\n    gap: 0.6rem;\n    color: var(--color-brown-800);\n    text-decoration: none;\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    letter-spacing: 0.02em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.25rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#itp-6a34eb07a8deb.itp--dark .itp__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#itp-6a34eb07a8deb .itp__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#itp-6a34eb07a8deb.itp--dark .itp__cta:hover { color: var(--color-beige-3); }\n\n#itp-6a34eb07a8deb .itp__cta-arrow {\n    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n\/* === \u00c9tats initiaux content (desktop) \u2014 animation au scroll === *\/\n@media (min-width: 1024px) {\n    #itp-6a34eb07a8deb .itp__content > * {\n        opacity: 0;\n        transform: translateY(24px);\n    }\n}\n\n\/* Reduced motion : tout visible direct *\/\n@media (prefers-reduced-motion: reduce) {\n    #itp-6a34eb07a8deb .itp__image {\n        clip-path: none !important;\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #itp-6a34eb07a8deb .itp__content > * {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('itp-6a34eb07a8deb');\n    if (!section) return;\n\n    var image = section.querySelector('.itp__image');\n    var contentEls = section.querySelectorAll('.itp__content > *');\n\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    \/* Fallback no-GSAP : tout visible direct *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        if (image) {\n            image.style.clipPath = 'none';\n            image.style.opacity = '1';\n            image.style.transform = 'none';\n        }\n        contentEls.forEach(function (el) {\n            el.style.opacity = '1';\n            el.style.transform = 'none';\n        });\n        return;\n    }\n\n    \/* Mobile : pas d'anim (visible direct via media query) *\/\n    if (window.innerWidth < 1024) return;\n\n    gsap.registerPlugin(ScrollTrigger);\n\n    var tl = gsap.timeline({\n        scrollTrigger: {\n            trigger: section,\n            start: 'top 75%',\n            once: true,\n        },\n    });\n\n    \/* Image : Pattern #4 clip-path expand (cinematic reveal) *\/\n    if (image) {\n        tl.to(image, {\n            clipPath: 'inset(0% 0% 0% 0%)',\n            opacity: 1,\n            scale: 1,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* Content cascade (Pattern #1 hero entrance) *\/\n    if (contentEls.length) {\n        tl.to(contentEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n})();\n<\/script>\n\n\n\n<!-- Desktop: Sticky Container with GSAP (hidden on mobile) -->\n<section class=\"relative h-[200dvh] mx-auto w-full hidden lg:block pb-20 lg:pb-60\"\n    style=\"z-index: 2; background-color: var(--color-beige-1, #F5F1EA);\"\n    >\n    <div class=\"sticky top-0\">\n        <div class=\"flex h-screen w-full items-center\">\n            <div class=\"nl-container\">\n                <div class=\"mb-16 lg:mb-24\">\n                    <!-- Section Head \u2014 pattern global NY Law (nl-section-head\/eyebrow\/title\/intro) -->\n                                        <header class=\"nl-section-head nl-section-head--left\">\n                                                    <p class=\"nl-eyebrow\">Our values<\/p>\n                                                                            <h2 class=\"nl-section-title\">\n                                                                    <span class=\"nl-title__base\">Four principles,<\/span>\n                                                                                                    <span class=\"nl-title__emphasis\">one discipline.<\/span>\n                                                            <\/h2>\n                                                                    <\/header>\n                    \n                    <!-- Buttons Section -->\n                                    <\/div>\n\n                                <div class=\"w-full grid grid-cols-4 gap-6 xl:gap-10\">\n                                <div class=\"relative postit-0-js z-4 \" data-index=\"0\">\n                        <div class=\"ps-card group flex aspect-[1\/1.1] w-full mx-auto flex-col items-start justify-between p-6 xl:p-8 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\">\n                        <!-- Num\u00e9ro \u00e9ditorial 01-04 -->\n                        <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                            01                        <\/p>\n\n                        <!-- Title and Description -->\n                        <div class=\"flex flex-col gap-3 min-w-0 w-full\">\n                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                Insight                            <\/h4>\n                            \n                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                Business insight brought to bear on the law, advising beyond the question asked.                            <\/p>\n                                                    <\/div>\n                    <\/div>                <\/div>\n                                <div class=\"relative postit-1-js z-3 lg:mt-10\" data-index=\"1\">\n                        <div class=\"ps-card group flex aspect-[1\/1.1] w-full mx-auto flex-col items-start justify-between p-6 xl:p-8 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\">\n                        <!-- Num\u00e9ro \u00e9ditorial 01-04 -->\n                        <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                            02                        <\/p>\n\n                        <!-- Title and Description -->\n                        <div class=\"flex flex-col gap-3 min-w-0 w-full\">\n                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                Probity                            <\/h4>\n                            \n                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                To advance only by the law: argument and method as the only paths to victory.                            <\/p>\n                                                    <\/div>\n                    <\/div>                <\/div>\n                                <div class=\"relative postit-2-js z-2 \" data-index=\"2\">\n                        <div class=\"ps-card group flex aspect-[1\/1.1] w-full mx-auto flex-col items-start justify-between p-6 xl:p-8 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\">\n                        <!-- Num\u00e9ro \u00e9ditorial 01-04 -->\n                        <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                            03                        <\/p>\n\n                        <!-- Title and Description -->\n                        <div class=\"flex flex-col gap-3 min-w-0 w-full\">\n                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                High-end practice                            <\/h4>\n                            \n                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                The standards of the world&#039;s leading law firms, delivered bespoke to every client.                            <\/p>\n                                                    <\/div>\n                    <\/div>                <\/div>\n                                <div class=\"relative postit-3-js z-1 lg:mt-10\" data-index=\"3\">\n                        <div class=\"ps-card group flex aspect-[1\/1.1] w-full mx-auto flex-col items-start justify-between p-6 xl:p-8 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\">\n                        <!-- Num\u00e9ro \u00e9ditorial 01-04 -->\n                        <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                            04                        <\/p>\n\n                        <!-- Title and Description -->\n                        <div class=\"flex flex-col gap-3 min-w-0 w-full\">\n                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                Discretion                            <\/h4>\n                            \n                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                Professional secrecy as our absolute foundation, discretion as our way of being.                            <\/p>\n                                                    <\/div>\n                    <\/div>                <\/div>\n                                <\/div>\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/section>\n\n<div class=\"z-separator z-separator--01 hidden lg:block\" aria-hidden=\"true\"><\/div>\n\n<!-- Mobile Carousel (hidden on lg+) -->\n<section class=\"relative overflow-hidden lg:hidden\"\n    style=\"z-index: 2; padding-top: var(--section-py-lg, 8rem); background-color: var(--color-beige-1, #F5F1EA);\">\n    <div class=\"nl-container\">\n\n        <!-- Section Head \u2014 pattern global NY Law -->\n                <header class=\"nl-section-head nl-section-head--left\">\n                            <p class=\"nl-eyebrow\">Our values<\/p>\n                                        <h2 class=\"nl-section-title\">\n                                            <span class=\"nl-title__base\">Four principles,<\/span>\n                                                                <span class=\"nl-title__emphasis\">one discipline.<\/span>\n                                    <\/h2>\n                                <\/header>\n        \n        <!-- Buttons Section -->\n        \n                    <!-- Navigation carousel mobile (palette NY Law) -->\n            <div class=\"flex items-center justify-end gap-3 mb-6\">\n                <button type=\"button\" class=\"swiper-button-prev-partner-services-6a34eb07a9d94 ps-nav cursor-pointer rounded-full p-2.5 sm:p-3 transition-colors duration-300 bg-brown-800\/8 hover:bg-brown-800\/15\">\n                    <svg class=\"w-5 h-5 sm:w-6 sm:h-6 text-brown-800\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M15 19l-7-7 7-7\"\/>\n                    <\/svg>\n                <\/button>\n                <button type=\"button\" class=\"swiper-button-next-partner-services-6a34eb07a9d94 ps-nav cursor-pointer rounded-full p-2.5 sm:p-3 transition-colors duration-300 bg-brown-800\/8 hover:bg-brown-800\/15\">\n                    <svg class=\"w-5 h-5 sm:w-6 sm:h-6 text-brown-800\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\" d=\"M9 5l7 7-7 7\"\/>\n                    <\/svg>\n                <\/button>\n            <\/div>\n\n            <div class=\"relative -mx-3 sm:-mx-4\">\n                <div class=\"swiper partner-services-swiper-partner-services-6a34eb07a9d94 px-3 sm:px-4\">\n                    <div class=\"swiper-wrapper\">\n                                                <div class=\"swiper-slide flex !h-auto mb-10\">\n                            <div class=\"ps-card group flex w-full mx-auto flex-col items-start justify-between p-5 sm:p-6 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\" style=\"aspect-ratio: 1 \/ 1.1;\">                                <!-- Num\u00e9ro \u00e9ditorial -->\n                                <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                                    01                                <\/p>\n\n                                <!-- Title and Description -->\n                                <div class=\"flex flex-col gap-2 sm:gap-3 min-w-0 w-full\">\n                                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                        Insight                                    <\/h4>\n                                    \n                                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                        Business insight brought to bear on the law, advising beyond the question asked.                                    <\/p>\n                                                                    <\/div>\n                            <\/div>                        <\/div>\n                                                <div class=\"swiper-slide flex !h-auto mb-10\">\n                            <div class=\"ps-card group flex w-full mx-auto flex-col items-start justify-between p-5 sm:p-6 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\" style=\"aspect-ratio: 1 \/ 1.1;\">                                <!-- Num\u00e9ro \u00e9ditorial -->\n                                <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                                    02                                <\/p>\n\n                                <!-- Title and Description -->\n                                <div class=\"flex flex-col gap-2 sm:gap-3 min-w-0 w-full\">\n                                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                        Probity                                    <\/h4>\n                                    \n                                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                        To advance only by the law: argument and method as the only paths to victory.                                    <\/p>\n                                                                    <\/div>\n                            <\/div>                        <\/div>\n                                                <div class=\"swiper-slide flex !h-auto mb-10\">\n                            <div class=\"ps-card group flex w-full mx-auto flex-col items-start justify-between p-5 sm:p-6 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\" style=\"aspect-ratio: 1 \/ 1.1;\">                                <!-- Num\u00e9ro \u00e9ditorial -->\n                                <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                                    03                                <\/p>\n\n                                <!-- Title and Description -->\n                                <div class=\"flex flex-col gap-2 sm:gap-3 min-w-0 w-full\">\n                                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                        High-end practice                                    <\/h4>\n                                    \n                                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                        The standards of the world&#039;s leading law firms, delivered bespoke to every client.                                    <\/p>\n                                                                    <\/div>\n                            <\/div>                        <\/div>\n                                                <div class=\"swiper-slide flex !h-auto mb-10\">\n                            <div class=\"ps-card group flex w-full mx-auto flex-col items-start justify-between p-5 sm:p-6 transition-all duration-500 overflow-hidden ps-card ps-card--on-light\" style=\"aspect-ratio: 1 \/ 1.1;\">                                <!-- Num\u00e9ro \u00e9ditorial -->\n                                <p class=\"ps-num font-display uppercase tracking-wider transition-colors duration-500 text-brown-600 group-hover:text-beige-1\">\n                                    04                                <\/p>\n\n                                <!-- Title and Description -->\n                                <div class=\"flex flex-col gap-2 sm:gap-3 min-w-0 w-full\">\n                                                                        <h4 class=\"ps-title font-display transition-colors duration-500 leading-tight text-brown-900 group-hover:text-beige-1 break-words overflow-wrap-anywhere hyphens-auto\">\n                                        Discretion                                    <\/h4>\n                                    \n                                                                        <p class=\"ps-desc font-display leading-relaxed transition-colors duration-500 text-brown-900\/75 group-hover:text-beige-1\/85 break-words overflow-wrap-anywhere\">\n                                        Professional secrecy as our absolute foundation, discretion as our way of being.                                    <\/p>\n                                                                    <\/div>\n                            <\/div>                        <\/div>\n                                            <\/div>\n\n                <\/div>\n            <\/div>\n\n            <\/div>\n<\/section>\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Mobile carousel\n    new Swiper('.partner-services-swiper-partner-services-6a34eb07a9d94', {\n        slidesPerView: 1.2,\n        spaceBetween: 25,\n        centeredSlides: false,\n        loop: true,\n        navigation: {\n            nextEl: '.swiper-button-next-partner-services-6a34eb07a9d94',\n            prevEl: '.swiper-button-prev-partner-services-6a34eb07a9d94',\n        },\n        pagination: {\n            el: '.swiper-pagination',\n            clickable: true,\n        },\n        breakpoints: {\n            480: {\n                slidesPerView: 1.3,\n                spaceBetween: 16,\n            },\n            640: {\n                slidesPerView: 1.8,\n                spaceBetween: 20,\n            },\n            768: {\n                slidesPerView: 2.2,\n                spaceBetween: 24,\n            }\n        }\n    });\n\n    \/\/ Desktop GSAP animations \u2014 adoucies pour ton cabinet luxe\n    \/\/ (rotations max \u00b13\u00b0 au lieu de \u00b19\u00b0, ease power4.out align\u00e9 motion guide)\n    if (typeof gsap !== 'undefined' && typeof ScrollTrigger !== 'undefined' && window.innerWidth >= 1024) {\n        gsap.registerPlugin(ScrollTrigger);\n\n        const cards = document.querySelectorAll('[class*=\"postit-\"][class*=\"-js\"]');\n\n        cards.forEach((card, index) => {\n            const initialRotation = [-3, -2, -3, -2][index] || 0;\n            const initialX = [-90, -180, -270, -360][index] || 0;\n            const initialY = (index === 1 || index === 3) ? -8 : 0;\n\n            gsap.set(card, {\n                x: `${initialX}%`,\n                y: `${initialY}%`,\n                rotation: initialRotation,\n                opacity: 1\n            });\n\n            gsap.to(card, {\n                x: 0,\n                y: 0,\n                rotation: 0,\n                duration: 2,\n                ease: 'power4.out',\n                scrollTrigger: {\n                    trigger: card.closest('section'),\n                    start: 'top bottom',\n                    end: 'bottom top',\n                    scrub: 2,\n                    toggleActions: 'play none none reverse'\n                }\n            });\n        });\n    }\n});\n<\/script>\n\n<style>\n\/* ============================================\n   Partner Services \u2014 Reskin NY Law\n   Cards palette browns\/beiges, hover sobre, border-radius 25px align\u00e9 syst\u00e8me\n   ============================================ *\/\n\n\/* Z-index pour stacking desktop *\/\n.z-4 { z-index: 4; }\n.z-3 { z-index: 3; }\n.z-2 { z-index: 2; }\n.z-1 { z-index: 1; }\n\n\/* === Card base : style commun light + dark === *\/\n.ps-card {\n    border-radius: 25px;\n    box-shadow:\n        0 1px 2px rgba(10, 10, 10, 0.04),\n        0 8px 24px -10px rgba(10, 10, 10, 0.12);\n    transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                color 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);\n}\n.ps-card:hover {\n    box-shadow:\n        0 2px 4px rgba(10, 10, 10, 0.06),\n        0 16px 36px -12px rgba(10, 10, 10, 0.22);\n    transform: translateY(-4px);\n}\n\n\/* === Card sur fond clair (page beige-1) === *\/\n.ps-card--on-light {\n    background-color: var(--color-beige-2);\n    color: var(--color-brown-900);\n}\n.ps-card--on-light:hover {\n    background-color: var(--color-brown-800);\n    color: var(--color-beige-1);\n}\n\n\/* === Card sur fond brand custom (utilis\u00e9 si has_bg_color = true) === *\/\n.ps-card--on-dark {\n    background-color: rgba(245, 241, 234, 0.08); \/* beige-1 alpha \u2014 pas glassmorphism, juste subtle *\/\n    color: var(--color-beige-1);\n}\n.ps-card--on-dark:hover {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n}\n.ps-card--on-dark:hover .ps-num,\n.ps-card--on-dark:hover .ps-title,\n.ps-card--on-dark:hover .ps-desc {\n    color: var(--color-brown-900) !important;\n}\n.ps-card--on-dark:hover .ps-num { color: var(--color-brown-600) !important; }\n.ps-card--on-dark:hover .ps-desc { color: rgba(10, 10, 10, 0.75) !important; }\n\n\/* === Typo card === *\/\n.ps-card .ps-num {\n    font-size: 0.75rem;\n    letter-spacing: 0.18em;\n    font-weight: 400;\n    opacity: 0.7;\n}\n.ps-card .ps-title {\n    font-size: clamp(1.15rem, 1.5vw, 1.5rem);\n    font-weight: 500;\n    letter-spacing: -0.005em;\n}\n@media (min-width: 1280px) {\n    .ps-card .ps-title { font-size: clamp(1.35rem, 1.6vw, 1.75rem); }\n}\n.ps-card .ps-desc {\n    font-size: clamp(0.9rem, 1vw, 1rem);\n    line-height: 1.6;\n}\n\n\/* === Boutons nav carousel mobile === *\/\n.ps-nav {\n    border: 1px solid rgba(10, 10, 10, 0.12);\n}\n\n\/* Responsive : retire l'override transform en dessous de 1024 *\/\n@media (max-width: 1023px) {\n    .postit-0-js,\n    .postit-1-js,\n    .postit-2-js,\n    .postit-3-js {\n        transform: none !important;\n    }\n}\n\n\/* Reduce motion : cards visibles direct sans glissement *\/\n@media (prefers-reduced-motion: reduce) {\n    [class*=\"postit-\"][class*=\"-js\"] {\n        transform: none !important;\n    }\n}\n<\/style>\n\n\n\n<section class=\"ab\"\n         id=\"ab-6a34eb07abe29\"\n         aria-labelledby=\"ab-6a34eb07abe29-title\">\n    <div class=\"ab__inner nl-container\">\n\n        <header class=\"ab__header nl-section-head--left\">\n                                        <p class=\"ab__eyebrow nl-eyebrow\">Our Affiliations<\/p>\n                                        <h2 id=\"ab-6a34eb07abe29-title\" class=\"ab__title nl-section-title\">\n                    <span class=\"nl-title__base\">Our affiliations,<\/span>                    <span class=\"nl-title__emphasis\">our anchoring.<\/span>                <\/h2>\n                                <\/header>\n\n        <ul class=\"ab__grid\" role=\"list\">\n                            <li class=\"ab__item\" role=\"listitem\">\n                    <article class=\"ab__card has-logo\">\n                                                    <figure class=\"ab__card-logo-wrap\">\n                                <img decoding=\"async\" class=\"ab__card-logo\"\n                                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/bareau-casablanca.png\"\n                                     alt=\"\"\n                                     loading=\"lazy\"\n                                     width=\"364\"                                     height=\"592\">\n                            <\/figure>\n                                                <span class=\"ab__card-num\" aria-hidden=\"true\">01<\/span>\n                        <h3 class=\"ab__card-title\">The Casablanca Bar Association<\/h3>\n                        <span class=\"ab__card-hairline\" aria-hidden=\"true\"><\/span>\n                                                    <p class=\"ab__card-desc\">Admission to the Casablanca Bar \u2014 our first professional and ethical commitment.\u2028<\/p>\n                                                                    <\/article>\n                <\/li>\n                            <li class=\"ab__item\" role=\"listitem\">\n                    <article class=\"ab__card has-logo\">\n                                                    <figure class=\"ab__card-logo-wrap\">\n                                <img decoding=\"async\" class=\"ab__card-logo\"\n                                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Logo_Union_Internationale_des_Avocats.png\"\n                                     alt=\"\"\n                                     loading=\"lazy\"\n                                     width=\"331\"                                     height=\"111\">\n                            <\/figure>\n                                                <span class=\"ab__card-num\" aria-hidden=\"true\">02<\/span>\n                        <h3 class=\"ab__card-title\">International Association of Lawyers (UIA)\u2028<\/h3>\n                        <span class=\"ab__card-hairline\" aria-hidden=\"true\"><\/span>\n                                                    <p class=\"ab__card-desc\">The international network of lawyers committed to defending the profession and the rule of law.\u2028<\/p>\n                                                                    <\/article>\n                <\/li>\n                            <li class=\"ab__item\" role=\"listitem\">\n                    <article class=\"ab__card has-logo\">\n                                                    <figure class=\"ab__card-logo-wrap\">\n                                <img decoding=\"async\" class=\"ab__card-logo\"\n                                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/AFF-LOGO.png\"\n                                     alt=\"\"\n                                     loading=\"lazy\"\n                                     width=\"800\"                                     height=\"336\">\n                            <\/figure>\n                                                <span class=\"ab__card-num\" aria-hidden=\"true\">03<\/span>\n                        <h3 class=\"ab__card-title\">Franco-Moroccan Association of Business Lawyers (AFMAA)\u2028<\/h3>\n                        <span class=\"ab__card-hairline\" aria-hidden=\"true\"><\/span>\n                                                    <p class=\"ab__card-desc\">The firm&#039;s active engagement alongside the Franco-Moroccan legal community.\u2028<\/p>\n                                                                    <\/article>\n                <\/li>\n                            <li class=\"ab__item\" role=\"listitem\">\n                    <article class=\"ab__card has-logo\">\n                                                    <figure class=\"ab__card-logo-wrap\">\n                                <img decoding=\"async\" class=\"ab__card-logo\"\n                                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/CFCIM.png\"\n                                     alt=\"\"\n                                     loading=\"lazy\"\n                                     width=\"768\"                                     height=\"226\">\n                            <\/figure>\n                                                <span class=\"ab__card-num\" aria-hidden=\"true\">04<\/span>\n                        <h3 class=\"ab__card-title\">French Chamber of Commerce and Industry in Morocco (CFCIM)\u2028<\/h3>\n                        <span class=\"ab__card-hairline\" aria-hidden=\"true\"><\/span>\n                                                    <p class=\"ab__card-desc\">The firm anchored within the Franco-Moroccan business community.\u2028<\/p>\n                                                                    <\/article>\n                <\/li>\n                            <li class=\"ab__item\" role=\"listitem\">\n                    <article class=\"ab__card has-logo\">\n                                                    <figure class=\"ab__card-logo-wrap\">\n                                <img decoding=\"async\" class=\"ab__card-logo\"\n                                     src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo_camara_esp.png\"\n                                     alt=\"\"\n                                     loading=\"lazy\"\n                                     width=\"600\"                                     height=\"179\">\n                            <\/figure>\n                                                <span class=\"ab__card-num\" aria-hidden=\"true\">05<\/span>\n                        <h3 class=\"ab__card-title\">Spanish Chamber of Commerce in Morocco\u2028<\/h3>\n                        <span class=\"ab__card-hairline\" aria-hidden=\"true\"><\/span>\n                                                    <p class=\"ab__card-desc\">The firm anchored within the Hispano-Moroccan business community.<\/p>\n                                                                    <\/article>\n                <\/li>\n                    <\/ul>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Affiliations Band \u2014 bandeau 3 colonnes trust\n   ============================================ *\/\n\n#ab-6a34eb07abe29.ab {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0;\n    position: relative;\n    z-index: 2;\n}\n\/* @media (min-width: 768px)  { #ab-6a34eb07abe29.ab { padding: 7rem 0; } }\n@media (min-width: 1024px) { #ab-6a34eb07abe29.ab { padding: 9rem 0; } } *\/\n\n#ab-6a34eb07abe29.ab--warm {\n    background-color: var(--color-beige-2);\n}\n#ab-6a34eb07abe29.ab--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner === utilise utility globale .nl-container (max-width 1400px + padding-x responsive) *\/\n\n\/* === Header (align\u00e9 gauche, asym\u00e9trie \u00e9ditoriale) === *\/\n#ab-6a34eb07abe29 .ab__header {\n    margin-bottom: 3.5rem;\n    max-width: 720px;\n}\n@media (min-width: 1024px) {\n    #ab-6a34eb07abe29 .ab__header { margin-bottom: 5rem; }\n}\n\n#ab-6a34eb07abe29 .ab__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(0.78rem, 1vw, 0.9rem);\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--color-brown-900);\n    opacity: 0.45;\n    margin-bottom: 1.25rem;\n}\n#ab-6a34eb07abe29.ab--dark .ab__number { color: var(--color-beige-1); opacity: 0.55; }\n\n#ab-6a34eb07abe29 .ab__eyebrow { margin: 0 0 1.25rem; }\n#ab-6a34eb07abe29 .ab__title { margin: 0; }\n#ab-6a34eb07abe29 .ab__intro { margin: 1.25rem 0 0; }\n\n\/* === Grille 3 colonnes === *\/\n#ab-6a34eb07abe29 .ab__grid {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 768px) {\n    #ab-6a34eb07abe29 .ab__grid {\n        grid-template-columns: repeat(2, 1fr);\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #ab-6a34eb07abe29 .ab__grid {\n        grid-template-columns: repeat(3, 1fr);\n        gap: 4rem;\n    }\n}\n@media (min-width: 1280px) {\n    #ab-6a34eb07abe29 .ab__grid {\n        gap: 5rem;\n    }\n}\n\n\/* === Card === *\/\n#ab-6a34eb07abe29 .ab__item { margin: 0; }\n\n#ab-6a34eb07abe29 .ab__card {\n    display: flex;\n    flex-direction: column;\n    align-items: flex-start;\n    max-width: 360px;\n}\n\n\/* === Logo institution (optionnel) \u2014 style premium homog\u00e9n\u00e9is\u00e9 ===\n   Hauteur fixe pour aligner les 3 logos visuellement, max-width pour ne pas\n   d\u00e9bordement, opacity 0.85 au repos \u2192 1 au hover (subtle premium). *\/\n#ab-6a34eb07abe29 .ab__card-logo-wrap {\n    margin: 0 0 1.5rem;\n    display: flex;\n    align-items: center;\n    justify-content: flex-start;\n    height: 52px;\n}\n@media (min-width: 1024px) {\n    #ab-6a34eb07abe29 .ab__card-logo-wrap { height: 60px; }\n}\n#ab-6a34eb07abe29 .ab__card-logo {\n    max-height: 100%;\n    max-width: 160px;\n    width: auto;\n    height: auto;\n    object-fit: contain;\n    object-position: left center;\n    display: block;\n    opacity: 0.85;\n    transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#ab-6a34eb07abe29 .ab__card.has-logo:hover .ab__card-logo {\n    opacity: 1;\n}\n\/* Sur fond fonc\u00e9, les logos couleur peuvent \u00eatre moins lisibles\n   \u2192 on les \u00e9claircit l\u00e9g\u00e8rement par d\u00e9faut *\/\n#ab-6a34eb07abe29.ab--dark .ab__card-logo {\n    opacity: 0.9;\n}\n\n#ab-6a34eb07abe29 .ab__card-num {\n    font-family: var(--font-display);\n    font-size: 0.75rem;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--color-brown-600);\n    opacity: 0.7;\n    margin-bottom: 1rem;\n}\n\/* Quand un logo est pr\u00e9sent, le num\u00e9ro est plus discret (le logo prend le r\u00f4le de \"marque\") *\/\n#ab-6a34eb07abe29 .ab__card.has-logo .ab__card-num {\n    font-size: 0.7rem;\n    opacity: 0.5;\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-num { color: var(--color-beige-3); opacity: 0.75; }\n\n#ab-6a34eb07abe29 .ab__card-title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.25rem, 1.6vw, 1.55rem);\n    font-weight: 500;\n    line-height: 1.25;\n    letter-spacing: -0.008em;\n    color: var(--color-brown-900);\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-title { color: var(--color-beige-1); }\n\n#ab-6a34eb07abe29 .ab__card-hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.25rem 0 1.25rem;\n    transform-origin: left center;\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#ab-6a34eb07abe29 .ab__card-desc {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.65;\n    color: var(--color-brown-900);\n    opacity: 0.78;\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-desc { color: var(--color-beige-1); opacity: 0.8; }\n\n#ab-6a34eb07abe29 .ab__card-link {\n    margin-top: 1.5rem;\n    display: inline-flex;\n    align-items: center;\n    gap: 0.5rem;\n    color: var(--color-brown-800);\n    text-decoration: none;\n    font-family: var(--font-display);\n    font-size: 0.9rem;\n    letter-spacing: 0.02em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.2rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-link {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#ab-6a34eb07abe29 .ab__card-link:hover {\n    color: var(--color-brown-600);\n    gap: 0.8rem;\n}\n#ab-6a34eb07abe29.ab--dark .ab__card-link:hover { color: var(--color-beige-3); }\n\n#ab-6a34eb07abe29 .ab__card-arrow {\n    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n\/* === \u00c9tats initiaux pour reveal (desktop) === *\/\n@media (min-width: 1024px) {\n    #ab-6a34eb07abe29 .ab__header > *,\n    #ab-6a34eb07abe29 .ab__card > *:not(.ab__card-hairline) {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #ab-6a34eb07abe29 .ab__card-hairline { transform: scaleX(0); }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #ab-6a34eb07abe29 .ab__header > *,\n    #ab-6a34eb07abe29 .ab__card > * {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #ab-6a34eb07abe29 .ab__card-hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('ab-6a34eb07abe29');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var headerEls = section.querySelectorAll('.ab__header > *');\n    var cards     = section.querySelectorAll('.ab__card');\n\n    \/* Fallback no-GSAP : force opacity 1 explicite (CSS scop\u00e9 met 0 par d\u00e9faut desktop) *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        headerEls.forEach(function (el) { el.style.opacity = '1'; el.style.transform = 'none'; });\n        cards.forEach(function (card) {\n            card.querySelectorAll(':scope > *').forEach(function (el) {\n                el.style.opacity = '1';\n                el.style.transform = 'none';\n            });\n            var hairline = card.querySelector('.ab__card-hairline');\n            if (hairline) hairline.style.transform = 'scaleX(1)';\n        });\n        return;\n    }\n\n    if (window.innerWidth < 1024) return;\n\n    gsap.registerPlugin(ScrollTrigger);\n\n    var tl = gsap.timeline({\n        scrollTrigger: { trigger: section, start: 'top 75%', once: true },\n    });\n\n    \/* Header staggered *\/\n    tl.to(headerEls, {\n        opacity: 1, y: 0,\n        duration: 0.9, ease: 'power4.out',\n        stagger: 0.12,\n    });\n\n    \/* Cards staggered : logo \u2192 num \u2192 title \u2192 hairline \u2192 desc \u2192 link *\/\n    cards.forEach(function (card, i) {\n        var logoEl     = card.querySelector('.ab__card-logo-wrap');\n        var numEl      = card.querySelector('.ab__card-num');\n        var titleH3    = card.querySelector('.ab__card-title');\n        var hairline   = card.querySelector('.ab__card-hairline');\n        var descEl     = card.querySelector('.ab__card-desc');\n        var linkEl     = card.querySelector('.ab__card-link');\n        var baseDelay  = -0.4 + (i * 0.15);\n\n        if (logoEl)  tl.to(logoEl,  { opacity: 1, y: 0, duration: 0.9, ease: 'power4.out' }, baseDelay);\n        if (numEl)   tl.to(numEl,   { opacity: 1, y: 0, duration: 0.8, ease: 'power4.out' }, logoEl ? '-=0.65' : baseDelay);\n        if (titleH3) tl.to(titleH3, { opacity: 1, y: 0, duration: 0.9, ease: 'power4.out' }, '-=0.65');\n        if (hairline) tl.to(hairline, { scaleX: 1, duration: 0.7, ease: 'power3.out' }, '-=0.55');\n        if (descEl)  tl.to(descEl,  { opacity: 1, y: 0, duration: 0.9, ease: 'power4.out' }, '-=0.55');\n        if (linkEl)  tl.to(linkEl,  { opacity: 1, y: 0, duration: 0.8, ease: 'power4.out' }, '-=0.5');\n    });\n})();\n<\/script>\n\n\n\n<section class=\"ctab ctab--halo\" id=\"cta-6a34eb07ac69a\">\n\n    <div class=\"ctab__inner\">\n\n        <header class=\"nl-section-head\">\n                            <p class=\"nl-eyebrow\">\n                    Let\u2019s work together.                 <\/p>\n            \n                            <h2 class=\"nl-section-title\">\n                    Let\u2019s discuss your legal project.                <\/h2>\n            \n                    <\/header>\n\n        <span class=\"ctab__divider\" aria-hidden=\"true\"><\/span>\n\n                    <div class=\"ctab__ctas\">\n                                    <a href=\"https:\/\/nylaw.ma\/en\/contact\"\n                                              class=\"btn btn-primary\">\n                        Contact us                    <\/a>\n                \n                            <\/div>\n        \n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   CTA Banner \u2014 Invitation finale (NY Law)\n   ============================================ *\/\n\n#cta-6a34eb07ac69a.ctab {\n    padding: 6rem 1.5rem;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n}\n@media (min-width: 768px) { #cta-6a34eb07ac69a.ctab { padding: 8rem 2rem; } }\n@media (min-width: 1024px) { #cta-6a34eb07ac69a.ctab { padding: 10rem 3rem; } }\n\n\/* Theme : LIGHT (beige par d\u00e9faut) *\/\n#cta-6a34eb07ac69a.ctab--light {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n}\n\n\/* Theme : HALO \u2014 beige-2 + radial halo brun centr\u00e9-haut + fade vers beige-1 en bas.\n   Le fade bottom assure une transition fluide vers le footer beige-1 (fondu z\u00e9ro accroc).\n   Coh\u00e9rent avec team-founders (beige-2) \u2192 CTA continue \u2192 fade \u2192 footer. *\/\n#cta-6a34eb07ac69a.ctab--halo {\n    background-color: var(--color-beige-2);\n    background-image:\n        \/* 1. Halo brun centr\u00e9-haut (au-dessus du fade) *\/\n        radial-gradient(\n            ellipse 80% 60% at 50% 30%,\n            rgba(92, 26, 43, 0.18) 0%,\n            rgba(92, 26, 43, 0.05) 40%,\n            transparent 70%\n        ),\n        \/* 2. Fade beige-2 \u2192 beige-1 sur les 30% inf\u00e9rieurs (continuit\u00e9 footer) *\/\n        linear-gradient(\n            180deg,\n            transparent 0%,\n            transparent 70%,\n            var(--color-beige-1) 100%\n        );\n    color: var(--color-brown-900);\n}\n\n\/* Theme : DARK (brown-800 brand band) *\/\n#cta-6a34eb07ac69a.ctab--dark {\n    background-color: var(--color-brown-800);\n    color: var(--color-beige-1);\n}\n\n\/* Theme : BRIDGE (gradient beige \u2192 brown-800) \u2014 continuit\u00e9 avec footer brand band.\n   La majorit\u00e9 du gradient reste en beige (lisibilit\u00e9 du texte), transition cobalt\n   concentr\u00e9e dans le dernier tiers : effet \"fondu vers la signature finale\". *\/\n#cta-6a34eb07ac69a.ctab--bridge {\n    background: linear-gradient(\n        180deg,\n        var(--color-beige-1) 0%,\n        var(--color-beige-1) 65%,\n        var(--color-beige-3) 80%,\n        var(--color-brown-800) 100%\n    );\n    color: var(--color-brown-900);\n}\n\n#cta-6a34eb07ac69a .ctab__inner {\n    max-width: 800px;\n    margin: 0 auto;\n    position: relative;\n    z-index: 1;\n}\n\n\/* Intro paragraph *\/\n#cta-6a34eb07ac69a .ctab__intro {\n    margin: 1.75rem auto 0;\n    max-width: 50ch;\n    font-size: 1.05rem;\n    line-height: var(--leading-body);\n    color: var(--color-brown-900);\n    opacity: 0.78;\n}\n#cta-6a34eb07ac69a .ctab__intro.is-light {\n    color: var(--color-beige-1);\n    opacity: 0.85;\n}\n\n\/* Hairline divider \u2014 \u00e9cho aux 2 barres du logo *\/\n#cta-6a34eb07ac69a .ctab__divider {\n    display: block;\n    width: 1px;\n    height: 60px;\n    margin: 3rem auto 2.5rem;\n    background-color: var(--color-brown-900);\n    opacity: 0.25;\n    transform-origin: top center;\n    transform: scaleY(0);\n    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);\n    will-change: transform;\n}\n#cta-6a34eb07ac69a.ctab--dark .ctab__divider {\n    background-color: var(--color-beige-1);\n    opacity: 0.3;\n}\n\/* Bridge & halo : texte fonc\u00e9 donc divider fonc\u00e9 aussi *\/\n#cta-6a34eb07ac69a.ctab--bridge .ctab__divider,\n#cta-6a34eb07ac69a.ctab--halo .ctab__divider {\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n}\n#cta-6a34eb07ac69a .ctab__divider.is-revealed {\n    transform: scaleY(1);\n}\n\n\/* CTAs row *\/\n#cta-6a34eb07ac69a .ctab__ctas {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 1rem;\n    justify-content: center;\n    align-items: center;\n}\n\n\/* Bouton inverse sur fond brown (bg dark \/ bridge bottom) \u2014 \u00e9cho au pattern single-avocat contact *\/\n#cta-6a34eb07ac69a.ctab--dark .btn-primary {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-800);\n}\n#cta-6a34eb07ac69a.ctab--dark .btn-secondary {\n    border-color: var(--color-beige-1);\n    color: var(--color-beige-1);\n}\n\n\/* \u00c9tats initiaux pour reveal *\/\n#cta-6a34eb07ac69a .nl-eyebrow,\n#cta-6a34eb07ac69a .nl-section-title,\n#cta-6a34eb07ac69a .ctab__intro,\n#cta-6a34eb07ac69a .ctab__ctas {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.8s ease, transform 0.8s ease;\n}\n#cta-6a34eb07ac69a .is-revealed.nl-eyebrow,\n#cta-6a34eb07ac69a .is-revealed.nl-section-title,\n#cta-6a34eb07ac69a .is-revealed.ctab__intro,\n#cta-6a34eb07ac69a .is-revealed.ctab__ctas {\n    opacity: 1;\n    transform: translateY(0);\n}\n\n\/* Reduce motion : tout visible direct *\/\n@media (prefers-reduced-motion: reduce) {\n    #cta-6a34eb07ac69a .nl-eyebrow,\n    #cta-6a34eb07ac69a .nl-section-title,\n    #cta-6a34eb07ac69a .ctab__intro,\n    #cta-6a34eb07ac69a .ctab__ctas,\n    #cta-6a34eb07ac69a .ctab__divider {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n}\n<\/style>\n\n<script>\n(function() {\n    var section = document.getElementById('cta-6a34eb07ac69a');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var els = section.querySelectorAll('.nl-eyebrow, .nl-section-title, .ctab__intro, .ctab__ctas');\n    var divider = section.querySelector('.ctab__divider');\n\n    \/* GSAP si dispo, sinon IntersectionObserver natif (fallback simple) *\/\n    if (typeof gsap !== 'undefined' && typeof ScrollTrigger !== 'undefined') {\n        gsap.registerPlugin(ScrollTrigger);\n        ScrollTrigger.create({\n            trigger: section,\n            start: 'top 80%',\n            once: true,\n            onEnter: function() {\n                els.forEach(function(el, i) {\n                    setTimeout(function() {\n                        el.classList.add('is-revealed');\n                    }, i * 120);\n                });\n                if (divider) {\n                    setTimeout(function() {\n                        divider.classList.add('is-revealed');\n                    }, els.length * 120);\n                }\n            }\n        });\n    } else if ('IntersectionObserver' in window) {\n        var io = new IntersectionObserver(function(entries) {\n            entries.forEach(function(entry) {\n                if (entry.isIntersecting) {\n                    els.forEach(function(el, i) {\n                        setTimeout(function() {\n                            el.classList.add('is-revealed');\n                        }, i * 120);\n                    });\n                    if (divider) {\n                        setTimeout(function() {\n                            divider.classList.add('is-revealed');\n                        }, els.length * 120);\n                    }\n                    io.unobserve(entry.target);\n                }\n            });\n        }, { rootMargin: '-15% 0px' });\n        io.observe(section);\n    } else {\n        \/* Pas d'IO support : tout visible direct *\/\n        els.forEach(function(el) { el.classList.add('is-revealed'); });\n        if (divider) divider.classList.add('is-revealed');\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-626","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>About us - NY law<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nylaw.ma\/a-propos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"About us - NY law\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nylaw.ma\/a-propos\/\" \/>\n<meta property=\"og:site_name\" content=\"NY law\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-08T11:21:49+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/a-propos\\\/\",\"url\":\"https:\\\/\\\/nylaw.ma\\\/a-propos\\\/\",\"name\":\"About us - NY law\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#website\"},\"datePublished\":\"2026-05-06T13:07:23+00:00\",\"dateModified\":\"2026-06-08T11:21:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/a-propos\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nylaw.ma\\\/a-propos\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/a-propos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/nylaw.ma\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"About us\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#website\",\"url\":\"https:\\\/\\\/nylaw.ma\\\/\",\"name\":\"NY law\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nylaw.ma\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#organization\",\"name\":\"NY law\",\"url\":\"https:\\\/\\\/nylaw.ma\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nylaw.ma\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-nylaw.svg\",\"contentUrl\":\"https:\\\/\\\/nylaw.ma\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-nylaw.svg\",\"width\":1,\"height\":1,\"caption\":\"NY law\"},\"image\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"About us - NY law","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nylaw.ma\/a-propos\/","og_locale":"en_US","og_type":"article","og_title":"About us - NY law","og_url":"https:\/\/nylaw.ma\/a-propos\/","og_site_name":"NY law","article_modified_time":"2026-06-08T11:21:49+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nylaw.ma\/a-propos\/","url":"https:\/\/nylaw.ma\/a-propos\/","name":"About us - NY law","isPartOf":{"@id":"https:\/\/nylaw.ma\/#website"},"datePublished":"2026-05-06T13:07:23+00:00","dateModified":"2026-06-08T11:21:49+00:00","breadcrumb":{"@id":"https:\/\/nylaw.ma\/a-propos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nylaw.ma\/a-propos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nylaw.ma\/a-propos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/nylaw.ma\/"},{"@type":"ListItem","position":2,"name":"About us"}]},{"@type":"WebSite","@id":"https:\/\/nylaw.ma\/#website","url":"https:\/\/nylaw.ma\/","name":"NY law","description":"","publisher":{"@id":"https:\/\/nylaw.ma\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nylaw.ma\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nylaw.ma\/#organization","name":"NY law","url":"https:\/\/nylaw.ma\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nylaw.ma\/#\/schema\/logo\/image\/","url":"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-nylaw.svg","contentUrl":"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-nylaw.svg","width":1,"height":1,"caption":"NY law"},"image":{"@id":"https:\/\/nylaw.ma\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages\/626","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/comments?post=626"}],"version-history":[{"count":23,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages\/626\/revisions"}],"predecessor-version":[{"id":1062,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages\/626\/revisions\/1062"}],"wp:attachment":[{"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/media?parent=626"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}