:root{--ink:#0a3654;--ink2:#123f5d;--blue:#0788b7;--paper:#f7f8f8;--line:#dce3e6;--text:#23333d;--muted:#60717b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.6}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--ink);font-weight:400;line-height:1.08}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:auto;padding:0 28px}.top{height:92px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;flex:0 0 auto}.brand img{display:block;width:210px;height:auto;object-fit:contain}.brand small{display:none}.nav{display:flex;gap:30px;align-items:center;font-size:14px}.nav a:hover,.nav a.active{color:var(--blue)}.btn{display:inline-block;background:var(--ink);color:white;padding:13px 20px;font-size:14px}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}.hero{min-height:610px;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,#eef4f6 0%,#fff 62%)}.hero-copy{padding:90px max(28px,calc((100vw - 1200px)/2));padding-right:55px}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#567184}.hero h1{font-size:58px;margin:18px 0 24px}.hero p{font-size:18px;max-width:610px}.hero-img{background:linear-gradient(90deg,rgba(10,54,84,.08),rgba(10,54,84,.05)),url('https://images.pexels.com/photos/34798583/pexels-photo-34798583.jpeg?cs=srgb&fm=jpg') center/cover}.pillars{border-bottom:1px solid var(--line);border-top:1px solid var(--line)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr)}.pillar{padding:34px;border-right:1px solid var(--line)}.pillar:last-child{border:0}.pillar b{display:block;color:var(--ink);font-family:Georgia,serif;font-size:21px}.section{padding:90px 0}.section.alt{background:var(--paper)}.section h2{font-size:43px;margin:10px 0 20px}.lead{font-size:18px;max-width:760px;color:#43545e}.expert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:45px}.expert{min-height:330px;position:relative;overflow:hidden}.expert .photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:.4s}.expert:hover .photo{transform:scale(1.025)}.expert .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,35,54,.82),rgba(5,35,54,.06) 70%)}.expert .label{position:absolute;bottom:0;color:#fff;padding:28px}.expert h3{color:white;font-size:30px;margin:0 0 8px}.team{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:45px}.lawyer{display:grid;grid-template-columns:190px 1fr;gap:26px;background:#fff;border:1px solid var(--line);padding:20px}.lawyer img,.portrait-placeholder{width:190px;height:260px;object-fit:cover;object-position:top}.portrait-placeholder{background:linear-gradient(145deg,#dfe8ec,#f8fafb);display:flex;align-items:center;justify-content:center;color:var(--ink);font-family:Georgia,serif;font-size:46px}.lawyer h3{font-size:27px;margin:12px 0}.band{background:var(--ink);color:#fff;padding:70px 0}.band h2{color:white}.footer{background:#062c45;color:#dce8ee;padding:48px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer h3{color:white}.footer small{color:#9db4c1}.pagehero{background:#eef4f6;padding:80px 0}.pagehero h1{font-size:52px;margin:10px 0}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{padding:28px;border:1px solid var(--line);background:#fff}.card h3{font-size:25px}.contactbox{padding:35px;background:var(--paper)}@media(max-width:800px){.brand img{width:170px}.nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:60px 28px}.hero h1{font-size:42px}.hero-img{min-height:360px}.pillar-grid,.expert-grid,.team,.content-grid,.cards,.footer-grid{grid-template-columns:1fr}.lawyer{grid-template-columns:1fr}.lawyer img,.portrait-placeholder{width:100%;height:360px}.section{padding:60px 0}}

/* Homepage motion and editorial refinements */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:saturate(140%) blur(12px);transition:box-shadow .3s ease,border-color .3s ease;border-bottom:1px solid transparent}
header.scrolled{box-shadow:0 10px 30px rgba(7,36,55,.08);border-bottom-color:rgba(10,54,84,.08)}
.nav a{position:relative}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .3s ease}
.nav a:not(.btn):hover::after,.nav a.active:not(.btn)::after{transform:scaleX(1);transform-origin:left}
.btn{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,54,84,.18)}
.arrow::after{content:" →";display:inline-block;transition:transform .25s ease}.arrow:hover::after{transform:translateX(5px)}
.text-link{display:inline-flex;align-items:center;color:var(--ink);font-weight:600;padding:12px 0}
.hero-modern{min-height:650px;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);overflow:hidden}
.hero-modern .hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:78px;padding-bottom:78px}
.hero-modern .hero-copy h1{max-width:690px}
.hero-promise{border-left:2px solid var(--blue);padding-left:18px;margin-top:22px;color:var(--ink2)}
.hero-actions{display:flex;gap:32px;align-items:center;margin-top:24px}
.hero-visual{position:relative;min-height:650px;overflow:hidden;background:#dfe8ec}
.hero-slide{position:absolute;inset:-2%;background-size:cover;background-position:center;opacity:0;transform:scale(1.045);transition:opacity 1.25s ease,transform 7s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,54,84,.12),rgba(10,54,84,.02) 55%,rgba(10,54,84,.18));pointer-events:none}
.hero-caption{position:absolute;left:36px;bottom:34px;max-width:520px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:10px;display:flex;gap:14px;align-items:center;text-shadow:0 1px 12px rgba(0,0,0,.4)}
.hero-caption-line{width:44px;height:1px;background:rgba(255,255,255,.8)}
.hero-dots{position:absolute;right:30px;bottom:30px;display:flex;gap:7px}.hero-dots i{display:block;width:22px;height:2px;background:rgba(255,255,255,.45);transition:width .35s ease,background .35s ease}.hero-dots i.is-active{width:42px;background:#fff}
.pillar{transition:background .3s ease,transform .3s ease}.pillar:hover{background:#f8fbfc;transform:translateY(-3px)}
.expert{box-shadow:0 0 0 rgba(10,54,84,0);transition:transform .35s ease,box-shadow .35s ease}.expert:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,54,84,.14)}.expert:hover .photo{transform:scale(1.055)}
.expert .label span{display:block;opacity:.86;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease}.expert:hover .label span{opacity:1;transform:translateY(0)}
.lawyer{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.lawyer:hover{transform:translateY(-4px);border-color:#c6d4da;box-shadow:0 18px 42px rgba(10,54,84,.08)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .85s cubic-bezier(.2,.65,.3,1),transform .85s cubic-bezier(.2,.65,.3,1)}.reveal.is-visible{opacity:1;transform:none}
.band{position:relative;overflow:hidden}.band::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-110px;top:-170px}.band .wrap{position:relative;z-index:1}
@media(max-width:800px){.hero-modern{grid-template-columns:1fr}.hero-visual{min-height:430px}.hero-modern .hero-copy{padding:56px 28px}.hero-actions{align-items:flex-start;gap:20px;flex-wrap:wrap}.hero-caption{left:22px;right:22px;bottom:28px}.hero-dots{right:22px;bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-slide,.reveal,.btn,.expert,.expert .photo,.lawyer,.pillar,.nav a::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.hero-slide{transform:none}.hero-slide:not(.is-active){display:none}}

/* Portraits: preserve the full original photograph instead of cropping it. */
.lawyer img{width:190px;height:285px;object-fit:contain;object-position:center top;background:#f4f6f7;align-self:start}
@media(max-width:800px){.lawyer img{width:100%;height:auto;max-height:none;object-fit:contain;background:#f4f6f7}}
/* v9 — portraits: Safari-safe, never cropped */
.lawyer{grid-template-columns:170px minmax(0,1fr);align-items:start}
.lawyer img{
  display:block;
  width:100%;
  height:auto;
  max-width:170px;
  max-height:none;
  object-fit:unset;
  object-position:unset;
  margin:0 auto;
  background:transparent;
}
@media(max-width:800px){
  .lawyer{grid-template-columns:1fr}
  .lawyer img{width:auto;max-width:min(240px,100%);height:auto;margin:0 auto 10px}
}


/* --- Proelia 2026: modern background system --- */
:root{
  --page:#f7f9fb;
  --paper:rgba(255,255,255,.92);
  --ink:#102433;
  --navy:#073b67;
  --cyan:#0089c4;
  --line:rgba(7,59,103,.10);
}
html{background:var(--page)}
body{
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 4%, rgba(0,137,196,.10), transparent 28rem),
    radial-gradient(circle at 92% 36%, rgba(7,59,103,.055), transparent 34rem),
    linear-gradient(rgba(7,59,103,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,59,103,.022) 1px, transparent 1px),
    var(--page);
  background-size:auto,auto,44px 44px,44px 44px,auto;
  background-attachment:fixed;
}
.header{
  background:rgba(255,255,255,.88)!important;
  -webkit-backdrop-filter:saturate(150%) blur(18px);
  backdrop-filter:saturate(150%) blur(18px);
  border-bottom:1px solid rgba(7,59,103,.07);
}
.section{position:relative}
.section:nth-of-type(even){
  background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(244,249,252,.72));
  border-top:1px solid rgba(7,59,103,.055);
  border-bottom:1px solid rgba(7,59,103,.055);
}
.card,.lawyer-card,.contact-card,.expertise-card{
  background:var(--paper);
  border-color:rgba(7,59,103,.11)!important;
  box-shadow:0 18px 55px rgba(7,59,103,.055);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.hero,.page-hero{
  position:relative;
  overflow:hidden;
}
.hero:after,.page-hero:after{
  content:"";
  position:absolute;
  width:440px;height:440px;
  right:-180px;top:-230px;
  border:1px solid rgba(0,137,196,.14);
  transform:rotate(16deg);
  pointer-events:none;
}
footer{
  background:linear-gradient(135deg,#eef6fa 0%,#f8fafb 55%,#edf4f8 100%)!important;
  border-top:1px solid rgba(7,59,103,.08);
}
@media(max-width:800px){
  body{background-size:auto,auto,32px 32px,32px 32px,auto;background-attachment:scroll}
  .hero:after,.page-hero:after{width:260px;height:260px;right:-150px;top:-130px}
}
@media(prefers-reduced-motion:reduce){
  body{background-attachment:scroll}
}


/* =========================================================
   PROELIA v13 — header correction + stronger page depth
   ========================================================= */

/* 1) Header / logo: give the logo real vertical room */
header{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid rgba(7,59,103,.10)!important;
  box-shadow:0 8px 30px rgba(7,59,103,.055);
  overflow:visible;
}
.top{
  height:118px!important;
  min-height:118px;
}
.brand{
  height:100%;
  display:flex;
  align-items:center;
  padding:8px 0;
  overflow:visible;
}
.brand img{
  width:228px!important;
  max-height:96px;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center;
}
.nav{align-self:stretch;display:flex;align-items:center}

/* 2) More visual thickness, but still calm and readable */
body{
  background:
    radial-gradient(circle at 8% 2%, rgba(0,137,196,.12), transparent 31rem),
    radial-gradient(circle at 94% 25%, rgba(7,59,103,.085), transparent 36rem),
    linear-gradient(rgba(7,59,103,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,59,103,.028) 1px, transparent 1px),
    #edf2f5!important;
  background-size:auto,auto,48px 48px,48px 48px,auto!important;
}

/* Page opening areas gain a clearer blue-grey identity */
.pagehero{
  background:
    linear-gradient(105deg,rgba(232,242,247,.98) 0%,rgba(244,249,251,.96) 56%,rgba(218,232,240,.94) 100%)!important;
  border-bottom:1px solid rgba(7,59,103,.09);
  box-shadow:inset 0 -22px 50px rgba(7,59,103,.025);
}
.pagehero h1{max-width:930px}

/* Homepage hero: a little more contrast between copy and photography */
.hero{
  background:linear-gradient(120deg,#e8f1f5 0%,#f7fafb 51%,#ffffff 100%)!important;
  border-bottom:1px solid rgba(7,59,103,.08);
}

/* Main content sits on slightly raised 'paper' surfaces */
.section{
  background:transparent!important;
  padding:76px 0!important;
}
.section > .wrap{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(7,59,103,.085);
  border-radius:24px;
  padding:54px 56px;
  box-shadow:
    0 24px 70px rgba(7,59,103,.075),
    0 2px 8px rgba(7,59,103,.035);
}
.section.alt > .wrap{
  background:
    linear-gradient(135deg,rgba(242,248,251,.98),rgba(255,255,255,.97));
}

/* Cards: visible layers, not white-on-white */
.lawyer,.card,.contactbox{
  background:#fff!important;
  border:1px solid rgba(7,59,103,.12)!important;
  box-shadow:0 16px 38px rgba(7,59,103,.07);
}
.lawyer{
  border-radius:16px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.lawyer:hover{
  transform:translateY(-3px);
  border-color:rgba(0,137,196,.24)!important;
  box-shadow:0 22px 48px rgba(7,59,103,.10);
}

/* Pillars become a proper layer between hero and content */
.pillars{
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 40px rgba(7,59,103,.055);
  border-top:1px solid rgba(7,59,103,.07)!important;
  border-bottom:1px solid rgba(7,59,103,.09)!important;
}

/* Keep the strong dark band and footer to anchor the page visually */
.band{
  background:linear-gradient(120deg,#082f4b 0%,#0a4269 100%)!important;
  box-shadow:0 -18px 50px rgba(7,59,103,.06);
}
.footer{
  background:linear-gradient(125deg,#052b44,#073b5d)!important;
  color:#dce8ee!important;
  border-top:0!important;
}
.footer h3{color:#fff!important}
.footer a{color:#dce8ee}
.footer small{color:#9db4c1!important}

/* Decorative geometry, inspired by the overlapping logo tiles */
.section > .wrap,.pagehero .wrap{position:relative;overflow:hidden}
.section > .wrap:after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-105px;top:-115px;
  border:1px solid rgba(0,137,196,.10);
  background:linear-gradient(135deg,rgba(0,137,196,.025),rgba(7,59,103,.018));
  transform:rotate(9deg);
  pointer-events:none;
}

/* Responsive */
@media(max-width:800px){
  .top{height:92px!important;min-height:92px}
  .brand{padding:7px 0}
  .brand img{width:168px!important;max-height:76px}
  .section{padding:42px 0!important}
  .section > .wrap{
    margin-left:14px;
    margin-right:14px;
    padding:34px 24px;
    border-radius:18px;
  }
  .pagehero{padding:56px 0!important}
  body{background-size:auto,auto,36px 36px,36px 36px,auto!important}
}


/* =========================================================
   PROELIA v14 — logo/header given more breathing room
   ========================================================= */

/* Desktop: larger, airier masthead */
.top{
  height:148px!important;
  min-height:148px!important;
  padding-top:10px;
  padding-bottom:10px;
}
.brand{
  padding:12px 0!important;
  margin-left:4px;
}
.brand img{
  width:285px!important;
  max-height:118px!important;
}

/* Keep navigation visually centered in the taller header */
.nav{
  height:100%;
  align-items:center!important;
}

/* More separation between masthead and opening content */
.pagehero,
.hero{
  border-top:1px solid rgba(7,59,103,.045);
}

/* Tablet */
@media(max-width:1050px) and (min-width:801px){
  .top{
    height:132px!important;
    min-height:132px!important;
  }
  .brand img{
    width:245px!important;
    max-height:104px!important;
  }
}

/* Mobile: still prominent, without crowding the screen */
@media(max-width:800px){
  .top{
    height:108px!important;
    min-height:108px!important;
    padding-top:6px;
    padding-bottom:6px;
  }
  .brand{
    padding:8px 0!important;
  }
  .brand img{
    width:198px!important;
    max-height:88px!important;
  }
}

/* Production polish */
.menu-toggle{display:none;border:0;background:transparent;padding:10px;margin-left:auto;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;background:var(--navy,#073b67);margin:5px 0;transition:.25s}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.legal-copy{max-width:920px}
.legal-copy h2{font-size:30px;margin-top:34px}
.legal-copy a{text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid rgba(0,137,196,.45);outline-offset:4px}
@media(max-width:800px){
  .menu-toggle{display:block;position:relative;z-index:101}
  header .top{position:relative}
  .nav{
    display:none!important;
    position:absolute;
    left:14px;right:14px;top:calc(100% - 4px);
    padding:18px;
    background:rgba(255,255,255,.985);
    border:1px solid rgba(7,59,103,.10);
    border-radius:16px;
    box-shadow:0 20px 50px rgba(7,59,103,.14);
    flex-direction:column;align-items:stretch;gap:2px;
  }
  .nav.is-open{display:flex!important}
  .nav a{padding:12px 10px}
  .nav .btn{text-align:center;margin-top:8px}
}

.bar-card{display:flex;align-items:center;justify-content:space-between;gap:40px}
.bar-card h2{margin-bottom:10px}
.btn-outline{background:transparent!important;color:var(--navy,#073b67)!important;border:1px solid rgba(7,59,103,.28)!important;white-space:nowrap}
.btn-outline:hover{background:rgba(7,59,103,.05)!important}
.role a{text-decoration:none;border-bottom:1px solid rgba(7,59,103,.25)}
@media(max-width:800px){.bar-card{display:block}.bar-card .btn{display:inline-block;margin-top:18px}}

/* =========================================================
   PROELIA v17 — typographie éditoriale / texte justifié
   ========================================================= */

/* Justification des textes de lecture, avec césure française pour éviter
   les grands espaces disgracieux entre les mots. */
.section p,
.lawyer p,
.card p,
.contactbox p,
.legal-copy p,
.pagehero .lead,
.hero-copy p,
.band p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}

/* Largeur de lecture maîtrisée : les lignes restent élégantes. */
.section p,
.legal-copy p {
  max-width: 76ch;
}

/* Les éléments courts ne sont pas justifiés : meilleur rendu visuel. */
.eyebrow,
.role,
.tags,
.contactline,
.footer p,
.footer small,
nav,
.btn,
h1,h2,h3,h4 {
  text-align: left;
  hyphens: none;
}

/* Sur mobile, la justification peut créer trop d'espaces sur une ligne
   étroite : on revient à l'alignement naturel pour préserver la lisibilité. */
@media(max-width:640px){
  .section p,
  .lawyer p,
  .card p,
  .contactbox p,
  .legal-copy p,
  .pagehero .lead,
  .hero-copy p,
  .band p {
    text-align:left;
    hyphens:auto;
    -webkit-hyphens:auto;
  }
}

/* =========================================================
   PAGE AVOCATS — présentation finale validée
   Base inchangée : Production V17
   ========================================================= */
.avocats-hero{padding-top:36px;padding-bottom:36px;background:linear-gradient(112deg,#eef7fb 0%,#deedf5 60%,#eef6f9 100%)}
.avocats-hero h1{font-size:48px;line-height:1.03;margin:8px 0 8px;max-width:800px}
.avocats-hero .lead{font-family:Georgia,'Times New Roman',serif;margin:0;max-width:680px;text-align:left!important}

.avocats-section{padding-top:28px;padding-bottom:28px}
.avocats-equal-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px}
.avocat-equal-card{min-width:0;display:flex;flex-direction:column;border-right:1px solid rgba(7,59,103,.10);padding-right:20px}
.avocat-equal-card:last-child{border-right:0;padding-right:0}
.avocat-main{display:grid;grid-template-columns:210px minmax(0,1fr);gap:28px;align-items:start;min-width:0}
.avocat-photo-shell{position:relative;padding:22px 0 0 22px;min-width:0}
.avocat-photo-shell:before{content:"";position:absolute;inset:0 16px 20px 0;background:#edf4f7;z-index:0}
.avocat-photo-shell img{position:relative;z-index:1;display:block;width:210px;height:340px;object-fit:cover;object-position:center top;filter:grayscale(100%);background:#f4f5f5}
/* Marie est légèrement dézoomée pour harmoniser l'échelle du sujet avec Yves. */
.avocat-photo-shell img.marie-photo{object-fit:contain;padding:12px 8px 0;background:#ededed}

.avocat-copy{min-width:0}
.avocat-copy h2{font-size:29px;line-height:1.05;margin:1px 0 5px}
.avocat-role{font-size:12px;letter-spacing:.22em;color:#5c99bd;margin-bottom:8px}
.avocat-role:after{content:"";display:block;width:45px;height:2px;background:#0c91c5;margin-top:9px}
.avocat-bar{display:inline-block;margin:0 0 13px;font-family:Georgia,'Times New Roman',serif;font-size:14px;color:#0b4b77}
.avocat-copy p{font-family:Georgia,'Times New Roman',serif;font-size:14.5px;line-height:1.38;margin:0 0 13px;max-width:none!important;text-align:justify!important;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto}
.avocat-expertise-title{font-size:11px;letter-spacing:.12em;color:#5c99bd;margin:15px 0 10px}
.avocat-expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;font-size:12px;line-height:1.25;color:#074574}
.avocat-expertise-grid span{position:relative;padding-left:16px}
.avocat-expertise-grid span:before{content:"";position:absolute;left:1px;top:.43em;width:6px;height:6px;border:1.4px solid #0b5686;transform:rotate(45deg)}
.avocat-email{margin-top:auto;padding-top:22px;font-size:12.5px;color:#074574}
.avocats-quote{padding:28px 0;background:linear-gradient(100deg,#eef8fc,#deeff7);font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:23px;color:#0a4c78}

@media(max-width:1180px){
  .avocats-equal-grid{gap:28px}
  .avocat-main{grid-template-columns:170px minmax(0,1fr);gap:22px}
  .avocat-photo-shell img{width:170px;height:295px}
  .avocat-copy h2{font-size:26px}
  .avocat-copy p{font-size:14px}
}
@media(max-width:900px){
  .avocats-equal-grid{grid-template-columns:1fr}
  .avocat-equal-card{border-right:0;border-bottom:1px solid rgba(7,59,103,.10);padding:0 0 28px}
  .avocat-main{grid-template-columns:190px minmax(0,1fr)}
  .avocat-photo-shell img{width:190px;height:315px}
}
@media(max-width:600px){
  .avocats-hero h1{font-size:38px}
  .avocats-hero .lead{margin-left:0}
  .avocat-main{grid-template-columns:1fr}
  .avocat-photo-shell{width:190px}
  .avocat-copy p{text-align:left!important}
  .avocat-expertise-grid{grid-template-columns:1fr}
}

/* =========================================================
   PAGE AVOCATS — variante plus aérée et plus lisible
   Seules dimensions/espacements/typographie sont ajustés.
   ========================================================= */

.avocats-section{
  padding-top:44px !important;
  padding-bottom:42px !important;
}

.avocats-equal-grid{
  gap:64px !important;
}

.avocat-equal-card{
  padding-right:30px !important;
}

.avocat-main{
  /* Portrait plus discret, davantage d'espace pour le texte */
  grid-template-columns:155px minmax(0,1fr) !important;
  gap:32px !important;
}

.avocat-photo-shell{
  padding:16px 0 0 16px !important;
}

.avocat-photo-shell:before{
  inset:0 12px 18px 0 !important;
}

.avocat-photo-shell img{
  width:155px !important;
  height:252px !important;
}

.avocat-photo-shell img.marie-photo{
  /* Marie reste légèrement dézoomée et en N&B */
  object-fit:contain !important;
  padding:9px 6px 0 !important;
  filter:grayscale(100%) !important;
}

.avocat-copy h2{
  font-size:31px !important;
  line-height:1.08 !important;
  margin-bottom:7px !important;
}

.avocat-role{
  font-size:12.5px !important;
  margin-bottom:11px !important;
}

.avocat-bar{
  font-size:15px !important;
  margin-bottom:18px !important;
}

.avocat-copy p{
  font-size:16px !important;
  line-height:1.52 !important;
  margin-bottom:19px !important;
}

.avocat-expertise-title{
  font-size:11.5px !important;
  margin-top:22px !important;
  margin-bottom:13px !important;
}

.avocat-expertise-grid{
  font-size:13px !important;
  line-height:1.38 !important;
  gap:11px 24px !important;
}

.avocat-email{
  padding-top:28px !important;
  font-size:13.5px !important;
}

.avocats-quote{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

/* Le hero respire davantage sans devenir plus massif. */
.avocats-hero{
  padding-top:43px !important;
  padding-bottom:43px !important;
}

.avocats-hero h1{
  line-height:1.08 !important;
}

@media(max-width:1180px){
  .avocats-equal-grid{gap:38px !important}
  .avocat-main{
    grid-template-columns:135px minmax(0,1fr) !important;
    gap:24px !important;
  }
  .avocat-photo-shell img{
    width:135px !important;
    height:222px !important;
  }
  .avocat-copy h2{font-size:28px !important}
  .avocat-copy p{font-size:15.5px !important}
}

@media(max-width:900px){
  .avocats-equal-grid{gap:44px !important}
  .avocat-main{
    grid-template-columns:155px minmax(0,1fr) !important;
    gap:28px !important;
  }
  .avocat-photo-shell img{
    width:155px !important;
    height:252px !important;
  }
}

@media(max-width:600px){
  .avocats-section{padding-top:30px !important}
  .avocat-main{grid-template-columns:1fr !important}
  .avocat-photo-shell{width:155px !important}
  .avocat-photo-shell img{
    width:155px !important;
    height:252px !important;
  }
  .avocat-copy p{
    font-size:16px !important;
    line-height:1.55 !important;
  }
}

/* =========================================================
   PAGE AVOCATS — photo à droite du nom + texte pleine largeur
   Ajustement ciblé, base Production V17 conservée
   ========================================================= */

.avocats-section{
  padding-top:42px !important;
  padding-bottom:42px !important;
}

.avocats-equal-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:54px !important;
  align-items:start !important;
}

.avocat-equal-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:30px 32px 28px !important;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(7,59,103,.10);
  border-radius:20px;
  box-shadow:0 18px 50px rgba(7,59,103,.055);
}

/* Nom et portrait sur la même ligne, portrait à droite */
.avocat-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px;
  gap:24px;
  align-items:start;
  margin-bottom:24px;
}

.avocat-heading{
  min-width:0;
  padding-top:4px;
}

.avocat-heading h2{
  font-size:31px !important;
  line-height:1.06 !important;
  margin:0 0 7px !important;
}

.avocat-role{
  font-size:12.5px !important;
  letter-spacing:.20em;
  color:#5c99bd;
  margin-bottom:10px;
}

.avocat-role:after{
  content:"";
  display:block;
  width:44px;
  height:2px;
  background:#0c91c5;
  margin-top:9px;
}

.avocat-bar{
  display:inline-block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14.5px !important;
  color:#0b4b77;
  margin-top:2px;
}

/* Portrait plus petit, discret, mais présent */
.avocat-photo-shell{
  width:118px;
  position:relative;
  padding:9px 0 0 9px;
  justify-self:end;
}

.avocat-photo-shell:before{
  content:"";
  position:absolute;
  inset:0 8px 12px 0;
  background:#edf4f7;
  z-index:0;
}

.avocat-photo-shell img{
  position:relative;
  z-index:1;
  display:block;
  width:118px !important;
  height:178px !important;
  object-fit:cover !important;
  object-position:center top !important;
  filter:grayscale(100%) !important;
  background:#f2f3f3;
}

/* Marie reste légèrement dézoomée, pour une échelle comparable à Yves */
.avocat-photo-shell img.marie-photo{
  object-fit:contain !important;
  padding:6px 4px 0 !important;
  background:#ececec !important;
}

/* Le texte profite désormais de toute la largeur de la carte */
.avocat-body{
  width:100%;
}

.avocat-body p{
  max-width:none !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px !important;
  line-height:1.58 !important;
  margin:0 0 19px !important;
  text-align:justify !important;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* Domaines parfaitement alignés */
.avocat-expertise-title{
  font-size:11.5px !important;
  letter-spacing:.13em;
  color:#5c99bd;
  margin:24px 0 13px !important;
  padding-top:16px;
  border-top:1px solid rgba(7,59,103,.10);
}

.avocat-expertise-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(34px,auto);
  column-gap:24px !important;
  row-gap:8px !important;
  align-items:start;
  font-size:13px !important;
  line-height:1.35 !important;
  color:#074574;
}

.avocat-expertise-grid span{
  position:relative;
  display:flex;
  align-items:flex-start;
  min-height:34px;
  padding-left:17px;
}

.avocat-expertise-grid span:before{
  content:"";
  position:absolute;
  left:1px;
  top:.45em;
  width:6px;
  height:6px;
  border:1.4px solid #0b5686;
  transform:rotate(45deg);
  flex:0 0 auto;
}

.avocat-email{
  margin-top:24px !important;
  padding-top:16px !important;
  border-top:1px solid rgba(7,59,103,.08);
  font-size:13px !important;
  color:#074574;
}

/* Un peu plus d'air entre les deux profils */
.avocat-equal-card:hover{
  box-shadow:0 23px 60px rgba(7,59,103,.075);
  transform:translateY(-2px);
  transition:.25s ease;
}

@media(max-width:1050px){
  .avocats-equal-grid{gap:30px !important}
  .avocat-equal-card{padding:26px !important}
  .avocat-top{grid-template-columns:minmax(0,1fr) 104px;gap:18px}
  .avocat-photo-shell{width:104px}
  .avocat-photo-shell img{width:104px !important;height:160px !important}
  .avocat-heading h2{font-size:28px !important}
  .avocat-body p{font-size:15.5px !important}
}

@media(max-width:850px){
  .avocats-equal-grid{grid-template-columns:1fr !important;gap:32px !important}
  .avocat-top{grid-template-columns:minmax(0,1fr) 118px}
  .avocat-photo-shell{width:118px}
  .avocat-photo-shell img{width:118px !important;height:178px !important}
}

@media(max-width:560px){
  .avocat-equal-card{padding:22px !important}
  .avocat-top{grid-template-columns:minmax(0,1fr) 92px;gap:14px}
  .avocat-photo-shell{width:92px}
  .avocat-photo-shell img{width:92px !important;height:140px !important}
  .avocat-heading h2{font-size:25px !important}
  .avocat-body p{text-align:left !important}
  .avocat-expertise-grid{grid-template-columns:1fr !important}
}


/* v18 — language selector */
.lang-switch{display:flex;align-items:center;gap:7px;margin-left:18px;font-size:11px;letter-spacing:.12em;color:#6a7d89;white-space:nowrap}
.lang-switch a{padding:5px 2px;color:#6a7d89;transition:color .2s ease}
.lang-switch a:hover,.lang-switch a.active{color:var(--blue);font-weight:700}
@media(max-width:800px){.lang-switch{position:absolute;right:58px;top:50%;transform:translateY(-50%);margin-left:0;font-size:10px;gap:5px}}
