:root{--ink:#101010;--paper:#fff;--soft:#f3f3f1;--line:#cfcfca;--accent:#b84b2f;--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{height:112px;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(24px,5vw,84px);border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;font-size:23px;font-weight:800;letter-spacing:-.02em}.brand img{width:66px;height:66px}.brand span{display:flex;flex-direction:column}.brand small{font-size:11px;text-transform:uppercase;letter-spacing:.17em;font-weight:600;margin-top:3px}.desktop-nav{display:flex;gap:clamp(15px,2.2vw,38px);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.desktop-nav a,.site-footer a,.text-link{border-bottom:1px solid transparent}.desktop-nav a:hover,.site-footer a:hover,.text-link:hover{border-color:currentColor}.mobile-nav{display:none}.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;margin:0 0 18px}.hero{min-height:calc(100vh - 112px);display:grid;grid-template-columns:1.04fr .96fr}.hero-copy{padding:clamp(58px,9vw,150px) clamp(28px,7vw,124px);display:flex;flex-direction:column;justify-content:center}.hero h1{font:400 clamp(78px,11vw,190px)/.74 var(--serif);letter-spacing:-.075em;margin:0 0 48px}.hero-role{font-weight:800;font-size:clamp(20px,2vw,32px);margin:0 0 18px}.hero-intro{max-width:670px;font:400 clamp(21px,2vw,31px)/1.35 var(--serif);margin:0 0 38px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:15px 25px;font-size:14px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;border:1px solid var(--ink)}.button-dark{background:var(--ink);color:#fff}.button-outline{background:#fff;color:var(--ink)}.text-link{font-weight:800;padding-bottom:4px}.text-link.light{color:#fff}.hero-portrait{margin:0;background:#111;min-height:640px;display:flex;flex-direction:column}.hero-portrait img{width:100%;height:100%;min-height:0;flex:1;object-fit:cover;filter:grayscale(1);object-position:center}.hero-portrait figcaption{color:#aaa;padding:14px 20px;font-size:13px}.statement{background:var(--ink);color:#fff;padding:clamp(70px,10vw,160px) clamp(30px,8vw,145px);display:grid;grid-template-columns:100px minmax(0,1200px);gap:20px}.statement blockquote{font:400 clamp(46px,6.2vw,104px)/1.04 var(--serif);letter-spacing:-.04em;margin:0}.statement>p:last-child{grid-column:2;color:#aaa}.section-number{font-size:13px;letter-spacing:.14em}.intro{display:grid;grid-template-columns:.88fr 1.12fr;gap:10vw;padding:clamp(80px,12vw,190px) clamp(30px,7vw,130px);border-bottom:1px solid var(--line)}.intro h2,.section-heading h2,.links-callout h2{font:400 clamp(52px,6.8vw,112px)/.95 var(--serif);letter-spacing:-.055em;margin:0}.intro>div:last-child{max-width:790px}.intro>div:last-child p{font:400 clamp(20px,1.8vw,28px)/1.48 var(--serif);margin:0 0 26px}.practice-section{padding:clamp(80px,10vw,160px) clamp(22px,5vw,85px)}.section-heading{max-width:1100px;margin-bottom:80px}.section-heading>p:last-child{max-width:660px;font-size:21px}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.practice-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:45% 55%;min-height:420px;background:#fff}.practice-card.dark{background:#111;color:#fff}.practice-image{overflow:hidden}.practice-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s ease}.practice-card:hover .practice-image img{transform:scale(1.03)}.practice-copy{padding:38px;display:flex;flex-direction:column}.practice-copy>p:first-child{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;margin:0 0 40px}.practice-copy>p:first-child span{display:block;font:400 42px/1 var(--serif);margin-bottom:12px}.practice-copy h3{font:400 clamp(32px,3.2vw,54px)/1.02 var(--serif);letter-spacing:-.035em;margin:auto 0 22px;display:flex;justify-content:space-between;gap:10px}.practice-copy>p:last-child{font-size:15px;margin:0;max-width:520px}.black-feature{display:grid;grid-template-columns:.8fr 1.2fr;background:#111;color:#fff}.black-feature>div{padding:clamp(55px,8vw,130px);display:flex;flex-direction:column;justify-content:center}.black-feature h2{font:400 clamp(52px,6vw,98px)/.95 var(--serif);letter-spacing:-.045em;margin:0 0 34px}.black-feature p{max-width:650px}.black-feature img{width:100%;height:100%;min-height:650px;object-fit:cover;filter:grayscale(1)}.links-callout{padding:clamp(80px,10vw,150px) clamp(30px,8vw,140px);display:grid;grid-template-columns:1.1fr 1fr auto;gap:70px;align-items:end}.links-callout>p{font:400 24px/1.5 var(--serif);margin:0}.detail-page{min-height:65vh}.page-hero{padding:clamp(70px,10vw,150px) clamp(28px,7vw,125px);border-bottom:1px solid var(--line)}.page-hero h1{font:400 clamp(70px,10vw,170px)/.85 var(--serif);letter-spacing:-.065em;margin:0 0 38px;max-width:1500px}.page-hero>p:last-child{font:400 clamp(22px,2.2vw,34px)/1.35 var(--serif);max-width:900px}.detail-lead{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.detail-lead>img{width:100%;height:100%;min-height:720px;object-fit:cover;filter:grayscale(1)}.detail-lead>div{padding:clamp(45px,7vw,120px)}.detail-lead p,.long-text p{font:400 clamp(20px,1.8vw,27px)/1.58 var(--serif);margin:0 0 30px}.detail-lead ul{padding-left:22px;margin-top:45px}.detail-lead li{margin-bottom:12px}.related-links{background:#111;color:#fff;padding:55px clamp(28px,7vw,125px);display:flex;gap:35px;align-items:center;flex-wrap:wrap}.related-links .kicker{margin:0 auto 0 0}.related-links a{font:700 18px var(--sans);border-bottom:1px solid}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1px;background:var(--line);gap:1px}.gallery figure{margin:0;background:#fff;display:flex;flex-direction:column}.gallery figure.wide{grid-column:span 2}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1)}.gallery .wide img{aspect-ratio:2/1}.gallery figcaption{padding:22px 24px 30px;font-size:14px;color:#5b5b58}.gallery figcaption strong{display:block;color:#111;font-size:16px;margin-bottom:8px}.page-next{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.page-next a{padding:45px;border-right:1px solid var(--line);font:400 clamp(23px,2.4vw,38px)/1.1 var(--serif)}.page-next span{display:block;font:800 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.long-text{max-width:1100px;padding:clamp(60px,9vw,140px) clamp(28px,7vw,125px)}.long-text h2{font:400 clamp(38px,4.2vw,68px)/1 var(--serif);margin:70px 0 24px}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:clamp(60px,9vw,140px) clamp(28px,7vw,125px)}.contact-section h2{font:400 clamp(48px,5vw,86px)/1 var(--serif);margin:0 0 28px}.contact-email{font-weight:800;border-bottom:1px solid}.contact-form{display:grid;gap:24px}.contact-form label{display:grid;gap:8px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid #111;background:#f5f5f3;padding:15px;font:18px var(--sans);border-radius:0}.contact-form p{font-size:13px;color:#666}.article-index{padding:clamp(60px,8vw,130px) clamp(28px,6vw,105px)}.article-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.article-grid article{background:#fff;padding:30px}.article-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:grayscale(1);margin-bottom:28px}.article-grid h3{font:400 clamp(32px,3vw,52px)/1 var(--serif);margin:0 0 22px}.article-page header{padding:clamp(70px,10vw,150px) clamp(28px,8vw,150px);max-width:1500px}.article-page h1{font:400 clamp(58px,8vw,130px)/.9 var(--serif);letter-spacing:-.055em;margin:0 0 35px}.article-page header>p:last-child{font:400 clamp(21px,2vw,32px)/1.4 var(--serif);max-width:900px}.article-cover{margin:0;background:#111;padding:clamp(20px,5vw,80px)}.article-cover img{width:100%;max-height:80vh;object-fit:contain;filter:grayscale(1)}.article-page article{max-width:900px;margin:0 auto;padding:clamp(60px,8vw,130px) 28px}.article-page article p{font:400 clamp(19px,1.6vw,25px)/1.65 var(--serif);white-space:pre-line}.article-page article h2{font:400 clamp(34px,3.5vw,56px)/1.05 var(--serif);margin:70px 0 24px}.article-back{max-width:900px;margin:0 auto;padding:0 28px 90px;display:flex;justify-content:space-between;font-weight:800}.site-footer{background:#111;color:#fff;padding:70px clamp(28px,6vw,110px) 32px}.footer-brand{display:flex;align-items:center;gap:20px;margin-bottom:65px}.footer-brand img{width:72px}.footer-brand strong{font:400 35px var(--serif);display:block}.footer-brand span{font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:.1em}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-legal{display:flex;gap:26px;border-top:1px solid #444;margin-top:55px;padding-top:25px;font-size:13px}.copyright{font-size:12px;color:#888;margin:35px 0 0}
@media(max-width:1050px){.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{list-style:none;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] nav{position:absolute;top:112px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:25px;display:grid;gap:15px}.hero{grid-template-columns:1fr}.hero-portrait{min-height:70vh}.practice-grid{grid-template-columns:1fr}.links-callout{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.contact-section{grid-template-columns:1fr}.page-next{grid-template-columns:1fr}.page-next a{border-bottom:1px solid var(--line)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){body{font-size:16px}.site-header{height:86px;padding:12px 18px}.brand img{width:52px;height:52px}.brand{font-size:19px}.mobile-nav[open] nav{top:86px}.hero-copy{padding:65px 22px}.hero h1{font-size:23vw}.statement{grid-template-columns:1fr;padding:70px 24px}.statement>p:last-child{grid-column:1}.intro{grid-template-columns:1fr;padding:75px 24px}.practice-section{padding:70px 14px}.practice-card{grid-template-columns:1fr}.practice-image{height:330px}.practice-copy{min-height:330px;padding:28px}.black-feature{grid-template-columns:1fr}.black-feature img{min-height:380px}.detail-lead{grid-template-columns:1fr}.detail-lead>img{min-height:480px}.gallery{grid-template-columns:1fr}.gallery figure.wide{grid-column:auto}.gallery .wide img,.gallery img{aspect-ratio:4/3}.article-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-legal{flex-wrap:wrap}.page-hero h1{font-size:18vw}.article-back{flex-direction:column;gap:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.practice-image img{transition:none}}
/* Archives de textes */
.text-archive-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.text-archive-list article{min-height:25rem;padding:clamp(2rem,4vw,4.5rem);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}
.text-archive-list h2{font-family:var(--serif);font-size:clamp(2.2rem,4vw,4.6rem);font-weight:400;line-height:.96;margin:.8rem 0 1.5rem}
.text-archive-list article>p:not(.kicker){max-width:36rem;color:#5b5b58;line-height:1.6}
.text-archive-list .text-link{margin-top:auto}
@media(max-width:760px){.text-archive-list{grid-template-columns:1fr}.text-archive-list article{min-height:21rem}}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.article-cover figcaption{max-width:1200px;margin:14px auto 0;color:#686864;font-size:14px;line-height:1.5}
.gallery img.focus-top{object-position:center 8%}
