
:root{--ink:#0b1118;--navy:#111c28;--paper:#f4f0e8;--gold:#b99a5b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-header{height:94px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;gap:42px;position:absolute;z-index:10;width:100%;color:#fff;border-bottom:1px solid #ffffff26}.brand{display:flex;align-items:center;gap:13px;margin-right:auto}.brand>span{width:43px;height:43px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font:600 17px Georgia,serif}.brand strong{font-size:14px;letter-spacing:.15em}.brand small{display:block;font-size:8px;letter-spacing:.28em;color:#c9ced2;margin-top:5px;font-weight:400}nav{display:flex;gap:30px}nav a{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#e2e5e7}nav a:hover{color:var(--gold)}.lang{border:1px solid #ffffff55;background:transparent;color:#fff;padding:9px 11px;cursor:pointer;font-size:11px;letter-spacing:.15em}.hero{min-height:780px;position:relative;display:flex;align-items:center;color:#fff;background:#101b25;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:url('/hero-cour-municipale-v2.png') center/cover;opacity:.82}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#071019f2 0%,#071019c7 43%,#0710191f 72%,#0710190d 100%)}.hero-content{position:relative;z-index:2;padding:150px clamp(24px,9vw,140px) 90px;max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:11px;color:var(--gold);font-weight:700;margin:0 0 24px}.hero h1,.section h2{font:400 clamp(48px,6.3vw,88px)/.99 Georgia,'Times New Roman',serif;letter-spacing:-.035em;margin:0}.hero .lead{font-size:18px;line-height:1.75;color:#d8dcdf;max-width:650px;margin:30px 0}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 25px;border:1px solid;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.button.gold{background:var(--gold);border-color:var(--gold);color:#0b1118}.button.quiet{border-color:#ffffff66;color:#fff}.micro{font-size:11px;color:#abb2b8;margin-top:24px;letter-spacing:.08em}.case-line{position:absolute;right:4vw;bottom:-90px;font:400 340px/.8 Georgia,serif;color:#ffffff08}.proof{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff;padding:0 clamp(24px,7vw,110px)}.proof div{padding:34px 5vw;border-right:1px solid #ffffff18;display:flex;flex-direction:column;gap:8px}.proof div:last-child{border:0}.proof strong{font:400 25px Georgia,serif;color:#e7d5ae}.proof span{font-size:11px;color:#9ca4aa;letter-spacing:.08em;text-transform:uppercase}.section{padding:120px clamp(24px,8vw,125px)}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:end;margin-bottom:70px}.section-heading .eyebrow{grid-column:1/-1}.section h2{font-size:clamp(40px,4.6vw,68px);line-height:1.04}.section-heading>p:last-child,.large-copy,.about-copy>p,.contact-copy>p{color:#5c6369;line-height:1.8;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cfc8bc;border-left:1px solid #cfc8bc}.service-grid article{min-height:300px;padding:38px 34px;border-right:1px solid #cfc8bc;border-bottom:1px solid #cfc8bc}.service-grid h3{font:400 25px/1.2 Georgia,serif;margin:0 0 22px}.service-grid p{font-size:14px;line-height:1.78;color:#646a6f;margin:0}.approach{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.approach .large-copy{color:#c4c9cd;margin-top:32px}.steps{border-top:1px solid #ffffff28}.steps>div{display:flex;gap:30px;padding:28px 0;border-bottom:1px solid #ffffff28}.steps>div>span{color:var(--gold);font-size:11px}.steps h3{font:400 24px Georgia,serif;margin:0 0 9px}.steps p{font-size:13px;color:#aeb5ba;margin:0;line-height:1.6}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw;align-items:center}.portrait{height:590px;background:url('/original-images/robert-francis-portrait.png') center top/cover no-repeat;position:relative;border:1px solid #25323d;box-shadow:24px 24px 0 #d9d1c5}.portrait::after{content:"";position:absolute;inset:18px;border:1px solid #b99a5b77}.portrait-monogram,.portrait small{display:none}.about-copy>p{margin:25px 0}.text-link{display:inline-flex;gap:25px;color:#806a3f;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;border-bottom:1px solid #b99a5b;padding-bottom:8px;margin-top:12px}.contact{background:#e9e3d9;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact dl{margin-top:50px}.contact dl>div{border-top:1px solid #c9c0b3;padding:18px 0;display:grid;grid-template-columns:110px 1fr}.contact dt{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#7b756d}.contact dd{margin:0;font:400 17px/1.5 Georgia,serif}.contact dd span{display:block}.contact-form{background:#fff;padding:42px;box-shadow:0 24px 70px #28303814}.contact-form h3{font:400 30px Georgia,serif;margin:0 0 30px}.contact-form label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#666;display:block;margin-bottom:22px}.contact-form input,.contact-form textarea{display:block;width:100%;border:0;border-bottom:1px solid #bbb3a8;padding:11px 0;background:transparent;outline:none;text-transform:none}.contact-form textarea{resize:vertical}.contact-form small{display:block;color:#8a8a8a;line-height:1.5;margin-top:16px}.contact-form .button{cursor:pointer}footer{background:#080e14;color:#9ba1a6;padding:55px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1.5fr auto;gap:50px;align-items:center}footer p{font-size:10px;line-height:1.6;margin:0}footer .brand strong{color:#fff}
@media(max-width:850px){.site-header{height:78px}.site-header nav{display:none}.hero{min-height:720px}.hero-content{padding-top:125px}.proof{grid-template-columns:1fr}.proof div{border-right:0;border-bottom:1px solid #ffffff18;padding:22px 0}.section{padding:82px 24px}.section-heading,.approach,.about,.contact{grid-template-columns:1fr}.section-heading{gap:25px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:auto}.portrait{height:520px;max-width:480px}.about{gap:55px}.contact{gap:60px}footer{grid-template-columns:1fr;gap:25px}.case-line{font-size:220px}}
@media(max-width:520px){.hero h1{font-size:46px}.hero .lead{font-size:16px}.actions{flex-direction:column}.button{width:100%}.proof{padding:0 24px}.contact-form{padding:28px}.site-header{padding:0 18px}.brand strong{font-size:11px}.brand>span{width:38px;height:38px}.section h2{font-size:41px}.portrait{height:440px}}

.menu-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:5px 0;transition:transform .2s,opacity .2s}
@media(max-width:850px){body{overflow-x:hidden}.site-header{padding:0 22px;gap:10px}.site-header .brand{position:relative;z-index:12;min-width:0}.menu-toggle{display:block;position:relative;z-index:12;margin-left:auto}.site-header nav{display:flex;position:absolute;z-index:11;inset:0 0 auto 0;min-height:100vh;padding:112px 28px 45px;background:#0b1118f7;flex-direction:column;gap:0;transform:translateY(-110%);visibility:hidden;transition:transform .25s ease,visibility .25s}.site-header nav a{font:400 26px/1.2 Georgia,serif;text-transform:none;letter-spacing:0;padding:17px 0;border-bottom:1px solid #ffffff1f}.site-header.menu-open nav{transform:translateY(0);visibility:visible}.site-header.menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header.menu-open .menu-toggle span:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.lang-wide{position:relative;z-index:12}.hero::before{background-position:62% center}.hero-content{padding-left:24px;padding-right:24px}.section-heading{margin-bottom:45px}.service-grid article{padding:30px 25px}.portrait{height:min(112vw,520px);width:calc(100% - 20px)}.contact dl>div{grid-template-columns:90px minmax(0,1fr)}.contact dd,.contact dd a{overflow-wrap:anywhere}.contact-form{width:100%}}
@media(max-width:520px){.site-header{padding:0 14px}.brand{gap:8px}.brand strong{font-size:10px;letter-spacing:.1em}.brand small{font-size:6px;letter-spacing:.18em}.brand>span{width:36px;height:36px;flex:0 0 36px}.lang-wide{font-size:8px;padding:8px 7px}.menu-toggle{padding:8px 5px}.hero{min-height:680px;align-items:flex-end}.hero-content{padding:115px 20px 62px}.hero h1{font-size:clamp(39px,12vw,48px);line-height:1.02}.hero .lead{font-size:15px;line-height:1.65;margin:23px 0}.proof{padding:0 20px}.section{padding:68px 20px}.section h2{font-size:clamp(36px,11vw,43px);overflow-wrap:anywhere}.section-heading>p:last-child,.large-copy,.about-copy>p,.contact-copy>p{font-size:15px}.service-grid article{padding:27px 22px}.contact-form{padding:27px 20px}.contact dl>div{grid-template-columns:1fr;gap:7px}.portrait{height:118vw;max-height:470px;box-shadow:14px 14px 0 #d9d1c5}.case-line{display:none}footer{padding:45px 20px}}

.early-help{margin-top:65px;padding:38px 42px;background:#ded6ca;display:grid;grid-template-columns:.65fr 1.5fr auto;gap:40px;align-items:center}.early-help h3{font:400 28px Georgia,serif;margin:0}.early-help p{font-size:14px;line-height:1.75;color:#575d62;margin:0}.early-help a{color:#7c6539;font-size:12px;font-weight:700;letter-spacing:.1em;white-space:nowrap}
.values{display:grid;grid-template-columns:repeat(4,1fr);background:#e4ddd2;padding:0 clamp(24px,8vw,125px)}.values article{padding:42px 30px;border-right:1px solid #c8bfb2}.values article:last-child{border:0}.values h3{font:400 23px Georgia,serif;margin:0 0 14px}.values p{font-size:13px;line-height:1.65;color:#656a6e;margin:0}
.consultation{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;background:#f5f1ea}.consultation ul{list-style:none;padding:0;margin:45px 0 0}.consultation li{border-top:1px solid #c9c0b3;padding:20px 10px 20px 38px;position:relative;color:#555d63;line-height:1.6}.consultation li::before{content:"✓";position:absolute;left:5px;color:#8f7542}.dark-actions{margin-top:34px}.button.ink{color:#151d24;border-color:#151d24}.lang-wide{min-width:82px}
.editorial-break{height:420px;background:linear-gradient(90deg,#071019e8,#07101942),url('/legal-editorial.jpg') center/cover;display:flex;align-items:flex-end;padding:55px clamp(24px,8vw,125px);color:white}.editorial-break>div{display:flex;align-items:center;gap:25px;text-transform:uppercase;letter-spacing:.18em}.editorial-break span{font-size:10px;color:#d6c7aa}.editorial-break strong{font:400 clamp(34px,5vw,64px) Georgia,serif;text-transform:none;letter-spacing:-.02em}.contact-photo{height:330px;margin:-15px 0 48px;background:url('/robert-francis-contact-painted.png') center 20%/cover no-repeat;box-shadow:18px 18px 0 #d4c9ba;position:relative}.contact-photo::after{content:"";position:absolute;inset:12px;border:1px solid #c3a56380}
.consultation-banner{grid-column:1/-1;height:430px;margin:-40px 0 35px;background:url('/robert-francis-consultation-painted.png') center/cover no-repeat;box-shadow:20px 20px 0 #ded5c8;position:relative}.consultation-banner::after{content:"";position:absolute;inset:16px;border:1px solid #b99a5b70}
.portrait{background-image:url('/robert-francis-painted.png');background-position:center 18%;box-shadow:24px 24px 0 #d9d1c5}
.photo-credit{display:inline-block;margin-top:8px;color:#9f8960;text-decoration:underline;text-underline-offset:2px}
.approach{position:relative;isolation:isolate;overflow:hidden}.approach::before{content:"";position:absolute;z-index:-1;inset:0 38% 0 0;background:url('/gavel-fleur-de-lis.png') left center/contain no-repeat;opacity:.92;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 12%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 0%,#000 62%,transparent 100%),linear-gradient(0deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-composite:intersect}.justice-art{height:315px;margin-top:32px;background:none;border:0;box-shadow:none}.justice-art::after{display:none}
.steps>div>.step-bullet{flex:0 0 13px;width:13px;height:13px;margin:5px 11px 0 2px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff4bd 0 8%,#e2c475 20%,#b58b38 52%,#7a561e 78%,#d2ad5e 100%);border:1px solid #e1c476;box-shadow:inset 1px 1px 2px #fff4c9a8,inset -2px -2px 3px #684715cc,0 1px 2px #0009,0 0 10px #b99a5b35}
.approach .steps>div{padding:31px 0}.approach .steps p{font-size:14px;line-height:1.7;max-width:720px}
.payment{background:#111c28;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.payment-copy>p:last-child{max-width:650px;color:#bec5ca;font-size:16px;line-height:1.8;margin:28px 0 0}.payment-card{background:#fff;color:#151d24;padding:48px;box-shadow:0 26px 70px #05090d66;border-top:3px solid var(--gold)}.paypal-wordmark{font:700 37px/1 Arial,Helvetica,sans-serif;font-style:italic;letter-spacing:-.07em;color:#003087;margin-bottom:30px}.paypal-wordmark span{color:#0070ba}.payment-card ul{list-style:none;padding:0;margin:0 0 32px}.payment-card li{display:flex;gap:14px;padding:15px 0;border-top:1px solid #ddd7ce;color:#505a62;font-size:14px;line-height:1.55}.payment-card li:last-child{border-bottom:1px solid #ddd7ce}.payment-check{color:#9a7734;font-weight:700}.paypal-button{width:100%;background:#0070ba;border-color:#0070ba;color:#fff}.payment-card small{display:block;color:#747b80;font-size:11px;line-height:1.6;margin-top:18px}
@media(max-width:850px){.payment{grid-template-columns:1fr;gap:48px}.payment-card{padding:36px}}
@media(max-width:850px){.approach::before{inset:180px 0 auto 0;height:480px;background-position:center;background-size:cover;opacity:.78;-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(0deg,transparent 0%,#000 18%,#000 82%,transparent 100%)}.justice-art{height:340px;margin:25px 0 45px}}
@media(max-width:850px){.early-help{grid-template-columns:1fr;padding:30px;gap:18px}.values{grid-template-columns:1fr 1fr;padding:0 24px}.values article:nth-child(2){border-right:0}.consultation{grid-template-columns:1fr}.consultation ul{margin-top:0}}
@media(max-width:520px){.values{grid-template-columns:1fr}.values article{border-right:0;border-bottom:1px solid #c8bfb2}.lang-wide{min-width:0;font-size:9px;padding:8px}.dark-actions .button{width:100%}.editorial-break{height:300px;padding-bottom:32px}.editorial-break>div{gap:12px}.contact-photo{height:290px}.consultation-banner{height:260px;background-position:62% center;margin-top:-20px}}
@media(max-width:850px){.editorial-break{background-position:60% center}.consultation-banner{width:100%}}
@media(max-width:520px){.values article{padding:30px 4px}.editorial-break{height:280px;padding:0 20px 28px;background-position:64% center}.editorial-break>div{gap:9px;flex-wrap:wrap}.editorial-break span{font-size:8px}.contact-photo{height:76vw;min-height:260px;margin-bottom:42px;box-shadow:12px 12px 0 #d4c9ba}.consultation-banner{height:68vw;min-height:250px;box-shadow:12px 12px 0 #ded5c8}.early-help{padding:26px 22px}.approach::before{inset:170px -35px auto -35px;height:390px}.justice-art{height:300px;margin-bottom:25px}.steps>div{gap:14px}.payment-card{padding:30px 20px}.paypal-wordmark{font-size:32px}.payment-card li{align-items:flex-start}.consultation li{padding-left:32px}}

/* Compact Preparation image band */
.editorial-break{height:210px;padding-top:34px;padding-bottom:34px}
@media(max-width:520px){.editorial-break{height:140px;padding:0 20px 20px}}

