/* Groupe Cruvelier — accueil moderne V1; styles limités à cette page. */
/* Le verrouillage plein écran de l'ancien hero ne s'applique plus au contenu.
   :not(.menu-open) laisse le contrôleur public conserver son verrouillage exact. */
body.gc-public-theme-v1.gc-home-modern{
  background:#0c0d10!important;
  --pico-muted-color:#92939c;
  --gc-public-muted:#92939c;
  padding-top:60px;
  padding-top:calc(60px + env(safe-area-inset-top,0px));
}
body.gc-public-theme-v1.gc-home-modern:not(.menu-open){
  height:auto!important;
  min-height:100vh!important;
  overflow:visible!important;
}
@supports(min-height:100dvh){
  body.gc-public-theme-v1.gc-home-modern:not(.menu-open){min-height:100dvh!important}
}
body.gc-home-modern #gc-accueil-moderne{
  flex:1 0 auto;
  max-width:1440px;
  margin:0 auto;
  scroll-margin-top:76px;
}
#gc-accueil-moderne .gcm-hero{background-image:none}
#gc-accueil-moderne .gcm-copy h1{text-wrap:initial}
#gc-accueil-moderne .gcm-sector{font-family:inherit;font-weight:500!important;line-height:1.4;transform:none!important;text-decoration:none;}
#gc-accueil-moderne .gcm-motion{font-weight:400!important;box-shadow:none!important;transform:none!important;}
#gc-accueil-moderne .gcm-primary{line-height:1.4;}
#gc-accueil-moderne .gcm-switcher{scroll-margin-top:80px;}
#gc-accueil-moderne .gcm-feature{scroll-margin-top:80px;}
#gc-accueil-moderne:not(.gcm-enhanced) .gcm-sector:first-child{background:#d52a3d!important;color:#fff!important;}
#gc-accueil-moderne .gcm-canvas{visibility:hidden;}
#gc-accueil-moderne.gcm-canvas-ready .gcm-canvas{visibility:visible;}
#gc-accueil-moderne.gcm-canvas-ready .gcm-fallback{display:none;}
@media(min-width:571px) and (max-width:680px){
  #gc-accueil-moderne .gcm-sector{padding:13px 8px!important;gap:6px!important;font-size:12px!important;}
}
@supports not (display:grid){
  #gc-accueil-moderne .gcm-switcher{display:flex;flex-wrap:wrap;}
  #gc-accueil-moderne .gcm-sector{width:25%;}
  #gc-accueil-moderne .gcm-feature{display:block;}
  #gc-accueil-moderne .gcm-feature-action{margin-top:12px;}
  @media(max-width:570px){#gc-accueil-moderne .gcm-sector{width:50%;}}
}
#gc-accueil-moderne {
      --gcm-bg: #0c0d10;
      --gcm-text: #f6f6f4;
      --gcm-muted: #a5a6ad;
      --gcm-line: #2a2b31;
      --gcm-red: #e83649;
      color-scheme: dark;
      position: relative;
      isolation: isolate;
      
      width: 100%;
      background: #0c0d10;
      background: var(--gcm-bg);
      color: #f6f6f4;
      color: var(--gcm-text);
      font-family: "Inter", "Segoe UI", Arial, sans-serif;
      text-align: left;
      -webkit-font-smoothing: antialiased;
    }
    #gc-accueil-moderne *, #gc-accueil-moderne *::before, #gc-accueil-moderne *::after { box-sizing: border-box; }
    #gc-accueil-moderne [hidden] { display: none !important; }
    #gc-accueil-moderne button { font: inherit; cursor: pointer; }
    #gc-accueil-moderne a { color: inherit; text-decoration: none; }
    #gc-accueil-moderne button, #gc-accueil-moderne a { -webkit-tap-highlight-color: transparent; }
    #gc-accueil-moderne .gcm-hero { position: relative; padding: 50px 48px 40px; min-height: 464px; }
    #gc-accueil-moderne .gcm-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 82% 50%, #831b2b21 0%, transparent 51%); }
    #gc-accueil-moderne .gcm-copy { position: relative; z-index: 2; max-width: 61%; pointer-events: none; }
    #gc-accueil-moderne .gcm-copy a, #gc-accueil-moderne .gcm-copy button { pointer-events: auto; }
    #gc-accueil-moderne .gcm-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 27px; font-size: 11px; line-height: 1.5; font-weight: 500; letter-spacing: .15em; color: #c8c8ce; text-transform: uppercase; }
    #gc-accueil-moderne .gcm-eyebrow::before { content: ""; display: block; height: 2px; width: 25px; flex: 0 0 25px; background: #e83649; }
    #gc-accueil-moderne .gcm-copy h1 { margin: 0; padding: 0; color: #fafaf8; font-size: 72px; font-size: clamp(46px, 8.6vw, 101px); font-weight: 500; line-height: .99; letter-spacing: -.069em; }
    #gc-accueil-moderne .gcm-copy h1 span { display: block; white-space: nowrap; }
    #gc-accueil-moderne .gcm-copy h1 .gcm-headline-red { color: #f24b5c; margin-top: 7px; }
    #gc-accueil-moderne .gcm-signature { margin: 25px 0 0; color: #eeedf0; font-size: 20px; line-height: 1.5; font-weight: 400; letter-spacing: -.025em; }
    #gc-accueil-moderne .gcm-subtitle { margin: 6px 0 0; color: #a5a6ad; font-size: 13px; line-height: 1.7; max-width: 340px; }
    #gc-accueil-moderne .gcm-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 13px 24px; margin-top: 28px; }
    #gc-accueil-moderne .gcm-primary { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 50px; padding: 6px 7px 6px 21px; border: 0 !important; border-radius: 28px !important; background: #f7f7f4 !important; color: #17171b !important; font-size: 13px; font-weight: 500 !important; letter-spacing: -.01em; transition: transform .25s ease, background .25s ease; }
    #gc-accueil-moderne .gcm-primary:hover { transform: translateY(-2px) !important; background: #fff !important; }
    #gc-accueil-moderne .gcm-primary .gcm-arrow-circle { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50% !important; background: #e83649 !important; color: #fff !important; }
    #gc-accueil-moderne .gcm-primary svg { width: 17px; height: 17px; }
    #gc-accueil-moderne .gcm-contact { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #d3d3d7; font-size: 12px; font-weight: 400; transition: color .2s; }
    #gc-accueil-moderne .gcm-contact:hover { color: #fff; }
    #gc-accueil-moderne .gcm-contact svg { width: 15px; height: 15px; }
    #gc-accueil-moderne .gcm-art { position: absolute; right: 6px; top: -6px; width: 50%; height: 428px; pointer-events: none; }
    #gc-accueil-moderne .gcm-art::before { content: ""; position: absolute; width: 68%; height: 66%; left: 19%; top: 17%; border-radius: 50%; background: radial-gradient(ellipse, #bd24382c 0%, #71172217 44%, transparent 73%); }
    #gc-accueil-moderne .gcm-art::after { content: ""; position: absolute; left: 5%; right: 0; top: 0; bottom: 0; background: linear-gradient(90deg, #0c0d1073, #0c0d1000 25%); pointer-events: none; }
    #gc-accueil-moderne .gcm-canvas { position: relative; display: block; width: 100%; height: 100%; }
    #gc-accueil-moderne .gcm-art-stamp { position: absolute; z-index: 2; right: 18px; bottom: 13px; display: flex; align-items: center; gap: 12px; color: #b0a1ab; font-size: 11px; line-height: 1.5; letter-spacing: .08em; }
    #gc-accueil-moderne .gcm-stamp-line { display: block; width: 28px; height: 1px; background: #674350; }
    #gc-accueil-moderne .gcm-explorer { position: relative; z-index: 3; margin: 4px 48px 0; }
    #gc-accueil-moderne .gcm-explorer-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
    #gc-accueil-moderne .gcm-explorer-label { color: #999ba6; margin: 0; font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .13em; text-transform: uppercase; }
    #gc-accueil-moderne .gcm-motion { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0 !important; border-radius: 0 !important; padding: 4px 0; background: transparent !important; color: #ada8b0 !important; font-size: 11px; min-height: 30px; }
    #gc-accueil-moderne .gcm-motion-symbol { display: inline-block; width: 7px; height: 9px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
    #gc-accueil-moderne .gcm-motion[aria-pressed="true"] .gcm-motion-symbol { width: 0; height: 0; border-left: 6px solid currentColor; border-right: 0; border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
    #gc-accueil-moderne .gcm-switcher { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; padding: 6px; background: #18191f; border: 1px solid #303038; border-radius: 21px; }
    #gc-accueil-moderne .gcm-sector { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 11px; min-width: 0; min-height: 66px; padding: 15px 18px; border: 0 !important; border-radius: 15px !important; background: transparent !important; color: #bfc0c8 !important; font-size: 15px; font-weight: 500 !important; letter-spacing: -.025em; transition: color .22s, background .25s, box-shadow .25s; }
    #gc-accueil-moderne .gcm-sector svg { display: block; flex: 0 0 17px; width: 17px; height: 17px; opacity: .8; }
    #gc-accueil-moderne .gcm-sector:hover { background: #24242d !important; color: #fff !important; }
    #gc-accueil-moderne .gcm-sector[aria-pressed="true"] { background: #d52a3d !important; box-shadow: inset 0 1px 0 #ff77873b, 0 5px 20px #8a182c35 !important; color: #fff !important; }
    #gc-accueil-moderne .gcm-sector[aria-pressed="true"] svg { opacity: 1; }
    #gc-accueil-moderne .gcm-feature { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding: 24px 5px 26px; min-height: 122px; }
    #gc-accueil-moderne .gcm-feature-copy { min-width: 0; }
    #gc-accueil-moderne .gcm-feature-title { margin: 0 0 6px; color: #f2f2f3; font-size: 23px; line-height: 1.3; font-weight: 500; letter-spacing: -.035em; }
    #gc-accueil-moderne .gcm-feature-text { margin: 0; max-width: 570px; color: #a6a6af; font-size: 12px; line-height: 1.7; }
    #gc-accueil-moderne .gcm-feature-action { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; white-space: nowrap; color: #e6e6eb; font-size: 12px; transition: color .2s ease; }
    #gc-accueil-moderne .gcm-feature-action:hover { color: #ff7787; }
    #gc-accueil-moderne .gcm-feature-action .gcm-link-circle { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #464650; border-radius: 50%; background: #19191f; }
    #gc-accueil-moderne .gcm-feature-action svg { width: 16px; height: 16px; }
    #gc-accueil-moderne .gcm-live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    #gc-accueil-moderne .gcm-fallback { position: absolute; inset: 17% 17%; display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; transform: rotate(-24deg); }
    #gc-accueil-moderne .gcm-fallback span { display: block; border-radius: 4px; background: linear-gradient(135deg,#ff9b9c,#d52a3d 65%,#581223); transform: skewY(-10deg); box-shadow: 6px 6px 0 #541524; }
    @media(max-width:800px) {
      #gc-accueil-moderne .gcm-hero { padding: 34px 32px 28px; min-height: 420px; }
      #gc-accueil-moderne .gcm-copy { max-width: 65%; }
      #gc-accueil-moderne .gcm-copy h1 { font-size: 8.6vw; }
      #gc-accueil-moderne .gcm-eyebrow { font-size: 11px; letter-spacing: .11em; margin-bottom: 23px; }
      #gc-accueil-moderne .gcm-signature { font-size: 18px; margin-top: 23px; }
      #gc-accueil-moderne .gcm-subtitle { max-width: 270px; font-size: 12px; }
      #gc-accueil-moderne .gcm-art { top: 0; right: 0; height: 352px; width: 48%; }
      #gc-accueil-moderne .gcm-art-stamp { bottom: 0; font-size: 11px; right: 21px; }
      #gc-accueil-moderne .gcm-actions { gap: 8px 18px; margin-top: 25px; }
      #gc-accueil-moderne .gcm-primary { font-size: 12px; gap: 15px; padding-left: 16px; }
      #gc-accueil-moderne .gcm-explorer { margin: 0 32px; }
      #gc-accueil-moderne .gcm-sector { padding: 13px 11px; gap: 8px; font-size: 13px; min-height: 60px; }
      #gc-accueil-moderne .gcm-sector svg { width: 15px; height: 15px; flex-basis: 15px; }
      #gc-accueil-moderne .gcm-feature { gap: 20px; min-height: 135px; }
      #gc-accueil-moderne .gcm-feature-title { font-size: 21px; }
      #gc-accueil-moderne .gcm-feature-action { gap: 7px; font-size: 11px; }
    }
    @media(max-width:570px) {
      #gc-accueil-moderne .gcm-hero { display: flex; flex-direction: column; min-height: 0; padding: 26px 24px 0; }
      #gc-accueil-moderne .gcm-copy { max-width: 100%; }
      #gc-accueil-moderne .gcm-eyebrow { font-size: 11px; margin-bottom: 24px; letter-spacing: .12em; }
      #gc-accueil-moderne .gcm-copy h1 { font-size: 12.5vw; letter-spacing: -.063em; }
      #gc-accueil-moderne .gcm-signature { font-size: 18px; margin-top: 22px; }
      #gc-accueil-moderne .gcm-subtitle { max-width: 310px; font-size: 12px; }
      #gc-accueil-moderne .gcm-actions { margin-top: 23px; gap: 8px 17px; }
      #gc-accueil-moderne .gcm-primary { gap: 13px; padding-left: 15px; font-size: 12px; min-height: 48px; }
      #gc-accueil-moderne .gcm-contact { font-size: 12px; }
      #gc-accueil-moderne .gcm-art { position: relative; width: 100%; right: auto; top: auto; height: 272px; margin: 2px 0 0; }
      #gc-accueil-moderne .gcm-art::after { background: none; }
      #gc-accueil-moderne .gcm-art-stamp { right: 0; bottom: 5px; font-size: 11px; }
      #gc-accueil-moderne .gcm-explorer { margin: 18px 24px 0; }
      #gc-accueil-moderne .gcm-explorer-label { font-size: 11px; letter-spacing: .09em; }
      #gc-accueil-moderne .gcm-motion { font-size: 11px; }
      #gc-accueil-moderne .gcm-switcher { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; border-radius: 19px; }
      #gc-accueil-moderne .gcm-sector { font-size: 13px; min-height: 56px; gap: 10px; padding: 12px; border-radius: 13px !important; }
      #gc-accueil-moderne .gcm-feature { grid-template-columns: 1fr; gap: 12px; padding: 24px 2px; }
      #gc-accueil-moderne .gcm-feature-title { font-size: 23px; }
      #gc-accueil-moderne .gcm-feature-text { font-size: 12px; }
      #gc-accueil-moderne .gcm-feature-action { justify-self: start; font-size: 12px; }
    }
    @media(prefers-reduced-motion:reduce) {
      #gc-accueil-moderne *, #gc-accueil-moderne *::before, #gc-accueil-moderne *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    }
    @media(pointer:coarse) { #gc-accueil-moderne .gcm-motion { min-height: 44px; } }

/* ========================================================================== */
/* V2 — composition pleine largeur + respiration claire.                      */
/* Surcouche volontairement additive : la logique, les fallbacks et le         */
/* responsive V1 restent la base de sécurité.                                  */
/* ========================================================================== */
body.gc-home-modern #gc-accueil-moderne{
  max-width:none;
  margin:0;
  overflow:hidden;
}
#gc-accueil-moderne{
  --gcm-gutter:clamp(24px,5vw,96px);
  --gcm-light:#f4f1eb;
  --gcm-light-2:#ebe6df;
  --gcm-ink:#1b1b1f;
  --gcm-ink-muted:#6e6b70;
}
#gc-accueil-moderne .gcm-hero{
  min-height:clamp(560px,68vh,760px);
  padding:clamp(52px,6vh,84px) var(--gcm-gutter) clamp(58px,7vh,96px);
  background:
    radial-gradient(ellipse at 83% 43%,rgba(132,24,43,.22) 0%,rgba(87,18,33,.10) 31%,transparent 61%),
    radial-gradient(ellipse at 14% -12%,rgba(255,255,255,.045) 0%,transparent 42%),
    linear-gradient(118deg,#111217 0%,#0c0d10 54%,#0a0b0e 100%);
}
#gc-accueil-moderne .gcm-hero::before{
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 0,rgba(255,255,255,0) 18%),
    radial-gradient(ellipse at 83% 46%,rgba(202,40,66,.12) 0%,transparent 55%);
}
#gc-accueil-moderne .gcm-hero::after{
  content:"";
  position:absolute;
  left:var(--gcm-gutter);
  right:var(--gcm-gutter);
  bottom:0;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(232,54,73,.30) 56%,rgba(255,255,255,0));
}
#gc-accueil-moderne .gcm-copy{
  max-width:min(57%,980px);
}
#gc-accueil-moderne .gcm-copy h1{
  font-size:clamp(54px,6.65vw,128px);
  line-height:.95;
  letter-spacing:-.067em;
}
#gc-accueil-moderne .gcm-signature{
  margin-top:30px;
  font-size:clamp(20px,1.3vw,26px);
}
#gc-accueil-moderne .gcm-subtitle{
  max-width:460px;
  font-size:clamp(13px,.86vw,16px);
}
#gc-accueil-moderne .gcm-actions{
  margin-top:34px;
}
#gc-accueil-moderne .gcm-primary{
  min-height:54px;
  padding-left:24px;
  font-size:14px;
}
#gc-accueil-moderne .gcm-primary .gcm-arrow-circle{
  width:40px;
  height:40px;
}
#gc-accueil-moderne .gcm-contact{
  font-size:13px;
}
#gc-accueil-moderne .gcm-art{
  right:clamp(10px,2.4vw,56px);
  top:clamp(0px,1.2vw,24px);
  width:min(55vw,1080px);
  height:clamp(470px,43vw,690px);
}
#gc-accueil-moderne .gcm-art::before{
  width:72%;
  height:70%;
  left:17%;
  top:14%;
  background:radial-gradient(ellipse,rgba(201,39,61,.22) 0%,rgba(113,23,34,.09) 47%,transparent 74%);
}
#gc-accueil-moderne .gcm-art::after{
  left:-1%;
  background:linear-gradient(90deg,rgba(12,13,16,.88),rgba(12,13,16,.16) 24%,rgba(12,13,16,0) 41%);
}
#gc-accueil-moderne .gcm-art-stamp{
  right:clamp(12px,1.5vw,30px);
  bottom:clamp(10px,2vw,26px);
  font-size:12px;
}

#gc-accueil-moderne .gcm-explorer{
  margin:0;
  padding:clamp(38px,3.8vw,66px) var(--gcm-gutter) clamp(46px,4.6vw,78px);
  background:
    radial-gradient(ellipse at 10% 0%,rgba(255,255,255,.88),rgba(255,255,255,0) 38%),
    linear-gradient(180deg,#f7f4ef 0%,var(--gcm-light) 100%);
  color:var(--gcm-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
#gc-accueil-moderne .gcm-explorer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:rgba(31,29,31,.08);
}
#gc-accueil-moderne .gcm-explorer-top{
  margin-bottom:18px;
}
#gc-accueil-moderne .gcm-explorer-label{
  color:#68656a;
  font-size:12px;
  letter-spacing:.14em;
}
#gc-accueil-moderne .gcm-motion{
  color:#6b676c!important;
}
#gc-accueil-moderne .gcm-motion:hover{
  color:#b42139!important;
}
#gc-accueil-moderne .gcm-switcher{
  gap:8px;
  padding:8px;
  border:1px solid #dcd6ce;
  border-radius:24px;
  background:#eae6df;
  box-shadow:0 14px 38px rgba(37,30,31,.06),inset 0 1px 0 rgba(255,255,255,.75);
}
#gc-accueil-moderne .gcm-sector{
  min-height:76px;
  padding:18px 22px;
  border-radius:17px!important;
  color:#4d4a50!important;
  font-size:clamp(14px,1vw,17px);
}
#gc-accueil-moderne .gcm-sector svg{
  width:18px;
  height:18px;
  flex-basis:18px;
}
#gc-accueil-moderne .gcm-sector:hover{
  background:rgba(255,255,255,.82)!important;
  color:#17171b!important;
  box-shadow:0 5px 16px rgba(40,34,35,.05)!important;
}
#gc-accueil-moderne:not(.gcm-enhanced) .gcm-sector:first-child,
#gc-accueil-moderne .gcm-sector[aria-pressed="true"]{
  background:linear-gradient(135deg,#dc3145,#c9253a)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.23),0 9px 26px rgba(139,24,44,.18)!important;
}
#gc-accueil-moderne .gcm-feature{
  min-height:160px;
  gap:clamp(24px,4vw,72px);
  padding:38px 6px 8px;
}
#gc-accueil-moderne .gcm-feature-title{
  margin-bottom:9px;
  color:var(--gcm-ink);
  font-size:clamp(27px,2.15vw,40px);
  line-height:1.15;
  letter-spacing:-.045em;
}
#gc-accueil-moderne .gcm-feature-text{
  max-width:780px;
  color:var(--gcm-ink-muted);
  font-size:clamp(13px,.95vw,16px);
  line-height:1.65;
}
#gc-accueil-moderne .gcm-feature-action{
  min-height:50px;
  color:#29272b;
  font-size:13px;
  font-weight:500;
}
#gc-accueil-moderne .gcm-feature-action:hover{
  color:#c3263c;
}
#gc-accueil-moderne .gcm-feature-action .gcm-link-circle{
  width:44px;
  height:44px;
  border:1px solid #d8d2ca;
  background:#fff;
  color:#202024;
  box-shadow:0 7px 18px rgba(36,29,31,.07);
}

@media(min-width:1600px){
  #gc-accueil-moderne{--gcm-gutter:clamp(72px,6vw,136px)}
  #gc-accueil-moderne .gcm-hero{min-height:700px}
  #gc-accueil-moderne .gcm-copy{max-width:min(55%,1060px)}
  #gc-accueil-moderne .gcm-feature{min-height:176px}
}

@media(max-width:1100px){
  #gc-accueil-moderne{--gcm-gutter:clamp(32px,4.2vw,54px)}
  #gc-accueil-moderne .gcm-hero{
    min-height:530px;
    padding-top:48px;
    padding-bottom:54px;
  }
  #gc-accueil-moderne .gcm-copy{max-width:60%}
  #gc-accueil-moderne .gcm-copy h1{font-size:clamp(50px,7.7vw,84px)}
  #gc-accueil-moderne .gcm-art{right:0;width:52%;height:500px}
  #gc-accueil-moderne .gcm-sector{min-height:70px;padding:16px 15px;font-size:14px}
}

@media(max-width:800px){
  #gc-accueil-moderne{--gcm-gutter:32px}
  #gc-accueil-moderne .gcm-hero{
    min-height:480px;
    padding:40px var(--gcm-gutter) 46px;
  }
  #gc-accueil-moderne .gcm-copy{max-width:64%}
  #gc-accueil-moderne .gcm-copy h1{font-size:clamp(46px,8.6vw,70px)}
  #gc-accueil-moderne .gcm-signature{font-size:19px;margin-top:24px}
  #gc-accueil-moderne .gcm-subtitle{max-width:300px;font-size:12px}
  #gc-accueil-moderne .gcm-primary{min-height:50px;font-size:12px;padding-left:17px}
  #gc-accueil-moderne .gcm-primary .gcm-arrow-circle{width:36px;height:36px}
  #gc-accueil-moderne .gcm-contact{font-size:12px}
  #gc-accueil-moderne .gcm-art{top:4px;right:-2%;width:50%;height:410px}
  #gc-accueil-moderne .gcm-art-stamp{right:18px;bottom:4px;font-size:11px}
  #gc-accueil-moderne .gcm-explorer{margin:0;padding:34px var(--gcm-gutter) 46px}
  #gc-accueil-moderne .gcm-switcher{gap:6px;padding:7px;border-radius:21px}
  #gc-accueil-moderne .gcm-sector{min-height:64px;padding:14px 10px;font-size:13px}
  #gc-accueil-moderne .gcm-feature{min-height:140px;padding:30px 3px 4px;gap:24px}
  #gc-accueil-moderne .gcm-feature-title{font-size:26px}
  #gc-accueil-moderne .gcm-feature-text{font-size:12px}
  #gc-accueil-moderne .gcm-feature-action{font-size:12px}
}

@media(max-width:570px){
  #gc-accueil-moderne{--gcm-gutter:24px}
  #gc-accueil-moderne .gcm-hero{
    min-height:0;
    padding:30px var(--gcm-gutter) 0;
    background:
      radial-gradient(ellipse at 70% 72%,rgba(132,24,43,.17) 0%,transparent 48%),
      linear-gradient(145deg,#111217 0%,#0c0d10 68%,#090a0d 100%);
  }
  #gc-accueil-moderne .gcm-hero::after{left:var(--gcm-gutter);right:var(--gcm-gutter)}
  #gc-accueil-moderne .gcm-copy{max-width:100%}
  #gc-accueil-moderne .gcm-copy h1{font-size:clamp(45px,12.5vw,66px)}
  #gc-accueil-moderne .gcm-signature{font-size:18px;margin-top:22px}
  #gc-accueil-moderne .gcm-subtitle{font-size:12px;max-width:330px}
  #gc-accueil-moderne .gcm-art{position:relative;top:auto;right:auto;width:100%;height:286px;margin-top:8px}
  #gc-accueil-moderne .gcm-art::after{background:none}
  #gc-accueil-moderne .gcm-art-stamp{right:0;bottom:7px}
  #gc-accueil-moderne .gcm-explorer{margin:0;padding:30px var(--gcm-gutter) 38px}
  #gc-accueil-moderne .gcm-explorer-top{margin-bottom:15px}
  #gc-accueil-moderne .gcm-explorer-label{font-size:11px}
  #gc-accueil-moderne .gcm-switcher{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;border-radius:19px}
  #gc-accueil-moderne .gcm-sector{min-height:58px;padding:12px!important;gap:10px!important;font-size:13px!important;border-radius:13px!important}
  #gc-accueil-moderne .gcm-feature{grid-template-columns:1fr;min-height:0;gap:16px;padding:28px 2px 2px}
  #gc-accueil-moderne .gcm-feature-title{font-size:27px}
  #gc-accueil-moderne .gcm-feature-text{font-size:13px;max-width:100%}
  #gc-accueil-moderne .gcm-feature-action{justify-self:start;font-size:12px}
  #gc-accueil-moderne .gcm-feature-action .gcm-link-circle{width:42px;height:42px}
}

/* ========================================================================== */
/* V3 — rouge signature + fusion hero/sculpture + transition sombre/clair.    */
/* Surcouche additive : aucune structure HTML ni logique d'interaction modifiée. */
/* ========================================================================== */
#gc-accueil-moderne{
  --gcm-red:#d42630;
  --gcm-red-bright:#e12d32;
  --gcm-red-deep:#a91622;
  --gcm-red-dark:#661019;
  --gcm-transition-h:clamp(132px,9vw,188px);
}

/* Palette : rouge franc, sans dominante rose/framboise. */
#gc-accueil-moderne .gcm-eyebrow::before{
  background:#d42630;
}
#gc-accueil-moderne .gcm-copy h1 .gcm-headline-red{
  color:#e12d32;
  text-shadow:0 0 34px rgba(182,22,31,.10);
}
#gc-accueil-moderne .gcm-primary .gcm-arrow-circle{
  background:#d42630!important;
}
#gc-accueil-moderne .gcm-motion:hover{
  color:#b71925!important;
}
#gc-accueil-moderne:not(.gcm-enhanced) .gcm-sector:first-child,
#gc-accueil-moderne .gcm-sector[aria-pressed="true"]{
  background:linear-gradient(135deg,#d72a31 0%,#bd1925 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20),0 9px 26px rgba(126,13,25,.19)!important;
}
#gc-accueil-moderne .gcm-feature-action:hover{
  color:#b71925;
}
#gc-accueil-moderne .gcm-fallback span{
  background:linear-gradient(135deg,#ed3a37 0%,#c51d29 62%,#651018 100%);
  box-shadow:6px 6px 0 #521015;
}

/* Hero desktop : fond continu et beaucoup plus naturel entre le texte et la forme. */
#gc-accueil-moderne .gcm-hero{
  background:
    radial-gradient(72% 105% at 79% 48%,rgba(151,18,28,.20) 0%,rgba(103,12,21,.09) 40%,rgba(12,13,16,0) 70%),
    radial-gradient(44% 62% at 12% 2%,rgba(255,255,255,.035) 0%,rgba(255,255,255,0) 72%),
    linear-gradient(112deg,#111217 0%,#0d0e12 42%,#0b0c0f 72%,#090a0d 100%);
}
#gc-accueil-moderne .gcm-hero::before{
  background:
    radial-gradient(52% 90% at 74% 49%,rgba(188,24,33,.10) 0%,rgba(126,14,24,.045) 46%,rgba(12,13,16,0) 78%),
    linear-gradient(90deg,rgba(255,255,255,.025) 0%,rgba(255,255,255,0) 22%);
}
#gc-accueil-moderne .gcm-hero::after{
  display:none;
}
#gc-accueil-moderne .gcm-art::before{
  width:76%;
  height:74%;
  left:14%;
  top:12%;
  background:radial-gradient(ellipse,rgba(183,21,31,.19) 0%,rgba(105,12,20,.075) 48%,rgba(12,13,16,0) 76%);
}
#gc-accueil-moderne .gcm-art::after{
  left:-22%;
  right:auto;
  top:-5%;
  bottom:-5%;
  width:78%;
  background:linear-gradient(90deg,
    rgba(13,14,18,1) 0%,
    rgba(13,14,18,.97) 17%,
    rgba(13,14,18,.82) 37%,
    rgba(13,14,18,.54) 56%,
    rgba(13,14,18,.25) 74%,
    rgba(13,14,18,.07) 90%,
    rgba(13,14,18,0) 100%);
}

/* La section claire commence par une vraie zone de transition, pas une coupure. */
#gc-accueil-moderne .gcm-explorer{
  padding-top:calc(var(--gcm-transition-h) + clamp(26px,2.2vw,42px));
  background:var(--gcm-light);
  box-shadow:none;
}
#gc-accueil-moderne .gcm-explorer::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:0;
  height:var(--gcm-transition-h);
  pointer-events:none;
  background:
    radial-gradient(60% 115% at 76% 0%,rgba(157,18,27,.10) 0%,rgba(157,18,27,0) 62%),
    linear-gradient(180deg,
      #090a0d 0%,
      #111014 12%,
      #2e292c 28%,
      #62595a 46%,
      #9d9290 63%,
      #cec6bf 79%,
      #e8e2da 91%,
      var(--gcm-light) 100%);
}
#gc-accueil-moderne .gcm-explorer::after{
  content:"";
  position:absolute;
  z-index:0;
  left:var(--gcm-gutter);
  right:var(--gcm-gutter);
  top:calc(var(--gcm-transition-h) - 1px);
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(87,78,77,.13) 18%,rgba(168,26,33,.16) 52%,rgba(87,78,77,.10) 82%,transparent);
}
#gc-accueil-moderne .gcm-explorer > *{
  position:relative;
  z-index:1;
}

/* Un léger raffinement des surfaces claires évite l'effet 'bloc blanc'. */
#gc-accueil-moderne .gcm-switcher{
  background:rgba(232,227,220,.92);
  border-color:#d8d1c8;
  box-shadow:0 18px 46px rgba(45,35,36,.065),inset 0 1px 0 rgba(255,255,255,.82);
}
#gc-accueil-moderne .gcm-sector:hover{
  background:rgba(255,255,255,.88)!important;
}
#gc-accueil-moderne .gcm-feature-action .gcm-link-circle{
  border-color:#d5cec5;
  background:#fbfaf8;
}

@media(min-width:1101px){
  #gc-accueil-moderne .gcm-copy{
    max-width:min(55%,930px);
  }
  #gc-accueil-moderne .gcm-art{
    right:clamp(12px,2.7vw,64px);
    width:min(57vw,1120px);
  }
}

@media(max-width:800px){
  #gc-accueil-moderne{
    --gcm-transition-h:112px;
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 24px);
  }
}

@media(max-width:570px){
  #gc-accueil-moderne{
    --gcm-transition-h:82px;
  }
  #gc-accueil-moderne .gcm-hero{
    background:
      radial-gradient(ellipse at 70% 74%,rgba(147,17,26,.15) 0%,rgba(12,13,16,0) 52%),
      linear-gradient(145deg,#111217 0%,#0c0d10 68%,#090a0d 100%);
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 22px);
  }
  #gc-accueil-moderne .gcm-explorer::before{
    background:
      radial-gradient(80% 110% at 72% 0%,rgba(151,18,27,.08) 0%,rgba(151,18,27,0) 58%),
      linear-gradient(180deg,#090a0d 0%,#242126 31%,#8c8382 61%,#ddd6ce 84%,var(--gcm-light) 100%);
  }
}

/* ========================================================================== */
/* V5 FINITION — retour à la direction V3, finition corporate uniquement.     */
/* Objectif: conserver le concept, calmer les effets, rendre les raccords      */
/* plus naturels et l'ensemble plus institutionnel, sans toucher aux usages.   */
/* ========================================================================== */
#gc-accueil-moderne{
  --gcm-red:#d8202b;
  --gcm-red-bright:#e02a32;
  --gcm-red-deep:#b51620;
  --gcm-red-dark:#741018;
  --gcm-light:#f5f3ef;
  --gcm-light-2:#ece8e1;
  --gcm-ink:#191a1d;
  --gcm-ink-muted:#6a686b;
  --gcm-transition-h:58px;
}

/* Hero : beaucoup plus sobre. La sculpture reste le point de mouvement. */
#gc-accueil-moderne .gcm-hero{
  min-height:clamp(570px,65vh,720px);
  background:
    radial-gradient(68% 92% at 82% 49%,rgba(174,20,29,.115) 0%,rgba(99,13,20,.045) 47%,rgba(10,11,14,0) 72%),
    linear-gradient(108deg,#111216 0%,#0e0f13 53%,#0a0b0e 100%);
}
#gc-accueil-moderne .gcm-hero::before{
  background:linear-gradient(90deg,rgba(255,255,255,.018) 0%,rgba(255,255,255,0) 19%);
}
#gc-accueil-moderne .gcm-copy{
  max-width:min(54%,940px);
}
#gc-accueil-moderne .gcm-copy h1{
  font-size:clamp(54px,6.35vw,122px);
  line-height:.955;
  letter-spacing:-.064em;
}
#gc-accueil-moderne .gcm-copy h1 .gcm-headline-red{
  color:var(--gcm-red-bright);
  text-shadow:none;
}
#gc-accueil-moderne .gcm-eyebrow::before{
  background:var(--gcm-red);
}
#gc-accueil-moderne .gcm-signature{
  margin-top:28px;
}
#gc-accueil-moderne .gcm-actions{
  margin-top:30px;
}
#gc-accueil-moderne .gcm-primary{
  box-shadow:0 9px 24px rgba(0,0,0,.13)!important;
}
#gc-accueil-moderne .gcm-primary:hover{
  transform:translateY(-1px)!important;
}
#gc-accueil-moderne .gcm-primary .gcm-arrow-circle{
  background:var(--gcm-red)!important;
}

/* Sculpture : présence nette, sans halo rose ni bande de fusion visible. */
#gc-accueil-moderne .gcm-art{
  right:clamp(10px,2vw,44px);
  width:min(55vw,1060px);
}
#gc-accueil-moderne .gcm-art::before{
  width:70%;
  height:70%;
  left:18%;
  top:14%;
  background:radial-gradient(ellipse,rgba(171,19,27,.13) 0%,rgba(103,12,19,.045) 48%,rgba(12,13,16,0) 75%);
}
#gc-accueil-moderne .gcm-art::after{
  left:-15%;
  right:auto;
  top:0;
  bottom:0;
  width:64%;
  background:linear-gradient(90deg,
    rgba(14,15,19,.99) 0%,
    rgba(14,15,19,.90) 24%,
    rgba(14,15,19,.58) 50%,
    rgba(14,15,19,.20) 76%,
    rgba(14,15,19,0) 100%);
}
#gc-accueil-moderne .gcm-art-stamp{
  color:#aaa8ad;
}
#gc-accueil-moderne .gcm-stamp-line{
  background:#5b4348;
}

/* Raccord sombre -> clair : court et neutre. Aucun long dégradé décoratif. */
#gc-accueil-moderne .gcm-explorer{
  padding-top:calc(var(--gcm-transition-h) + clamp(28px,2.3vw,40px));
  background:var(--gcm-light);
  box-shadow:none;
}
#gc-accueil-moderne .gcm-explorer::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:0;
  height:var(--gcm-transition-h);
  pointer-events:none;
  background:linear-gradient(180deg,
    #0a0b0e 0%,
    rgba(10,11,14,.90) 24%,
    rgba(10,11,14,.58) 52%,
    rgba(10,11,14,.22) 77%,
    rgba(10,11,14,0) 100%);
}
#gc-accueil-moderne .gcm-explorer::after{
  display:none;
}
#gc-accueil-moderne .gcm-explorer > *{
  position:relative;
  z-index:1;
}

/* Zone d'expertise : moins 'app', plus éditoriale et institutionnelle. */
#gc-accueil-moderne .gcm-explorer-label{
  color:#626166;
}
#gc-accueil-moderne .gcm-switcher{
  gap:6px;
  padding:6px;
  border:1px solid #ddd8d0;
  border-radius:18px;
  background:#ebe7e0;
  box-shadow:none;
}
#gc-accueil-moderne .gcm-sector{
  min-height:72px;
  border-radius:13px!important;
  color:#48474c!important;
  transition:color .18s ease,background .18s ease,box-shadow .18s ease;
}
#gc-accueil-moderne .gcm-sector:hover{
  background:#f8f6f2!important;
  color:#18191c!important;
  box-shadow:none!important;
}
#gc-accueil-moderne:not(.gcm-enhanced) .gcm-sector:first-child,
#gc-accueil-moderne .gcm-sector[aria-pressed="true"]{
  background:var(--gcm-red)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 6px 16px rgba(109,14,22,.14)!important;
}
#gc-accueil-moderne .gcm-feature{
  min-height:154px;
  padding-top:34px;
  border-bottom:1px solid rgba(31,30,32,.08);
}
#gc-accueil-moderne .gcm-feature-title{
  color:var(--gcm-ink);
}
#gc-accueil-moderne .gcm-feature-text{
  color:var(--gcm-ink-muted);
}
#gc-accueil-moderne .gcm-feature-action{
  color:#29282c;
}
#gc-accueil-moderne .gcm-feature-action:hover{
  color:var(--gcm-red-deep);
}
#gc-accueil-moderne .gcm-feature-action .gcm-link-circle{
  border-color:#d8d3cb;
  background:#fff;
  box-shadow:none;
}

@media(min-width:1600px){
  #gc-accueil-moderne .gcm-hero{min-height:680px}
  #gc-accueil-moderne .gcm-copy{max-width:min(53%,1020px)}
  #gc-accueil-moderne .gcm-art{width:min(54vw,1100px)}
}

@media(max-width:1100px){
  #gc-accueil-moderne .gcm-hero{min-height:530px}
  #gc-accueil-moderne .gcm-copy{max-width:60%}
  #gc-accueil-moderne .gcm-art{right:0;width:52%}
}

@media(max-width:800px){
  #gc-accueil-moderne{--gcm-transition-h:46px}
  #gc-accueil-moderne .gcm-hero{min-height:480px}
  #gc-accueil-moderne .gcm-copy{max-width:64%}
  #gc-accueil-moderne .gcm-sector{min-height:64px}
  #gc-accueil-moderne .gcm-feature{min-height:140px}
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 26px);
  }
  #gc-accueil-moderne .gcm-switcher{
    border-radius:17px;
  }
}

@media(max-width:570px){
  #gc-accueil-moderne{--gcm-transition-h:34px}
  #gc-accueil-moderne .gcm-hero{
    min-height:0;
    background:
      radial-gradient(80% 58% at 71% 79%,rgba(161,18,26,.10) 0%,rgba(12,13,16,0) 64%),
      linear-gradient(145deg,#111216 0%,#0d0e12 69%,#0a0b0e 100%);
  }
  #gc-accueil-moderne .gcm-copy{max-width:100%}
  #gc-accueil-moderne .gcm-copy h1{font-size:clamp(44px,12.5vw,64px)}
  #gc-accueil-moderne .gcm-art{right:auto;width:100%}
  #gc-accueil-moderne .gcm-art::before{
    background:radial-gradient(ellipse,rgba(168,18,27,.105) 0%,rgba(12,13,16,0) 73%);
  }
  #gc-accueil-moderne .gcm-art::after{background:none}
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 24px);
  }
  #gc-accueil-moderne .gcm-switcher{
    border-radius:16px;
  }
  #gc-accueil-moderne .gcm-sector{
    min-height:58px;
    border-radius:11px!important;
  }
  #gc-accueil-moderne .gcm-feature{
    min-height:0;
    padding:28px 2px 2px;
    border-bottom:0;
  }
}


/* ========================================================================== */
/* V6 FINITION RACCORDS — correction ciblée à partir de la V5.               */
/* Aucun changement de structure ni de logique : fond hero continu,           */
/* fondu bas court et contenu intégralement dégagé de la transition.           */
/* ========================================================================== */
#gc-accueil-moderne{
  --gcm-transition-h:26px;
}

/* 1. Hero réellement continu : le masque opaque de la zone Canvas est retiré.
   Le Canvas se fond lui-même par transparence sur le fond unique du hero. */
#gc-accueil-moderne .gcm-art::after{
  display:none;
}
#gc-accueil-moderne .gcm-canvas,
#gc-accueil-moderne .gcm-fallback{
  -webkit-mask-image:linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,.18) 7%,
    rgba(0,0,0,.72) 18%,
    #000 27%,
    #000 100%);
  mask-image:linear-gradient(90deg,
    transparent 0%,
    rgba(0,0,0,.18) 7%,
    rgba(0,0,0,.72) 18%,
    #000 27%,
    #000 100%);
}

/* Sur desktop, la sculpture reste entièrement contenue dans le hero.
   Le libellé dynamique (ex. « Des projets qui prennent forme. ») ne peut
   donc plus descendre sous la section suivante ni être rogné par le raccord. */
@media(min-width:1101px){
  #gc-accueil-moderne .gcm-art{
    height:clamp(500px,35vw,620px);
  }
  #gc-accueil-moderne .gcm-art-stamp{
    bottom:clamp(26px,2vw,38px);
  }
}

/* 2. Raccord sombre -> clair : cross-fade court, sans bande grise/taupe ni
   ombre épaisse. Le fond clair existe dès le début de la section. */
#gc-accueil-moderne .gcm-explorer{
  padding-top:calc(var(--gcm-transition-h) + clamp(34px,2.4vw,46px));
  background:var(--gcm-light);
}
#gc-accueil-moderne .gcm-explorer::before{
  content:"";
  position:absolute;
  z-index:0;
  left:0;
  right:0;
  top:0;
  height:var(--gcm-transition-h);
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(10,11,14,1) 0%,
    rgba(10,11,14,.86) 18%,
    rgba(10,11,14,.58) 42%,
    rgba(10,11,14,.28) 64%,
    rgba(10,11,14,.09) 82%,
    rgba(10,11,14,0) 100%);
}
#gc-accueil-moderne .gcm-explorer::after{
  display:none;
}

/* 3. « Explorez notre univers » et Pause sont toujours hors du fondu. */
#gc-accueil-moderne .gcm-explorer-top{
  position:relative;
  z-index:2;
  margin-bottom:16px;
}
#gc-accueil-moderne .gcm-explorer-label,
#gc-accueil-moderne .gcm-motion{
  position:relative;
  z-index:2;
}

@media(max-width:800px){
  #gc-accueil-moderne{
    --gcm-transition-h:22px;
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 30px);
  }
}

@media(max-width:570px){
  #gc-accueil-moderne{
    --gcm-transition-h:18px;
  }
  #gc-accueil-moderne .gcm-canvas,
  #gc-accueil-moderne .gcm-fallback{
    -webkit-mask-image:none;
    mask-image:none;
  }
  #gc-accueil-moderne .gcm-art-stamp{
    bottom:14px;
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 28px);
  }
}


/* ========================================================================== */
/* V7 FINITION MOBILE-FIRST — lissage du raccord + ordre mobile + expertise.  */
/* Base intégrale V6 conservée ; cette surcouche ne modifie pas le concept.   */
/* ========================================================================== */

/* Le raccord sombre -> clair est un seul gradient colorimétrique continu.
   Aucun empilement d'alpha : cela évite l'effet de bandes/pixellisation. */
#gc-accueil-moderne{
  --gcm-transition-h:48px;
}
#gc-accueil-moderne .gcm-explorer{
  padding-top:calc(var(--gcm-transition-h) + clamp(30px,2.2vw,42px));
}
#gc-accueil-moderne .gcm-explorer::before{
  height:var(--gcm-transition-h);
  background:linear-gradient(180deg,#0a0b0e 0%,var(--gcm-light) 100%);
  transform:translateZ(0);
  backface-visibility:hidden;
}

/* La fiche active reste éditoriale : davantage de hiérarchie, pas d'effet app. */
#gc-accueil-moderne .gcm-feature{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-height:190px;
  margin-top:24px;
  padding:34px 4px 12px;
  border-top:1px solid #d9d4cc;
  border-bottom:0;
}
#gc-accueil-moderne .gcm-feature-copy{
  max-width:920px;
}
#gc-accueil-moderne .gcm-feature-meta{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 11px;
  color:#6b686c;
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.13em;
  text-transform:uppercase;
}
#gc-accueil-moderne .gcm-feature-index{
  color:var(--gcm-red);
  font-variant-numeric:tabular-nums;
}
#gc-accueil-moderne .gcm-feature-index::after{
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  margin-left:11px;
  vertical-align:middle;
  background:#c9c3bb;
}
#gc-accueil-moderne .gcm-feature-title{
  margin-bottom:11px;
  font-size:clamp(30px,2.25vw,42px);
  line-height:1.1;
}
#gc-accueil-moderne .gcm-feature-text{
  max-width:840px;
  font-size:clamp(13px,.95vw,16px);
  line-height:1.7;
}
#gc-accueil-moderne .gcm-feature-action{
  align-self:center;
  padding-left:24px;
}

/* Mobile-first : texte, sculpture, puis CTA. Les CTA ne sont plus coincés
   entre le texte et les formes. Ce reflow ne s'applique qu'aux petits écrans. */
@media(max-width:680px){
  #gc-accueil-moderne{
    --gcm-gutter:24px;
    --gcm-transition-h:40px;
  }
  #gc-accueil-moderne .gcm-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    padding:30px var(--gcm-gutter) 0;
  }
  #gc-accueil-moderne .gcm-copy{
    display:contents;
  }
  #gc-accueil-moderne .gcm-art{
    order:1;
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    height:clamp(286px,55vw,352px);
    margin:12px 0 0;
  }
  #gc-accueil-moderne .gcm-art-stamp{
    right:0;
    bottom:8px;
  }
  #gc-accueil-moderne .gcm-actions{
    order:2;
    width:100%;
    margin:15px 0 0;
    padding:0 0 30px;
    gap:10px 18px;
    pointer-events:auto;
  }
  #gc-accueil-moderne .gcm-primary{
    min-height:50px;
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 28px);
  }
  #gc-accueil-moderne .gcm-feature{
    grid-template-columns:1fr;
    min-height:0;
    margin-top:22px;
    gap:18px;
    padding:28px 2px 4px;
  }
  #gc-accueil-moderne .gcm-feature-copy{
    max-width:none;
  }
  #gc-accueil-moderne .gcm-feature-meta{
    margin-bottom:10px;
  }
  #gc-accueil-moderne .gcm-feature-title{
    font-size:clamp(27px,7.8vw,34px);
  }
  #gc-accueil-moderne .gcm-feature-text{
    font-size:13px;
    line-height:1.7;
  }
  #gc-accueil-moderne .gcm-feature-action{
    justify-self:start;
    padding-left:0;
  }
}

@media(max-width:390px){
  #gc-accueil-moderne .gcm-actions{
    align-items:stretch;
  }
  #gc-accueil-moderne .gcm-primary{
    flex:1 1 100%;
    width:100%;
  }
  #gc-accueil-moderne .gcm-contact{
    min-height:42px;
  }
}

/* ========================================================================== */
/* V8 FINITION CIBLÉE — centrage mobile, raccord discret, header opaque.       */
/* Base V7 intégralement conservée ; aucune logique Canvas n'est modifiée.      */
/* ========================================================================== */


/* Header public de l’accueil : bandeau graphite réellement opaque, y compris
   dans la safe area. Le contenu défile dessous sans collision visuelle. */
html.gc-public-home-root{
  background:#0b0c0f;
}
body.gc-home-modern .navwrap,
body.gc-home-modern .navwrap-bleed{
  background:#0b0c0f!important;
  background-image:none!important;
}
body.gc-home-modern .navwrap-bleed{
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}

/* Raccord très court : une simple respiration sombre de quelques pixels,
   sans grande bande intermédiaire ni effet de brouillard. */
#gc-accueil-moderne{
  --gcm-transition-h:14px;
}
#gc-accueil-moderne .gcm-explorer{
  padding-top:calc(var(--gcm-transition-h) + clamp(28px,2vw,38px));
}
#gc-accueil-moderne .gcm-explorer::before{
  height:var(--gcm-transition-h);
  background:linear-gradient(180deg,
    rgba(10,11,14,.94) 0%,
    rgba(10,11,14,.55) 28%,
    rgba(10,11,14,.20) 62%,
    rgba(10,11,14,0) 100%);
  transform:none;
  backface-visibility:visible;
}

/* Téléphone : la géométrie Canvas est naturellement un peu déportée à droite.
   On recentre uniquement le rendu visuel, sans modifier ses dimensions de calcul,
   ses points, son morphing ou son timing. */
@media(max-width:680px){
  #gc-accueil-moderne{
    --gcm-transition-h:10px;
  }
  #gc-accueil-moderne .gcm-canvas,
  #gc-accueil-moderne .gcm-fallback{
    transform:translate3d(-8%,0,0);
    transform-origin:50% 50%;
  }
  #gc-accueil-moderne .gcm-explorer{
    padding-top:calc(var(--gcm-transition-h) + 27px);
  }
}

@media(max-width:390px){
  #gc-accueil-moderne .gcm-canvas,
  #gc-accueil-moderne .gcm-fallback{
    transform:translate3d(-8.5%,0,0);
  }
}

/* ========================================================================== */
/* V9 — HEADER SOLIDE : neutralise l'exception historique "home transparent"  */
/* ========================================================================== */
/*
   Le shell public historique traite l'accueil comme une exception et peut
   imposer un header transparent avec des sélecteurs plus spécifiques.
   Cette surcharge est volontairement limitée à l'accueil moderne et couvre
   aussi les états/classes de scroll sans modifier le shell des autres pages.
*/
html.gc-public-home-root body.theme-noir.gc-home-modern .navwrap,
html.gc-public-home-root body.theme-noir.gc-home-modern .navwrap-bleed,
html.gc-public-home-root body.theme-noir.gc-home-modern .navwrap .navcontainer,
html.gc-public-home-root body.theme-noir.gc-home-modern .navwrap .nav,
html.gc-public-home-root body.gc-home-modern .navwrap,
html.gc-public-home-root body.gc-home-modern .navwrap-bleed,
html.gc-public-home-root body.gc-home-modern .navwrap .navcontainer,
html.gc-public-home-root body.gc-home-modern .navwrap .nav {
  background-color:#0b0c0f!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  mix-blend-mode:normal!important;
}

/* Tous les états de scroll connus/usuels restent volontairement opaques. */
html.gc-public-home-root body.gc-home-modern .navwrap.scrolled,
html.gc-public-home-root body.gc-home-modern .navwrap.is-scrolled,
html.gc-public-home-root body.gc-home-modern .navwrap.gc-scrolled,
html.gc-public-home-root body.gc-home-modern.scrolled .navwrap,
html.gc-public-home-root body.gc-home-modern.is-scrolled .navwrap,
html.gc-public-home-root body.gc-home-modern.gc-scrolled .navwrap,
html.gc-public-home-root body.gc-home-modern .navwrap.scrolled .navwrap-bleed,
html.gc-public-home-root body.gc-home-modern .navwrap.is-scrolled .navwrap-bleed,
html.gc-public-home-root body.gc-home-modern .navwrap.gc-scrolled .navwrap-bleed {
  background-color:#0b0c0f!important;
  background-image:none!important;
  opacity:1!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}

/* La safe area iOS fait partie visuellement du même bandeau. */
html.gc-public-home-root body.theme-noir.gc-home-modern::before,
html.gc-public-home-root body.gc-home-modern::before {
  background:#0b0c0f!important;
  opacity:1!important;
}

/* Évite qu'une ancienne ombre/verre du shell recrée un effet translucide. */
html.gc-public-home-root body.gc-home-modern .navwrap {
  box-shadow:none!important;
  border-color:transparent!important;
  isolation:isolate;
}
html.gc-public-home-root body.gc-home-modern .navwrap-bleed {
  border-bottom:1px solid rgba(255,255,255,.055)!important;
  box-shadow:none!important;
}
