:root{--ink:#1e2924;--ink2:#2b3932;--red:#a6083c;--red2:#bf0e4b;--cream:#f4f0e9;--paper:#fbfaf7;--gold:#b49a6a;--line:#d8d2c8;--muted:#68706c}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif}h1,h2,h3,blockquote{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit}.site-header{height:94px;display:flex;align-items:center;padding:0 5vw;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #e6e1d9}.brand{width:112px;height:112px;align-self:flex-start;background:var(--ink);display:grid;place-items:center;padding:8px;z-index:2}.brand img{width:100%;height:100%;object-fit:contain}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:6px}.site-header nav>a,.menu-group>button{border:0;background:transparent;text-decoration:none;padding:14px 13px;font-size:13px;color:#26312d;cursor:pointer}.site-header nav>a:hover,.menu-group>button:hover{color:var(--red)}.menu-group{position:relative}.submenu{position:absolute;left:0;top:46px;background:#fff;border-top:3px solid var(--red);box-shadow:0 16px 35px rgba(0,0,0,.12);min-width:245px;display:none;padding:8px}.menu-group.open .submenu{display:grid}.submenu a{padding:11px 13px;text-decoration:none;font-size:12px}.submenu a:hover{background:var(--cream);color:var(--red)}.phone-top{margin-left:24px;text-decoration:none;background:var(--red);color:#fff;padding:15px 20px;font-weight:700;font-size:14px;letter-spacing:.5px}.phone-top span{display:block;font-size:8px;letter-spacing:1.8px;margin-bottom:4px;opacity:.75}.hamb{display:none;border:0;background:transparent;padding:8px}.hamb span{display:block;width:25px;height:2px;background:var(--ink);margin:5px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.8px;color:#e4c07c;margin:0 0 20px}.eyebrow.dark{color:#907342}.home-hero{height:calc(100svh - 94px);min-height:650px;max-height:850px;background:url('img/montpellier.jpg') center/cover no-repeat;position:relative;display:flex;align-items:center;color:#fff}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,31,26,.92),rgba(20,31,26,.62) 58%,rgba(20,31,26,.18))}.hero-content{position:relative;margin-left:9vw;width:min(760px,82vw)}.hero-content h1{font-size:clamp(58px,7vw,92px);line-height:.98;letter-spacing:-2px;margin:0 0 22px}.hero-lead{font-size:19px;line-height:1.65;max-width:650px;color:#edf0ee}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn{display:inline-block;border:0;background:var(--red);color:#fff;padding:16px 22px;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:1.2px;cursor:pointer}.btn:hover{background:var(--red2)}.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.65)}.btn.light{background:#fff;color:var(--ink)}.hero-index{position:absolute;bottom:0;left:0;right:0;padding:20px 9vw;border-top:1px solid rgba(255,255,255,.3);display:flex;gap:35px;font-size:9px;letter-spacing:2px;text-transform:uppercase}.inner-hero{min-height:470px;background:linear-gradient(90deg,rgba(26,39,33,.96),rgba(26,39,33,.70)),url('img/cabinet.jpg') center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:90px 9vw}.inner-hero>div{max-width:850px}.inner-hero h1{font-size:clamp(48px,6vw,78px);line-height:1.02;margin:0 0 25px;letter-spacing:-1.5px}.inner-hero>div>p:last-child{font-size:18px;line-height:1.65;color:#d9dfdc;max-width:670px}.split{padding:105px 9vw;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.split h2,.section-heading h2,.cta h2,.centered-content h2,.contact-layout h2,.legal h2{font-size:clamp(38px,4vw,58px);line-height:1.08;margin:0}.prose{font-size:16px;line-height:1.8;color:#505955}.prose h2{color:var(--ink);margin:0 0 30px}.prose h3{font-size:25px;color:var(--ink);margin:38px 0 14px}.prose ul{padding-left:20px}.prose li{margin:10px 0}.text-link{display:inline-block;margin-top:18px;text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:5px;font-size:12px;font-weight:700}.dark-section{background:var(--ink);color:#fff}.skills{padding:105px 9vw}.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:8vw;align-items:end}.section-heading>p{color:#b9c1bd;line-height:1.7}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-left:1px solid #52605a;border-top:1px solid #52605a}.skill-card{min-height:310px;padding:38px;text-decoration:none;border-right:1px solid #52605a;border-bottom:1px solid #52605a;transition:.2s}.skill-card:hover{background:#293a32;transform:translateY(-3px)}.skill-card>span{font-size:10px;color:#ddb979}.skill-card h3{font-size:29px;margin:40px 0 16px}.skill-card p{font-size:13px;line-height:1.7;color:#b9c1bd}.skill-card b{display:block;margin-top:28px;color:#e2be7a;font-size:11px}.image-split{align-items:center;background:var(--cream)}.framed{position:relative;background:var(--ink);padding:14px;margin:0;box-shadow:0 20px 50px rgba(24,34,29,.14)}.framed:after{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.48);pointer-events:none}.framed img{display:block;width:100%;height:auto;object-fit:contain;background:var(--ink)}.numbered{margin-top:35px}.numbered p{display:grid;grid-template-columns:45px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line);margin:0}.numbered b{color:var(--red);font-size:11px}.numbered span{color:var(--muted);font-size:13px;line-height:1.6}.numbered strong{display:block;color:var(--ink);font:22px Georgia;margin-bottom:6px}.team-preview,.team-page{padding:105px 9vw}.section-heading.light{grid-template-columns:1fr auto}.lawyer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;margin-top:50px}.lawyer-card{text-decoration:none;background:#fff;border:1px solid var(--line);display:grid;grid-template-columns:42% 1fr;min-height:390px}.lawyer-card figure{margin:0;background:var(--ink);padding:10px}.lawyer-card img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:var(--ink)}.lawyer-card>div{padding:35px;display:flex;flex-direction:column;justify-content:center}.lawyer-card h3{font-size:31px;line-height:1.12;margin:0 0 12px}.lawyer-card p{color:var(--muted);font-size:13px;line-height:1.55}.lawyer-card b{margin-top:25px;color:var(--red);font-size:11px}.lawyer-placeholder{display:flex;align-items:center;gap:25px;margin-top:28px;background:var(--ink);color:#fff;padding:25px 30px;text-decoration:none}.lawyer-placeholder>span,.initials{width:80px;height:80px;display:grid;place-items:center;border:1px solid #738079;color:#e2be7a;font:28px Georgia}.lawyer-placeholder h3{font-size:26px;margin:0 0 6px}.lawyer-placeholder p{margin:0;color:#b9c1bd}.lawyer-placeholder b{margin-left:auto;color:#e2be7a;font-size:11px}.profile{padding:105px 9vw;display:grid;grid-template-columns:minmax(300px,430px) 1fr;gap:9vw;align-items:start}.profile-photo img{width:100%;height:auto;object-fit:contain}.profile .prose{max-width:760px}.expertise-layout{padding:105px 9vw;display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:start}.expertise-photo{margin-top:30px}.values{display:grid;grid-template-columns:repeat(3,1fr);padding:0 9vw 105px;background:var(--cream)}.values>div{padding:36px;border:1px solid var(--line);border-right:0}.values>div:last-child{border-right:1px solid var(--line)}.values span{font-size:10px;color:var(--red)}.values h3{font-size:28px;margin:20px 0 12px}.values p{font-size:13px;line-height:1.65;color:var(--muted)}.centered-content{padding:110px 9vw;text-align:center;max-width:900px;margin:auto}.centered-content .initials{margin:0 auto 30px;background:var(--ink)}.centered-content p{line-height:1.8;color:var(--muted);max-width:700px;margin:25px auto}.contact-layout{padding:105px 9vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-details address{font-style:normal;line-height:1.8;margin:35px 0}.contact-link{display:block;font:25px Georgia;text-decoration:none;margin:12px 0}.contact-details>p:last-child{font-size:12px;line-height:1.7;color:var(--muted);margin-top:35px}.contact-form{background:#fff;border:1px solid var(--line);padding:38px;display:grid;gap:18px}.contact-form h2{font-size:36px;margin-bottom:8px}.contact-form label{display:grid;gap:8px;font-size:11px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid #cfc8be;background:#fbfaf7;padding:13px;font:15px Arial}.contact-form .consent{grid-template-columns:auto 1fr;align-items:start;font-weight:400;line-height:1.5}.contact-form .consent input{width:auto;margin-top:2px}.legal{padding:95px 9vw;max-width:980px}.legal h2{font-size:35px;margin-top:55px}.legal p{line-height:1.8;color:var(--muted)}.cta{background:var(--red);color:#fff;text-align:center;padding:90px 9vw}.cta h2{max-width:850px;margin:0 auto 20px}.cta>p:not(.eyebrow){color:#edd6df}.cta .btn{margin-top:20px}footer{background:#121a16;color:#c0c8c4}.footer-main{padding:70px 7vw;display:grid;grid-template-columns:1.25fr 1fr .8fr 1fr;gap:55px}.footer-brand img{width:105px;background:#fff;padding:4px}.footer-brand p{line-height:1.7}.footer-title{color:#fff;font-size:10px;letter-spacing:2px;font-weight:700;margin-bottom:20px}.footer-main address{font-style:normal;line-height:1.8}.footer-main>div>a{display:block;text-decoration:none;margin:10px 0;font-size:13px}.footer-bottom{border-top:1px solid #35413b;padding:22px 7vw;display:flex;justify-content:space-between;gap:30px;font-size:10px}.footer-bottom a{text-decoration:none;margin-left:18px}
@media(max-width:1050px){.site-header{padding:0 25px}.phone-top span{display:none}.site-header nav>a,.menu-group>button{padding:12px 8px}.lawyer-card{grid-template-columns:1fr}.lawyer-card figure{height:420px}.footer-main{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.site-header{height:76px}.brand{height:88px;width:88px}.hamb{display:block;margin-left:auto;order:3}.phone-top{order:2;margin-left:auto;padding:12px;font-size:12px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:18px 20px;flex-direction:column;align-items:stretch;box-shadow:0 12px 30px rgba(0,0,0,.12);max-height:calc(100vh - 76px);overflow:auto}.site-header nav.open{display:flex}.site-header nav>a,.menu-group>button{width:100%;text-align:left;justify-content:flex-start;padding:13px 5px;font-size:14px}.menu-group>button{display:flex}.menu-group>button span{margin-left:auto}.submenu{position:static;box-shadow:none;border-top:1px solid var(--line);padding:5px 0 5px 16px}.home-hero{min-height:calc(100svh - 76px);height:auto;padding:90px 0}.hero-content{margin:0;padding:0 7vw;width:100%}.hero-content h1{font-size:clamp(45px,14vw,66px);overflow-wrap:anywhere}.hero-lead{font-size:16px}.hero-index{padding:16px 7vw}.inner-hero{min-height:390px;padding:75px 7vw}.inner-hero h1{font-size:clamp(38px,10vw,53px);overflow-wrap:anywhere}.split,.profile,.expertise-layout,.contact-layout{grid-template-columns:1fr;padding:75px 7vw;gap:45px}.skills,.team-preview,.team-page{padding:75px 7vw}.section-heading{grid-template-columns:1fr;gap:15px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:230px}.lawyer-grid{grid-template-columns:1fr}.values{grid-template-columns:1fr;padding:0 7vw 75px}.values>div{border-right:1px solid var(--line);border-bottom:0}.values>div:last-child{border-bottom:1px solid var(--line)}.footer-main{padding:55px 7vw;grid-template-columns:1fr 1fr}.footer-bottom{display:grid}.footer-bottom a{margin:0 14px 0 0}}
@media(max-width:480px){.phone-top{display:none}.hamb{margin-left:auto}.hero-actions{flex-direction:column;align-items:flex-start}.hero-index{gap:16px}.hero-index span{font-size:8px}.inner-hero h1{font-size:38px}.lawyer-card figure{height:400px}.lawyer-card>div{padding:25px}.lawyer-placeholder{align-items:flex-start;flex-wrap:wrap}.lawyer-placeholder b{width:100%;margin-left:105px}.footer-main{grid-template-columns:1fr}.footer-bottom span:last-child{display:grid;gap:10px}.footer-bottom a{margin:0}.contact-form{padding:25px 18px}}
.lawyer-grid.three{grid-template-columns:repeat(3,1fr)}
.lawyer-grid.three .lawyer-card{grid-template-columns:1fr}
.lawyer-grid.three .lawyer-card figure{height:430px}
@media(max-width:1050px){.lawyer-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.lawyer-grid.three{grid-template-columns:1fr}}

/* Modernisation visuelle : profondeur, mouvement doux et lisibilite */
body{overflow-x:hidden}
.site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 35px rgba(17,27,22,.05)}
.brand{box-shadow:0 16px 35px rgba(13,23,18,.22)}
.home-hero,.inner-hero{background-position:center var(--parallax-y,50%);background-attachment:fixed;isolation:isolate}
.home-hero:after,.inner-hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(120deg,transparent 55%,rgba(180,154,106,.16));mix-blend-mode:screen}
.inner-hero{position:relative;overflow:hidden}
.hero-content,.inner-hero>div{transform:translateY(var(--hero-shift,0));will-change:transform}
.hero-content h1,.inner-hero h1{position:relative;text-shadow:0 10px 32px rgba(0,0,0,.22)}
.hero-content h1:after,.inner-hero h1:after{content:"";display:block;width:78px;height:2px;margin-top:26px;background:linear-gradient(90deg,#d8bd86,rgba(216,189,134,0))}
.split,.skills,.team-preview,.team-page,.profile,.expertise-layout,.contact-layout,.centered-content,.legal{position:relative}
.split.intro:before,.team-preview:before,.team-page:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(180,154,106,.12),transparent 68%);pointer-events:none;z-index:-1}
.split.intro:before{right:-120px;top:-100px}.team-preview:before,.team-page:before{left:-150px;top:40px}
.skill-card,.lawyer-card,.values>div,.contact-form{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background-color .35s ease}
.skill-card:hover{transform:translateY(-8px);box-shadow:0 24px 55px rgba(0,0,0,.18)}
.lawyer-card{overflow:hidden;box-shadow:0 15px 40px rgba(24,34,29,.07)}
.lawyer-card:hover{transform:translateY(-8px);box-shadow:0 28px 65px rgba(24,34,29,.16);border-color:rgba(180,154,106,.7)}
.lawyer-card figure{overflow:hidden}
.lawyer-card img{transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.lawyer-card:hover img{transform:scale(1.025)}
.framed{transition:transform .5s ease,box-shadow .5s ease}
.framed:hover{transform:translateY(-5px);box-shadow:0 32px 70px rgba(24,34,29,.2)}
.btn{position:relative;overflow:hidden;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(91,5,36,.24)}
.text-link{transition:color .25s ease,border-color .25s ease,letter-spacing .25s ease}.text-link:hover{color:var(--red);letter-spacing:.25px}
.cta{position:relative;overflow:hidden;background:linear-gradient(125deg,#87042f,#b20a43 58%,#8b153d)}
.cta:before{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;top:-300px}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:820px){.home-hero,.inner-hero{background-attachment:scroll;background-position:center}.hero-content,.inner-hero>div{transform:none!important}.lawyer-card:hover,.skill-card:hover,.framed:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-hero,.inner-hero{background-attachment:scroll}.reveal{opacity:1;transform:none;transition:none}.skill-card,.lawyer-card,.framed,.btn,.lawyer-card img{transition:none!important}.hero-content,.inner-hero>div{transform:none!important}}
.legal{margin:0 auto;padding:95px 9vw;max-width:1120px}.legal h2{font-size:clamp(30px,3vw,42px);margin:70px 0 22px;padding-top:18px;border-top:1px solid var(--line)}.legal h2:first-of-type{margin-top:20px}.legal h3{font-size:24px;margin:34px 0 12px;color:var(--ink)}.legal p,.legal li{font-size:15px;line-height:1.8;color:var(--muted)}.legal ul{padding-left:22px}.legal a{color:var(--red);text-underline-offset:3px}.legal strong{color:var(--ink)}.legal-update{margin-top:50px;padding:22px;background:var(--cream);border-left:3px solid var(--gold)}
@media(max-width:820px){.legal{padding:70px 7vw}.legal h2{margin-top:50px}.legal h3{font-size:22px}}
