@font-face{font-family:Domine;src:url('../fonts/Domine-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Domine;src:url('../fonts/Domine-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/OpenSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Open Sans';src:url('../fonts/OpenSans-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{--burgundy:#71253A;--burgundy-dark:#5d1d2e;--navy:#80929B;--terracotta:#E58C50;--cream:#EDEAE6;--blue-gray:#97ABB6;--ink:#191919;--white:#fff;--container:1170px}
::selection{background:#71253A;color:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'Open Sans',sans-serif;font-size:15px;line-height:2}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}p,li,dt,dd,input,textarea{font-family:'Open Sans',sans-serif}h1,h2,h3,.button,.site-header,.site-footer{font-family:Domine,serif}h1,h2,h3,.hero-content h1,.intro-copy h2,.why h2,.domain-copy h1,.page-title h1{font-weight:700}.domain-copy h2,.intro-copy .lead,.hero-content p,.eyebrow{font-family:Domine,serif;font-weight:400}.site-header{position:relative;z-index:20;background:#fff}.header-top{height:154px;display:flex;align-items:center;justify-content:space-between}.brand{width:245px}.header-info{display:flex;align-items:center;gap:48px}.header-info>div{display:flex;align-items:center;gap:15px}.header-info p{margin:0;font-family:Domine,serif;font-size:18px;font-weight:400;line-height:1.25}.header-info strong{color:var(--burgundy);font-family:Domine,serif;font-size:14px;font-weight:700}.info-icon{width:48px;height:48px;border:1px solid #eef1f2;border-radius:50%;display:grid;place-items:center;color:var(--navy)}.header-info .phone{font-family:Domine,serif;font-size:31px;font-weight:700;color:var(--navy);white-space:nowrap}.main-nav{height:60px;background:var(--navy);color:#fff;position:relative;z-index:3}.main-nav ul{height:100%;margin:0;padding:0 55px;display:flex;align-items:center;justify-content:space-between;list-style:none}.main-nav a{font-size:15px;font-weight:700;transition:color .3s}.main-nav a:hover,.main-nav a:focus-visible{color:var(--terracotta)}.menu-toggle,.menu-close,.menu-logo,.menu-overlay{display:none}.home-hero{height:650px;position:relative;top:-38px;margin-bottom:-38px;background:url('../images/home/hero.png') center/cover no-repeat;color:#fff}.hero-shade{position:absolute;inset:0;background:rgba(49,22,35,.49)}.hero-content{position:relative;z-index:1;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding-top:60px}.hero-content p{letter-spacing:9px;font-size:20px;margin:0 0 20px}.hero-content h1{font-family:Domine,serif;font-size:64px;line-height:1.12;margin:0}.hero-content img{width:370px;filter:brightness(0) invert(1);margin:8px auto 18px}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:28px;padding:10px 35px;font-size:23px;font-weight:700;line-height:1.1;transition:background .3s,color .3s,transform .3s}.button-light{background:#fff;color:#3d3034;border:2px solid #b69a00}.button:hover{transform:translateY(-2px)}.intro{display:grid;grid-template-columns:43% 57%;padding-block:70px 52px}.intro-photo{padding-right:68px}.intro-photo img{width:100%;max-height:560px;object-fit:cover;object-position:50% 22%}.intro-copy h2{color:var(--burgundy);font-size:33px;line-height:1.2;margin:0 0 4px}.intro-copy h2 em,.why h2 em,.eyebrow{color:var(--terracotta);font-style:normal}.intro-copy .lead{color:var(--blue-gray);font-size:25px;line-height:1.2;margin:0 0 16px}.intro-copy p{margin:0 0 14px;line-height:1.8}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}.practices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-block:10px 58px}.practices article{padding:28px 30px 22px;border-left:1px solid #eee;min-height:340px}.practice-icon{display:block;color:var(--burgundy);font-size:48px;line-height:1}.practices h2{font-size:24px;margin:18px 0 12px}.practices p{font-size:14px;line-height:2;text-transform:capitalize}.appointment{background:var(--navy);padding:35px 0;color:#fff}.appointment>.container{display:flex;align-items:center;justify-content:center;gap:50px}.appointment img{width:110px;height:110px;border-radius:50%;object-fit:cover}.appointment div div{display:flex;align-items:center;gap:35px}.appointment p{max-width:850px;font-size:18px;font-weight:700}.appointment .button,.request .button,.contact-panel .button,.pricing .button,.not-found .button{background:var(--terracotta);color:#fff}.why{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding-block:80px}.why h2{font-size:33px;line-height:1.25;color:var(--burgundy)}.why ol{counter-reset:item;display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:0;margin:35px 0 0;gap:0 25px}.why li{counter-increment:item;background:var(--cream);padding:11px 14px;font-weight:700;margin-bottom:8px}.why li::before{content:'0' counter(item);color:var(--burgundy);margin-right:15px}.why img{width:100%;height:500px;object-fit:cover;border-top:5px solid var(--terracotta);border-left:5px solid var(--terracotta)}.contact-panel{position:relative;min-height:440px;overflow:hidden}.contact-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.contact-card{position:relative;z-index:1;padding-top:70px}.contact-card>div{background:var(--blue-gray);color:#fff;width:min(390px,100%);padding:36px 42px}.contact-card h3{font-family:Domine,serif;font-size:34px;line-height:1.1;margin:0 0 18px;font-weight:700}.contact-card dt{font-weight:700;color:#fff}.contact-card dd{margin:0 0 14px}.site-footer{background:var(--cream);padding:45px 0}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}.footer-brand h2{color:var(--burgundy);font-size:22px;margin:0}.footer-brand p{margin:5px 0}.footer-inner nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px 30px}.footer-inner nav a:hover{color:var(--burgundy)}.domain-page{padding-top:50px}.domain-hero{display:grid;grid-template-columns:2fr .8fr;gap:50px;position:relative;padding-bottom:60px}.domain-copy{position:relative}.ghost{position:absolute;top:-88px;left:0;font-family:Domine,serif;font-weight:700;font-size:120px;color:#f0e3e7;z-index:-1;line-height:1}.domain-copy h1{color:var(--burgundy);font-family:Domine,serif;font-size:60px;line-height:1;margin:55px 0 5px}.domain-copy h2{color:var(--terracotta);font-family:Domine,serif;font-size:26px;line-height:1.2;margin:0 0 28px}.domain-copy p{margin:0 0 14px}.domain-hero>img{margin-top:70px;width:100%;height:520px;object-fit:cover;box-shadow:0 2px 12px #0002}.domain-list{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px;margin:28px 0 0;padding:0;list-style:none}.domain-list li{border-bottom:1px solid #eee;padding:8px 0}.domain-list li::before{content:'•';color:var(--terracotta);margin-right:10px}.faq{padding-block:60px}.accordion{border-bottom:1px solid #d8d8d8}.accordion button{width:100%;padding:20px 0;border:0;background:none;text-align:left;color:var(--burgundy);font-weight:700;display:flex;justify-content:space-between}.accordion button span{font-size:24px}.accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.accordion-content p{overflow:hidden;margin:0}.accordion.open .accordion-content{grid-template-rows:1fr}.accordion.open .accordion-content p{padding-bottom:20px}.accordion.open button span{transform:rotate(45deg)}.request{background:var(--navy);color:#fff;padding:65px 0}.request-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.request h2{font-family:Domine,serif;font-size:48px;font-weight:700;margin:0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form label{font-size:0}.contact-form input,.contact-form textarea{width:100%;border:1px solid #ffffff55;background:#ffffff0c;color:#fff;padding:13px 15px;font:15px 'Open Sans',sans-serif}.contact-form textarea,.contact-form label:nth-of-type(4){grid-column:1/-1}.contact-form ::placeholder{color:#fff}.contact-form .button{border:0}.honeypot{position:absolute!important;left:-9999px!important}.form-status{grid-column:1/-1;margin:0}.pricing{text-align:center;padding:58px 20px}.pricing h2{font-size:35px;color:var(--burgundy);font-weight:700}.pricing p{font-size:14px}.page-title{background:#f6f0ed;padding:65px 0}.page-title h1{color:var(--burgundy);font-family:Domine,serif;font-size:58px;margin:0;font-weight:700}.page-title p span::before{content:' / ';color:var(--terracotta)}.legal-copy{max-width:900px;padding-block:65px}.legal-copy h2,.legal-copy h3{color:var(--burgundy);font-weight:700}.not-found{min-height:560px;display:grid;place-items:center;text-align:center}.not-found span{font-size:160px;line-height:1;color:#eee;font-weight:700}.not-found h1{font-size:70px;margin:-90px 0 0;color:var(--burgundy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html,body{overflow-x:hidden}
@media(min-width:768px){.brand{margin-left:38px}}
@media(max-width:767px){body{font-size:15px;line-height:1.65}.container{width:calc(100% - 30px)}.header-top{height:168px}.brand{width:265px;margin-left:0}.header-info{display:none}.menu-toggle{display:flex;width:36px;height:34px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:0}.menu-toggle span{height:2px;width:30px;background:#111}.main-nav{position:fixed;left:0;top:0;height:100vh;width:calc(100% - 83px);transform:translateX(-100%);transition:transform .45s ease;background:#fff;color:#222}.main-nav ul{height:auto;padding:0;display:block;border-top:1px solid #eee}.main-nav li{border-bottom:1px solid #eee}.main-nav a{display:block;padding:16px 24px;font-size:14px;text-transform:none;color:#222}.menu-logo{display:block;padding:20px 24px}.menu-logo img{width:140px}.menu-close{display:block;position:fixed;left:calc(100% + 13px);top:18px;border:0;background:transparent;color:#fff;font-size:36px;font-weight:200}.menu-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:19;opacity:0;visibility:hidden;transition:.35s}.menu-open{overflow:hidden}.menu-open .main-nav{transform:none}.menu-open .menu-overlay{opacity:1;visibility:visible}.home-hero{top:0;height:100px;margin:19px 10px 48px;background-position:center}.hero-content,.hero-shade{display:none}.intro{display:flex;flex-direction:column;padding:0 0 45px}.intro-photo{display:none}.intro-copy h2{font-size:33px;line-height:1.15;margin-bottom:12px}.intro-copy .lead{font-size:24px;margin-bottom:18px}.intro-copy p{margin-bottom:14px}.practices{grid-template-columns:1fr;padding-top:20px}.practices article{min-height:0;padding:25px 15px}.appointment>.container,.appointment div div{display:block;text-align:center}.appointment img{margin:0 auto 20px}.appointment .button{margin-top:10px}.why{display:block;padding-block:55px}.why h2{font-size:31px}.why ol{grid-template-columns:1fr}.why img{height:360px;margin-top:35px}.contact-panel{display:none}.footer-inner{grid-template-columns:1fr;gap:30px}.footer-inner nav{grid-template-columns:1fr}.domain-page{padding-top:35px}.domain-hero{display:flex;flex-direction:column;padding-bottom:35px}.ghost{font-size:64px;top:-25px}.domain-copy h1{font-size:42px;margin-top:45px}.domain-copy h2{font-size:23px}.domain-hero>img{margin:0;height:360px;order:-1}.domain-list{grid-template-columns:1fr}.request-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form label{grid-column:1}.pricing .button{font-size:18px}.page-title h1{font-size:42px}.not-found span{font-size:110px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.header-info p,
.header-info strong{font-size:14px}
.header-info p{line-height:1.45}
.main-nav li:last-child a{font-family:Domine,serif;font-weight:700}

.practices{gap:20px;padding-block:28px 64px}
.practices article{border:0;min-height:0;padding:0}
.practice-link{display:block;height:100%;min-height:332px;background:var(--cream);padding:32px 32px 34px;color:var(--burgundy);transition:background .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease}
.practice-link:hover,.practice-link:focus-visible{color:#fff;transform:translateY(-6px);box-shadow:0 18px 38px rgba(25,25,25,.12)}
.family-card .practice-link:hover,.family-card .practice-link:focus-visible{background:var(--burgundy)}
.foreigners-card .practice-link:hover,.foreigners-card .practice-link:focus-visible{background:var(--blue-gray)}
.minors-card .practice-link:hover,.minors-card .practice-link:focus-visible{background:var(--terracotta)}
.practice-icon{width:54px;height:54px;margin-bottom:36px;color:var(--terracotta)}
.practice-icon svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.practice-link:hover .practice-icon,.practice-link:focus-visible .practice-icon{color:#fff}
.practices h2{font-family:Domine,serif;font-size:28px;font-weight:700;line-height:1.15;margin:0 0 18px;color:inherit}
.practices p{font-family:Domine,serif;font-size:16px;font-weight:700;line-height:1.9;text-transform:none;margin:0;color:inherit}
.appointment{background:var(--navy);padding:26px 0;color:#fff}
.appointment>.container{min-height:48px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}
.appointment p{max-width:none;margin:0;text-align:center;font-family:'Open Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.4}
.appointment .button{border-radius:0;min-width:246px;padding:9px 34px;background:var(--terracotta);font-family:Domine,serif;font-size:24px}
.why{grid-template-columns:1.1fr .72fr;gap:62px;padding-block:94px}
.why h2{max-width:690px;font-size:34px;line-height:1.18;margin:0 0 26px}
.why p{max-width:760px;line-height:1.9}
.why ol{gap:10px 25px;margin-top:30px}
.why li{display:grid;grid-template-columns:54px 1fr;align-items:center;background:var(--cream);padding:0 20px 0 0;min-height:50px;font-family:Domine,serif;font-size:22px;line-height:1.15;color:#000}
.why li::before{display:grid;place-items:center;align-self:stretch;background:#eaded8;color:#000;margin:0 20px 0 0;font-family:Domine,serif;font-size:16px}
.why img{height:355px;border-top:5px solid var(--terracotta);border-left:5px solid var(--terracotta);object-position:center}
@media(max-width:767px){
  .practices{padding-block:20px 44px}
  .practices article{padding:0}
  .practice-link{min-height:0;padding:28px 26px}
  .practice-icon{margin-bottom:28px}
  .appointment>.container{display:block;text-align:center}
  .appointment p{text-align:center;margin-bottom:18px}
  .appointment .button{min-width:220px}
  .why{padding-block:55px}
  .why li{font-size:20px}
  .why img{height:360px}
}

/* Situations détaillées — pages Droit */
.domain-topic-grid .domain-topic-item{border:0;border-bottom:1px solid #e7dcd7;background:transparent}
.domain-topic-grid .domain-topic-item summary{display:grid;grid-template-columns:86px minmax(0,1fr) 48px;column-gap:28px;align-items:center;min-height:116px;padding:22px 10px;cursor:pointer;list-style:none;transition:background .25s ease}
.domain-topic-grid .domain-topic-item summary::-webkit-details-marker{display:none}
.domain-topic-grid .domain-topic-item summary::marker{content:""}
.domain-topic-grid .domain-topic-item summary:hover,.domain-topic-grid .domain-topic-item summary:focus-visible,.domain-topic-grid .domain-topic-item[open] summary{background:#fff}
.domain-topic-grid .domain-topic-item summary:focus-visible{outline:2px solid var(--navy);outline-offset:-2px}
.domain-topic-grid .domain-topic-item summary>span{width:auto;height:auto;margin:0;background:transparent;color:rgba(113,37,58,.32);font-family:Domine,serif;font-size:39px;font-weight:700;line-height:1}
.domain-topic-grid .domain-topic-item summary h3{margin:0 0 4px;color:var(--burgundy);font-family:Domine,serif;font-size:23px;line-height:1.2}
.domain-topic-grid .domain-topic-item summary p{margin:0;color:#5c5354;font-size:15px;line-height:1.5}
.domain-topic-grid .domain-topic-item summary>b{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(113,37,58,.28);border-radius:50%;color:var(--burgundy);font-family:'Open Sans',sans-serif;font-size:19px;font-weight:400;line-height:1;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.domain-topic-grid .domain-topic-item summary:hover>b,.domain-topic-grid .domain-topic-item summary:focus-visible>b,.domain-topic-grid .domain-topic-item[open] summary>b{background:var(--navy);border-color:var(--navy);color:#fff}
.domain-topic-grid .domain-topic-item[open] summary>b{transform:rotate(90deg)}
.domain-topic-subcategories{padding:0 58px 25px 124px;background:#fff;animation:domainTopicReveal .3s ease both}
.domain-topic-subcategories ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding:19px 0 0;border-top:1px solid #eadfda;list-style:none}
.domain-topic-subcategories li{position:relative;padding-left:17px;color:#4f4547;font-size:14px;line-height:1.5}
.domain-topic-subcategories li::before{content:'•';position:absolute;left:0;color:var(--terracotta);font-size:18px;line-height:1.1}
@keyframes domainTopicReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}

/* Photographie de fond — trois appels à l'action de l'article OQTF */
.article-page .article-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,rgba(83,27,44,.95) 0%,rgba(83,27,44,.88) 48%,rgba(128,146,155,.75) 100%),url('../images/domaines/etrangers-hero.png') center 46%/cover no-repeat;box-shadow:0 16px 34px rgba(62,32,43,.15)}
.article-page .article-cta>*{position:relative;z-index:1}
.article-page .article-cta-mid{background-position:center 40%}
.article-page #avocat .article-cta{background-position:center 55%}
.article-page .article-cta-final{background-position:center 70%}

@media(max-width:767px){
  .domain-topic-grid .domain-topic-item summary{grid-template-columns:58px minmax(0,1fr) 36px;column-gap:14px;min-height:104px;padding:18px 2px}
  .domain-topic-grid .domain-topic-item summary>span{font-size:30px}
  .domain-topic-grid .domain-topic-item summary h3{font-size:20px}
  .domain-topic-grid .domain-topic-item summary p{font-size:14px}
  .domain-topic-grid .domain-topic-item summary>b{width:32px;height:32px;font-size:17px}
  .domain-topic-subcategories{padding:0 10px 20px 74px}
  .domain-topic-subcategories ul{grid-template-columns:1fr;gap:7px;padding-top:15px}
}

.contact-card .button{display:none}

.domain-page .appointment{padding:20px 0;background:var(--navy)}
.domain-page .appointment img{display:none}
.domain-page .appointment>.container{min-height:46px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:44px}
.domain-page .appointment>.container>div{display:contents}
.domain-page .appointment p{max-width:none;margin:0;text-align:center;color:#fff;font-family:'Open Sans',sans-serif;font-size:18px;font-weight:700;line-height:1.35}
.domain-page .appointment .button{min-width:266px;padding:8px 28px;border-radius:0;background:var(--blue-gray);color:#fff;font-family:Domine,serif;font-size:24px;font-weight:700}
.domain-page .appointment .button:hover,.domain-page .appointment .button:focus-visible{background:var(--burgundy);color:#fff}

.domain-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;margin:40px 0 0;padding:0;list-style:none}
.domain-list li{position:relative;min-height:50px;display:flex;align-items:center;border:0;background:var(--cream);padding:10px 18px 10px 58px;color:#000;font-family:Domine,serif;font-size:22px;font-weight:700;line-height:1.25}
.domain-list li::before{content:'';position:absolute;left:0;top:0;bottom:0;width:38px;margin:0;background:#d9d3cc}
.domain-list li::after{content:'';position:absolute;left:17px;top:50%;width:6px;height:6px;background:var(--navy);transform:translateY(-50%)}

@media(max-width:767px){
  .domain-page .appointment>.container{display:block;text-align:center}
  .domain-page .appointment p{margin-bottom:16px}
  .domain-page .appointment .button{min-width:220px;font-size:22px}
  .domain-list{grid-template-columns:1fr;gap:9px;margin-top:30px}
  .domain-list li{font-size:20px;padding-left:54px}
}

.faq{max-width:1120px;padding-block:56px 70px}
.faq .accordion{border:1px solid #e8e8e8;border-bottom:0;background:#fff}
.faq .accordion:last-of-type{border-bottom:1px solid #e8e8e8}
.faq .accordion button{position:relative;width:100%;min-height:50px;padding:14px 58px 14px 30px;border:0;background:#fff;color:#000;text-align:left;font-family:Domine,serif;font-size:17px;font-weight:700;line-height:1.25}
.faq .accordion button span{position:absolute;right:34px;top:50%;width:14px;height:14px;overflow:hidden;color:transparent;font-size:0;transform:translateY(-50%);transition:transform .25s ease}
.faq .accordion button span::before{content:'⌄';display:block;color:#d9d9d9;font-size:18px;line-height:1}
.faq .accordion.open button{background:var(--navy);color:#fff}
.faq .accordion.open button span::before{color:#fff}
.faq .accordion.open button span{transform:translateY(-50%) rotate(180deg)}
.faq .accordion-content{display:grid;grid-template-rows:0fr;background:#fff;transition:grid-template-rows .3s ease}
.faq .accordion-content p{overflow:hidden;margin:0;color:var(--burgundy);font-family:Domine,serif;font-size:16px;font-weight:700;line-height:1.8}
.faq .accordion.open .accordion-content{grid-template-rows:1fr}
.faq .accordion.open .accordion-content p{padding:24px 30px}

@media(max-width:767px){
  .faq{width:calc(100% - 30px);padding-block:42px 54px}
  .faq .accordion button{padding:14px 46px 14px 18px;font-size:16px}
  .faq .accordion button span{right:20px}
.faq .accordion.open .accordion-content p{padding:20px 18px}
}

.home .practice-link{color:var(--ink)}
.home .practice-link:hover,.home .practice-link:focus-visible{color:#fff}

.home .why{grid-template-columns:1fr minmax(360px,420px);align-items:center;gap:64px;padding-block:94px 88px}
.home .why ol{gap:10px 25px}
.home .why li{min-height:51px;font-size:20px;line-height:1.15}
.home .why li::before{font-size:15px}
.home .why img{justify-self:end;width:100%;max-width:420px;height:550px;object-fit:cover;object-position:center;border-top:5px solid var(--terracotta);border-left:5px solid var(--terracotta)}

@media(max-width:767px){
  .home .why{display:block;padding-block:55px}
  .home .why li{font-size:18px}
  .home .why img{max-width:none;height:430px;margin-top:34px}
}

.domain-hero{overflow:visible}
.droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:-18px;left:-58px;color:#f1e6e9;font-size:clamp(118px,13.5vw,232px);letter-spacing:.01em}
.droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{position:relative;margin-top:98px}
.honoraires .domain-hero{grid-template-columns:1fr;padding-bottom:72px}
.honoraires .domain-hero>img{display:none}
.honoraires .domain-copy{max-width:900px}

.contact-rdv{background:linear-gradient(90deg,var(--blue-gray) 0 50%,var(--cream) 50% 100%);overflow:hidden}
.contact-rdv-grid{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
.request-side,.rdv-side{display:flex;align-items:flex-start}
.request-side{justify-content:flex-end;background:var(--blue-gray);color:#fff}
.rdv-side{justify-content:flex-start;background:var(--cream);color:#000}
.request-inner,.rdv-inner{width:min(585px,100%);padding:58px 30px 62px}
.request-inner{padding-right:42px}
.rdv-inner{padding-left:42px}
.contact-rdv .eyebrow{margin:0 0 2px;color:var(--burgundy);font-size:15px;font-weight:700;letter-spacing:.03em}
.contact-rdv h2{margin:0;color:#fff;font-family:Domine,serif;font-size:45px;font-weight:700;line-height:1.12}
.rdv-side h2{color:#000;font-size:44px;margin-top:18px}
.rdv-side h2 span{color:var(--burgundy)}
.rdv-rule{height:1px;background:#000;margin:28px 0 24px}
.contact-rdv .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.78)}
.contact-rdv .contact-form label:first-child,.contact-rdv .contact-form label:nth-of-type(4){grid-column:1/-1}
.contact-rdv .contact-form input,.contact-rdv .contact-form textarea{border:0;background:#fff;color:#222;padding:14px 20px;font-size:15px;line-height:1.4}
.contact-rdv .contact-form textarea{min-height:110px;resize:vertical}
.contact-rdv .contact-form ::placeholder{color:#7d7d7d}
.contact-rdv .form-help{grid-column:1/-1;margin:12px 0 34px;color:var(--burgundy);font-family:Domine,serif;font-size:16px;font-weight:700;line-height:1.9}
.contact-rdv .button{justify-self:start;border:0;border-radius:0;background:var(--navy);color:#fff;padding:13px 24px;font-size:15px}
.rdv-price{display:block;width:min(482px,100%);margin:0 auto 22px;background:var(--burgundy);color:#fff;padding:8px 22px;text-align:center;font-family:Domine,serif;font-size:22px;font-weight:700;line-height:1.65}
.rdv-price span{font-size:20px}
.rdv-inner>p{margin:0 0 48px;color:var(--burgundy);font-family:Domine,serif;font-size:13px;font-style:italic;font-weight:700;line-height:1.7}
.rdv-inner iframe{display:block;width:100%;height:210px;border:0}

@media(max-width:900px){
  .contact-rdv{background:none}
  .contact-rdv-grid{grid-template-columns:1fr;min-height:0}
  .request-side,.rdv-side{justify-content:center}
  .request-inner,.rdv-inner{width:100%;padding:42px 24px}
  .contact-rdv h2,.rdv-side h2{font-size:36px}
  .contact-rdv .contact-form{grid-template-columns:1fr}
  .contact-rdv .contact-form label{grid-column:1/-1}
  .contact-rdv .form-help{margin-bottom:24px}
  .rdv-inner iframe{height:250px}
}

@media(max-width:767px){
  .droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:0;left:-18px;font-size:86px}
  .droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{margin-top:72px}
  .honoraires .domain-hero{padding-bottom:46px}
}

.home .home-header{position:absolute;top:0;left:0;width:100%;z-index:30;background:transparent;color:#fff}
.home .home-header-bar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:24px;width:min(100% - 72px,1760px);margin:0 auto;padding-top:28px}
.home .home-brand{grid-column:2;width:245px;margin:0;filter:brightness(0) invert(1);opacity:.96}
.home .home-nav{grid-column:1;justify-self:start;width:auto;height:auto;background:transparent;color:#fff;position:static;z-index:auto}
.home .home-nav ul{height:auto;display:flex;align-items:center;justify-content:flex-start;gap:30px;margin:0;padding:20px 0 0;list-style:none}
.home .home-nav a{display:inline-flex;align-items:center;color:#fff;font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.025em}
.home .home-nav a:hover,.home .home-nav a:focus-visible,.home .home-actions a:hover,.home .home-actions a:focus-visible{color:var(--terracotta)}
.home .home-mobile-only{display:none}
.home .home-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:16px;padding-top:9px;color:#fff}
.home .home-actions a{display:inline-flex;align-items:center;justify-content:center;font-family:'Open Sans',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;transition:color .25s ease,border-color .25s ease,background .25s ease}
.home .home-rdv-link{min-height:48px;padding:0 26px;background:rgba(113,37,58,.92);border:1px solid rgba(255,255,255,.25);color:#fff}
.home .home-rdv-link:hover,.home .home-rdv-link:focus-visible{background:var(--burgundy);border-color:var(--terracotta);color:#fff}
.home .home-hero{position:relative;top:0;height:100svh;min-height:720px;margin:0;background:url('../images/home/hero.png') center/cover no-repeat;color:#fff;overflow:hidden}
.home .hero-shade{display:block;position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,14,18,.66),rgba(24,14,18,.44) 38%,rgba(24,14,18,.72)),rgba(128,146,155,.24)}
.home .hero-content{position:relative;z-index:2;display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:156px 24px 125px}
.home .hero-content p{margin:0 0 28px;color:#fff;font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.08em}
.home .hero-content h1{max-width:950px;margin:0;color:#ddc68f;font-family:Domine,serif;font-size:clamp(48px,5.2vw,92px);font-weight:400;line-height:1.08;letter-spacing:.01em}
.home .hero-content img{width:330px;margin:20px auto 28px;filter:brightness(0) invert(1);opacity:.95}
.home .hero-content .button{border-radius:0;padding:14px 34px;background:#fff;color:var(--burgundy);border:1px solid rgba(255,255,255,.7);font-size:18px}
.home .hero-content .button:hover,.home .hero-content .button:focus-visible{background:var(--terracotta);color:#fff}
.hero-contact{position:fixed;left:32px;bottom:30px;z-index:40;width:min(375px,calc(100% - 96px));color:#fff}
.hero-contact summary{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.72);background:rgba(128,146,155,.6);backdrop-filter:blur(12px);cursor:pointer;font-family:'Open Sans',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;list-style:none}
.hero-contact summary::-webkit-details-marker{display:none}
.hero-contact summary::after{content:'+';display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(255,255,255,.62);border-radius:50%;font-size:14px;line-height:1;transition:transform .25s ease}
.hero-contact[open] summary::after{transform:rotate(45deg)}
.hero-contact div{margin-top:12px;padding:20px 22px;background:rgba(128,146,155,.94);border:1px solid rgba(255,255,255,.28);box-shadow:0 18px 44px rgba(0,0,0,.24);backdrop-filter:blur(14px)}
.hero-contact p{margin:0 0 13px;font-size:14px;line-height:1.6}
.hero-contact a,.hero-contact span{display:block;color:#fff;font-size:14px;line-height:1.7}
.hero-contact a{font-weight:700}
.hero-contact a+a,.hero-contact a+span{margin-top:8px}
.hero-scroll{position:absolute;left:50%;bottom:48px;z-index:4;display:grid;place-items:center;width:42px;height:42px;transform:translateX(-50%);color:var(--terracotta)}
.hero-scroll span{display:block;width:17px;height:17px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);animation:heroArrow 1.7s ease-in-out infinite}
@keyframes heroArrow{0%,100%{transform:translateY(-4px) rotate(45deg);opacity:.55}50%{transform:translateY(7px) rotate(45deg);opacity:1}}

@media(max-width:1180px){
  .home .home-header-bar{width:calc(100% - 42px);grid-template-columns:auto 1fr auto;align-items:center;padding-top:20px}
  .home .home-brand{grid-column:1;width:168px;justify-self:start}
  .home .menu-toggle{grid-column:3;display:flex;width:38px;height:34px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:0}
  .home .menu-toggle span{height:2px;width:30px;background:#fff}
  .home .home-actions{display:none}
  .home .home-nav{position:fixed;left:0;top:0;height:100vh;width:min(340px,calc(100% - 72px));transform:translateX(-100%);transition:transform .45s ease;background:#fff;color:#222;z-index:22}
  .home .home-nav ul{display:block;height:auto;padding:0;border-top:1px solid #eee}
  .home .home-nav li{border-bottom:1px solid #eee}
  .home .home-nav a{display:block;padding:16px 24px;color:#222;font-size:14px;text-transform:none}
  .home .home-mobile-only{display:block}
  .home .menu-logo{display:none}
  .home .menu-close{display:block;position:fixed;left:calc(100% + 13px);top:18px;border:0;background:transparent;color:#fff;font-size:36px;font-weight:200}
  .home.menu-open .home-nav{transform:none}
}

@media(max-width:767px){
  .home .home-header-bar{width:calc(100% - 30px);padding-top:16px}
  .home .home-brand{width:154px}
  .home .home-hero{height:100svh;min-height:640px;margin:0;background-position:center}
  .home .hero-shade{display:block}
  .home .hero-content{display:flex;padding:118px 20px 148px}
  .home .hero-content p{font-size:12px;letter-spacing:.07em;margin-bottom:18px}
  .home .hero-content h1{font-size:clamp(38px,12vw,54px);line-height:1.1}
  .home .hero-content img{width:235px;margin:16px auto 22px}
  .home .hero-content .button{font-size:16px;padding:13px 24px}
  .hero-contact{left:15px;bottom:18px;width:calc(100% - 76px)}
  .hero-contact summary{min-height:42px;padding:0 15px;font-size:11px}
  .hero-contact div{padding:16px}
  .hero-scroll{left:auto;right:16px;bottom:84px;transform:none;width:36px;height:36px}
}

.button,.rdv-price,.home .home-actions a,.hero-contact summary,.back-to-top{box-shadow:0 0 0 rgba(113,37,58,0);will-change:transform,box-shadow}
.button:hover,.button:focus-visible,.rdv-price:hover,.rdv-price:focus-visible,.home .home-actions a:hover,.home .home-actions a:focus-visible,.hero-contact summary:hover,.hero-contact summary:focus-visible,.back-to-top:hover,.back-to-top:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px rgba(113,37,58,.22)}
.button:focus-visible,.rdv-price:focus-visible,.home .home-actions a:focus-visible,.hero-contact summary:focus-visible,.back-to-top:focus-visible{outline:2px solid #71253A;outline-offset:3px}
.main-nav a{padding:7px 10px;border-radius:2px;transition:color .28s ease,background .28s ease,box-shadow .28s ease}
.main-nav a:hover,.main-nav a:focus-visible{background:#fff;color:#71253A;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.home .home-nav a:hover,.home .home-nav a:focus-visible{background:#fff;color:#71253A}
.intro-cta{margin-top:12px;border-radius:0;background:var(--burgundy);color:#fff;font-size:18px}
.intro-cta:hover,.intro-cta:focus-visible{background:var(--navy);color:#fff}
.back-to-top{position:fixed;right:30px;bottom:30px;z-index:39;display:grid;place-items:center;width:48px;height:48px;background:rgba(113,37,58,.94);border:1px solid rgba(255,255,255,.32);color:#fff;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .32s ease,visibility .32s ease,transform .32s ease,box-shadow .32s ease,background .32s ease}
.back-to-top span{width:15px;height:15px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:translateY(4px) rotate(45deg)}
.back-to-top:hover,.back-to-top:focus-visible{background:var(--navy);color:#fff}
.is-scrolled .back-to-top{opacity:1;visibility:visible;transform:none}
.is-scrolled .back-to-top:hover,.is-scrolled .back-to-top:focus-visible{transform:translateY(-3px)}

.droit-de-la-famille .domain-hero,.droit-des-etrangers .domain-hero,.droit-des-mineurs .domain-hero,.honoraires .domain-hero{isolation:isolate;padding-top:42px}
.droit-de-la-famille .domain-copy,.droit-des-etrangers .domain-copy,.droit-des-mineurs .domain-copy,.honoraires .domain-copy{position:static}
.droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:6px;left:50%;width:100vw;text-align:center;transform:translateX(-50%);z-index:-1;color:#f2eded;font-size:clamp(132px,14.5vw,250px);line-height:.78}
.droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{margin-top:82px}
.domain-hero>img{position:relative;z-index:1}

.faq{padding-block:64px 78px}
.faq .accordion{margin-bottom:12px;border:1px solid #e9e4df;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(25,25,25,.04);transition:border-color .45s ease,box-shadow .45s ease,transform .45s ease}
.faq .accordion:last-of-type{border-bottom:1px solid #e9e4df}
.faq .accordion.open{border-color:#d7c6c0;box-shadow:0 22px 44px rgba(113,37,58,.12);transform:translateY(-2px)}
.faq .accordion button{min-height:62px;padding:18px 62px 18px 28px;background:#fff;color:#1f1f1f;transition:background .45s ease,color .45s ease}
.faq .accordion button:hover,.faq .accordion button:focus-visible{background:#fbf8f6;color:#71253A}
.faq .accordion.open button{background:#fff;color:#71253A}
.faq .accordion button span::before{color:#71253A}
.faq .accordion.open button span{transform:translateY(-50%) rotate(180deg)}
.faq .accordion-content{background:#fff;transition:grid-template-rows .75s cubic-bezier(.22,1,.36,1)}
.faq .accordion-content p{color:#3f3437;font-family:'Open Sans',sans-serif;font-size:15px;font-weight:400;line-height:1.85}
.faq .accordion.open .accordion-content p{padding:0 28px 24px;border-top:1px solid #eee6e2}

@media(max-width:767px){
  .droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:18px;font-size:82px}
  .droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{margin-top:76px}
  .faq .accordion button{padding:16px 48px 16px 18px}
  .faq .accordion.open .accordion-content p{padding:0 18px 20px}
  .back-to-top{right:15px;bottom:18px;width:44px;height:44px}
}

.legal-copy.container{width:min(var(--container),calc(100% - 48px));max-width:var(--container)}
.legal-copy{padding-block:76px 86px}
.legal-copy h2{margin:0 0 22px;font-size:30px;line-height:1.25}
.legal-copy h3{margin:34px 0 12px;font-size:21px;line-height:1.3}
.legal-copy p{max-width:1040px;margin:0 0 18px;line-height:1.9}
.legal-copy ul{max-width:1040px;margin:0 0 22px;padding-left:22px}
.legal-copy li{line-height:1.8}
.legal-copy a{color:var(--burgundy);font-weight:700;text-decoration-thickness:1px;text-underline-offset:4px}
.legal-copy a:hover,.legal-copy a:focus-visible{text-decoration:underline}
.legal-copy strong{color:#111;font-weight:700}
.footer-inner nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 34px}

@media(max-width:767px){
  .legal-copy.container{width:calc(100% - 30px)}
  .legal-copy{padding-block:46px 58px}
  .legal-copy h2{font-size:26px}
  .legal-copy h3{font-size:20px;margin-top:28px}
  .legal-copy p{line-height:1.75}
}

.home .home-nav a{font-size:15.5px}
.home .home-actions{gap:12px;padding-top:12px}
.home .home-secondary-link{display:inline-flex;align-items:center;min-height:46px;padding:0 14px;border:1px solid transparent;color:#fff;font-family:Domine,serif;font-size:15.5px;font-weight:700;text-transform:uppercase;letter-spacing:.025em;transition:background .28s ease,color .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease}
.home .home-secondary-link:hover,.home .home-secondary-link:focus-visible{background:#fff;color:var(--burgundy);border-color:#fff;transform:translateY(-3px);box-shadow:0 16px 34px rgba(113,37,58,.22)}
.home .hero-content h1{max-width:820px;font-size:clamp(44px,4.6vw,78px);line-height:1.05}
.intro-actions{display:flex;justify-content:flex-start;margin-top:24px}
.intro-cta{min-width:250px;padding:14px 30px}

.le-cabinet .domain-hero,.droit-de-la-famille .domain-hero,.droit-des-etrangers .domain-hero,.droit-des-mineurs .domain-hero,.honoraires .domain-hero{align-items:center;padding-top:58px;overflow:hidden}
.le-cabinet .domain-copy,.droit-de-la-famille .domain-copy,.droit-des-etrangers .domain-copy,.droit-des-mineurs .domain-copy,.honoraires .domain-copy{position:relative;z-index:2;max-width:790px}
.le-cabinet .domain-copy .ghost,.droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:50%;left:50%;width:100vw;text-align:center;transform:translate(-50%,-50%);z-index:0;color:#f0e4e8;font-size:clamp(92px,11vw,178px);line-height:.82;letter-spacing:.01em;pointer-events:none}
.le-cabinet .domain-copy h1,.le-cabinet .domain-copy h2,.le-cabinet .domain-copy p,.le-cabinet .domain-copy .domain-cta,.droit-de-la-famille .domain-copy h1,.droit-de-la-famille .domain-copy h2,.droit-de-la-famille .domain-copy p,.droit-des-etrangers .domain-copy h1,.droit-des-etrangers .domain-copy h2,.droit-des-etrangers .domain-copy p,.droit-des-mineurs .domain-copy h1,.droit-des-mineurs .domain-copy h2,.droit-des-mineurs .domain-copy p,.honoraires .domain-copy h1,.honoraires .domain-copy h2,.honoraires .domain-copy p,.honoraires .domain-copy .domain-list{position:relative;z-index:2}
.le-cabinet .domain-copy h1,.droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{margin-top:52px;font-size:clamp(42px,4.7vw,58px)}
.le-cabinet .domain-copy h2,.droit-de-la-famille .domain-copy h2,.droit-des-etrangers .domain-copy h2,.droit-des-mineurs .domain-copy h2,.honoraires .domain-copy h2{font-size:clamp(22px,2.2vw,28px)}
.le-cabinet .domain-hero>img,.droit-de-la-famille .domain-hero>img,.droit-des-etrangers .domain-hero>img,.droit-des-mineurs .domain-hero>img{position:relative;z-index:1;margin-top:42px}
.domain-cta{margin-top:18px;border-radius:0;background:var(--burgundy);color:#fff;font-size:17px}
.domain-cta:hover,.domain-cta:focus-visible{background:var(--navy);color:#fff}
.domain-services{position:relative;padding:40px 0 64px;border-top:1px solid #eee7e4}
.domain-services h2{margin:0;text-align:center;color:var(--burgundy);font-size:32px;line-height:1.25}
.domain-services .domain-list{max-width:980px;margin:26px auto 0}

@media(max-width:1180px){
  .home .home-secondary-link{display:none}
}

@media(max-width:767px){
  .home .hero-content h1{font-size:clamp(34px,10.5vw,48px)}
  .intro-actions{justify-content:flex-start}
  .intro-cta{min-width:0;width:100%;font-size:17px}
  .le-cabinet .domain-hero,.droit-de-la-famille .domain-hero,.droit-des-etrangers .domain-hero,.droit-des-mineurs .domain-hero,.honoraires .domain-hero{padding-top:38px;overflow:visible}
  .le-cabinet .domain-copy .ghost,.droit-de-la-famille .domain-copy .ghost,.droit-des-etrangers .domain-copy .ghost,.droit-des-mineurs .domain-copy .ghost,.honoraires .domain-copy .ghost{top:38px;font-size:clamp(62px,19vw,88px);transform:translateX(-50%)}
  .le-cabinet .domain-copy h1,.droit-de-la-famille .domain-copy h1,.droit-des-etrangers .domain-copy h1,.droit-des-mineurs .domain-copy h1,.honoraires .domain-copy h1{margin-top:64px;font-size:38px}
  .domain-services{padding:28px 0 46px}
  .domain-services h2{text-align:left;font-size:27px}
}

.unified-header{position:relative;z-index:30;background:linear-gradient(90deg,rgba(49,22,35,.96),rgba(113,37,58,.88));color:#fff;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 16px 40px rgba(49,22,35,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.home .unified-header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(90deg,rgba(49,22,35,.58),rgba(113,37,58,.44));box-shadow:none}
.header-bar{width:min(100% - 72px,1760px);min-height:76px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px}
.header-brand{width:190px;margin:0;filter:brightness(0) invert(1);opacity:.96}
.header-nav{position:static;z-index:auto;height:auto;background:transparent;color:#fff}
.header-nav ul{height:auto;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:clamp(14px,1.8vw,30px);list-style:none}
.header-nav li{border:0}
.header-nav a{display:inline-flex;align-items:center;padding:8px 0;border-radius:0;background:transparent;color:#fff;font-family:'Open Sans',sans-serif;font-size:14px;font-weight:700;line-height:1.2;text-transform:none;letter-spacing:.01em;box-shadow:none;transition:color .25s ease,transform .25s ease}
.header-nav a:hover,.header-nav a:focus-visible,.home .header-nav a:hover,.home .header-nav a:focus-visible{background:transparent;color:var(--terracotta);box-shadow:none;transform:none}
.header-actions{justify-self:end;display:flex;align-items:center;gap:10px;padding:8px 10px 8px 18px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.12);box-shadow:0 16px 36px rgba(0,0,0,.14);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#fff;font-family:Domine,serif;font-size:14px;font-weight:700;line-height:1.1;white-space:nowrap;transition:color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.header-contact-link{padding:0 4px}
.header-rdv-link{padding:0 20px;border:1px solid rgba(232,201,141,.76);border-radius:999px;background:rgba(255,255,255,.06)}
.header-actions a:hover,.header-actions a:focus-visible{background:transparent;color:var(--terracotta);border-color:var(--terracotta);box-shadow:none;transform:translateY(-2px)}
.header-mobile-only{display:none}
.unified-header .menu-toggle{display:none}
.unified-header .menu-logo{display:none!important}
.site-footer{background:#fff;border-top:1px solid #eee7e4}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--terracotta)}
.intro-eyebrow{margin:0 0 12px;color:var(--terracotta);font-family:Domine,serif;font-size:16px;font-weight:700;line-height:1.4;letter-spacing:.02em}
.button,.intro-cta,.domain-cta,.appointment .button,.domain-page .appointment .button,.contact-rdv .button,.home .hero-content .button,.rdv-price,.hero-contact summary,.header-rdv-link{border-radius:999px}
.button,.intro-cta,.domain-cta,.appointment .button,.domain-page .appointment .button,.contact-rdv .button,.home .hero-content .button,.rdv-price,.hero-contact summary,.header-rdv-link{border-radius:999px!important}
.main-nav a:hover,.main-nav a:focus-visible{background:transparent!important;box-shadow:none!important}
.home .home-secondary-link:hover,.home .home-secondary-link:focus-visible,.home .home-rdv-link:hover,.home .home-rdv-link:focus-visible{background:transparent!important;box-shadow:none!important}

@media(max-width:1180px){
  .header-bar{width:calc(100% - 42px);min-height:72px;grid-template-columns:auto 1fr auto;gap:18px}
  .header-brand{width:168px;justify-self:start}
  .header-actions{display:none}
  .unified-header .menu-toggle{grid-column:3;justify-self:end;display:flex;width:38px;height:34px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;padding:0}
  .unified-header .menu-toggle span{height:2px;width:30px;background:#fff}
  .header-nav{position:fixed;left:0;top:0;height:100vh;width:min(340px,calc(100% - 72px));transform:translateX(-100%);transition:transform .45s ease;background:#fff;color:#222;z-index:22}
  .header-nav ul{display:block;height:auto;padding:0;border-top:1px solid #eee}
  .header-nav li{border-bottom:1px solid #eee}
  .header-nav a{display:block;padding:16px 24px;color:#222;font-size:14px;text-transform:none}
  .header-nav a:hover,.header-nav a:focus-visible,.home .header-nav a:hover,.home .header-nav a:focus-visible{background:transparent;color:var(--terracotta)}
  .header-mobile-only{display:block}
  .unified-header .menu-logo{display:block!important;padding:20px 24px}
  .unified-header .menu-logo img{width:140px}
  .unified-header .menu-close{display:block;position:fixed;left:calc(100% + 13px);top:18px;border:0;background:transparent;color:#fff;font-size:36px;font-weight:200}
  .menu-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:19;opacity:0;visibility:hidden;transition:.35s}
  .menu-open .header-nav{transform:none}
  .menu-open .menu-overlay{opacity:1;visibility:visible}
}

@media(max-width:767px){
  .header-bar{width:calc(100% - 30px);min-height:68px}
  .header-brand{width:154px}
  .intro-eyebrow{font-size:15px;margin-bottom:10px}
}

.section-heading{display:grid;grid-template-columns:1fr;align-items:start;gap:10px;margin-bottom:24px;text-align:left}
.section-heading::after,.process-heading>div::after{display:none!important}
.section-heading .eyebrow,.process-heading .eyebrow{margin:0 0 4px;color:#9b6b6b;font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;line-height:1.2;text-transform:uppercase;letter-spacing:.32em}
.section-heading h2,.process-heading h2,.home-faq h2{margin:0;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1.12}
.home-domains,.process,.home-faq{background:#fbf6f1}
.home-domains{padding:72px 0 76px}
.domain-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.domain-card a{position:relative;isolation:isolate;display:grid;align-content:center;justify-items:start;min-height:210px;overflow:hidden;border-radius:8px;padding:34px 38px 28px;color:#fff;text-align:left;box-shadow:0 20px 45px rgba(49,22,35,.12);transition:transform .3s ease,box-shadow .3s ease}
.domain-card a::before{content:'';position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;filter:saturate(.86);transition:transform .5s ease}
.domain-card a::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(61,30,41,.35),rgba(113,37,58,.76)),rgba(113,37,58,.28)}
.domain-card-family a::before{background-image:url('../images/home/hero.png');background-position:16% center}
.domain-card-minors a::before{background-image:url('../images/home/hero.png');background-position:79% center}
.domain-card-foreigners a::before{background-image:url('../images/domaines/etrangers-hero.png');background-position:center}
.domain-card-minors a::after{background:linear-gradient(90deg,rgba(140,73,54,.22),rgba(191,104,76,.78)),rgba(191,104,76,.25)}
.domain-card-foreigners a::after{background:linear-gradient(90deg,rgba(128,146,155,.9),rgba(128,146,155,.7))}
.domain-card span{font-family:Domine,serif;font-size:23px;font-weight:700;line-height:1.15}
.domain-card p{width:100%;max-width:320px;margin:14px 0 22px;color:#fff;font-size:14px;line-height:1.6}
.domain-card b,.faq-quick-grid span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.54);border-radius:50%;font-family:'Open Sans',sans-serif;font-size:22px;font-weight:400;line-height:1}
.domain-card b{display:inline-grid;place-items:center;padding:0;font-size:0;line-height:0;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}
.domain-card b::before{content:'→';display:block;font-family:'Open Sans',sans-serif;font-size:22px;font-weight:400;line-height:1;transform:translateY(-1px)}
.domain-card a:hover,.domain-card a:focus-visible{transform:translateY(-5px);box-shadow:0 26px 54px rgba(49,22,35,.2)}
.domain-card a:hover::before,.domain-card a:focus-visible::before{transform:scale(1.05)}
.domain-card a:hover b,.domain-card a:focus-visible b{background:var(--blue-gray);border-color:var(--blue-gray);color:#fff;transform:translateY(-2px)}
.process{--process-progress:0;padding:76px 0 84px}
.process-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,430px);align-items:start;gap:60px;margin-bottom:58px}
.process-heading>div{display:grid;grid-template-columns:1fr;align-items:start;gap:10px;text-align:left}
.process-heading p:last-child{margin:18px 0 0;color:#5a4b4c;font-size:17px;font-weight:700;line-height:1.55}
.process-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:38px}
.process-line{position:absolute;top:22px;left:7%;right:7%;height:2px;background:#dec8c0;overflow:hidden}
.process-line span{display:block;width:calc(var(--process-progress)*100%);height:100%;background:var(--burgundy);transition:width .18s linear}
.process-track article{position:relative;text-align:center}
.process-track b{position:relative;z-index:1;display:grid;place-items:center;width:46px;height:46px;margin:0 auto 22px;border:2px solid #b9958e;border-radius:50%;background:#fbf6f1;color:var(--burgundy);font-family:Domine,serif;font-size:15px}
.process-track h3{margin:0 0 12px;color:#3b3032;font-family:Domine,serif;font-size:23px;font-weight:700;line-height:1.15}
.process-track p{max-width:260px;margin:0 auto;color:#5d5556;font-size:16px;font-weight:700;line-height:1.5}
.home-faq{padding:72px 0 86px}
.faq-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px}
.faq-quick-grid a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;min-height:72px;padding:16px 18px 16px 24px;border-radius:7px;background:#f1e9e3;color:#3b3334;font-size:15px;font-weight:700;line-height:1.35;transition:background .28s ease,color .28s ease,transform .28s ease,box-shadow .28s ease}
.faq-quick-grid span{width:34px;height:34px;border-color:#dac3bb;color:var(--burgundy);font-size:18px}
.faq-quick-grid a:hover,.faq-quick-grid a:focus-visible{background:#fff;color:var(--burgundy);transform:translateY(-3px);box-shadow:0 18px 36px rgba(49,22,35,.1)}

.header-bar{padding-block:12px}
.header-brand{width:176px}
.header-brand img{width:100%;height:auto}
.header-rdv-link{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.header-rdv-link:hover,.header-rdv-link:focus-visible{background:var(--terracotta)!important;border-color:var(--terracotta)!important;color:#fff!important}
body:not(.home) .domain-copy .ghost{display:none!important}
body:not(.home) .domain-copy h1{margin-top:0!important}
.footer-copyright{width:min(var(--container),calc(100% - 48px));margin:34px auto 0;padding-top:22px;border-top:1px solid #eee7e4;color:#6c5b5e;font-family:'Open Sans',sans-serif;font-size:13px;line-height:1.5;text-align:center}

@media(max-width:980px){
  .domain-cards,.faq-quick-grid{grid-template-columns:1fr}
  .domain-card a{min-height:220px;padding:32px 34px}
  .process-heading{grid-template-columns:1fr;gap:18px;margin-bottom:40px}
  .process-track{grid-template-columns:1fr;gap:26px}
  .process-line{top:0;bottom:0;left:23px;right:auto;width:2px;height:auto}
  .process-line span{width:100%;height:calc(var(--process-progress)*100%)}
  .process-track article{display:grid;grid-template-columns:46px 1fr;text-align:left;column-gap:18px}
  .process-track b{margin:0;grid-row:1/3}
  .process-track p{margin:0;max-width:none}
}

@media(max-width:767px){
  .section-heading,.process-heading>div{grid-template-columns:1fr;gap:14px}
  .home-domains,.process,.home-faq{padding:52px 0}
  .domain-cards{gap:16px}
  .domain-card a{min-height:240px;padding:28px 24px;align-content:end}
  .domain-card a::after{background:linear-gradient(180deg,rgba(49,22,35,.18),rgba(113,37,58,.86))}
  .domain-card p{max-width:none;font-size:14px}
  .process-heading p:last-child{font-size:15px}
  .process-track h3{font-size:21px}
  .process-track p{font-size:15px}
  .faq-quick-grid a{min-height:66px;padding:15px 16px}
  .header-bar{padding-block:9px}
  .header-brand{width:145px}
  .footer-copyright{width:calc(100% - 30px);margin-top:26px}
}

.domain-card-foreigners a::after{background:linear-gradient(90deg,rgba(128,146,155,.9),rgba(128,146,155,.7))}

.hero-content h1,.intro-copy h2,.section-heading h2,.why h2,.process-heading h2,.domain-copy h1,.domain-copy h2,.page-title h1,.legal-copy h2,.legal-copy h3,.request h2,.contact-rdv h2,.contact-card h3{font-size:clamp(32px,3.15vw,44px)!important;line-height:1.14!important;letter-spacing:0!important;text-transform:none!important}
.hero-content h1 em,.intro-copy h2 em,.section-heading h2 em,.why h2 em,.process-heading h2 em,.process-track h3 em,.domain-copy h1 em,.domain-copy h2 em,.page-title h1 em,.legal-copy h2 em,.legal-copy h3 em,.request h2 em,.contact-rdv h2 em,.contact-card h3 em,.domain-card span em,.footer-brand h2 em{color:var(--terracotta);font-style:normal}
.domain-copy h2,.intro-copy h2,.section-heading h2,.why h2,.process-heading h2,.legal-copy h2,.legal-copy h3,.request h2,.contact-rdv h2,.contact-card h3{color:var(--burgundy)!important}
.hero-content h1,.hero-content h1 em{color:#fff!important}
.domain-card span em{color:var(--terracotta)}
.eyebrow,.intro-eyebrow,.hero-content p,.section-heading .eyebrow,.process-heading .eyebrow{color:#97ABB6!important;font-family:'Open Sans',sans-serif!important;font-size:12px!important;font-weight:700!important;line-height:1.3!important;text-transform:uppercase!important;letter-spacing:.22em!important}
.process-track h3 em{color:var(--burgundy)!important}
.contact-card h3 em{color:#fff!important}
.home .contact-card h3,.home .contact-card h3 em{color:#fff!important}
.rdv-side h2 span{color:inherit}

@media(max-width:767px){
  .hero-content h1,.intro-copy h2,.section-heading h2,.why h2,.process-heading h2,.domain-copy h1,.domain-copy h2,.page-title h1,.legal-copy h2,.legal-copy h3,.request h2,.contact-rdv h2,.contact-card h3{font-size:clamp(29px,8.5vw,36px)!important}
  .eyebrow,.intro-eyebrow,.hero-content p,.section-heading .eyebrow,.process-heading .eyebrow{font-size:11px!important;letter-spacing:.18em!important}
}

/* Pages de domaines : même ligne de flottaison que la page d'accueil */
.domain-detail .unified-header{position:absolute;top:0;left:0;width:100%;background:linear-gradient(90deg,rgba(49,22,35,.58),rgba(113,37,58,.44));box-shadow:none}
.domain-detail .domain-page{padding-top:0}
.domain-detail-hero{position:relative;height:650px;overflow:hidden;background-position:center;background-size:cover;color:#fff}
.domain-detail-hero-family{background-image:url('../images/domaines/famille-hero.png')}
.domain-detail-hero-foreigners{background-image:url('../images/domaines/etrangers-hero.png')}
.domain-detail-hero-minors{background-image:url('../images/domaines/mineurs-hero.png')}
.domain-detail-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(128,146,155,.58),rgba(49,22,35,.48),rgba(113,37,58,.52))}
.domain-detail-hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:76px 24px 34px;text-align:center}
.domain-detail-hero-content>p{margin:0 0 18px;color:var(--blue-gray);font-family:'Open Sans',sans-serif;font-size:12px;font-weight:700;line-height:1.3;text-transform:uppercase;letter-spacing:.22em}
.domain-detail-hero-content h1{max-width:920px;margin:0;color:#fff;font-family:Domine,serif;font-size:clamp(44px,4.6vw,78px);font-weight:700;line-height:1.05}
.domain-detail-hero-content h1 em{color:var(--terracotta);font-style:normal}
.domain-detail-hero-content img{width:370px;margin:8px auto 18px;filter:brightness(0) invert(1)}
.domain-detail-hero-content .button{background:#fff;color:#3d3034;border:2px solid var(--terracotta);font-size:20px}
.domain-detail-hero-content .button:hover,.domain-detail-hero-content .button:focus-visible{background:var(--terracotta);color:#fff}
.domain-detail-hero .hero-scroll{color:var(--terracotta)}

.domain-engagement{display:grid;grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr);align-items:center;gap:76px;padding-block:94px}
.domain-engagement-photo{height:600px;overflow:hidden;border-radius:8px;box-shadow:0 24px 54px rgba(49,22,35,.13)}
.domain-engagement-photo img{width:100%;height:100%;object-fit:cover}
.droit-de-la-famille .domain-engagement-photo img{object-position:right center}
.droit-des-etrangers .domain-engagement-photo img{object-position:25% center}
.droit-des-mineurs .domain-engagement-photo img{object-position:21% center}
.domain-engagement-copy .eyebrow,.domain-section-heading .eyebrow,.domain-promise .eyebrow,.domain-urgent .eyebrow{margin:0 0 12px;color:var(--blue-gray)!important}
.domain-engagement-copy h2,.domain-section-heading h2,.domain-urgent h2{margin:0 0 24px;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(34px,3.4vw,48px);font-weight:700;line-height:1.12}
.domain-engagement-copy h2 em,.domain-section-heading h2 em,.domain-urgent h2 em{color:var(--terracotta);font-style:normal}
.domain-engagement-copy>p:not(.eyebrow){margin:0 0 16px;color:#4e4546;font-size:16px;line-height:1.8}
.domain-engagement-cta{margin-top:12px;background:var(--terracotta);color:#fff;border:0;font-size:18px}
.domain-engagement-cta:hover,.domain-engagement-cta:focus-visible{background:var(--burgundy);color:#fff}

.domain-topics{padding:84px 0 90px;background:#fbf6f1}
.domain-section-heading{max-width:820px;margin-bottom:34px;text-align:left}
.domain-section-heading>p:last-child{max-width:750px;margin:0;color:#5a4b4c;font-size:16px;line-height:1.7}
.domain-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.domain-topic-grid article{min-height:245px;padding:30px 30px 28px;border-radius:8px;background:#fff;box-shadow:0 16px 38px rgba(49,22,35,.07);transition:transform .28s ease,box-shadow .28s ease}
.domain-topic-grid article:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(49,22,35,.12)}
.domain-topic-grid span{display:grid;place-items:center;width:40px;height:40px;margin-bottom:28px;border-radius:50%;background:var(--cream);color:var(--burgundy);font-family:Domine,serif;font-size:14px;font-weight:700}
.domain-topic-grid h3{margin:0 0 12px;color:var(--burgundy);font-family:Domine,serif;font-size:22px;line-height:1.2}
.domain-topic-grid p{margin:0;color:#5c5354;font-size:15px;line-height:1.65}
.domain-promise{display:grid;grid-template-columns:minmax(150px,.3fr) minmax(280px,.7fr) minmax(320px,1fr);align-items:center;gap:30px;margin-top:24px;padding:30px 34px;border-radius:8px;background:var(--navy);color:#fff}
.domain-promise .eyebrow{color:var(--terracotta)!important}
.domain-promise h3{margin:0;color:#fff;font-family:Domine,serif;font-size:24px;line-height:1.3}
.domain-promise>p:last-child{margin:0;color:#fff;font-size:15px;line-height:1.65}

.domain-urgent{padding:76px 0;background:linear-gradient(115deg,var(--burgundy),var(--navy));color:#fff}
.domain-urgent .container{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px 60px}
.domain-urgent .eyebrow{grid-column:1/-1;color:var(--terracotta)!important}
.domain-urgent h2{max-width:820px;margin:0;color:#fff}
.domain-urgent>div>p:not(.eyebrow){grid-column:1;max-width:760px;margin:0;color:#fff;font-size:16px;line-height:1.7}
.domain-urgent .button{grid-column:2;grid-row:2/4;align-self:center;background:var(--terracotta);color:#fff;border:0;font-size:18px}
.domain-urgent .button:hover,.domain-urgent .button:focus-visible{background:#fff;color:var(--burgundy)}

.domain-faq{padding-block:76px 86px}
.domain-faq .domain-section-heading{margin-bottom:28px}
.domain-faq .accordion{border-radius:0}
.domain-detail .contact-rdv .rdv-rule{display:none}
.domain-detail .rdv-inner>.eyebrow{margin:0 0 12px;color:var(--burgundy)!important}

@media(max-width:980px){
  .domain-engagement{grid-template-columns:1fr;gap:42px;padding-block:70px}
  .domain-engagement-photo{height:480px}
  .domain-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .domain-promise{grid-template-columns:1fr;gap:12px}
  .domain-urgent .container{display:block}
  .domain-urgent h2{margin-bottom:20px}
  .domain-urgent>div>p:not(.eyebrow){margin-bottom:28px}
}

@media(max-width:767px){
  .domain-detail .header-bar{min-height:68px}
  .domain-detail-hero{height:610px;background-position:center}
  .domain-detail-hero-shade{background:linear-gradient(rgba(128,146,155,.62),rgba(49,22,35,.62))}
  .domain-detail-hero-content{padding:86px 18px 50px}
  .domain-detail-hero-content>p{font-size:11px;letter-spacing:.18em}
  .domain-detail-hero-content h1{font-size:clamp(34px,10.5vw,48px)}
  .domain-detail-hero-content img{width:250px;margin-block:12px 20px}
  .domain-detail-hero-content .button{padding-inline:24px;font-size:17px}
  .domain-detail-hero .hero-scroll{bottom:24px}
  .domain-engagement{width:calc(100% - 30px);padding-block:54px}
  .domain-engagement-photo{height:390px}
  .domain-engagement-copy h2,.domain-section-heading h2,.domain-urgent h2{font-size:clamp(29px,8.5vw,36px)}
  .domain-engagement-copy>p:not(.eyebrow){font-size:15px}
  .domain-engagement-cta{font-size:16px}
  .domain-topics{padding:54px 0 58px}
  .domain-topic-grid{grid-template-columns:1fr}
  .domain-topic-grid article{min-height:0;padding:26px 24px}
  .domain-topic-grid span{margin-bottom:20px}
  .domain-promise{padding:26px 24px}
  .domain-promise h3{font-size:22px}
  .domain-urgent{padding:54px 0}
  .domain-faq{padding-block:54px 62px}
}

@media(max-width:1180px){
  .unified-header .menu-close{position:absolute;left:auto;right:12px;top:7px;z-index:3;color:var(--burgundy);font-size:28px;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .menu-open .unified-header .menu-close{opacity:1;pointer-events:auto}
  .header-nav li:first-child a{padding-right:62px}
}

.home .hero-content h1,.home .hero-content h1 em{color:#fff!important;font-size:clamp(50px,4.8vw,68px)!important;line-height:1.08!important}
@media(max-width:767px){.home .hero-content h1,.home .hero-content h1 em{font-size:clamp(40px,12vw,54px)!important}}

/* Actualités et plan du site */
.editorial-page{background:#fff}
.editorial-hero{padding:88px 0 82px;background:linear-gradient(118deg,var(--navy),#245863);color:#fff}
.editorial-hero .container{max-width:1000px;text-align:left}
.editorial-hero .eyebrow{margin:0 0 14px;color:var(--terracotta)!important}
.editorial-hero h1{max-width:900px;margin:0 0 20px;color:#fff;font-family:Domine,serif;font-size:clamp(44px,5vw,70px);line-height:1.06}
.editorial-hero h1 em{color:var(--terracotta);font-style:normal}
.editorial-hero .container>p:last-child{max-width:760px;margin:0;color:#fff;font-size:18px;line-height:1.7}
.article-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 18px;color:#6a6061;font-size:13px;line-height:1.4}
.article-meta span:first-child{color:var(--terracotta);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.news-feature{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:stretch;padding-block:88px}
.news-feature-image{min-height:480px;overflow:hidden;border-radius:8px 0 0 8px;background:var(--navy)}
.news-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.news-feature-image:hover img{transform:scale(1.025)}
.news-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:54px;background:#fbf6f1;border-radius:0 8px 8px 0}
.news-feature-copy h2{margin:0 0 22px;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(30px,3vw,43px);line-height:1.16}
.news-feature-copy>p:not(.article-meta){margin:0 0 26px;color:#514849;font-size:16px;line-height:1.75}
.text-link{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;color:var(--burgundy);font-family:Domine,serif;font-size:17px;font-weight:700}
.text-link span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--terracotta);color:#fff;font-family:'Open Sans',sans-serif;line-height:1;transition:background .25s ease}
.text-link:hover span{background:var(--navy)}
.news-topics{padding:78px 0 88px;background:#fbf6f1}
.news-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.news-topic-grid>a{padding:30px 28px;background:#fff;border-top:4px solid var(--terracotta);box-shadow:0 14px 34px rgba(49,22,35,.06);transition:transform .25s ease,box-shadow .25s ease}
.news-topic-grid>a:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(49,22,35,.12)}
.news-topic-grid span{color:var(--blue-gray);font-family:Domine,serif;font-weight:700}
.news-topic-grid h3{margin:16px 0 10px;color:var(--burgundy);font-family:Domine,serif;font-size:23px;line-height:1.2}
.news-topic-grid p{margin:0;color:#5b5253;line-height:1.65}
.editorial-cta{padding:54px 0;background:var(--burgundy);color:#fff}
.editorial-cta .container{display:flex;align-items:center;justify-content:space-between;gap:50px}
.editorial-cta .eyebrow{margin:0 0 9px;color:var(--terracotta)!important}
.editorial-cta h2{max-width:760px;margin:0;color:#fff;font-family:Domine,serif;font-size:clamp(28px,3vw,40px);line-height:1.18}
.editorial-cta h2 em{color:var(--terracotta);font-style:normal}
.editorial-cta .button{flex:0 0 auto;background:var(--terracotta);color:#fff;border:0;font-size:18px}
.editorial-cta .button:hover{background:#fff;color:var(--burgundy)}

.article-header{padding:64px 0 54px;background:#fbf6f1}
.article-header-inner{max-width:1040px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:36px;color:#6d6263;font-size:13px;line-height:1.4}
.breadcrumb a:hover{color:var(--terracotta)}
.article-header .eyebrow{margin:0 0 15px;color:var(--terracotta)!important}
.article-header h1{max-width:980px;margin:0 0 22px;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(40px,4.8vw,65px);line-height:1.08}
.article-header h1 em{color:var(--terracotta);font-style:normal}
.article-intro{max-width:900px;margin:0 0 24px;color:#493f40;font-size:19px;line-height:1.75}
.article-cover{max-width:1120px;margin-top:54px}
.article-cover img{width:100%;height:520px;object-fit:cover;border-radius:8px}
.article-layout{display:grid;grid-template-columns:260px minmax(0,760px);justify-content:center;align-items:start;gap:70px;padding-block:72px 94px}
.article-summary{position:sticky;top:100px;padding:24px;background:#fbf6f1;border-top:4px solid var(--terracotta)}
.article-summary>p{margin:0 0 14px;color:var(--burgundy);font-family:Domine,serif;font-size:18px;font-weight:700;line-height:1.3}
.article-summary ol{margin:0;padding:0;list-style:none;counter-reset:summary}
.article-summary li{counter-increment:summary;border-top:1px solid #eadfda}
.article-summary a{display:block;padding:9px 0;color:#544b4c;font-size:13px;line-height:1.4}
.article-summary a::before{content:counter(summary,decimal-leading-zero);margin-right:8px;color:var(--terracotta);font-weight:700}
.article-summary a:hover{color:var(--burgundy)}
.article-content{min-width:0}
.article-content section{scroll-margin-top:100px;margin-bottom:54px}
.article-content .eyebrow{margin:0 0 10px;color:var(--blue-gray)!important}
.article-content h2{margin:0 0 20px;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(29px,3vw,40px);line-height:1.18}
.article-content h3{margin:28px 0 9px;color:var(--burgundy);font-family:Domine,serif;font-size:22px;line-height:1.25}
.article-content p{margin:0 0 18px;color:#433c3d;font-size:16px;line-height:1.85}
.article-warning{padding:22px 24px;border-left:5px solid var(--terracotta);background:#fbf2ea}
.article-callout{margin:28px 0;padding:26px 28px;background:var(--navy);color:#fff;border-radius:7px}
.article-callout h3{margin:0 0 8px;color:var(--terracotta)}
.article-callout p{margin:0;color:#fff}
.article-checklist{margin:22px 0 26px;padding:0;list-style:none}
.article-checklist li{position:relative;margin-bottom:10px;padding:13px 16px 13px 44px;background:#fbf6f1;color:#494142;line-height:1.55}
.article-checklist li::before{content:'✓';position:absolute;left:17px;top:12px;color:var(--terracotta);font-weight:700}
.article-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:34px;padding:30px;background:linear-gradient(115deg,var(--burgundy),var(--navy));border-radius:8px}
.article-cta h3{margin:0 0 8px;color:#fff}
.article-cta p{margin:0;color:#fff;font-size:15px;line-height:1.6}
.article-cta .button{background:var(--terracotta);color:#fff;border:0;font-size:16px;text-align:center}
.article-faq h3{padding-top:18px;border-top:1px solid #eadfda}
.article-sources{padding-top:30px;border-top:1px solid #ded6d2}
.article-sources h2{font-size:28px}
.article-sources ul{padding-left:20px}
.article-sources a{color:var(--burgundy);text-decoration:underline;text-underline-offset:3px}
.article-disclaimer{margin-top:26px!important;color:#73696a!important;font-size:13px!important}

.sitemap-content{padding-block:76px 94px}
.sitemap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.sitemap-grid section{padding:34px 36px;background:#fbf6f1;border-top:4px solid var(--terracotta)}
.sitemap-grid section>span{color:var(--blue-gray);font-family:Domine,serif;font-weight:700}
.sitemap-grid h2{margin:14px 0 20px;color:var(--burgundy);font-family:Domine,serif;font-size:27px;line-height:1.2}
.sitemap-grid ul{margin:0;padding:0;list-style:none}
.sitemap-grid li+li{border-top:1px solid #e7dcd7}
.sitemap-grid a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;color:#4d4546;line-height:1.45}
.sitemap-grid a::after{content:'→';color:var(--terracotta);font-size:20px}
.sitemap-grid a:hover{color:var(--burgundy)}

@media(max-width:980px){
  .news-feature{grid-template-columns:1fr;padding-block:64px}
  .news-feature-image{min-height:420px;border-radius:8px 8px 0 0}
  .news-feature-copy{border-radius:0 0 8px 8px}
  .article-layout{grid-template-columns:1fr;gap:36px}
  .article-summary{position:static}
}

@media(max-width:767px){
  .editorial-hero{padding:58px 0 54px}
  .editorial-hero h1{font-size:clamp(38px,11vw,50px)}
  .editorial-hero .container>p:last-child{font-size:16px}
  .news-feature{padding-block:48px}
  .news-feature-image{min-height:300px}
  .news-feature-copy{padding:30px 24px}
  .news-topic-grid,.sitemap-grid{grid-template-columns:1fr}
  .news-topics{padding-block:54px}
  .editorial-cta .container{display:block}
  .editorial-cta .button{margin-top:24px}
  .article-header{padding:42px 0}
  .breadcrumb{margin-bottom:26px}
  .article-header h1{font-size:clamp(36px,10.5vw,48px)}
  .article-intro{font-size:17px}
  .article-cover{width:calc(100% - 30px);margin-top:30px}
  .article-cover img{height:330px}
  .article-layout{padding-block:44px 62px}
  .article-summary{padding:20px}
  .article-content p{font-size:15px;line-height:1.75}
  .article-content section{margin-bottom:44px}
  .article-cta{grid-template-columns:1fr;padding:25px 22px}
  .article-cta .button{justify-self:start}
  .sitemap-content{padding-block:50px 64px}
  .sitemap-grid section{padding:28px 24px}
}

/* Ajustements des pages Droit : ligne de flottaison et liste des interventions */
.domain-detail-hero{height:clamp(720px,100svh,900px)}
.domain-detail-hero-content{padding-top:104px}
.domain-detail-hero-content>p{margin-bottom:22px;font-size:14px;letter-spacing:.24em}
.domain-detail-hero-content h1{max-width:1050px;font-size:clamp(58px,5.7vw,88px);line-height:1.04}
.domain-detail-hero-content img{width:410px;margin:14px auto 22px}
.domain-detail-hero-content .button{padding:13px 38px;font-size:21px}

.domain-topic-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #e7dcd7}
.domain-topic-grid article{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) 48px;grid-template-rows:auto auto;column-gap:28px;align-items:center;min-height:116px;padding:22px 10px;border-radius:0;border-bottom:1px solid #e7dcd7;background:transparent;box-shadow:none;transition:background .25s ease}
.domain-topic-grid article:hover{transform:none;background:#fff;box-shadow:none}
.domain-topic-grid article>span{grid-column:1;grid-row:1/3;width:auto;height:auto;margin:0;background:transparent;color:rgba(113,37,58,.32);font-size:39px;line-height:1}
.domain-topic-grid article>h3{grid-column:2;grid-row:1;align-self:end;margin:0 0 4px;font-size:23px}
.domain-topic-grid article>p{grid-column:2;grid-row:2;align-self:start;margin:0;line-height:1.5}
.domain-topic-grid article::after{content:'→';grid-column:3;grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(113,37,58,.28);border-radius:50%;color:var(--burgundy);font-family:'Open Sans',sans-serif;font-size:19px;line-height:1;transition:background .25s ease,color .25s ease,border-color .25s ease}
.domain-topic-grid article:hover::after{background:var(--navy);border-color:var(--navy);color:#fff}

.article-summary{max-height:calc(100vh - 120px);overflow-y:auto;padding:0 24px 22px;scrollbar-width:thin;scrollbar-color:var(--terracotta) transparent}
.article-summary-contact{margin:0 -24px 22px;padding:22px 24px;background:var(--burgundy);color:#fff}
.article-summary-contact>span{display:block;margin-bottom:5px;color:var(--terracotta);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.article-summary-contact strong{display:block;margin-bottom:14px;color:#fff;font-family:Domine,serif;font-size:17px;line-height:1.3}
.article-summary-contact a{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--terracotta);color:#fff!important;font-size:13px;font-weight:700}
.article-summary-contact a::before{content:none}
.article-summary-contact a span{font-size:18px;line-height:1}
.article-author{display:flex;align-items:center;gap:22px;margin-top:58px;padding:26px 28px;background:#fbf6f1;border-left:5px solid var(--terracotta)}
.article-author img{width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:center 18%}
.article-author span{display:block;margin-bottom:2px;color:var(--terracotta);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.article-author strong{display:block;color:var(--burgundy);font-family:Domine,serif;font-size:20px;line-height:1.3}
.article-author p{margin:4px 0 0;color:#5a5152;font-size:14px;line-height:1.5}

@media(max-width:767px){
  .domain-detail-hero{height:clamp(660px,100svh,820px)}
  .domain-detail-hero-content{padding:92px 18px 58px}
  .domain-detail-hero-content>p{font-size:11px}
  .domain-detail-hero-content h1{font-size:clamp(42px,12vw,58px)}
  .domain-detail-hero-content img{width:280px}
  .domain-detail-hero-content .button{padding:11px 24px;font-size:17px}
  .domain-topic-grid article{grid-template-columns:58px minmax(0,1fr) 36px;column-gap:14px;min-height:104px;padding:18px 2px}
  .domain-topic-grid article>span{font-size:30px}
  .domain-topic-grid article>h3{font-size:20px}
  .domain-topic-grid article>p{font-size:14px}
  .domain-topic-grid article::after{width:32px;height:32px;font-size:17px}
  .article-summary{max-height:none;overflow:visible;padding-bottom:20px}
  .article-author{align-items:flex-start;padding:22px 20px}
  .article-author img{width:64px;height:64px}
}

/* Harmonisation des accents bleu DA et bandeaux d'urgence illustrés */
.home .hero-content .button-light{background:#fff;border-color:#80929B;color:#80929B}
.home .hero-content .button-light:hover,.home .hero-content .button-light:focus-visible{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.intro-eyebrow,.section-heading .eyebrow,.process-heading .eyebrow,.why .eyebrow,.domain-engagement-copy .eyebrow,.domain-section-heading .eyebrow,.domain-faq .eyebrow{color:#80929B!important}

.faq-quick-grid span{transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.faq-quick-grid a:hover span,.faq-quick-grid a:focus-visible span{background:#80929B;border-color:#80929B;color:#fff}

.domain-urgent{position:relative;isolation:isolate;overflow:hidden;padding:58px 0;background-color:var(--burgundy);background-repeat:no-repeat;background-size:cover;background-position:center;color:#fff}
.droit-de-la-famille .domain-urgent{background-image:linear-gradient(90deg,rgba(83,27,44,.97) 0%,rgba(83,27,44,.92) 58%,rgba(83,27,44,.45) 100%),url('../images/domaines/famille-hero.png')}
.droit-des-etrangers .domain-urgent{background-image:linear-gradient(90deg,rgba(83,27,44,.97) 0%,rgba(83,27,44,.91) 58%,rgba(128,146,155,.42) 100%),url('../images/domaines/etrangers-hero.png')}
.droit-des-mineurs .domain-urgent{background-image:linear-gradient(90deg,rgba(83,27,44,.97) 0%,rgba(83,27,44,.91) 58%,rgba(83,27,44,.42) 100%),url('../images/domaines/mineurs-hero.png')}
.domain-urgent .container{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(340px,1fr);grid-template-rows:auto auto;align-items:center;gap:8px 54px;padding-right:250px}
.domain-urgent .eyebrow{grid-column:1;grid-row:1;margin:0;color:#fff!important}
.domain-urgent h2{grid-column:1;grid-row:2;max-width:390px;margin:0;color:#fff;font-size:clamp(34px,3vw,46px)}
.domain-urgent>div>p:not(.eyebrow){grid-column:2;grid-row:1;margin:0;color:#fff;line-height:1.65}
.domain-urgent .button{grid-column:2;grid-row:2;justify-self:start;align-self:start;margin-top:8px;padding:10px 24px;background:transparent;border:1px solid var(--terracotta);color:#fff;font-size:16px}
.domain-urgent .button:hover,.domain-urgent .button:focus-visible{background:var(--terracotta);border-color:var(--terracotta);color:#fff}

@media(max-width:1100px){
  .domain-urgent .container{padding-right:130px}
}

@media(max-width:900px){
  .domain-urgent .container{display:block;padding-right:0}
  .domain-urgent h2{max-width:700px;margin-bottom:18px}
  .domain-urgent>div>p:not(.eyebrow){max-width:660px;margin-bottom:20px}
}

@media(max-width:767px){
  .domain-urgent{padding:52px 0;background-position:65% center}
  .droit-de-la-famille .domain-urgent,.droit-des-etrangers .domain-urgent,.droit-des-mineurs .domain-urgent{background-image:linear-gradient(90deg,rgba(83,27,44,.96),rgba(83,27,44,.76)),var(--domain-urgent-image)}
  .droit-de-la-famille .domain-urgent{--domain-urgent-image:url('../images/domaines/famille-hero.png')}
  .droit-des-etrangers .domain-urgent{--domain-urgent-image:url('../images/domaines/etrangers-hero.png')}
  .droit-des-mineurs .domain-urgent{--domain-urgent-image:url('../images/domaines/mineurs-hero.png')}
.domain-urgent h2{font-size:clamp(29px,8.5vw,36px)}
}

/* Finitions homepage et couvertures des domaines */
.home .hero-content p{color:#80929B!important}
.home .hero-content .button-light{background:#80929B;border-color:#80929B;color:#fff}
.home .hero-content .button-light:hover,.home .hero-content .button-light:focus-visible{background:var(--terracotta);border-color:var(--terracotta);color:#fff}

.intro-photo img{border-top:4px solid #80929B;border-left:4px solid #80929B}
.why-image{position:relative;height:355px;overflow:hidden}
.why-image::after{content:'';position:absolute;inset:0;z-index:2;border-top:4px solid #80929B;border-left:4px solid #80929B;border-right:4px solid #80929B;pointer-events:none}
.why .why-image img{width:calc(100% + 50px);max-width:none;height:calc(100% + 50px);margin:-25px;object-fit:cover;border:0;transform:none}

.domain-card b{position:relative}
.domain-card b::before{position:absolute;left:50%;top:50%;display:block;line-height:1;transform:translate(-50%,-54%)}

.faq-quick-grid span{position:relative;font-size:0;line-height:0}
.faq-quick-grid span::before{content:'→';position:absolute;left:50%;top:50%;font-family:'Open Sans',sans-serif;font-size:17px;font-weight:400;line-height:1;transform:translate(-50%,-54%)}

.process-track b{transition:background-color .3s ease,border-color .3s ease,color .3s ease,transform .3s ease}
.process-track article:hover b,.process-track article:focus-within b,.process-track article.is-passed b{background:#80929B;border-color:#80929B;color:#fff;transform:scale(1.06)}

.hero-contact summary::after{content:'';display:block;background:linear-gradient(#fff,#fff) center/8px 1px no-repeat,linear-gradient(#fff,#fff) center/1px 8px no-repeat}

.contact-panel iframe{z-index:0;filter:saturate(.82) contrast(.96)}
.contact-panel::after{content:'';position:absolute;inset:0;z-index:1;background:rgba(128,146,155,.15);mix-blend-mode:multiply;pointer-events:none}
.contact-card{z-index:2}

.domain-detail-hero{height:100svh;min-height:760px;max-height:none}
.domain-detail-hero-content h1{max-width:1180px;font-size:clamp(66px,6.8vw,108px);line-height:1.01}
.domain-detail-hero-content img{width:430px}

@media(max-width:767px){
  .intro-photo img{border-width:3px}
  .why-image{height:360px;margin-top:35px}
  .why-image::after{border-width:3px}
  .domain-detail-hero{height:100svh;min-height:680px;max-height:none}
  .domain-detail-hero-content h1{font-size:clamp(48px,14vw,68px)}
  .domain-detail-hero-content img{width:285px}
}

/* Mise en page éditoriale commune : sujets, urgence et pages institutionnelles */
.domain-topics .container{display:grid;grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:clamp(48px,6vw,92px);align-items:start}
.domain-topics .domain-section-heading{position:sticky;top:112px;margin:0;padding-top:10px}
.domain-topics .domain-section-heading h2{max-width:410px;font-size:clamp(38px,4vw,58px);line-height:1.05}
.domain-topics .domain-section-heading>p:last-child{max-width:330px;margin:32px 0 0;color:#514748;font-size:15px;line-height:1.72}
.domain-topics .domain-topic-grid{min-width:0}

.domain-urgent .container{display:grid;grid-template-columns:minmax(190px,.56fr) minmax(340px,1fr) 150px;grid-template-rows:auto;gap:clamp(32px,4vw,64px);align-items:center;padding-right:0}
.domain-urgent-title .eyebrow{margin:0 0 10px;color:#fff!important}
.domain-urgent .domain-urgent-title h2{max-width:none;margin:0;color:#fff;font-size:clamp(50px,5.2vw,78px);line-height:1}
.domain-urgent-action p{max-width:610px;margin:0;color:#fff;font-size:15px;line-height:1.65}
.domain-urgent .domain-urgent-action .button{display:inline-flex;grid-column:auto;grid-row:auto;margin-top:17px;padding:10px 24px}
.domain-urgent>div.container>p.domain-urgent-note{grid-column:auto;grid-row:auto;margin:0;align-self:end;color:#fff;font-size:11px;font-weight:700;line-height:1.7;letter-spacing:.18em;text-transform:uppercase}

.fees-hero,.cabinet-hero{background-image:url('../images/home/hero.png');background-position:center;background-size:cover}
.fees-overview{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:clamp(50px,7vw,100px);padding-block:96px}
.fees-heading .eyebrow{margin:0 0 14px;color:var(--navy)!important}
.fees-heading h2{margin:0;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(38px,4vw,56px);line-height:1.08}
.fees-heading h2 em{color:var(--terracotta);font-style:normal}
.fees-copy>p{margin:0 0 20px;color:#433b3d;font-size:16px;line-height:1.75}
.fees-copy .domain-list{margin-top:34px}
.cabinet-hero+.domain-engagement{padding-top:96px}
.editorial-hero .container{width:min(var(--container),calc(100% - 48px));max-width:none}

@media(max-width:900px){
  .domain-topics .container,.fees-overview{grid-template-columns:1fr;gap:42px}
  .domain-topics .domain-section-heading{position:static;padding-top:0}
  .domain-topics .domain-section-heading h2,.domain-topics .domain-section-heading>p:last-child{max-width:720px}
  .domain-topics .domain-section-heading>p:last-child{margin-top:22px}
  .domain-urgent .container{grid-template-columns:1fr;gap:24px}
  .domain-urgent>div.container>p.domain-urgent-note{align-self:auto;margin:4px 0 0}
}

@media(max-width:767px){
  .domain-topics .container{gap:30px}
  .domain-topics .domain-section-heading h2{font-size:clamp(34px,10vw,44px)}
  .domain-urgent .domain-urgent-title h2{margin-bottom:0;font-size:clamp(46px,14vw,62px)}
  .domain-urgent-action p{margin-bottom:0}
  .fees-overview{padding-block:62px}
  .fees-heading h2{font-size:clamp(34px,10vw,44px)}
  .cabinet-hero+.domain-engagement{padding-top:62px}
  .editorial-hero .container{width:calc(100% - 30px)}
}

/* Lecture de l'article : sommaire suiveur, respirations et contenus associés */
@media(min-width:821px){
  .article-layout{grid-template-columns:minmax(235px,260px) minmax(0,760px);gap:clamp(38px,5vw,70px);align-items:stretch}
  .article-summary{position:sticky;top:88px;align-self:start;z-index:3;height:max-content;max-height:calc(100vh - 112px)}
}
.article-cta-mid{margin:4px 0 54px}
.article-cta-final{margin:42px 0 0}
.article-cta .eyebrow{margin:0 0 7px;color:var(--terracotta)!important;font-family:'Open Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.related-articles{display:grid;grid-template-columns:minmax(250px,.62fr) minmax(0,1.38fr);gap:clamp(45px,7vw,100px);padding-block:72px 92px;border-top:1px solid #e4dad5}
.related-heading .eyebrow{margin:0 0 10px;color:var(--navy)!important}
.related-heading h2{margin:0;color:var(--burgundy);font-family:Domine,serif;font-size:clamp(34px,3.8vw,50px);line-height:1.08}
.related-heading h2 em{color:var(--terracotta);font-style:normal}
.related-empty{align-self:center;padding:30px 34px;background:#fbf6f1;border-left:4px solid var(--terracotta)}
.related-empty p{margin:0 0 12px;color:#514849;font-size:16px;line-height:1.7}
.related-empty a{display:inline-flex;align-items:center;gap:14px;color:var(--burgundy);font-weight:700}
.related-empty a span{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(113,37,58,.3);border-radius:50%;transition:.25s}
.related-empty a:hover span,.related-empty a:focus-visible span{background:var(--navy);border-color:var(--navy);color:#fff}

@media(max-width:820px){
  .article-layout{grid-template-columns:1fr;gap:36px}
  .article-summary{position:static;max-height:none;overflow:visible}
  .related-articles{grid-template-columns:1fr;gap:28px;padding-block:54px 66px}
}

@media(max-width:767px){
  .article-cta-mid{margin-bottom:44px}
  .article-cta-final{margin-top:34px}
  .related-empty{padding:24px 22px}
}

/* Finitions de la homepage : photos, actions et coordonnées */
.home .intro-photo img,.home .why-image{border-radius:8px}
.home .why-image::after{border-radius:8px}
.home .header-rdv-link:hover,.home .header-rdv-link:focus-visible{background:var(--navy)!important;border-color:var(--navy)!important;color:#fff!important}
.home .appointment .button:hover,.home .appointment .button:focus-visible{background:#fff!important;color:var(--navy)!important;box-shadow:0 14px 30px rgba(128,146,155,.24)}
.home .why li{position:relative;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease,color .25s ease}
.home .why li::before{transition:background-color .25s ease,color .25s ease}
.home .why li:hover,.home .why li:focus-within{z-index:1;transform:translateX(5px);background:#fff;box-shadow:0 10px 24px rgba(128,146,155,.16);color:var(--navy)}
.home .why li:hover::before,.home .why li:focus-within::before{background:var(--navy);color:#fff}
.home .contact-card dd a{display:inline-block;color:#fff;text-decoration-color:rgba(255,255,255,.5);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}
.home .contact-card dd a:hover,.home .contact-card dd a:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:var(--terracotta)}

@media(max-width:767px){
  .home .intro-photo img,.home .why-image,.home .why-image::after{border-radius:6px}
}

/* Hero du Cabinet et bandeaux d'urgence sans chevauchement */
.cabinet-hero{background-image:url('../images/cabinet/cabinet-hero-laurelene.png');background-position:center;background-size:cover}
.cabinet-hero .domain-detail-hero-shade{background:linear-gradient(90deg,rgba(63,45,51,.64) 0%,rgba(128,146,155,.54) 52%,rgba(113,37,58,.48) 100%)}
.domain-urgent .container{grid-template-columns:minmax(250px,.72fr) minmax(0,1.15fr) 150px;gap:clamp(28px,3vw,46px)}
.domain-urgent .domain-urgent-title h2{font-size:clamp(42px,4vw,58px);white-space:nowrap}

@media(max-width:900px){
  .domain-urgent .container{grid-template-columns:1fr}
  .domain-urgent .domain-urgent-title h2{white-space:normal}
}

@media(max-width:767px){
  .cabinet-hero{background-position:63% center}
  .cabinet-hero .domain-detail-hero-shade{background:linear-gradient(rgba(76,66,70,.7),rgba(113,37,58,.62))}
  .domain-urgent .domain-urgent-title h2{font-size:clamp(38px,12vw,50px)}
}

.droit-des-etrangers .domain-detail-hero-content h1 em{color:#fff}

/* Portrait du Cabinet et respiration de la prise de rendez-vous */
.cabinet-hero{background-color:#80929B;background-image:url('../images/home/portrait.jpg');background-repeat:no-repeat;background-position:right 18% center;background-size:auto 148%}
.cabinet-hero .domain-detail-hero-shade{background:linear-gradient(90deg,rgba(128,146,155,.98) 0%,rgba(128,146,155,.9) 43%,rgba(113,37,58,.54) 100%)}
.domain-detail .rdv-side h2{margin-bottom:30px}

@media(max-width:767px){
  .cabinet-hero{background-position:55% center;background-size:cover}
  .cabinet-hero .domain-detail-hero-shade{background:linear-gradient(180deg,rgba(128,146,155,.72),rgba(72,43,52,.7))}
  .domain-detail .rdv-side h2{margin-bottom:24px}
}

/* Apparition progressive des couvertures institutionnelles */
.domain-detail-hero{isolation:isolate;background-color:#80929B;background-image:none!important}
.domain-detail-hero::before{content:'';position:absolute;inset:-2%;z-index:0;background-image:var(--detail-hero-image);background-position:var(--detail-hero-position,center);background-repeat:no-repeat;background-size:cover;opacity:0;transform:scale(1.035);animation:detailHeroReveal 1.55s cubic-bezier(.22,.72,.28,1) .08s forwards}
.domain-detail-hero .domain-detail-hero-shade{z-index:1}
.domain-detail-hero .hero-scroll{z-index:3}
.domain-detail-hero-family,.domain-detail-hero-foreigners,.domain-detail-hero-minors{--detail-hero-image:url('../images/domaines/droits-hero-partage.png');--detail-hero-position:center}
.fees-hero{--detail-hero-image:url('../images/home/hero.png');--detail-hero-position:center}
.cabinet-hero{--detail-hero-image:url('../images/cabinet/cabinet-hero-laurelene.png');--detail-hero-position:center}
.cabinet-hero .domain-detail-hero-shade{background:linear-gradient(90deg,rgba(63,45,51,.68) 0%,rgba(128,146,155,.5) 52%,rgba(113,37,58,.45) 100%)}
@keyframes detailHeroReveal{to{opacity:1;transform:scale(1)}}

@media(max-width:767px){
  .domain-detail-hero-family,.domain-detail-hero-foreigners,.domain-detail-hero-minors{--detail-hero-position:68% center}
  .cabinet-hero{--detail-hero-position:65% center}
}

/* Introduction suiveuse des listes de domaines */
@media(min-width:901px){
  .domain-topics{overflow:visible}
  .domain-topics .container{align-items:start}
  .domain-topics .domain-section-heading{position:sticky!important;top:96px;align-self:start;height:max-content;z-index:2;padding-bottom:24px;will-change:transform}
}

/* Lisibilité du formulaire sur le panneau bleu */
.request-side .request-inner>h2,.request-side .request-inner>h2 em{color:#fff!important}
.request-side .contact-form label:first-child{display:block;color:#fff;font-size:14px;font-weight:700;line-height:1.4}
.request-side .contact-form label:first-child input{display:block;width:100%;margin-top:8px}
.request-side .contact-form label:first-child input::placeholder{color:transparent}

/* Colonne suiveuse de l'article OQTF */
html,body{overflow-x:clip}
.article-page main,.article-page article,.article-page .article-layout{overflow:visible}
@media(min-width:821px){
  .article-page .article-layout{align-items:stretch}
  .article-page .article-summary{position:sticky!important;top:86px;align-self:start;height:max-content;max-height:calc(100vh - 108px);overflow-y:auto;overscroll-behavior:contain}
}

/* Hiérarchie typographique harmonisée */
main h2{font-size:clamp(38px,4vw,52px)!important;line-height:1.1}
main h3{font-size:23px!important;line-height:1.25}
body p:not(.eyebrow):not(.hero-kicker):not(.domain-urgent-note){font-size:17px}

/* Bandeaux intérieurs : lecture alignée à gauche */
.domain-detail-hero-content{width:min(calc(100% - 48px),1200px);margin:0 auto;padding:104px 0 54px;align-items:flex-start;justify-content:center;text-align:left}
.domain-detail-hero-content>p.hero-kicker{margin:0 0 18px;color:#fff;font-size:14px;letter-spacing:.22em}
.domain-detail-hero-content h1{max-width:900px}
.domain-detail-hero-content .hero-description{max-width:650px;margin:24px 0 28px;color:#fff;font-family:'Open Sans',sans-serif;font-size:17px;font-weight:400;line-height:1.65;letter-spacing:0;text-transform:none;text-shadow:0 1px 14px rgba(34,22,26,.28)}
.domain-detail-hero-content .button{margin:0}

@media(max-width:767px){
  main h2{font-size:clamp(32px,9vw,40px)!important}
  main h3{font-size:21px!important}
  .domain-detail-hero-content{width:min(calc(100% - 36px),1200px);padding:92px 0 58px}
  .domain-detail-hero-content>p.hero-kicker{font-size:12px}
  .domain-detail-hero-content .hero-description{max-width:100%;margin:20px 0 25px;font-size:17px;line-height:1.55}
}

/* Sous-catégories présentées comme les catégories principales */
.domain-topic-subcategories{padding:0 10px 15px 124px}
.domain-topic-subcategories ul{display:block;margin:0;padding:0;border-top:1px solid #e7dcd7;counter-reset:subtopic}
.domain-topic-subcategories li{counter-increment:subtopic;display:grid;grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:16px;min-height:64px;padding:10px 0;border-bottom:1px solid #e7dcd7;color:var(--burgundy);font-family:Domine,serif;font-size:17px;font-weight:700;line-height:1.3}
.domain-topic-subcategories li::before{content:counter(subtopic,decimal-leading-zero);position:static;color:rgba(113,37,58,.3);font-family:Domine,serif;font-size:21px;font-weight:700;line-height:1}
.domain-topic-subcategories li::after{content:'→';display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(113,37,58,.24);border-radius:50%;color:var(--burgundy);font-family:'Open Sans',sans-serif;font-size:15px;font-weight:400;line-height:1}

@media(max-width:767px){
  .domain-topic-subcategories{padding:0 2px 14px 74px}
  .domain-topic-subcategories li{grid-template-columns:42px minmax(0,1fr) 30px;gap:10px;min-height:58px;font-size:16px}
  .domain-topic-subcategories li::before{font-size:19px}
  .domain-topic-subcategories li::after{width:28px;height:28px;font-size:14px}
}

/* Signature du Cabinet et repère fixe de la section Honoraires */
.cabinet-hero .domain-detail-hero-content>.cabinet-hero-signature{width:320px;height:auto;margin:17px 0 4px;filter:brightness(0) invert(1)}
@media(min-width:821px){
  .fees-overview{align-items:start}
  .fees-overview .fees-heading{position:sticky;top:110px;align-self:start}
}
@media(max-width:767px){
  .cabinet-hero .domain-detail-hero-content>.cabinet-hero-signature{width:245px;margin:14px 0 2px}
}

.honoraires .contact-rdv .form-help{color:#fff}

/* Bandeaux intérieurs sans voile et alignés sur le logo */
.domain-detail .domain-detail-hero-shade{background:transparent!important}
.domain-detail .domain-detail-hero-content{width:min(calc(100% - 72px),1760px)}
.domain-detail .domain-detail-hero-content h1,.domain-detail .domain-detail-hero-content .hero-description,.domain-detail .domain-detail-hero-content .hero-kicker{text-shadow:0 2px 18px rgba(35,20,27,.72)}
.le-cabinet .contact-rdv .form-help{color:#fff}

@media(max-width:1024px){
  .domain-detail .domain-detail-hero-content{width:calc(100% - 42px)}
}
@media(max-width:767px){
  .domain-detail .domain-detail-hero-content{width:calc(100% - 30px)}
}

/* Page 404 complète */
.error-page{background:var(--cream)}
.error-hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:url('../images/domaines/droits-hero-partage.png') center/cover no-repeat;color:#fff}
.error-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(49,22,35,.9) 0%,rgba(113,37,58,.76) 48%,rgba(128,146,155,.45) 100%)}
.error-hero-inner{position:relative;z-index:1;padding-block:140px 90px}
.error-code{margin:0 0 16px;color:var(--terracotta);font-family:Domine,serif;font-size:22px;font-weight:700;letter-spacing:.18em}
.error-hero h1{max-width:760px;margin:0;color:#fff;font-family:Domine,serif;font-size:clamp(52px,6vw,92px);line-height:1.02}
.error-hero h1 em{color:var(--terracotta);font-style:normal}
.error-hero-description{max-width:640px;margin:26px 0 30px;color:#fff;line-height:1.7}
.error-actions{display:flex;flex-wrap:wrap;gap:14px}
.error-actions .button{font-size:17px}
.error-actions .button-secondary{border:1px solid rgba(255,255,255,.75);background:transparent;color:#fff}
.error-actions .button-secondary:hover,.error-actions .button-secondary:focus-visible{background:#fff;color:var(--burgundy)}
.error-links{padding-block:82px 94px}
.error-links .eyebrow{margin:0 0 12px;color:var(--navy)!important}
.error-links h2{max-width:700px;margin:0 0 38px;color:var(--burgundy)}
.error-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.error-link-card{position:relative;min-height:180px;padding:26px 66px 26px 26px;border:1px solid #e3d7d3;background:#fff;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.error-link-card:hover,.error-link-card:focus-visible{transform:translateY(-4px);border-color:var(--terracotta);box-shadow:0 18px 36px rgba(74,35,48,.1)}
.error-link-card h3{margin:0 0 10px;color:var(--burgundy)}
.error-link-card p{margin:0;color:#554c4e;line-height:1.55}
.error-link-card span{position:absolute;right:24px;top:28px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(113,37,58,.25);border-radius:50%;color:var(--burgundy)}
.error-link-card:hover span,.error-link-card:focus-visible span{background:var(--navy);border-color:var(--navy);color:#fff}

@media(max-width:820px){
  .error-hero{min-height:580px}
  .error-hero-inner{padding-block:125px 72px}
  .error-link-grid{grid-template-columns:1fr}
  .error-link-card{min-height:0}
}

/* Motifs abstraits du bandeau Actualités */
.editorial-hero{min-height:390px;display:flex;align-items:center;background-color:#243946;background-image:url('../images/blog/actualites-hero-pattern.png');background-position:center;background-repeat:no-repeat;background-size:cover}
.editorial-hero .container{position:relative}
.editorial-hero h1,.editorial-hero .container>p:last-child{text-shadow:0 2px 18px rgba(15,27,34,.45)}

@media(max-width:767px){
  .editorial-hero{min-height:430px;background-position:62% center}
}

/* Alignement de l'introduction de l'article sur son image */
.article-header-inner{max-width:1120px}
.article-meta strong{color:var(--burgundy);font-weight:700}
.article-callout h3{color:#fff}

/* Cartes de domaines de hauteur identique */
.home .domain-cards{align-items:stretch}
.home .domain-card{display:flex;height:100%}
.home .domain-card>a{width:100%;height:100%;min-height:310px;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch}
.home .domain-card p{align-self:start}
.home .domain-card b{align-self:end}

/* Illustration complète de la réponse juridique */
.home .why-image{justify-self:end;align-self:center;width:min(100%,420px);height:auto;aspect-ratio:656/1024;overflow:hidden}
.home .why .why-image img{width:100%;max-width:none;height:100%;margin:0;object-fit:contain;object-position:center;border:0}

@media(max-width:767px){
  .home .domain-card>a{height:auto;min-height:260px}
  .home .why-image{justify-self:stretch;width:100%;max-width:420px;margin-inline:auto}
}
