/* Interact Re — V3
   Sobre, éditorial, mobile d'abord. Zodiak (titres) · Switzer (texte) · Geist Mono (étiquettes) */
@import url(/assets/fonts/fonts.css);
:root{
  --paper:#f4f1ea; --paper-2:#ebe6db; --card:#fbfaf6;
  --ink:#0b1426; --ink-2:#36404f; --muted:#6a7282;
  --brass:#9a7740; --brass-t:#7d5f2d; --brass-l:#d4b77f;
  --navy:#0d1d3a;
  --line:rgba(11,20,38,.12); --line-2:rgba(11,20,38,.22); --line-d:rgba(255,255,255,.14);
  --serif:"Zodiak",Georgia,"Times New Roman",serif;
  --sans:"Switzer",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.19,1,.22,1);
  --wrap:1280px; --gut:clamp(20px,4vw,48px);
  --sec:clamp(76px,10vw,144px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit;background:none;border:0}
button{cursor:pointer}
[hidden]{display:none!important}
::selection{background:var(--brass-l);color:var(--ink)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.skip{position:fixed;left:-999px;top:10px;z-index:999;background:var(--ink);color:#fff;padding:10px 16px}
.skip:focus{left:10px}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- typographie ---------- */
.eyebrow{display:flex;align-items:center;gap:12px;font:500 11.5px/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-t)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor;flex:none}
.on-dark .eyebrow{color:var(--brass-l)}
.t1{font:300 clamp(44px,7.2vw,112px)/.98 var(--serif);letter-spacing:-.035em}
.t2{font:300 clamp(34px,4.6vw,64px)/1.04 var(--serif);letter-spacing:-.028em}
.t3{font:400 clamp(24px,2.2vw,30px)/1.15 var(--serif);letter-spacing:-.015em}
.t1 em,.t2 em,.t3 em{font-style:italic;color:var(--brass)}
.on-dark .t1 em,.on-dark .t2 em,.on-dark .t3 em{color:var(--brass-l)}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--ink-2);max-width:54ch}
.on-dark .lead{color:rgba(255,255,255,.72)}
.small{font-size:14.5px;color:var(--muted)}
.mono{font:500 11px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}

/* ---------- boutons & liens ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 24px;border-radius:999px;background:var(--ink);color:#fff;font:500 15px/1 var(--sans);white-space:nowrap;transition:background .35s,color .35s,box-shadow .35s}
.btn svg{width:16px;height:16px;transition:transform .45s var(--ease)}
.btn:hover{background:var(--brass-t)}
.btn:hover svg{transform:translateX(3px)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.btn-line:hover{background:var(--ink);color:#fff;box-shadow:none}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--brass-l);color:var(--ink)}
.on-dark .btn-line{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.on-dark .btn-line:hover{background:#fff;color:var(--ink)}
.more{display:inline-flex;align-items:center;gap:8px;font:500 14.5px/1.3 var(--sans);color:var(--ink);padding:4px 0;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;transition:color .3s}
.more svg{width:15px;height:15px;transition:transform .45s var(--ease)}
.more:hover{color:var(--brass-t)}
.more:hover svg{transform:translateX(4px)}
.on-dark .more{color:#fff}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:100;transition:transform .55s var(--ease),background .35s,box-shadow .35s}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.hdr.solid{background:rgba(244,241,234,.86);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:0 1px 0 var(--line)}
.hdr.hide{transform:translateY(-100%)}
.logo{display:flex;align-items:center;color:var(--ink)}
.logo svg{height:26px;width:auto}
.nav{display:flex;align-items:center;gap:2px}
.nav a{position:relative;padding:10px 14px;font:500 14.5px/1 var(--sans);color:var(--ink-2);transition:color .25s}
.nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1)}
.nav .btn{min-height:44px;padding:0 20px;margin-left:12px;font-size:14px;color:#fff}
.nav .btn::after{display:none}
.burger{display:none;align-items:center;gap:10px;height:44px;padding:0 4px 0 14px;border-radius:999px;font:500 14px/1 var(--sans)}
.burger span.bars{position:relative;width:36px;height:36px;border-radius:50%;background:var(--ink)}
.burger span.bars i{position:absolute;left:11px;right:11px;height:1.5px;background:#fff;transition:transform .45s var(--ease),top .45s var(--ease)}
.burger span.bars i:nth-child(1){top:14px}.burger span.bars i:nth-child(2){top:21px}
.menu-open .burger span.bars i:nth-child(1){top:17.5px;transform:rotate(45deg)}
.menu-open .burger span.bars i:nth-child(2){top:17.5px;transform:rotate(-45deg)}
.mnav{position:fixed;inset:0;z-index:90;background:var(--paper);display:flex;flex-direction:column;padding:96px var(--gut) calc(28px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;overflow-y:auto}
.menu-open .mnav{opacity:1;visibility:visible}
.mnav nav{display:grid;border-top:1px solid var(--line)}
.mnav nav a{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font:300 34px/1.1 var(--serif);letter-spacing:-.02em;transform:translateY(14px);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease)}
.mnav nav a small{font:500 11px/1 var(--mono);color:var(--brass-t)}
.menu-open .mnav nav a{transform:none;opacity:1}
.menu-open .mnav nav a:nth-child(2){transition-delay:.04s}.menu-open .mnav nav a:nth-child(3){transition-delay:.08s}.menu-open .mnav nav a:nth-child(4){transition-delay:.12s}.menu-open .mnav nav a:nth-child(5){transition-delay:.16s}
.mnav .mfoot{margin-top:auto;padding-top:28px;display:grid;gap:14px}
.mnav .mfoot .btn{width:100%}
.mnav .mfoot p{font-size:14.5px;color:var(--muted);line-height:1.7}
body.menu-open{overflow:hidden}
@media (max-width:980px){.nav{display:none}.burger{display:inline-flex}}

/* ---------- sections ---------- */
.sec{padding:var(--sec) 0}
.sec-alt{background:var(--paper-2)}
.on-dark{background:var(--navy);color:#fff}
.head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:28px 64px;align-items:end;margin-bottom:clamp(40px,5.5vw,72px)}
.head .t2{margin-top:18px}
.head .lead{justify-self:end}
@media (max-width:860px){.head{grid-template-columns:1fr}.head .lead{justify-self:start}}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(120px,15vh,170px) 0 0;min-height:min(100svh,980px);display:flex;flex-direction:column}
.hero>.wrap{width:100%}
.hero h1.t1{font-size:clamp(42px,5.6vw,86px)}
.hero-main{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;margin-top:calc(-1 * clamp(120px,15vh,170px));padding-top:clamp(120px,15vh,170px)}
.hero-main>.wrap{width:100%}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px clamp(40px,6vw,100px);align-items:center}
/* risques en fond du hero */
.hero-risks{position:relative}
.hr-cap{font:500 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.hr-g{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.hr-i{position:relative;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:center;padding:16px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);opacity:.38;transition:opacity .6s var(--ease)}
.hr-i svg{width:26px;height:26px;color:var(--ink);transition:color .5s}
.hr-i{min-width:0}
.hr-i b{font:400 16.5px/1.2 var(--serif);letter-spacing:-.01em;overflow-wrap:break-word;hyphens:auto}
.hr-i small{display:none}
.hr-g.all .hr-i{opacity:.7}
.hr-i.on{opacity:1}
.hr-i.on svg{color:var(--brass)}
.hr-brk{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;opacity:0;transition:transform .9s var(--ease),width .9s var(--ease),height .9s var(--ease),opacity .4s}
.hr-brk::before,.hr-brk::after{content:"";position:absolute;width:14px;height:14px}
.hr-brk::before{left:-1px;top:-1px;border-left:1.5px solid var(--ink);border-top:1.5px solid var(--ink)}
.hr-brk::after{right:-1px;bottom:-1px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink)}
.hr-brk.on{opacity:1}
.hr-now{margin-top:14px;font-size:14px;line-height:1.45;color:var(--muted);min-height:3em}
.hr-now b{display:block;font:400 18px/1.25 var(--serif);color:var(--ink)}
.hero h1{margin:24px 0 26px}
.rot{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .06em .14em 0;margin-bottom:-.14em}
.ln-mask{padding-bottom:.14em;margin-bottom:-.14em}
.rot span{display:inline-block;font-style:italic;color:var(--brass)}
.hero .lead{max-width:46ch}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:34px}
.hero-ill{position:relative;width:100%;max-width:520px;justify-self:end}
.hero-ill svg{width:100%;height:auto;overflow:visible}
.hero-cap{display:flex;justify-content:space-between;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font:500 11px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
@media (max-width:640px){.hero-ill .tx{font-size:14px}}
.hero-cap b{font-weight:500;color:var(--brass-t)}
.facts{position:relative;z-index:1;margin-top:clamp(40px,6vh,72px);border-top:1px solid var(--line)}
.facts ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}
.facts li{padding:20px 24px 22px 0;font-size:14px;line-height:1.45;color:var(--muted)}
.facts li+li{padding-left:24px;border-left:1px solid var(--line)}
.facts b{display:block;font-weight:500;color:var(--ink);font-size:14.5px;margin-bottom:2px}
@media (max-width:980px){
  .hero{min-height:0;padding-top:112px}
  .hero-main{margin-top:-112px;padding-top:112px;padding-bottom:8px}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hr-g{grid-template-columns:repeat(6,minmax(0,1fr));border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .hr-i{display:flex;justify-content:center;padding:14px 0;border:0;opacity:.4}
  .hr-i svg{width:26px;height:26px}
  .hr-i b,.hr-i small{display:none}
  .hr-brk::before,.hr-brk::after{width:10px;height:10px}
  .hr-now{margin-top:12px;font-size:13.5px}
  .hr-now b{font-size:17px}
}
@media (max-width:640px){
  .facts ul{grid-template-columns:1fr}
  .facts li{padding:14px 0}
  .facts li+li{padding-left:0;border-left:0;border-top:1px solid var(--line)}
}

/* ---------- illustrations (traits) ---------- */
.ill{color:var(--ink)}
.ill .st{fill:none;stroke:currentColor;stroke-width:1.15;vector-effect:non-scaling-stroke}
.ill .st-l{fill:none;stroke:var(--line-2);stroke-width:1;vector-effect:non-scaling-stroke}
.ill .st-b{fill:none;stroke:var(--brass);stroke-width:1.4;vector-effect:non-scaling-stroke}
.ill .fb{fill:var(--brass)}
.ill .fi{fill:var(--ink)}
.ill .fl{fill:var(--line-2)}
.ill .fp{fill:var(--paper)}
.ill .cell{fill:rgba(11,20,38,.3);transition:fill .4s}
.ill .cell.lit{fill:var(--brass)}
.ill .tx{font:500 9.5px var(--mono);letter-spacing:.07em;fill:var(--muted);text-transform:uppercase}
.ill .tx-b{font:500 9px var(--mono);letter-spacing:.07em;fill:var(--brass-t)}
.ill .draw{stroke-dasharray:var(--len,600);stroke-dashoffset:var(--len,600)}
.ill.in .draw{animation:draw 1.6s var(--ease) forwards;animation-delay:var(--dl,0s)}
@keyframes draw{to{stroke-dashoffset:0}}
.ill .pop{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.4)}
.ill.in .pop{animation:pop .9s var(--ease) forwards;animation-delay:var(--dl,0s)}
@keyframes pop{to{opacity:1;transform:none}}
.ill .pulse{transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite;animation-delay:var(--dl,0s)}
@keyframes pulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}
.ill .dash{stroke-dasharray:2 5;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-14}}
.ill .rise{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}
.ill.in .rise{animation:rise 1.4s var(--ease) forwards;animation-delay:var(--dl,0s)}
@keyframes rise{to{transform:none}}

/* ---------- expertises ---------- */
.xg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.x{display:flex;flex-direction:column;padding:34px 30px 36px 0}
.x+.x{padding-left:30px;border-left:1px solid var(--line)}
.x .ill{height:150px;width:auto;margin-bottom:30px}
.x .num{font:500 11px/1 var(--mono);color:var(--brass-t);letter-spacing:.07em}
.x h3{margin:12px 0 4px}
.x .sub{font:500 11px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.x p{margin-top:16px;color:var(--ink-2);font-size:15.5px}
.x ul{list-style:none;margin:20px 0 26px}
.x li{position:relative;padding:9px 0 9px 20px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-2)}
.x li::before{content:"";position:absolute;left:0;top:18px;width:8px;height:1px;background:var(--brass)}
.x .more{margin-top:auto;align-self:flex-start}
@media (max-width:900px){
  .xg{grid-template-columns:1fr}
  .x{padding:30px 0 34px}
  .x+.x{padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .x .ill{height:118px;margin-bottom:22px}
}

/* ---------- schéma « chemin d'un risque » ---------- */
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{flex:none;height:40px;padding:0 18px;border-radius:999px;font:500 14px/1 var(--sans);color:var(--ink-2);transition:background .3s,color .3s}
.seg button:hover{color:var(--ink)}
.seg button[aria-selected=true]{background:var(--ink);color:#fff}
.flowbox{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:40px clamp(30px,6vw,96px);align-items:center;margin-top:44px}
.flow{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:clamp(36px,6vw,90px);min-height:300px}
.flow svg.links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.flow svg.links path{fill:none;stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 5}
.flow svg.links path.on{stroke:var(--brass)}
.flow svg.links circle{fill:var(--brass)}
.flow svg.links circle.back{fill:var(--ink)}
.fn{position:relative;z-index:1;background:var(--paper);padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line-2);border-radius:2px}
.fn small{display:block;font:500 10px/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fn b{display:block;font:400 18px/1.15 var(--serif);letter-spacing:-.01em}
.fn.me{background:var(--ink);color:#fff;box-shadow:none}
.fn.me small{color:var(--brass-l)}
.fcol{display:grid;gap:14px}
.ftext .t3{margin:14px 0 14px}
.ftext p{color:var(--ink-2)}
.ftext ul{list-style:none;margin-top:22px;border-top:1px solid var(--line)}
.ftext li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink-2)}
.ftext li::before{content:"";position:absolute;left:0;top:21px;width:10px;height:1px;background:var(--brass)}
.swap{transition:opacity .3s,transform .45s var(--ease)}
.swap.out{opacity:0;transform:translateY(8px)}
@media (max-width:980px){.flowbox{grid-template-columns:1fr}.flowbox .flow{order:-1}}
@media (max-width:640px){
  .flow{grid-template-columns:1fr;gap:34px;min-height:0;justify-items:center}
  .flow .fn{width:100%;max-width:300px;text-align:center}
  .fcol{grid-template-columns:repeat(3,1fr);gap:8px;width:100%}
  .fcol .fn{padding:10px 5px}
  .fcol .fn b{font-size:14px}
  .fcol .fn small{font-size:8.5px;letter-spacing:.04em}
  .seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}
  .seg button{padding:0 4px;font-size:13.5px}
}

/* ---------- risques ---------- */
.rg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.r{display:grid;grid-template-columns:44px 1fr;gap:6px 18px;padding:28px 26px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .4s}
.r:hover{background:var(--card)}
.r svg{width:40px;height:40px;color:var(--brass);grid-row:1/3}
.r h3{font:400 22px/1.2 var(--serif);letter-spacing:-.01em}
.r p{font-size:14.5px;color:var(--muted);line-height:1.55}
@media (max-width:980px){.rg{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.rg{grid-template-columns:1fr;border-left:0}.r{padding:20px 0;border-right:0;grid-template-columns:36px 1fr;gap:4px 14px}.r svg{width:32px;height:32px}}

/* ---------- pour qui ---------- */
.pg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.p{background:var(--card);padding:30px 28px 28px;display:flex;flex-direction:column;box-shadow:0 1px 0 var(--line)}
.p .mono{color:var(--brass-t)}
.p h3{margin:14px 0 10px}
.p p{font-size:15px;color:var(--ink-2)}
.p ul{list-style:none;margin:18px 0 24px}
.p li{position:relative;padding:8px 0 8px 20px;font-size:14.5px;color:var(--ink-2);border-top:1px solid var(--line)}
.p li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1px;background:var(--brass)}
.p .more{margin-top:auto;align-self:flex-start}
@media (max-width:900px){.pg{grid-template-columns:1fr}}

/* ---------- approche ---------- */
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 28px;list-style:none;counter-reset:s}
.steps::before,.steps::after{content:"";position:absolute;left:0;right:0;top:13px;height:1px;background:var(--line-2)}
.steps::after{background:var(--brass);transform-origin:left;transform:scaleX(var(--p,0))}
.step{position:relative;padding-top:44px}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line-2);display:grid;place-items:center;font:500 10px/1 var(--mono);color:var(--brass-t);transition:background .4s,color .4s,box-shadow .4s}
.step.on::before{background:var(--ink);color:#fff;box-shadow:none}
.step h3{font:400 24px/1.15 var(--serif);letter-spacing:-.01em;margin-bottom:8px}
.step p{font-size:15px;color:var(--ink-2)}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:0}
  .steps::before,.steps::after{left:13px;right:auto;top:0;bottom:0;width:1px;height:auto}
  .steps::after{transform-origin:top;transform:scaleY(var(--p,0))}
  .step{padding:0 0 30px 52px}
  .step:last-child{padding-bottom:0}
}

/* ---------- équipe ---------- */
.tg{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tc{display:grid;grid-template-columns:150px 1fr;gap:24px;background:var(--card);padding:22px;box-shadow:0 1px 0 var(--line)}
.tc .pic{display:block;position:relative;aspect-ratio:4/5;background:linear-gradient(180deg,#e6e0d3,#d4c9b3);overflow:hidden}
.tc .pic img{position:absolute;bottom:0;left:50%;width:120%;max-width:none;transform:translateX(-50%);filter:grayscale(1) contrast(1.04)}
.tc .bd{display:flex;flex-direction:column;min-width:0}
.tc .mono{color:var(--brass-t)}
.tc h3{margin:8px 0 6px}
.tc .role{font-size:14px;color:var(--muted);line-height:1.45}
.tc .ct{margin-top:auto;padding-top:16px;display:grid;gap:4px;font-size:14.5px}
.tc .ct a{display:flex;gap:10px;align-items:baseline;overflow-wrap:anywhere}
.tc .ct a span{flex:none;width:52px;font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.tc .ct a:hover{color:var(--brass-t)}
@media (max-width:980px){.tg{grid-template-columns:1fr}}
@media (max-width:480px){.tc{grid-template-columns:84px 1fr;gap:16px;padding:16px}.tc .role{font-size:13.5px}.tc .ct{font-size:13.5px;gap:8px}.tc .ct a{display:block;overflow-wrap:normal}.tc .ct a span{display:block;width:auto;margin-bottom:3px}}

/* ---------- témoignages ---------- */
.tq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px clamp(30px,6vw,96px)}
.tq-stage{display:grid}
.tq-item{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}
.tq-item.on{opacity:1;visibility:visible}
.tq blockquote{font:300 clamp(22px,2.3vw,32px)/1.32 var(--serif);letter-spacing:-.015em}
.tq cite{display:block;margin-top:22px;font:500 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;font-style:normal;color:var(--brass-t)}
.tq-nav{display:flex;align-items:center;gap:14px;margin-top:30px}
.tq-nav button.ar{width:46px;height:46px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);display:grid;place-items:center;transition:background .3s,color .3s}
.tq-nav button.ar:hover{background:var(--ink);color:#fff}
.tq-nav button.ar svg{width:16px;height:16px}
.tq-nav .count{font:500 11px/1 var(--mono);letter-spacing:.07em;color:var(--muted);min-width:44px;text-align:center}
@media (max-width:860px){.tq{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq-g{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:30px clamp(30px,6vw,96px)}
.faq-g .side{position:sticky;top:110px;align-self:start}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font:400 clamp(18px,1.6vw,21px)/1.3 var(--serif);letter-spacing:-.01em;transition:color .25s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--brass-t)}
.faq summary i{flex:none;position:relative;width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2);transition:background .3s,color .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:10px;right:10px;top:15.5px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.faq summary i::after{transform:rotate(90deg)}
.faq details[open] summary i{background:var(--ink);color:#fff}
.faq details[open] summary i::after{transform:rotate(0)}
.faq .ans{padding:0 52px 24px 0;color:var(--ink-2);font-size:15.5px}
.faq .ans a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.faq-g{grid-template-columns:1fr}.faq-g .side{position:static}.faq .ans{padding-right:0}}

/* ---------- CTA ---------- */
.cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:30px 60px;align-items:end}
.cta .t2{margin-top:18px}
.cta .direct{display:grid;gap:2px;border-top:1px solid var(--line-d)}
.cta .direct a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-d);font-size:16px;transition:color .3s;overflow-wrap:anywhere}
.cta .direct a b{font-weight:400;text-align:right}
.cta .direct a span{flex:none;font:500 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cta .direct a:hover{color:var(--brass-l)}
@media (max-width:860px){.cta{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.ftr{background:#070d1c;color:rgba(255,255,255,.7);padding:clamp(56px,7vw,90px) 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line-d)}
.ftr .logo{color:#fff}
.ftr-g{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px}
.ftr-g p{font-size:14.5px;line-height:1.65;max-width:34ch;margin-top:18px}
.ftr h2{font:500 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-l);margin-bottom:16px}
.ftr ul{list-style:none}
.ftr li{font-size:14.5px;line-height:2}
.ftr a:hover{color:#fff}
.ftr-b{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;margin-top:clamp(44px,6vw,72px);padding-top:22px;border-top:1px solid var(--line-d);font-size:12.5px;color:rgba(255,255,255,.5)}
.ftr-b a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:860px){.ftr-g{grid-template-columns:1fr 1fr}.ftr-g>div:first-child{grid-column:1/-1}}

/* ---------- pages intérieures ---------- */
.ph{padding:clamp(124px,16vh,180px) 0 clamp(44px,6vw,80px)}
.ph h1{margin:22px 0 24px;max-width:16ch}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.chips a{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:14px;transition:background .3s,color .3s}
.chips a small{font:500 10px/1 var(--mono);color:var(--brass-t)}
.chips a:hover{background:var(--ink);color:#fff}
.chips a:hover small{color:var(--brass-l)}
.dsec{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px clamp(36px,7vw,110px);padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line);scroll-margin-top:80px}
.dsec .aside{position:sticky;top:110px;align-self:start}
.dsec .aside .ill{height:200px;width:auto;margin-top:30px}
.dsec h2{margin-top:16px}
.dsec .body p{color:var(--ink-2);font-size:16.5px}
.dsec .body p+p{margin-top:14px}
.kv{list-style:none;margin-top:30px;border-top:1px solid var(--line)}
.kv li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
.kv b{font:400 18px/1.3 var(--serif)}
.kv span{font-size:15px;color:var(--muted)}
@media (max-width:900px){.dsec{grid-template-columns:1fr}.dsec .aside{position:static}.dsec .aside .ill{height:130px;margin-top:22px}}
@media (max-width:520px){.kv li{grid-template-columns:1fr}}
.fg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-d);border-left:1px solid var(--line-d);margin-top:10px}
.fg div{padding:26px 24px 28px;border-right:1px solid var(--line-d);border-bottom:1px solid var(--line-d)}
.fg small{font:500 10.5px/1 var(--mono);color:var(--brass-l)}
.fg h3{font:400 21px/1.2 var(--serif);margin:14px 0 8px;letter-spacing:-.01em}
.fg p{font-size:14.5px;color:rgba(255,255,255,.66)}
@media (max-width:900px){.fg{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.fg{grid-template-columns:1fr}}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px}
.cols2 p{color:var(--ink-2);font-size:16.5px}
@media (max-width:760px){.cols2{grid-template-columns:1fr}}
.tl{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:clamp(40px,5vw,64px)}
.tl li{border-top:1px solid var(--ink);padding-top:18px}
.tl small{font:500 10.5px/1 var(--mono);color:var(--brass-t)}
.tl h3{font:400 21px/1.2 var(--serif);margin:12px 0 8px}
.tl p{font-size:14.5px;color:var(--ink-2)}
@media (max-width:900px){.tl{grid-template-columns:1fr 1fr;gap:28px 16px}}
@media (max-width:520px){.tl{grid-template-columns:1fr}}
.vg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.v{background:var(--card);padding:28px 26px;box-shadow:0 1px 0 var(--line)}
.v .ill{height:64px;width:auto;margin-bottom:22px}
.v h3{font:400 23px/1.2 var(--serif);margin-bottom:10px}
.v p{font-size:15px;color:var(--ink-2)}
@media (max-width:900px){.vg{grid-template-columns:1fr}}
.reg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-d)}
.reg div{padding:24px 24px 4px 0}
.reg div+div{padding-left:24px;border-left:1px solid var(--line-d)}
.reg small{font:500 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-l)}
.reg b{display:block;font:400 22px/1.25 var(--serif);margin:12px 0 6px;color:#fff}
.reg p{font-size:14.5px;color:rgba(255,255,255,.66)}
@media (max-width:760px){.reg{grid-template-columns:1fr}.reg div+div{padding-left:0;border-left:0;border-top:1px solid var(--line-d)}.reg div{padding-bottom:22px}}

.mem{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:32px clamp(36px,7vw,110px);padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line);scroll-margin-top:80px}
.mem .ph2{position:sticky;top:110px;align-self:start;aspect-ratio:4/5;max-width:380px;background:linear-gradient(180deg,#e6e0d3,#d4c9b3);overflow:hidden}
.mem .ph2 img{position:absolute;bottom:0;left:50%;width:118%;max-width:none;transform:translateX(-50%);filter:grayscale(1) contrast(1.04)}
.mem .mono{color:var(--brass-t)}
.mem h2{margin:14px 0 26px}
.mem .bio p{color:var(--ink-2);font-size:16.5px}
.mem .bio p+p{margin-top:14px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.tags span{padding:7px 14px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:13px}
.cts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 40px;padding-top:22px;border-top:1px solid var(--line)}
.cts small{display:block;font:500 10px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cts a{font-size:15.5px;overflow-wrap:anywhere}
.cts a:hover{color:var(--brass-t)}
@media (max-width:860px){.mem{grid-template-columns:1fr}.mem .ph2{position:relative;top:0;max-width:260px}.cts{grid-template-columns:1fr}}

/* ---------- contact : formulaire en étapes ---------- */
.wz-g{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:36px clamp(30px,5vw,80px);align-items:start}
.wz{background:var(--card);padding:clamp(22px,3.5vw,44px);box-shadow:0 1px 0 var(--line)}
.wz-prog{display:flex;gap:6px;margin-bottom:28px}
.wz-prog i{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden}
.wz-prog i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.wz-prog i.on::after{transform:scaleX(1)}
.wz-step{display:none;border:0}
.wz-step.on{display:block;animation:wzin .6s var(--ease)}
@keyframes wzin{from{opacity:0;transform:translateY(12px)}}
.wz-step legend{font:500 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-t)}
.wz-step .t3{margin:12px 0 24px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt span{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;box-shadow:inset 0 0 0 1px var(--line-2);font-size:15px;cursor:pointer;transition:background .25s,color .25s,box-shadow .25s}
.opt span::after{content:"";flex:none;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-2)}
.opt span:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.opt input:checked+span{background:var(--ink);color:#fff;box-shadow:none}
.opt input:checked+span::after{background:var(--brass-l);box-shadow:inset 0 0 0 3px var(--ink)}
.opt input:focus-visible+span{outline:2px solid var(--brass);outline-offset:2px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}
.fld{position:relative}
.fld.full{grid-column:1/-1}
.fld input,.fld textarea{width:100%;border-bottom:1px solid var(--line-2);padding:26px 0 10px;font-size:16px;outline:0;border-radius:0;transition:border-color .3s}
.fld textarea{min-height:120px;resize:vertical}
.fld label{position:absolute;left:0;top:25px;color:var(--muted);font-size:15.5px;pointer-events:none;transition:transform .35s var(--ease),font-size .35s var(--ease),color .3s}
.fld input:focus,.fld textarea:focus{border-color:var(--ink)}
.fld input:focus+label,.fld input:not(:placeholder-shown)+label,.fld textarea:focus+label,.fld textarea:not(:placeholder-shown)+label{transform:translateY(-19px);font-size:12px;color:var(--brass-t)}
.recap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.recap button{display:inline-flex;gap:6px;align-items:center;padding:7px 12px;background:var(--paper);font-size:13px;border-radius:999px}
.recap button b{font-weight:500}
.recap button:hover{background:var(--paper-2)}
.consent{font-size:13px;color:var(--muted);margin-top:16px}
.consent a{text-decoration:underline}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:30px}
.wz-back{font:500 14px/1 var(--sans);color:var(--muted);padding:12px 0}
.wz-back:hover{color:var(--ink)}
.wz-back.off{visibility:hidden}
.wz-st{margin-top:14px;font-size:14.5px;min-height:22px}
.wz-st.ok{color:#1d6b45}.wz-st.err{color:#9e3426}
.wz-st a{text-decoration:underline}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.done .tick{width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--brass-l);display:grid;place-items:center;margin-bottom:22px}
.done .tick svg{width:24px;height:24px}
.side dl{border-top:1px solid var(--line)}
.side dl div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}
.side dt{font:500 10px/2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.side dd{font-size:15.5px;overflow-wrap:anywhere}
.side dd a:hover{color:var(--brass-t)}
.side .ppl{display:grid;gap:8px;margin-top:22px}
.side .ppl a{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:center;background:var(--card);padding:10px;box-shadow:0 1px 0 var(--line)}
.side .ppl img{width:52px;height:52px;object-fit:cover;object-position:top;background:#ddd5c4;filter:grayscale(1)}
.side .ppl b{display:block;font:400 17px/1.2 var(--serif)}
.side .ppl span{font-size:13px;color:var(--muted)}
@media (max-width:960px){.wz-g{grid-template-columns:1fr}}
@media (max-width:560px){.opts,.fields{grid-template-columns:1fr}.wz-nav .btn{flex:1}}

/* ---------- légal ---------- */
.legal{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(30px,6vw,96px)}
.legal nav{position:sticky;top:110px;align-self:start;display:grid}
.legal nav a{padding:8px 0 8px 14px;border-left:1px solid var(--line);font-size:14px;color:var(--muted);transition:color .3s,border-color .3s}
.legal nav a:hover,.legal nav a.on{color:var(--ink);border-color:var(--brass)}
.legal article section{padding-bottom:40px;margin-bottom:40px;border-bottom:1px solid var(--line);scroll-margin-top:100px}
.legal article .n{font:500 11px/1 var(--mono);color:var(--brass-t)}
.legal article h2{font:400 clamp(24px,2.4vw,32px)/1.2 var(--serif);letter-spacing:-.015em;margin:12px 0 16px}
.legal article p,.legal article li{color:var(--ink-2);font-size:16px}
.legal article p+p,.legal article p+ul,.legal article ul+p,.legal article .box+p{margin-top:12px}
.legal article ul{padding-left:20px}
.legal article li+li{margin-top:6px}
.legal .box{background:var(--card);padding:20px 22px;margin:16px 0;font-size:15px;line-height:1.75;box-shadow:0 1px 0 var(--line);overflow-wrap:anywhere}
.legal .box b{display:block;font:500 10.5px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brass-t);margin-bottom:10px}
.legal a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media (max-width:860px){.legal{grid-template-columns:1fr}.legal nav{display:none}}

/* ---------- apparitions (actives seulement si le JS d'animation tourne) ---------- */
.anim [data-rv]{opacity:0;transform:translateY(24px)}
.anim [data-split]{visibility:hidden}
.anim .split-ok{visibility:visible}
.no-anim [data-rv]{opacity:1!important;transform:none!important}
.no-anim [data-split]{visibility:visible!important}
@media (prefers-reduced-motion:reduce){
  .anim [data-rv]{opacity:1;transform:none}
  .anim [data-split]{visibility:visible}
  .ill .draw{stroke-dashoffset:0!important;animation:none!important}
  .ill .pop,.ill .rise{opacity:1!important;transform:none!important;animation:none!important}
  .ill .pulse,.ill .dash{animation:none!important}
}

/* =====================================================================
   V4 — haut de page « nuit & or » + globe, alternance sombre / clair
   ===================================================================== */
:root{--night:#070d1c;--gold-g:linear-gradient(120deg,#c9a35d,#f0d9a6)}
.ftag{color:var(--brass-t)}
.on-dark{background:var(--night);color:#fff;position:relative;isolation:isolate}
.sec.on-dark::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(45% 55% at 88% 0%,rgba(176,138,69,.16),transparent 70%),radial-gradient(40% 50% at 0% 100%,rgba(24,52,110,.38),transparent 70%)}
.on-dark .ftag,.on-dark .p .mono,.on-dark .tq cite{color:var(--brass-l)}
.btn-gold{background:var(--gold-g);color:var(--ink);box-shadow:0 12px 40px -14px rgba(216,184,120,.65)}
.btn-gold:hover{background:#fff;color:var(--ink)}

/* hero */
.hero.on-dark{background:#060b17;overflow:hidden;min-height:100svh}
.aur{position:absolute;inset:-20%;filter:blur(80px);pointer-events:none;z-index:0}
.aur i{position:absolute;border-radius:50%;mix-blend-mode:screen}
.aur i:nth-child(1){width:55vw;height:55vw;left:44%;top:2%;background:radial-gradient(circle,rgba(176,138,69,.9) 0%,transparent 65%);animation:au1 18s ease-in-out infinite alternate}
.aur i:nth-child(2){width:62vw;height:62vw;left:6%;top:34%;background:radial-gradient(circle,#18346e 0%,transparent 65%);animation:au2 22s ease-in-out infinite alternate}
.aur i:nth-child(3){width:34vw;height:34vw;left:66%;top:52%;background:radial-gradient(circle,rgba(109,79,34,.9) 0%,transparent 65%);animation:au3 15s ease-in-out infinite alternate}
@keyframes au1{to{transform:translate(-16vw,12vh) scale(1.12)}}@keyframes au2{to{transform:translate(18vw,-12vh) scale(.92)}}@keyframes au3{to{transform:translate(-10vw,-16vh) scale(1.22)}}
.grain{position:absolute;inset:0;opacity:.1;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero .hero-main{position:relative;z-index:1}
.hero .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:30px}
.hero h1.t1{font-size:clamp(46px,6.6vw,108px);line-height:.95}
.hero .lead{color:rgba(244,239,228,.66)}
.shine{font-style:italic;background:linear-gradient(100deg,#a8823f 0%,#f6e3b4 30%,#c79c55 50%,#f6e3b4 70%,#a8823f 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-250% 0}}
.globe-w{position:relative;margin:0 calc(-1 * var(--gut)) 0 0}
#globe{display:block;width:100%;aspect-ratio:1;max-height:76vh;margin-left:auto}
.globe-cap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:-4% var(--gut) 0 12%;font:500 10.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,228,.5)}
.globe-cap b{font-weight:500;color:var(--brass-l)}
.hero .facts{border-top-color:var(--line-d);position:relative;z-index:1}
.hero .facts li{color:rgba(244,239,228,.55)}
.hero .facts li+li{border-color:var(--line-d)}
.hero .facts b{color:#fff}
@media (max-width:980px){
  .hero .hero-grid{grid-template-columns:1fr;gap:10px}
  .hero-txt{text-align:center}
  .hero .eyebrow{justify-content:center;text-align:center}
  .hero .eyebrow::before{display:none}
  .hero .lead{margin-left:auto;margin-right:auto}
  .hero .cta-row{justify-content:center}
  .globe-w{margin:0 auto;width:min(460px,100%)}
  #globe{margin:0 auto;max-height:none}
  .globe-cap{justify-content:center;text-align:center;margin:-2% 0 0}
}
@media (max-width:640px){.hero .facts li{text-align:center}}

/* header sur fond sombre */
.hdr.dk{color:#fff}
.hdr.dk .logo{color:#fff}
.hdr.dk .nav a{color:rgba(255,255,255,.75)}
.hdr.dk .nav a:hover,.hdr.dk .nav a[aria-current=page]{color:#fff}
.hdr.dk .nav a::after{background:#fff}
.hdr.dk .nav .btn{background:var(--gold-g);color:var(--ink)}
.hdr.dk .nav .btn:hover{background:#fff}
.hdr.dk.solid{background:rgba(7,13,28,.78);box-shadow:0 1px 0 var(--line-d)}
.hdr.dk .burger{color:#fff}
.hdr.dk .burger span.bars{background:#fff}
.hdr.dk .burger span.bars i{background:var(--ink)}
.menu-open .hdr,.menu-open .hdr.dk{color:var(--ink);background:transparent;box-shadow:none}
.menu-open .hdr.dk .logo{color:var(--ink)}
.menu-open .hdr.dk .burger{color:var(--ink)}
.menu-open .hdr.dk .burger span.bars{background:var(--ink)}
.menu-open .hdr.dk .burger span.bars i{background:#fff}

/* schéma sur fond sombre */
.on-dark .seg{box-shadow:inset 0 0 0 1px var(--line-d)}
.on-dark .seg button{color:rgba(255,255,255,.72)}
.on-dark .seg button:hover{color:#fff}
.on-dark .seg button[aria-selected=true]{background:#fff;color:var(--ink)}
.on-dark .fn{background:var(--night);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.on-dark .fn small{color:rgba(255,255,255,.55)}
.on-dark .fn.me{background:var(--gold-g);color:var(--ink);box-shadow:0 14px 40px -16px rgba(216,184,120,.6)}
.on-dark .fn.me small{color:var(--brass-t)}
.on-dark .flow svg.links path{stroke:rgba(255,255,255,.22)}
.on-dark .flow svg.links path.on{stroke:var(--brass-l)}
.on-dark .flow svg.links circle{fill:var(--brass-l)}
.on-dark .flow svg.links circle.back{fill:#fff}
.on-dark .ftext p,.on-dark .ftext li{color:rgba(255,255,255,.72)}
.on-dark .ftext ul,.on-dark .ftext li{border-color:var(--line-d)}

/* pour qui sur fond sombre */
.on-dark .p{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line-d)}
.on-dark .p p,.on-dark .p li{color:rgba(255,255,255,.72)}
.on-dark .p li{border-color:var(--line-d)}

/* témoignages sur fond sombre */
.on-dark .tq blockquote{color:#fff}
.on-dark .tq-nav button.ar{box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff}
.on-dark .tq-nav button.ar:hover{background:#fff;color:var(--ink)}
.on-dark .tq-nav .count{color:rgba(255,255,255,.5)}
@media (prefers-reduced-motion:reduce){.aur i,.shine{animation:none!important}}

/* en-têtes des pages intérieures en nuit & or */
.ph.on-dark{background:#060b17;overflow:hidden;padding-bottom:clamp(56px,7vw,96px)}
.ph.on-dark .wrap{position:relative;z-index:1}
.ph.on-dark .aur i:nth-child(1){left:55%;top:-20%}
.ph.on-dark .aur i:nth-child(2){left:-10%;top:10%}
.ph.on-dark .lead{color:rgba(244,239,228,.66)}
.ph.on-dark .t1 em{background:linear-gradient(100deg,#a8823f 0%,#f6e3b4 30%,#c79c55 50%,#f6e3b4 70%,#a8823f 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.on-dark .chips a{box-shadow:inset 0 0 0 1px var(--line-d);color:#fff}
.on-dark .chips a small{color:var(--brass-l)}
.on-dark .chips a:hover{background:#fff;color:var(--ink)}
.on-dark .chips a:hover small{color:var(--brass-t)}
.ph.on-dark + .sec,.ph.on-dark + section,.ph.on-dark + .wrap .dsec:first-child{border-top:0}
@media (max-width:980px){
  .ph.on-dark{text-align:center}
  .ph.on-dark .eyebrow{justify-content:center}
  .ph.on-dark .eyebrow::before{display:none}
  .ph.on-dark h1,.ph.on-dark .lead{margin-left:auto;margin-right:auto}
  .ph.on-dark .chips,.ph.on-dark .cta-row{justify-content:center}
}

/* =====================================================================
   Mobile : centrage des titres, visuels, photos et boutons sur tout le site
   (les longs paragraphes, listes et formulaires restent alignés à gauche)
   ===================================================================== */
@media (max-width:760px){
  .eyebrow{justify-content:center;text-align:center}
  .eyebrow::before{display:none}
  .head{text-align:center;justify-items:center}
  .head .lead{margin-left:auto;margin-right:auto;justify-self:center}
  .cta-row{justify-content:center}
  .tq>div:first-child,.faq-g .side,.cta>div:first-child{text-align:center}
  .tq-nav{justify-content:center}
  .tq blockquote,.tq cite{text-align:center}
  .ill{margin-left:auto!important;margin-right:auto!important}
  .x>.num,.x>h3,.x>.sub,.x>p{text-align:center}
  .x .more,.p .more{align-self:center}
  .p>.mono,.p>h3,.p>p{text-align:center}
  .dsec .aside{text-align:center}
  .dsec .body .cta-row{justify-content:center}
  .v{text-align:center}
  .tl li{text-align:center}
  .reg div{text-align:center}
  .fg div{text-align:center}
  .mem .ph2{margin-left:auto;margin-right:auto}
  .mem>div:last-child>.mono,.mem h2{text-align:center}
  .mem .tags{justify-content:center}
  .cts{justify-items:center;text-align:center}
  .cols2{text-align:left}
  .wz-step legend,.wz-step .t3{text-align:center;display:block;width:100%}
  .done{text-align:center}.done .tick{margin-left:auto;margin-right:auto}
  .side .ppl a{text-align:left}
}

/* globe interactif */
#globe{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#globe.dragging{cursor:grabbing}
.globe-hint{display:inline-flex;align-items:center;gap:8px;color:rgba(244,239,228,.5)}
.globe-hint svg{width:15px;height:15px;flex:none}
.globe-hint .m{display:none}
@media (pointer:coarse){.globe-hint .d{display:none}.globe-hint .m{display:inline}}
