
:root{
  --ink:#111113;
  --frame:rgba(103,16,50,0.30);
  --line-dark:rgba(255,255,255,0.10);
  --grid-line:rgba(17,17,19,0.028);
  --line-dark-strong:rgba(255,255,255,0.22);
  --paper:#FAF9F7;
  --paper-2:#F1EFEA;
  --line-light:rgba(17,17,19,0.10);
  --line-light-strong:rgba(17,17,19,0.18);
  --ink-text:#17161A;
  --muted-ink:rgba(23,22,26,0.62);
  --muted-onink:rgba(255,255,255,0.62);
  --burgundy:#671032;
  --burgundy-tint:#CE7391;
  --burgundy-soft:rgba(103,16,50,0.08);
  --rust:#AB4C2C;
  --green:#3A7657;
  --radius:2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink-text); font-family:'Inter',sans-serif; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; position:relative;}
@media (max-width:1023px), (hover:none){ body::after{display:none !important;} }
body::after{content:""; position:fixed; inset:0; pointer-events:none; z-index:999; opacity:0.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
::selection{background:var(--burgundy); color:#fff;}
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--paper);}
::-webkit-scrollbar-thumb{background:var(--burgundy); border-radius:6px; border:2px solid var(--paper);}
@media (prefers-reduced-motion: reduce){ *{animation-duration:0.01ms !important; transition-duration:0.01ms !important;} }
h1,h2,h3{font-family:'Playfair Display',serif; margin:0; letter-spacing:-0.01em; font-weight:600;}
.mono{font-family:'JetBrains Mono',monospace;}
p{margin:0;}
p.reveal{text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto; -ms-hyphens:auto;}
a{color:inherit;}
.wrap{max-width:1360px; margin:0 auto; padding:0 48px;}
@media (max-width:900px){ .wrap{padding:0 24px;} .nav-inner{padding:12px 20px;} .nav-logo{height:40px;} .nav-cta{font-size:12px; padding:9px 14px;} }
img{max-width:100%; display:block;}

nav{position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(250,249,247,0.90); backdrop-filter:blur(8px); border-bottom:1px solid var(--line-light); transition:box-shadow 0.3s ease, background 0.3s ease;}
nav.scrolled{box-shadow:0 8px 30px -12px rgba(17,17,19,0.18); background:rgba(250,249,247,0.97);}
.nav-inner{max-width:1360px; margin:0 auto; padding:16px 48px; display:flex; align-items:center; justify-content:space-between;}
.nav-logo{height:50px; display:block; transition:transform 0.3s ease;}
.nav-logo:hover{transform:scale(1.04);}
.nav-links{display:flex; gap:28px; font-size:13px; letter-spacing:0.02em;}
.hamburger{display:none; flex-direction:column; justify-content:center; gap:5px; width:26px; height:22px; background:none; border:none; cursor:pointer; padding:0; flex:none;}
.hamburger span{display:block; width:100%; height:2px; background:var(--ink-text); border-radius:2px; transition:transform 0.3s ease, opacity 0.3s ease;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media (max-width:860px){ .hamburger{display:flex;} }
.mobile-menu{display:none; flex-direction:column; background:var(--paper); border-bottom:1px solid var(--line-light-strong); padding:6px 24px 18px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{padding:15px 0; font-size:15.5px; font-weight:500; color:var(--ink-text); text-decoration:none; border-bottom:1px solid var(--line-light);}
.mobile-menu a:last-child{border-bottom:none;}
.nav-links a{opacity:0.78; text-decoration:none; transition:opacity 0.2s; color:var(--ink-text); font-weight:500;}
.nav-links a:hover{opacity:1;}
.nav-cta{font-size:13px; padding:10px 20px; background:var(--burgundy); color:#fff; font-weight:600; text-decoration:none; border-radius:var(--radius); letter-spacing:0.01em;}
@media (max-width:860px){ .nav-links{display:none;} }

section{padding:110px 0; position:relative;}
@media (max-width:720px){ section{padding:72px 0;} .wrap{padding:0 20px;} }
section.tint{background:var(--paper-2);}

/* HERO */
.hero{min-height:100vh; display:flex; align-items:center; padding-top:140px; padding-bottom:80px;}
.eyebrow{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--burgundy); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:22px; display:flex; align-items:center; gap:10px;}
.eyebrow::before{content:""; width:24px; height:1px; background:var(--burgundy); display:inline-block;}
.hero h1{font-size:clamp(36px,5vw,58px); font-weight:700; line-height:1.1; letter-spacing:-0.015em; margin-bottom:26px; opacity:1; transform:none;}
.hero h1 em{font-style:italic; color:var(--burgundy);}
 .hero .btn-row{opacity:1; transform:none;}
.hero .btn-row{animation-delay:0.55s;}
@keyframes heroIn{to{opacity:1; transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){ .hero h1, .hero .btn-row{opacity:1; transform:none; animation:none;} }
.btn-row{display:flex; gap:16px; flex-wrap:wrap;}
.btn{padding:15px 26px; border-radius:var(--radius); font-weight:600; font-size:14.5px; text-decoration:none; display:inline-flex; align-items:center; gap:9px; position:relative; overflow:hidden; transition:transform 0.25s cubic-bezier(.2,.8,.2,1), box-shadow 0.25s ease, border-color 0.25s ease, color 0.25s ease;}
.btn-primary{background:var(--burgundy); color:#fff;}
.btn-primary::after{content:"→"; transition:transform 0.25s ease;}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 28px -12px rgba(103,16,50,0.55);}
.btn-primary:hover::after{transform:translateX(4px);}
.btn-ghost{border:1px solid var(--line-light-strong); color:var(--ink-text); background:transparent;}
.btn-ghost:hover{border-color:var(--burgundy); color:var(--burgundy); transform:translateY(-2px);}

/* PROBLEME: chart + chips */

/* COUT */

/* METHODE: promise table + pillar timeline */

/* SERVICES */

/* CAS CLIENTS */

/* TARIFICATION */

/* RESULTS + CTA */

footer{padding:44px 0; border-top:1px solid transparent; border-image:linear-gradient(90deg, transparent, var(--burgundy) 50%, transparent) 1; font-size:13px; color:var(--muted-ink); background:var(--paper-2);}

.reveal{opacity:1; transform:none;}
.reveal.show{opacity:1; transform:translateY(0);}

/* Discovery call form */
.form-card{margin-top:90px; border:1px solid var(--line-light-strong); border-radius:4px; background:var(--paper); padding:44px; scroll-margin-top:100px;}
@media (max-width:640px){ .form-card{padding:28px 22px;} }
.form-field label{display:block; font-size:12.5px; font-weight:600; color:var(--ink-text); margin-bottom:7px;}
.form-field input, .form-field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line-light-strong); border-radius:2px;
  background:var(--paper); color:var(--ink-text); font-family:'Inter',sans-serif; font-size:14.5px;
  transition:border-color 0.2s ease;
}
.form-field input:focus, .form-field textarea:focus{outline:none; border-color:var(--burgundy);}
.form-field input:focus-visible, .form-field textarea:focus-visible, .form-field select:focus-visible{outline:2px solid var(--burgundy); outline-offset:2px;}
a:focus-visible, button:focus-visible, .btn:focus-visible, .nav-cta:focus-visible, summary:focus-visible{outline:2px solid var(--burgundy); outline-offset:3px; border-radius:2px;}
.check-item{display:flex; align-items:center; gap:10px; font-size:14px; color:var(--ink-text); font-weight:400; cursor:pointer; padding:12px 4px; border-radius:4px; min-height:44px; box-sizing:border-box;}
.check-item input[type="checkbox"]{width:16px; height:16px; accent-color:var(--burgundy); flex:none; cursor:pointer;}
.form-footer{display:flex; align-items:center; gap:20px; flex-wrap:wrap; padding-top:8px; border-top:1px solid var(--line-light); margin-top:8px; padding-top:24px;}
.form-note{font-size:13px; color:var(--muted-ink);}
.form-note.error{color:var(--rust); font-weight:600;}

/* Privacy policy modal (self-contained, works regardless of hosting/preview context) */

/* Cookie consent banner */
.cookie-banner{
  position:fixed; left:20px; right:20px; bottom:-200px; z-index:1100;
  max-width:640px; margin:0 auto;
  background:var(--paper); border:1px solid var(--line-light-strong); border-radius:6px;
  padding:22px 26px; box-shadow:0 20px 60px -15px rgba(0,0,0,0.35);
  transition:bottom 0.5s cubic-bezier(.2,.8,.2,1);
}
.cookie-banner.show{bottom:20px;}
.cookie-banner p{font-size:13.5px; color:var(--muted-ink); line-height:1.55; margin-bottom:16px;}
.cookie-banner p a{color:var(--burgundy); text-decoration:underline; cursor:pointer;}
.cookie-banner-actions{display:flex; gap:12px; flex-wrap:wrap;}
.cookie-banner .btn{padding:14px 20px; font-size:13.5px; min-height:44px; box-sizing:border-box;}
@media (max-width:600px){ .cookie-banner{left:12px; right:12px; padding:18px 20px;} }

/* photo treatment: duotone burgundy/ink over real photography, so images read as part of the brand rather than generic stock */

.skip-link{position:absolute; left:-9999px; top:0; z-index:10000; background:var(--burgundy); color:#fff; padding:12px 20px; font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:600; text-decoration:none; border-radius:0 0 4px 0;}
.skip-link:focus{left:0;}

/* Responsive fixes for new sections */

/* Button consistency */
.btn{display:inline-flex;align-items:center;font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;padding:11px 22px;border-radius:var(--radius);text-decoration:none;transition:all 0.18s ease;letter-spacing:0.01em;}
.btn-primary{background:var(--burgundy);color:#fff;border:1.5px solid var(--burgundy);}
.btn-primary:hover{background:#7d1540;border-color:#7d1540;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--ink-text);border:1.5px solid var(--line-light-strong);}
.btn-ghost:hover{border-color:var(--burgundy);color:var(--burgundy);transform:translateY(-1px);}
/* Card hover micro */


/* ===== Ajouts pour les pages /services/* et /demonstrations/* ===== */
.nav-logo-link{display:inline-flex;align-items:center;line-height:0;}
.crumbs{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--muted-ink);margin-bottom:20px;}
.crumbs a{color:var(--muted-ink);text-decoration:none;}
.crumbs a:hover{color:var(--burgundy);text-decoration:underline;}
.callout{background:var(--paper);border:1px solid var(--line-light-strong);border-left:2px solid var(--burgundy);padding:22px 26px;border-radius:0 4px 4px 0;font-size:15px;color:var(--muted-ink);line-height:1.7;max-width:820px;margin-top:28px;}
