/* Couleurs : noir et doré du site actuel (#E9D5B0) sur fond beige ; doré soutenu #8A6A36 pour le texte sur le beige.
   Mise en page : colonne centrale encadrée de fines lignes verticales, fond crème, titres Jost moyens, étiquettes en Fira Mono. La démonstration d'agent reste une console sombre posée sur la page claire. */
:root{--creme:#F8F5F1;--papier:#FFFFFF;--ink:#262524;--ink-fort:#0D0C0B;--muted:#6E6A64;--dim:#A19C94;--line:#E4DED5;--accent:#8A6A36;--accent-doux:#F1E6D0;--vert:#8A6A36;--or:#E9D5B0;--noir:#0D0C0B;--signal:#B8914F;--ok:#2F9E6A;--outs:#FF8F1F;--c-ink:#07080D;--c-ink-2:#0F111A;--c-ink-3:#161927;--c-line:#232739;--c-fg:#EEF0F8;--c-muted:#959BB8;--c-dim:#5F6585;--c-acc:#A9B2FF;--f-display:"Jost", "Futura", "Helvetica Neue", Arial, sans-serif;--f-body:"Jost", "Futura", "Helvetica Neue", Arial, sans-serif;--f-mono:"Fira Mono", ui-monospace, Menlo, monospace;--gut:clamp(16px,4vw,48px);--max:1240px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--creme);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
html{overflow-x:clip}
a{color:inherit}
img,video{max-width:100%;display:block}
h1,h2,h3{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em;line-height:1.08;margin:0;text-wrap:balance;color:var(--ink-fort)}
p{margin:0}
ul{margin:0}
/* Cadre : fines lignes verticales de part et d'autre du contenu */
.cadre{max-width:var(--max);margin-inline:auto;border-inline:1px solid var(--line)}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.eyebrow{font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:10px;font:500 12.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:14px 20px;border-radius:2px;border:1px solid var(--line);background:var(--papier);color:var(--ink);cursor:pointer;text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.btn::before{content:"→"}
@media (hover:hover){.btn:hover{border-color:var(--ink)}}
.btn.primary{background:var(--noir);color:var(--or);border-color:var(--noir)}
@media (hover:hover){.btn.primary:hover{background:var(--or);color:var(--noir);border-color:var(--or)}}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
section{padding-block:clamp(72px,9vw,120px);border-top:1px solid var(--line)}
.h2{font-size:clamp(34px,4.6vw,58px)}
.lead{color:var(--muted);font-size:18px;max-width:56ch}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.duo > *{min-width:0}
@media (max-width:880px){.duo{grid-template-columns:1fr}}
.media{position:relative;overflow:hidden;border-radius:18px;aspect-ratio:16/11;max-width:100%;background:#E9E4DC}
.media video,.media img{width:100%;height:100%;object-fit:cover}
.media figcaption{position:absolute;left:12px;bottom:12px;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--papier);padding:6px 10px;border-radius:8px}
.coches{list-style:none;padding:0;display:grid;gap:0;margin-top:26px;border-top:1px solid var(--line)}
.coches li{padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.coches b{color:var(--ink-fort);font-weight:500}
.slogan{margin-top:26px;font:500 11.5px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.actions-s{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
/* Bandeau d'annonce et navigation */
.annonce{background:var(--noir);color:var(--or);text-align:center;font-size:13.5px;padding:9px var(--gut)}
.annonce a{color:var(--or);font-weight:600}
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--creme) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;height:76px}
.nav .logo{justify-self:center}
.nav .logo img{height:40px;width:auto;filter:invert(1) brightness(.15)}
.menu{display:flex;gap:22px;list-style:none;padding:0;font:500 11.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);align-items:center}
.menu.droite{justify-self:end}
.menu > li{position:relative}
.menu a,.menu button{text-decoration:none;color:inherit;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:8px 0}
@media (hover:hover){.menu a:hover,.menu button:hover{color:var(--vert)}}
.sous{position:absolute;top:100%;left:-14px;list-style:none;margin:0;background:var(--papier);border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 40px -18px rgba(38,37,36,.35);opacity:0;visibility:hidden;transform:translateY(6px);transition:.2s;text-transform:none;letter-spacing:0;font:400 15px var(--f-body)}
.menu li:focus-within .sous{opacity:1;visibility:visible;transform:none}@media (hover:hover){.menu li:hover .sous{opacity:1;visibility:visible;transform:none}}
.sous a{border-radius:3px}
@media (hover:hover){.sous a:hover{background:var(--creme);color:var(--ink-fort)}}
.nav .btn{padding:10px 14px;font-size:11px}
@media (max-width:1060px){.menu{display:none}.nav .wrap{grid-template-columns:auto 1fr}.nav .logo{justify-self:start}.nav .btn{justify-self:end}}
/* Bandeau défilant : texte à gauche, vidéo encadrée à droite */
.slider{position:relative;min-height:600px}
.slide{display:none;grid-template-columns:.9fr 1.1fr;align-items:stretch;min-height:600px}
.slide.on{display:grid}
.slide .texte{padding:clamp(40px,6vw,80px) var(--gut);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid var(--line)}
.slide h1,.slide .titre-slide{font-size:clamp(40px,5.6vw,72px);margin-top:14px;max-width:13ch}
.slide h1 em,.slide .titre-slide em{font-style:normal;color:var(--vert)}
.slide p.lead{margin-top:18px;max-width:40ch}
.slide .actions-s{justify-content:center}
.slide .visuel{position:relative;overflow:hidden;margin:16px;border-radius:18px;background:#E9E4DC}
.slide .visuel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide.on .texte > *{animation:monte .8s cubic-bezier(.2,.8,.2,1) both}
.slide.on .texte > :nth-child(2){animation-delay:.08s}
.slide.on .texte > :nth-child(3){animation-delay:.16s}
.slide.on .texte > :nth-child(4){animation-delay:.24s}
@keyframes monte{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
.slider-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px;border-top:1px solid var(--line)}
.slider-nav button{width:38px;height:38px;border-radius:2px;border:1px solid var(--line);background:var(--papier);color:var(--ink);cursor:pointer}
.puces{display:flex;gap:6px}
.puces i{width:36px;height:2px;background:var(--line);overflow:hidden;position:relative}
.puces i.on::after{content:"";position:absolute;inset:0;background:var(--ink);animation:charge 7s linear both}
@keyframes charge{from{transform:translateX(-100%)}to{transform:none}}
@media (max-width:880px){.slide{grid-template-columns:1fr}.slide .texte{border-right:0}.slide .visuel{min-height:280px}}
/* Logos clients */
.logos{padding-block:22px 26px;border-top:1px solid var(--line);overflow:hidden}
.logos .eyebrow{text-align:center;margin-bottom:18px}
.piste{display:flex;gap:64px;padding-right:64px;width:max-content;animation:defile 45s linear infinite;align-items:center}
.piste img{height:28px;width:auto;max-width:130px;object-fit:contain;filter:grayscale(1) brightness(.35);opacity:.8;transition:opacity .2s,filter .2s}
@media (hover:hover){.piste img:hover{opacity:1;filter:none}}
@media (hover:hover){.logos:hover .piste{animation-play-state:paused}}
/* Animations réduites (réglage du téléphone) : logos fixes, centrés sur plusieurs lignes, sans doublons */
@media (prefers-reduced-motion:reduce){.piste{width:auto;flex-wrap:wrap;justify-content:center;gap:22px 40px;padding:0 16px}.piste .double{display:none}}
@keyframes defile{to{transform:translateX(-50%)}}
/* Qui sommes-nous */
.manifeste{font-family:var(--f-display);font-weight:400;font-size:clamp(26px,3.3vw,42px);line-height:1.2;max-width:28ch;color:var(--ink-fort)}
.manifeste span{color:var(--dim)}
.piliers{display:grid;grid-template-columns:repeat(3,1fr);margin-top:48px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pilier{min-width:0;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--papier)}
.pilier b{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--vert)}
.pilier h3{font-size:24px;margin-top:12px}
.pilier p{color:var(--muted);font-size:16px;margin-top:8px}
@media (max-width:820px){.piliers{grid-template-columns:1fr}}
/* Notre groupe : Outsourcia */
.groupe{position:relative;overflow:hidden;color:#fff;background:radial-gradient(70% 110% at 100% 0%,rgba(255,143,31,.28),transparent 60%),radial-gradient(50% 90% at 0% 100%,rgba(255,51,61,.18),transparent 60%),#0A1124}
.groupe .tete{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.groupe .tete img{width:auto}
.groupe .eyebrow{color:var(--outs)}
.groupe h2{color:#fff}
.groupe .lead{color:#C3C8D6}
.chiffres-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,143,31,.3);overflow:hidden}
.chiffres-g div{background:#0A1124}
.chiffres-g b{display:block;font-family:var(--f-display);font-weight:500;color:#fff;font-variant-numeric:tabular-nums}
.chiffres-g span{color:#C3C8D6}
.lab{margin-top:24px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:22px;border:1px solid rgba(255,143,31,.35);background:rgba(7,13,35,.6)}
.lab .pastille{font:500 11.5px var(--f-mono);letter-spacing:.06em;color:#1A0B03;background:var(--outs);padding:6px 10px;border-radius:2px;white-space:nowrap}
.lab p{color:#C3C8D6}
.lab p b{color:#fff;font-weight:500}
.groupe .btn{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
@media (hover:hover){.groupe .btn:hover{border-color:#fff}}
@media (max-width:760px){.chiffres-g{grid-template-columns:repeat(2,1fr)}.lab{grid-template-columns:1fr}}
/* Démonstration d'agent (console sombre, inchangée) */
.console{min-width:0;background:var(--c-ink-2);color:var(--c-fg);border:1px solid var(--c-line);box-shadow:0 40px 80px -40px rgba(13,12,11,.55);overflow:hidden}
.console-top{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--c-line);flex-wrap:wrap}
.console-top .dots{display:flex;gap:6px;margin-right:6px}
.console-top .dots i{width:10px;height:10px;border-radius:50%;background:var(--c-line)}
.scen{display:flex;gap:6px;flex-wrap:wrap}
.scen button{font:500 12px var(--f-body);background:transparent;border:1px solid var(--c-line);padding:6px 11px;border-radius:999px}
.console-body{padding:18px 18px 20px;font-family:var(--f-mono);font-size:13px;min-height:360px;display:flex;flex-direction:column;gap:10px}
.step{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:start;animation:apparait .45s ease both}
.step time{color:var(--c-dim);font-variant-numeric:tabular-nums}
.step .tag{display:inline-block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:5px;margin-right:6px;background:var(--c-ink-3);color:var(--c-acc);border:1px solid var(--c-line)}
.step.ok .tag{color:#3DDC97}
.step.wait .tag{color:#E9D5B0}
.mail{margin-left:62px;background:var(--c-ink-3);border:1px solid var(--c-line);border-radius:12px;padding:12px 14px;font-family:var(--f-body);font-size:14px;line-height:1.5;animation:apparait .45s ease both}
.mail b{font-weight:500}
.actions{margin-left:62px;display:flex;gap:8px;flex-wrap:wrap;animation:apparait .45s ease both}
.actions button{font:500 13px var(--f-body);padding:9px 14px;border-radius:10px;border:1px solid var(--c-line);background:var(--c-ink-3);color:var(--c-fg)}
.actions .go{background:#E9D5B0;border-color:#E9D5B0;color:#0D0C0B}
@keyframes apparait{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:480px){.mail,.actions{margin-left:0}}
.chiffres{display:grid;grid-template-columns:repeat(4,1fr);margin-top:56px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.chiffres div{padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--papier)}
.chiffres b{display:block;white-space:nowrap;font-family:var(--f-display);font-size:clamp(26px,2.8vw,38px);font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink-fort)}
.chiffres span{color:var(--muted);font-size:15px}
@media (max-width:760px){.chiffres{grid-template-columns:repeat(2,1fr)}}
.gardes{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line)}
.garde{min-width:0;padding:22px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.garde h3{font-size:19px;display:flex;gap:8px;align-items:center}
.garde h3::before{content:"";width:7px;height:7px;background:var(--signal)}
.garde p{color:var(--muted);font-size:15px;margin-top:6px}
@media (max-width:980px){.gardes{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gardes{grid-template-columns:1fr}}
/* Catalogue : bloc sombre, comme les services chez Galadrim */
.catalogue{background:var(--noir);color:#F8F5F1;padding:clamp(28px,4vw,48px);margin-top:80px}
.catalogue h2{color:var(--or)}
.catalogue .eyebrow{color:#A19C94}
.catalogue .lead{color:#C9C4BC}
.filtres{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.filtres button{font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#C9C4BC;background:transparent;border:1px solid #45423F;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.filtres button i{width:8px;height:8px;border-radius:50%;background:var(--c,#fff)}
.filtres button[aria-pressed="true"]{color:var(--noir);background:var(--or);border-color:var(--or)}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-top:20px;max-height:560px;overflow:auto;padding-right:4px}
.agent{position:relative;min-width:0;background:#31302E;padding:18px;transition:background .25s}
@media (hover:hover){.agent:hover{background:#3A3836}}
.agent::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(220px circle at var(--x,50%) var(--y,0%),color-mix(in srgb,var(--c) 30%,transparent),transparent 70%);opacity:0;transition:opacity .25s;pointer-events:none}
@media (hover:hover){.agent:hover::before{opacity:1}}
.agent .haut{display:flex;justify-content:space-between;gap:8px;font:500 10.5px var(--f-mono);text-transform:uppercase;letter-spacing:.08em}
.agent .haut span:first-child{background:color-mix(in srgb,var(--c) 30%,#262524);color:#fff;padding:3px 7px;border-radius:2px}
.agent .haut span:last-child{color:#A19C94}
.agent h3{font-size:20px;margin-top:14px;line-height:1.15;color:#fff}
.agent p{color:#C9C4BC;font-size:15px;margin-top:6px}
/* Newsletter */
.news{position:relative;overflow:hidden;padding:clamp(28px,6vw,72px);isolation:isolate;color:#fff}
.news img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.news::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,12,11,.9) 20%,rgba(13,12,11,.35))}
.news h2{color:#fff}
.news .eyebrow{color:#C9C4BC}
.news form{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;max-width:520px}
.news input{flex:1 1 240px}
input,select,textarea{font:16px var(--f-body);color:var(--ink);background:var(--papier);border:1px solid var(--line);border-radius:2px;padding:13px 15px;width:100%}
.merci{font:500 13px var(--f-mono);color:var(--or);margin-top:12px}
/* FAQ */
.faq{margin-top:40px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding-block:22px}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;font-family:var(--f-display);font-weight:500;font-size:clamp(19px,2vw,24px);color:var(--ink-fort)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--f-mono);color:var(--vert);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > div{color:var(--muted);margin-top:12px;max-width:72ch;display:grid;gap:10px}
.faq details ul{padding-left:20px;display:grid;gap:6px}
footer{padding-block:56px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:15px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
footer h4{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-fort);margin:0 0 12px}
footer ul{list-style:none;padding:0;display:grid;gap:8px}
footer a{text-decoration:none}
@media (hover:hover){footer a:hover{color:var(--ink-fort)}}
footer .bas{margin-top:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}
footer .marques{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
footer .marques img{height:34px;width:auto;filter:invert(1) brightness(.15)}
footer .marques img.o{height:44px;filter:none}
@media (max-width:820px){footer .cols{grid-template-columns:1fr 1fr}}
.bandeau-maquette{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--noir);color:var(--or);padding:8px 12px;border-radius:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}}
/* ───── Pages internes ───── */
.menu a.actif{color:var(--vert)}
.burger{display:none;justify-self:end;align-items:center;gap:10px;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--noir);color:var(--or);border:1px solid var(--noir);border-radius:2px;padding:10px 14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.burger::before{content:"";width:14px;height:1.5px;background:currentColor;box-shadow:0 -4.5px 0 currentColor,0 4.5px 0 currentColor;}
.burger[aria-expanded="true"]::before{width:20px;height:20px;box-shadow:none;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transform:rotate(45deg)}
.burger{width:42px;height:42px;padding:0;justify-content:center}
@media (hover:hover){.burger:hover{background:var(--or);color:var(--noir);border-color:var(--or)}}
.tiroir a.actif{color:var(--accent)}@media (hover:hover){.tiroir a:hover{color:var(--accent)}}
.tiroir{border-bottom:1px solid var(--line);background:var(--papier);padding:12px var(--gut) 20px}
.tiroir ul{list-style:none;padding:0;display:grid;gap:2px}
.tiroir a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:17px}
@media (max-width:1060px){.burger{display:inline-flex}.nav .btn{display:none}}
@media (min-width:1061px){.tiroir{display:none !important}}
/* En-tête d'une page interne */
.intro-page{padding-block:clamp(56px,8vw,104px);border-top:0;text-align:center}
.intro-page .fil{font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-bottom:18px}
.intro-page .fil a{text-decoration:none}
.intro-page h1{font-size:clamp(40px,6vw,76px);max-width:16ch;margin:14px auto 0}
.intro-page h1 em{font-style:normal;color:var(--vert)}
.intro-page .lead{margin:20px auto 0;max-width:60ch}
.intro-page .actions-s{justify-content:center}
.intro-page .media{margin-top:48px;aspect-ratio:21/9}
/* Texte courant */
.prose{max-width:72ch;display:grid;gap:16px;color:var(--muted);font-size:18px}
.prose h3{font-size:26px;margin-top:18px}
.prose strong{color:var(--ink-fort);font-weight:500}
.prose ul{padding-left:20px;display:grid;gap:8px}
/* Étapes numérotées (vraie séquence) */
.etapes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.etape{min-width:0;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--papier)}
.etape .num{font:500 12px var(--f-mono);color:var(--vert)}
.etape h3{font-size:22px;margin-top:14px}
.etape p{color:var(--muted);font-size:16px;margin-top:8px}
@media (max-width:900px){.etapes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.etapes{grid-template-columns:1fr}}
/* Offres / packs */
.offres{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:48px}
.offre{min-width:0;display:flex;flex-direction:column;gap:14px;padding:28px;background:var(--papier);border:1px solid var(--line)}
.offre.vedette{background:var(--noir);color:#F8F5F1;border-color:var(--ink)}
.offre.vedette h3,.offre.vedette .prix{color:var(--or)}
.offre.vedette p,.offre.vedette li{color:#C9C4BC}
.offre .etiquette{align-self:flex-start;font:500 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--accent-doux);color:var(--accent)}
.offre h3{font-size:26px}
.offre .prix{font-family:var(--f-display);font-size:34px;font-weight:500;color:var(--ink-fort)}
.offre .prix small{font-size:15px;color:var(--muted);font-weight:400}
.offre ul{list-style:none;padding:0;display:grid;gap:8px;margin-top:4px}
.offre li{padding-left:22px;position:relative;color:var(--muted);font-size:16px}
.offre li::before{content:"→";position:absolute;left:0;color:var(--vert)}
.offre .btn{margin-top:auto;align-self:flex-start}
.note{font-size:14px;color:var(--dim);margin-top:18px}
/* Bandeau d'appel à l'action */
.cta{background:var(--noir);color:#F8F5F1;padding:clamp(32px,5vw,64px);display:grid;grid-template-columns:1.3fr auto;gap:24px;align-items:center}
.cta h2{color:var(--or);font-size:clamp(28px,3.6vw,46px)}
.cta p{color:#C9C4BC;margin-top:12px;max-width:52ch}
.cta .btn{background:var(--or);color:var(--noir);border-color:var(--or)}
@media (max-width:760px){.cta{grid-template-columns:1fr}}
/* Témoignages, études de cas */
.citation{font-family:var(--f-display);font-size:clamp(22px,2.6vw,32px);line-height:1.3;color:var(--ink-fort);max-width:34ch;border-left:2px solid var(--vert);padding-left:22px}
.citation cite{display:block;margin-top:14px;font:500 12px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-style:normal}
/* Contact */
.contact-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start}
.contact-grille > *{min-width:0}
.coords{display:grid;gap:10px;margin-top:28px}
.coord{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:var(--papier);border:1px solid var(--line)}
.coord span{display:block;font:500 11px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.coord b{font-weight:500;color:var(--ink-fort);user-select:all;overflow-wrap:anywhere}
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:28px;background:var(--papier);border:1px solid var(--line)}
.formulaire label{display:grid;gap:6px;font:500 11.5px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.formulaire .large{grid-column:1/-1}
.formulaire textarea{min-height:120px;resize:vertical}
.formulaire .merci{color:var(--ok)}
.choix{display:flex;flex-wrap:wrap;gap:8px}
.choix label{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:2px;text-transform:none;letter-spacing:0;font:400 15px var(--f-body);color:var(--ink);cursor:pointer}
.choix input{width:auto}
@media (max-width:820px){.contact-grille{grid-template-columns:1fr}.formulaire{grid-template-columns:1fr}}
/* Bloc vidéo avec bouton de lecture */
.film{position:relative}
.film .btn{position:absolute;left:16px;bottom:16px}
/* ───── Effets au défilement (activés par le script ; sans lui, tout reste visible) ───── */
.progression{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--or),var(--accent));z-index:80;pointer-events:none}
.nav{transition:box-shadow .3s ease,background .3s ease}
.nav.defile{box-shadow:0 10px 30px -18px rgba(13,12,11,.45)}
.anim .revele{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.anim .revele.gauche{transform:translateX(-40px)}
.anim .revele.droite{transform:translateX(40px)}
.anim .revele.vu{opacity:1;transform:none}
.anim .mots .mot{display:inline-block;opacity:0;transform:translateY(.55em) rotate(2deg);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*55ms)}
.anim .mots.vu .mot{opacity:1;transform:none}
.anim .rideau{clip-path:inset(12% 8% 12% 8% round 18px);transition:clip-path 1.2s cubic-bezier(.2,.7,.2,1)}
.anim .rideau.vu{clip-path:inset(0 0 0 0 round 18px)}
.anim .rideau > img,.anim .rideau > video{transform:scale(1.18);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.anim .rideau.vu > img,.anim .rideau.vu > video{transform:scale(1.04) translateY(var(--px,0px))}
.anim .media{will-change:clip-path}
.anim .chiffres b,.anim .chiffres-g b{transition:color .6s}
.anim .ligne-or{position:relative}
.anim .ligne-or::after{content:"";position:absolute;left:0;bottom:-10px;height:2px;width:72px;background:var(--or);transform:scaleX(0);transform-origin:0 50%;transition:transform 1s .3s cubic-bezier(.2,.7,.2,1)}
.anim .ligne-or.vu::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.progression{display:none}.anim .revele,.anim .mots .mot,.anim .rideau,.anim .rideau>*{opacity:1 !important;transform:none !important;clip-path:none !important}}
/* ───── Effets à la souris (ordinateur) ───── */
.incline{transition:transform .25s ease, box-shadow .25s ease;transform-style:preserve-3d;will-change:transform}
@media (hover:hover){.incline:hover{box-shadow:0 30px 60px -30px rgba(13,12,11,.45)}}
@media (hover:hover){.media img,.media video{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.media:hover img,.media:hover video{transform:scale(1.07)}}
.curseur-or{position:fixed;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--or);mix-blend-mode:multiply;pointer-events:none;z-index:90;transition:width .25s,height .25s,margin .25s,background .25s;will-change:transform}
.curseur-or.grand{width:54px;height:54px;margin:-27px 0 0 -27px;background:rgba(233,213,176,.55)}
@media (hover:none),(pointer:coarse){.curseur-or{display:none}}
.aimant{transition:transform .25s cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.incline,.aimant{transform:none !important}.curseur-or{display:none}}
/* Lecteur vidéo avec commandes : jamais agrandi (les commandes resteraient coupées) */
.media.lecteur > video,.anim .rideau.lecteur > video,.anim .rideau.vu.lecteur > video{transform:none !important}@media (hover:hover){.media.lecteur:hover > video{transform:none !important}}
/* Démonstration : signaler que c'est cliquable */
.console-top{position:relative}
.scen{align-items:center}
.scen::before{content:"Essayez :";font:500 10.5px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#E9D5B0;margin-right:4px}
.scen button{cursor:pointer;border-color:rgba(233,213,176,.45);color:#E9D5B0;transition:background .2s,color .2s,border-color .2s,transform .2s}
.scen button::before{content:"▸ ";opacity:.8}
@media (hover:hover){.scen button:hover{background:rgba(233,213,176,.14);border-color:#E9D5B0;transform:translateY(-1px)}}
.scen button[aria-pressed="true"]{background:#E9D5B0;border-color:#E9D5B0;color:#0D0C0B}
.scen button[aria-pressed="true"]::before{content:"● "}
.console:not(.touche) .scen button[aria-pressed="false"]{animation:invite 2.2s ease-in-out infinite}
.console:not(.touche) .scen button[aria-pressed="false"]:nth-of-type(3){animation-delay:.4s}
@keyframes invite{0%,100%{box-shadow:0 0 0 0 rgba(233,213,176,.0)}50%{box-shadow:0 0 0 6px rgba(233,213,176,.18)}}
.actions .go{animation:invite-go 1.8s ease-in-out infinite;cursor:pointer}
@media (hover:hover){.actions .go:hover{filter:brightness(1.06);transform:translateY(-1px)}}
.actions button{cursor:pointer;transition:transform .2s,background .2s}
@media (hover:hover){.actions button:not(.go):hover{background:#1F2333}}
@keyframes invite-go{0%,100%{box-shadow:0 0 0 0 rgba(233,213,176,.55)}60%{box-shadow:0 0 0 10px rgba(233,213,176,0)}}
.badge-interactif{margin-left:auto;font:500 10px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#0D0C0B;background:#E9D5B0;padding:5px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.badge-interactif::before{content:"";width:6px;height:6px;border-radius:50%;background:#0D0C0B;animation:clignote-b 1.2s steps(1) infinite}
@keyframes clignote-b{50%{opacity:.2}}
@media (max-width:560px){.console-top .dots{order:-2}.badge-interactif{order:-1}.scen{flex-basis:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:stretch}.scen::before{grid-column:1/-1;margin:2px 0 2px}.scen button{padding:7px 4px;font-size:11.5px;line-height:1.25;text-align:center;border-radius:14px}.scen button::before,.scen button[aria-pressed="true"]::before{content:none}}
@media (prefers-reduced-motion:reduce){.scen button,.actions .go,.badge-interactif::before{animation:none !important}}
/* Coins arrondis des blocs à fond de couleur */
.groupe,.catalogue,.cta,.news,.offre,.formulaire,.console{border-radius:22px}
.lab,.coord,.agent{border-radius:16px}
.chiffres-g{border-radius:14px}
.piliers,.chiffres,.etapes,.gardes{border-radius:18px;overflow:hidden}
.gardes{border-top:1px solid var(--line) !important}
.annonce a,.filtres button,.offre .etiquette{border-radius:999px}
.offre .etiquette{padding:4px 10px}
/* Menu « Nos services » : une phrase sous chaque rubrique */
.sous{min-width:320px;padding:10px}
.sous a{display:grid;gap:2px;padding:10px 12px}
.sous a b{font-weight:500;color:var(--ink-fort)}
.sous a span{font-size:13.5px;line-height:1.35;color:var(--muted)}
@media (hover:hover){.sous a:hover b{color:var(--accent)}}
/* Bloc « Notre groupe » plus compact */
.groupe{padding:clamp(22px,3vw,36px)}
.groupe .tete img{height:38px}
.groupe h2{font-size:clamp(24px,2.6vw,34px);margin-top:14px;max-width:30ch}
.groupe .lead{margin-top:10px;font-size:16px;max-width:70ch}
.chiffres-g{margin-top:22px}
.chiffres-g div{padding:14px 16px}
.chiffres-g b{font-size:clamp(22px,2.2vw,30px)}
.chiffres-g span{font-size:13.5px}
.groupe .lab{margin-top:16px;padding:14px 16px;gap:12px}
.groupe .lab p{font-size:15px}
.groupe .actions-s{margin-top:18px}
.groupe .btn{padding:10px 14px;font-size:11px}
/* Bloc « expertises » de la page Agence */
.expertises{background:var(--noir);border-radius:22px;padding:clamp(22px,3vw,34px)}
.expertises .eyebrow{color:#A19C94}
.grille-exp{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}
.expertise{min-width:0;display:grid;gap:4px;padding:18px;border-radius:16px;background:#1A1816;border:1px solid #2E2B27;transition:border-color .25s,transform .25s}
@media (hover:hover){.expertise:hover{border-color:var(--or);transform:translateY(-2px)}}
.expertise svg{width:28px;height:28px;stroke:var(--or);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:8px}
.expertise b{font-family:var(--f-display);font-weight:500;font-size:19px;color:#fff}
.expertise span{font-size:14px;color:#A19C94;line-height:1.4}
@media (max-width:420px){.grille-exp{grid-template-columns:1fr}}
.piliers.deux{grid-template-columns:repeat(2,1fr)}
@media (max-width:820px){.piliers.deux{grid-template-columns:1fr}}
/* Cartes de profils (page Outsourcing IT) sur fond clair */
.expertise.exp-clair{background:var(--papier);border-color:var(--line);padding:22px}
.expertise.exp-clair b{color:var(--ink-fort);font-size:20px}
.expertise.exp-clair span{color:var(--muted);font-size:15px}
.expertise.exp-clair svg{stroke:var(--accent)}
@media (hover:hover){.expertise.exp-clair:hover{border-color:var(--accent)}}
/* Grille des réalisations (page Shopify) */
.realisations{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.realisations .media{margin:0;aspect-ratio:540/227;border-radius:14px;box-shadow:0 18px 40px -24px rgba(13,12,11,.4)}
.realisations .media img{object-fit:cover;object-position:top center}
@media (max-width:860px){.realisations{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.realisations{grid-template-columns:1fr}}
/* Exemples de templates (page Shopify) */
.modeles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.modeles .media{margin:0;aspect-ratio:4/5;border-radius:14px;background:#fff;box-shadow:0 18px 40px -26px rgba(13,12,11,.45)}
.modeles .media img{object-fit:cover;object-position:top center}
@media (max-width:980px){.modeles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:620px){.modeles{grid-template-columns:repeat(2,1fr);gap:10px}}
/* Carrousel des modèles */
#modeles .wrap{position:relative}
.modeles.carrousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 22px;margin-top:28px;scrollbar-width:none;-webkit-overflow-scrolling:touch;cursor:grab}
.modeles.carrousel::-webkit-scrollbar{display:none}
.modeles.carrousel.glisse{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.modeles.carrousel .media{flex:0 0 clamp(200px,22vw,270px);scroll-snap-align:start}
.modeles.carrousel img{pointer-events:none;user-select:none}
.carrousel-nav{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.carrousel-nav button{width:44px;height:44px;border-radius:999px;border:1px solid var(--line);background:var(--papier);color:var(--ink);font-size:18px;cursor:pointer;transition:background .2s,border-color .2s}
@media (hover:hover){.carrousel-nav button:hover{background:var(--noir);color:var(--or);border-color:var(--noir)}}
a.coord{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
a.coord b{user-select:auto}
a.coord::after{content:"→";font-size:20px;color:var(--accent)}
@media (hover:hover){a.coord:hover{border-color:var(--accent);transform:translateY(-2px)}}
footer .rs{display:flex;gap:10px;margin-top:18px}
footer .rs a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-fort);transition:background .2s,color .2s,border-color .2s}
@media (hover:hover){footer .rs a:hover{background:var(--noir,#0D0C0B);color:var(--or);border-color:var(--noir,#0D0C0B)}}
footer .rs svg{width:18px;height:18px;fill:currentColor}
footer .rs svg.trait{fill:none;stroke:currentColor;stroke-width:1.8}
footer .rs svg.trait circle:last-child{fill:currentColor}
.encart-geo{margin-top:40px;max-width:820px;padding:24px 28px;border-radius:22px;background:var(--papier);border:1px solid var(--line);border-left:4px solid var(--or);font-size:18px;line-height:1.6;color:var(--muted)}
.encart-geo b{display:block;margin-bottom:6px;font-size:20px;font-weight:500;color:var(--ink-fort)}
.piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.erreur{font:500 13px var(--f-mono);color:#B4412F;margin-top:10px}
.erreur:empty{display:none}
.news .erreur{color:#F2A08F}
.choix.accords{flex-direction:column;gap:10px}
.choix.accords label{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;line-height:1.5;border-radius:12px}
.choix.accords input{flex:none;margin-top:4px}
.choix.accords a{color:var(--accent)}
/* Bandeau cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:620px;margin-inline:auto;background:var(--noir);color:#E8E4DC;border-radius:22px;padding:22px 24px;box-shadow:0 30px 70px -20px rgba(13,12,11,.6);font-size:15px;line-height:1.55}
.cookies[hidden]{display:none}
.cookies p{margin:0 0 10px}
.cookies a{color:var(--or)}
.cookies-titre{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--or)}
.cookies-detail{display:grid;gap:8px;margin:6px 0 12px}
.cookies-detail[hidden]{display:none}
.cookies-detail label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(233,213,176,.25);border-radius:12px;cursor:pointer}
.cookies-detail input{flex:none;width:18px;height:18px;padding:0;margin:3px 0 0;border:0;accent-color:var(--or)}
.cookies-detail span{flex:1;min-width:0}
.cookies-detail b{color:#fff;font-weight:500}
.cookies-boutons{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.cookies-boutons button{flex:1 1 140px;padding:11px 14px;border-radius:999px;border:1px solid var(--or);background:transparent;color:var(--or);font:500 13px var(--f-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cookies-boutons button[hidden]{display:none}
@media (hover:hover){.cookies-boutons button:hover{background:var(--or);color:var(--noir)}}
/* Ancres : laisser la place du menu collant au-dessus de la section visée */
[id]{scroll-margin-top:104px}
/* Logos : fondu sur les bords, pour qu'ils entrent et sortent en douceur au lieu d'apparaître coupés net */
.logos-fenetre{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)}
@media (max-width:560px){.piste{gap:44px;padding-right:44px}.logos-fenetre{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}}
@media (prefers-reduced-motion:reduce){.logos-fenetre{overflow:hidden;-webkit-mask-image:none;mask-image:none}}
/* Toucher : un seul appui suffit (pas d'attente du « double appui pour zoomer » de Safari) */
a,button,summary,label,.coord{touch-action:manipulation;-webkit-tap-highlight-color:rgba(233,213,176,.25)}
a.coord *{pointer-events:none}
