/* =========================================================
   BAMADH & CO. · Feuille de styles du site
   ========================================================= */
:root{
  --encre:#0B0D12;
  --encre-2:#10131A;
  --encre-3:#181C25;
  --ivoire:#EDE8DF;
  --blanc:#FFFFFF;
  --perle:#F4F4F2;
  --or:#C5A46D;
  --or-clair:#DCC293;
  --rouge:#C8102E;
  --texte:#1B1E25;
  --texte-doux:#5D626D;
  --sur-sombre:rgba(237,232,223,.72);
  --filet-s:rgba(237,232,223,.14);
  --filet-c:rgba(11,13,18,.12);
  --serif:"Cormorant Garamond", "Times New Roman", Georgia, serif;
  --sans:"Manrope", "Helvetica Neue", Arial, sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.76,0,.24,1);
  --gutter:clamp(1.25rem, 4.5vw, 4rem);
  --max:1360px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html.lenis, html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto !important}
.lenis.lenis-stopped{overflow:hidden}
html.is-loading, html.is-loading body{overflow:hidden}
body{margin:0;background:var(--blanc);color:var(--texte);font-family:var(--sans);font-size:1.0625rem;line-height:1.72;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
::selection{background:var(--or);color:var(--encre)}
img{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.012em;color:var(--encre)}
p{margin:0}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--or);outline-offset:4px;border-radius:2px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:1rem;top:-5rem;z-index:1000;background:var(--or);color:var(--encre);padding:.7rem 1rem;text-decoration:none}
.skip:focus{top:1rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dark{background:var(--encre);color:var(--sur-sombre)}
.dark h1,.dark h2,.dark h3,.dark h4{color:var(--ivoire)}
.perle{background:var(--perle)}

/* ---------- Typographie ---------- */
.t-display{font-size:clamp(3.3rem, 8.2vw, 8.4rem);line-height:.9;letter-spacing:-.022em;font-weight:500}
.t-h1{font-size:clamp(3rem, 6.6vw, 6.6rem);line-height:.94;letter-spacing:-.02em}
.t-h2{font-size:clamp(2.5rem, 4.8vw, 4.5rem);line-height:1;letter-spacing:-.018em}
.t-h3{font-size:clamp(1.8rem, 2.6vw, 2.5rem);line-height:1.08}
.lede{font-size:clamp(1.08rem, 1.3vw, 1.22rem);line-height:1.75;max-width:38em}
.dark .lede{color:var(--sur-sombre)}
.muted{color:var(--texte-doux)}
.kicker{display:inline-flex;align-items:center;gap:.9rem;font-family:var(--sans);font-size:.8rem;font-weight:650;letter-spacing:.08em;color:var(--or)}
.kicker::before{content:"";width:38px;height:1px;background:currentColor}
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln > span{display:inline-block}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.w > span{display:inline-block}

/* ---------- Boutons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.85rem;padding:1.15rem 1.95rem;border-radius:999px;border:1px solid transparent;font-family:var(--sans);font-weight:650;font-size:.92rem;letter-spacing:.02em;line-height:1;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .55s var(--ease), border-color .55s var(--ease)}
.btn::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;transform:scaleX(0);transform-origin:right;transition:transform .8s var(--ease)}
.btn:hover::before{transform:scaleX(1);transform-origin:left}
.btn i{font-size:1.1rem;font-style:normal;transition:transform .6s var(--ease)}
.btn:hover i{transform:rotate(45deg)}
.btn-or{background:var(--or);color:var(--encre)}
.btn-or::before{background:var(--ivoire)}
.btn-ghost{border-color:rgba(237,232,223,.32);color:var(--ivoire)}
.btn-ghost::before{background:var(--ivoire)}
.btn-ghost:hover{color:var(--encre);border-color:var(--ivoire)}
.btn-encre{background:var(--encre);color:var(--ivoire)}
.btn-encre::before{background:var(--or)}
.btn-encre:hover{color:var(--encre)}
.btn-ligne{border-color:var(--filet-c);color:var(--encre)}
.btn-ligne::before{background:var(--encre)}
.btn-ligne:hover{color:var(--ivoire);border-color:var(--encre)}
.link-line{position:relative;display:inline-flex;align-items:center;gap:.6rem;padding-bottom:.4rem;font-weight:650;font-size:.95rem;letter-spacing:.01em;text-decoration:none;color:inherit}
.link-line::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:left;transition:transform .7s var(--ease)}
.link-line:hover::after{transform:scaleX(.25)}
.link-line i{font-style:normal;transition:transform .6s var(--ease)}
.link-line:hover i{transform:translateX(5px)}

/* ---------- Écran d'ouverture et transitions ---------- */
.loader{position:fixed;inset:0;z-index:300;display:none;background:var(--encre);color:var(--ivoire)}
html.is-loading .loader{display:block}
.loader-brand{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:1.2rem}
.loader-brand img{width:64px;height:64px;padding:6px;border-radius:50%;background:var(--rouge)}
.loader-name{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);line-height:1;overflow:hidden}
.loader-name span{display:inline-block}
.loader-tag{display:block;font-family:var(--sans);font-size:.85rem;letter-spacing:.06em;color:var(--or);margin-top:.5rem}
.loader-count{position:absolute;right:var(--gutter);bottom:calc(var(--gutter) * .8);font-family:var(--serif);font-size:clamp(5rem,15vw,13rem);line-height:.8;color:var(--ivoire);font-variant-numeric:tabular-nums}
.loader-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--or);transform:scaleX(0);transform-origin:left}
.wipe{position:fixed;inset:0;z-index:290;display:grid;place-items:center;background:var(--encre);transform:translateY(100%);pointer-events:none}
html.is-entering .wipe{transform:translateY(0)}
.wipe.is-out{transform:translateY(-100%);transition:transform 1.05s var(--ease-io)}
.wipe.is-in{transform:translateY(0);transition:transform .85s var(--ease-io);pointer-events:all}
.wipe span{font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,5vw,4.4rem);color:var(--ivoire);opacity:0;transition:opacity .5s ease .25s}
.wipe.is-in span,html.is-entering .wipe span{opacity:1}
.wipe.is-out span{opacity:0;transition-delay:0s}

/* ---------- Curseur ---------- */
.cursor,.cursor-ring{position:fixed;left:0;top:0;z-index:400;pointer-events:none;border-radius:50%;display:none}
html.has-cursor .cursor{display:block}
html.has-cursor .cursor-ring{display:grid}
.cursor{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--or)}
.cursor-ring{width:42px;height:42px;margin:-21px 0 0 -21px;place-items:center;border:1px solid rgba(197,164,109,.55);transition:width .5s var(--ease), height .5s var(--ease), margin .5s var(--ease), background-color .4s, border-color .4s}
.cursor-ring span{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--encre);opacity:0;transition:opacity .3s}
.cursor-ring.is-hover{width:70px;height:70px;margin:-35px 0 0 -35px;border-color:var(--or)}
.cursor-ring.is-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--or);border-color:var(--or)}
.cursor-ring.is-label span{opacity:1}
html.has-cursor body,html.has-cursor a,html.has-cursor button{cursor:none}
html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:text}

/* ---------- Barre de navigation ---------- */
.topbar{position:fixed;inset:0 0 auto;z-index:100;color:var(--ivoire);transition:transform .8s var(--ease), background-color .5s ease}
.topbar-in{max-width:var(--max);margin:auto;padding:1.4rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;transition:padding .5s var(--ease)}
.topbar.is-scrolled{background:rgba(11,13,18,.78);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 1px 0 var(--filet-s)}
.topbar.is-scrolled .topbar-in{padding-block:.85rem}
.topbar.is-hidden{transform:translateY(-105%)}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:inherit}
.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--rouge);flex:none}
.brand-mark img{width:37px;height:37px;object-fit:contain}
.brand-name{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1;letter-spacing:.005em}
.brand-name small{display:block;margin-top:5px;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.07em;color:var(--or)}
.topbar-actions{display:flex;align-items:center;gap:1.8rem}
.topbar-link{position:relative;font-size:.9rem;font-weight:650;letter-spacing:.02em;text-decoration:none;color:inherit;padding-bottom:3px}
.topbar-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--or);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.topbar-link:hover::after{transform:scaleX(1);transform-origin:left}
.menu-btn{display:inline-flex;align-items:center;gap:.9rem;padding:.78rem 1.15rem .78rem 1.35rem;border-radius:999px;border:1px solid rgba(237,232,223,.3);background:rgba(11,13,18,.15);color:inherit;font-weight:650;font-size:.88rem;letter-spacing:.04em;cursor:pointer;transition:border-color .4s, background-color .4s}
.menu-btn:hover{border-color:var(--or);background:rgba(197,164,109,.12)}
.bars{position:relative;display:block;width:24px;height:10px}
.bars span{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:left .5s var(--ease), right .5s var(--ease)}
.bars span:first-child{top:0}
.bars span:last-child{bottom:0;left:8px}
.menu-btn:hover .bars span:last-child{left:0}
.menu-btn:hover .bars span:first-child{right:8px}

/* ---------- Menu plein écran ---------- */
.overlay{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:var(--encre);color:var(--ivoire);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path 1.05s var(--ease-io), visibility 0s linear 1.05s}
.overlay.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path 1.05s var(--ease-io), visibility 0s}
.overlay-nav{display:flex;flex-direction:column;justify-content:space-between;padding:7.5rem var(--gutter) 2.5rem;min-height:100%}
.overlay-close{position:absolute;top:1.4rem;right:var(--gutter);z-index:3;display:inline-flex;align-items:center;gap:.8rem;padding:.78rem 1.2rem;border-radius:999px;border:1px solid rgba(237,232,223,.3);background:rgba(11,13,18,.4);color:var(--ivoire);font-weight:650;font-size:.88rem;letter-spacing:.04em;cursor:pointer}
.overlay-close .x{position:relative;width:14px;height:14px}
.overlay-close .x::before,.overlay-close .x::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:currentColor;transform:rotate(45deg)}
.overlay-close .x::after{transform:rotate(-45deg)}
.overlay-links{list-style:none;display:grid;gap:.15rem}
.overlay-links a{display:block;overflow:hidden;font-family:var(--serif);font-size:clamp(2.8rem,6.4vw,6rem);line-height:1.04;text-decoration:none;color:var(--ivoire)}
.overlay-links a > span{display:inline-block;transform:translateY(108%);transition:transform 1.1s var(--ease) calc(.3s + var(--i) * .07s), color .45s ease}
.overlay.is-open .overlay-links a > span{transform:none}
.overlay-links a:hover > span,.overlay-links a[aria-current="page"] > span{color:var(--or);font-style:italic}
.overlay-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding-top:2rem;border-top:1px solid var(--filet-s);font-size:.92rem;color:var(--sur-sombre);opacity:0;transform:translateY(20px);transition:opacity .8s ease .6s, transform .8s var(--ease) .6s}
.overlay.is-open .overlay-foot{opacity:1;transform:none}
.overlay-foot strong{display:block;font-weight:650;color:var(--or);font-size:.78rem;letter-spacing:.06em;margin-bottom:.4rem}
.overlay-foot a{text-decoration:none;color:var(--ivoire)}
.overlay-media{position:relative;overflow:hidden;background:var(--encre-3)}
.overlay-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.12);transition:opacity .9s ease, transform 1.6s var(--ease)}
.overlay-media img.is-active{opacity:1;transform:scale(1)}
.overlay-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,18,.55),rgba(11,13,18,.05) 60%)}

/* ---------- Héro ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--encre);color:var(--ivoire);isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;transform:scale(1.08);will-change:transform}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,13,18,.9) 0%,rgba(11,13,18,.62) 42%,rgba(11,13,18,.18) 100%),linear-gradient(0deg,rgba(11,13,18,.95) 0%,rgba(11,13,18,0) 50%),linear-gradient(180deg,rgba(11,13,18,.55) 0%,rgba(11,13,18,0) 22%)}
.hero-content{width:100%;max-width:var(--max);margin:0 auto;padding:9rem var(--gutter) 3rem}
.hero-content .kicker{margin-bottom:2rem}
.hero-title{color:var(--ivoire);max-width:11ch}
.hero-lede{margin-top:2.2rem;max-width:40em;color:var(--sur-sombre);font-size:clamp(1.05rem,1.25vw,1.18rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem}
.hero-meta{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter) 2.2rem}
.hero-meta-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:1.5rem;padding-top:1.6rem;border-top:1px solid var(--filet-s)}
.hm{display:flex;align-items:baseline;gap:.9rem}
.hm strong{font-family:var(--serif);font-size:clamp(2rem,3vw,2.8rem);font-weight:500;line-height:1;color:var(--ivoire)}
.hm strong sup{font-size:.5em;color:var(--or);vertical-align:.8em}
.hm span{font-size:.85rem;color:var(--sur-sombre);line-height:1.35}
.hero-scroll{display:flex;align-items:center;gap:1rem;font-size:.78rem;font-weight:650;letter-spacing:.08em;color:var(--sur-sombre);text-decoration:none}
.hero-scroll i{position:relative;display:block;width:1px;height:46px;background:var(--filet-s);overflow:hidden}
.hero-scroll i::after{content:"";position:absolute;left:0;top:0;width:1px;height:40%;background:var(--or);animation:drip 2.4s var(--ease-io) infinite}
@keyframes drip{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}
.coords{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;font-size:.72rem;font-weight:650;letter-spacing:.14em;color:rgba(237,232,223,.55);white-space:nowrap}

/* En-tête de page intérieure */
.page-hero{min-height:82svh}
.page-hero .hero-content{padding-bottom:4.5rem}
.crumbs{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;list-style:none;margin-bottom:2rem;font-size:.85rem;color:var(--sur-sombre)}
.crumbs a{text-decoration:none;color:var(--ivoire);font-weight:600}
.crumbs li + li::before{content:"/";margin-right:.6rem;color:var(--or)}

/* ---------- Sections ---------- */
.section{padding-block:clamp(6rem, 11vw, 10rem)}
.head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.6rem 5rem;align-items:end;margin-bottom:clamp(3rem,6vw,5.5rem)}
.head .kicker{margin-bottom:1.6rem}
.head-center{max-width:52rem;margin:0 auto clamp(3rem,6vw,5rem);text-align:center}
.head-center .kicker{margin-bottom:1.5rem}
.head-center .lede{margin:1.4rem auto 0}
.reveal-img{position:relative;overflow:hidden;border-radius:3px;background:var(--encre-3)}
.reveal-img img{width:100%;height:100%;object-fit:cover}

/* ---------- Mission ---------- */
.mission-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(3rem,7vw,7.5rem);align-items:start}
.statement{margin-top:2rem;font-family:var(--serif);font-size:clamp(2.1rem,3.6vw,3.5rem);font-weight:500;line-height:1.14;letter-spacing:-.01em;color:var(--encre)}
.mission-text{margin-top:2.4rem;max-width:34em;color:var(--texte-doux);font-size:1.1rem}
.mission-actions{margin-top:2.6rem}
.mission-media{position:relative}
.mission-media .reveal-img{aspect-ratio:4 / 5}
.mission-seal{position:absolute;left:-2.5rem;bottom:2.5rem;width:170px;height:170px;border-radius:50%;background:var(--encre);color:var(--ivoire);display:grid;place-items:center;text-align:center;padding:1.2rem;box-shadow:0 30px 60px -30px rgba(11,13,18,.6)}
.mission-seal svg{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}
.mission-seal text{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.22em;fill:var(--or)}
.mission-seal strong{font-family:var(--serif);font-size:2.6rem;font-weight:500;line-height:.9;color:var(--ivoire)}
.mission-seal span{display:block;font-size:.72rem;color:var(--sur-sombre);letter-spacing:.04em}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(4rem,8vw,6.5rem);border-top:1px solid var(--filet-c)}
.pillar{padding:2.4rem 2.2rem 0 0}
.pillar + .pillar{padding-left:2.2rem;border-left:1px solid var(--filet-c)}
.pillar i{display:block;font-size:1.6rem;font-style:normal;color:var(--or);margin-bottom:1.4rem}
.pillar h3{font-size:1.75rem;margin-bottom:.9rem}
.pillar p{color:var(--texte-doux);font-size:1rem}

/* ---------- Bandeau défilant ---------- */
.marquee{overflow:hidden;padding-block:clamp(2.5rem,5vw,4rem);border-block:1px solid var(--filet-s);background:var(--encre)}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-group{display:flex;align-items:center;gap:3rem;padding-right:3rem;font-family:var(--serif);font-size:clamp(3rem,7vw,6.5rem);line-height:1;white-space:nowrap;color:var(--ivoire)}
.marquee-group em{font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(237,232,223,.55)}
.marquee-group b{font-size:.35em;font-weight:400;color:var(--or)}

/* ---------- Liste de services (survol) ---------- */
.svc-list{border-top:1px solid var(--filet-s)}
.svc-row{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) auto;gap:2.5rem;align-items:center;padding:2.3rem 0;border-bottom:1px solid var(--filet-s);text-decoration:none;color:inherit}
.svc-row::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.svc-row:hover::after{transform:scaleX(1)}
.svc-row h3{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.04;transition:transform .8s var(--ease), color .5s ease}
.svc-row:hover h3{transform:translateX(18px);color:var(--or)}
.svc-row p{font-size:1rem;color:var(--sur-sombre);max-width:31em}
.svc-arrow{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1px solid var(--filet-s);font-size:1.25rem;transition:background-color .5s, border-color .5s, color .5s, transform .7s var(--ease)}
.svc-row:hover .svc-arrow{background:var(--or);border-color:var(--or);color:var(--encre);transform:rotate(-45deg)}
.svc-thumb{display:none}
.svc-float{position:fixed;left:0;top:0;z-index:60;width:340px;aspect-ratio:4 / 5;margin:-212px 0 0 -170px;overflow:hidden;border-radius:3px;pointer-events:none;opacity:0;transform:scale(.6)}
.svc-float img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.svc-float img.is-active{opacity:1}
.svc-foot{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:3rem;flex-wrap:wrap}

/* ---------- Chiffres ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--filet-c)}
.stat{padding:2.6rem 1.8rem 0 0}
.stat + .stat{padding-left:1.8rem;border-left:1px solid var(--filet-c)}
.stat-num{display:block;font-family:var(--serif);font-size:clamp(4rem,8vw,7.4rem);font-weight:500;line-height:.88;color:var(--encre);font-variant-numeric:lining-nums tabular-nums}
.stat-num sup{font-size:.42em;color:var(--or);vertical-align:1em;margin-left:.04em}
.stat p{margin-top:1rem;color:var(--texte-doux);font-size:.98rem}
.dark .stats-grid{border-color:var(--filet-s)}
.dark .stat + .stat{border-color:var(--filet-s)}
.dark .stat-num{color:var(--ivoire)}
.dark .stat p{color:var(--sur-sombre)}

/* ---------- Secteurs (mosaïque photo) ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.tile{position:relative;display:block;aspect-ratio:4 / 5;overflow:hidden;border-radius:3px;color:var(--ivoire);text-decoration:none;background:var(--encre-3)}
.tiles .tile:nth-child(3n+2){transform:translateY(4.5rem)}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease), filter .8s ease;filter:saturate(.85)}
.tile:hover img{transform:scale(1.07);filter:saturate(1)}
.tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,18,.88) 0%,rgba(11,13,18,.15) 55%,rgba(11,13,18,0) 100%)}
.tile-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.8rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.tile-cap h3{font-size:clamp(1.9rem,2.6vw,2.6rem);color:var(--ivoire)}
.tile-cap i{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(237,232,223,.35);font-style:normal;transition:background-color .5s, color .5s, transform .7s var(--ease)}
.tile:hover .tile-cap i{background:var(--or);color:var(--encre);border-color:var(--or);transform:rotate(-45deg)}
.tiles-foot{margin-top:7rem;display:flex;justify-content:center}

/* ---------- Méthode (image collée) ---------- */
.method-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);align-items:start}
.method-media{position:sticky;top:12vh;height:76vh;overflow:hidden;border-radius:3px;background:var(--encre-3)}
.method-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity 1s ease, transform 2s var(--ease)}
.method-media img.is-active{opacity:1;transform:scale(1)}
.method-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,18,.7),rgba(11,13,18,0) 45%)}
.method-count{position:absolute;left:2rem;bottom:1.8rem;z-index:2;font-family:var(--serif);font-size:3.4rem;line-height:1;color:var(--ivoire)}
.method-count small{font-size:.45em;color:var(--or)}
.m-steps{list-style:none}
.m-step{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:3rem 0;border-top:1px solid var(--filet-c);opacity:.32;transition:opacity .8s ease}
.m-step.is-on{opacity:1}
.m-num{font-family:var(--serif);font-size:clamp(4rem,7vw,6.2rem);line-height:.9;color:var(--or)}
.m-step h3{margin-top:1.4rem;font-size:clamp(2rem,3vw,2.9rem)}
.m-step p{margin-top:1rem;max-width:30em;color:var(--texte-doux);font-size:1.1rem}

/* ---------- Mot du DG ---------- */
.dg{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.dg-photo{position:relative;isolation:isolate}
.dg-photo::before{content:"";position:absolute;inset:1.6rem -1.6rem -1.6rem 1.6rem;border:1px solid var(--or);z-index:-1}
.dg-photo .reveal-img{aspect-ratio:4 / 5}
.dg-photo img{object-position:50% 20%}
.dg-mark{font-family:var(--serif);font-size:7rem;line-height:.5;color:var(--or);height:3.2rem;display:block}
.dg-lead{font-family:var(--serif);font-size:clamp(1.65rem,2.5vw,2.35rem);font-weight:500;line-height:1.3;letter-spacing:-.005em}
.dark .dg-lead{color:var(--ivoire)}
.dg-body{display:grid;gap:1.3rem;margin-top:2rem;font-size:1.08rem;max-width:38em}
.dg-sign{margin-top:2.4rem;display:flex;align-items:center;gap:1.2rem}
.dg-sign::before{content:"";width:50px;height:1px;background:var(--or)}
.dg-sign strong{display:block;font-family:var(--serif);font-style:italic;font-size:1.9rem;font-weight:500;line-height:1.1;color:var(--or)}
.dg-sign span{font-size:.88rem;color:var(--texte-doux)}
.dark .dg-sign span{color:var(--sur-sombre)}

/* ---------- Newsletter ---------- */
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,6rem);align-items:end}
.news-form{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--encre);padding-bottom:.6rem;margin-top:.5rem}
.news-form input{flex:1;min-width:0;border:0;background:transparent;padding:.9rem 0;font:inherit;font-size:1.2rem;color:var(--texte)}
.news-form input:focus{outline:none}
.news-form:focus-within{border-color:var(--or)}
.news-perks{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;list-style:none;margin-top:1.4rem;font-size:.9rem;font-weight:600}
.news-perks li{display:flex;align-items:center;gap:.5rem}
.news-perks i{font-style:normal;color:var(--or)}
.news-note{margin-top:1rem;font-size:.85rem;color:var(--texte-doux)}
.form-status{margin-top:.8rem;font-size:.92rem;font-weight:650}
.is-ok{color:#2F7A55}
.is-error{color:var(--rouge)}

/* ---------- Appel final (photo) ---------- */
.cta{position:relative;overflow:hidden;isolation:isolate;color:var(--ivoire);padding-block:clamp(7rem,14vw,12rem)}
.cta-media{position:absolute;inset:-12% 0;z-index:-2}
.cta-media img{width:100%;height:100%;object-fit:cover}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,13,18,.92),rgba(11,13,18,.55))}
.cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:end}
.cta h2{color:var(--ivoire)}
.cta p{margin-top:1.4rem;max-width:34em;color:var(--sur-sombre);font-size:1.12rem}
.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.6rem}
.cta-list{list-style:none;display:grid;gap:0;border-top:1px solid var(--filet-s)}
.cta-list li{display:flex;gap:1.1rem;align-items:flex-start;padding:1.3rem 0;border-bottom:1px solid var(--filet-s);line-height:1.5}
.cta-list i{font-style:normal;font-size:1.2rem;color:var(--or)}
.cta-list a{text-decoration:none;color:var(--ivoire)}
.cta-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--filet-s)}
.cta-stats div{padding:1.6rem 1rem 1.6rem 0;border-bottom:1px solid var(--filet-s)}
.cta-stats div:nth-child(even){padding-left:1.4rem;border-left:1px solid var(--filet-s)}
.cta-stats strong{display:block;font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;line-height:1;color:var(--ivoire)}
.cta-stats span{font-size:.88rem;color:var(--sur-sombre)}

/* ---------- Pied de page ---------- */
.footer{background:var(--encre-2);color:var(--sur-sombre);padding-top:clamp(5rem,9vw,7.5rem);font-size:.95rem}
.footer-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:3rem;padding-bottom:4rem;border-bottom:1px solid var(--filet-s)}
.footer-claim{font-family:var(--serif);font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:1.02;color:var(--ivoire)}
.footer-brand .brand{margin-bottom:2rem;color:var(--ivoire)}
.footer h4{font-family:var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.08em;color:var(--or);margin-bottom:1.3rem}
.footer ul{list-style:none;display:grid;gap:.7rem}
.footer a{text-decoration:none;transition:color .35s}
.footer a:hover{color:var(--ivoire)}
.socials{display:flex;gap:.7rem}
.socials a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid var(--filet-s);font-size:1.1rem;color:var(--ivoire);transition:background-color .5s, color .5s, border-color .5s}
.socials a:hover{background:var(--or);border-color:var(--or);color:var(--encre)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.8rem;font-size:.85rem}

/* ---------- Services : rangées éditoriales ---------- */
.ed-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2.5rem,6vw,6.5rem);align-items:center;padding-block:clamp(3rem,6vw,5rem);border-top:1px solid var(--filet-c)}
.ed-row:nth-child(even) .ed-media{order:2}
.ed-media{aspect-ratio:4 / 3}
.ed-tag{display:inline-flex;align-items:center;gap:.7rem;font-size:.8rem;font-weight:650;letter-spacing:.08em;color:var(--or)}
.ed-tag::before{content:"";width:26px;height:1px;background:currentColor}
.ed-row h3{margin:1.1rem 0 1.3rem;font-size:clamp(2.1rem,3.4vw,3.3rem);line-height:1.02}
.ed-row p{color:var(--texte-doux);font-size:1.08rem;max-width:32em}
.ed-row .link-line{margin-top:2rem}

/* ---------- Témoignages (carrousel) ---------- */
.slider{position:relative;max-width:1060px;margin:0 auto;text-align:center}
.slides{position:relative;min-height:16rem}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden}
.slide.is-active{position:relative;opacity:1;visibility:visible}
.slide blockquote{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.7rem,3.2vw,2.75rem);line-height:1.3;color:var(--ivoire)}
.slide figcaption{margin-top:2.2rem;font-size:.95rem;color:var(--sur-sombre)}
.slide figcaption strong{display:block;font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--or)}
.slider-ui{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:3rem}
.slider-ui button{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid var(--filet-s);background:none;color:var(--ivoire);font-size:1.2rem;cursor:pointer;transition:background-color .4s, color .4s, border-color .4s}
.slider-ui button:hover{background:var(--or);border-color:var(--or);color:var(--encre)}
.slider-dots{display:flex;gap:.6rem}
.slider-dots span{position:relative;display:block;width:46px;height:2px;background:var(--filet-s);overflow:hidden}
.slider-dots span i{position:absolute;inset:0;background:var(--or);transform:scaleX(0);transform-origin:left}
.quote-mark{display:block;font-family:var(--serif);font-size:8rem;line-height:.6;height:4rem;color:var(--or)}

/* ---------- Page service ---------- */
.why{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,6vw,6rem);align-items:start}
.why-text{display:grid;gap:1.3rem;font-size:1.1rem;color:var(--texte-doux)}
.why-text .why-lead{font-family:var(--serif);font-size:clamp(1.6rem,2.3vw,2.15rem);line-height:1.3;color:var(--encre)}
.why-list{list-style:none;border-top:1px solid var(--filet-c)}
.why-list li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 0;border-bottom:1px solid var(--filet-c);color:var(--texte)}
.why-list i{font-style:normal;color:var(--or);font-size:1.2rem;line-height:1.5}
.why-side{display:grid;gap:1.2rem;position:sticky;top:120px}
.side-card{padding:2.2rem;border-radius:3px;background:var(--encre);color:var(--sur-sombre)}
.side-card h3{font-size:1.7rem;color:var(--ivoire);margin-bottom:1.3rem}
.side-card.light{background:var(--perle);color:var(--texte)}
.side-card.light h3{color:var(--encre)}
.side-card ul{list-style:none;display:grid;gap:.9rem}
.side-card li{display:flex;gap:.8rem;align-items:flex-start;line-height:1.5}
.side-card li i{font-style:normal;color:var(--or)}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--filet-s);margin-bottom:4rem}
.kpis .stat{padding-top:2.2rem}
.sec-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.sec-card{padding:2rem;border:1px solid var(--filet-s);border-radius:3px;background:linear-gradient(160deg,rgba(237,232,223,.05),rgba(237,232,223,0));transition:border-color .6s, transform .8s var(--ease)}
.sec-card:hover{border-color:rgba(197,164,109,.55);transform:translateY(-6px)}
.sec-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.sec-card h3{font-size:2rem;color:var(--ivoire)}
.sec-card .sub{font-size:.9rem;color:var(--sur-sombre)}
.sec-rate{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--or)}
.sec-rate small{display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.06em;color:var(--sur-sombre);text-align:right}
.sec-bar{height:2px;margin:1.5rem 0;background:var(--filet-s);position:relative;overflow:hidden}
.sec-bar span{position:absolute;inset:0;background:var(--or);transform-origin:left}
.sec-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}
.sec-stats dt{font-size:.78rem;color:var(--sur-sombre)}
.sec-stats dd{margin:0;font-family:var(--serif);font-size:1.6rem;line-height:1.1;color:var(--ivoire)}
.sec-tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin-top:1.6rem}
.sec-tags li{padding:.35rem .8rem;border-radius:999px;border:1px solid var(--filet-s);font-size:.78rem;color:var(--sur-sombre)}
.table-wrap{margin-top:3rem;overflow:auto;border-top:1px solid var(--filet-s)}
.table-wrap h3{font-size:1.9rem;margin:2.2rem 0 1rem}
table{width:100%;min-width:640px;border-collapse:collapse;font-variant-numeric:tabular-nums}
th,td{padding:1.1rem 1rem 1.1rem 0;text-align:left;border-bottom:1px solid var(--filet-s)}
th{font-size:.78rem;font-weight:650;letter-spacing:.06em;color:var(--or)}
td{color:var(--sur-sombre)}
td:first-child{font-family:var(--serif);font-size:1.4rem;color:var(--ivoire)}
.benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--filet-c)}
.benefit{padding:2.6rem 2.2rem 2.6rem 0;border-bottom:1px solid var(--filet-c)}
.benefit:not(:nth-child(3n+1)){padding-left:2.2rem;border-left:1px solid var(--filet-c)}
.benefit i{display:block;font-style:normal;font-size:1.6rem;color:var(--or);margin-bottom:1.6rem}
.benefit h3{font-size:1.85rem;margin-bottom:.8rem}
.benefit p{color:var(--texte-doux)}
.example{position:relative;overflow:hidden;isolation:isolate;color:var(--ivoire);padding-block:clamp(6rem,12vw,10rem)}
.example::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,13,18,.94),rgba(11,13,18,.6))}
.example-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(3rem,6vw,6rem);align-items:end}
.example blockquote{margin:2rem 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,2.6vw,2.4rem);line-height:1.32;color:var(--ivoire)}
.example-stats{border-top:1px solid var(--filet-s)}
.example-stats div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--filet-s)}
.example-stats strong{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.4rem);font-weight:500;line-height:1;color:var(--or)}
.example-stats span{color:var(--sur-sombre);text-align:right}

/* ---------- Histoire : frise horizontale ---------- */
.h-section{overflow:hidden}
.h-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-block:6rem}
.h-track{display:flex;width:max-content;padding-inline:var(--gutter);margin-top:3.5rem;will-change:transform}
.h-panel{width:min(72vw,860px);padding:0 4vw 0 2.5rem;border-left:1px solid var(--filet-s)}
.h-year{display:block;font-family:var(--serif);font-size:clamp(6rem,15vw,14rem);font-weight:500;line-height:.82;color:transparent;-webkit-text-stroke:1px rgba(197,164,109,.75);transition:color .8s ease}
.h-panel.is-on .h-year{color:var(--or)}
.h-panel h3{margin-top:2rem;font-size:clamp(2rem,3vw,2.8rem)}
.h-panel p{margin-top:1rem;max-width:28em;color:var(--sur-sombre);font-size:1.1rem}
.h-tag{display:inline-block;margin-top:1.6rem;padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(197,164,109,.45);font-size:.8rem;font-weight:650;letter-spacing:.05em;color:var(--or)}
.h-progress{max-width:var(--max);width:calc(100% - 2 * var(--gutter));margin:4rem auto 0;height:1px;background:var(--filet-s);position:relative}
.h-progress span{position:absolute;inset:0;background:var(--or);transform-origin:left;transform:scaleX(0)}

/* ---------- Histoire : équipe en panneaux ---------- */
.team{display:flex;gap:1rem;height:min(80vh,740px)}
.member{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:3px;background:var(--encre-3);color:var(--ivoire);transition:flex-grow 1.1s var(--ease)}
.member.is-open{flex-grow:2.7}
.member img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:grayscale(.55) contrast(1.05);transform:scale(1.04);transition:filter 1s ease, transform 1.6s var(--ease)}
.member.is-open img{filter:grayscale(0) contrast(1.02);transform:scale(1)}
.member::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,18,.92) 0%,rgba(11,13,18,.25) 45%,rgba(11,13,18,0) 70%)}
.member-btn{position:absolute;inset:0;z-index:3;width:100%;background:none;border:0;cursor:pointer;padding:0}
.member-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2rem}
.member-info h3{font-size:clamp(1.7rem,2.3vw,2.4rem);color:var(--ivoire);white-space:nowrap}
.member-role{display:block;margin-top:.4rem;font-size:.8rem;font-weight:650;letter-spacing:.06em;color:var(--or)}
.member-bio{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .9s var(--ease), opacity .6s ease}
.member-bio p{overflow:hidden;margin-top:1rem;max-width:26em;color:var(--sur-sombre)}
.member.is-open .member-bio{grid-template-rows:1fr;opacity:1;transition-delay:.25s}
.member-more{display:grid;place-items:center;position:absolute;inset:0;background:radial-gradient(120% 90% at 30% 20%,rgba(197,164,109,.22),rgba(11,13,18,0) 60%),var(--encre-3)}
.member-more strong{font-family:var(--serif);font-size:clamp(5rem,9vw,8.5rem);font-weight:500;line-height:1;color:var(--or)}

/* ---------- Valeurs ---------- */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--filet-c)}
.value{padding:3rem 2.4rem 0 0}
.value + .value{padding-left:2.4rem;border-left:1px solid var(--filet-c)}
.value i{display:block;font-style:normal;font-size:1.8rem;color:var(--or)}
.value h3{margin:2rem 0 1rem;font-size:clamp(2.2rem,3vw,2.8rem)}
.value p{color:var(--texte-doux);font-size:1.05rem}

/* ---------- Contact ---------- */
.contact-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100svh}
.contact-left{padding:9rem var(--gutter) 5rem;background:var(--encre);color:var(--sur-sombre)}
.contact-left-in{max-width:640px;margin-left:auto}
.contact-left .crumbs{margin-bottom:2rem}
.contact-left h1{color:var(--ivoire)}
.uf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 2rem;margin-top:3.5rem}
.uf{position:relative;display:flex;flex-direction:column}
.uf-full{grid-column:1 / -1}
.uf label{font-size:.78rem;font-weight:650;letter-spacing:.06em;color:var(--or)}
.uf input,.uf textarea{border:0;border-bottom:1px solid var(--filet-s);background:transparent;padding:.95rem 0;font:inherit;font-size:1.1rem;color:var(--ivoire);border-radius:0;transition:border-color .4s}
.uf textarea{min-height:130px;resize:vertical}
.uf input:focus,.uf textarea:focus{outline:none;border-bottom-color:var(--or)}
.contact-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.2rem;margin-top:2.6rem}
.contact-right{position:relative;overflow:hidden;min-height:60vh}
.contact-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.contact-right::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,13,18,.85),rgba(11,13,18,.1) 60%)}
.coords-card{position:absolute;left:var(--gutter);right:var(--gutter);bottom:var(--gutter);z-index:2;padding:2.2rem;background:rgba(11,13,18,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--filet-s);border-radius:3px;color:var(--sur-sombre)}
.coords-card h2{font-size:2.2rem;color:var(--ivoire);margin-bottom:1.4rem}
.coords-card ul{list-style:none;display:grid;gap:1rem}
.coords-card li{display:flex;gap:1rem;align-items:flex-start;line-height:1.5}
.coords-card i{font-style:normal;color:var(--or);font-size:1.15rem}
.coords-card a{color:var(--ivoire);text-decoration:none}
.coords-card .btn{margin-top:1.8rem}

/* ---------- Cookies ---------- */
.cookie{position:fixed;right:var(--gutter);bottom:var(--gutter);z-index:150;width:min(360px, calc(100% - 2 * var(--gutter)));padding:1.5rem;background:var(--encre-3);color:var(--sur-sombre);border:1px solid var(--filet-s);border-radius:3px;box-shadow:0 40px 80px -40px rgba(0,0,0,.6);transform:translateY(150%);transition:transform 1s var(--ease)}
.cookie.is-in{transform:none}
.cookie h4{font-family:var(--serif);font-size:1.5rem;color:var(--ivoire)}
.cookie p{margin-top:.5rem;font-size:.88rem;line-height:1.55}
.cookie p a{color:var(--or)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}
.cookie-actions .btn{padding:.75rem 1.05rem;font-size:.8rem}

/* ---------- Message temporaire ---------- */
.toast{position:fixed;left:50%;bottom:1.5rem;z-index:350;width:min(560px, calc(100% - 2rem));display:flex;align-items:center;gap:1rem;padding:1.1rem 1.1rem 1.1rem 1.4rem;background:var(--ivoire);color:var(--encre);border-radius:3px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);transform:translate(-50%,170%);transition:transform .8s var(--ease);font-size:.92rem;line-height:1.45}
.toast.is-in{transform:translate(-50%,0)}
.toast .btn{flex:none;padding:.8rem 1.1rem;font-size:.82rem}

/* ---------- Responsive ---------- */
@media (max-width: 1100px){
  .topbar-link{display:none}
  .tiles .tile:nth-child(3n+2){transform:none}
  .tiles-foot{margin-top:3rem}
}
@media (max-width: 960px){
  .overlay{grid-template-columns:minmax(0,1fr)}
  .overlay-media{display:none}
  .overlay-foot{grid-template-columns:minmax(0,1fr)}
  .coords{display:none}
  .head,.mission-grid,.dg,.news,.cta-grid,.why,.example-grid,.contact-split,.method-grid{grid-template-columns:minmax(0,1fr)}
  .hero-meta-in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-scroll{display:none}
  .mission-seal{left:1rem;bottom:-2rem;width:140px;height:140px}
  .pillars,.values{grid-template-columns:minmax(0,1fr)}
  .pillar + .pillar,.value + .value{padding-left:0;border-left:0;border-top:1px solid var(--filet-c);margin-top:2.4rem}
  .svc-row{grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.5rem}
  .svc-row p{grid-column:1 / -1;grid-row:3}
  .svc-thumb{display:block;grid-column:1 / -1;aspect-ratio:16 / 9;overflow:hidden;border-radius:3px}
  .svc-thumb img{width:100%;height:100%;object-fit:cover}
  .svc-float{display:none}
  .stats-grid,.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){margin-top:2rem}
  .tiles,.sec-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-media{position:relative;top:auto;height:56vh}
  .m-step{min-height:0;opacity:1}
  .ed-row{grid-template-columns:minmax(0,1fr)}
  .ed-row:nth-child(even) .ed-media{order:0}
  .why-side{position:relative;top:auto}
  .benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .benefit:not(:nth-child(3n+1)){padding-left:0;border-left:0}
  .benefit:nth-child(even){padding-left:2.2rem;border-left:1px solid var(--filet-c)}
  .h-pin{min-height:0}
  .h-track{flex-direction:column;width:auto;gap:3.5rem}
  .h-panel{width:auto}
  .h-progress{display:none}
  .team{flex-direction:column;height:auto}
  .member,.member.is-open{flex:none;aspect-ratio:4 / 5}
  .member-bio{grid-template-rows:1fr;opacity:1}
  .member img{filter:none;transform:none}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-left-in{margin:0}
}
@media (max-width: 640px){
  body{font-size:1.02rem}
  .brand-name small{display:none}
  .menu-btn .lbl{display:none}
  .hero-content{padding-top:7.5rem}
  .hero-actions .btn,.cta-actions .btn{flex:1 1 100%}
  .hero-meta-in{grid-template-columns:minmax(0,1fr);gap:1rem}
  .hm{justify-content:space-between}
  .tiles,.sec-cards,.benefits{grid-template-columns:minmax(0,1fr)}
  .benefit:nth-child(even){padding-left:0;border-left:0}
  .stats-grid,.kpis{grid-template-columns:minmax(0,1fr)}
  .stat + .stat{padding-left:0;border-left:0;border-top:1px solid var(--filet-c);margin-top:0}
  .dark .stat + .stat{border-color:var(--filet-s)}
  .uf-grid{grid-template-columns:minmax(0,1fr)}
  .footer-top{grid-template-columns:minmax(0,1fr)}
  .dg-photo::before{inset:1rem -1rem -1rem 1rem}
  .coords-card{position:relative;left:auto;right:auto;bottom:auto;margin:-6rem 1rem 1rem}
  .contact-right{min-height:auto;padding-top:55vh}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .loader,.wipe{display:none !important}
}
.mission-seal svg{animation:seal 28s linear infinite}
@keyframes seal{to{transform:rotate(360deg)}}
h1,h2,h3,h4,.hm strong,.loader-count,.stat-num,.m-num,.method-count,.sec-rate,.h-year,.member-more strong,.cta-stats strong,.example-stats strong,.sec-stats dd,td:first-child,.mission-seal strong{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}
.svc-float{z-index:1;width:300px;margin:-190px 0 0 48px;filter:brightness(.82)}
.svc-row{z-index:2}
.svc-list{position:relative;z-index:2}
.btn:hover i.ri-phone-line,.btn:hover i.ri-arrow-down-line,.btn:hover i.ri-map-2-line{transform:none}
.member-info h3{white-space:normal}
.overlay-links a{font-size:clamp(2.5rem,4.9vw,4.7rem);line-height:1.08}
.contact-right::after{background:linear-gradient(180deg,rgba(11,13,18,.7) 0%,rgba(11,13,18,0) 28%),linear-gradient(0deg,rgba(11,13,18,.88),rgba(11,13,18,.1) 60%)}
@media (max-width: 960px){
  .svc-row h3{grid-column:1;grid-row:1}
  .svc-row .svc-arrow{grid-column:2;grid-row:1;width:48px;height:48px}
  .svc-row .svc-thumb{grid-row:2}
}

/* ---------- Pages services : variantes ---------- */
.why-solo{grid-template-columns:minmax(0,1fr);max-width:900px}
.next-svc{position:relative;overflow:hidden;background:var(--encre)}
.next-link{position:relative;display:block;isolation:isolate;padding-block:clamp(5.5rem,11vw,9rem);color:var(--ivoire);text-decoration:none}
.next-media{position:absolute;inset:0;z-index:-2}
.next-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);filter:saturate(.8);transition:transform 1.8s var(--ease), filter 1s ease}
.next-link::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,13,18,.92),rgba(11,13,18,.55));transition:background-color .8s}
.next-link:hover .next-media img{transform:scale(1);filter:saturate(1)}
.next-in{position:relative;display:flex;flex-direction:column}
.next-title{display:block;margin-top:1.5rem;max-width:20ch;font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.02;transition:color .5s ease}
.next-link:hover .next-title{color:var(--or)}
.next-arrow{position:absolute;right:var(--gutter);bottom:0;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid rgba(237,232,223,.35);font-style:normal;font-size:1.5rem;transition:background-color .5s, color .5s, border-color .5s, transform .8s var(--ease)}
.next-link:hover .next-arrow{background:var(--or);border-color:var(--or);color:var(--encre);transform:rotate(45deg)}
@media (max-width: 640px){.next-arrow{position:relative;right:auto;margin-top:2rem;width:58px;height:58px}}
.btn-ghost,.btn-ligne{background:transparent}
.example,.cta{background:var(--encre)}

/* ---------- Préférences de cookies ---------- */
.page-hero-short{min-height:64svh}
.prefs{display:grid;gap:1.2rem;max-width:980px}
.pref{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 2.5rem;align-items:start;padding:2.2rem;border:1px solid var(--filet-c);border-radius:3px;background:var(--blanc)}
.pref h3{font-size:clamp(1.7rem,2.4vw,2.1rem)}
.pref .sub{margin:.3rem 0 1rem;font-size:.88rem;font-weight:650;letter-spacing:.02em;color:var(--or)}
.pref p{color:var(--texte-doux)}
.pref ul{list-style:none;display:grid;gap:.5rem;margin-top:1rem}
.pref li{display:flex;gap:.7rem;align-items:flex-start;color:var(--texte)}
.pref li::before{content:"";flex:none;width:6px;height:6px;margin-top:.65em;border-radius:50%;background:var(--or)}
.switch{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer}
.switch input{appearance:none;-webkit-appearance:none;position:relative;width:60px;height:34px;margin:0;border-radius:999px;background:#D5D8DE;cursor:pointer;transition:background-color .35s ease}
.switch input::after{content:"";position:absolute;top:4px;left:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(11,13,18,.25);transition:transform .45s var(--ease)}
.switch input:checked{background:var(--or)}
.switch input:checked::after{transform:translateX(26px)}
.switch input:disabled{opacity:.65;cursor:not-allowed}
.switch span{font-size:.78rem;font-weight:650;color:var(--texte-doux)}
.prefs-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.4rem}
.info-box{max-width:980px;margin-top:3rem;padding:2.2rem;border-radius:3px;background:var(--perle);display:grid;gap:.8rem;color:var(--texte-doux)}
.info-box h3{font-size:1.9rem;margin-bottom:.4rem}
.info-box strong{color:var(--encre)}
.info-box a{color:var(--encre)}
@media (max-width: 640px){.pref{grid-template-columns:minmax(0,1fr)}.switch{flex-direction:row;justify-content:flex-start}}

/* ---------- Sélecteur de langue ---------- */
.lang-switch{display:inline-flex;align-items:center;gap:.2rem;padding:4px;border-radius:999px;border:1px solid rgba(237,232,223,.25)}
.lang-switch a{display:grid;place-items:center;min-width:38px;height:32px;padding:0 .6rem;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-decoration:none;color:var(--sur-sombre);transition:background-color .35s ease, color .35s ease}
.lang-switch a:hover{color:var(--ivoire)}
.lang-switch a.is-active{background:var(--or);color:var(--encre)}
.overlay-foot .lang-switch{margin-top:1rem}

/* ---------- Pages légales ---------- */
.legal{max-width:860px}
.legal-date{margin-bottom:2.4rem;font-size:.9rem;font-weight:600;color:var(--or)}
.legal h2{margin:3rem 0 1rem;padding-top:2rem;border-top:1px solid var(--filet-c);font-size:clamp(1.7rem,2.6vw,2.3rem)}
.legal h2:first-of-type{margin-top:0}
.legal p{margin-top:.9rem;color:var(--texte-doux)}
.legal ul{list-style:none;display:grid;gap:.6rem;margin-top:1rem}
.legal li{position:relative;padding-left:1.4rem;color:var(--texte-doux)}
.legal li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--or)}
.legal strong{color:var(--encre)}
.legal a{color:var(--encre);text-decoration-color:var(--or);text-underline-offset:.2em}
.a-completer{display:inline-block;padding:.1rem .5rem;border:1px dashed var(--or);border-radius:3px;font-size:.9em;color:var(--or)}

/* ---------- Avis sous les formulaires ---------- */
.form-notice{max-width:46em;margin-top:2rem;font-size:.85rem;line-height:1.6;color:var(--sur-sombre)}
.form-notice a,.news-note a{color:inherit;text-decoration-color:var(--or);text-underline-offset:.2em}
.contact-left .form-notice a{color:var(--ivoire)}

/* ---------- Pied de page : liens légaux ---------- */
.footer-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}

/* ---------- Équipe : le gérant et les autres experts ---------- */
.team-duo .member,.team-duo .member.is-open{flex-grow:1}
.team-duo .member:first-child,.team-duo .member:first-child.is-open{flex-grow:2.2}
.team-duo .member-bio{grid-template-rows:1fr;opacity:1}
.team-duo .member img{filter:none;transform:none}

/* ---------- Barre du haut sur mobile : place pour FR/EN et le menu ---------- */
@media (max-width: 640px){
  .topbar-in{gap:.8rem}
  .brand{gap:.6rem}
  .topbar-actions{gap:.6rem}
  .topbar .lang-switch{padding:3px}
  .topbar .lang-switch a{min-width:32px;height:30px;padding:0 .45rem;font-size:.72rem}
  .menu-btn{padding:.7rem .95rem}
}
@media (max-width: 359px){
  .topbar .lang-switch{display:none}
}

/* ---------- Formulaires : piège anti-spam invisible ---------- */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Barre du haut : page en cours soulignée ---------- */
.topbar-link[aria-current="page"]::after{transform:scaleX(1)}
