:root{
  --black:#080808; --black-2:#10100f; --paper:#e8e2d9; --muted:#9a9690; --accent:#8a7a5e; --line:rgba(232,226,217,.14);
  --max:1440px; --pad:clamp(22px,4vw,64px); --nav:78px; --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif; --sans:'Montserrat', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{box-sizing:border-box} html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth} body{margin:0;background:var(--black);color:var(--paper);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden} img{max-width:100%;height:auto} a{color:inherit} em{font-style:italic;color:var(--muted)}
.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:20px;top:20px;z-index:9999;background:var(--paper);color:var(--black);padding:10px 14px}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(to bottom,rgba(8,8,8,.92),rgba(8,8,8,.68) 60%,transparent);backdrop-filter:blur(10px)}.nav{height:var(--nav);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);max-width:calc(var(--max) + var(--pad)*2);margin:0 auto}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;text-transform:uppercase;letter-spacing:.28em;font-size:.76rem}.brand img{width:42px;height:42px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);list-style:none;margin:0;padding:0}.nav-links a{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:rgba(232,226,217,.82);transition:color .2s ease}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.nav-toggle{display:none;align-items:center;gap:10px;background:transparent;border:1px solid var(--line);color:var(--paper);padding:9px 12px;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem}.nav-toggle i,.nav-toggle i:before,.nav-toggle i:after{display:block;width:18px;height:1px;background:currentColor;content:''}.nav-toggle i:before{transform:translateY(-6px)}.nav-toggle i:after{transform:translateY(5px)}
.section-pad{padding-left:var(--pad);padding-right:var(--pad);max-width:calc(var(--max) + var(--pad)*2);margin-left:auto;margin-right:auto}.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}.hero picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero>picture img{filter:brightness(.74) saturate(.88)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.94) 0%,rgba(8,8,8,.45) 48%,rgba(8,8,8,.15) 100%),linear-gradient(to right,rgba(8,8,8,.5),transparent 58%)}.hero-content{position:relative;z-index:1;width:100%;padding-bottom:clamp(56px,8vw,110px)}.eyebrow{margin:0 0 18px;color:var(--accent);font-size:.64rem;letter-spacing:.28em;text-transform:uppercase}.hero h1,.page-hero h1{font-family:var(--serif);font-weight:300;line-height:.94;letter-spacing:-.04em;font-size:clamp(3.4rem,9vw,9.2rem);max-width:980px;margin:0}.lead{font-size:clamp(1.05rem,1.7vw,1.45rem);line-height:1.65;color:rgba(232,226,217,.78);max-width:760px;margin:28px 0 0}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--accent);padding:12px 20px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;background:var(--accent);color:var(--black);transition:background .2s,color .2s,border-color .2s}.btn:hover{background:var(--paper);border-color:var(--paper)}.btn-soft{background:transparent;color:var(--paper)}.btn-soft:hover{background:var(--paper);color:var(--black)}
.intro-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:clamp(32px,7vw,110px);padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px);border-bottom:1px solid var(--line)}.intro-grid h2,.split-cta h2,.contact-aside h2,.info-card h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4.4vw,4.8rem);line-height:1;margin:0}.rich-text{color:rgba(232,226,217,.75);line-height:1.9;font-size:1rem}.rich-text p{margin-top:0}.section-muted{background:linear-gradient(180deg,rgba(232,226,217,.035),transparent);max-width:none;padding-top:clamp(70px,8vw,110px);padding-bottom:clamp(70px,8vw,110px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}.section-heading h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,6vw,6.4rem);margin:0}.section-heading a,.text-link{color:var(--accent);text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem}.cards{display:grid;gap:16px}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card-reportage{background:var(--black-2);border:1px solid var(--line);overflow:hidden}.card-reportage a{text-decoration:none;display:block}.card-reportage img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.86) brightness(.92);transition:transform .5s ease}.card-reportage:hover img{transform:scale(1.025)}.card-reportage div{padding:22px}.card-reportage p{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;margin:0 0 10px}.card-reportage h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,2.5vw,2.6rem);line-height:1.02;margin:0}.split-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center;padding-top:clamp(70px,8vw,110px);padding-bottom:clamp(70px,8vw,110px)}.split-cta p,.cta-box p{color:rgba(232,226,217,.75);line-height:1.8}.cta-box,.info-card,.panel-form,.contact-aside,.notice,.certificate-card{border:1px solid var(--line);background:rgba(232,226,217,.035);padding:clamp(22px,3vw,38px)}
.page-hero{padding-top:calc(var(--nav) + clamp(58px,8vw,110px));padding-bottom:clamp(48px,7vw,90px);border-bottom:1px solid var(--line)}.page-hero.compact{min-height:auto}.page-hero h1{font-size:clamp(3.2rem,8vw,8rem)}.filters{display:flex;gap:8px;flex-wrap:wrap;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.filter{border:1px solid var(--line);background:transparent;color:var(--muted);padding:10px 14px;text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;cursor:pointer}.filter.active,.filter:hover{border-color:var(--accent);color:var(--paper)}.reportage-list{max-width:var(--max);margin:0 auto}.reportage-row{display:grid;grid-template-columns:1fr 1fr;min-height:520px;border-bottom:1px solid var(--line)}.reportage-row:nth-child(even) .reportage-row-image{order:2}.reportage-row-image{position:relative;overflow:hidden;text-decoration:none}.reportage-row-image img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.86) saturate(.86)}.reportage-row-image span{position:absolute;top:24px;left:24px;background:rgba(8,8,8,.66);border:1px solid var(--line);padding:7px 12px;color:var(--accent);font-size:.62rem;letter-spacing:.18em}.reportage-row-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,78px)}.reportage-row-content h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,4.2rem);line-height:1.02;margin:0 0 22px}.reportage-row-content>p:not(.eyebrow){color:rgba(232,226,217,.74);line-height:1.85;max-width:560px}.meta-list{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;margin:26px 0;padding:0}.meta-list li{border-left:1px solid var(--accent);padding-left:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:.64rem}.back-link{display:inline-flex;margin-bottom:26px;color:var(--accent);text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem}.reportage-hero .hero-content{padding-bottom:70px}.mosaic{columns:3 280px;column-gap:6px;padding:6px}.mosaic-item{display:block;width:100%;break-inside:avoid;border:0;padding:0;margin:0 0 6px;background:transparent;cursor:zoom-in}.mosaic-item img{display:block;width:100%;height:auto}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999;display:grid;place-items:center;padding:70px 22px 22px}.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:86svh;object-fit:contain}.lightbox button{position:absolute;right:20px;top:20px;border:1px solid var(--line);background:rgba(8,8,8,.75);color:var(--paper);padding:10px 14px}.bottom-nav{display:flex;justify-content:space-between;gap:20px;padding-top:42px;padding-bottom:80px}
.auth-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;padding-top:70px;padding-bottom:70px}.panel-form{display:grid;gap:14px}.panel-form h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.8rem);line-height:1;margin:0 0 12px}.panel-form label{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}.panel-form input,.panel-form textarea,.panel-form select{width:100%;background:rgba(8,8,8,.55);border:1px solid var(--line);color:var(--paper);padding:13px 14px;font:inherit}.panel-form textarea{resize:vertical}.form-note{color:var(--muted);line-height:1.6;font-size:.9rem}.hp{position:absolute!important;left:-9999px!important}.notice{max-width:var(--max);color:rgba(232,226,217,.78);line-height:1.7}.notice.error{border-color:rgba(201,120,90,.55);color:#e7b09b}.result-wrap{padding-top:70px;padding-bottom:70px}.certificate-card{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:34px}.certificate-card img{width:100%;height:auto}.details-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:24px 0}.details-list div{border-top:1px solid var(--line);padding-top:12px}.details-list dt{color:var(--accent);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}.details-list dd{margin:4px 0 0;color:rgba(232,226,217,.78)}.legal-content{padding-top:70px;padding-bottom:70px;max-width:920px}.legal-content h2{font-family:var(--serif);font-weight:300;font-size:2.2rem;color:var(--paper);margin-top:42px}.site-footer{border-top:1px solid var(--line);padding:36px var(--pad);display:flex;justify-content:space-between;gap:24px;align-items:center;color:var(--muted);max-width:calc(var(--max) + var(--pad)*2);margin:0 auto}.site-footer p{margin:0}.footer-brand{font-family:var(--serif);font-size:1.4rem;color:var(--paper)}.site-footer ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}.site-footer a{text-decoration:none;color:var(--muted)}.site-footer a:hover{color:var(--paper)}code{background:rgba(232,226,217,.08);padding:.16em .38em;border:1px solid var(--line)}
@media(max-width:900px){.brand span{display:none}.nav-toggle{display:inline-flex}.nav-links{position:absolute;top:calc(var(--nav) - 4px);right:var(--pad);width:min(310px,calc(100vw - var(--pad)*2));display:grid;gap:0;background:rgba(8,8,8,.97);border:1px solid var(--line);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:.2s ease}.nav.menu-open .nav-links{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav-links a{display:block;padding:14px 18px}.intro-grid,.split-cta,.reportage-row,.auth-grid,.contact-grid,.certificate-card{grid-template-columns:1fr}.reportage-row:nth-child(even) .reportage-row-image{order:0}.reportage-row{min-height:auto}.reportage-row-image img{height:auto;aspect-ratio:4/3}.cards-3{grid-template-columns:1fr}.site-footer{align-items:flex-start;flex-direction:column}.site-footer ul{flex-wrap:wrap}.details-list{grid-template-columns:1fr}}
@media(max-width:520px){:root{--nav:68px}.hero h1,.page-hero h1{font-size:clamp(3rem,17vw,5.4rem)}.hero-content{padding-bottom:48px}.actions,.bottom-nav{flex-direction:column;align-items:flex-start}.mosaic{columns:1}.section-heading{align-items:flex-start;flex-direction:column}.reportage-row-content{padding:30px 22px}.brand img{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* === V2.1 — retour à l'esprit typographique de la V1, avec plus de rythme visuel === */
body{letter-spacing:.01em;background:radial-gradient(circle at 18% 8%,rgba(138,122,94,.08),transparent 32%),var(--black)}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E");opacity:.18;mix-blend-mode:soft-light}.site-header,.hero,.section-pad,.reportage-list,.site-footer,.page-hero,.mosaic{position:relative;z-index:1}
.site-header{background:linear-gradient(to bottom,rgba(8,8,8,.74),rgba(8,8,8,.18) 68%,transparent);backdrop-filter:none}.brand{font-family:var(--serif);font-weight:300;font-size:1.05rem;letter-spacing:.27em}.brand img{width:34px;height:34px;opacity:.88}.nav-links a{font-weight:400;font-size:.64rem;letter-spacing:.22em}.nav-links a.active{color:var(--paper)}.nav-links a.active::after,.nav-links a:hover::after{transform:scaleX(1);opacity:1}.nav-links a{position:relative}.nav-links a::after{content:"";position:absolute;left:0;right:.18em;bottom:-8px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;opacity:0;transition:.25s ease}
.hero{min-height:100svh}.hero>picture img{animation:heroZoom 7s ease forwards;filter:brightness(.78) saturate(.9) contrast(1.02)}.hero-overlay{background:linear-gradient(to top,rgba(8,8,8,.92) 0%,rgba(8,8,8,.45) 43%,rgba(8,8,8,.08) 100%),linear-gradient(to right,rgba(8,8,8,.42),transparent 62%)}.eyebrow{letter-spacing:.34em;font-size:.6rem}.hero .eyebrow,.hero h1,.hero .lead,.hero .actions,.hero-scroll{opacity:0;animation:fadeUp 1s ease forwards}.hero .eyebrow{animation-delay:.18s}.hero h1{animation-delay:.38s}.hero .lead{animation-delay:.68s}.hero .actions{animation-delay:.92s}.hero h1,.page-hero h1{letter-spacing:-.012em}.hero h1 em,.page-hero h1 em,.intro-grid h2 em,.split-cta h2 em,.section-heading h2 em{font-style:italic;color:var(--muted)}.lead{font-size:clamp(.98rem,1.25vw,1.18rem);letter-spacing:.02em}.hero .lead{max-width:640px}.hero-scroll{position:absolute;right:var(--pad);bottom:clamp(42px,7vw,84px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;animation-delay:1.4s}.hero-scroll span{font-size:.54rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}.hero-scroll i{display:block;width:1px;height:60px;background:linear-gradient(to bottom,var(--muted),transparent);animation:scrollDrop 2.2s ease 1.8s infinite}.btn{font-weight:500}.btn-soft{border-color:rgba(232,226,217,.24)}
.intro-grid{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);padding-top:clamp(82px,10vw,150px);padding-bottom:clamp(82px,10vw,150px)}.intro-grid h2,.split-cta h2,.contact-aside h2,.info-card h2{letter-spacing:.01em}.rich-text{font-size:clamp(.98rem,1.1vw,1.08rem);line-height:2}.rich-text p+p{margin-top:1.25em}.signature-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(64px,8vw,110px)}.signature-panel blockquote{margin:0;font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,5.5vw,6.6rem);line-height:.98;letter-spacing:-.018em;max-width:1180px}.signature-panel blockquote em{color:var(--muted)}.signature-panel p{margin:26px 0 0;color:var(--accent);letter-spacing:.24em;text-transform:uppercase;font-size:.62rem}.section-heading{align-items:baseline}.section-heading h2{line-height:.9}.cards-3{align-items:start}.cards-3 .card-reportage:nth-child(2){margin-top:44px}.cards-3 .card-reportage:nth-child(3){margin-top:12px}.card-reportage{background:rgba(16,16,15,.72);transition:transform .28s ease,border-color .28s ease,background .28s ease}.card-reportage:hover{transform:translateY(-6px);border-color:rgba(138,122,94,.52);background:rgba(232,226,217,.045)}.card-reportage img{filter:saturate(.88) brightness(.9) contrast(1.02)}.card-reportage p,.reportage-row-image span,.meta-list li,.filter,.section-heading a,.text-link{letter-spacing:.18em}.split-cta{border-top:1px solid var(--line)}.cta-box,.info-card,.panel-form,.contact-aside,.notice,.certificate-card{background:linear-gradient(145deg,rgba(232,226,217,.045),rgba(232,226,217,.018));box-shadow:0 24px 80px rgba(0,0,0,.18)}.info-card p:not(.eyebrow),.cta-box p,.split-cta p{line-height:1.9;color:rgba(232,226,217,.72)}
.reportage-row{min-height:560px}.reportage-row-content h2{letter-spacing:.005em}.reportage-row:hover .reportage-row-image img{transform:scale(1.025)}.reportage-row-image img{transition:transform .7s ease,filter .7s ease}.reportage-row-content{position:relative}.reportage-row-content::before{content:"";position:absolute;left:clamp(28px,5vw,78px);top:clamp(30px,5vw,70px);width:42px;height:1px;background:var(--accent);opacity:.65}.mosaic{background:#050505}.mosaic-item img{transition:opacity .22s ease,transform .28s ease}.mosaic-item:hover img{opacity:.82;transform:translateY(-2px)}.page-hero{background:radial-gradient(circle at 12% 0%,rgba(138,122,94,.08),transparent 36%)}
@keyframes heroZoom{from{transform:scale(1.055)}to{transform:scale(1)}}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollDrop{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);transform-origin:top;opacity:1}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}
@media(max-width:900px){.site-header{background:linear-gradient(to bottom,rgba(8,8,8,.95),rgba(8,8,8,.72))}.nav-links a::after{display:none}.cards-3 .card-reportage:nth-child(n){margin-top:0}.hero-scroll{display:none}.intro-grid{grid-template-columns:1fr}.brand{font-size:.95rem}}
@media(max-width:520px){.brand{letter-spacing:.19em}.brand img{width:30px;height:30px}.signature-panel blockquote{font-size:clamp(2.2rem,15vw,4.3rem)}}
@media(prefers-reduced-motion:reduce){.hero>picture img,.hero .eyebrow,.hero h1,.hero .lead,.hero .actions,.hero-scroll,.hero-scroll i{animation:none!important;opacity:1!important;transform:none!important}}


/* V2.2 — reprise de l'animation photo de la V1 : mouvement lent, vivant, sans effet tape-à-l'œil. */
.home-hero .home-hero-picture img{
  transform-origin:center center;
  animation:heroPhotoBreath 8.5s cubic-bezier(.22,.61,.36,1) forwards;
  will-change:transform;
}
.home-hero .hero-overlay{
  background:
    linear-gradient(to top,rgba(8,8,8,.91) 0%,rgba(8,8,8,.42) 43%,rgba(8,8,8,.10) 100%),
    linear-gradient(to right,rgba(8,8,8,.43),transparent 61%);
}
.card-reportage a{overflow:hidden}
.card-reportage img{
  transform-origin:center center;
}
.card-reportage:hover img{
  transform:scale(1.035);
}
@keyframes heroPhotoBreath{
  from{transform:scale(1.065)}
  to{transform:scale(1.005)}
}
@media(prefers-reduced-motion:reduce){
  .home-hero .home-hero-picture img{animation:none!important;transform:none!important;will-change:auto}
}


/* V2.4 — ajustements demandés : titres moins massifs, typographie rapprochée V1, recherche/filtres dynamiques et lightbox plus douce. */
:root{
  --serif:'Cormorant Garamond', serif;
  --sans:'Montserrat', sans-serif;
}
body{font-family:var(--sans);font-weight:400;}
.brand{font-family:var(--serif);font-weight:300;font-size:1.25rem;letter-spacing:.25em;}
.nav-links a{font-size:.76rem;letter-spacing:.2em;font-weight:400;}
.hero h1{font-size:clamp(3.1rem,8.2vw,7.4rem);line-height:.9;letter-spacing:-.01em;}
.page-hero h1{font-size:clamp(2.75rem,6.2vw,5.8rem);line-height:.92;letter-spacing:-.006em;}
.section-heading h2{font-size:clamp(2rem,4.2vw,3.8rem);letter-spacing:.02em;line-height:1;}
.intro-grid h2,.split-cta h2,.contact-aside h2,.info-card h2{font-size:clamp(1.85rem,3.4vw,3.2rem);line-height:1.05;letter-spacing:.01em;}
.signature-panel blockquote{font-size:clamp(2rem,4.8vw,5.2rem);line-height:1;}
.reportage-row-content h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.05;}
.panel-form h2{font-size:clamp(1.8rem,3.2vw,3rem);}
.reportage-tools{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:14px 24px;align-items:end;padding-top:24px;padding-bottom:24px;border-bottom:1px solid var(--line);}
.reportage-search label{display:block;margin-bottom:8px;color:var(--accent);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;}
.reportage-search input{width:100%;min-height:42px;background:rgba(232,226,217,.035);border:1px solid var(--line);color:var(--paper);padding:10px 13px;font:inherit;font-size:.85rem;outline:none;transition:border-color .25s ease,background .25s ease;}
.reportage-search input:focus{border-color:rgba(138,122,94,.75);background:rgba(232,226,217,.055);}
.reportage-tools .filters{padding:0;border-bottom:0;align-content:end;}
.reportage-row[hidden]{display:none;}
.card-reportage a,.reportage-row-image,.mosaic-item{overflow:hidden;}
.card-reportage img,.reportage-row-image img,.mosaic-item img{transition:transform .85s cubic-bezier(.22,.61,.36,1),filter .85s cubic-bezier(.22,.61,.36,1),opacity .55s ease;}
.card-reportage:hover img{transform:scale(1.035);filter:saturate(.95) brightness(.98) contrast(1.04);}
.reportage-row:hover .reportage-row-image img{transform:scale(1.035);filter:brightness(.95) saturate(.94) contrast(1.03);}
.mosaic-item:hover img{opacity:.9;transform:scale(1.015);filter:saturate(.96) brightness(.98) contrast(1.03);}
.lightbox{display:grid;opacity:0;pointer-events:none;background:rgba(0,0,0,.94);transition:opacity .32s ease;}
.lightbox[hidden]{display:none;}
.lightbox.is-open{opacity:1;pointer-events:auto;}
.lightbox img{opacity:0;transform:scale(.985);transition:opacity .32s ease,transform .38s cubic-bezier(.22,.61,.36,1);}
.lightbox.is-open img{opacity:1;transform:scale(1);}
.lightbox button{cursor:pointer;transition:border-color .25s ease,color .25s ease,background .25s ease;}
.lightbox button:hover{border-color:rgba(138,122,94,.75);color:var(--accent);}
@media(max-width:900px){
  .brand{font-size:1rem;}
  .nav-links a{font-size:.68rem;}
  .reportage-tools{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(2.9rem,15vw,4.5rem);}
  .page-hero h1{font-size:clamp(2.45rem,13vw,4rem);}
  .section-heading h2{font-size:clamp(2rem,12vw,3.2rem);}
  .signature-panel blockquote{font-size:clamp(2rem,12vw,3.7rem);}
}
@media(prefers-reduced-motion:reduce){
  .card-reportage img,.reportage-row-image img,.mosaic-item img,.lightbox,.lightbox img{transition:none!important;transform:none!important;}
}

/* V2.5 — corrections affichage : cartes reportages alignées + menu mobile au-dessus du contenu. */
.homepage .cards-3,
.cards-3{
  align-items:stretch;
}
.cards-3 .card-reportage:nth-child(n){
  margin-top:0;
}
.card-reportage,
.card-reportage a{
  height:100%;
}
.card-reportage a{
  display:flex;
  flex-direction:column;
}
.card-reportage div{
  flex:1;
}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:5000;
}
.nav{
  position:relative;
  z-index:5001;
}
@media(max-width:900px){
  .nav-links{
    z-index:5002;
    box-shadow:0 24px 80px rgba(0,0,0,.48);
  }
  .nav.menu-open .nav-links{
    pointer-events:auto;
  }
}

/* V2.7 — consolidation des pages publiques : accueil, à propos, œuvres/tirages. */
.intro-statement{border-bottom:0;padding-bottom:clamp(54px,7vw,92px)}
.intent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding-top:0;padding-bottom:clamp(76px,9vw,130px)}
.intent-card{min-height:280px;padding:clamp(28px,4vw,54px);background:linear-gradient(145deg,rgba(232,226,217,.05),rgba(232,226,217,.018));border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.intent-card h2,.works-process h2{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1;margin:0 0 22px;letter-spacing:.01em}
.intent-card p{margin:0;color:rgba(232,226,217,.72);line-height:1.85}
.about-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:clamp(10px,2vw,28px);padding-bottom:clamp(78px,9vw,130px)}
.works-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:clamp(20px,4vw,64px);padding-bottom:clamp(70px,8vw,110px)}
.works-process article{position:relative;padding:clamp(28px,4vw,54px);border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(232,226,217,.026),transparent)}
.works-process span{display:block;margin-bottom:clamp(34px,5vw,70px);font-size:.62rem;letter-spacing:.24em;color:var(--accent)}
.works-process p{margin:0;color:rgba(232,226,217,.72);line-height:1.85}
.works-cards{padding-bottom:clamp(70px,8vw,110px)}
.works-home .cta-box{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.split-cta .btn + .btn{margin-left:10px;margin-top:10px}
@media(max-width:900px){
  .intent-grid,.about-columns,.works-process{grid-template-columns:1fr}
  .intent-card{min-height:auto}
  .works-process article{padding-left:0;padding-right:0;background:transparent}
  .split-cta .btn + .btn{margin-left:0}
}

/* V2.8 — correction définitive menu mobile : menu fixé au viewport, au-dessus de tous les contenus. */
main{position:relative;z-index:1;}
.site-header{z-index:2147483000!important;isolation:isolate;}
.nav{z-index:2147483002!important;}
.nav-toggle{position:relative;z-index:2147483004!important;}
.brand{position:relative;z-index:2147483004!important;}
@media(max-width:900px){
  body.nav-menu-open{overflow:hidden;}
  .site-header::after{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(8,8,8,.78);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:2147483001;
    transition:opacity .24s ease,visibility .24s ease;
  }
  body.nav-menu-open .site-header::after{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .nav-links{
    position:fixed!important;
    top:calc(var(--nav) + 18px)!important;
    left:var(--pad)!important;
    right:var(--pad)!important;
    width:auto!important;
    max-height:calc(100svh - var(--nav) - 36px);
    overflow:auto;
    z-index:2147483003!important;
    background:#080808!important;
    border:1px solid rgba(232,226,217,.22)!important;
    box-shadow:0 30px 120px rgba(0,0,0,.78)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .nav.menu-open .nav-links,
  body.nav-menu-open .nav-links{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
  }
  .nav-links a{
    position:relative;
    z-index:2147483004!important;
  }
}

/* V2.9 — diagnostic reportages en lecture seule. */
.page-admin code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;color:var(--paper);}
.admin-panel{padding-top:clamp(34px,5vw,72px);}
.admin-topline{display:flex;justify-content:space-between;gap:20px;margin-bottom:28px;flex-wrap:wrap;}
.admin-form{max-width:520px;border:1px solid var(--line);padding:clamp(26px,4vw,44px);background:rgba(232,226,217,.035);}
.admin-form label{display:block;margin-bottom:10px;font-size:.68rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);}
.admin-form input{width:100%;background:rgba(232,226,217,.055);border:1px solid rgba(232,226,217,.18);color:var(--paper);padding:14px 14px;margin-bottom:18px;font:inherit;}
.notice{border:1px solid rgba(232,226,217,.16);background:rgba(232,226,217,.035);padding:18px 20px;color:rgba(232,226,217,.76);line-height:1.7;margin:0 0 28px;}
.notice.warning{border-color:rgba(138,122,94,.55);color:var(--paper);}
.diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px;}
.diagnostic-card{border:1px solid var(--line);padding:22px;background:rgba(232,226,217,.028);}
.diagnostic-card span{display:block;margin-bottom:14px;font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);}
.diagnostic-card strong{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1;color:var(--paper);}
.diagnostic-card.ok{border-color:rgba(122,158,111,.38);}
.diagnostic-card.warning{border-color:rgba(138,122,94,.58);}
.table-wrap{overflow-x:auto;border:1px solid var(--line);}
.admin-table{width:100%;border-collapse:collapse;min-width:920px;background:rgba(232,226,217,.02);}
.admin-table th,.admin-table td{padding:15px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.admin-table th{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:400;}
.admin-table td{font-size:.86rem;color:rgba(232,226,217,.76);}
.admin-table tr:last-child td{border-bottom:0;}
@media(max-width:900px){.diagnostic-grid{grid-template-columns:1fr 1fr}.admin-topline{display:block}.admin-topline .text-link{display:inline-block;margin:0 18px 12px 0}}
@media(max-width:520px){.diagnostic-grid{grid-template-columns:1fr}.admin-table{min-width:760px}}

/* V2.10 — correction hero des pages reportage : l'image est bien en fond plein écran et le texte passe au-dessus, sans être coupé. */
.reportage-hero{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  background:#050505;
}
.reportage-hero > img{
  position:absolute!important;
  inset:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.78) saturate(.9) contrast(1.02);
  z-index:0;
}
.reportage-hero .hero-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 77% 56%, rgba(8,8,8,.76) 0%, rgba(8,8,8,.54) 25%, rgba(8,8,8,.12) 54%, transparent 74%),
    linear-gradient(to top, rgba(8,8,8,.94) 0%, rgba(8,8,8,.44) 44%, rgba(8,8,8,.10) 100%),
    linear-gradient(to right, rgba(8,8,8,.34) 0%, rgba(8,8,8,.08) 48%, rgba(8,8,8,.76) 100%);
}
.reportage-hero .hero-content{
  position:relative;
  z-index:2;
  width:100%;
  min-height:100svh;
  padding-top:calc(var(--nav) + clamp(34px,5vw,78px));
  padding-bottom:clamp(52px,7vw,92px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-end;
  text-shadow:0 2px 38px rgba(0,0,0,.5);
}
.reportage-hero .hero-content > *{
  width:min(680px,42vw);
  max-width:min(680px,42vw);
}
.reportage-hero .back-link{
  margin-bottom:clamp(26px,4vw,44px);
}
.reportage-hero h1{
  font-size:clamp(3rem,4.8vw,5.7rem);
  line-height:.94;
  letter-spacing:-.004em;
  max-width:min(680px,42vw);
  overflow-wrap:normal;
  word-break:normal;
}
.reportage-hero .hero-meta{
  max-width:min(680px,42vw);
  margin-top:28px;
}
@media(max-width:1100px){
  .reportage-hero .hero-content > *,
  .reportage-hero h1,
  .reportage-hero .hero-meta{
    width:min(620px,48vw);
    max-width:min(620px,48vw);
  }
}
@media(max-width:900px){
  .reportage-hero{
    min-height:86svh;
  }
  .reportage-hero > img{
    object-position:center center;
    filter:brightness(.72) saturate(.9) contrast(1.02);
  }
  .reportage-hero .hero-overlay{
    background:
      linear-gradient(to top, rgba(8,8,8,.96) 0%, rgba(8,8,8,.62) 48%, rgba(8,8,8,.18) 100%),
      linear-gradient(to right, rgba(8,8,8,.42), rgba(8,8,8,.08) 70%);
  }
  .reportage-hero .hero-content{
    min-height:86svh;
    align-items:flex-start;
    padding-top:calc(var(--nav) + 34px);
    padding-bottom:42px;
  }
  .reportage-hero .hero-content > *,
  .reportage-hero h1,
  .reportage-hero .hero-meta{
    width:100%;
    max-width:100%;
  }
  .reportage-hero .back-link{
    margin-bottom:22px;
  }
  .reportage-hero h1{
    font-size:clamp(2.75rem,14vw,5rem);
    line-height:.94;
  }
  .reportage-hero .hero-meta{
    gap:8px 14px;
    margin-top:18px;
  }
  .reportage-hero .meta-list li{
    font-size:.56rem;
    letter-spacing:.11em;
  }
}
@media(max-width:520px){
  .reportage-hero{
    min-height:82svh;
  }
  .reportage-hero .hero-content{
    min-height:82svh;
    padding-bottom:34px;
  }
  .reportage-hero h1{
    font-size:clamp(2.45rem,13vw,4.25rem);
  }
}

/* V2.11 — administration reportages claire et fonctionnelle. */
.page-admin-reportages .site-header{background:rgba(8,8,8,.96);border-bottom:1px solid rgba(232,226,217,.12);}
.admin-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100svh - var(--nav));padding-top:var(--nav);background:#0b0b0b;color:var(--paper);}
.admin-sidebar{position:sticky;top:var(--nav);align-self:start;height:calc(100svh - var(--nav));padding:28px 22px;border-right:1px solid rgba(232,226,217,.12);background:#10100f;overflow:auto;}
.admin-kicker{margin:0 0 10px;font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);}
.admin-sidebar h1,.admin-main h2,.admin-card h3,.admin-danger-zone h3{font-family:var(--sans);font-weight:500;letter-spacing:0;line-height:1.15;color:var(--paper);}
.admin-sidebar h1{font-size:1.45rem;margin:0 0 28px;}
.admin-menu{display:grid;gap:8px;margin:0 0 24px;}
.admin-menu a,.admin-logout{display:block;text-decoration:none;border:1px solid rgba(232,226,217,.12);background:rgba(232,226,217,.035);padding:12px 14px;color:rgba(232,226,217,.78);font-size:.86rem;border-radius:10px;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.admin-menu a:hover,.admin-menu a.active,.admin-logout:hover{border-color:rgba(138,122,94,.65);background:rgba(138,122,94,.13);color:var(--paper);}
.admin-status{border:1px solid rgba(232,226,217,.14);border-radius:14px;padding:16px;background:rgba(232,226,217,.04);margin:0 0 18px;}
.admin-status span{display:block;margin-bottom:6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);}
.admin-status strong{font-size:.96rem;font-weight:500;}
.admin-status.is-live{border-color:rgba(214,160,95,.5);}
.admin-status.is-locked{border-color:rgba(122,158,111,.35);}
.admin-main{padding:32px;max-width:1440px;width:100%;}
.admin-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;}
.admin-header-row h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:0 0 8px;}
.admin-help{max-width:820px;margin:0;color:rgba(232,226,217,.68);line-height:1.65;font-size:.94rem;}
.admin-help.small{font-size:.84rem;}
.admin-actions-row,.admin-form-footer,.admin-list-actions,.admin-photo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.admin-button,.admin-photo-actions button{appearance:none;border:1px solid rgba(232,226,217,.18);background:rgba(232,226,217,.06);color:var(--paper);padding:11px 15px;border-radius:10px;text-decoration:none;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .2s ease,border-color .2s ease,opacity .2s ease;}
.admin-button:hover,.admin-photo-actions button:hover{border-color:rgba(138,122,94,.7);background:rgba(138,122,94,.16);}
.admin-button.primary{border-color:rgba(138,122,94,.85);background:rgba(138,122,94,.22);}
.admin-button.ghost{background:transparent;}
.admin-button.danger,.admin-photo-actions .danger{border-color:rgba(214,120,95,.55);color:#f1b49f;}
.admin-button:disabled,.admin-photo-actions button:disabled,.admin-edit-form input:disabled,.admin-edit-form textarea:disabled,.admin-upload input:disabled{opacity:.42;cursor:not-allowed;}
.admin-alert{border:1px solid rgba(232,226,217,.14);border-radius:14px;padding:14px 16px;margin:0 0 18px;background:rgba(232,226,217,.04);color:rgba(232,226,217,.84);line-height:1.55;}
.admin-alert.success{border-color:rgba(122,158,111,.45);}
.admin-alert.warning{border-color:rgba(214,160,95,.45);}
.admin-alert.error{border-color:rgba(214,120,95,.58);color:#f1b49f;}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 22px;}
.admin-metric{border:1px solid rgba(232,226,217,.12);border-radius:14px;padding:18px;background:rgba(232,226,217,.035);}
.admin-metric span{display:block;margin-bottom:10px;font-size:.62rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);}
.admin-metric strong{display:block;font-size:1.35rem;font-weight:500;color:var(--paper);}
.admin-metric.ok{border-color:rgba(122,158,111,.38);}
.admin-metric.warn{border-color:rgba(214,160,95,.45);}
.admin-grid-2{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px;align-items:start;}
.admin-card,.admin-danger-zone{border:1px solid rgba(232,226,217,.12);border-radius:18px;background:#121211;box-shadow:0 18px 70px rgba(0,0,0,.22);}
.admin-card{padding:22px;}
.admin-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:0 0 18px;}
.admin-card h3,.admin-danger-zone h3{font-size:1.25rem;margin:0;}
.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.admin-edit-form label,.admin-upload label{display:block;}
.admin-edit-form label span,.admin-upload label span{display:block;margin:0 0 8px;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);}
.admin-edit-form input,.admin-edit-form textarea,.admin-upload input{width:100%;border:1px solid rgba(232,226,217,.16);background:#0a0a0a;color:var(--paper);border-radius:10px;padding:13px 13px;font:inherit;font-size:.92rem;outline:none;}
.admin-edit-form input:focus,.admin-edit-form textarea:focus,.admin-upload input:focus{border-color:rgba(138,122,94,.8);box-shadow:0 0 0 3px rgba(138,122,94,.16);}
.admin-edit-form textarea{resize:vertical;min-height:110px;}
.admin-form-grid .span-2{grid-column:1/-1;}
.admin-form-footer{margin-top:18px;padding-top:18px;border-top:1px solid rgba(232,226,217,.1);}
.admin-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-right:4px;}
.admin-list-item{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;padding:10px;border:1px solid rgba(232,226,217,.1);border-radius:14px;background:rgba(232,226,217,.026);}
.admin-list-item.active{border-color:rgba(138,122,94,.68);background:rgba(138,122,94,.12);}
.admin-list-item img{width:86px;height:64px;object-fit:cover;border-radius:10px;background:#050505;}
.admin-list-item strong{display:block;margin:1px 0 4px;font-size:.92rem;font-weight:500;color:var(--paper);}
.admin-list-item span,.admin-muted{display:block;color:rgba(232,226,217,.58);font-size:.78rem;line-height:1.45;}
.admin-list-actions{margin-top:8px;}
.admin-list-actions a{font-size:.76rem;color:var(--accent);text-decoration:none;}
.admin-list-actions a:hover{text-decoration:underline;}
.admin-photos-card{margin-top:18px;}
.admin-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:0 0 20px;padding:16px;border:1px solid rgba(232,226,217,.1);border-radius:14px;background:rgba(232,226,217,.025);}
.admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.admin-photo-item{border:1px solid rgba(232,226,217,.12);border-radius:14px;background:#0a0a0a;overflow:hidden;margin:0;}
.admin-photo-item.is-cover{border-color:rgba(138,122,94,.75);}
.admin-photo-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#050505;}
.admin-photo-item figcaption{padding:10px 12px;border-top:1px solid rgba(232,226,217,.1);}
.admin-photo-item figcaption strong{display:block;font-size:.78rem;font-weight:500;word-break:break-word;}
.admin-photo-item figcaption span{display:block;margin-top:4px;color:rgba(232,226,217,.55);font-size:.72rem;}
.admin-photo-actions{padding:0 10px 10px;}
.admin-photo-actions form{margin:0;}
.admin-photo-actions button{font-size:.72rem;padding:8px 10px;border-radius:8px;}
.admin-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:22px;background:rgba(90,30,20,.10);border-color:rgba(214,120,95,.22);}
@media(max-width:1180px){.admin-workspace{grid-template-columns:1fr}.admin-sidebar{position:relative;top:auto;height:auto;border-right:0;border-bottom:1px solid rgba(232,226,217,.12)}.admin-menu{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-grid-2{grid-template-columns:1fr}.admin-list{max-height:none}.admin-main{padding:24px}}
@media(max-width:760px){.admin-workspace{padding-top:var(--nav)}.admin-sidebar{padding:22px var(--pad)}.admin-main{padding:22px var(--pad)}.admin-menu{grid-template-columns:1fr 1fr}.admin-header-row,.admin-card-head,.admin-danger-zone{display:block}.admin-actions-row{margin-top:16px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-form-grid{grid-template-columns:1fr}.admin-upload{grid-template-columns:1fr}.admin-list-item{grid-template-columns:76px minmax(0,1fr)}.admin-list-item img{width:76px;height:58px}}
@media(max-width:520px){.admin-metrics{grid-template-columns:1fr}.admin-menu{grid-template-columns:1fr}.admin-card{padding:16px}.admin-photo-grid{grid-template-columns:1fr}.admin-button,.admin-photo-actions button{width:100%;text-align:center}.admin-list-actions a{display:inline-block;margin:0 10px 6px 0}}

/* V2.12 — administration claire : privilégier l'efficacité et la lisibilité plutôt que l'ambiance graphique du site public. */
.page-admin{
  --admin-bg:#f4f1ea;
  --admin-surface:#ffffff;
  --admin-surface-2:#f9f7f2;
  --admin-text:#1f1f1c;
  --admin-muted:#6d6a63;
  --admin-border:#ddd5c8;
  --admin-border-strong:#b9aa91;
  --admin-accent:#8a6f45;
  --admin-success:#2f6b3f;
  --admin-warning:#9b6a20;
  --admin-danger:#a3422e;
  background:var(--admin-bg);
  color:var(--admin-text);
}
.page-admin .site-header{
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--admin-border)!important;
  box-shadow:0 4px 18px rgba(33,28,20,.06);
  backdrop-filter:blur(12px);
}
.page-admin .brand,
.page-admin .nav-links a,
.page-admin .nav-toggle{
  color:var(--admin-text)!important;
}
.page-admin .brand img{filter:invert(1);}
.page-admin .nav-links a.active,
.page-admin .nav-links a:hover{color:var(--admin-accent)!important;}
.page-admin .nav-toggle{border-color:var(--admin-border)!important;background:#fff!important;}
.page-admin code{
  color:#2a2926;
  background:#ece5da;
  border:1px solid #d7cdbc;
  border-radius:5px;
  padding:.08em .35em;
}
.page-admin .site-footer{
  background:#fff;
  color:var(--admin-muted);
  border-top:1px solid var(--admin-border);
}
.page-admin .site-footer .footer-brand,
.page-admin .site-footer a{color:var(--admin-text);}
.page-admin .admin-workspace{
  background:var(--admin-bg);
  color:var(--admin-text);
}
.page-admin .admin-sidebar{
  background:var(--admin-surface);
  border-right:1px solid var(--admin-border);
  box-shadow:8px 0 28px rgba(38,31,22,.05);
}
.page-admin .admin-kicker,
.page-admin .admin-metric span,
.page-admin .admin-edit-form label span,
.page-admin .admin-upload label span,
.page-admin .admin-status span{
  color:var(--admin-accent);
  font-weight:600;
}
.page-admin .admin-sidebar h1,
.page-admin .admin-main h2,
.page-admin .admin-card h3,
.page-admin .admin-danger-zone h3{
  color:var(--admin-text);
  font-family:var(--sans);
  font-weight:600;
}
.page-admin .admin-header-row h2{font-size:clamp(1.8rem,2.5vw,2.7rem);}
.page-admin .admin-help,
.page-admin .admin-list-item span,
.page-admin .admin-muted,
.page-admin .admin-photo-item figcaption span{
  color:var(--admin-muted);
}
.page-admin .admin-menu a,
.page-admin .admin-logout,
.page-admin .admin-button,
.page-admin .admin-photo-actions button{
  background:#fff;
  color:var(--admin-text);
  border-color:var(--admin-border);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.page-admin .admin-menu a:hover,
.page-admin .admin-menu a.active,
.page-admin .admin-logout:hover,
.page-admin .admin-button:hover,
.page-admin .admin-photo-actions button:hover{
  background:#f1ebdf;
  color:#171613;
  border-color:var(--admin-border-strong);
}
.page-admin .admin-button.primary{
  background:var(--admin-text);
  color:#fff;
  border-color:var(--admin-text);
}
.page-admin .admin-button.primary:hover{background:#3a342b;border-color:#3a342b;}
.page-admin .admin-button.ghost{background:#fff;}
.page-admin .admin-button.danger,
.page-admin .admin-photo-actions .danger{
  color:var(--admin-danger);
  border-color:rgba(163,66,46,.35);
}
.page-admin .admin-status,
.page-admin .admin-metric,
.page-admin .admin-card,
.page-admin .admin-upload,
.page-admin .admin-photo-item,
.page-admin .admin-list-item,
.page-admin .admin-danger-zone,
.page-admin .admin-alert{
  background:var(--admin-surface);
  border-color:var(--admin-border);
  box-shadow:0 12px 34px rgba(38,31,22,.045);
}
.page-admin .admin-status.is-locked,
.page-admin .admin-metric.ok{border-color:rgba(47,107,63,.38);}
.page-admin .admin-status.is-live,
.page-admin .admin-metric.warn{border-color:rgba(155,106,32,.45);}
.page-admin .admin-alert{
  color:var(--admin-text);
}
.page-admin .admin-alert.warning{
  background:#fff8ea;
  border-color:#dec48d;
  color:#5c4214;
}
.page-admin .admin-alert.success{
  background:#eef8ef;
  border-color:#a8c9ad;
  color:#214c2c;
}
.page-admin .admin-alert.error{
  background:#fff0eb;
  border-color:#d8a595;
  color:#7a2f20;
}
.page-admin .admin-edit-form input,
.page-admin .admin-edit-form textarea,
.page-admin .admin-upload input,
.page-admin .admin-form input{
  background:#fff;
  color:var(--admin-text);
  border-color:var(--admin-border);
}
.page-admin .admin-edit-form input::placeholder,
.page-admin .admin-edit-form textarea::placeholder,
.page-admin .admin-upload input::placeholder,
.page-admin .admin-form input::placeholder{color:#9d968b;}
.page-admin .admin-edit-form input:focus,
.page-admin .admin-edit-form textarea:focus,
.page-admin .admin-upload input:focus,
.page-admin .admin-form input:focus{
  border-color:var(--admin-accent);
  box-shadow:0 0 0 3px rgba(138,111,69,.16);
}
.page-admin .admin-form-footer,
.page-admin .admin-photo-item figcaption{border-color:var(--admin-border);}
.page-admin .admin-list-item.active{
  background:#f7f0e3;
  border-color:var(--admin-border-strong);
}
.page-admin .admin-list-item strong,
.page-admin .admin-metric strong,
.page-admin .admin-status strong,
.page-admin .admin-photo-item figcaption strong{color:var(--admin-text);}
.page-admin .admin-list-actions a{
  color:var(--admin-accent);
  font-weight:600;
}
.page-admin .admin-photo-item img,
.page-admin .admin-list-item img{background:#e7dfd2;}
.page-admin .admin-danger-zone{
  background:#fff4f0;
  border-color:#e3b8aa;
}
.page-admin .admin-panel,
.page-admin .page-hero.admin-page{
  color:var(--admin-text);
  background:var(--admin-bg);
}
.page-admin .page-hero.admin-page{
  border-bottom:1px solid var(--admin-border);
}
.page-admin .page-hero.admin-page h1,
.page-admin .page-hero.admin-page .lead{color:var(--admin-text);}
.page-admin .notice.warning{
  background:#fff8ea;
  border-color:#dec48d;
  color:#5c4214;
}
@media(max-width:1180px){
  .page-admin .admin-sidebar{border-right:0;border-bottom:1px solid var(--admin-border);box-shadow:0 8px 28px rgba(38,31,22,.05);}
}
@media(max-width:900px){
  .page-admin .nav-links{
    background:#fff!important;
    color:var(--admin-text)!important;
    border-color:var(--admin-border)!important;
    box-shadow:0 16px 44px rgba(38,31,22,.18)!important;
  }
}

/* V2.13 — précision tables SQL dans l'administration */
.admin-metric small{display:block;margin-top:6px;font-size:.82rem;color:var(--warm-grey);word-break:break-word;}
.page-admin .admin-metric small{color:var(--admin-muted);}

/* V2.16 — administration certificats */
.admin-edit-form select{
  width:100%;
  border:1px solid rgba(232,226,217,.16);
  background:#0a0a0a;
  color:var(--paper);
  border-radius:10px;
  padding:13px 13px;
  font:inherit;
  font-size:.92rem;
  outline:none;
}
.admin-edit-form select:focus{border-color:rgba(138,122,94,.8);box-shadow:0 0 0 3px rgba(138,122,94,.16);}
.admin-edit-form select:disabled{opacity:.42;cursor:not-allowed;}
.admin-checkbox{display:flex!important;gap:10px;align-items:center;margin-top:26px;}
.admin-checkbox input{width:auto!important;margin:0;}
.admin-checkbox span{margin:0!important;text-transform:none!important;letter-spacing:0!important;color:rgba(232,226,217,.72)!important;font-size:.9rem!important;}
.admin-file-note{display:block;margin-top:7px;color:rgba(232,226,217,.58);font-size:.78rem;font-style:normal;word-break:break-word;}
.inline-form{display:inline;}
.inline-form button{appearance:none;border:0;background:transparent;color:var(--accent);font:inherit;font-size:.76rem;font-weight:600;cursor:pointer;padding:0;margin:0 10px 6px 0;}
.inline-form button:hover{text-decoration:underline;}
.inline-form .danger-link{color:#a3422e;}
.admin-thumb-placeholder{width:86px;height:64px;display:grid;place-items:center;border-radius:10px;background:#e7dfd2;color:#7f776a;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;}
.page-admin .admin-edit-form select{background:#fff;color:var(--admin-text);border-color:var(--admin-border);}
.page-admin .admin-edit-form select:focus{border-color:var(--admin-accent);box-shadow:0 0 0 3px rgba(138,111,69,.16);}
.page-admin .admin-checkbox span{color:var(--admin-muted)!important;}
.page-admin .admin-file-note{color:var(--admin-muted);}
.page-admin .inline-form button{color:var(--admin-accent);}
.page-admin .inline-form .danger-link{color:var(--admin-danger);}

/* V2.22 — ajustements éditoriaux accueil */
.section-heading-text{align-items:flex-end}
.section-heading-text>div{max-width:860px}
.section-lead{max-width:760px;margin:18px 0 0;color:rgba(232,226,217,.74);line-height:1.85}
.works-home .btn{margin-top:18px}
.works-home .cta-box h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.85rem,3vw,2.9rem);line-height:1.05;margin:0 0 16px}
@media(max-width:900px){.section-heading-text{align-items:flex-start}.section-heading-text>div{max-width:none}}


/* V2.25 — textes publics reportages/authentification/contact. */
.lead-secondary{margin-top:14px;}
.no-results{padding-top:40px;padding-bottom:40px;color:var(--muted);font-size:1rem;}
.reportages-closing{padding-top:clamp(44px,6vw,80px);padding-bottom:clamp(60px,8vw,100px);}
.reportages-closing p{max-width:760px;color:rgba(232,226,217,.72);line-height:1.9;}
.auth-help{margin-top:clamp(24px,4vw,48px);margin-bottom:clamp(60px,8vw,100px);}
.optional{color:var(--muted);font-size:.82em;font-weight:400;}
.panel-form h2{font-family:var(--serif);font-weight:300;margin:0 0 18px;font-size:clamp(1.8rem,3.2vw,3rem);}

/* V2.28 — contrôle préproduction admin. */
.admin-preprod-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:22px;}
.admin-check-card{min-height:100%;}
.admin-check-list{display:grid;gap:10px;}
.admin-check-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,auto);gap:16px;align-items:center;padding:14px;border:1px solid rgba(232,226,217,.12);border-radius:12px;background:rgba(232,226,217,.025);}
.admin-check-item strong{display:block;margin-bottom:4px;font-size:.9rem;font-weight:600;color:var(--paper);}
.admin-check-item span{display:block;color:rgba(232,226,217,.6);font-size:.78rem;line-height:1.45;}
.admin-check-value{text-align:right;}
.admin-check-value em{display:inline-block;margin-bottom:5px;padding:3px 8px;border-radius:999px;font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:rgba(232,226,217,.08);color:rgba(232,226,217,.74);}
.admin-check-value b{display:block;color:var(--paper);font-weight:600;font-size:.86rem;word-break:break-word;}
.admin-check-item.ok{border-color:rgba(122,158,111,.28);}
.admin-check-item.warn{border-color:rgba(214,160,95,.36);}
.admin-check-item.error{border-color:rgba(214,120,95,.48);}
.admin-check-item.ok .admin-check-value em{background:rgba(122,158,111,.14);color:#8fb47f;}
.admin-check-item.warn .admin-check-value em{background:rgba(214,160,95,.16);color:#d2a05f;}
.admin-check-item.error .admin-check-value em{background:rgba(214,120,95,.16);color:#e08d77;}
.admin-preprod-next{margin-top:18px;}
.admin-preprod-next ol{margin:14px 0 0;padding-left:22px;color:rgba(232,226,217,.72);line-height:1.75;}
.page-admin .admin-check-item{background:#fff;border-color:var(--admin-border);}
.page-admin .admin-check-item strong,.page-admin .admin-check-value b{color:var(--admin-text);}
.page-admin .admin-check-item span,.page-admin .admin-preprod-next ol{color:var(--admin-muted);}
.page-admin .admin-check-item.ok{border-color:rgba(47,107,63,.25);}
.page-admin .admin-check-item.warn{border-color:rgba(155,106,32,.34);}
.page-admin .admin-check-item.error{border-color:rgba(163,66,46,.45);}
.page-admin .admin-check-item.ok .admin-check-value em{background:#eef8ef;color:var(--admin-success);}
.page-admin .admin-check-item.warn .admin-check-value em{background:#fff4d9;color:var(--admin-warning);}
.page-admin .admin-check-item.error .admin-check-value em{background:#fff0eb;color:var(--admin-danger);}
@media(max-width:980px){.admin-preprod-grid{grid-template-columns:1fr}.admin-check-item{grid-template-columns:1fr}.admin-check-value{text-align:left}}


/* V2.31 — accès admin centralisé. */
.page-admin-dashboard .admin-dashboard-grid .admin-card{min-height:220px;}
.page-admin .admin-form .admin-button{margin-top:14px;}

/* V2.33 — navigation dans les galeries : flèches clavier, boutons latéraux et swipe mobile. */
.lightbox{
  touch-action:pan-y;
  user-select:none;
}
.lightbox-frame{
  position:relative;
  display:grid;
  place-items:center;
  max-width:100%;
  max-height:86svh;
}
.lightbox-frame img{
  display:block;
  max-width:100%;
  max-height:86svh;
  object-fit:contain;
  will-change:opacity,transform;
}
.lightbox-counter{
  position:absolute;
  left:50%;
  bottom:-34px;
  transform:translateX(-50%);
  margin:0;
  color:rgba(232,226,217,.62);
  font-size:.64rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  white-space:nowrap;
}
.lightbox .lightbox-close{
  right:20px;
  top:20px;
  z-index:3;
}
.lightbox .lightbox-nav{
  position:absolute;
  top:50%;
  z-index:3;
  width:48px;
  height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid rgba(232,226,217,.18);
  background:rgba(8,8,8,.58);
  color:var(--paper);
  font-size:1.65rem;
  line-height:1;
  transform:translateY(-50%);
}
.lightbox .lightbox-prev{left:20px;right:auto;}
.lightbox .lightbox-next{right:20px;left:auto;}
.lightbox.has-single .lightbox-nav{display:none;}
.lightbox.is-changing img{
  opacity:0!important;
  transform:translateX(var(--lightbox-shift-out,0)) scale(.985)!important;
}
.lightbox.is-entering-next img{
  opacity:0!important;
  transform:translateX(22px) scale(.985)!important;
}
.lightbox.is-entering-prev img{
  opacity:0!important;
  transform:translateX(-22px) scale(.985)!important;
}
@media(max-width:760px){
  .lightbox{padding:62px 12px 42px;}
  .lightbox .lightbox-nav{display:none;}
  .lightbox .lightbox-close{right:12px;top:14px;}
  .lightbox-counter{bottom:-30px;font-size:.58rem;}
}
@media(prefers-reduced-motion:reduce){
  .lightbox.is-changing img,
  .lightbox.is-entering-next img,
  .lightbox.is-entering-prev img{
    opacity:1!important;
    transform:none!important;
  }
}

/* V2.34 — menu mobile allégé, lightbox au-dessus du menu, favicon racine. */
.nav-toggle{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  width:44px;
  height:44px;
  padding:0!important;
  display:none;
  align-items:center;
  justify-content:center;
  color:var(--paper);
}
.nav-toggle span{display:none!important;}
.nav-toggle i,
.nav-toggle i::before,
.nav-toggle i::after{
  width:24px!important;
  height:1px!important;
  background:currentColor;
  border-radius:999px;
  transition:transform .22s ease,opacity .22s ease,background .22s ease;
}
.nav-toggle i{position:relative;display:block;}
.nav-toggle i::before,
.nav-toggle i::after{content:"";position:absolute;left:0;top:0;display:block;}
.nav-toggle i::before{transform:translateY(-7px)!important;}
.nav-toggle i::after{transform:translateY(7px)!important;}
.nav.menu-open .nav-toggle i{background:transparent!important;}
.nav.menu-open .nav-toggle i::before{transform:rotate(42deg)!important;}
.nav.menu-open .nav-toggle i::after{transform:rotate(-42deg)!important;}
.nav-toggle:hover{color:var(--accent);}
.nav-toggle:focus-visible{outline:1px solid rgba(232,226,217,.42);outline-offset:4px;}
@media(max-width:900px){
  .nav-toggle{display:inline-flex!important;}
}
.lightbox{
  z-index:2147483600!important;
}
.lightbox .lightbox-close,
.lightbox .lightbox-nav{
  z-index:2147483602!important;
}


/* V2.35 — correction lightbox : le header/menu est neutralisé pendant l’affichage plein écran. */
body.lightbox-open .site-header{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  z-index:0!important;
}
body.lightbox-open .nav,
body.lightbox-open .nav-toggle,
body.lightbox-open .nav-links{
  pointer-events:none!important;
}
body.lightbox-open .lightbox{
  z-index:2147483647!important;
}
body.lightbox-open .lightbox .lightbox-close,
body.lightbox-open .lightbox .lightbox-nav{
  z-index:2147483647!important;
  pointer-events:auto!important;
}


/* V2.36 — suppression définitive encadrée des certificats archivés */
.inline-form.admin-delete-form{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 10px 6px 0;}
.inline-form.admin-delete-form button{margin:0;}
.admin-delete-confirm{width:170px;max-width:100%;border:1px solid var(--admin-border,#d8cec0);background:#fff;color:var(--admin-text,#1f1a15);border-radius:8px;padding:6px 8px;font:inherit;font-size:.76rem;line-height:1.2;}
.admin-delete-confirm:focus{outline:0;border-color:var(--admin-danger,#9b3d2f);box-shadow:0 0 0 3px rgba(155,61,47,.12);}
@media(max-width:520px){.inline-form.admin-delete-form{width:100%;align-items:stretch}.admin-delete-confirm{width:100%}.inline-form.admin-delete-form button{text-align:left}}


/* V2.37 — page Reportages : recherche instantanée seule */
.reportage-tools-search-only{
  grid-template-columns:minmax(240px,580px);
  justify-content:start;
}
.reportage-tools-search-only .reportage-search{
  max-width:580px;
}
.reportage-tools-search-only .form-note{
  margin:10px 0 0;
}

/* V2.38 — Reportages: couvertures uniformes quelle que soit l'orientation de la photo */
.reportage-list .reportage-row{
  min-height:0!important;
  align-items:center;
}
.reportage-list .reportage-row-image{
  display:block;
  position:relative;
  aspect-ratio:16/10;
  min-height:0!important;
  height:auto!important;
  align-self:center;
}
.reportage-list .reportage-row-image img{
  position:absolute;
  inset:0;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover;
}
.reportage-list .reportage-row-image span{
  z-index:2;
}
@media(max-width:900px){
  .reportage-list .reportage-row{
    align-items:stretch;
  }
  .reportage-list .reportage-row-image{
    aspect-ratio:16/10;
    align-self:stretch;
  }
}
@media(max-width:520px){
  .reportage-list .reportage-row-image{
    aspect-ratio:4/3;
  }
}
