[hidden]{display:none!important;}
:root{
    --noir:#0A0908;
    --noir-2:#050403;
    --panel:#12100C;
    --cream:#EDE7DC;
    --mute:rgba(237,231,220,0.56);
    --faint:rgba(237,231,220,0.34);
    --line:rgba(237,231,220,0.13);
    --amber:#E8A24C;
    --amber-deep:#B4652A;
    --maxw:1280px;
    color-scheme:dark;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--noir); color:var(--cream);
    font-family:'Hanken Grotesk',system-ui,sans-serif; font-weight:300; font-size:18px; line-height:1.65;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;}
  h1,h2,h3{font-family:'Playfair Display','Georgia',serif; font-weight:500; margin:0; text-wrap:balance; letter-spacing:0;}
  .hero h1, .cine h2, .cta h2, .manifesto .big, .quote blockquote, #intro .beat h2, #intro .beat.brand .bn, #loader .lname{font-weight:400;}
  .serif{font-family:'Playfair Display','Georgia',serif; font-weight:500;}
  .mono{font-family:'Space Mono',monospace;}
  p{margin:0;}
  a{color:inherit; text-decoration:none;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(26px,5vw,72px);}
  .ey{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--amber);}

  /* grain + progress */
  .grain{position:fixed; inset:0; z-index:9000; pointer-events:none; opacity:0.06; mix-blend-mode:overlay;}
  .progress{position:fixed; top:0; left:0; height:2px; width:0%; background:linear-gradient(90deg,var(--amber-deep),var(--amber)); z-index:9500;}

  /* nav */
  .nav{position:fixed; top:0; left:0; right:0; z-index:8000; display:flex; align-items:center; justify-content:space-between;
    padding:22px clamp(26px,5vw,72px); transition:background .5s ease, padding .5s ease, border-color .5s ease; border-bottom:1px solid transparent;}
  .nav.solid{background:rgba(10,9,8,0.7); backdrop-filter:blur(12px); padding:14px clamp(26px,5vw,72px); border-color:var(--line);}
  .nav .brand{display:flex; align-items:center; gap:11px;}
  .nav .brand .name{font-family:'Playfair Display',serif; font-size:21px;}
  .nav .brand .num{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid var(--amber); border-radius:50%; color:var(--amber); font-family:'Playfair Display',serif; font-size:13px;}
  .nav .links{display:flex; align-items:center; gap:32px; font-size:13px; letter-spacing:0.03em;}
  .nav .links a.item{color:var(--mute); position:relative;}
  .nav .links a.item::after{content:''; position:absolute; left:0; bottom:-5px; width:0; height:1px; background:var(--amber); transition:width .4s ease;}
  .nav .links a.item:hover{color:var(--cream);} .nav .links a.item:hover::after{width:100%;}
  .btn{display:inline-flex; align-items:center; gap:10px; font-family:'Hanken Grotesk',sans-serif; font-weight:500; font-size:13.5px; letter-spacing:0.06em; text-transform:uppercase;
    padding:13px 26px; border:1px solid var(--amber); background:var(--amber); color:var(--noir-2); transition:all .4s ease; cursor:pointer;}
  .btn:hover{background:transparent; color:var(--amber);}
  .btn.ghost{background:transparent; color:var(--cream); border-color:var(--line);}
  .btn.ghost:hover{border-color:var(--cream);}

  /* reveal */
  .js .reveal{opacity:0; transform:translateY(28px); transition:opacity 1.1s cubic-bezier(.16,.7,.2,1), transform 1.1s cubic-bezier(.16,.7,.2,1);}
  .js .reveal.in{opacity:1; transform:none;}
  .js .d1{transition-delay:.09s;} .js .d2{transition-delay:.18s;} .js .d3{transition-delay:.27s;} .js .d4{transition-delay:.36s;}

  /* material slot */
  .slot{position:relative; overflow:hidden; background:var(--panel);}
  .slot > img.ph{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;}
  .slot .cap{position:absolute; left:0; right:0; bottom:0; z-index:3; padding:18px 22px;
    font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; color:rgba(237,231,220,0.82);
    background:linear-gradient(to top, rgba(0,0,0,0.72), transparent);}
  .slot .idx{position:absolute; top:16px; left:18px; z-index:3; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.14em; color:var(--amber);}
  .m-wood{background:radial-gradient(70% 55% at 58% 30%, rgba(232,162,76,0.34), transparent 62%), linear-gradient(155deg,#3a2a19,#100b06 72%);}
  .m-wood2{background:radial-gradient(60% 55% at 40% 32%, rgba(212,160,90,0.34), transparent 60%), linear-gradient(160deg,#2c2013,#0c0906);}
  .m-stone{background:radial-gradient(65% 55% at 55% 32%, rgba(170,168,156,0.30), transparent 60%), linear-gradient(160deg,#26251f,#0b0b09);}
  .m-brass{background:radial-gradient(65% 55% at 52% 30%, rgba(214,140,74,0.40), transparent 62%), linear-gradient(160deg,#31200f,#0c0705);}
  .m-plaster{background:radial-gradient(70% 55% at 45% 30%, rgba(224,206,176,0.24), transparent 60%), linear-gradient(160deg,#2a2418,#0c0a06);}
  .m-dark{background:radial-gradient(70% 55% at 60% 30%, rgba(232,162,76,0.22), transparent 62%), linear-gradient(160deg,#231a10,#080604 75%);}
  .frame{border:1px solid rgba(232,162,76,0.28);}
  .frame::after{content:''; position:absolute; inset:12px; border:1px solid rgba(232,162,76,0.18); pointer-events:none; z-index:2;}

  /* LOADER */
  #loader{position:fixed; inset:0; z-index:9999; background:var(--noir-2); display:flex; align-items:center; justify-content:center; transition:opacity 1s ease, visibility 1s;}
  #loader.done{opacity:0; visibility:hidden; pointer-events:none;}
  #loader .lglow{position:absolute; inset:0; background:radial-gradient(50% 45% at 50% 46%, rgba(232,162,76,0.16), transparent 66%);}
  #loader .lin{position:relative; text-align:center;}
  #loader .seal{width:86px; height:86px; opacity:0; transform:scale(.86); animation:lseal 1.1s cubic-bezier(.16,.7,.2,1) .15s forwards;}
  #loader .lname{margin-top:22px; font-family:'Playfair Display',serif; font-size:30px; letter-spacing:0.01em; color:var(--cream); opacity:0; animation:lfade .9s ease .55s forwards;}
  #loader .lrule{height:1px; width:0; background:var(--amber); margin:20px auto 0; animation:lrule 1.1s cubic-bezier(.16,.7,.2,1) .85s forwards;}
  #loader .ltag{margin-top:18px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:var(--faint); opacity:0; animation:lfade .9s ease 1.15s forwards;}
  @keyframes lseal{to{opacity:1; transform:none;}}
  @keyframes lfade{to{opacity:1;}}
  @keyframes lrule{to{width:132px;}}

  /* PROLOGUE */
  #intro{position:relative; height:320vh;}
  #intro .stage{position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:center; justify-content:center;}
  #intro .stage .light{position:absolute; inset:0; z-index:0; background:radial-gradient(55% 50% at 50% 46%, rgba(232,162,76,0.18), transparent 66%);}
  #intro .beat{position:absolute; left:0; right:0; padding:0 clamp(26px,5vw,72px); text-align:center; z-index:2; opacity:0; will-change:opacity,transform;}
  #intro .beat:first-of-type{opacity:1;}
  #intro .beat .k{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.24em; text-transform:uppercase; color:var(--amber); margin-bottom:22px;}
  #intro .beat h2{font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(38px,6.2vw,90px); line-height:1.02; color:var(--cream); max-width:1000px; margin:0 auto;}
  #intro .beat h2 em{font-style:italic; color:var(--amber);}
  #intro .beat.brand .seal{width:94px; height:94px; margin:0 auto 26px; display:block;}
  #intro .beat.brand .bn{font-family:'Playfair Display',serif; font-size:clamp(28px,3.6vw,50px); color:var(--cream); margin-bottom:18px;}
  #intro .cue{position:absolute; left:50%; bottom:38px; transform:translateX(-50%); z-index:4; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint); display:flex; align-items:center; gap:10px;}
  #intro .pbg{position:absolute; inset:0; z-index:0; opacity:0; will-change:opacity,transform;}
  #intro .pbg img{width:100%; height:100%; object-fit:cover;}
  #intro .pbg:first-of-type{opacity:1;}
  #intro .scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(6,5,4,0.58), rgba(6,5,4,0.72));}
  #intro .stage .light{z-index:1;}
  #intro .beat, #intro .cue{z-index:3;}
  .slot.frame > img.ph{transform:scale(1.14); will-change:transform;}
  html:not(.js) #loader, html:not(.js) #intro{display:none;}
  @media (prefers-reduced-motion:reduce){ #loader{display:none;} #intro{display:none;} }

  /* HERO */
  .hero{position:relative; min-height:94vh; display:flex; align-items:center; padding:150px 0 90px; overflow:hidden;}
  .hero .light{position:absolute; inset:0; z-index:0;
    background:radial-gradient(58% 52% at 72% 40%, rgba(232,162,76,0.24), rgba(180,101,42,0.08) 42%, transparent 70%);
    animation:sweep 10s ease-in-out infinite alternate;}
  @keyframes sweep{0%{transform:translate(-3%,-2%) scale(1.02); opacity:.82;} 100%{transform:translate(5%,3%) scale(1.09); opacity:1;}}
  .hero .vig{position:absolute; inset:0; z-index:1; background:radial-gradient(130% 120% at 55% 42%, transparent 42%, rgba(0,0,0,0.68));}
  .hero-in{position:relative; z-index:2; width:100%; display:grid; grid-template-columns:1.08fr 0.92fr; gap:60px; align-items:center;}
  .hero h1{font-size:clamp(44px,6vw,90px); line-height:1.06; margin-top:26px;}
  .hero h1 em{font-style:italic; color:var(--amber);}
  .hero .lead{margin-top:30px; max-width:430px; font-size:19px; color:var(--mute); line-height:1.6;}
  .hero .cta-row{display:flex; align-items:center; gap:22px; margin-top:40px; flex-wrap:wrap;}
  .hero .arrow{display:inline-flex; align-items:center; gap:10px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:var(--cream);}
  .hero .arrow svg{transition:transform .4s ease;} .hero .arrow:hover svg{transform:translateX(6px);}
  .hero-portrait{position:relative; aspect-ratio:4/5;}
  .hero-portrait .slot{position:absolute; inset:0;}
  .scroll-cue{position:absolute; left:clamp(26px,5vw,72px); bottom:32px; z-index:3; display:flex; align-items:center; gap:12px; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--faint);}
  .scroll-cue .track{width:1px; height:42px; background:var(--line); position:relative; overflow:hidden;}
  .scroll-cue .track::after{content:''; position:absolute; top:-42px; left:0; width:1px; height:42px; background:var(--amber); animation:cue 2.6s cubic-bezier(.7,0,.3,1) infinite;}
  @keyframes cue{0%{top:-42px}62%,100%{top:42px}}

  /* MANIFESTE */
  .manifesto{padding:130px 0 120px;}
  .manifesto .big{font-size:clamp(30px,4.1vw,58px); line-height:1.2;}
  .manifesto .big .ln{display:block;}
  .manifesto .big em{font-style:italic; color:var(--amber);}
  .manifesto .foot{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:60px; max-width:920px;}
  .manifesto .foot p{font-size:16px; color:var(--mute); line-height:1.78;}

  /* MOMENT CINÉMATIQUE (image plein cadre révélée) */
  .cine{position:relative; height:100vh; min-height:640px; overflow:hidden;}
  .cine .bg{position:absolute; inset:0; z-index:0;}
  .js .cine .bg{transform:scale(1.12); opacity:.5; transition:transform 1.6s cubic-bezier(.16,.7,.2,1), opacity 1.6s ease;}
  .js .cine .bg.in{transform:scale(1); opacity:1;}
  .cine .shade{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(5,4,3,0.5) 0%, transparent 30%, transparent 55%, rgba(5,4,3,0.82) 100%);}
  .cine .txt{position:absolute; inset:0; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; padding:0 0 76px;}
  .cine h2{font-size:clamp(40px,6vw,92px); line-height:1.04; max-width:900px;}
  .cine h2 em{font-style:italic; color:var(--amber);}
  .cine .sub{margin-top:22px; max-width:440px; font-size:16px; color:rgba(237,231,220,0.72);}
  .cine .tag{position:absolute; top:96px; right:clamp(26px,5vw,72px); z-index:2; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--amber);}

  /* CHAPITRES */
  .chapters{padding:20px 0 0;}
  .chapter{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; padding:104px 0; border-bottom:1px solid var(--line);}
  .chapter.flip .c-text{order:2;}
  .c-num{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:var(--amber); display:flex; align-items:center; gap:14px; margin-bottom:24px;}
  .c-num::before{content:''; width:34px; height:1px; background:var(--amber);}
  .chapter h2{font-size:clamp(32px,3.8vw,52px); line-height:1.04;}
  .chapter h2 em{font-style:italic; color:var(--amber);}
  .chapter .c-text p{margin-top:22px; font-size:16.5px; color:var(--mute); line-height:1.78; max-width:460px;}
  .chapter .c-media{position:relative; aspect-ratio:5/6;}
  .chapter .c-media .slot{position:absolute; inset:0;}

  /* MÉTIERS */
  .metiers{padding:120px 0;}
  .metiers .head{text-align:center; margin-bottom:54px;}
  .metiers h2{font-size:clamp(34px,4.6vw,66px); margin-top:14px;}
  .metiers h2 em{font-style:italic; color:var(--amber);}
  .m-list{border-top:1px solid var(--line);}
  .m-row{display:grid; grid-template-columns:64px 1fr auto; gap:24px; align-items:baseline; padding:26px 6px; border-bottom:1px solid var(--line); position:relative;}
  .m-row .m-idx{font-family:'Space Mono',monospace; font-size:12px; color:var(--faint);}
  .m-row .m-name{font-family:'Playfair Display',serif; font-size:clamp(24px,2.8vw,36px); color:var(--cream); transition:color .4s ease;}
  .m-row .m-desc{font-size:13.5px; letter-spacing:0.02em; color:var(--faint); text-align:right; max-width:300px; font-family:'Space Mono',monospace; text-transform:uppercase;}
  .m-row .m-name{transition:color .4s ease;}

  /* RÉALISATIONS — bande cinématique horizontale */
  .real{padding:110px 0 130px; background:var(--noir-2);}
  .real .head{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:48px; flex-wrap:wrap;}
  .real h2{font-size:clamp(34px,4.6vw,64px); line-height:1.0;}
  .real h2 em{font-style:italic; color:var(--amber);}
  .hstrip{display:flex; gap:20px; overflow-x:auto; padding:6px 0 22px; scroll-snap-type:x mandatory; scrollbar-width:none;}
  .hstrip::-webkit-scrollbar{display:none;}
  .hstrip .shot{position:relative; flex:0 0 clamp(300px,42vw,560px); aspect-ratio:16/11; scroll-snap-align:start;}
  .hstrip .shot .slot{position:absolute; inset:0;}
  .real .drag{margin-top:6px; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); display:flex; align-items:center; gap:10px;}
  .real .note{margin-top:34px; font-size:14px; color:var(--mute); max-width:560px;}

  /* SÉLECTION */
  .selection{display:grid; grid-template-columns:0.95fr 1.05fr; align-items:stretch;}
  .selection .visual{position:relative; min-height:580px;}
  .selection .visual .slot{position:absolute; inset:0;}
  .selection .body{padding:110px clamp(26px,5vw,72px);}
  .selection h2{font-size:clamp(30px,3.6vw,48px); line-height:1.06; margin:16px 0 40px; max-width:460px;}
  .selection h2 em{font-style:italic; color:var(--amber);}
  .crit .c{display:grid; grid-template-columns:120px 1fr; gap:20px; padding:22px 0; border-top:1px solid var(--line); align-items:baseline;}
  .crit .c:last-child{border-bottom:1px solid var(--line);}
  .crit .c .k{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--amber);}
  .crit .c .v{font-size:15.5px; color:var(--mute); line-height:1.6;}
  .crit .c .v b{color:var(--cream); font-weight:500;}

  /* TÉMOIGNAGE */
  .quote{padding:150px 0; text-align:center; position:relative; overflow:hidden;}
  .quote .light{position:absolute; inset:0; z-index:0; background:radial-gradient(50% 60% at 50% 30%, rgba(232,162,76,0.12), transparent 60%);}
  .quote .in{position:relative; z-index:1;}
  .quote blockquote{margin:0 auto; max-width:960px; font-family:'Playfair Display',serif; font-size:clamp(28px,3.6vw,46px); line-height:1.3;}
  .quote blockquote em{font-style:italic; color:var(--amber);}
  .quote .attr{margin-top:34px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint);}
  .quote .attr .ph{color:var(--amber);}

  /* CTA */
  .cta{position:relative; padding:140px 0; text-align:center; overflow:hidden; border-top:1px solid var(--line);}
  .cta .light{position:absolute; inset:0; z-index:0; background:radial-gradient(60% 80% at 50% 120%, rgba(232,162,76,0.18), transparent 60%);}
  .cta .in{position:relative; z-index:1;}
  .cta h2{font-size:clamp(40px,5.6vw,82px); line-height:1.04;}
  .cta h2 em{font-style:italic; color:var(--amber);}
  .cta p{margin:26px auto 42px; max-width:520px; font-size:18px; color:var(--mute);}
  .cta .cta-row{display:flex; gap:18px; justify-content:center; align-items:center; flex-wrap:wrap;}

  /* FOOTER */
  footer{background:var(--noir-2); padding:70px 0 40px; border-top:1px solid var(--line);}
  footer .top{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-bottom:38px; border-bottom:1px solid var(--line);}
  footer .brand{display:flex; align-items:center; gap:11px; margin-bottom:16px;}
  footer .brand .name{font-family:'Playfair Display',serif; font-size:22px; color:var(--cream);}
  footer .brand .num{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border:1px solid var(--amber); border-radius:50%; color:var(--amber); font-family:'Playfair Display',serif; font-size:13px;}
  footer .lead-txt{max-width:320px; font-size:14.5px; color:var(--mute); line-height:1.7;}
  footer .col{display:flex; flex-direction:column; gap:11px; font-size:14px; color:var(--mute);}
  footer .col .lbl{font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--faint); margin-bottom:5px;}
  footer .col a:hover{color:var(--cream);}
  footer .bottom{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:22px; font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.04em; color:var(--faint);}

  @media(max-width:900px){
    body{font-size:17px;}
    .nav .links .hide-m{display:none;} .nav .links .btn{display:none;}
    .hero{min-height:auto; padding:128px 0 72px;}
    .hero-in{grid-template-columns:1fr; gap:44px;} .hero-portrait{max-width:380px;}
    .scroll-cue{display:none;}
    .manifesto{padding:84px 0;} .manifesto .foot{grid-template-columns:1fr; gap:24px; margin-top:40px;}
    .cine{height:78vh; min-height:480px;} .cine .txt{padding-bottom:52px;}
    .chapter{grid-template-columns:1fr; gap:34px; padding:70px 0;} .chapter.flip .c-text{order:0;} .chapter .c-media{max-width:420px;}
    .m-row{grid-template-columns:40px 1fr; gap:14px;} .m-row .m-desc{display:none;}
    .selection{grid-template-columns:1fr;} .selection .visual{min-height:320px;} .selection .body{padding:64px 26px;}
    .crit .c{grid-template-columns:100px 1fr;}
    .quote{padding:96px 0;} .cta{padding:96px 0;}
    footer .top{flex-direction:column; gap:26px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none !important; scroll-behavior:auto !important;}
    .js .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
    .js .cine .bg{opacity:1 !important; transform:none !important;}
    .slot.frame > img.ph{transform:none !important;}
  }
  /* ---------- multi-pages ---------- */
  .nav-link.active{color:var(--cream) !important;}
  .nav .links a.item.active::after{width:100%;}
  .page-head{padding:158px 0 44px; position:relative; overflow:hidden;}
  .page-head .light{position:absolute; inset:0; z-index:0; background:radial-gradient(60% 70% at 75% 15%, rgba(232,162,76,0.16), transparent 60%);}
  .page-head .in2{position:relative; z-index:1;}
  .page-head h1{font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(40px,5.6vw,84px); line-height:1.06; color:var(--cream); margin-top:18px;}
  .page-head h1 em{font-style:italic; color:var(--amber);}
  .page-head p{margin-top:22px; max-width:540px; color:var(--mute); font-size:18px; line-height:1.6;}
  .rgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; padding:16px 0 120px;}
  .rgrid .cell{position:relative; aspect-ratio:4/3; overflow:hidden; border:1px solid rgba(232,162,76,0.20);}
  .rgrid .cell img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1.4s cubic-bezier(.16,.7,.2,1);}
  .rgrid .cell:hover img{transform:scale(1.06);}
  .rgrid .cell .cap{position:absolute; left:0; right:0; bottom:0; z-index:2; padding:16px 18px; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream); background:linear-gradient(to top, rgba(0,0,0,0.74), transparent);}
  .rgrid .cell .k{position:absolute; top:13px; left:15px; z-index:2; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:0.08em; color:var(--amber);}
  .apr{padding:16px 0 120px;}
  .apr .lead{font-family:'Playfair Display',serif; font-weight:400; font-size:clamp(26px,3.2vw,40px); line-height:1.3; color:var(--cream); max-width:900px;}
  .apr .lead em{font-style:italic; color:var(--amber);}
  .apr .cols{display:grid; grid-template-columns:1fr 1fr; gap:56px; margin-top:52px;}
  .apr .cols p{color:var(--mute); line-height:1.8; font-size:16px; margin:0 0 18px;}
  .apr .val{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:66px;}
  .apr .val .v{background:var(--noir); padding:34px 28px;}
  .apr .val .v .n{font-family:'Playfair Display',serif; font-size:34px; color:var(--amber);}
  .apr .val .v h3{font-size:22px; margin:14px 0 8px; color:var(--cream);}
  .apr .val .v p{color:var(--mute); font-size:14.5px; line-height:1.7; margin:0;}
  .contact-wrap{display:grid; grid-template-columns:0.82fr 1.18fr; gap:60px; padding:16px 0 120px; align-items:start;}
  .contact-info .line{display:flex; flex-direction:column; gap:5px; padding:20px 0; border-top:1px solid var(--line);}
  .contact-info .line:last-child{border-bottom:1px solid var(--line);}
  .contact-info .line .k{font-family:'Space Mono',monospace; font-size:11px; letter-spacing:0.13em; text-transform:uppercase; color:var(--amber);}
  .contact-info .line .v{font-size:17px; color:var(--cream);}
  .cform{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  .cform .full{grid-column:1/3;}
  .cform label{display:block; font-family:'Space Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--mute); margin-bottom:9px;}
  .cform input,.cform select,.cform textarea{width:100%; background:rgba(255,255,255,0.03); border:1px solid var(--line); color:var(--cream); font-family:'Hanken Grotesk',sans-serif; font-size:15px; padding:13px 15px; outline:none; transition:border-color .3s;}
  .cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--amber);}
  .cform textarea{min-height:130px; resize:vertical;}
  .cform .err{border-color:#c8552e !important;}
  .cform option{background:#161310; color:var(--cream);}
  .cform .submit{grid-column:1/3; display:flex; align-items:center; gap:22px; margin-top:6px; flex-wrap:wrap;}
  .cform .note{font-size:12.5px; color:var(--faint);}
  #contact-success{padding:56px 40px; border:1px solid var(--amber); text-align:center;}
  #contact-success h3{font-family:'Playfair Display',serif; font-weight:400; font-size:36px; color:var(--cream);}
  #contact-success p{color:var(--mute); margin-top:14px;}
  @media(max-width:820px){
    .rgrid{grid-template-columns:1fr;}
    .apr .cols{grid-template-columns:1fr; gap:22px;} .apr .val{grid-template-columns:1fr;}
    .contact-wrap{grid-template-columns:1fr; gap:34px;} .cform{grid-template-columns:1fr;} .cform .full,.cform .submit{grid-column:1;}
  }
  .nav-toggle{display:none; background:none; border:0; cursor:pointer; padding:8px; z-index:20;}
  .nav-toggle span{display:block; width:24px; height:2px; background:var(--cream); margin:5px 0; transition:transform .3s, opacity .3s;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .mobile-menu{position:fixed; inset:0; z-index:8500; background:rgba(9,8,6,0.98); backdrop-filter:blur(10px); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;}
  .mobile-menu a.nav-link:not(.btn){font-family:'Playfair Display',serif; font-size:32px; color:var(--cream); padding:12px 16px;}
  .mobile-menu a.nav-link:not(.btn).active{color:var(--amber);}
  .mobile-menu .btn{margin-top:22px;}
  @media(max-width:900px){ .nav .links{display:none;} .nav-toggle{display:block;} }
  @media(min-width:901px){ #mmenu{display:none !important;} }

/* ===== Piliers (accueil) ===== */
.pillars{padding:112px 0 24px;}
.pillars h2{font-size:clamp(30px,4vw,56px); line-height:1.08; margin-top:22px;}
.pillars h2 em{font-style:italic; color:var(--amber);}
.pgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:56px;}
.pcol{border-top:1px solid var(--line); padding-top:26px;}
.pcol .pnum{font-family:'Space Mono',monospace; font-size:12px; letter-spacing:0.2em; color:var(--amber);}
.pcol h3{font-family:'Playfair Display',serif; font-weight:500; font-size:27px; color:var(--cream); margin:14px 0 12px;}
.pcol p{font-size:16.5px; color:var(--mute); line-height:1.72;}
.pcol p b{color:var(--cream); font-weight:500;}
@media(max-width:820px){ .pgrid{grid-template-columns:1fr; gap:26px;} }
/* ===== À propos : titres de colonne plus gros ===== */
.apr .apr-h{font-family:'Playfair Display',serif; font-weight:500; font-size:clamp(24px,2.7vw,34px); color:var(--cream); line-height:1.14; margin:0 0 18px;}
.apr .apr-h em{font-style:italic; color:var(--amber);}
