:root{--navy:#101b26;--deep:#0b141d;--gold:#caa56a;--cream:#f5f1e9;--ink:#17212a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.section{max-width:1240px;margin:auto;padding-left:5vw;padding-right:5vw}.topbar{height:92px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);text-transform:uppercase;letter-spacing:.13em}.brand b{display:block;font-family:Georgia,serif;font-size:19px}.brand small{font-size:8px;letter-spacing:.18em;display:block;margin-top:4px}.monogram{width:48px;height:48px;border:1px solid var(--gold);display:grid;place-items:center;font-family:Georgia,serif;font-size:14px;color:var(--gold)}nav{display:flex;gap:34px}nav a{color:#35404a;text-decoration:none;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.outlineButton{border:1px solid #b9aa94;color:var(--ink);padding:13px 19px;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.hero{height:700px;min-height:640px;position:relative;color:#fff;overflow:hidden}.heroImage{position:absolute;inset:0;background:url('https://media.routard.com/image/32/2/palais_de_justice.1379322.w740.jpg') center 38%/cover no-repeat;transform:scale(1.03)}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,16,24,.95) 0%,rgba(9,20,29,.78) 45%,rgba(9,20,29,.18) 100%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 50%)}.heroContent{position:relative;z-index:2;padding:120px 8vw;max-width:860px}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:10px;color:#7a6550;font-weight:bold;margin:0 0 24px}.eyebrow.light{color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;margin:0}h1{font-size:78px;line-height:.98;letter-spacing:-.035em}h1 em{color:#d9b77d;font-weight:400}.heroIntro{max-width:625px;font-family:Georgia,serif;font-size:20px;line-height:1.65;color:#e4e4e1;margin:30px 0}.actions{display:flex;align-items:center;gap:35px}.goldButton{display:inline-flex;justify-content:space-between;gap:28px;align-items:center;background:var(--gold);color:#101820;text-decoration:none;padding:18px 22px;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:bold}.textLink{color:#fff;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.heroCard{position:absolute;right:7vw;bottom:0;z-index:3;background:rgba(245,241,233,.95);color:var(--ink);width:270px;padding:28px 32px}.heroCard span{font-size:9px;text-transform:uppercase;letter-spacing:.2em}.heroCard strong{display:block;font-family:Georgia,serif;font-size:45px;font-weight:400;color:#a47d43;margin:4px 0}.heroCard p{font-family:Georgia,serif;font-size:14px;line-height:1.5;margin:0}.intro{padding-top:110px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.intro h2,.profile h2,.contact h2,.practices h2{font-size:49px;line-height:1.1}.introCopy>p{font-family:Georgia,serif;font-size:17px;line-height:1.8;color:#4c555c;margin-top:0}.values{display:flex;margin-top:34px;border-top:1px solid #d3c9bb}.values span{padding:18px 25px 0 0;margin-right:25px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;border-right:1px solid #d3c9bb}.practices{background:var(--navy);color:#fff;padding:105px 0}.practicesHead{display:flex;justify-content:space-between;align-items:end}.practicesHead>p{width:340px;line-height:1.7;color:#aeb6bc;font-size:14px}.practiceGrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:65px}.practiceGrid article{padding:30px 28px 24px;border-left:1px solid #35414b;min-height:300px;display:flex;flex-direction:column}.practiceGrid article:last-child{border-right:1px solid #35414b}.practiceGrid span{font-family:Georgia,serif;color:var(--gold);font-size:13px}.practiceGrid h3{font-size:25px;margin:45px 0 18px}.practiceGrid p{font-size:13px;line-height:1.7;color:#abb4bb}.practiceGrid a{color:var(--gold);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-top:auto}.profile{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.portrait{height:590px;background:linear-gradient(145deg,#1d2c38,#0d171f);padding:34px}.portraitInner{height:100%;border:1px solid rgba(202,165,106,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.portraitInner span{font-family:Georgia,serif;font-size:90px;letter-spacing:.12em}.portraitInner small{text-align:center;text-transform:uppercase;letter-spacing:.22em;font-size:9px;margin-top:20px;color:#a6afb5;line-height:1.7}.profileText{max-width:560px}.profileText .lead{font-family:Georgia,serif;font-size:20px;line-height:1.65;color:#5f5143;border-left:2px solid var(--gold);padding-left:25px;margin:30px 0}.profileText>p:not(.eyebrow):not(.lead){color:#606a71;line-height:1.8;font-size:14px}.profile dl{margin-top:35px;border-top:1px solid #d3c9bb}.profile dl div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #d3c9bb}.profile dt{text-transform:uppercase;letter-spacing:.15em;font-size:9px}.profile dd{margin:0;font-family:Georgia,serif;font-size:14px}.contact{background:var(--deep);color:#fff}.contactInner{padding-top:90px;padding-bottom:90px;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}.contact h2{font-size:56px}.contactInner>div>p:last-child{color:#aeb5ba;line-height:1.7;max-width:530px}.contactCard{border:1px solid #34404a;padding:34px}.contactCard p{font-family:Georgia,serif;line-height:1.6}.contactCard small{display:block;color:var(--gold);font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:8px;margin-bottom:5px}.contactCard .goldButton{margin-top:15px}footer{height:110px;background:#070d12;color:#8f979d;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.inverted{color:#fff}.inverted .monogram{width:42px;height:42px}
@media(max-width:900px){.topbar{height:78px}.topbar nav,.topbar>.outlineButton{display:none}.hero{height:680px}.heroContent{padding:100px 7vw}.hero h1{font-size:54px}.heroCard{display:none}.intro,.profile,.contactInner{grid-template-columns:1fr;gap:50px}.practicesHead{display:block}.practicesHead>p{width:auto;margin-top:25px}.practiceGrid{grid-template-columns:1fr 1fr}.practiceGrid article:nth-child(n+3){border-top:1px solid #35414b}.portrait{height:500px}.profileText{max-width:none}}
@media(max-width:560px){.brand b{font-size:16px}.hero{height:650px}.heroContent{padding-top:85px}.hero h1{font-size:43px}.heroIntro{font-size:17px}.actions{align-items:flex-start;flex-direction:column;gap:22px}.intro,.profile{padding-top:75px;padding-bottom:75px}.intro h2,.profile h2,.practices h2,.contact h2{font-size:37px}.values{flex-wrap:wrap}.practiceGrid{grid-template-columns:1fr}.practiceGrid article{min-height:250px;border-right:1px solid #35414b;border-top:1px solid #35414b}.practices{padding:75px 0}.portrait{height:420px}.portraitInner span{font-size:64px}.contactInner{padding-top:70px;padding-bottom:70px}footer{height:auto;padding:35px 5vw;align-items:flex-start;gap:30px;flex-direction:column}}

/* Formulaire de prise de rendez-vous */
.contact{padding:105px 0}.contactIntro h2{font-size:56px}.contactIntro>p:last-child{color:#aeb5ba;line-height:1.7;max-width:650px}.contact .contactInner{padding-top:50px;padding-bottom:0;grid-template-columns:1.6fr .65fr;gap:6vw;align-items:start}.contactForm{border-top:1px solid #34404a;padding-top:34px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.contactForm label>span,.contactForm legend{display:block;color:#cbd0d4;text-transform:uppercase;letter-spacing:.13em;font-size:9px;margin-bottom:10px}.contactForm input[type="text"],.contactForm input[type="email"],.contactForm input[type="tel"],.contactForm select,.contactForm textarea{width:100%;border:1px solid #39454e;background:#111e29;color:#fff;border-radius:0;padding:15px 16px;font:14px Arial,sans-serif;outline:none}.contactForm textarea{resize:vertical;line-height:1.55}.contactForm input:focus,.contactForm select:focus,.contactForm textarea:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.contactForm select{appearance:auto}.contactForm option{color:#17212a;background:#fff}.contactForm fieldset{border:0;padding:28px 0 20px;margin:0;display:flex;gap:26px;flex-wrap:wrap}.contactForm legend{padding:0;margin-bottom:14px}.choice,.consent{display:flex!important;align-items:center;gap:9px;cursor:pointer}.choice span,.consent span{margin:0!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;color:#c5cbd0!important}.choice input,.consent input{accent-color:var(--gold)}.messageField{display:block}.consent{margin-top:20px;align-items:flex-start}.formFooter{display:flex;align-items:center;gap:22px;margin-top:28px}.contactForm button{border:0;cursor:pointer}.formFooter small{color:#8e989f;line-height:1.5;max-width:300px}.formNotice{color:#dcc08c;font-size:12px;margin-top:18px}.contact .contactCard{position:sticky;top:25px}.contactCard a{color:#fff;text-decoration:none;overflow-wrap:anywhere}.privacyNote{margin-top:32px;padding-top:25px;border-top:1px solid #34404a}.privacyNote b{color:var(--gold);font-family:Georgia,serif;font-size:16px;font-weight:400}.privacyNote p{color:#aeb5ba;font-family:Arial,sans-serif;font-size:12px;line-height:1.7}
@media(max-width:900px){.contact .contactInner{grid-template-columns:1fr;gap:50px;padding-top:40px}.contact .contactCard{position:static}}
@media(max-width:560px){.contact{padding:75px 0}.formGrid{grid-template-columns:1fr}.contactForm fieldset{gap:14px 20px}.formFooter{align-items:flex-start;flex-direction:column}.contactCard{padding:26px}}

/* Identité visuelle JAC et portrait professionnel */
.brandLogo{width:58px;height:58px;display:block;object-fit:contain;flex:0 0 auto}.inverted .brandLogo{width:52px;height:52px}.portrait{height:590px;margin:0;background:linear-gradient(145deg,#1d2c38,#0d171f);padding:16px;position:relative}.portrait:after{content:"";position:absolute;inset:16px;border:1px solid rgba(202,165,106,.55);pointer-events:none}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 28%;filter:saturate(.82) contrast(1.04)}
@media(max-width:900px){.brandLogo{width:50px;height:50px}.portrait{height:500px}}
@media(max-width:560px){.brandLogo{width:46px;height:46px}.portrait{height:440px;padding:12px}.portrait:after{inset:12px}.portrait img{object-position:center 25%}}

/* Navigation du pied de page */
.siteFooter{height:auto;display:block;padding:42px 5vw 22px}.footerMain{display:grid;grid-template-columns:1.2fr 2fr auto;align-items:center;gap:48px}.footerNav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap}.footerNav a{color:#c8cdd1;font-size:10px;transition:color .2s ease}.footerNav a:hover,.footerNav a:focus-visible{color:var(--gold)}.backToTop{display:inline-flex;align-items:center;gap:10px;color:var(--gold);text-decoration:none;font-size:10px;letter-spacing:.13em;white-space:nowrap}.backToTop span{font-size:16px}.footerBottom{display:flex;justify-content:space-between;gap:25px;margin-top:30px;padding-top:18px;border-top:1px solid #27313a;color:#77818a}.footerBottom p{margin:0}
@media(max-width:900px){.footerMain{grid-template-columns:1fr auto}.footerNav{grid-column:1/-1;grid-row:2;justify-content:flex-start}.footerBottom{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.siteFooter{padding:34px 5vw 22px}.footerMain{display:flex;align-items:flex-start;flex-direction:column;gap:28px}.footerNav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:0;border-top:1px solid #27313a}.footerNav a{padding:15px 0;border-bottom:1px solid #27313a}.footerNav a:nth-child(even){padding-left:18px;border-left:1px solid #27313a}.footerBottom{font-size:9px;line-height:1.5}}

/* Boutons de langues en haut et en bas */
.languageBar{min-height:62px;padding:8px 4vw;background:#f7f3eb;border-top:1px solid #e3dacd;border-bottom:1px solid #d8ccbc;display:flex;align-items:center;justify-content:center;gap:22px;position:relative;z-index:9}.languageLabel,.footerLanguages>span{text-transform:uppercase;letter-spacing:.2em;font-size:8px;color:#776a59;font-weight:700}.languageButtons{display:flex;align-items:stretch;border:1px solid #cdbb9f;background:#fff}.languageButtons button{min-width:104px;height:44px;border:0;border-right:1px solid #ded2c0;background:#fff;color:#34404a;padding:5px 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font:inherit;transition:background .18s ease,color .18s ease}.languageButtons button:last-child{border-right:0}.languageButtons button b{font-size:10px;letter-spacing:.13em}.languageButtons button small{font-family:Georgia,serif;font-size:10px;color:#817666}.languageButtons button:hover,.languageButtons button:focus-visible{background:#eee6d9;outline:0}.languageButtons button:focus-visible{box-shadow:inset 0 0 0 2px var(--gold)}.languageButtons button.active{background:var(--navy);color:#fff}.languageButtons button.active small{color:#d8b77f}.footerLanguages{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px;padding-top:26px;border-top:1px solid #27313a}.footerLanguages>span{color:#8f979d}.languageButtonsFooter{border-color:#34404a;background:transparent}.languageButtonsFooter button{background:transparent;border-color:#34404a;color:#d4d8db}.languageButtonsFooter button small{color:#8f979d}.languageButtonsFooter button:hover,.languageButtonsFooter button:focus-visible{background:#15232e}.languageButtonsFooter button.active{background:var(--gold);color:#101820}.languageButtonsFooter button.active small{color:#3f3529}.locale-ru .heroContent{max-width:980px}.locale-ru h1{font-size:70px}.locale-ru .brand small{letter-spacing:.09em}.locale-ru .practiceGrid h3{font-size:22px}
@media(max-width:1050px){.topbar nav{gap:18px}.outlineButton{padding:12px 14px}.languageButtons button{min-width:88px}}
@media(max-width:900px){.languageBar{gap:12px}.languageLabel,.footerLanguages>span{display:none}.languageButtons{width:100%;max-width:620px}.languageButtons button{flex:1;min-width:0}.footerLanguages{padding-top:22px}.languageButtonsFooter{max-width:620px;width:100%}.locale-ru h1{font-size:51px}}
@media(max-width:560px){.languageBar{min-height:56px;padding:7px 10px}.languageButtons button{height:40px;padding:4px 3px;gap:3px;flex-direction:column}.languageButtons button b{font-size:10px}.languageButtons button small{font-size:7px}.footerLanguages{margin-top:26px}.locale-ru h1{font-size:38px}.locale-ru .heroIntro{font-size:15px}.locale-ru .goldButton{letter-spacing:.05em}}
