:root{--paper:#eee9dd;--ink:#1c1a17;--muted:#6e665c;--accent:#9b5e2d;--header:86px;--gutter:clamp(18px,3.5vw,52px);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden;background:var(--paper)}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden;background:transparent}a{color:inherit}img{display:block}.paper{position:fixed;inset:0;z-index:-10;background:linear-gradient(rgba(245,241,231,.36),rgba(245,241,231,.36)),url('paper-canson.jpg') center/720px auto repeat}.paper:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 45% 8%,rgba(255,255,255,.30),transparent 38%),linear-gradient(90deg,rgba(0,0,0,.018),transparent 14%,transparent 86%,rgba(0,0,0,.018));pointer-events:none}
.topbar{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:max(13px,env(safe-area-inset-top)) var(--gutter) 10px;background:linear-gradient(180deg,rgba(238,233,221,.985),rgba(238,233,221,.93) 78%,rgba(238,233,221,0));pointer-events:none}.brand,.menu-toggle{pointer-events:auto}.brand{width:clamp(150px,17vw,220px);height:55px;display:flex;align-items:center;overflow:hidden}.brand img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:multiply;filter:contrast(1.12)}
.menu-toggle{justify-self:end;width:48px;height:48px;border:0;background:transparent;padding:12px;display:grid;align-content:center;gap:6px;cursor:pointer}.menu-toggle span{display:block;height:1.5px;background:var(--ink);transition:transform .24s ease,opacity .18s ease}.menu-toggle.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-toggle.open span:nth-child(2){opacity:0}.menu-toggle.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.section-indicator{display:flex;align-items:center;gap:10px;font:700 9px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#60584f;opacity:.8}.indicator-line{width:44px;height:1px;background:rgba(28,26,23,.35);position:relative;overflow:hidden}.indicator-line:after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateX(-100%);animation:lineIn .55s ease forwards}.indicator-label{min-width:74px}@keyframes lineIn{to{transform:none}}
.progress{position:fixed;z-index:101;top:0;left:0;right:0;height:2px;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--accent);transition:width .1s linear}
.menu{position:fixed;z-index:90;inset:0;background:rgba(238,233,221,.988);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s ease}.menu.open{opacity:1;visibility:visible}.menu-inner{width:min(86vw,690px);display:flex;flex-direction:column}.menu-kicker{margin:0 0 24px;color:var(--accent);font-size:10px;letter-spacing:.25em;font-weight:700}.menu a{display:flex;align-items:baseline;gap:18px;padding:9px 0;text-decoration:none;font:400 clamp(28px,4.6vw,58px)/1.05 Georgia,'Times New Roman',serif;border-bottom:1px solid rgba(28,26,23,.13)}.menu a b{font:700 9px/1 Arial,sans-serif;color:var(--accent);letter-spacing:.15em;width:22px}
main{width:min(calc(100% - 2*var(--gutter)),var(--max));margin:0 auto;padding-top:var(--header)}.panel{position:relative;min-height:calc(100svh - var(--header));margin:0 0 clamp(38px,6vw,86px);overflow:hidden;isolation:isolate;scroll-margin-top:var(--header)}.paper-panel{overflow:visible}
.hero{display:flex;align-items:center;padding:clamp(54px,9vh,110px) clamp(0px,4vw,48px)}.hero-content{max-width:900px;position:relative;z-index:2}.eyebrow{margin:0 0 20px;color:var(--accent);font:700 10px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.25em}.eyebrow.light{color:#e1b08c}.hero h1,.skill h2,.contact h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(52px,7.4vw,104px);line-height:.91;margin:0;max-width:1000px}.hero-lead{font:400 clamp(18px,2.1vw,26px)/1.55 Georgia,'Times New Roman',serif;color:var(--muted);max-width:650px;margin:34px 0}.discover{display:inline-flex;gap:13px;align-items:center;text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:10px;border-bottom:1px solid rgba(28,26,23,.35);padding-bottom:7px}
.skill{height:calc(100svh - var(--header));min-height:620px;background:#171512;color:#fff;border-radius:2px;box-shadow:0 18px 60px rgba(49,39,28,.10)}.slides,.slide,.photo-veil{position:absolute;inset:0}.slide{width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.018);transition:opacity .38s ease,transform 2.9s ease;will-change:opacity,transform}.slide.active{opacity:1;transform:scale(1)}.photo-veil{background:linear-gradient(90deg,rgba(12,10,8,.70) 0%,rgba(12,10,8,.28) 48%,rgba(12,10,8,.08) 72%),linear-gradient(0deg,rgba(9,8,7,.54),transparent 55%);z-index:2}.skill-copy{position:absolute;z-index:3;left:clamp(28px,5.5vw,76px);bottom:clamp(44px,8vh,88px);max-width:690px;text-shadow:0 2px 22px rgba(0,0,0,.45)}.skill h2{font-size:clamp(58px,8vw,112px);line-height:.82;margin:0 0 26px}.skill-copy>p:last-child{font-size:clamp(15px,1.5vw,19px);line-height:1.6;max-width:560px;margin:0;color:rgba(255,255,255,.88)}.gallery-counter{position:absolute;z-index:4;right:26px;bottom:24px;font:700 9px/1 Arial,sans-serif;letter-spacing:.18em;color:rgba(255,255,255,.78)}
.panel.section-enter:after{content:"";position:absolute;z-index:8;left:0;top:0;width:100%;height:3px;background:var(--accent);transform-origin:left;animation:sectionRule .6s cubic-bezier(.2,.7,.2,1) both}@keyframes sectionRule{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.skill.section-enter .skill-copy{animation:softRise .5s cubic-bezier(.2,.7,.2,1) both}@keyframes softRise{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}
.ecce{height:calc(100svh - var(--header));min-height:650px;background:#0f0e0d;color:#f4ede2}.ecce-bg,.ecce-veil{position:absolute;inset:0}
.ecce-top{position:absolute;z-index:3;left:clamp(28px,5.5vw,76px);top:clamp(48px,7vh,82px);display:flex;flex-direction:column;align-items:flex-start}
.ecce-top .eyebrow{margin-bottom:14px;text-shadow:0 2px 12px rgba(0,0,0,.38)}
.ecce-identity{display:flex;flex-direction:column;align-items:center;width:clamp(130px,15vw,205px)}
.ecce-symbol{width:clamp(76px,8vw,112px);height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.26))}
.ecce-wordmark{margin-top:10px;color:#f3c16f;font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,1.75vw,24px);line-height:1;letter-spacing:.18em;white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.ecce-rule{display:block;width:34px;height:1px;margin-top:13px;background:#f3c16f;opacity:.9}
.ecce-bottom{position:absolute;z-index:3;left:clamp(28px,5.5vw,76px);bottom:clamp(42px,6.5vh,72px);max-width:600px;text-shadow:0 2px 16px rgba(0,0,0,.65)}
.ecce-bottom>p:not(.tagline){font-size:16px;line-height:1.58;color:rgba(255,255,255,.92);max-width:560px;margin:0}
.ecce-bottom a{display:inline-block;margin-top:18px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;border-bottom:1px solid rgba(255,255,255,.62);padding-bottom:7px}
.ecce-bottom a span{margin-left:8px}
.ecce-bg{background-size:cover;background-position:center;filter:brightness(.88) saturate(.96) contrast(1.03)}.ecce-veil{background:linear-gradient(180deg,rgba(7,7,6,.02) 0%,rgba(7,7,6,.04) 48%,rgba(7,7,6,.28) 70%,rgba(7,7,6,.74) 100%)}.tagline{font:italic clamp(25px,3vw,38px)/1.2 Georgia,'Times New Roman',serif;color:#dfb89d;margin:0 0 20px}
.contact{display:flex;align-items:center;justify-content:center;text-align:center;padding:90px 20px}.contact-inner{max-width:820px}.contact h2{font-size:clamp(70px,10vw,140px);line-height:.85;margin:0 0 30px}.contact-inner>p:not(.eyebrow){font:20px/1.55 Georgia,'Times New Roman',serif;color:var(--muted);margin:0 auto 30px;max-width:650px}.contact a{font:400 clamp(22px,3vw,38px)/1.2 Georgia,'Times New Roman',serif;text-decoration:none;border-bottom:1px solid rgba(28,26,23,.28)}.contact small{display:block;margin-top:38px;text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--muted)}
@media(max-width:760px){:root{--header:76px;--gutter:14px}.topbar{grid-template-columns:1fr auto;padding-left:18px;padding-right:14px}.brand{width:166px;height:50px}.section-indicator{display:none}.panel{margin-bottom:30px}.hero{min-height:calc(100svh - var(--header));padding:44px 10px 56px}.hero h1{font-size:clamp(48px,14.5vw,72px)}.hero-lead{font-size:18px;line-height:1.5;margin:28px 0}.hero-sketch{width:68vw;right:-18vw;bottom:6vh;opacity:.045}.skill,.ecce{height:calc(100svh - var(--header));min-height:560px}.photo-veil{background:linear-gradient(180deg,rgba(10,9,8,.06) 15%,rgba(10,9,8,.18) 42%,rgba(10,9,8,.82) 78%,rgba(10,9,8,.93) 100%)}.skill-copy{left:24px;right:24px;bottom:48px}.skill h2{font-size:clamp(54px,16vw,84px);line-height:.84;margin-bottom:20px}.skill-copy>p:last-child{font-size:14.5px;line-height:1.52;max-width:88%}.gallery-counter{right:18px;bottom:17px}.slide{object-position:center}.ecce-veil{background:linear-gradient(180deg,rgba(7,7,6,.00) 0%,rgba(7,7,6,.02) 50%,rgba(7,7,6,.24) 69%,rgba(7,7,6,.76) 100%)}.ecce-top{left:22px;top:34px}.ecce-top .eyebrow{margin-bottom:10px}.ecce-identity{width:132px}.ecce-symbol{width:72px}.ecce-wordmark{font-size:16px;letter-spacing:.15em;margin-top:8px}.ecce-rule{margin-top:10px}.ecce-bottom{left:22px;right:22px;bottom:34px;max-width:none}.ecce-bottom>p:not(.tagline){font-size:14.5px;line-height:1.5;max-width:92%}.menu-inner{width:82vw}.menu a{font-size:clamp(28px,9.6vw,44px)}.contact{padding-left:10px;padding-right:10px}.contact h2{font-size:clamp(68px,20vw,105px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.reveal,.menu,.menu-toggle span{transition:none!important;animation:none!important}}
/* V5 — Ecce Lignum réservé aux projets autour de l'instrument */
.ecce-bg{background-position:center 42%}
@media(max-width:760px){.ecce-bg{background-position:center 34%}}


/* V5.5 — vraie composition mobile dédiée pour Ecce Lignum */
@media(max-width:760px){
  :root{--header:68px}
  .topbar{
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:6px;
    padding-left:14px;
    padding-right:10px;
  }
  .brand{width:146px;height:44px}
  .menu-toggle{width:44px;height:44px;padding:10px}

  .ecce{
    height:calc(100svh - var(--header));
    min-height:640px;
  }

  /* Image recadrée pour laisser respirer Sonare et éviter l'effet zoom */
  .ecce-bg{
    background-size:auto 92%;
    background-repeat:no-repeat;
    background-position:center 45%;
    background-color:#16120f;
    filter:brightness(.92) saturate(.96) contrast(1.02);
  }

  /* Voile uniquement en pied pour protéger la lisibilité du texte */
  .ecce-veil{
    background:
      linear-gradient(
        180deg,
        rgba(7,7,6,0) 0%,
        rgba(7,7,6,0) 55%,
        rgba(7,7,6,.16) 67%,
        rgba(7,7,6,.56) 82%,
        rgba(7,7,6,.82) 100%
      );
  }

  /* Bloc identité compact, placé dans une zone calme */
  .ecce-top{
    left:18px;
    top:26px;
    max-width:150px;
  }
  .ecce-top .eyebrow{
    font-size:8px;
    letter-spacing:.22em;
    margin-bottom:8px;
  }
  .ecce-identity{
    width:116px;
    align-items:center;
  }
  .ecce-symbol{
    width:54px;
  }
  .ecce-wordmark{
    margin-top:7px;
    font-size:13px;
    letter-spacing:.14em;
  }
  .ecce-rule{
    width:28px;
    margin-top:8px;
  }

  /* Bloc texte nettement plus compact, en bas seulement */
  .ecce-bottom{
    left:18px;
    right:18px;
    bottom:24px;
    max-width:none;
    text-shadow:0 2px 12px rgba(0,0,0,.7);
  }
  .tagline{
    font-size:clamp(23px,7vw,30px);
    line-height:1.08;
    margin:0 0 12px;
    max-width:92%;
  }
  .ecce-bottom>p:not(.tagline){
    font-size:13.5px;
    line-height:1.43;
    max-width:88%;
    margin:0;
  }
  .ecce-bottom a{
    margin-top:14px;
    font-size:9px;
    letter-spacing:.14em;
    padding-bottom:5px;
  }
}


/* V5.6 — Ecce Lignum en cartouche assumée */
.ecce{display:flex;align-items:flex-end;min-height:760px}
.ecce-bg{background-size:cover;background-position:center 42%;filter:brightness(.92) saturate(.98) contrast(1.03)}
.ecce-veil{background:linear-gradient(180deg,rgba(7,7,6,0) 0%,rgba(7,7,6,.02) 58%,rgba(7,7,6,.18) 76%,rgba(7,7,6,.44) 100%)}
.ecce-cartouche{position:absolute;z-index:4;left:clamp(22px,4vw,42px);right:clamp(22px,4vw,42px);bottom:clamp(20px,4vh,34px);background:rgba(10,10,10,.86);color:#f4ede2;padding:16px 18px 18px;border-top:1px solid rgba(255,255,255,.05);box-shadow:0 16px 44px rgba(0,0,0,.28);backdrop-filter:blur(4px)}
.ecce-kicker{margin:0 0 12px;color:#d9b08a;font:700 9px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.24em}
.ecce-cartouche-grid{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);gap:22px;align-items:center}
.ecce-brand{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:112px;padding-right:8px;border-right:1px solid rgba(243,193,111,.24)}
.ecce-symbol{width:66px;height:auto;filter:none}
.ecce-wordmark{margin-top:10px;color:#f3c16f;font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1;letter-spacing:.17em;white-space:nowrap}
.ecce-text{display:flex;flex-direction:column;justify-content:center;min-height:112px}
.ecce .tagline{margin:0 0 8px;font-size:clamp(24px,2.7vw,36px);line-height:1.08;color:#f0ddd2}
.ecce-text>p:not(.tagline){margin:0;font-size:15px;line-height:1.55;color:rgba(244,237,226,.88);max-width:640px}
.ecce-text a{display:inline-block;align-self:flex-start;margin-top:14px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;border-bottom:1px solid rgba(255,255,255,.52);padding-bottom:6px}
.ecce-text a span{margin-left:8px}

@media(max-width:760px){
  .ecce{min-height:760px}
  .ecce-bg{background-size:auto 84%;background-repeat:no-repeat;background-position:center 33%;background-color:#15110f;filter:brightness(.95) saturate(.98) contrast(1.02)}
  .ecce-veil{background:linear-gradient(180deg,rgba(7,7,6,0) 0%,rgba(7,7,6,0) 58%,rgba(7,7,6,.14) 72%,rgba(7,7,6,.36) 82%,rgba(7,7,6,.72) 100%)}
  .ecce-cartouche{left:0;right:0;bottom:0;padding:14px 16px 16px;border-top:1px solid rgba(255,255,255,.06);box-shadow:none;background:rgba(9,9,9,.88)}
  .ecce-kicker{font-size:8px;letter-spacing:.22em;margin-bottom:10px}
  .ecce-cartouche-grid{grid-template-columns:110px 1fr;gap:14px;align-items:start}
  .ecce-brand{min-height:92px;padding-right:12px}
  .ecce-symbol{width:54px}
  .ecce-wordmark{margin-top:8px;font-size:13px;letter-spacing:.12em}
  .ecce-text{min-height:92px}
  .ecce .tagline{font-size:clamp(20px,6.8vw,30px);margin:0 0 6px;max-width:none}
  .ecce-text>p:not(.tagline){font-size:13px;line-height:1.42;max-width:none}
  .ecce-text a{margin-top:10px;font-size:9px;padding-bottom:5px}
}


/* V5.7 — suppression du kicker et recentrage du bloc Ecce Lignum */
.ecce-cartouche{padding-top:14px}
.ecce-cartouche-grid{align-items:center}
.ecce-brand{align-items:center;justify-content:center;text-align:center;min-height:96px}
.ecce-wordmark{text-align:center;width:100%}
@media(max-width:760px){
  .ecce-cartouche{padding-top:12px}
  .ecce-cartouche-grid{grid-template-columns:104px 1fr;gap:12px;align-items:center}
  .ecce-brand{min-height:84px;align-items:center;justify-content:center;text-align:center}
  .ecce-wordmark{width:100%;text-align:center}
}


/* V5.9 — hero ENTURE avec rabot en filigrane */
.hero{
  display:flex;
  align-items:flex-start;
  min-height:calc(100svh - var(--header));
  padding:clamp(84px,13vh,144px) clamp(0px,4vw,48px) clamp(72px,10vh,120px);
}
.hero-content{
  max-width:min(52vw,760px);
  position:relative;
  z-index:3;
}
.hero-lead{max-width:620px}
.hero-media{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero-video-shell{
  position:absolute;
  right:clamp(18px,4vw,56px);
  top:clamp(86px,15vh,146px);
  width:min(34vw,360px);
  height:clamp(420px,64vh,700px);
  overflow:hidden;
  border-radius:2px;
  opacity:.22;
  mix-blend-mode:multiply;
  filter:grayscale(1) contrast(.9) brightness(1.08);
}
.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.hero-video-veil{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(242,238,229,.40) 0%,rgba(242,238,229,.18) 18%,rgba(242,238,229,.06) 42%,rgba(242,238,229,.30) 100%);
}
.hero-still-shell{display:none}

@media(max-width:980px){
  .hero{padding-top:74px;padding-bottom:86px}
  .hero-content{max-width:min(60vw,700px)}
  .hero-video-shell{width:min(36vw,300px);height:clamp(360px,58vh,560px);top:clamp(88px,14vh,132px);opacity:.18}
}

@media(max-width:760px){
  .hero{
    min-height:calc(100svh - var(--header));
    padding:54px 0 84px;
    align-items:flex-start;
  }
  .hero-content{
    max-width:100%;
    padding-right:18px;
  }
  .hero h1{max-width:88vw}
  .hero-lead{max-width:82vw;margin:24px 0}
  .hero-video-shell{display:none}
  .hero-still-shell{
    display:block;
    position:absolute;
    right:12px;
    bottom:18px;
    width:34vw;
    max-width:170px;
    opacity:.13;
    mix-blend-mode:multiply;
    filter:grayscale(1) contrast(.92) brightness(1.04);
  }
  .hero-still{
    width:100%;
    display:block;
    object-fit:cover;
    border-radius:2px;
  }
}


/* V6.0 — hero plein écran en filigrane + header net */
.topbar{
  background:var(--paper);
  box-shadow:0 1px 0 rgba(28,26,23,.10);
  backdrop-filter:none;
}
.brand{
  width:clamp(190px,20vw,265px);
  height:64px;
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.hero{
  min-height:calc(100svh - var(--header));
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding:clamp(72px,10vh,112px) clamp(0px,4vw,48px);
}
.hero-content{
  max-width:min(54vw,760px);
  position:relative;
  z-index:4;
}
.hero-media{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.hero-video-shell{
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  opacity:1;
  border-radius:0;
  overflow:hidden;
  mix-blend-mode:multiply;
  filter:grayscale(1) contrast(.72) brightness(1.34);
}
.hero-video{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  display:block;
  opacity:.28;
}
.hero-video-veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(238,233,221,.93) 0%,rgba(238,233,221,.80) 36%,rgba(238,233,221,.56) 64%,rgba(238,233,221,.50) 100%),
    linear-gradient(180deg,rgba(238,233,221,.28) 0%,rgba(238,233,221,.12) 55%,rgba(238,233,221,.40) 100%);
}
.hero-still-shell{display:none!important}

@media(max-width:980px){
  .brand{
    width:clamp(180px,25vw,225px);
    height:58px;
  }
  .hero{
    align-items:center;
    padding-top:70px;
    padding-bottom:84px;
  }
  .hero-content{
    max-width:min(67vw,700px);
  }
  .hero-video{
    opacity:.24;
    object-position:center 44%;
  }
  .hero-video-veil{
    background:
      linear-gradient(90deg,rgba(238,233,221,.92) 0%,rgba(238,233,221,.78) 44%,rgba(238,233,221,.56) 100%),
      linear-gradient(180deg,rgba(238,233,221,.24),rgba(238,233,221,.38));
  }
}

@media(max-width:760px){
  :root{--header:74px}
  .topbar{
    padding-top:max(10px,env(safe-area-inset-top));
    padding-bottom:8px;
    padding-left:16px;
    padding-right:12px;
    background:var(--paper);
  }
  .brand{
    width:178px;
    height:52px;
  }
  .hero{
    min-height:calc(100svh - var(--header));
    align-items:flex-start;
    padding:62px 0 76px;
  }
  .hero-content{
    max-width:100%;
    padding-right:10px;
  }
  .hero h1{
    max-width:92vw;
  }
  .hero-lead{
    max-width:88vw;
  }
  .hero-video-shell{
    display:block;
    inset:0;
  }
  .hero-video{
    display:block;
    opacity:.18;
    object-fit:cover;
    object-position:center 45%;
  }
  .hero-video-veil{
    background:
      linear-gradient(180deg,rgba(238,233,221,.90) 0%,rgba(238,233,221,.76) 30%,rgba(238,233,221,.62) 64%,rgba(238,233,221,.76) 100%);
  }
}


/* V6.1 — hero Canson cohérent + rabot plus lisible */
.hero{
  background:var(--paper);
}
.hero-video-shell{
  mix-blend-mode:multiply;
  filter:grayscale(1) sepia(.14) contrast(.84) brightness(1.08);
}
.hero-video{
  opacity:.34;
  object-position:center 42%;
}
.hero-video-veil{
  background:
    linear-gradient(90deg,
      rgba(238,233,221,.88) 0%,
      rgba(238,233,221,.76) 34%,
      rgba(238,233,221,.50) 66%,
      rgba(238,233,221,.42) 100%),
    linear-gradient(180deg,
      rgba(238,233,221,.18) 0%,
      rgba(238,233,221,.08) 50%,
      rgba(238,233,221,.24) 100%);
}

@media(max-width:980px){
  .hero-video-shell{
    filter:grayscale(1) sepia(.12) contrast(.82) brightness(1.06);
  }
  .hero-video{
    opacity:.30;
    object-position:center 40%;
  }
  .hero-video-veil{
    background:
      linear-gradient(90deg,
        rgba(238,233,221,.86) 0%,
        rgba(238,233,221,.72) 42%,
        rgba(238,233,221,.52) 100%),
      linear-gradient(180deg,
        rgba(238,233,221,.14),
        rgba(238,233,221,.22));
  }
}

@media(max-width:760px){
  .hero{
    background:var(--paper);
  }
  .hero-video-shell{
    display:block;
    inset:0;
    filter:grayscale(1) sepia(.14) contrast(.82) brightness(1.04);
  }
  .hero-video{
    opacity:.28;
    object-fit:cover;
    object-position:center 42%;
  }
  .hero-video-veil{
    background:
      linear-gradient(180deg,
        rgba(238,233,221,.78) 0%,
        rgba(238,233,221,.62) 28%,
        rgba(238,233,221,.40) 58%,
        rgba(238,233,221,.52) 100%),
      linear-gradient(90deg,
        rgba(238,233,221,.28) 0%,
        rgba(238,233,221,.08) 100%);
  }
}


/* V6.2 — rabot plus lisible + accompagnement fusain */
.hero-media::after{
  content:"";
  position:absolute;
  inset:8% 4% 10% 46%;
  background:url('images/hero-rabot-fusain.svg') right center / contain no-repeat;
  opacity:.48;
  mix-blend-mode:multiply;
  pointer-events:none;
}
.hero-video-shell{
  filter:grayscale(1) sepia(.16) contrast(.92) brightness(1.02);
}
.hero-video{
  opacity:.42;
  object-position:center 40%;
}
.hero-video-veil{
  background:
    linear-gradient(90deg,
      rgba(238,233,221,.86) 0%,
      rgba(238,233,221,.70) 34%,
      rgba(238,233,221,.42) 66%,
      rgba(238,233,221,.30) 100%),
    linear-gradient(180deg,
      rgba(238,233,221,.14) 0%,
      rgba(238,233,221,.06) 44%,
      rgba(238,233,221,.18) 100%);
}

@media(max-width:980px){
  .hero-media::after{
    inset:12% 2% 12% 52%;
    opacity:.40;
  }
  .hero-video-shell{
    filter:grayscale(1) sepia(.14) contrast(.90) brightness(1.01);
  }
  .hero-video{
    opacity:.38;
  }
}

@media(max-width:760px){
  .hero-media::after{
    inset:44% 0 8% 38%;
    background-position:right bottom;
    background-size:72% auto;
    opacity:.28;
  }
  .hero-video-shell{
    filter:grayscale(1) sepia(.14) contrast(.88) brightness(1.0);
  }
  .hero-video{
    opacity:.34;
    object-position:center 40%;
  }
  .hero-video-veil{
    background:
      linear-gradient(180deg,
        rgba(238,233,221,.74) 0%,
        rgba(238,233,221,.54) 28%,
        rgba(238,233,221,.26) 56%,
        rgba(238,233,221,.42) 100%),
      linear-gradient(90deg,
        rgba(238,233,221,.24) 0%,
        rgba(238,233,221,.06) 100%);
  }
}

/* V7.3 — intro plein écran avant le site */
:root{--intro-p:0;--intro-open:0;--intro-separate:0;--intro-dock:0;--intro-handoff:0;--site-reveal:0;--header-reveal:0}
.intro-hero{height:270svh!important;min-height:270svh!important;margin-bottom:0!important;overflow:visible!important;padding:0!important}
.intro-sticky{position:sticky;top:0;height:100svh;min-height:100svh;overflow:hidden;isolation:isolate;display:flex;align-items:center}
.intro-hero .hero-content{position:relative;z-index:2;max-width:min(56vw,760px);opacity:var(--site-reveal)!important;transform:translateY(calc((1 - var(--site-reveal))*42px))!important;transition:none!important}
.intro-hero .hero-content.in{opacity:var(--site-reveal)!important}
.intro-hero .hero-media{position:absolute;inset:0;z-index:1;opacity:calc(.12 + var(--site-reveal)*.88);pointer-events:none;transition:none!important}
.intro-hero .hero-media::before,.intro-hero .hero-media::after{display:none!important}
.topbar{opacity:var(--header-reveal);transform:translateY(calc((1 - var(--header-reveal))*-12px));transition:none!important}
.progress{opacity:var(--header-reveal)}
.intro-cover{position:absolute;inset:0;z-index:20;pointer-events:none;perspective:1200px}
.intro-panel{position:absolute;top:0;bottom:0;width:50.08%;background:linear-gradient(rgba(238,233,221,.26),rgba(238,233,221,.26)),url('paper-canson.jpg') center/720px auto repeat;will-change:transform}
.intro-panel-left{left:0;border-right:1px solid rgba(42,37,32,.17);transform:translate3d(calc(var(--intro-open)*-100%),0,0)}
.intro-panel-right{right:0;border-left:1px solid rgba(42,37,32,.17);transform:translate3d(calc(var(--intro-open)*100%),0,0)}
.intro-logo{--logo-x:0px;--logo-y:0px;--logo-scale:1;position:absolute;left:50%;top:50%;width:clamp(158px,17vw,235px);transform:translate(-50%,-50%) translate3d(var(--logo-x),var(--logo-y),0) scale(var(--logo-scale));transform-origin:center;opacity:calc(1 - var(--intro-handoff));will-change:transform,opacity}
.intro-mark{position:relative;width:100%;aspect-ratio:1/1;margin:auto;filter:drop-shadow(0 8px 18px rgba(39,31,23,.06))}
.intro-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform,opacity,filter}
.intro-piece-dark{transform:translate3d(0,calc(var(--dark-lift,0)*1px),calc(var(--dark-z,0)*1px)) scale(var(--dark-scale,1));opacity:var(--dark-opacity,1);filter:blur(calc(var(--dark-blur,0)*1px));transform-origin:52% 50%}
.intro-piece-light{transform:translate3d(calc(var(--light-x,0)*1px),calc(var(--light-y,0)*1px),0) rotate(calc(var(--light-r,0)*1deg));transform-origin:49% 50%}
.intro-wordmark{margin-top:-2px;display:grid;grid-template-rows:1px auto 1px;gap:8px;text-align:center;color:#24211e;opacity:var(--word-opacity,1);transform:translateY(calc(var(--word-y,0)*1px))}
.intro-wordmark span{display:block;height:1px;background:#24211e;opacity:.75}
.intro-wordmark strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,2.7vw,38px);font-weight:400;letter-spacing:.30em;padding-left:.30em;line-height:1}
@media(max-width:760px){.intro-hero{height:300svh!important;min-height:300svh!important}.intro-logo{width:min(45vw,190px)}.intro-hero .hero-content{max-width:100%;padding-right:12px}.intro-wordmark{gap:6px}.intro-wordmark strong{font-size:clamp(23px,6.7vw,31px)}}
@media(prefers-reduced-motion:reduce){.intro-cover{display:none!important}.topbar,.progress{opacity:1!important;transform:none!important}.intro-hero .hero-content{opacity:1!important;transform:none!important}.intro-hero .hero-media{opacity:1!important}.intro-hero{height:auto!important;min-height:calc(100svh - var(--header))!important}.intro-sticky{position:relative;height:auto;min-height:calc(100svh - var(--header))}}


/* =========================================================
   V7.4 — correction V7.3
   - suppression des artefacts irisés SVG
   - le site existe vraiment derrière l'intro
   - ouverture verticale plus rapide et plus lisible
   ========================================================= */

.intro-hero{
  height:220svh !important;
  min-height:220svh !important;
}

.intro-sticky{
  background:transparent !important;
}

/* Le vrai hero est visible derrière dès l'ouverture,
   sans attendre les trois quarts de l'animation. */
.intro-hero .hero-content{
  opacity:var(--site-reveal,0) !important;
  transform:translateY(calc((1 - var(--site-reveal,0))*20px)) !important;
  z-index:3 !important;
}

.intro-hero .hero-media{
  opacity:calc(.18 + var(--site-reveal,0) * .82) !important;
  z-index:2 !important;
}

.intro-hero .hero-video-shell{
  opacity:.34 !important;
  filter:grayscale(1) sepia(.10) contrast(.94) brightness(1.02) !important;
}

.intro-hero .hero-video-veil{
  background:
    linear-gradient(90deg,
      rgba(238,233,221,.78) 0%,
      rgba(238,233,221,.54) 36%,
      rgba(238,233,221,.18) 68%,
      rgba(238,233,221,.20) 100%) !important;
}

/* Les deux panneaux restent réellement devant. */
.intro-cover{
  z-index:30 !important;
}

.intro-panel{
  background:
    linear-gradient(rgba(238,233,221,.20),rgba(238,233,221,.20)),
    url('paper-canson.jpg') center/720px auto repeat !important;
}

/* Couture centrale visible seulement quand fermé. */
.intro-panel-left{
  border-right:1px solid rgba(57,49,41,calc(.22 * (1 - var(--intro-open,0)))) !important;
}
.intro-panel-right{
  border-left:1px solid rgba(57,49,41,calc(.22 * (1 - var(--intro-open,0)))) !important;
}

/* Logo un peu plus bas pour éviter l'impression de flotter sous la barre iOS. */
.intro-logo{
  top:48% !important;
  width:clamp(150px,16vw,220px) !important;
}

/* Le mot ENTURE accompagne plus longtemps le monogramme. */
.intro-wordmark{
  opacity:var(--word-opacity,1) !important;
}

/* L'en-tête n'apparaît que lorsque le site est presque complètement révélé. */
.topbar{
  opacity:var(--header-reveal,0) !important;
}

@media(max-width:760px){
  .intro-hero{
    height:235svh !important;
    min-height:235svh !important;
  }

  .intro-logo{
    width:min(43vw,180px) !important;
    top:47% !important;
  }

  .intro-hero .hero-video-shell{
    opacity:.28 !important;
  }

  .intro-hero .hero-video-veil{
    background:
      linear-gradient(180deg,
        rgba(238,233,221,.74) 0%,
        rgba(238,233,221,.50) 34%,
        rgba(238,233,221,.16) 68%,
        rgba(238,233,221,.24) 100%) !important;
  }
}


/* =========================================================
   V7.5 — INTRO FIXE, hors du flux du site
   Le geste du pouce pilote l'assemblage. La page NE DEFILE PAS
   avant la fin de l'introduction.
   ========================================================= */
html.intro-lock,html.intro-lock body{
  overflow:hidden !important;
  overscroll-behavior:none !important;
  height:100% !important;
}
html.intro-lock body{touch-action:none !important}

/* Le vrai site reste figé à son point de départ derrière l'intro. */
.intro-gate{
  --p:0;
  --open:0;
  --sep:0;
  --dock:0;
  position:fixed;
  z-index:1000;
  inset:0;
  height:100svh;
  overflow:hidden;
  pointer-events:auto;
  perspective:1400px;
  background:transparent;
  opacity:1;
  visibility:visible;
}
.intro-gate.done{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.intro-shutter{
  position:absolute;
  top:0;bottom:0;
  width:50.05%;
  background:
    linear-gradient(rgba(238,233,221,.22),rgba(238,233,221,.22)),
    url('paper-canson.jpg') center/720px auto repeat;
  will-change:transform;
}
.intro-shutter-left{
  left:0;
  transform:translate3d(calc(var(--open) * -100%),0,0);
}
.intro-shutter-right{
  right:0;
  transform:translate3d(calc(var(--open) * 100%),0,0);
}
.intro-centerline{
  position:absolute;
  top:0;bottom:0;left:50%;
  width:1px;
  background:rgba(52,45,38,calc(.22 * (1 - var(--open))));
  transform:translateX(-.5px);
  pointer-events:none;
}

.intro-lockup{
  --logo-x:0px;
  --logo-y:0px;
  --logo-scale:1;
  position:absolute;
  left:50%;top:50%;
  width:clamp(155px,16vw,225px);
  transform:translate(-50%,-50%) translate3d(var(--logo-x),var(--logo-y),0) scale(var(--logo-scale));
  transform-origin:center;
  will-change:transform,opacity;
  opacity:calc(1 - var(--handoff,0));
}
.intro-symbol{
  position:relative;
  width:100%;
  aspect-ratio:1;
}
.intro-part{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:contain;
  will-change:transform,filter,opacity;
}
/* Pièce sombre : très fort recul en profondeur, sans fuite latérale. */
.intro-part-dark{
  transform:translate3d(0,calc(var(--dark-y,0) * 1px),calc(var(--dark-z,0) * 1px)) scale(var(--dark-scale,1));
  transform-origin:50% 50%;
  filter:blur(calc(var(--dark-blur,0) * 1px));
  opacity:var(--dark-opacity,1);
}
/* Pièce blanche : vraies queues mâles, arc vers la droite. */
.intro-part-light{
  transform:translate3d(calc(var(--light-x,0) * 1px),calc(var(--light-y,0) * 1px),0) rotate(calc(var(--light-r,0) * 1deg));
  transform-origin:50% 50%;
}
.intro-name{
  margin-top:-4px;
  display:grid;
  grid-template-rows:1px auto 1px;
  gap:7px;
  opacity:var(--name-opacity,1);
  transform:translateY(calc(var(--name-y,0) * 1px));
  color:#24211e;
}
.intro-name i{height:1px;background:#24211e;opacity:.78}
.intro-name b{
  font:400 clamp(24px,2.7vw,38px)/1 Georgia,'Times New Roman',serif;
  letter-spacing:.30em;
  padding-left:.30em;
  text-align:center;
}

/* Header totalement caché pendant la séquence. */
html.intro-lock .topbar,
html.intro-lock .progress{
  opacity:0 !important;
  pointer-events:none !important;
}

/* Neutralise les anciennes règles d'intro V7.x. */
.intro-hero,.intro-sticky,.intro-cover{all:unset}

@media(min-width:761px) and (max-width:1180px){
  .intro-lockup{width:clamp(190px,24vw,245px)}
}

@media(max-width:760px){
  .intro-lockup{width:min(43vw,182px);top:49%}
  .intro-name{gap:6px}
  .intro-name b{font-size:clamp(22px,6.5vw,30px)}
}

@media(prefers-reduced-motion:reduce){
  .intro-gate{display:none !important}
  html.intro-lock,html.intro-lock body{overflow:auto !important;height:auto !important}
  html.intro-lock body{touch-action:auto !important}
}


/* =========================================================
   V7.6 — intro épurée
   Pendant le jeu : uniquement la vidéo du rabot derrière les volets.
   Le texte n'apparaît qu'une fois le logo calé dans le header.
   ========================================================= */
:root{--intro-header:0}

/* Pendant l'intro, aucun texte du hero dans la fente. */
html.intro-lock .hero-content{
  opacity:0 !important;
  visibility:hidden !important;
  transform:none !important;
}

/* La vidéo est la seule matière visible derrière l'ouverture. */
html.intro-lock .hero-media{
  opacity:1 !important;
  visibility:visible !important;
}
html.intro-lock .hero-video-shell{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  opacity:.40 !important;
  filter:grayscale(1) sepia(.10) contrast(.94) brightness(1.02) !important;
  mix-blend-mode:multiply !important;
}
html.intro-lock .hero-video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 42% !important;
}
html.intro-lock .hero-video-veil{
  background:linear-gradient(180deg,rgba(238,233,221,.50),rgba(238,233,221,.22) 52%,rgba(238,233,221,.35)) !important;
}
html.intro-lock .hero-still-shell{display:none !important}

/* Le header apparaît seulement dans les derniers instants du docking. */
.topbar{
  opacity:var(--intro-header,1) !important;
  transform:translateY(calc((1 - var(--intro-header,1)) * -10px)) !important;
  transition:none !important;
}
.topbar .brand{
  opacity:var(--intro-header,1) !important;
  transform:none !important;
}
.progress{opacity:var(--intro-header,1) !important}
html.intro-lock .topbar{
  pointer-events:none !important;
}

/* Une fois l'intro terminée, le contenu apparaît calmement. */
html.intro-finished .hero-content{
  visibility:visible !important;
  opacity:1 !important;
  transform:translateY(0) !important;
  transition:opacity .65s ease .12s, transform .65s cubic-bezier(.2,.7,.2,1) .12s !important;
}
html.intro-finished .hero-media{opacity:1 !important}
html.intro-finished .topbar,
html.intro-finished .topbar .brand,
html.intro-finished .progress{
  opacity:1 !important;
  transform:none !important;
}

@media(max-width:760px){
  html.intro-lock .hero-video-shell{opacity:.36 !important}
  html.intro-lock .hero-video{object-position:center 44% !important}
  html.intro-lock .hero-video-veil{
    background:linear-gradient(180deg,rgba(238,233,221,.54),rgba(238,233,221,.20) 54%,rgba(238,233,221,.36)) !important;
  }
}


/* =========================================================
   V7.7 — flèche fusain + intro plus douce + sections stabilisées
   ========================================================= */
.intro-arrow{
  position:absolute;
  left:clamp(16px,3.5vw,42px);
  bottom:clamp(14px,3.2svh,34px);
  width:clamp(30px,5.2vw,48px);
  z-index:1002;
  opacity:calc(.82 * (1 - var(--handoff,0)));
  pointer-events:none;
  transform-origin:50% 100%;
  animation:introArrowFloat 2.8s ease-in-out infinite;
  filter:drop-shadow(0 12px 12px rgba(26,22,18,.15)) drop-shadow(0 2px 2px rgba(26,22,18,.12));
}
.intro-arrow svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(180deg);transform-origin:50% 50%}
.intro-arrow .charcoal-main,
.intro-arrow .charcoal-shadow,
.intro-arrow .charcoal-echo{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.intro-arrow .charcoal-main{
  stroke:#2f2a25;
  stroke-width:4.1;
  opacity:.94;
}
.intro-arrow .charcoal-shadow{
  stroke:rgba(46,40,34,.17);
  stroke-width:6.4;
  transform:translate(1.4px,1.6px);
}
.intro-arrow .charcoal-echo{
  stroke:rgba(70,62,55,.45);
  stroke-width:2.1;
  opacity:.7;
}
@keyframes introArrowFloat{
  0%,100%{
    transform:translate3d(0,0,0) scale(1);
    filter:drop-shadow(0 13px 13px rgba(26,22,18,.14)) drop-shadow(0 2px 2px rgba(26,22,18,.12));
    opacity:calc(.82 * (1 - var(--handoff,0)));
  }
  50%{
    transform:translate3d(0,-5px,0) scale(1.06);
    filter:drop-shadow(0 19px 18px rgba(26,22,18,.10)) drop-shadow(0 3px 4px rgba(26,22,18,.09));
    opacity:calc(.92 * (1 - var(--handoff,0)));
  }
}
@media(max-width:760px){
  .intro-arrow{left:18px;bottom:18px;width:36px}
}

/* On calme les micro-tremblements à l'arrivée sur les sections. */
.panel.section-enter:after,
.skill.section-enter .skill-copy{animation:none !important}
.reveal{transition:opacity .42s ease, transform .42s cubic-bezier(.2,.7,.2,1)}
.skill-copy,.hero-content,.ecce-cartouche,.contact-inner{backface-visibility:hidden;transform:translateZ(0)}


/* =========================================================
   V8.1 — navigation simple par appui + diaporamas automatiques rapides
   ========================================================= */
/* Les rubriques s'enchaînent sans grands vides. */
.panel{
  margin-bottom:clamp(12px,1.8vw,22px) !important;
}
.skill,.ecce{
  cursor:pointer;
}

/* Pas de réanimation des titres au changement de rubrique. */
.panel.section-enter:after,
.skill.section-enter .skill-copy{animation:none !important}
.skill-copy.reveal,
.skill-copy.reveal.in{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

/* Les changements d'image doivent se lire comme un vrai diaporama. */
.slide{
  transition:opacity .30s ease, transform .85s cubic-bezier(.2,.7,.2,1) !important;
  transform:scale(1.025) !important;
}
.slide.active{
  opacity:1 !important;
  transform:scale(1) !important;
}

/* Indication discrète qu'un simple appui fait avancer d'une rubrique. */
.section-tap-cue{
  position:absolute;
  z-index:6;
  right:18px;
  top:18px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.34);
  color:rgba(255,255,255,.78);
  font:400 16px/1 Arial,sans-serif;
  background:rgba(10,9,8,.12);
  backdrop-filter:blur(2px);
  pointer-events:none;
}
.paper-panel .section-tap-cue,
.contact .section-tap-cue{
  border-color:rgba(28,26,23,.22);
  color:rgba(28,26,23,.60);
  background:rgba(238,233,221,.55);
}
@media(max-width:760px){
  .panel{margin-bottom:12px !important}
  .section-tap-cue{right:14px;top:14px;width:26px;height:26px;font-size:15px}
}


/* =========================================================
   V8.2 — fond d'intro indépendant du site
   L'ouverture ne peut plus révéler une autre rubrique par erreur.
   ========================================================= */

.intro-video-layer{
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  background:var(--paper);
  pointer-events:none;
}

.intro-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 76%;
  filter:grayscale(1) sepia(.10) contrast(.96) brightness(1.03);
  opacity:.62;
  mix-blend-mode:multiply;
}

.intro-video-veil{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,
      rgba(238,233,221,.48) 0%,
      rgba(238,233,221,.18) 45%,
      rgba(238,233,221,.30) 100%);
}

/* Le vrai site reste totalement masqué tant que l'intro n'est pas terminée. */
html.intro-lock main{
  visibility:hidden !important;
}

/* Le gate reste visible au-dessus de tout ; sa vidéo est donc la seule chose
   visible dans la fente centrale. */
html.intro-lock .intro-gate{
  background:transparent !important;
}

/* Les anciennes règles de vidéo du hero ne sont plus nécessaires pendant l'intro. */
html.intro-lock .hero-media,
html.intro-lock .hero-content{
  visibility:hidden !important;
}

/* À la fin : le site réapparaît depuis le haut, proprement. */
html.intro-finished main{
  visibility:visible !important;
}

@media(max-width:760px){
  .intro-video{
    object-position:center 82%;
    opacity:.68;
  }
  .intro-video-veil{
    background:
      linear-gradient(180deg,
        rgba(238,233,221,.50) 0%,
        rgba(238,233,221,.16) 48%,
        rgba(238,233,221,.28) 100%);
  }
}


/* V8.3 — Contact : titre "Parlons-en." plus équilibré sur mobile */
@media(max-width:760px){
  .contact h2{
    font-size:clamp(52px,15.5vw,76px) !important;
    line-height:.9 !important;
    margin-bottom:28px !important;
  }
}


/* V8.4 — rabot plus présent dans l'intro */
.intro-video{
  opacity:.82 !important;
  filter:grayscale(1) sepia(.08) contrast(1.04) brightness(.96) !important;
  mix-blend-mode:multiply !important;
}
.intro-video-veil{
  background:linear-gradient(180deg,
    rgba(238,233,221,.30) 0%,
    rgba(238,233,221,.06) 44%,
    rgba(238,233,221,.18) 100%) !important;
}
@media(max-width:760px){
  .intro-video{
    opacity:.88 !important;
    object-position:center 82% !important;
  }
  .intro-video-veil{
    background:linear-gradient(180deg,
      rgba(238,233,221,.28) 0%,
      rgba(238,233,221,.04) 46%,
      rgba(238,233,221,.14) 100%) !important;
  }
}


/* Language selector */
.menu-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.menu-topline .menu-kicker{margin:0}
.lang-switch{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.lang-switch a,
.lang-switch span{
  color:inherit;
  text-decoration:none;
  opacity:.48;
}
.lang-switch a{
  transition:opacity .2s ease;
}
.lang-switch a:hover{opacity:1}
.lang-switch .active{
  opacity:1;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
.contact-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-top:2px;
}
@media(max-width:760px){
  .menu-topline{gap:18px}
  .lang-switch{font-size:11px;gap:8px}
}

/* ENTURE — harmonisation coordonnées FR/EN */
.contact-links{align-items:center;gap:10px}

/* V8.5 — Contact mobile : coordonnées lisibles et séparées */
.contact-links a{
  display:block;
  width:100%;
  max-width:620px;
  text-align:center;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .contact{
    padding-left:22px !important;
    padding-right:22px !important;
  }
  .contact-inner{
    width:100%;
    max-width:100%;
  }
  .contact-inner>p:not(.eyebrow){
    font-size:18px !important;
    line-height:1.45 !important;
    max-width:92% !important;
  }
  .contact-links{
    width:100%;
    gap:14px !important;
    margin:34px auto 0 !important;
  }
  .contact-links a{
    width:auto;
    max-width:100%;
    margin:0 auto;
    padding:0 0 4px;
    font-size:18px !important;
    line-height:1.35 !important;
    letter-spacing:0 !important;
    white-space:normal;
    word-break:normal;
  }
  .contact small{
    margin-top:34px !important;
    font-size:9px !important;
    line-height:1.5 !important;
  }
}

/* FR — sélecteur anglais propre et discret à côté du menu */
.header-actions{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:22px;
  pointer-events:auto;
}
.header-actions .menu-toggle{
  justify-self:auto;
  margin:0;
}
.header-lang{
  position:static !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--ink) !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-transform:none !important;
  text-decoration:none !important;
  opacity:.58 !important;
  transform:none !important;
}
.header-lang:hover{opacity:.85 !important}
@media(max-width:760px){
  .header-actions{gap:22px !important}
  .header-lang{font-size:12px !important}
}
