/* Continuous references banner and editorial wrapping. */
html,body{overflow-x:hidden}
.topbar{height:82px;padding:0 4%;gap:22px}
.topbar .wordmark{font-size:.84rem;font-weight:600;letter-spacing:.15em;white-space:nowrap}
.topbar nav{gap:clamp(12px,1.55vw,24px);font-size:12px}
.topbar nav a{position:relative;white-space:nowrap}
.topbar nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:#b5cf44}
.top-actions{gap:16px}
.lang-toggle{display:flex;align-items:center;gap:3px}
.lang-toggle a{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;font-size:11px;font-weight:700;color:#20221f}
.lang-toggle a[aria-current="true"]{background:#20221f;color:#f4f4f1}
.topbar .nav-cta{white-space:nowrap;padding:16px 19px;font-size:11px}
.credibility{display:grid;grid-template-columns:minmax(220px,28%) 1fr;align-items:center;gap:38px;overflow:hidden}
.credibility-label{white-space:nowrap}
.marquee{min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#20221f 5%,#20221f 95%,transparent);mask-image:linear-gradient(90deg,transparent,#20221f 5%,#20221f 95%,transparent)}
.marquee-track{display:flex;width:max-content;will-change:transform;animation:references-scroll 30s linear infinite}
.marquee-group{display:flex;align-items:center;flex:none;gap:clamp(34px,4vw,68px);padding-right:clamp(34px,4vw,68px)}
.marquee-group strong{position:relative;white-space:nowrap;font-size:clamp(15px,1.45vw,21px);font-weight:500;color:#25233f}
.marquee-group strong::after{content:"·";position:absolute;right:calc(clamp(34px,4vw,68px) / -2);transform:translateX(50%);color:#b5cf44}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes references-scroll{to{transform:translateX(-50%)}}
.statement h2,.section-intro h2,.portrait-copy h2,.coordinates-copy h2,.insights-heading h2,.contact-band h2{text-wrap:balance}
.statement p,.section-intro p,.portrait-copy p,.coordinates-copy p{text-wrap:pretty}
.hero h1.headline-refined{max-width:640px;font-size:clamp(38px,3.25vw,47px);line-height:1.14;letter-spacing:-.072em}
.hero h1.headline-refined .headline-row{display:block;text-wrap:balance}
.statement,.contact-band{background:radial-gradient(ellipse at 82% 14%,rgba(181,207,68,.12),transparent 54%),linear-gradient(135deg,#20221f 0%,#20221f 56%,#20221f 100%)}
.coordinates{background:radial-gradient(ellipse at 86% 14%,rgba(181,207,68,.16),transparent 52%),linear-gradient(135deg,#20221f 0%,#20221f 55%,#20221f 100%)}
.credibility{background:linear-gradient(115deg,#f4f4f1 0%,#f4f4f1 100%)}
/* Information-dense editorial rhythm: preserve the opening hero and tighten every following chapter. */
.credibility{min-height:104px;padding-inline:10.5%}
.statement,.practice-section,.coordinates,.insights-section,.contact-band{padding-inline:10.5%}
.statement{padding-block:78px 84px}
.statement h2,.coordinates h2{font-size:clamp(2.7rem,4.4vw,3.85rem);line-height:1.1;margin:29px 0 25px;max-width:24ch}
.statement h2{font-size:clamp(2.55rem,4vw,3.55rem);max-width:28ch}
.statement-bottom{align-items:center;gap:36px}
.statement-bottom>p{max-width:64ch;margin:0}
.practice-section{padding-block:76px 82px}
.section-intro{margin-bottom:41px}
.section-intro h2,.insights-heading h2{font-size:clamp(2.65rem,4.8vw,4.2rem);line-height:1.08;margin:24px 0 12px}
.section-intro>p:last-child{max-width:68ch}
.practice-row{min-height:108px;grid-template-columns:46px 1fr 210px 35px;gap:17px}
.practice-content h3{font-size:clamp(1.4rem,2.1vw,1.95rem);margin-bottom:5px}
.practice-content p{max-width:64ch;line-height:1.55}
.portrait-section{min-height:590px;grid-template-columns:46% 54%}
.second-portrait{min-height:590px}
.portrait-copy{padding:65px 11% 58px 12%}
.portrait-copy h2{font-size:clamp(2.4rem,3.65vw,3.2rem);line-height:1.12;margin:25px 0 19px}
.portrait-copy>p:not(.section-kicker){line-height:1.75;max-width:60ch}
.coordinates{padding-block:78px 84px}
.coordinates h2{max-width:22ch;margin:27px 0 43px}
.territories{gap:34px}
.territories article{padding-top:17px}
.territories article h3{font-size:clamp(1.45rem,2.3vw,1.9rem);margin:16px 0 6px}
.territories article p{line-height:1.7}
.insights-section{padding-block:76px 80px}
.insights-heading{margin-bottom:40px}
.article-row{min-height:108px;grid-template-columns:50px 1fr 32px}
.article-row>div h3{font-size:clamp(1.12rem,1.85vw,1.52rem);line-height:1.22}
.contact-band{padding-block:76px 83px}
.contact-band h2{font-size:clamp(3.2rem,6.2vw,5.2rem);line-height:1.03;margin:25px 0 24px;max-width:18ch}
.site-bottom{padding:36px 10.5% 23px}
.practice-id,.practice-meta{color:#25233f}
.article-row>div p{color:#b5cf44}
.site-bottom>p{color:#25233f}
@media(max-width:760px){.credibility{grid-template-columns:1fr;gap:22px}.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#20221f 8%,#20221f 92%,transparent);mask-image:linear-gradient(90deg,transparent,#20221f 8%,#20221f 92%,transparent)}.marquee-track{animation-duration:24s}}
@media(max-width:1100px){.topbar nav{gap:12px;font-size:11px}.topbar .nav-cta{padding:14px 12px;font-size:10px}.top-actions{gap:8px}}
@media(max-width:860px){.topbar,.topbar-scrolled{height:76px}.topbar nav{display:none}.topbar nav.navigation-open{position:absolute;top:76px;left:0;right:0;display:flex;flex-direction:column;gap:0;padding:15px 7% 23px;background:var(--paper);box-shadow:0 20px 40px rgba(32,34,31,0.078)}.topbar nav.navigation-open a{padding:13px 0}.menu-button{display:block;margin-left:auto;margin-right:8px}.topbar .nav-cta{max-width:145px;overflow:hidden;text-overflow:ellipsis}.lang-toggle a{width:32px;height:32px}}
@media(max-width:760px){.hero h1.headline-refined{font-size:clamp(36px,8vw,58px);letter-spacing:-.065em}}
@media(max-width:760px){.credibility,.statement,.practice-section,.coordinates,.insights-section,.contact-band{padding-inline:7%}.statement,.practice-section,.coordinates,.insights-section,.contact-band{padding-block:58px 64px}.practice-row{min-height:112px}.portrait-section,.second-portrait{min-height:460px}.portrait-copy{padding:52px 8%}.coordinates h2{margin-bottom:34px}.article-row{min-height:104px}.site-bottom{padding-inline:7%}}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.marquee-track{animation:none}.marquee-group[aria-hidden="true"]{display:none}}

/* Homepage navigation and footer match the shared French and English pages. */
.topbar .top-actions .lang-toggle{display:flex;align-items:center;gap:4px;flex:0 0 auto;white-space:nowrap}.topbar .top-actions .lang-toggle a{width:37px;min-width:37px;height:37px;padding:0;display:grid;place-items:center;flex:0 0 37px;border-radius:50%;font-size:11px;font-weight:700;color:#20221f}.topbar .top-actions .lang-toggle a[aria-current="true"]{background:#20221f;color:#f4f4f1}
.site-footer{background:#20221f;color:#f4f4f1;padding:64px 10.5% 104px}.site-footer>.container{width:min(1300px,100%);margin-inline:auto}.footer-top{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,70px)}.footer-brand>.brand{font-size:.84rem;font-weight:600;letter-spacing:.15em}.footer-brand>p{color:rgba(244,244,241,.64);max-width:36ch;font-size:13px;line-height:1.7}.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.footer-col{display:flex;flex-direction:column;gap:10px;font-size:.82rem}.footer-col h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(244,244,241,.5);margin:0 0 10px}.footer-col span{color:rgba(244,244,241,.62);line-height:1.6}.footer-bottom{margin-top:33px;display:flex;justify-content:space-between;align-items:flex-start;gap:28px;color:rgba(244,244,241,.48);font-size:.7rem}@media(max-width:900px){.footer-top{grid-template-columns:1fr}.footer-nav{gap:22px}}@media(max-width:680px){.site-footer{padding:51px 7% 112px}.footer-nav{grid-template-columns:1fr 1fr}.footer-bottom{flex-direction:column}.topbar .top-actions .lang-toggle a{width:32px;min-width:32px;height:32px;flex-basis:32px}}

/* Responsive containment preserves the approved desktop design and content. */
html,body{width:100%;max-width:100%;overflow-x:hidden}.topbar,.hero,.credibility,.statement,.practice-section,.portrait-section,.coordinates,.insights-section,.contact-band,.site-footer{max-width:100%}.topbar>*,.hero>*,.portrait-section>*,.practice-row>*,.article-row>*,.footer-top>*,.footer-nav>*{min-width:0}.marquee{width:100%;max-width:100%}.footer-col a,.footer-col span,.footer-bottom span{overflow-wrap:anywhere}
@media(max-width:860px){.topbar{gap:12px}.topbar .nav-cta{display:none}.top-actions{flex:0 0 auto}.menu-button{flex:0 0 auto;margin-right:0}}
@media(max-width:760px){.topbar{padding-inline:5%}.hero,.portrait-section{grid-template-columns:minmax(0,1fr)}.hero-copy,.portrait-copy{min-width:0}.overline,.hero-buttons,.hero-index{flex-wrap:wrap}.status-dot{flex:0 0 auto}.practice-row{grid-template-columns:34px minmax(0,1fr) 24px;gap:10px}.article-row{grid-template-columns:34px minmax(0,1fr) 24px;gap:8px}.practice-content,.article-row>div{min-width:0}.portrait-note{max-width:calc(100% - 16px)}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.statement h2,.section-intro h2,.portrait-copy h2,.coordinates h2,.insights-heading h2,.contact-band h2{max-width:100%;overflow-wrap:break-word}}
@media(max-width:480px){.topbar{gap:7px;padding-inline:5%}.topbar .wordmark{font-size:.76rem;letter-spacing:.1em}.menu-button{padding-inline:5px}.top-actions{gap:4px}.hero-buttons{align-items:flex-start}.hero-buttons .button,.hero-buttons .text-link{max-width:100%}.practice-row{grid-template-columns:29px minmax(0,1fr) 20px;gap:8px}.article-row{grid-template-columns:28px minmax(0,1fr) 20px;gap:7px}.practice-content h3{font-size:clamp(1.16rem,5.5vw,1.6rem)}.footer-nav{grid-template-columns:minmax(0,1fr)}.contact-band h2{font-size:clamp(2.55rem,11vw,3.6rem)}}
@media(max-width:360px){.topbar{padding-inline:4%}.topbar .wordmark{font-size:.71rem;letter-spacing:.08em}.topbar .top-actions .lang-toggle a{width:29px;min-width:29px;height:29px;flex-basis:29px}.hero h1.headline-refined{font-size:clamp(31px,9.8vw,36px)}.hero-copy,.credibility,.statement,.practice-section,.coordinates,.insights-section,.contact-band{padding-inline:6%}}

/* Palette 2026 : colour-only layer. Layout, typography and responsive rules are unchanged. */
:root{--paper:#f4f4f1;--ink:#20221f;--lime:#b5cf44;--muted:#25233f;--forest:#25233f}
body{background-color:#f4f4f1;color:#20221f}
::selection{background-color:#b5cf44;color:#20221f}
.topbar{background:rgba(244,244,241,.94)}
.topbar-scrolled{background:rgba(244,244,241,.97);box-shadow:0 8px 36px rgba(37,35,63,.07)}
.topbar nav{color:rgba(32,34,31,.74)}
.topbar nav a:hover,.text-link:hover{color:#25233f}
.topbar nav a[aria-current="page"]::after{background-color:#b5cf44}
.topbar nav.navigation-open{background-color:#f4f4f1;box-shadow:0 20px 40px rgba(37,35,63,.10)}
.topbar .top-actions .lang-toggle a{color:#25233f}
.topbar .top-actions .lang-toggle a[aria-current="true"]{background-color:#25233f;color:#f4f4f1}
.nav-cta,.button-dark{background-color:#25233f;color:#f4f4f1}
.nav-cta:hover,.button-dark:hover{background-color:#20221f;color:#f4f4f1}
.nav-cta span,.button-dark span,.text-link span{color:#b5cf44}
.button-outline{border-color:rgba(37,35,63,.30);color:#25233f}
.button-outline:hover{background-color:#25233f;border-color:#25233f;color:#f4f4f1}
.button-light{background-color:#f4f4f1;color:#25233f}
.button-light:hover{background-color:#e7ebf1;color:#25233f}
.hero{background:#f4f4f1}
.hero h1{color:#20221f}
.hero h1 .lime{color:#25233f}
.hero-copy>p{color:rgba(32,34,31,.72)}
.status-dot{background-color:#b5cf44;box-shadow:0 0 0 4px rgba(181,207,68,.20)}
.hero-index{color:rgba(32,34,31,.56)}
.hero-index span:first-child{color:#25233f}
.portrait-note{background-color:#f4f4f1;color:#20221f}
.portrait-note span{color:#25233f}
.credibility{background:#e7ebf1}
.credibility>span{color:rgba(32,34,31,.62)}
.credibility strong,.marquee-group strong{color:#20221f}
.marquee-group strong::after{color:#b5cf44}
.statement,.contact-band{background:#25233f;color:#f4f4f1}
.coordinates{background:#25233f;color:#f4f4f1}
.coordinates h2{font-size:clamp(2.55rem,4vw,3.55rem);line-height:1.1;max-width:28ch}
.statement h2 span,.coordinates h2 span,.contact-band h2 span{color:#b5cf44}
.section-kicker span,.statement-bottom>p,.coordinates-copy>p,.territories article p,.contact-band>div>p{color:rgba(244,244,241,.68)}
.coordinates .section-kicker{color:#f4f4f1}
.coordinates .section-kicker span,.territories article>span{color:#b5cf44}
.territories article{border-color:rgba(231,235,241,.22)}
.territories article h3{color:#f4f4f1}
.territories article p{color:rgba(231,235,241,.76)}
.practice-section,.insights-section{background-color:#f4f4f1;color:#20221f}
.section-intro h2 span,.insights-heading h2 span,.portrait-copy h2 span{color:#25233f}
.section-intro>p:last-child,.practice-content p,.portrait-copy>p:not(.section-kicker){color:rgba(32,34,31,.70)}
.practice-row,.article-row{border-color:rgba(37,35,63,.14)}
.practice-row:hover{background-color:rgba(231,235,241,.72)}
.practice-id,.practice-meta,.article-row>span:first-child{color:rgba(37,35,63,.58)}
.practice-arrow,.article-row>span:last-child,.article-row>div p{color:#25233f}
.portrait-section{background-color:#e7ebf1;color:#20221f}
.insights-section{background-color:#f4f4f1}
.site-footer{background-color:#25233f;color:#f4f4f1}
.site-footer .footer-brand>p,.site-footer .footer-col span{color:rgba(244,244,241,.64)}
.site-footer .footer-col h4{color:rgba(244,244,241,.50)}
.site-footer .footer-bottom{color:rgba(244,244,241,.52)}
.site-bottom{background-color:#f4f4f1;color:#20221f}
.site-bottom>div,.site-bottom>p{color:rgba(32,34,31,.68)}

/* Premium interaction and editorial polish */
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--lime);outline-offset:5px}
.topbar nav a{position:relative}
.topbar nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .38s var(--ease)}
.topbar nav a:hover::after,.topbar nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.button span,.text-link span,.practice-arrow,.article-row>span:last-child{display:inline-block;transition:transform .35s var(--ease)}
.button:hover span,.text-link:hover span{transform:translateX(4px)}
.practice-row:hover .practice-arrow,.article-row:hover>span:last-child{transform:translate(5px,-5px)}
.hero-image::after{content:"";position:absolute;inset:22px;border:1px solid rgba(244,244,241,.28);pointer-events:none;z-index:1}
.hero-image::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(37,35,63,0) 54%,rgba(37,35,63,.18) 100%)}
.statement,.practice-section,.coordinates,.insights-section,.contact-band{position:relative;overflow:hidden;isolation:isolate}
.statement::before,.practice-section::before,.coordinates::before,.insights-section::before,.contact-band::before{content:"";position:absolute;left:13%;right:13%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(37,35,63,.18) 12%,rgba(37,35,63,.18) 88%,transparent)}
.practice-row::before,.article-row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(231,235,241,.86),rgba(244,244,241,.25));transform:scaleX(0);transform-origin:right;transition:transform .48s var(--ease);z-index:-1}
.practice-row,.article-row{position:relative;isolation:isolate}
.practice-row:hover::before,.article-row:hover::before{transform:scaleX(1);transform-origin:left}
.practice-row:hover,.article-row:hover{background:transparent}
.practice-content h3,.article-row h3{transition:color .3s ease}
.practice-row:hover .practice-content h3,.article-row:hover h3{color:var(--forest)}
.territories article{position:relative;padding-bottom:26px;transition:transform .38s var(--ease)}
.territories article::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:linear-gradient(90deg,var(--lime),rgba(37,35,63,.15));transform:scaleX(.22);transform-origin:left;transition:transform .45s var(--ease)}
.territories article:hover{transform:translateY(-5px)}
.territories article:hover::after{transform:scaleX(1)}
.section-kicker,.overline,.practice-id,.practice-meta,.hero-index,.article-row>span:first-child,.article-row>div p,.portrait-note,.vertical-note,.credibility-label{font-size:max(.68rem,11px)}
.insights-section{background:linear-gradient(135deg,#f4f4f1 0%,#f4f4f1 58%,#e7ebf1 145%)}
.contact-band{background:linear-gradient(120deg,var(--ink) 0%,#25233f 135%)}
@media(min-width:761px){.portrait-section{position:relative}.portrait-section::after{content:"";position:absolute;inset:8% 50% 8% auto;width:1px;background:rgba(37,35,63,.14);pointer-events:none}}
@media(max-width:760px){
  .statement::before,.practice-section::before,.coordinates::before,.insights-section::before,.contact-band::before{left:8%;right:8%}
  .hero-image::after{inset:14px}
  .territories article:hover{transform:none}
  .practice-row::before,.article-row::before{display:none}
  .practice-content p{font-size:.78rem;line-height:1.65}
}
@media(prefers-reduced-motion:reduce){.topbar nav a::after,.practice-row::before,.article-row::before,.territories article::after{transition:none}}

/* Shared header interaction: keep homepage navigation behavior aligned with internal pages. */
.topbar .nav-links .nav-link{position:relative;text-decoration:none}
.topbar .nav-links .nav-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#b5cf44;transform:scaleX(0);transform-origin:right;transition:transform 380ms var(--ease)}
.topbar .nav-links .nav-link:hover::after,.topbar .nav-links .nav-link:focus-visible::after,.topbar .nav-links .nav-link[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

/* Diagnostic is a framed entry point, not a third service pillar. */
.practice-row--entry{background:#e7ebf1}
.practice-row--entry .practice-id{font-size:.72rem;letter-spacing:.12em;font-weight:700;color:#25233f}
.practice-row--entry:hover{background:#f4f4f1}
