@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#f4f0e8;--ink:#27241f;--muted:#766d63;--line:#dcd5c9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,textarea{font:inherit}header{height:74px;border-bottom:1px solid var(--line);padding:0 3%;display:flex;align-items:center;justify-content:space-between;gap:15px}.logo{width:132px;height:58px;object-fit:contain}nav{display:flex;align-items:center;gap:clamp(12px,2vw,32px);font-size:11px;letter-spacing:.07em;text-transform:uppercase}nav a[aria-current]{border-bottom:1px solid;padding-bottom:5px}.mobile-menu{display:none}.kicker{color:var(--muted);font-size:11px;letter-spacing:.17em;text-transform:uppercase}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(72px,10vw,150px);line-height:.86;margin:20px 0}h2{font-size:clamp(48px,6vw,85px);line-height:.95;margin:15px 0 22px}h3{font-size:36px;margin:12px 0}.lead{font:italic clamp(26px,3vw,43px)/1.15 'Cormorant Garamond',serif}.button{display:inline-block;border-bottom:1px solid;padding:12px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.exhibition{display:grid;grid-template-columns:38% 62%;align-items:center;min-height:580px;overflow:hidden}.hero-copy{padding:35px 2vw 35px 5vw}.hero-copy h1{margin:20px 0 18px}.hero-copy .lead{margin:0 0 28px}.gallery-wrap{min-width:0;overflow:hidden}.track{display:flex;align-items:center;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:22px 3vw 16px 0}.track::-webkit-scrollbar{display:none}.art{flex:0 0 clamp(270px,33vw,470px);margin:0;scroll-snap-align:start}.art:nth-child(even){flex-basis:clamp(245px,28vw,390px)}.frame{height:clamp(340px,40vw,530px);background:#e8e1d6;padding:15px;display:flex;align-items:center;justify-content:center}.frame img{width:100%;height:100%;object-fit:contain;background:white}.art:nth-child(even) .frame{height:clamp(320px,35vw,465px)}figcaption{font-size:11px;color:var(--muted);margin-top:11px;display:flex;justify-content:space-between}.controls{display:flex;align-items:center;justify-content:space-between;padding:7px 3vw 16px 0;color:var(--muted);font-size:11px}.controls button{background:transparent;border:1px solid #b4a99b;border-radius:50%;width:42px;height:42px;margin-left:6px;cursor:pointer}.banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#29251f;color:#f6f0e7;padding:25px 5vw}.banner strong{font:400 clamp(29px,3vw,45px) 'Cormorant Garamond'}.banner small{font-size:10px;letter-spacing:.14em;color:#d6c7b4}.section{padding:75px 5vw}.two{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}.two p,.essay p{font:italic clamp(23px,2.7vw,34px)/1.28 'Cormorant Garamond'}.two img{max-width:100%;max-height:600px;object-fit:contain}.feature{padding:35px;background:#e9e2d8}.text-panel{background:#eae3d8;padding:70px 5vw}.text-panel p{font:italic clamp(22px,2.5vw,32px)/1.4 'Cormorant Garamond';max-width:850px}.page-intro{padding:65px 5vw 35px}.page-intro p{max-width:850px}.grid-art{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:25px 5vw 85px}.grid-art figure{margin:0}.grid-art img{width:100%;height:380px;object-fit:contain;background:#e8e1d6;padding:15px;cursor:zoom-in}.grid-art figure:nth-child(3n+2){padding-top:55px}.poem{text-align:center;padding:80px 5vw;background:#e9e2d8}.poem p{white-space:pre-line;font:italic clamp(22px,2.8vw,34px)/1.45 'Cormorant Garamond'}.page-image{width:100%;max-height:650px;object-fit:contain;background:#e8e1d6;padding:18px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:65px 5vw 95px}.contact-layout form{display:grid;gap:18px}.contact-layout label{display:grid;gap:7px;font-size:12px}.contact-layout input,.contact-layout textarea{width:100%;border:0;border-bottom:1px solid #aaa096;background:transparent;padding:12px 0;border-radius:0}.contact-layout textarea{min-height:140px;resize:vertical}.contact-layout button{background:var(--ink);color:white;border:0;padding:16px 25px;justify-self:start;cursor:pointer}.muted{color:var(--muted)}.note{font-size:12px;line-height:1.5}.footer{border-top:1px solid var(--line);padding:28px 5vw 40px;display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;font-size:11px;color:var(--muted)}.footer a{margin-right:16px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.lightbox{position:fixed;inset:0;background:#161411ed;z-index:50;display:none;align-items:center;justify-content:center;padding:55px 25px}.lightbox.open{display:flex}.lightbox img{max-width:95%;max-height:95%;object-fit:contain}.lightbox button{position:absolute;right:20px;top:15px;background:transparent;border:0;color:white;font-size:35px;cursor:pointer}@media(max-width:800px){header{height:65px;padding:0 18px}.logo{width:112px;height:48px}nav{gap:11px;font-size:9px}nav a:nth-child(3),nav a:nth-child(4){display:none}.exhibition{display:block;min-height:0}.hero-copy{padding:30px 20px 8px}.hero-copy h1{font-size:90px}.hero-copy .lead{font-size:30px;margin-bottom:12px}.track{padding:12px 20px;gap:12px}.art,.art:nth-child(even){flex-basis:80vw}.frame,.art:nth-child(even) .frame{height:49svh;min-height:300px;padding:12px}.controls{padding:6px 20px 22px}.banner{display:block;padding:25px 20px}.banner strong{display:block;margin:10px 0}.section{padding:55px 20px}.two{grid-template-columns:1fr;gap:25px}.page-intro{padding:48px 20px 20px}.grid-art{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 20px 55px;gap:12px}.grid-art img{height:270px;padding:9px}.grid-art figure:nth-child(3n+2){padding-top:0}.contact-layout{grid-template-columns:1fr;padding:45px 20px 70px}.text-panel,.poem{padding:55px 20px}.footer{padding:25px 20px}.feature{padding:20px}}@media(max-width:440px){nav a:nth-child(2){display:none}.grid-art img{height:220px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.nimagine-notice{display:flex;justify-content:center;align-items:center;gap:clamp(12px,3vw,40px);padding:11px 20px;background:#e9e1d5;color:#29251f;border-bottom:1px solid #d9d0c2;font-size:12px;line-height:1.45;text-align:center}.nimagine-notice strong{font-weight:600}.nimagine-notice a{font-size:11px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.notice-separator{margin:0 6px;color:#938677}@media(max-width:600px){.nimagine-notice{padding:10px 14px;flex-wrap:wrap;column-gap:15px;row-gap:3px;font-size:11px}.nimagine-notice a{font-size:11px}}

/* Navigation mobile accessible — correctif V7 */
.mobile-nav{display:none}
@media(max-width:800px){
 header{position:relative;z-index:30}
 header>nav:not(.mobile-nav){display:none}
 .mobile-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:1px solid #cfc6ba;border-radius:50%;cursor:pointer;z-index:32;flex-shrink:0}
 .mobile-menu span{display:block;width:18px;height:1.5px;background:var(--ink);transition:transform .2s,opacity .2s}
 .mobile-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
 .mobile-menu[aria-expanded="true"] span:nth-child(2){opacity:0}
 .mobile-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
 header .mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 22px 28px;box-shadow:0 15px 22px #27241f12;flex-direction:column;align-items:stretch;gap:0;z-index:31}
 header .mobile-nav.open{display:flex}
 header .mobile-nav a{display:block!important;font-size:15px;letter-spacing:.04em;padding:15px 4px;border-bottom:1px solid var(--line);text-transform:none}
 header .mobile-nav a[aria-current="page"]{font-weight:600;border-bottom:1px solid var(--ink)}
}
@media(prefers-reduced-motion:reduce){.mobile-menu span{transition:none}}

/* Les Taches : composition éditoriale responsive */
.taches-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,32%);align-items:center;gap:clamp(22px,5vw,80px)}
.taches-intro-copy{min-width:0}
.taches-intro-art{margin:0;display:flex;justify-content:center;align-items:center}
.taches-intro-art img{display:block;width:100%;max-width:380px;max-height:340px;object-fit:contain}
@media(max-width:800px){.taches-intro{grid-template-columns:1fr;gap:12px}.taches-intro-art{justify-content:flex-start}.taches-intro-art img{width:auto;max-width:min(72vw,270px);max-height:210px}}

/* V7 — rythme vertical plus resserré sur toutes les pages */
.section{padding-top:46px;padding-bottom:46px}
.page-intro{padding-top:38px;padding-bottom:22px}
.text-panel{padding-top:43px;padding-bottom:43px}
.poem{padding-top:48px;padding-bottom:48px}
.grid-art{padding-top:18px;padding-bottom:48px}
.grid-art figure:nth-child(3n+2){padding-top:25px}
.contact-layout{padding-top:38px;padding-bottom:55px}
.banner{padding-top:18px;padding-bottom:18px}
h2{margin-top:10px;margin-bottom:16px}
.two{gap:3vw}
/* Taches : œuvre horizontale, contenue et jamais rognée */
.taches-intro{grid-template-columns:minmax(0,1fr) minmax(300px,44%);gap:clamp(20px,4vw,60px)}
.taches-intro-art{justify-content:flex-end}
.taches-intro-art img{width:100%;max-width:580px;max-height:195px;height:auto;object-fit:contain}
@media(max-width:800px){
 .section{padding:34px 20px}.page-intro{padding:30px 20px 18px}
 .text-panel,.poem{padding:36px 20px}
 .grid-art{padding:14px 20px 40px}
 .grid-art figure:nth-child(3n+2){padding-top:0}
 .contact-layout{padding:30px 20px 45px}
 .taches-intro{grid-template-columns:1fr;gap:12px}
 .taches-intro-art{justify-content:flex-start}
 .taches-intro-art img{width:100%;max-width:440px;max-height:145px;object-fit:contain}
}

/* Formulaire sécurisé */
.contact-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
#contact-status{min-height:1.4em;margin:0}#contact-form button:disabled{opacity:.55;cursor:wait}
