{"id":707,"date":"2026-05-06T15:06:52","date_gmt":"2026-05-06T13:06:52","guid":{"rendered":"https:\/\/nylaw.ma\/expertise\/"},"modified":"2026-06-08T16:19:44","modified_gmt":"2026-06-08T14:19:44","slug":"expertise","status":"publish","type":"page","link":"https:\/\/nylaw.ma\/en\/expertise\/","title":{"rendered":"Expertise"},"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-6a34eaea1ba87\">\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                        EXPERTISES                    <\/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\">Six areas of expertise. Two practices. <\/span>\n                                            <span class=\"hc-title__emphasis\">One team.<\/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                        Each matter handled in both advisory and litigation by a single team.                    <\/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\/nylaw-firm-4-1.webp\"\n                                 alt=\"\"\n                                 loading=\"eager\"\n                                 width=\"1680\"                                 height=\"1120\">\n                        <\/figure>\n\n                    \n                <\/div>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<script>\n(function() {\n    var section = document.getElementById('hc-6a34eaea1ba87');\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-6a34eaea1ba87 .hc-title__base,\n#hc-6a34eaea1ba87 .hc-title__emphasis {\n    display: block;\n        line-height:normal;\n}\n#hc-6a34eaea1ba87 .hc-title__base {\n    font-weight: 300;\n    line-height:normal;\n}\n#hc-6a34eaea1ba87 .hc-title__emphasis {\n    font-weight: 400;\n}\n\n\/* Hover scroll cue : fl\u00e8che descend subtilement *\/\n#hc-6a34eaea1ba87 .hc-scroll-arrow {\n    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#hc-6a34eaea1ba87 .hc-scroll:hover .hc-scroll-arrow {\n    transform: translateY(4px);\n}\n@media (prefers-reduced-motion: reduce) {\n    #hc-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87.hc--has-right .hc-grid {\n        grid-template-columns: 1fr 1fr;\n        \/* gap: 4rem; *\/\n    }\n}\n@media (min-width: 1280px) {\n    #hc-6a34eaea1ba87.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-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right {\n        padding-top: 5rem;\n        padding-bottom: 3rem;\n    }\n}\n\n\/* === Right column : image solo === *\/\n#hc-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right__gallery-slide.is-active {\n    opacity: 1;\n}\n\n\/* === Right column : SVG shape === *\/\n#hc-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right {\n        max-height: none;\n    }\n    #hc-6a34eaea1ba87 .hc-right__image-wrap,\n    #hc-6a34eaea1ba87 .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-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right__svg--squiggle .mask-0 { stroke-dasharray: 100, 299.069; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle .mask-1 { stroke-dasharray: 100, 1113.56; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle .mask-2 { stroke-dasharray: 100, 869.713; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle .mask-3 { stroke-dasharray: 100, 674.382; }\n\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle.is-revealed .mask { stroke-dashoffset: 0; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle.is-revealed .mask-0 { transition-delay: 0s;   }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle.is-revealed .mask-1 { transition-delay: 0.3s; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle.is-revealed .mask-2 { transition-delay: 0.6s; }\n#hc-6a34eaea1ba87 .hc-right__svg--squiggle.is-revealed .mask-3 { transition-delay: 1.0s; }\n\/* Cercle : draw progressif *\/\n#hc-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right__svg--circle.is-revealed circle {\n    stroke-dashoffset: 0;\n}\n\/* Bars : scale-Y growth depuis le haut *\/\n#hc-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right__svg--bars rect:nth-child(2) {\n    transition-delay: 0.2s;\n}\n#hc-6a34eaea1ba87 .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-6a34eaea1ba87 .hc-right__svg--squiggle .mask,\n    #hc-6a34eaea1ba87 .hc-right__svg--circle circle {\n        stroke-dashoffset: 0 !important;\n        transition: none !important;\n    }\n    #hc-6a34eaea1ba87 .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 mr--wrap-overlap\"\n         id=\"mr-6a34eaea1c48d\"\n         aria-label=\"Our Approach\">\n    <div class=\"mr__inner nl-container\">\n\n        <div class=\"mr__eyebrow-wrap\">\n                            <span class=\"mr__eyebrow\">Our Approach<\/span>\n                    <\/div>\n\n        <div class=\"mr__main\">\n            <div class=\"mr__text\" data-text-reveal>\n                NY Law treats the law as an instrument in the service of corporate decision-making. Every matter is handled directly by the partners, with business insight in mind: understanding the economic intent before crafting the legal solution, with the standards of the world&#039;s leading firms and the attention only a firm of our scale can provide.\u2028\u2028<br \/>\r\n<br \/>\r\nWe do not separate advisory thinking from litigation defence. It is the same team that anticipates your operations upstream, and that defends your positions when the time comes, with the same method, the same depth, the same discretion.\u2028\u2028<br \/>\r\n<br \/>\r\nThis continuity is our signature.            <\/div>\n\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-6a34eaea1c48d.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-6a34eaea1c48d.mr { padding: 4rem 0 9rem; } }\n@media (min-width: 1024px) { #mr-6a34eaea1c48d.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-6a34eaea1c48d.mr--wrap-overlap {\n    margin-top: -8vh;\n}\n@media (min-width: 1024px) {\n    #mr-6a34eaea1c48d.mr--wrap-overlap {\n        margin-top: -12vh;\n    }\n}\n\n#mr-6a34eaea1c48d.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-6a34eaea1c48d .mr__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #mr-6a34eaea1c48d .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-6a34eaea1c48d .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-6a34eaea1c48d .mr__eyebrow-wrap {\n    align-self: start;\n}\n\n#mr-6a34eaea1c48d .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-6a34eaea1c48d.mr--dark .mr__eyebrow {\n    color: var(--color-beige-1);\n}\n\n#mr-6a34eaea1c48d .mr__eyebrow--link {\n    transition: color 0.3s ease, opacity 0.3s ease;\n}\n#mr-6a34eaea1c48d .mr__eyebrow--link:hover {\n    color: var(--color-brown-600);\n}\n#mr-6a34eaea1c48d.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-6a34eaea1c48d .mr__main {\n    display: flex;\n    flex-direction: column;\n}\n\n\/* === Texte (droite) \u2014 gros, prend toute la place === *\/\n#mr-6a34eaea1c48d .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-6a34eaea1c48d.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-6a34eaea1c48d .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-6a34eaea1c48d .mr__description {\n        margin-top: 2.5rem;\n    }\n}\n\n#mr-6a34eaea1c48d.mr--dark .mr__description {\n    color: var(--color-beige-1);\n    opacity: 0.55;\n}\n\n#mr-6a34eaea1c48d .mr__description p {\n    margin: 0 0 0.75em;\n}\n#mr-6a34eaea1c48d .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-6a34eaea1c48d .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-6a34eaea1c48d .mr__word { opacity: 1 !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('mr-6a34eaea1c48d');\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=\"conseil-contentieux\">\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-1.webp\"\n                     alt=\"\"\n                     loading=\"lazy\"\n                     width=\"1680\"                     height=\"1120\">\n            <\/figure>\n        \n        <div class=\"itp__content\">\n                            <p class=\"itp__eyebrow nl-eyebrow\">Advisory and Litigation<\/p>\n            \n                            <h2 class=\"itp__title\">\n                    <span class=\"itp__title-base\">Anticipate.<\/span>                    <span class=\"itp__title-emphasis\">Defend.<\/span>                                    <\/h2>\n            \n                            <div class=\"itp__text\">\n                    <strong>Advisory Division<\/strong> \u2014 The firm advises businesses and their leaders on strategic decisions upstream: deal structuring, mergers and acquisitions, contracts, financing, compliance, governance, tax and employment law. Every matter is approached with business insight in mind \u2014 the legal solution serving the economic decision.<br \/>\r\n<br \/>\r\n<strong>Litigation Division<\/strong> \u2014 The firm assists and represents its clients at every stage of pre-litigation and judicial proceedings, before all the courts of the Kingdom. Our practice rests on a discipline of anticipation and method: rigorous preparation of every matter, precise selection of arguments, strategic conduct of proceedings, and \u2014 where it serves the client&#8217;s interest \u2014 the pursuit of secure transactional solutions.                <\/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#conseil-contentieux.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)  { #conseil-contentieux.itp { padding: 7rem 0; } }\n@media (min-width: 1024px) { #conseil-contentieux.itp { padding: 9rem 0; } } *\/\n\n#conseil-contentieux.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\/* #conseil-contentieux.itp--card-white,\n#conseil-contentieux.itp--card-warm {\n    padding-left: 1.5rem;\n    padding-right: 1.5rem;\n}\n@media (min-width: 768px) {\n    #conseil-contentieux.itp--card-white,\n    #conseil-contentieux.itp--card-warm {\n        padding-left: 3rem;\n        padding-right: 3rem;\n    }\n} *\/\n\n#conseil-contentieux.itp--card-white .itp__inner,\n#conseil-contentieux.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#conseil-contentieux.itp--card-white .itp__content,\n#conseil-contentieux.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#conseil-contentieux.itp--image-right.itp--card-white .itp__content,\n#conseil-contentieux.itp--image-right.itp--card-warm .itp__content {\n    border-radius: 15px 0 0 15px;\n}\n#conseil-contentieux.itp--card-white .itp__content {\n    background-color: #ffffff;\n}\n#conseil-contentieux.itp--card-warm .itp__content {\n    background-color: var(--color-beige-2);\n}\n@media (min-width: 1024px) {\n    #conseil-contentieux.itp--card-white .itp__content,\n    #conseil-contentieux.itp--card-warm .itp__content {\n        padding: 3.5rem 3rem 3.5rem 3.5rem;\n    }\n}\n@media (min-width: 1280px) {\n    #conseil-contentieux.itp--card-white .itp__content,\n    #conseil-contentieux.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#conseil-contentieux.itp--card-white .itp__media,\n#conseil-contentieux.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#conseil-contentieux.itp--image-right.itp--card-white .itp__media,\n#conseil-contentieux.itp--image-right.itp--card-warm .itp__media {\n    border-radius: 0 15px 15px 0;\n}\n#conseil-contentieux.itp--card-white .itp__media .itp__image,\n#conseil-contentieux.itp--card-warm .itp__media .itp__image {\n    height: 100%;\n    min-height: 380px;\n}\n@media (min-width: 1024px) {\n    #conseil-contentieux.itp--card-white .itp__media .itp__image,\n    #conseil-contentieux.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#conseil-contentieux .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    #conseil-contentieux .itp__inner {\n        grid-template-columns: 1fr 1fr;\n        gap: 4rem;\n    }\n}\n@media (min-width: 1280px) {\n    #conseil-contentieux .itp__inner { gap: 5.5rem; }\n}\n\n\/* Image \u00e0 droite : on inverse l'ordre des colonnes *\/\n@media (min-width: 1024px) {\n    #conseil-contentieux.itp--image-right .itp__media   { order: 2; }\n    #conseil-contentieux.itp--image-right .itp__content { order: 1; }\n}\n\n\/* === Image === *\/\n#conseil-contentieux .itp__media {\n    margin: 0;\n    overflow: hidden;\n    border-radius: 4px;\n    aspect-ratio: 4\/5;\n}\n@media (min-width: 768px) {\n    #conseil-contentieux .itp__media { aspect-ratio: 5\/6; }\n}\n@media (min-width: 1024px) {\n    #conseil-contentieux .itp__media { aspect-ratio: 4\/5; }\n}\n\n#conseil-contentieux .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#conseil-contentieux .itp__content {\n    max-width: 540px;\n}\n@media (min-width: 1024px) {\n    #conseil-contentieux .itp__content {\n        padding: 1rem 0;\n    }\n}\n\n#conseil-contentieux .itp__eyebrow {\n    margin: 0 0 1.5rem;\n}\n\n\/* Titre avec emphasis : 3 spans inline *\/\n#conseil-contentieux .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#conseil-contentieux.itp--dark .itp__title { color: var(--color-beige-1); }\n\n#conseil-contentieux .itp__title-base     { font-weight: 300; }\n#conseil-contentieux .itp__title-emphasis { font-weight: 400; letter-spacing: -0.018em; }\n\n\/* === Text body === *\/\n#conseil-contentieux .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#conseil-contentieux.itp--dark .itp__text { color: var(--color-beige-1); opacity: 0.78; }\n\n#conseil-contentieux .itp__text p { margin: 0 0 1.1rem; }\n#conseil-contentieux .itp__text p:last-child { margin-bottom: 0; }\n#conseil-contentieux .itp__text strong { font-weight: 500; }\n\n\/* === CTA underline \u00e9ditorial === *\/\n#conseil-contentieux .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#conseil-contentieux.itp--dark .itp__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#conseil-contentieux .itp__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#conseil-contentieux.itp--dark .itp__cta:hover { color: var(--color-beige-3); }\n\n#conseil-contentieux .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    #conseil-contentieux .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    #conseil-contentieux .itp__image {\n        clip-path: none !important;\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #conseil-contentieux .itp__content > * {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('conseil-contentieux');\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<section class=\"eds eds--left relative overflow-hidden\"\n         id=\"expertises\"\n         data-theme=\"light\"\n                  style=\"background-color: var(--color-beige-1); padding-top: var(--section-py-lg, 8rem);\">\n\n    <div class=\"nl-container\">\n\n                    <!-- Layout 2 colonnes asym\u00e9trique 12-col -->\n            <div class=\"grid grid-cols-12 gap-8 lg:gap-16 items-start\">\n                <!-- Texte (col-7 desktop) -->\n                <div class=\"col-span-12 md:col-span-7 md:order-1\">\n        \n            \n                            <p class=\"eds__eyebrow text-brown-900\/60\"\n                   style=\"font-size: var(--text-eyebrow); text-transform: uppercase; letter-spacing: var(--tracking-wider); font-weight: 500; margin-bottom: 1.5rem;\">\n                    Service Lines                <\/p>\n            \n                            <h2 class=\"eds__title text-brown-800\"\n                    style=\"font-size: var(--text-display-l); line-height: var(--leading-tight); letter-spacing: var(--tracking-tight); font-weight: 400; margin: 0 0 2rem;\">\n                    <span class=\"nl-title__base\">Six service lines,<\/span>                    <span class=\"nl-title__emphasis\">two approaches.<\/span>                <\/h2>\n            \n            \n            \n                        <\/div><!-- \/col texte -->\n\n                        \n        <\/div><!-- \/grid ou \/center -->\n\n    <\/div>\n<\/section>\n\n<style>\n#expertises .eds__body p {\n    margin-bottom: 1.5rem;\n}\n#expertises .eds__body p:last-child {\n    margin-bottom: 0;\n}\n\/* CTA : utilise les classes globales .btn .btn-secondary\n   (style outlined adaptive light\/dark + slide-in hover) *\/\n\/* Image \u00e9ditoriale simple \u2014 pas d'animation, ratio portrait \u00e9ditorial *\/\n#expertises .eds__image-wrap {\n    position: relative;\n    aspect-ratio: 4\/5;\n}\n#expertises .eds__image {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n    display: block;\n    border-radius:15px;\n}\n\n\/* Word-by-word scroll reveal (Ikebana \/ Apple \/ Stripe style)\n   Chaque mot est wrap dans un <span class=\"eds__w\">. Au scroll,\n   l'opacit\u00e9 de chaque mot passe de 0.18 (faded) \u00e0 1 (full color)\n   selon sa position dans le viewport. *\/\n#expertises .eds__w {\n    opacity: 0.18;\n    transition: opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n    will-change: opacity;\n}\n\n\/* Pour les utilisateurs reduce-motion : pas d'animation *\/\n@media (prefers-reduced-motion: reduce) {\n    #expertises .eds__image {\n        transform: translateY(0);\n    }\n    #expertises .eds__w {\n        opacity: 1;\n    }\n}\n<\/style>\n\n<script>\n(function() {\n    var section = document.getElementById('expertises');\n    if (!section) return;\n\n    var reduceMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n    \/* === Word-by-word text reveal === *\/\n    var bodyEl = section.querySelector('[data-eds-words]');\n    var words = [];\n\n    if (bodyEl && !reduceMotion) {\n        \/* Wrap chaque mot dans un span tout en pr\u00e9servant le HTML (paragraphes, liens, etc.) *\/\n        function wrapWordsInTextNode(node) {\n            var text = node.nodeValue;\n            if (!text || !text.trim()) return;\n            var frag = document.createDocumentFragment();\n            var parts = text.split(\/(\\s+)\/);  \/* garde les espaces *\/\n            parts.forEach(function(part) {\n                if (\/^\\s+$\/.test(part)) {\n                    frag.appendChild(document.createTextNode(part));\n                } else if (part.length > 0) {\n                    var span = document.createElement('span');\n                    span.className = 'eds__w';\n                    span.textContent = part;\n                    frag.appendChild(span);\n                }\n            });\n            node.parentNode.replaceChild(frag, node);\n        }\n\n        function walk(el) {\n            var children = Array.prototype.slice.call(el.childNodes);\n            children.forEach(function(child) {\n                if (child.nodeType === Node.TEXT_NODE) {\n                    wrapWordsInTextNode(child);\n                } else if (child.nodeType === Node.ELEMENT_NODE) {\n                    walk(child);  \/* r\u00e9cursion dans <p>, <a>, <strong>, etc. *\/\n                }\n            });\n        }\n\n        walk(bodyEl);\n        words = bodyEl.querySelectorAll('.eds__w');\n    }\n\n    \/* Reduce motion ou rien \u00e0 animer : pas de scroll listener *\/\n    if (reduceMotion) return;\n    if (words.length === 0) return;\n\n    function update() {\n        var vh = window.innerHeight;\n\n        \/* --- Mots : opacity selon position dans viewport ---\n           Le seuil \"fully visible\" est \u00e0 65% de la hauteur du viewport\n           (le mot devient pleinement opaque quand il d\u00e9passe 65% de la\n           hauteur depuis le top). Plus haut \u2192 plus opaque. *\/\n        if (words.length > 0) {\n            var trigger = vh * 0.7;        \/* y-coord \u00e0 partir duquel le mot est full opacity *\/\n            var fadeRange = vh * 0.25;     \/* range au-dessus du trigger pour le fade-in progressif *\/\n\n            for (var i = 0; i < words.length; i++) {\n                var wRect = words[i].getBoundingClientRect();\n                var wTop = wRect.top;\n\n                if (wTop > trigger) {\n                    \/* Mot trop bas dans le viewport \u2192 encore faded *\/\n                    var dist = wTop - trigger;\n                    var p = Math.max(0, 1 - (dist \/ fadeRange));\n                    \/* Map p (0\u21921) \u00e0 opacity (0.18\u21921) *\/\n                    words[i].style.opacity = (0.18 + p * 0.82).toFixed(3);\n                } else {\n                    \/* Mot a pass\u00e9 le trigger \u2192 full opacity *\/\n                    words[i].style.opacity = 1;\n                }\n            }\n        }\n    }\n\n    update();\n    window.addEventListener('scroll', update, { passive: true });\n    window.addEventListener('resize', update);\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"m-a-corporate\"\n         data-uid=\"es-6a34eaea1f6bb\"\n         aria-labelledby=\"es-6a34eaea1f6bb-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">01<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">M&amp;A \u00b7 CORPORATE \u00b7 INVESTMENT<\/p>\n                                                    <h2 id=\"es-6a34eaea1f6bb-title\" class=\"es__title\">From inception to exit.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">From investment to divestment, through every step of the company&#039;s ongoing life. NY Law advises businesses, their leaders, foreign investors and investment funds on their most structuring corporate operations.<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Legal due diligence<\/li>\n                                                                    <li>Mergers &amp; acquisitions, disposals, and equity investments<\/li>\n                                                                    <li>Capital restructurings<\/li>\n                                                                    <li>Governance and corporate secretarial work\u2028<\/li>\n                                                                    <li>Share capital operations\u2028<\/li>\n                                                                    <li>Shareholders&#039; agreements\u2028<\/li>\n                                                                    <li>Demergers, business transfers, dissolutions, and liquidations<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Shareholder disputes<\/li>\n                                                                    <li>Post-acquisition litigation (price adjustments, warranties)\u2028<\/li>\n                                                                    <li>Directors\u2019 liability claims<\/li>\n                                                                    <li>Governance disputes<\/li>\n                                                                    <li>Litigation related to shareholders&#039; agreements<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let\u2019s discuss your transaction<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#m-a-corporate.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #m-a-corporate.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #m-a-corporate.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#m-a-corporate.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#m-a-corporate.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#m-a-corporate .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #m-a-corporate .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #m-a-corporate .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#m-a-corporate .es__number-col {\n    position: relative;\n}\n\n#m-a-corporate .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#m-a-corporate.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #m-a-corporate .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#m-a-corporate .es__main {\n    max-width: 720px;\n}\n\n#m-a-corporate .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #m-a-corporate .es__header { margin-bottom: 2.5rem; }\n}\n\n#m-a-corporate .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#m-a-corporate .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#m-a-corporate.es--dark .es__title { color: var(--color-beige-1); }\n\n#m-a-corporate .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#m-a-corporate.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#m-a-corporate .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#m-a-corporate.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#m-a-corporate .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#m-a-corporate.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#m-a-corporate .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #m-a-corporate .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #m-a-corporate .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#m-a-corporate.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#m-a-corporate .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#m-a-corporate .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#m-a-corporate .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#m-a-corporate.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#m-a-corporate .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#m-a-corporate.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#m-a-corporate .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#m-a-corporate.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#m-a-corporate .es__cases-label { margin: 0 0 1rem; }\n\n#m-a-corporate .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#m-a-corporate .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#m-a-corporate.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#m-a-corporate .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#m-a-corporate.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#m-a-corporate .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#m-a-corporate.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#m-a-corporate .es__cta-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    #m-a-corporate .es__number,\n    #m-a-corporate .es__header > *:not(.es__hairline),\n    #m-a-corporate .es__description,\n    #m-a-corporate .es__column,\n    #m-a-corporate .es__cases,\n    #m-a-corporate .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #m-a-corporate .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #m-a-corporate .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #m-a-corporate .es__number,\n    #m-a-corporate .es__header > *,\n    #m-a-corporate .es__description,\n    #m-a-corporate .es__column,\n    #m-a-corporate .es__cases,\n    #m-a-corporate .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #m-a-corporate .es__number { opacity: 0.5 !important; }\n    #m-a-corporate.es--dark .es__number { opacity: 0.22 !important; }\n    #m-a-corporate .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('m-a-corporate');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"fiscalit\u00e9-changes\"\n         data-uid=\"es-6a34eaea1f9fd\"\n         aria-labelledby=\"es-6a34eaea1f9fd-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">02<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">COMMERCIAL CONTRACTS \u00b7 STRATEGIC PARTNERSHIPS<\/p>\n                                                    <h2 id=\"es-6a34eaea1f9fd-title\" class=\"es__title\">Securing high-stakes contracts.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">From general terms and conditions to the most structuring industrial partnerships, NY Law supports its clients in the legal protection and risk anticipation of their commercial relationships \u2014 in Morocco and internationally.<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Complex commercial contracts<\/li>\n                                                                    <li>General terms and conditions of sale and purchase<\/li>\n                                                                    <li>Distribution, agency, and franchise agreements<\/li>\n                                                                    <li>Strategic partnerships and industrial alliances<\/li>\n                                                                    <li>Strategic technology and commercial agreements<\/li>\n                                                                    <li>Negotiation, drafting, performance<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Contractual performance disputes<\/li>\n                                                                    <li>Termination of established commercial relationships\u2028<\/li>\n                                                                    <li>Warranty and contractual liability litigation\u2028<\/li>\n                                                                    <li>Actions for rescission, termination, specific performance\u2028<\/li>\n                                                                    <li>Litigation over strategic partnerships\u2028<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let&#039;s discuss your contract<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#fiscalit\u00e9-changes.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #fiscalit\u00e9-changes.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #fiscalit\u00e9-changes.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#fiscalit\u00e9-changes.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#fiscalit\u00e9-changes.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#fiscalit\u00e9-changes .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #fiscalit\u00e9-changes .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #fiscalit\u00e9-changes .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#fiscalit\u00e9-changes .es__number-col {\n    position: relative;\n}\n\n#fiscalit\u00e9-changes .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#fiscalit\u00e9-changes.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #fiscalit\u00e9-changes .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#fiscalit\u00e9-changes .es__main {\n    max-width: 720px;\n}\n\n#fiscalit\u00e9-changes .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #fiscalit\u00e9-changes .es__header { margin-bottom: 2.5rem; }\n}\n\n#fiscalit\u00e9-changes .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#fiscalit\u00e9-changes .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#fiscalit\u00e9-changes.es--dark .es__title { color: var(--color-beige-1); }\n\n#fiscalit\u00e9-changes .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#fiscalit\u00e9-changes.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#fiscalit\u00e9-changes .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#fiscalit\u00e9-changes.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#fiscalit\u00e9-changes .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#fiscalit\u00e9-changes.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#fiscalit\u00e9-changes .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #fiscalit\u00e9-changes .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #fiscalit\u00e9-changes .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#fiscalit\u00e9-changes.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#fiscalit\u00e9-changes .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#fiscalit\u00e9-changes .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#fiscalit\u00e9-changes .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#fiscalit\u00e9-changes.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#fiscalit\u00e9-changes .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#fiscalit\u00e9-changes.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#fiscalit\u00e9-changes .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#fiscalit\u00e9-changes.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#fiscalit\u00e9-changes .es__cases-label { margin: 0 0 1rem; }\n\n#fiscalit\u00e9-changes .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#fiscalit\u00e9-changes .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#fiscalit\u00e9-changes.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#fiscalit\u00e9-changes .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#fiscalit\u00e9-changes.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#fiscalit\u00e9-changes .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#fiscalit\u00e9-changes.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#fiscalit\u00e9-changes .es__cta-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    #fiscalit\u00e9-changes .es__number,\n    #fiscalit\u00e9-changes .es__header > *:not(.es__hairline),\n    #fiscalit\u00e9-changes .es__description,\n    #fiscalit\u00e9-changes .es__column,\n    #fiscalit\u00e9-changes .es__cases,\n    #fiscalit\u00e9-changes .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #fiscalit\u00e9-changes .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #fiscalit\u00e9-changes .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #fiscalit\u00e9-changes .es__number,\n    #fiscalit\u00e9-changes .es__header > *,\n    #fiscalit\u00e9-changes .es__description,\n    #fiscalit\u00e9-changes .es__column,\n    #fiscalit\u00e9-changes .es__cases,\n    #fiscalit\u00e9-changes .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #fiscalit\u00e9-changes .es__number { opacity: 0.5 !important; }\n    #fiscalit\u00e9-changes.es--dark .es__number { opacity: 0.22 !important; }\n    #fiscalit\u00e9-changes .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('fiscalit\u00e9-changes');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"contrats-partenariats\"\n         data-uid=\"es-6a34eaea1fd00\"\n         aria-labelledby=\"es-6a34eaea1fd00-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">03<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">BANKING \u00b7 FINANCE \u00b7 INSURANCE \u00b7 CAPITAL MARKETS<\/p>\n                                                    <h2 id=\"es-6a34eaea1fd00-title\" class=\"es__title\">The technical depth of finance.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">From corporate financing to capital markets, from insurance contracts to derivatives, NY Law advises its clients on the most technical legal and regulatory dimensions of finance. The firm also works alongside public authorities in shaping capital markets regulation.<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Structuring of financings (corporate, project, acquisition, leveraged)\u2028<\/li>\n                                                                    <li>Capital markets and financial instruments\u2028<\/li>\n                                                                    <li>Derivatives and ISDA agreements\u2028<\/li>\n                                                                    <li>Banking licence applications and sectoral authorisations<\/li>\n                                                                    <li>Negotiation of banking contracts\u2028<\/li>\n                                                                    <li>Underwriting and management of insurance contracts\u2028<\/li>\n                                                                    <li>Banking and insurance compliance\u2028<\/li>\n                                                                    <li>Guarantees and security interests\u2028<\/li>\n                                                                    <li>Regulatory support and dialogue with authorities\u2028<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Banking and credit disputes<\/li>\n                                                                    <li>Insurance indemnification litigation<\/li>\n                                                                    <li>Complex debt recovery actions<\/li>\n                                                                    <li>Litigation involving financial instruments and security interests<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let&#039;s discuss your financing or coverage<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#contrats-partenariats.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #contrats-partenariats.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #contrats-partenariats.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#contrats-partenariats.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#contrats-partenariats.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#contrats-partenariats .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #contrats-partenariats .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #contrats-partenariats .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#contrats-partenariats .es__number-col {\n    position: relative;\n}\n\n#contrats-partenariats .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#contrats-partenariats.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #contrats-partenariats .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#contrats-partenariats .es__main {\n    max-width: 720px;\n}\n\n#contrats-partenariats .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #contrats-partenariats .es__header { margin-bottom: 2.5rem; }\n}\n\n#contrats-partenariats .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#contrats-partenariats .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#contrats-partenariats.es--dark .es__title { color: var(--color-beige-1); }\n\n#contrats-partenariats .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#contrats-partenariats.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#contrats-partenariats .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#contrats-partenariats.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#contrats-partenariats .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#contrats-partenariats.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#contrats-partenariats .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #contrats-partenariats .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #contrats-partenariats .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#contrats-partenariats.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#contrats-partenariats .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#contrats-partenariats .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#contrats-partenariats .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#contrats-partenariats.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#contrats-partenariats .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#contrats-partenariats.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#contrats-partenariats .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#contrats-partenariats.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#contrats-partenariats .es__cases-label { margin: 0 0 1rem; }\n\n#contrats-partenariats .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#contrats-partenariats .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#contrats-partenariats.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#contrats-partenariats .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#contrats-partenariats.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#contrats-partenariats .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#contrats-partenariats.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#contrats-partenariats .es__cta-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    #contrats-partenariats .es__number,\n    #contrats-partenariats .es__header > *:not(.es__hairline),\n    #contrats-partenariats .es__description,\n    #contrats-partenariats .es__column,\n    #contrats-partenariats .es__cases,\n    #contrats-partenariats .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #contrats-partenariats .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #contrats-partenariats .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #contrats-partenariats .es__number,\n    #contrats-partenariats .es__header > *,\n    #contrats-partenariats .es__description,\n    #contrats-partenariats .es__column,\n    #contrats-partenariats .es__cases,\n    #contrats-partenariats .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #contrats-partenariats .es__number { opacity: 0.5 !important; }\n    #contrats-partenariats.es--dark .es__number { opacity: 0.22 !important; }\n    #contrats-partenariats .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('contrats-partenariats');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"conformite-regules\"\n         data-uid=\"es-6a34eaea1ffdd\"\n         aria-labelledby=\"es-6a34eaea1ffdd-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">04<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">FOREIGN EXCHANGE REGULATION \u00b7 CROSS-BORDER OPERATIONS<\/p>\n                                                    <h2 id=\"es-6a34eaea1ffdd-title\" class=\"es__title\">Securing cross-border operations.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">For cross-border operations, dividend transfers, international financings and international group restructurings, NY Law advises its clients on securing their positions before the Office des Changes.<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Cross-border investments<\/li>\n                                                                    <li>Dividend transfers and international financings<\/li>\n                                                                    <li>International group restructurings<\/li>\n                                                                    <li>Securing operations before the Office des Changes<\/li>\n                                                                    <li>Foreign exchange regulation compliance<\/li>\n                                                                    <li>Authorisation applications and special filings<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Office des Changes inspections and audits<\/li>\n                                                                    <li>Foreign exchange regulation litigation<\/li>\n                                                                    <li>Appeals and proceedings<\/li>\n                                                                    <li>Proceedings before administrative jurisdictions<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let&#039;s discuss your cross-border operation<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#conformite-regules.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #conformite-regules.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #conformite-regules.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#conformite-regules.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#conformite-regules.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#conformite-regules .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #conformite-regules .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #conformite-regules .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#conformite-regules .es__number-col {\n    position: relative;\n}\n\n#conformite-regules .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#conformite-regules.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #conformite-regules .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#conformite-regules .es__main {\n    max-width: 720px;\n}\n\n#conformite-regules .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #conformite-regules .es__header { margin-bottom: 2.5rem; }\n}\n\n#conformite-regules .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#conformite-regules .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#conformite-regules.es--dark .es__title { color: var(--color-beige-1); }\n\n#conformite-regules .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#conformite-regules.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#conformite-regules .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#conformite-regules.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#conformite-regules .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#conformite-regules.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#conformite-regules .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #conformite-regules .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #conformite-regules .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#conformite-regules.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#conformite-regules .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#conformite-regules .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#conformite-regules .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#conformite-regules.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#conformite-regules .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#conformite-regules.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#conformite-regules .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#conformite-regules.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#conformite-regules .es__cases-label { margin: 0 0 1rem; }\n\n#conformite-regules .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#conformite-regules .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#conformite-regules.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#conformite-regules .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#conformite-regules.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#conformite-regules .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#conformite-regules.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#conformite-regules .es__cta-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    #conformite-regules .es__number,\n    #conformite-regules .es__header > *:not(.es__hairline),\n    #conformite-regules .es__description,\n    #conformite-regules .es__column,\n    #conformite-regules .es__cases,\n    #conformite-regules .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #conformite-regules .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #conformite-regules .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #conformite-regules .es__number,\n    #conformite-regules .es__header > *,\n    #conformite-regules .es__description,\n    #conformite-regules .es__column,\n    #conformite-regules .es__cases,\n    #conformite-regules .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #conformite-regules .es__number { opacity: 0.5 !important; }\n    #conformite-regules.es--dark .es__number { opacity: 0.22 !important; }\n    #conformite-regules .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('conformite-regules');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"banque-finance\"\n         data-uid=\"es-6a34eaea2030d\"\n         aria-labelledby=\"es-6a34eaea2030d-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">05<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">COMPLIANCE \u00b7 COMPETITION \u00b7 REGULATED SECTORS<\/p>\n                                                    <h2 id=\"es-6a34eaea2030d-title\" class=\"es__title\">Regulation as strategy.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">For businesses operating in regulated sectors \u2014 banking, insurance, telecoms, energy, healthcare, technology \u2014 NY Law supports compliance with legal and regulatory obligations, internal compliance, dialogue with supervisory authorities, and command of competition law.<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Sectoral approvals and authorisations\u2028<\/li>\n                                                                    <li>Compliance audits\u2028<\/li>\n                                                                    <li>Anti-corruption and anti-money laundering programs<\/li>\n                                                                    <li>Personal data protection<\/li>\n                                                                    <li>FATCA compliance<\/li>\n                                                                    <li>Drafting and AMMC visa for prospectuses\u2028<\/li>\n                                                                    <li>Competition law (anti-competitive practices, merger control)\u2028<\/li>\n                                                                    <li>Management of regulatory risk<\/li>\n                                                                    <li>Dialogue with supervisory authorities<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Administrative inspections and investigations\u2028<\/li>\n                                                                    <li>Proceedings before the Conseil de la Concurrence\u2028<\/li>\n                                                                    <li>Proceedings before regulatory authorities (notably AMMC)\u2028<\/li>\n                                                                    <li>Litigation before administrative jurisdictions\u2028<\/li>\n                                                                    <li>Regulatory sanction proceedings\u2028<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let&#039;s discuss your compliance matter<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#banque-finance.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #banque-finance.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #banque-finance.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#banque-finance.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#banque-finance.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#banque-finance .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #banque-finance .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #banque-finance .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#banque-finance .es__number-col {\n    position: relative;\n}\n\n#banque-finance .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#banque-finance.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #banque-finance .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#banque-finance .es__main {\n    max-width: 720px;\n}\n\n#banque-finance .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #banque-finance .es__header { margin-bottom: 2.5rem; }\n}\n\n#banque-finance .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#banque-finance .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#banque-finance.es--dark .es__title { color: var(--color-beige-1); }\n\n#banque-finance .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#banque-finance.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#banque-finance .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#banque-finance.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#banque-finance .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#banque-finance.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#banque-finance .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #banque-finance .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #banque-finance .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#banque-finance.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#banque-finance .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#banque-finance .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#banque-finance .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#banque-finance.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#banque-finance .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#banque-finance.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#banque-finance .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#banque-finance.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#banque-finance .es__cases-label { margin: 0 0 1rem; }\n\n#banque-finance .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#banque-finance .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#banque-finance.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#banque-finance .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#banque-finance.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#banque-finance .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#banque-finance.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#banque-finance .es__cta-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    #banque-finance .es__number,\n    #banque-finance .es__header > *:not(.es__hairline),\n    #banque-finance .es__description,\n    #banque-finance .es__column,\n    #banque-finance .es__cases,\n    #banque-finance .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #banque-finance .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #banque-finance .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #banque-finance .es__number,\n    #banque-finance .es__header > *,\n    #banque-finance .es__description,\n    #banque-finance .es__column,\n    #banque-finance .es__cases,\n    #banque-finance .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #banque-finance .es__number { opacity: 0.5 !important; }\n    #banque-finance.es--dark .es__number { opacity: 0.22 !important; }\n    #banque-finance .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('banque-finance');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"es\"\n         id=\"social-immigration\"\n         data-uid=\"es-6a34eaea205fc\"\n         aria-labelledby=\"es-6a34eaea205fc-title\">\n    <div class=\"es__inner nl-container\">\n\n        <!-- Colonne num\u00e9ro (asym\u00e9trie \u00e9ditoriale gauche) -->\n        <div class=\"es__number-col\">\n            <span class=\"es__number\" aria-hidden=\"true\">06<\/span>\n        <\/div>\n\n        <!-- Colonne contenu principal -->\n        <div class=\"es__main\">\n\n            <header class=\"es__header\">\n                                    <p class=\"es__eyebrow nl-eyebrow\">EMPLOYMENT LAW \u00b7 INTERNATIONAL MOBILITY<\/p>\n                                                    <h2 id=\"es-6a34eaea205fc-title\" class=\"es__title\">Human capital, strategically.<\/h2>\n                                                <span class=\"es__hairline\" aria-hidden=\"true\"><\/span>\n            <\/header>\n\n                            <p class=\"es__description\">From hiring to terminations, from day-to-day employee relations to workforce restructurings, from expatriation to the regularisation of foreign employees, NY Law advises businesses and their leaders on every legal dimension of human capital.\u2028\u2028<\/p>\n            \n            <!-- 2 colonnes : EN CONSEIL \/ EN CONTENTIEUX -->\n                            <div class=\"es__columns\">\n\n                                            <div class=\"es__column es__column--conseil\">\n                            <p class=\"es__column-label nl-eyebrow\">Advisory<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Individual and collective employee relations\u2028<\/li>\n                                                                    <li>Disciplinary procedures and terminations<\/li>\n                                                                    <li>Collective bargaining and company agreements<\/li>\n                                                                    <li>Employment restructurings<\/li>\n                                                                    <li>Professional immigration (work permits, residence cards)<\/li>\n                                                                    <li>Regularisation of foreign employees\u2028<\/li>\n                                                                    <li>Support for expatriate executives<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                                            <div class=\"es__column es__column--contentieux\">\n                            <p class=\"es__column-label nl-eyebrow\">Litigation<\/p>\n                            <ul class=\"es__list\" role=\"list\">\n                                                                    <li>Labour court disputes<\/li>\n                                                                    <li>Termination and dismissal litigation<\/li>\n                                                                    <li>Litigation over collective agreements<\/li>\n                                                                    <li>Proceedings before labour and administrative jurisdictions<\/li>\n                                                            <\/ul>\n                        <\/div>\n                    \n                <\/div>\n            \n            <!-- Cas-types (optionnel) -->\n            \n            <!-- Mini-CTA contextuel (underline \u00e9ditorial) -->\n                            <a class=\"es__cta\" href=\"https:\/\/nylaw.ma\/en\/contact\/\"\n                   >\n                    <span class=\"es__cta-arrow\" aria-hidden=\"true\">\u2192<\/span>\n                    <span>Let\u2019s discuss your HR matter<\/span>\n                <\/a>\n            \n        <\/div>\n    <\/div>\n<\/section>\n\n<style>\n\/* ============================================\n   Expertise Section \u2014 bloc service (instanci\u00e9 6\u00d7)\n   ============================================ *\/\n\n#social-immigration.es {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-900);\n    padding: 5rem 0 0 0;\n    position: relative;\n    z-index: 2;\n}\n@media (min-width: 768px)  { #social-immigration.es { padding: 7rem 0; } }\n@media (min-width: 1024px) { #social-immigration.es { padding: 9rem 0; } }\n\n\/* Th\u00e8me warm (alternance subtile pour rythme entre services) *\/\n#social-immigration.es--warm {\n    background-color: var(--color-beige-2);\n}\n\n\/* Th\u00e8me dark *\/\n#social-immigration.es--dark {\n    background-color: var(--color-brown-900);\n    color: var(--color-beige-1);\n}\n\n\/* === Inner \u2014 width + padding-x via utility globale .nl-container === *\/\n#social-immigration .es__inner {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n}\n@media (min-width: 1024px) {\n    #social-immigration .es__inner {\n        grid-template-columns: 1fr 3fr;\n        gap: 4rem;\n        align-items: start;\n    }\n}\n@media (min-width: 1280px) {\n    #social-immigration .es__inner {\n        grid-template-columns: 1fr 3.2fr;\n        gap: 16rem;\n    }\n}\n\n\/* === Num\u00e9ro col (asym\u00e9trie \u00e9ditoriale) === *\/\n#social-immigration .es__number-col {\n    position: relative;\n}\n\n#social-immigration .es__number {\n    display: block;\n    font-family: var(--font-display);\n    font-size: clamp(5rem, 11vw, 11rem);\n    font-weight: 300;\n    line-height: 0.85;\n    letter-spacing: -0.04em;\n    color: var(--color-brown-600);\n    will-change: transform, opacity;\n}\n#social-immigration.es--dark .es__number {\n    color: var(--color-beige-1);\n    opacity: 0.22;\n}\n\n@media (min-width: 1024px) {\n    \/* Sticky l\u00e9ger pour que le num\u00e9ro reste visible pendant la lecture du contenu *\/\n    #social-immigration .es__number-col {\n        position: sticky;\n        top: 6rem;\n        align-self: start;\n    }\n}\n\n\/* === Main content === *\/\n#social-immigration .es__main {\n    max-width: 720px;\n}\n\n#social-immigration .es__header {\n    margin-bottom: 2rem;\n}\n@media (min-width: 1024px) {\n    #social-immigration .es__header { margin-bottom: 2.5rem; }\n}\n\n#social-immigration .es__eyebrow {\n    margin: 0 0 1.25rem;\n}\n\n#social-immigration .es__title {\n    margin: 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.75rem, 3.2vw, 2.75rem);\n    font-weight: 400;\n    line-height: 1.15;\n    letter-spacing: -0.015em;\n    color: var(--color-brown-900);\n}\n#social-immigration.es--dark .es__title { color: var(--color-beige-1); }\n\n#social-immigration .es__subtitle {\n    margin: 0.75rem 0 0;\n    font-family: var(--font-display);\n    font-size: clamp(1.05rem, 1.4vw, 1.25rem);\n    font-weight: 400;\n    line-height: 1.45;\n    color: var(--color-brown-800);\n    opacity: 0.85;\n}\n#social-immigration.es--dark .es__subtitle { color: var(--color-beige-1); opacity: 0.75; }\n\n#social-immigration .es__hairline {\n    display: block;\n    width: 60px;\n    height: 1px;\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n    margin: 1.75rem 0 0;\n    transform-origin: left center;\n}\n#social-immigration.es--dark .es__hairline { background-color: var(--color-beige-1); opacity: 0.4; }\n\n#social-immigration .es__description {\n    margin: 0 0 2.5rem;\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.85;\n}\n#social-immigration.es--dark .es__description { color: var(--color-beige-1); opacity: 0.85; }\n\n\/* === Colonnes Conseil \/ Contentieux === *\/\n#social-immigration .es__columns {\n    display: grid;\n    grid-template-columns: 1fr;\n    gap: 2.5rem;\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n@media (min-width: 640px) {\n    #social-immigration .es__columns {\n        grid-template-columns: 1fr 1fr;\n        gap: 3rem;\n    }\n}\n@media (min-width: 1024px) {\n    #social-immigration .es__columns {\n        gap: 4rem;\n        padding-top: 2.5rem;\n        margin-bottom: 3rem;\n    }\n}\n#social-immigration.es--dark .es__columns {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#social-immigration .es__column-label {\n    margin: 0 0 1.25rem;\n}\n\n#social-immigration .es__list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.65rem;\n}\n\n#social-immigration .es__list li {\n    font-family: var(--font-display);\n    font-size: 1rem;\n    line-height: 1.55;\n    color: var(--color-brown-900);\n    opacity: 0.85;\n    padding-left: 1.2rem;\n    position: relative;\n}\n#social-immigration.es--dark .es__list li { color: var(--color-beige-1); opacity: 0.85; }\n\n#social-immigration .es__list li::before {\n    content: '';\n    position: absolute;\n    left: 0;\n    top: 0.7em;\n    width: 6px;\n    height: 1px;\n    background-color: var(--color-brown-800);\n    opacity: 0.6;\n}\n#social-immigration.es--dark .es__list li::before {\n    background-color: var(--color-beige-1);\n    opacity: 0.6;\n}\n\n\/* === Cas-types (optionnel) === *\/\n#social-immigration .es__cases {\n    margin-bottom: 2.5rem;\n    padding-top: 2rem;\n    border-top: 1px solid rgba(10, 10, 10, 0.14);\n}\n#social-immigration.es--dark .es__cases {\n    border-top-color: rgba(239, 234, 227, 0.16);\n}\n\n#social-immigration .es__cases-label { margin: 0 0 1rem; }\n\n#social-immigration .es__cases-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    display: flex;\n    flex-direction: column;\n    gap: 0.5rem;\n}\n#social-immigration .es__cases-list li {\n    font-family: var(--font-display);\n    font-size: 0.95rem;\n    line-height: 1.5;\n    color: var(--color-brown-900);\n    opacity: 0.75;\n    font-style: italic;\n}\n#social-immigration.es--dark .es__cases-list li {\n    color: var(--color-beige-1);\n    opacity: 0.75;\n}\n\n\/* === Mini-CTA underline \u00e9ditorial === *\/\n#social-immigration .es__cta {\n    margin-top: 1.5rem;\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: 1rem;\n    letter-spacing: 0.01em;\n    border-bottom: 1px solid var(--color-brown-800);\n    padding-bottom: 0.3rem;\n    transition: color 0.3s ease, gap 0.4s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#social-immigration.es--dark .es__cta {\n    color: var(--color-beige-1);\n    border-color: var(--color-beige-1);\n}\n#social-immigration .es__cta:hover {\n    color: var(--color-brown-600);\n    gap: 0.9rem;\n}\n#social-immigration.es--dark .es__cta:hover { color: var(--color-beige-3); }\n\n#social-immigration .es__cta-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    #social-immigration .es__number,\n    #social-immigration .es__header > *:not(.es__hairline),\n    #social-immigration .es__description,\n    #social-immigration .es__column,\n    #social-immigration .es__cases,\n    #social-immigration .es__cta {\n        opacity: 0;\n        transform: translateY(20px);\n    }\n    #social-immigration .es__number {\n        transform: translateY(20px) scale(0.92);\n    }\n    #social-immigration .es__hairline {\n        transform: scaleX(0);\n    }\n}\n\n\/* Reduce motion : tout visible *\/\n@media (prefers-reduced-motion: reduce) {\n    #social-immigration .es__number,\n    #social-immigration .es__header > *,\n    #social-immigration .es__description,\n    #social-immigration .es__column,\n    #social-immigration .es__cases,\n    #social-immigration .es__cta {\n        opacity: 1 !important;\n        transform: none !important;\n    }\n    #social-immigration .es__number { opacity: 0.5 !important; }\n    #social-immigration.es--dark .es__number { opacity: 0.22 !important; }\n    #social-immigration .es__hairline { transform: scaleX(1) !important; }\n}\n<\/style>\n\n<script>\n(function () {\n    var section = document.getElementById('social-immigration');\n    if (!section) return;\n    if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;\n\n    var number      = section.querySelector('.es__number');\n    var headerEls   = section.querySelectorAll('.es__header > *:not(.es__hairline)');\n    var hairline    = section.querySelector('.es__hairline');\n    var description = section.querySelector('.es__description');\n    var columns     = section.querySelectorAll('.es__column');\n    var cases       = section.querySelector('.es__cases');\n    var cta         = section.querySelector('.es__cta');\n\n    \/* Fallback no-GSAP : tout visible *\/\n    if (typeof gsap === 'undefined' || typeof ScrollTrigger === 'undefined') {\n        [number, hairline, description, cases, cta].forEach(function (el) {\n            if (el) { el.style.opacity = ''; el.style.transform = 'none'; }\n        });\n        headerEls.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        columns.forEach(function (el) { el.style.opacity = ''; el.style.transform = 'none'; });\n        if (number) number.style.opacity = '0.5';\n        return;\n    }\n\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    \/* 1. Num\u00e9ro : fade + scale 0.92\u21921 (Pattern #2 reveal, dur\u00e9e longue) *\/\n    if (number) {\n        tl.to(number, {\n            opacity: section.classList.contains('es--dark') ? 0.22 : 0.5,\n            scale: 1,\n            y: 0,\n            duration: 1.4,\n            ease: 'power4.out',\n        });\n    }\n\n    \/* 2. Header staggered (eyebrow + titre + sous-titre) *\/\n    if (headerEls.length) {\n        tl.to(headerEls, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.12,\n        }, '-=1.0');\n    }\n\n    \/* 3. Hairline scaleX 0\u21921 (Pattern #3 line reveal) *\/\n    if (hairline) {\n        tl.to(hairline, {\n            scaleX: 1,\n            duration: 0.8,\n            ease: 'power3.out',\n        }, '-=0.5');\n    }\n\n    \/* 4. Description fade-up *\/\n    if (description) {\n        tl.to(description, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n        }, '-=0.5');\n    }\n\n    \/* 5. Colonnes staggered (Pattern #6) *\/\n    if (columns.length) {\n        tl.to(columns, {\n            opacity: 1,\n            y: 0,\n            duration: 1.0,\n            ease: 'power4.out',\n            stagger: 0.15,\n        }, '-=0.6');\n    }\n\n    \/* 6. Cas-types (optionnel) *\/\n    if (cases) {\n        tl.to(cases, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.4');\n    }\n\n    \/* 7. Mini-CTA *\/\n    if (cta) {\n        tl.to(cta, {\n            opacity: 1,\n            y: 0,\n            duration: 0.9,\n            ease: 'power4.out',\n        }, '-=0.3');\n    }\n})();\n<\/script>\n\n\n\n<section class=\"tb relative\" id=\"tb-6a34eaea25a98\"\n         data-theme=\"light\"\n         style=\"background-color: var(--color-beige-1); padding-top: 9rem; padding-bottom: 5rem;\">\n\n    <div class=\"max-w-[1400px] mx-auto px-6 md:px-12 lg:px-16\">\n\n        <!-- Eyebrow encadr\u00e9 par filets -->\n        <div class=\"tb__heading flex items-center gap-6 md:gap-10 mb-12 md:mb-16\"\n             style=\"color: var(--color-brown-800);\">\n            <span class=\"tb__line flex-1 h-px\" style=\"background-color: var(--color-brown-800); opacity: 0.25;\"><\/span>\n            <span class=\"tb__title font-body uppercase whitespace-nowrap\"\n                  style=\"font-size: var(--text-leading-display); letter-spacing: var(--tracking-wider); font-weight: 500;\">\n                They trust us            <\/span>\n            <span class=\"tb__line flex-1 h-px\" style=\"background-color: var(--color-brown-800); opacity: 0.25;\"><\/span>\n        <\/div>\n\n        \n    <\/div>\n\n        <!-- === Mode MARQUEE : 2\u00d7 les logos pour boucle infinie smooth === -->\n    <div class=\"tb__marquee\" aria-label=\"Logos clients (d\u00e9filement)\">\n        <div class=\"tb__track\">\n                            <div class=\"tb__set\" >\n                                                                        <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-lazrak-3.webp\" alt=\"ALAZRAK\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/azura_logo.webp\" alt=\"AZURA\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/bouygues_construction_it_logo.jpg-removebg-preview-1.png\" alt=\"Bouygues Construction\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/cantor-capital-removebg-preview.png\" alt=\"Cantor capital groupe\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/EY-logo.webp\" alt=\"EY\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/fairwind-logo.webp\" alt=\"FAIRWIND\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/froch-logo.webp\" alt=\"FROCH\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-groupe-chimirec.png\" alt=\"Groupe chimirec\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/hitradio-logo.webp\" alt=\"HIT RADIO\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Logo-innovx.png\" alt=\"INNOVX\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/iron-mountain-logo.webp\" alt=\"IRON\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/labelvie.png\" alt=\"LABELVIE\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/MANNHUMMEL_Logo.svg\" alt=\"MANN HUMMEL\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Mef-maroc-1.png\" alt=\"minist\u00e8re de l&#8217;\u00e9conomie des finances et de la reforme de l administration\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/retail-holiding-removebg-preview.png\" alt=\"Retail holding\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/santani-removebg-preview.webp\" alt=\"SANTANI\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Logo-_-Groupe-Vicenne.png\" alt=\"Vecenne\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Xerox_logo.svg\" alt=\"XEROX\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                            <\/div>\n                            <div class=\"tb__set\" aria-hidden=\"true\">\n                                                                        <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-lazrak-3.webp\" alt=\"ALAZRAK\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/azura_logo.webp\" alt=\"AZURA\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/bouygues_construction_it_logo.jpg-removebg-preview-1.png\" alt=\"Bouygues Construction\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/cantor-capital-removebg-preview.png\" alt=\"Cantor capital groupe\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/EY-logo.webp\" alt=\"EY\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/fairwind-logo.webp\" alt=\"FAIRWIND\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/froch-logo.webp\" alt=\"FROCH\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/logo-groupe-chimirec.png\" alt=\"Groupe chimirec\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/hitradio-logo.webp\" alt=\"HIT RADIO\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Logo-innovx.png\" alt=\"INNOVX\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/iron-mountain-logo.webp\" alt=\"IRON\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/labelvie.png\" alt=\"LABELVIE\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/MANNHUMMEL_Logo.svg\" alt=\"MANN HUMMEL\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Mef-maroc-1.png\" alt=\"minist\u00e8re de l&#8217;\u00e9conomie des finances et de la reforme de l administration\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/retail-holiding-removebg-preview.png\" alt=\"Retail holding\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/santani-removebg-preview.webp\" alt=\"SANTANI\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Logo-_-Groupe-Vicenne.png\" alt=\"Vecenne\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                                                                <span class=\"tb__slot\">\n                                <img decoding=\"async\" src=\"https:\/\/nylaw.ma\/wp-content\/uploads\/2026\/05\/Xerox_logo.svg\" alt=\"XEROX\"\n                                     class=\"tb__logo\" loading=\"lazy\">\n                            <\/span>\n                                                            <\/div>\n                    <\/div>\n    <\/div>\n    \n<\/section>\n\n<style>\n\/* === Marquee container === *\/\n#tb-6a34eaea25a98 .tb__marquee {\n    width: 100%;\n    overflow: hidden;\n    \/* Mask fade sur les bords pour effet premium (pas de coupure brutale) *\/\n    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);\n            mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);\n}\n\n\/* === Track : 2 sets c\u00f4te \u00e0 c\u00f4te, anime de 0 \u00e0 -50% pour boucle parfaite === *\/\n#tb-6a34eaea25a98 .tb__track {\n    display: flex;\n    width: max-content;\n    animation: tb-marquee-tb-6a34eaea25a98 40s linear infinite;\n}\n\n\/* Pause au hover pour permettre la lecture *\/\n#tb-6a34eaea25a98 .tb__marquee:hover .tb__track {\n    animation-play-state: paused;\n}\n\n\/* Set : ensemble des logos *\/\n#tb-6a34eaea25a98 .tb__set {\n    display: flex;\n    align-items: center;\n    flex-shrink: 0;\n    gap: clamp(2.5rem, 5vw, 5rem);\n    padding-right: clamp(2.5rem, 5vw, 5rem);\n}\n\n\/* === Slot : container fixe pour uniformiser la taille de chaque logo === *\/\n#tb-6a34eaea25a98 .tb__slot {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: clamp(110px, 14vw, 160px);   \/* largeur uniforme *\/\n    height: clamp(48px, 6vw, 52px);     \/* hauteur uniforme *\/\n    flex-shrink: 0;\n}\n\n\/* === Logos === *\/\n#tb-6a34eaea25a98 .tb__logo {\n    max-height: 100%;\n    max-width: 100%;\n    width: auto;\n    height: auto;\n    object-fit: contain;\n    \/* Brown-tinted grayscale (palette NY Law) :\n       - grayscale(1)         : d\u00e9sature compl\u00e8tement\n       - sepia(0.4)           : ajoute teinte jaune-brun\n       - hue-rotate(-15deg)   : shift vers le rouge\/brown (coh\u00e9rence palette)\n       - saturate(1.3)        : intensifie l\u00e9g\u00e8rement la teinte\n       - brightness(0.95)     : assombrit subtly pour matcher brown-900 du texte *\/\n    filter: grayscale(1) sepia(0.4) hue-rotate(-15deg) saturate(1.3) brightness(0.95);\n    opacity: 0.7;\n    transition: filter 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);\n}\n\n\/* Hover sur un logo \u2192 couleurs d'origine + opacit\u00e9 1 *\/\n#tb-6a34eaea25a98 .tb__slot:hover .tb__logo {\n    filter: none;\n    opacity: 1;\n}\n\n\/* === Animation infinie : translate -50% (= 1 set complet) === *\/\n@keyframes tb-marquee-tb-6a34eaea25a98 {\n    0%   { transform: translate3d(0, 0, 0); }\n    100% { transform: translate3d(-50%, 0, 0); }\n}\n\n\/* Reduce motion : marquee statique *\/\n@media (prefers-reduced-motion: reduce) {\n    #tb-6a34eaea25a98 .tb__track {\n        animation: none;\n    }\n}\n\n\/* ============================================\n   Mode GRID \u2014 cadres \u00e9gaux style Apple\n   ============================================ *\/\n#tb-6a34eaea25a98 .tb__grid {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr);\n    gap: 0.875rem;\n}\n@media (min-width: 640px) {\n    #tb-6a34eaea25a98 .tb__grid {\n        grid-template-columns: repeat(3, 1fr);\n        gap: 1rem;\n    }\n}\n@media (min-width: 1024px) {\n    #tb-6a34eaea25a98 .tb__grid {\n        grid-template-columns: repeat(4, 1fr);\n        gap: 1.25rem;\n    }\n}\n\n\/* === Cell (cadre) === *\/\n#tb-6a34eaea25a98 .tb__cell {\n    aspect-ratio: 5\/3;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    padding: 1.25rem 1.5rem;\n    background-color: var(--color-beige-2);\n    border: 1px solid rgba(10, 10, 10, 0.08);\n    border-radius: 12px;\n    text-decoration: none;\n    transition: background-color 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                border-color 0.5s cubic-bezier(0.22, 1, 0.36, 1),\n                transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);\n}\n@media (min-width: 1024px) {\n    #tb-6a34eaea25a98 .tb__cell {\n        aspect-ratio: 4\/3;\n        padding: 1.5rem 1.75rem;\n        border-radius: 14px;\n    }\n}\n\n\/* Hover sur cell cliquable *\/\n#tb-6a34eaea25a98 .tb__cell--link:hover {\n    background-color: var(--color-beige-3);\n    border-color: rgba(10, 10, 10, 0.18);\n    transform: translateY(-2px);\n}\n\n\/* === Logo en mode grid : couleur originale, contenu dans le cadre === *\/\n#tb-6a34eaea25a98 .tb__logo--grid {\n    max-width: 75%;\n    max-height: 60%;\n    width: auto;\n    height: auto;\n    object-fit: contain;\n    \/* Pas de monochrome : le cadre + bg homog\u00e9n\u00e9ise d\u00e9j\u00e0 visuellement.\n       L\u00e9g\u00e8re opacit\u00e9 par d\u00e9faut, full au hover. *\/\n    filter: none;\n    opacity: 0.85;\n    transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);\n}\n#tb-6a34eaea25a98 .tb__cell:hover .tb__logo--grid {\n    opacity: 1;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   FLIP CARD 3D (desktop hover uniquement) + Responsive disclosure mobile\n   Pattern :\n   - \u2265 900px (hover:hover + pointer:fine) : grid 4 cols + flip 3D on hover\n   - <  900px : pas de 3D, logo et tagline empil\u00e9s visibles en permanence\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* === Base flip-card (toujours rendue, neutralis\u00e9e sur mobile) === *\/\n#tb-6a34eaea25a98 .tb__cell--flip {\n    overflow: hidden;\n}\n\n#tb-6a34eaea25a98 .tb__cell-inner {\n    position: relative;\n    width: 100%;\n    height: 100%;\n    display: block;\n}\n\n#tb-6a34eaea25a98 .tb__cell-face {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n\/* === Tagline : style commun desktop (verso flip) + mobile (sous logo) === *\/\n#tb-6a34eaea25a98 .tb__tagline {\n\n    letter-spacing: 0.12em !important;\n    font-family: var(--font-montserrat) !important;\n    font-weight: 400;\n    font-size: clamp(0.92rem, 1.3vw, 1.1rem);\n    line-height: 1.35;\n    text-align: center;\n    color: var(--color-brown-800);\n    letter-spacing: -0.005em;\n    max-width: 22ch;\n    margin: 0;\n}\n\n\/* \u2500\u2500\u2500 DESKTOP : flip 3D on hover (\u2265 900px + hover:hover + pointer:fine) \u2500\u2500\u2500 *\/\n@media (hover: hover) and (pointer: fine) and (min-width: 900px) {\n\n    #tb-6a34eaea25a98 .tb__cell--flip {\n        perspective: 1000px;\n        cursor: pointer;\n    }\n\n    #tb-6a34eaea25a98 .tb__cell-inner {\n        transform-style: preserve-3d;\n        transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);\n    }\n\n    \/* Faces superpos\u00e9es avec backface hidden *\/\n    #tb-6a34eaea25a98 .tb__cell-face {\n        position: absolute;\n        inset: 0;\n        padding: inherit;\n        -webkit-backface-visibility: hidden;\n                backface-visibility: hidden;\n    }\n\n    \/* Verso : tourn\u00e9 180\u00b0 au d\u00e9part pour r\u00e9v\u00e9lation apr\u00e8s rotation *\/\n    #tb-6a34eaea25a98 .tb__cell-back {\n        transform: rotateY(180deg);\n        background-color: var(--color-beige-1);\n        padding: 1rem 1.25rem;\n    }\n\n    \/* Hover \u2192 flip *\/\n    #tb-6a34eaea25a98 .tb__cell--flip:hover .tb__cell-inner {\n        transform: rotateY(180deg);\n    }\n\n    \/* D\u00e9sactive le translateY -2px de cell--link (interf\u00e8re avec la 3D) *\/\n    #tb-6a34eaea25a98 .tb__cell--flip.tb__cell--link:hover {\n        transform: none;\n    }\n}\n\n\/* \u2500\u2500\u2500 MOBILE \/ TOUCH (< 900px ou hover:none) : empile logo + tagline \u2500\u2500\u2500 *\/\n@media (max-width: 899px), (hover: none) {\n\n    \/* Cell devient un container vertical *\/\n    #tb-6a34eaea25a98 .tb__cell--flip {\n        cursor: default;\n        overflow: visible;\n        padding-top: 1.5rem;\n        padding-bottom: 1.5rem;\n    }\n\n    \/* Inner devient un flex column qui empile les 2 faces *\/\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-inner {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 0.85rem;\n    }\n\n    \/* Faces en flux normal, plus de 3D *\/\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-face {\n        position: relative;\n        inset: auto;\n        padding: 0;\n        background: transparent;\n        width: 100%;\n    }\n\n    \/* Reset complet de la rotation du verso *\/\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-back {\n        transform: none;\n        background-color: transparent;\n        padding: 0;\n    }\n\n    \/* Logo un peu plus petit pour laisser place \u00e0 la tagline *\/\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__logo--grid {\n        max-height: 56px;\n        max-width: 70%;\n    }\n}\n\n\/* \u2500\u2500\u2500 Mobile : grid 1 colonne en tr\u00e8s petit, 2 colonnes \u2265 480px \u2500\u2500\u2500 *\/\n@media (max-width: 479px) {\n    #tb-6a34eaea25a98 .tb__grid {\n        grid-template-columns: 1fr;\n    }\n    \/* Cell pleine largeur en card horizontale : logo gauche + tagline droite *\/\n    #tb-6a34eaea25a98 .tb__cell--flip {\n        aspect-ratio: auto;\n        min-height: 110px;\n    }\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-inner {\n        flex-direction: row;\n        gap: 1.25rem;\n        text-align: left;\n        align-items: center;\n    }\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-front {\n        flex: 0 0 35%;\n    }\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__cell-back {\n        flex: 1;\n        justify-content: flex-start;\n    }\n    #tb-6a34eaea25a98 .tb__cell--flip .tb__tagline {\n        text-align: left;\n    }\n}\n\n\/* Reduced motion : pas d'animation 3D *\/\n@media (prefers-reduced-motion: reduce) {\n    #tb-6a34eaea25a98 .tb__cell-inner {\n        transition: none;\n    }\n}\n<\/style>\n\n\n\n<section class=\"ctab ctab--halo\" id=\"cta-6a34eaea2636b\">\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-6a34eaea2636b.ctab {\n    padding: 6rem 1.5rem;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n}\n@media (min-width: 768px) { #cta-6a34eaea2636b.ctab { padding: 8rem 2rem; } }\n@media (min-width: 1024px) { #cta-6a34eaea2636b.ctab { padding: 10rem 3rem; } }\n\n\/* Theme : LIGHT (beige par d\u00e9faut) *\/\n#cta-6a34eaea2636b.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-6a34eaea2636b.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-6a34eaea2636b.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-6a34eaea2636b.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-6a34eaea2636b .ctab__inner {\n    max-width: 800px;\n    margin: 0 auto;\n    position: relative;\n    z-index: 1;\n}\n\n\/* Intro paragraph *\/\n#cta-6a34eaea2636b .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-6a34eaea2636b .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-6a34eaea2636b .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-6a34eaea2636b.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-6a34eaea2636b.ctab--bridge .ctab__divider,\n#cta-6a34eaea2636b.ctab--halo .ctab__divider {\n    background-color: var(--color-brown-900);\n    opacity: 0.3;\n}\n#cta-6a34eaea2636b .ctab__divider.is-revealed {\n    transform: scaleY(1);\n}\n\n\/* CTAs row *\/\n#cta-6a34eaea2636b .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-6a34eaea2636b.ctab--dark .btn-primary {\n    background-color: var(--color-beige-1);\n    color: var(--color-brown-800);\n}\n#cta-6a34eaea2636b.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-6a34eaea2636b .nl-eyebrow,\n#cta-6a34eaea2636b .nl-section-title,\n#cta-6a34eaea2636b .ctab__intro,\n#cta-6a34eaea2636b .ctab__ctas {\n    opacity: 0;\n    transform: translateY(20px);\n    transition: opacity 0.8s ease, transform 0.8s ease;\n}\n#cta-6a34eaea2636b .is-revealed.nl-eyebrow,\n#cta-6a34eaea2636b .is-revealed.nl-section-title,\n#cta-6a34eaea2636b .is-revealed.ctab__intro,\n#cta-6a34eaea2636b .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-6a34eaea2636b .nl-eyebrow,\n    #cta-6a34eaea2636b .nl-section-title,\n    #cta-6a34eaea2636b .ctab__intro,\n    #cta-6a34eaea2636b .ctab__ctas,\n    #cta-6a34eaea2636b .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-6a34eaea2636b');\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":7,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-707","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>Expertise - 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\/expertise\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Expertise - NY law\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nylaw.ma\/expertise\/\" \/>\n<meta property=\"og:site_name\" content=\"NY law\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-08T14:19:44+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\\\/expertise\\\/\",\"url\":\"https:\\\/\\\/nylaw.ma\\\/expertise\\\/\",\"name\":\"Expertise - NY law\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/#website\"},\"datePublished\":\"2026-05-06T13:06:52+00:00\",\"dateModified\":\"2026-06-08T14:19:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nylaw.ma\\\/expertise\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nylaw.ma\\\/expertise\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nylaw.ma\\\/expertise\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/nylaw.ma\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Expertise\"}]},{\"@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":"Expertise - 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\/expertise\/","og_locale":"en_US","og_type":"article","og_title":"Expertise - NY law","og_url":"https:\/\/nylaw.ma\/expertise\/","og_site_name":"NY law","article_modified_time":"2026-06-08T14:19:44+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/nylaw.ma\/expertise\/","url":"https:\/\/nylaw.ma\/expertise\/","name":"Expertise - NY law","isPartOf":{"@id":"https:\/\/nylaw.ma\/#website"},"datePublished":"2026-05-06T13:06:52+00:00","dateModified":"2026-06-08T14:19:44+00:00","breadcrumb":{"@id":"https:\/\/nylaw.ma\/expertise\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nylaw.ma\/expertise\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nylaw.ma\/expertise\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/nylaw.ma\/"},{"@type":"ListItem","position":2,"name":"Expertise"}]},{"@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\/707","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=707"}],"version-history":[{"count":45,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages\/707\/revisions"}],"predecessor-version":[{"id":1072,"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/pages\/707\/revisions\/1072"}],"wp:attachment":[{"href":"https:\/\/nylaw.ma\/en\/wp-json\/wp\/v2\/media?parent=707"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}