:root{--ink:#242421;--muted:#686862;--paper:#f8f7f3;--white:#fff;--line:#dddcd5;--accent:#c49a42;--deep:#202a2d;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;font-size:16px}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.narrow{width:min(calc(100% - 48px),760px)}
a{color:inherit;text-decoration:none}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent);padding:22px 0}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{line-height:1.05}.brand-title{display:block;font-family:var(--serif);font-size:21px}.brand-sub{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;opacity:.82;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:14px}.site-header nav a{opacity:.92}.nav-cta{border:1px solid rgba(255,255,255,.65);padding:8px 14px;border-radius:999px}.hero{min-height:780px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden;background:#222}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,12,.78) 0%,rgba(10,12,12,.48) 48%,rgba(10,12,12,.08) 100%)}.hero-content{position:relative;padding-top:110px;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;margin:0 0 16px;opacity:.85}.eyebrow.dark{color:#7b715d;opacity:1}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7vw,88px);line-height:1.03;letter-spacing:-.025em;margin:0 0 22px}.hero-lead{font-size:22px;margin:0 0 18px}.hero-text{font-size:18px;max-width:690px;margin:0 0 30px;line-height:1.6}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.button-light{background:#fff;color:#222}.button-outline{border:1px solid rgba(255,255,255,.7);color:#fff}.button-dark{background:var(--ink);color:#fff}.section{padding:110px 0}.section-small{padding:75px 0}.intro{background:#fff}.intro h2,.copy h2,.bio h2,.references h2,.programmer h2,.final-cta h2{font-family:var(--serif);font-weight:500;font-size:clamp(38px,4vw,58px);line-height:1.08;letter-spacing:-.02em;margin:0 0 30px}.intro p,.copy p,.bio p,.programmer p{color:var(--muted);font-size:17px}.big-intro{font-size:24px!important;line-height:1.5!important;color:var(--ink)!important;margin:0 0 28px}.journey-title{background:#fff;padding-top:0;padding-bottom:35px}.journey-title h2{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.02em;margin:0;text-align:center}
.pillars{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr)}.pillars article{padding:15px 30px;border-left:1px solid var(--line)}.pillar-image{margin:0 0 22px;overflow:hidden;background:#ddd;aspect-ratio:16/9}.pillar-image img{width:100%;height:100%;display:block;object-fit:cover}.pillars article:first-child{border-left:0}.number{font-size:12px;color:#9c8b65;letter-spacing:.15em}.pillars h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:18px 0 8px}.pillars p{color:var(--muted);font-size:14px;margin:0}.split-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}.image-frame{overflow:hidden;background:#ddd}.image-frame img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}.copy .signature{font-family:var(--serif);font-size:21px;color:var(--ink);margin-top:30px}.process{background:#fff}.visual-break{height:460px;overflow:hidden}.visual-break img{width:100%;height:100%;object-fit:cover;object-position:center}.bio{background:var(--paper)}.bio-title{font-family:var(--serif);font-size:25px!important;color:var(--ink)!important;margin-top:-16px}.references{background:#fff}.reference-list{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.reference-list span{width:33.333%;padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.programmer{background:var(--deep);color:#fff}.programmer .eyebrow{color:#d7bf83}.programmer h2{color:#fff}.programmer p{color:rgba(255,255,255,.72)}.programmer-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:start}.facts{border-top:1px solid rgba(255,255,255,.2)}.facts div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;gap:20px}.facts strong{font-family:var(--serif);font-size:19px;font-weight:500}.facts span{color:rgba(255,255,255,.55);font-size:13px;text-align:right}.final-cta{text-align:center;background:#fff}.center{margin:auto}.final-cta h2{max-width:760px;margin-left:auto;margin-right:auto}.final-cta p:not(.eyebrow){color:var(--muted);font-size:18px}.site-footer{background:#171918;color:rgba(255,255,255,.7);padding:35px 0;font-size:13px}.footer-grid{display:flex;justify-content:space-between;gap:30px}.site-footer strong{color:#fff;font-family:var(--serif);font-size:16px}.site-footer a{color:#fff}
@media(max-width:850px){.hero{min-height:720px}.pillars-grid{grid-template-columns:1fr 1fr}.pillars article:nth-child(3){border-left:1px solid var(--line)}.split-grid,.programmer-inner{grid-template-columns:1fr;gap:45px}.reverse-mobile .copy{order:2}.reference-list span{width:50%}.visual-break{height:330px}.footer-grid{flex-direction:column}}
@media(max-width:560px){.container,.narrow{width:min(calc(100% - 32px),var(--max))}.site-header{padding:16px 0}.brand-title{font-size:17px}.hero-content{padding-top:90px}.hero h1{font-size:48px}.hero-text{font-size:16px}.actions{align-items:stretch;flex-direction:column;max-width:310px}.button{width:100%}.section{padding:75px 0}.section-small{padding:55px 0}.pillars-grid{grid-template-columns:1fr}.pillars article{border-left:0;border-top:1px solid var(--line);padding:24px 0}.pillars article:nth-child(3){border-left:0}.pillars article:first-child{border-top:0}.reference-list span{width:100%}.facts div{display:block}.facts span{display:block;text-align:left;margin-top:4px}.visual-break{height:250px}}


/* Navigation commune aux quatre pages */
.site-nav {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.site-nav .nav-link {
  font-weight: 400;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  padding-bottom: 0.2rem;
}
.site-nav .nav-link.active {
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid currentColor;
}
.site-nav .nav-link:hover {
  text-decoration: none;
}
.site-nav .nav-cta {
  text-decoration: none;
}

/* =========================================================
   BANDEAU SUPÉRIEUR — RÈGLE COMMUNE AUX 4 PAGES
   ========================================================= */
.site-header {
  height: 86px !important;
  min-height: 86px;
  position: sticky;
  top: 0;
  z-index: 20;
  box-sizing: border-box;
  background: #fbfaf7;
  border-bottom: 1px solid #e7e3da;
  padding: 0 !important;
}
.site-header-inner {
  width: min(1080px, 88vw);
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  box-sizing: border-box;
}
.site-header .brand {
  display: block;
  flex: 0 0 auto;
  margin: 0 !important;
  padding: 0 !important;
  color: #222;
  text-decoration: none;
  line-height: 1.05;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 20px !important;
  font-weight: 400 !important;
}
.site-header .brand span {
  display: block;
  font: 400 20px/1.05 Georgia, "Times New Roman", serif !important;
  letter-spacing: 0 !important;
}
.site-header .brand small {
  display: block;
  margin: 7px 0 0 !important;
  color: #777;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}
.site-header .site-nav {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  gap: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
.site-header .site-nav .nav-link,
.site-header .site-nav .nav-cta {
  color: #333;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  border: 0;
  padding: 0;
}
.site-header .site-nav .nav-link.active {
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 2px solid #333 !important;
  padding-bottom: 5px !important;
}
.site-header .site-nav .nav-cta {
  border: 1px solid #333 !important;
  padding: 9px 16px !important;
}
.site-header .site-nav .nav-link:hover {
  text-decoration: none !important;
}

@media(max-width:850px) {
  .site-header {
    height: auto !important;
    min-height: 0;
    padding: 20px 0 !important;
  }
  .site-header-inner {
    width: min(100% - 36px, 700px);
    height: auto;
    display: block;
  }
  .site-header .brand {
    margin-bottom: 18px !important;
  }
  .site-header .site-nav {
    justify-content: flex-start;
    gap: 15px !important;
    flex-wrap: wrap;
  }
}

@media(min-width:851px) {
  .site-header {
    position: absolute !important;
    background: linear-gradient(180deg,rgba(0,0,0,.55),transparent) !important;
    border-bottom: 0 !important;
    color: #fff;
  }
  .site-header .brand,
  .site-header .brand span,
  .site-header .site-nav .nav-link,
  .site-header .site-nav .nav-cta {
    color: #fff;
  }
  .site-header .brand small { color: rgba(255,255,255,.82); }
  .site-header .site-nav .nav-cta { border-color: rgba(255,255,255,.65) !important; }
  .site-header .site-nav .nav-link.active { border-bottom-color: #fff !important; }
}
/* V19 correction: doré uniquement pour les petits titres (eyebrows) */
.eyebrow,
.eyebrow.dark { color:#b08b43 !important; opacity:1; }
.programmer .eyebrow { color:#b08b43 !important; }
