/* One continuous identity and one accessible navigation on every public page. */
html{scroll-padding-top:110px}
.shared-header.site-header{position:sticky;inset:0 0 auto;z-index:50;background:var(--cream);border-bottom:1px solid #cfbea3;backdrop-filter:blur(18px);box-shadow:0 3px 20px #35271907}
.shared-header .header-inner,.is-scrolled .shared-header .header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;width:min(1440px,calc(100% - 80px));height:104px;min-height:104px;padding:0;margin-inline:auto;gap:24px}
.shared-header .brand,.is-scrolled .shared-header .brand{position:static;display:block;flex:0 0 110px;width:110px;isolation:auto;text-align:center}
.shared-header .brand::before{display:none}
.shared-header .brand img,.is-scrolled .shared-header .brand img{display:block;width:110px;height:104px;object-fit:contain;filter:var(--brand-contrast);mix-blend-mode:normal}
.shared-header .site-navigation{display:flex;align-items:center;justify-content:center;gap:clamp(16px,1.8vw,28px);margin-left:auto}
.shared-header .site-navigation a,.is-scrolled .shared-header .site-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0 8px;font:400 clamp(18px,1.6vw,22px)/1.2 var(--serif);border-bottom:1px solid transparent;white-space:nowrap}
.shared-header .site-navigation a:hover,.shared-header .site-navigation a[aria-current="page"]{color:var(--coral);border-bottom-color:var(--coral)}
.shared-header .header-client{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #b49a7569;border-radius:28px;background:#e9ddc959;color:var(--ink);font:400 11px/1.4 var(--sans);white-space:nowrap}
.shared-header .header-client span{padding:0}
.shared-header .header-client:hover{border-color:var(--gold);background:#fffbf3}
.shared-header .ui-icon{display:block;flex:0 0 17px;width:17px;height:17px;vertical-align:middle}
.shared-header a:focus-visible,.shared-header summary:focus-visible{outline:2px solid var(--coral);outline-offset:5px}
.site-menu{display:none;position:relative;flex-shrink:0}
.site-menu__toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-width:94px;min-height:44px;list-style:none;cursor:pointer;border:1px solid #b49a758c;border-radius:27px;background:#fffaf26e;color:var(--ink);font:400 11px/1.4 var(--sans);padding:10px 14px;user-select:none}
.site-menu__toggle::-webkit-details-marker{display:none}
.site-menu__toggle::marker{content:""}
.site-menu__icon{width:21px;height:21px;flex:0 0 21px}
.site-menu__close-label{display:none}
.site-menu[open] .site-menu__open-label{display:none}
.site-menu[open] .site-menu__close-label{display:inline}
.site-menu[open] .site-menu__icon{transform:rotate(90deg)}
.site-menu__links{position:absolute;top:calc(100% + 20px);right:0;display:flex;flex-direction:column;width:min(390px,calc(100vw - 40px));max-height:calc(100dvh - 118px);overflow-y:auto;overscroll-behavior:contain;padding:17px 24px 19px;border:1px solid #c5ae77;border-radius:20px;background:linear-gradient(135deg,#fffaf5f7,#f2e8d9f7);backdrop-filter:blur(26px);box-shadow:inset 0 1px 0 #fff,0 18px 55px #32231926;color:var(--ink);isolation:isolate}
.site-menu__eyebrow{display:block;padding:5px 0 13px;font:500 8px/1.6 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#876c45}
.site-menu__links>a{display:flex;align-items:center;min-height:48px;border-top:1px solid #d7cbbb;font:400 25px/1.15 var(--serif);padding:9px 0}
.site-menu__links>a:hover,.site-menu__links>a[aria-current="page"]{color:var(--coral)}
.site-menu__links>a[aria-current="page"]::after{content:"";width:6px;height:6px;margin-left:auto;border-radius:50%;background:var(--coral)}
.site-menu__links>.site-menu__client{display:flex;justify-content:space-between;gap:15px;margin-top:5px;font:400 11px/1.4 var(--sans);color:var(--olive)}
.shared-header~main [id]{scroll-margin-top:0}
.menu-trigger{display:none}
.menu-dialog:not([open]){display:none}
@media(max-width:1100px){
  :root{--mobile-action-size:54px;--mobile-action-bottom:calc(12px + env(safe-area-inset-bottom,0px));--mobile-action-right:calc(14px + env(safe-area-inset-right,0px));--mobile-action-gap:14px}
  html{scroll-padding-top:24px;scroll-padding-bottom:90px}
  .shared-header.site-header,.is-scrolled .shared-header.site-header{position:relative;inset:auto;z-index:50;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}
  body:not(.content-page):not(.legal-page) .shared-header.site-header{position:absolute;inset:0 0 auto}
  .shared-header .header-inner,.is-scrolled .shared-header .header-inner{align-items:flex-start;justify-content:flex-start;width:calc(100% - 40px);height:auto;min-height:0;padding:calc(14px + env(safe-area-inset-top,0px)) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px);gap:0}
  .shared-header .brand,.is-scrolled .shared-header .brand{position:relative;left:-8px;flex:0 0 126px;width:126px;isolation:isolate;text-align:left;pointer-events:auto}
  .shared-header .brand img,.is-scrolled .shared-header .brand img{width:120px;height:114px;object-fit:contain;filter:var(--brand-contrast)}
  body:not(.content-page):not(.legal-page) .shared-header .brand::before{content:"";display:block;position:absolute;inset:-12px -22px -10px -12px;z-index:-1;background:radial-gradient(ellipse at 42% 46%,#fff3d7c7 0%,#f5e1b65c 42%,transparent 74%);filter:blur(10px);pointer-events:none}
  .shared-header .site-navigation,.shared-header .header-client{display:none}
  .menu-trigger{position:fixed;right:var(--mobile-action-right);bottom:var(--mobile-action-bottom);z-index:55;place-items:center;width:var(--mobile-action-size);height:var(--mobile-action-size);padding:0;border:1px solid #f3dcc5b3;border-radius:50%;background:linear-gradient(140deg,#b67c63eb,#955241ed);color:#fff4e7;box-shadow:0 5px 20px #1c100a40;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
  .hero .hero-button{position:fixed;left:calc(24px + env(safe-area-inset-left,0px));right:calc(var(--mobile-action-right) + var(--mobile-action-size) + var(--mobile-action-gap));bottom:var(--mobile-action-bottom);z-index:54;width:auto;min-width:0;height:var(--mobile-action-size);min-height:var(--mobile-action-size);margin:0;padding:12px 18px;font-size:12px;letter-spacing:.045em;gap:12px}
  .hero .hero-button:hover{transform:none}
  .hero .hero-content{min-height:calc(100svh - var(--mobile-action-size));padding-bottom:calc(var(--mobile-action-size) + 25px)}
  .past-hero .hero-button{visibility:hidden;pointer-events:none}
  .interface-ready .menu-trigger{display:grid}
  .menu-trigger svg{display:block;width:29px;height:29px;margin-top:-10px}
  .menu-trigger>span{position:absolute;bottom:8px;font:400 9px/1.3 var(--sans);letter-spacing:.07em;text-transform:uppercase}
  .menu-trigger:hover{background:#b06854}
  .menu-trigger[aria-expanded="true"]{background:#7f4739}
  .menu-trigger:focus-visible,.menu-dialog :is(a,button):focus-visible{outline:3px solid var(--coral);outline-offset:4px}
  .menu-is-open{overflow:hidden}
  .menu-dialog{position:fixed;inset:auto calc(16px + env(safe-area-inset-right,0px)) calc(80px + env(safe-area-inset-bottom,0px)) auto;margin:0;width:min(450px,calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-height:calc(100dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden;padding:16px 24px 15px;border:1px solid #fff2dfc7;border-radius:26px 26px 10px 26px;background:linear-gradient(145deg,#fff9efd9,#f4e5d4f5);color:var(--ink);box-shadow:0 20px 100px #24170959;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);transform-origin:bottom right}
  .menu-dialog::backdrop{background:#1c180f75;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
  .menu-dialog .menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
  .menu-dialog .menu-heading .section-label{margin:0;font:500 10px/1.5 var(--sans);letter-spacing:.07em;color:#77563c}
  .menu-dialog .menu-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:11px;border:1px solid #beaa96;border-radius:50%;background:transparent;color:#71452f;cursor:pointer}
  .menu-dialog .menu-close .ui-icon{display:block;width:20px;height:20px}
  .menu-dialog h2{margin:3px 0 0;font:400 32px/1.08 var(--serif);letter-spacing:-.035em}
  .menu-dialog .menu-subtitle{margin:7px 0 0;font:400 9px/1.5 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#846d57}
  .menu-dialog .popup-nav{margin-top:12px}
  .menu-dialog .popup-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding-block:5px;border-top:1px solid #d3bfaa;font:400 27px/1.1 var(--serif);color:var(--ink)}
  .menu-dialog .popup-nav a>span{font:400 9px/1.4 var(--sans);letter-spacing:.07em;color:#826b56}
  .menu-dialog .menu-icon{display:block;flex:0 0 20px;width:20px;height:20px;margin-left:auto;color:#93614c}
  .menu-dialog .popup-nav a:hover,.menu-dialog .popup-nav a[aria-current="page"]{color:var(--coral)}
  .menu-dialog .menu-contact{display:flex;flex-direction:column;gap:0;margin-top:4px;padding-top:4px;border-top:1px solid #d3bfaa}
  .menu-dialog .menu-contact a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font:400 12px/1.4 var(--sans)}
  .menu-dialog .menu-contact .menu-icon{flex-basis:18px;width:18px;height:18px}
  .menu-dialog .menu-note{margin:7px 0 0;font:400 9px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;color:#846d57}
  .site-menu{display:block;position:fixed;right:var(--mobile-action-right);bottom:var(--mobile-action-bottom);z-index:55;pointer-events:auto}
  .interface-ready .site-menu{display:none}
  .site-menu__toggle{width:54px;height:54px;min-width:54px;min-height:54px;padding:0;border-color:#f3dcc5b3;border-radius:50%;background:linear-gradient(140deg,#b67c63eb,#955241ed);color:#fff4e7;font-size:9px;box-shadow:0 5px 20px #1c100a40}
  .site-menu__toggle .site-menu__icon{display:none}
  .site-menu__links{inset:auto 0 68px auto;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:hidden;padding:12px 22px 14px}
  .site-menu__links>a{min-height:44px;padding-block:6px;font-size:25px}
  .site-menu__eyebrow{padding:2px 0 11px;font-size:8px}
  .site-menu__links>.site-menu__client{min-height:44px;margin-top:0;font-size:11px}
  .content-page .page-footer,.legal-page .site-footer,body:not(.content-page):not(.legal-page) .site-footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}
@media(min-width:901px) and (max-width:1100px){
  body:not(.content-page):not(.legal-page) .hero{display:flex;flex-direction:column;height:auto;min-height:100svh;max-height:none;padding-bottom:40px}
  body:not(.content-page):not(.legal-page) .hero-content{position:relative;inset:auto;padding-top:max(320px,44svh)}
}
@media(max-width:600px) and (min-height:800px){
  .hero .hero-content{min-height:0;padding-bottom:0}
  .hero .hero-bottom{margin-top:32px}
}
@media(max-width:1100px) and (max-height:740px){
  .menu-dialog .menu-subtitle,.menu-dialog .menu-note{display:none}
}
@media(max-width:600px) and (max-height:620px){
  .hero .hero-content{padding-top:min(39svh,240px)}
}
@media(max-width:600px) and (max-height:620px){
  .menu-dialog{padding:14px 18px}
  .menu-dialog h2{font-size:28px}
  .menu-dialog .popup-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;margin-top:12px}
  .menu-dialog .popup-nav a{font-size:20px;gap:6px}
  .menu-dialog .popup-nav .menu-icon{display:none}
  .site-menu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;padding-inline:18px}
  .site-menu__eyebrow{grid-column:1/-1}
  .site-menu__links>a{font-size:20px}
  .site-menu__links>.site-menu__client{gap:5px;font-size:10px}
}
@media(max-width:360px){
  .shared-header .brand,.is-scrolled .shared-header .brand{flex-basis:116px;width:116px}
  .shared-header .brand img,.is-scrolled .shared-header .brand img{width:112px;height:106px}
  .menu-dialog .popup-nav a{font-size:18px;gap:5px}
}
@media(max-width:1100px) and (max-height:500px){
  .menu-dialog h2,.menu-dialog .menu-subtitle,.menu-dialog .menu-note{display:none}
  .site-menu__eyebrow{display:none}
}
@media(min-width:601px) and (max-width:1100px) and (max-height:500px){
  .hero .hero-content{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:10px 24px;padding-top:150px}
  .hero .eyebrow{grid-column:1/-1}
  .hero h1{grid-column:1;grid-row:2;font-size:clamp(34px,5.6vw,48px);margin-top:0}
  .hero-description{grid-column:2;grid-row:2;align-self:center;font-size:18px;line-height:1.35;margin-top:0}
  .hero-description>span{font-size:15px;line-height:1.4;margin-top:6px}
  .hero-planning{grid-column:1/-1}
}
@media(max-width:1100px) and (min-width:601px) and (max-height:500px){
  .menu-dialog{width:min(570px,calc(100% - 32px));padding:8px 20px}
  .menu-dialog h2,.menu-dialog .menu-subtitle,.menu-dialog .menu-note{display:none}
  .menu-dialog .popup-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;margin-top:4px}
  .menu-dialog .popup-nav a{font-size:22px;min-height:44px;padding-block:5px}
  .menu-dialog .menu-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:0;padding-top:2px}
  .site-menu__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;width:min(540px,calc(100vw - 32px));padding:12px 22px}
  .site-menu__eyebrow{display:none}
  .site-menu__links>a{min-height:44px;padding-block:8px;font-size:22px}
  .site-menu__links>.site-menu__client{grid-column:auto;min-height:44px;margin-top:0;font-size:11px}
}
@media(prefers-reduced-motion:no-preference){
  .site-menu__icon{transition:transform .2s ease}
  .site-menu[open] .site-menu__links{animation:site-navigation-arrive .22s ease both}
  .menu-dialog[open]{animation:site-menu-arrive .35s cubic-bezier(.2,.7,.1,1) both}
  .menu-dialog[open]::backdrop{animation:site-menu-veil .25s ease both}
  @keyframes site-navigation-arrive{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
  @keyframes site-menu-arrive{from{opacity:0;transform:translateY(24px) scale(.95)}to{opacity:1;transform:none}}
  @keyframes site-menu-veil{from{opacity:0}to{opacity:1}}
}

/* Or plus profond, détails mieux dessinés ; aucune surface derrière le logo. */
.shared-header{--brand-contrast:brightness(.76) contrast(1.55) saturate(1.1) drop-shadow(0 0 .4px #46301e80)}
@media(max-width:1100px){
  body:not(.content-page):not(.legal-page) .shared-header .brand img,
  body:not(.content-page):not(.legal-page).is-scrolled .shared-header .brand img{filter:var(--brand-contrast)}
  body:not(.content-page):not(.legal-page) .shared-header .brand::before{display:none}
}

/* Native language menu: keyboard accessible, no flags or external translation. */
.language-switch{position:relative;flex:none;font:500 12px/1.5 var(--sans);color:var(--olive)}
.language-switch>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 8px;letter-spacing:.05em}
.language-switch>summary::-webkit-details-marker{display:none}
.language-switch>div{position:absolute;right:0;top:100%;z-index:100;min-width:130px;padding:6px;background:#faf7f1;border:1px solid #d7cbbb;border-radius:12px;box-shadow:0 10px 30px #33291f20}
.language-switch a{display:block;padding:11px 12px;min-height:44px;box-sizing:border-box;border-radius:8px;font-size:13px}
.language-switch a:hover,.language-switch a[aria-current]{background:#e9e4d7;color:#784b35}
.language-switch summary:focus-visible,.language-switch a:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.menu-dialog .language-switch{margin:10px 0;color:var(--olive)}
.menu-dialog .language-switch>summary{width:fit-content;border:1px solid #d7cbbb;border-radius:20px;padding-inline:14px}
.menu-dialog .language-switch>div{right:auto;left:0}
@media(max-width:1100px){.shared-header .language-switch{display:none}}
@media(min-width:1101px){.shared-header .language-switch{order:4}.shared-header .header-inner{gap:18px}.desktop-nav{gap:22px}}
