@tailwind base;
@tailwind components;
@tailwind utilities;

:root { --paper:#f2efe8; --ink:#151515; --warm:#ded8cc; --line:#bdb7ac; --muted:#6f6a62; --resources-ready:1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
html,body { max-width:100%; overflow-x:clip; }
img,iframe,video { max-width:100%; }
a { color:inherit; text-decoration:none; }
.hero { min-height:94vh; padding:28px 4vw 54px; background:var(--warm); display:flex; flex-direction:column; }
.opening-hero { min-height:100vh; padding-bottom:0; background:#f7f0e1; }
.identity { display:grid; grid-template-columns:42% 58%; flex:1; margin:34px -4vw 0; min-height:calc(100vh - 80px); }
.opening-visuals { display:grid; grid-template-rows:minmax(0,1fr) auto; min-height:100%; background:#61728f; }
.opening-meta { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,420px); gap:24px; align-items:end; padding:22px 0 0 26px; background:#61728f; }
.portrait-figure { margin:0; width:100%; justify-self:end; background:#f7f0e1; }
.portrait-figure img { width:100%; display:block; object-fit:cover; aspect-ratio:1/1; }
.opening-credit { margin:0 0 22px; font-size:11px; line-height:1.5; max-width:520px; color:#f3f1eb; }
.opening-credit a { border-bottom:1px solid rgba(243,241,235,.65); }
.identity-copy { padding:7vh 5vw 5vh 4vw; display:flex; flex-direction:column; align-items:flex-start; }
.identity-role,.identity-care { font-size:11px; line-height:1.2; letter-spacing:.18em; font-weight:700; text-transform:uppercase; }
.identity-role { margin:0 0 8px; padding:1px 4px 2px; background:linear-gradient(transparent 12%,rgba(160,197,233,.58) 12%,rgba(160,197,233,.58) 90%,transparent 90%); -webkit-box-decoration-break:clone; box-decoration-break:clone; }
.identity-care { display:inline-block; border-bottom:0; padding-bottom:0; }
.identity-copy h1 { font-family:Georgia,serif; font-size:clamp(58px,7.8vw,118px); line-height:.86; letter-spacing:-.055em; font-weight:400; margin:5vh 0 4vh; }
.mobile-title-break { display:none; }
.identity-copy .lead { font-family:Georgia,serif; font-size:clamp(15px,1.35vw,20px); line-height:1.42; margin:0 0 4vh; }
.falling-credit { margin-top:auto; font-size:10px; line-height:1.45; max-width:430px; color:var(--muted); }
.falling-credit a { border-bottom:1px solid var(--line); }
.falling-figure { margin:0; min-height:100%; overflow:hidden; background:#111; }
.falling-figure img { width:100%; height:100%; min-height:calc(100vh - 80px); display:block; object-fit:contain; object-position:center; filter:none; }
nav { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; }
.brand { font-weight:800; letter-spacing:.08em; font-size:20px; }
.version-label { display:block; margin-top:5px; font-size:9px; letter-spacing:.16em; font-weight:600; opacity:.62; }
.navlinks { display:flex; gap:22px; flex-wrap:wrap; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.navlinks a { border-bottom:1px solid transparent; padding-bottom:4px; }
.navlinks a:hover { border-color:var(--ink); }
.intro { margin-top:auto; max-width:1050px; padding-top:12vh; }
.eyebrow,.kicker,.index,.card-no { text-transform:uppercase; letter-spacing:.18em; font-size:11px; }
.intro h1 { font-size:clamp(72px,13vw,180px); line-height:.78; letter-spacing:-.07em; margin:20px 0 42px; font-weight:700; }
.lead { font-family:Georgia,serif; font-size:clamp(21px,3vw,38px); line-height:1.25; max-width:820px; margin-bottom:42px; }
.discover { display:inline-block; font-size:12px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--ink); padding-bottom:7px; }
section { padding:110px 6vw 125px; border-top:1px solid var(--line); }
.section-head { display:grid; grid-template-columns:minmax(150px,1fr) minmax(0,4fr); gap:35px; align-items:start; margin-bottom:68px; }
.kicker { font-weight:700; margin:10px 0 0; }
h2 { font-family:Georgia,serif; font-weight:400; font-size:clamp(40px,5.8vw,76px); line-height:1.04; max-width:1000px; margin:0; letter-spacing:-.025em; }
.feature { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr); gap:5vw; align-items:end; }
.video-library { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5vw; align-items:start; }
.video-card h3 { font-size:clamp(24px,2.2vw,32px); margin:12px 0 8px; }
.video-card p { font-family:Georgia,serif; font-size:18px; line-height:1.5; }
.video-frame { aspect-ratio:16/9; background:transparent; overflow:hidden; position:relative; }
.video-frame iframe { width:100%; height:100%; border:0; display:block; transform:none; }
.video-card img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.feature img,.grid img { width:100%; display:block; object-fit:cover; }
.feature img { max-height:75vh; }
.feature-copy { padding-bottom:3vh; }
.feature h3,.grid h3 { font-size:clamp(22px,2vw,28px); margin:14px 0 10px; line-height:1.05; }
.feature p,.grid p,.wide,.future { font-family:Georgia,serif; font-size:19px; line-height:1.52; }
.index,.card-no { font-family:Arial,Helvetica,sans-serif!important; color:var(--muted); font-size:10px!important; }
.grid { display:grid; grid-template-columns:repeat(12,1fr); gap:28px; }
.visual-card { grid-column:span 6; }
.textcard { grid-column:span 3; border-top:2px solid var(--ink); padding-top:15px; min-height:245px; }
.collaborations-grid .textcard:nth-of-type(4),.collaborations-grid .textcard:nth-of-type(5),.collaborations-grid .textcard:nth-of-type(6) { margin-top:35px; }
.collaborations-grid .other-me-card { grid-column:span 6; min-height:auto; }
.collaboration-media { margin:16px 0 18px; }
.collaboration-media img { width:100%; height:auto; object-fit:contain; display:block; }
.collaboration-media figcaption { margin-top:7px; font-family:Arial,Helvetica,sans-serif; font-size:10px; color:var(--muted); }
.other-me-triptych { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0 20px; }
.other-me-triptych figure { margin:0; aspect-ratio:4/3; overflow:hidden; }
.other-me-triptych img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.collaborations-grid .azurazia-card { grid-column:span 6; }
.collaborations-grid .azurazia-card img { width:100%; height:auto; object-fit:contain; object-position:center; background:#fff; }
.small { font-size:12px!important; color:var(--muted); }
.quiet { background:#e8e3da; }
.green-break { background:#778b72; color:#f4f1e9; border-top-color:#61745d; }
.green-break .kicker { color:#eef0e9; }
.green-break .intro-copy,.green-break .wide { color:#f4f1e9; }
.transmission-copy { margin-left:20%; max-width:950px; }
.care-media { display:grid; grid-template-columns:1fr 1.7fr; gap:22px; margin:45px 0; }
.care-media img { width:100%; height:100%; max-height:520px; object-fit:cover; display:block; }
.care-media img:first-child { aspect-ratio:1/1; height:auto; object-fit:contain; object-position:center; }
.care-media img:nth-child(2) { aspect-ratio:1/1; width:100%; height:auto; object-fit:contain; object-position:center; }
.media-links a,.text-link,.parcours-sound a { border-bottom:1px solid currentColor; padding-bottom:3px; } .media-links a,.parcours-sound a { background:linear-gradient(transparent 58%,rgba(215,201,112,.34) 58%); padding-left:3px; padding-right:3px; }
.professional-access { margin:34px 0 0; font-family:Arial,Helvetica,sans-serif; font-size:13px; line-height:1.45; letter-spacing:.04em; }
.care-video-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:48px; }
.care-video-links article { border-top:1px solid currentColor; padding-top:16px; }
.care-video-links h3 { font-family:Georgia,serif; font-size:25px; font-weight:400; margin:10px 0; }
.care-video-links p { font-family:Georgia,serif; font-size:16px; line-height:1.45; }
.care-video-links .index { font-family:Arial,Helvetica,sans-serif; }
.parcours-sound { grid-column:2; margin:22px 0 0; font-size:16px; }
.cv-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:6vw; margin-left:20%; max-width:950px; }
.cv-contact-grid p { font-family:Georgia,serif; font-size:20px; line-height:1.5; }
.cv-contact-grid .index { font-family:Arial,Helvetica,sans-serif; }
.cv-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0 24px; }
.cv-doc-card { margin:0; min-width:0; }
.cv-image-link { display:block; width:100%; aspect-ratio:1/1; overflow:hidden; background:#e8e5de; }
.cv-doc-card img { width:100%; height:100%; object-fit:contain; object-position:center; display:block; }
.cv-doc-card p { margin:12px 0 0; font-size:17px; }
.cv-link { display:inline-block; border-bottom:1px solid currentColor; padding-bottom:5px; }
.document-view { background:#e8e3da; }
.document-actions { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; margin:0 0 28px 20%; max-width:950px; }
.document-frame { width:80%; height:min(82vh,1000px); margin-left:20%; background:#fff; border:1px solid var(--line); }
.document-frame iframe { width:100%; height:100%; display:block; border:0; }
.document-fallback { margin:16px 0 0 20%; max-width:950px; color:var(--muted); font-family:Georgia,serif; font-size:15px; line-height:1.5; }
.footer-links { display:flex; gap:24px; flex-wrap:wrap; justify-content:flex-end; }
.wide { max-width:900px; }
.intro-copy { font-size:clamp(25px,3vw,39px); line-height:1.25; margin:0 0 45px; }
.archive-grid .textcard { grid-column:span 3; }
.archive-grid .generator { grid-column:span 3; }
.care-relation { margin:48px 0; padding:22px 0 8px; border-top:1px solid rgba(244,241,233,.6); } .care-relation-photo { margin:28px 0 0; } .care-relation-photo-image { position:relative; display:block; } .care-relation-photo img { width:100%; height:auto; max-height:none; display:block; object-fit:contain; object-position:center; } .care-relation-photo-download { position:absolute; right:0; bottom:3.4%; width:13%; aspect-ratio:1; display:block; border-radius:50%; z-index:2; cursor:pointer; } .care-relation-photo-download:focus-visible { outline:2px solid #fff; outline-offset:-4px; } .care-relation-photo figcaption { margin-top:10px; font-family:Arial,Helvetica,sans-serif; font-size:12px; line-height:1.45; color:#eef0e9; } .care-relation h3 { font-family:Georgia,serif; font-size:30px; font-weight:400; margin:8px 0 12px; } .care-relation p { font-family:Georgia,serif; font-size:18px; line-height:1.5; } .archive-photo-scatter { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:end; margin:0 0 22px; } .archive-group-caption { font-family:Georgia,serif; font-size:15px; line-height:1.5; margin:0 0 55px; max-width:1000px; }
.archive-666 { width:min(100%,900px); margin:0 0 56px; } .archive-666-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:stretch; } .archive-666-images img { width:100%; height:100%; aspect-ratio:1/1; display:block; object-fit:contain; object-position:center; background:#fff; } .archive-666-caption { margin:14px 0 0; font-family:Georgia,serif; font-size:15px; line-height:1.55; } .archive-photo-scatter img { width:100%; aspect-ratio:1/1; display:block; object-fit:contain; background:#e8e5de; transform-origin:center; }
.archive-photo-scatter img:nth-child(1) { transform:rotate(90deg); }
.archive-photo-scatter img:nth-child(2) { transform:translateY(22px) rotate(-90deg); }
.archive-photo-scatter img:nth-child(4) { transform:translateY(-14px) rotate(-90deg); }
.archive-photo-scatter img:nth-child(5) { transform:rotate(-90deg); }
.archive-photo-zoom { cursor:zoom-in; }
.archive-photo-zoom:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.lightbox-open { overflow:hidden; }
.archive-lightbox[hidden] { display:none; }
.archive-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:5vh 6vw; background:rgba(10,12,14,.92); }
.archive-lightbox-stage { width:88vw; height:82vh; display:grid; place-items:center; overflow:visible; }
.archive-lightbox-image { display:block; width:auto; height:auto; max-width:88vw; max-height:82vh; object-fit:contain; box-shadow:0 14px 45px rgba(0,0,0,.35); }
.archive-lightbox-image.is-rotated { max-width:82vh; max-height:88vw; }
.archive-lightbox-close { position:fixed; top:18px; right:22px; width:48px; height:48px; border:1px solid rgba(255,255,255,.8); border-radius:50%; background:rgba(0,0,0,.28); color:#fff; font:300 34px/1 Arial,Helvetica,sans-serif; cursor:pointer; }
.archive-lightbox-close:hover,.archive-lightbox-close:focus-visible { background:#fff; color:#111; outline:none; }
.future-section { padding-bottom:145px; background:#667783; color:#f5f2eb; border-top-color:#53636e; }
.future-section .kicker { color:#e0e6e8; }
.future { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
.future p { border-top:1px solid #8b867d; padding-top:16px; margin:0; }
.future span { display:block; font-family:Arial,Helvetica,sans-serif; font-size:10px; letter-spacing:.18em; margin-bottom:38px; color:#b8b1a5; }
.future strong { display:inline-block; margin-bottom:5px; }
.future-generator img,.future-nature img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; margin:0 0 22px; } .future-generator .future-generator-poster { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; background:#fff; } .future-blue-block img { width:min(62%,220px); aspect-ratio:1/1; object-fit:cover; display:block; margin:0 0 22px; }
.future-beasts-images { display:grid!important; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 22px!important; }
.future-beasts-images img { width:100%; aspect-ratio:3/4; object-fit:cover; display:block; }
.blonde-card { grid-column:span 3; max-width:360px; }
.blonde-card img { max-height:340px; object-fit:cover; } .generator-collab { grid-column:span 4; }
.collaboration-video-frame { width:100%; aspect-ratio:16/9; margin-top:14px; background:#111; overflow:hidden; }
.collaboration-video-frame iframe { width:100%; height:100%; display:block; border:0; }
.videos-current { margin:-34px 0 36px 20%; font-family:Georgia,serif; font-size:18px; color:var(--muted); } .other-videos-link { margin:48px 0 0; font-family:Georgia,serif; font-size:21px; } .secondary-header { padding:28px 6vw; border-bottom:1px solid var(--line); } .secondary-title { font-family:Georgia,serif; font-size:clamp(48px,7vw,92px); font-weight:400; line-height:1; margin:0; } .secondary-video-page main { min-height:70vh; } .section-arrow { display:block; width:max-content; margin:70px auto -78px; font-family:Georgia,serif; font-size:28px; line-height:1; opacity:.52; transition:opacity .2s ease,transform .2s ease; }
.section-arrow:hover { opacity:1; transform:translateY(4px); }
.hero-arrow { margin:auto auto 20px; color:var(--ink); }
.top-arrow:hover { transform:translateY(-4px); }
footer { padding:60px 6vw; background:var(--ink); color:var(--paper); display:flex; justify-content:space-between; align-items:flex-end; }
.footer-name { font-weight:800; letter-spacing:.08em; margin:0 0 8px; }
.footer-role { font-family:Georgia,serif; margin:0; opacity:.7; }
footer a { border-bottom:1px solid #777; padding-bottom:5px; }
@media (max-width:900px) { .textcard,.archive-grid .textcard,.archive-grid .generator { grid-column:span 6; } .visual-card { grid-column:span 12; max-width:700px; } .transmission-copy,.cv-contact-grid,.document-actions,.document-frame,.document-fallback { margin-left:0; } .document-frame { width:100%; } }
@media (max-width:760px) { .videos-current { margin:-18px 0 28px; } .secondary-header nav { align-items:center; } .archive-666 { width:100%; margin-bottom:44px; } .archive-666-images { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; } .cv-doc-grid { grid-template-columns:1fr 1fr; gap:12px; } .document-frame { height:76vh; } .cv-doc-card p { font-size:15px; } .navlinks { display:flex; } .care-video-links { grid-template-columns:1fr; } .blonde-card { grid-column:span 12; max-width:280px; } .blonde-card img { max-height:280px; } .section-arrow { margin-top:48px; margin-bottom:-52px; font-size:25px; } .hero-arrow { margin:auto auto 12px; } .cv-contact-grid { grid-template-columns:1fr; gap:30px; } .video-library,.care-media { grid-template-columns:1fr; } .parcours-sound { grid-column:auto; } .footer-links { justify-content:flex-start; } .hero { min-height:82vh; padding:22px 6vw 42px; } .opening-hero { padding-bottom:0; } .identity { grid-template-columns:1fr; margin:28px -6vw 0; min-height:auto; } .identity-copy { padding:8vh 6vw 5vh; } .identity-copy h1 { font-size:clamp(58px,18vw,86px); margin:4vh 0; } .identity-copy .lead { font-size:17px; } .falling-credit { margin-top:5vh; } .opening-meta { grid-template-columns:minmax(0,1fr) minmax(150px,280px); gap:16px; padding:18px 0 0 18px; } .opening-credit { margin:0 0 18px; font-size:10px; } .opening-visuals { min-height:auto; } .falling-figure img { min-height:62vh; height:62vh; } .portrait-figure { width:52%; max-width:280px; } .intro { padding-top:10vh; } .intro h1 { font-size:clamp(68px,25vw,110px); } section { padding:72px 6vw 82px; } .section-head { display:block; margin-bottom:42px; } .section-head .kicker { margin-bottom:18px; } h2 { font-size:clamp(38px,12vw,58px); } .feature { grid-template-columns:1fr; gap:22px; } .feature-copy { padding:0; } .grid { gap:48px 20px; } .textcard,.archive-grid .textcard,.archive-grid .generator { grid-column:span 12; min-height:auto; } .collaborations-grid .textcard:nth-of-type(4),.collaborations-grid .textcard:nth-of-type(5),.collaborations-grid .textcard:nth-of-type(6) { margin-top:0; } .future { grid-template-columns:1fr; gap:48px; } .future span { margin-bottom:18px; } footer { display:block; } footer a { display:inline-block; margin-top:28px; } }


/* Aperçu privé — ajustements validés */
.care-title-emphasis { display:inline-block; font-size:1.16em; font-weight:600; }
.inspiration-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:44px; }
.inspiration-grid article { border-top:1px solid currentColor; padding-top:16px; }
.inspiration-grid h3 { font-family:Georgia,serif; font-size:27px; font-weight:400; margin:10px 0 12px; }
.inspiration-grid p { font-family:Georgia,serif; font-size:17px; line-height:1.5; }
.inspiration-grid .index { font-family:Arial,Helvetica,sans-serif; font-size:10px; }
.inspiration-photo { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; object-position:center; display:block; margin:14px 0 18px; background:#f4f2ed; }

.carousel-controls { display:flex; justify-content:center; gap:10px; margin:-24px 0 18px; }
.carousel-controls button { width:44px; height:44px; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); font-size:20px; cursor:pointer; }
.carousel-controls button:hover,.carousel-controls button:focus-visible { background:var(--ink); color:var(--paper); outline:none; }

.collaborations-grid { display:flex; gap:28px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scroll-behavior:smooth; padding:0 0 22px; scrollbar-width:thin; -webkit-overflow-scrolling:touch; }
.collaborations-grid > article { flex:0 0 clamp(340px,40vw,620px); grid-column:auto!important; scroll-snap-align:start; margin-top:0!important; min-height:auto; }
.collaborations-grid .blonde-card { max-width:none; }
.collaborations-grid .other-me-card,.collaborations-grid .azurazia-card,.collaborations-grid .generator-collab { grid-column:auto; }

@media (max-width:760px) {
  .inspiration-grid { grid-template-columns:1fr; gap:34px; }
  .carousel-controls { margin-top:-12px; }
  .collaborations-grid { gap:18px; margin-right:-6vw; padding-right:6vw; }
  .collaborations-grid > article { flex-basis:86vw; }
}


.michel-portrait { display:block; width:200px; max-width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; margin:16px 0 20px; }

/* V36 - essais et galeries de l'aperçu privé */
.opening-trial-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:0 0 22px; }
.opening-trial-button { appearance:none; border:1px solid rgba(243,241,235,.72); border-radius:999px; background:transparent; color:#f3f1eb; padding:9px 14px; font:600 10px/1 Arial,Helvetica,sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.opening-trial-button:hover,.opening-trial-button:focus-visible,.opening-trial-button.is-active { background:#f3f1eb; color:#29333d; outline:none; }

.video-carousel,.inspiration-carousel { display:flex; grid-template-columns:none; gap:28px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scroll-behavior:smooth; scrollbar-width:thin; -webkit-overflow-scrolling:touch; padding:0 0 24px; }
.video-carousel > .video-card { flex:0 0 clamp(320px,42vw,620px); scroll-snap-align:start; }
.video-carousel .video-frame,.video-carousel .video-card > img { width:100%; aspect-ratio:16/9; background:transparent; overflow:hidden; object-fit:cover; }
.video-carousel .video-frame iframe { transform:none; }
.video-carousel > .video-card { content-visibility:auto; contain-intrinsic-size:620px 520px; }
.video-carousel-controls,.inspiration-carousel-controls { margin:-28px 0 18px; }

.inspiration-carousel > article { flex:0 0 clamp(300px,35vw,500px); scroll-snap-align:start; }
.archive-generator { max-width:980px; }
.archive-generator-images { display:block; margin:0 0 24px; }
.archive-generator-images img { display:block; width:100%; height:auto; max-height:76vh; object-fit:contain; object-position:center; background:#151515; }
.archive-generator-caption { margin:12px 0 0; font-family:Georgia,serif; font-size:18px; line-height:1.45; }

.cv-contact-grid { grid-template-columns:minmax(0,1fr); }
.precis-download { margin-top:10px!important; font-size:16px!important; }

@media (max-width:760px) {
  .opening-meta { grid-template-columns:minmax(0,1fr) minmax(130px,42vw); }
  .opening-trial-controls { align-self:center; padding-right:8px; }
  .opening-trial-button { width:100%; padding:9px 8px; }
  .falling-figure img { width:100%; height:auto; min-height:0; max-height:76vh; object-fit:contain; }
  .video-carousel,.inspiration-carousel { gap:18px; margin-right:-6vw; padding-right:6vw; }
  .video-carousel > .video-card,.inspiration-carousel > article { flex-basis:86vw; }
  .video-carousel .video-card p { font-size:16px; }
  .inspiration-grid.inspiration-carousel { display:flex; }
  .archive-photo-scatter { max-width:100%; }
}

/* V36 — portrait discret en regard de la photographie principale */
.opening-visuals { position:relative; display:block; min-height:0; padding-bottom:44px; background:transparent; }
.opening-visuals .falling-figure { min-height:0; }
.opening-visuals .opening-meta { position:absolute; right:20px; bottom:0; display:block; width:clamp(110px,12vw,165px); padding:0; background:transparent; z-index:1; }
.opening-visuals .portrait-figure { width:100%; max-width:none; margin:0; border:4px solid #f7f0e1; }
.opening-visuals .portrait-figure img { width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
@media (max-width:760px) {
 .opening-visuals { padding-bottom:30px; }
 .opening-visuals .opening-meta { right:16px; width:clamp(90px,24vw,120px); }
 .opening-visuals .portrait-figure { border-width:3px; }
}

/* V36 — renforcer le nom et les activités */
.opening-hero .brand { font-size:clamp(28px,3vw,44px); line-height:1.05; }
.identity-copy .identity-role,.identity-copy .identity-care { font-size:clamp(14px,1.25vw,18px); line-height:1.4; letter-spacing:.1em; }
.identity-copy h1 { font-size:clamp(54px,6.8vw,100px); }
@media (max-width:760px) {
 .opening-hero .brand { font-size:clamp(28px,7vw,36px); }
 .identity-copy .identity-role,.identity-copy .identity-care { font-size:15px; }
 .identity-copy h1 { font-size:clamp(52px,15.5vw,76px); }
}

/* V36 — couleur des rubriques de navigation */
.opening-hero .navlinks a { color:#7b3045; font-weight:700; }
.opening-hero .navlinks a:hover,.opening-hero .navlinks a:focus-visible { color:#52202e; border-bottom-color:#7b3045; }

/* V36 — formats harmonisés pour les visuels des projets */
.future > p > img,.future .future-generator-poster,.future-beasts-images img { display:block; width:100%; height:auto; max-width:none; aspect-ratio:4/3; object-fit:contain; object-position:center; margin:0 0 22px; background:#53636e; }
.future .future-beasts-images { display:grid!important; grid-template-columns:minmax(0,1fr); gap:0; margin:0!important; }

/* V36 — palette et composition affinées */
.opening-hero nav { flex-wrap:wrap; }
.opening-hero .brand { white-space:nowrap; flex-shrink:0; }
.opening-hero .navlinks { flex:1 1 560px; justify-content:flex-end; }
.opening-visuals .opening-meta { bottom:84px; right:20px; width:clamp(140px,15vw,205px); }
#avenir { background:#f1d777; color:#392d1b; border-color:#d6ba56; }
#avenir .kicker,#avenir .section-head h2 { color:#7b3045; }
#avenir .future img { background:#d7bd6a; }
#performances { background:#83c8e2; border-color:#55a9cb; }
#collaborations { background:#edb79c; color:#3c2821; border-color:#d99576; }
#inspirations { background:#d3c6ee; border-color:#b6a3d6; }
.care-heading { grid-template-columns:minmax(100px,1fr) minmax(0,2.5fr) minmax(170px,1fr); align-items:center; gap:28px; }
.care-heading .kicker { align-self:start; }
.care-heading h2 { font-size:clamp(40px,5.8vw,76px); }
.care-heading-image { width:100%; max-width:240px; height:auto; justify-self:end; grid-column:3; grid-row:1/3; }
.care-heading .intro-copy { grid-column:2; margin-top:0; }
.care-instruments { width:min(430px,100%); margin:0 auto 54px; }
.care-instruments img { display:block; width:100%; height:auto; }
#parcours .archives-heading { font-size:clamp(24px,3vw,40px); letter-spacing:.04em; font-weight:700; margin-top:0; }
.generator-source-row { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:center; margin-top:42px; }
.generator-source-photo { display:block; width:100%; height:auto; }
@media(max-width:760px) {
 .opening-hero .brand { font-size:clamp(24px,6.6vw,36px); }
 .opening-visuals .opening-meta { bottom:48px; right:14px; width:clamp(112px,30vw,155px); }
 .care-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(90px,29%); gap:18px; }
 .care-heading .kicker { grid-column:1/-1; margin-bottom:0; }
 .care-heading h2 { grid-column:1; grid-row:2; font-size:clamp(38px,12vw,58px); }
 .care-heading-image { grid-column:2; grid-row:2; }
 .care-heading .intro-copy { grid-column:1/-1; }
 .generator-source-row { grid-template-columns:1fr; gap:20px; }
}

/* V36: progressive reading and examples of care work */
.transmission-more { margin: 20px 0 36px; }
.transmission-more summary { width: fit-content; cursor: pointer; font-size: 20px; text-decoration: underline; text-underline-offset: 5px; padding: 8px 0; }
.transmission-more summary:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.transmission-more-content { padding-top: 16px; }
.care-relation-photo { width:100%; max-width:none; margin:22px 0 0; }
.care-relation-photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; }

.care-examples-heading { margin-top: 42px; }
.care-examples-heading h3 { font-family: Georgia,serif; font-size: 30px; font-weight: 400; margin-bottom: 12px; }
.care-examples { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 24px; }
.care-examples article { margin: 0; padding: 18px 0 8px; border-top: 1px solid currentColor; min-width: 0; }
.care-examples h4 { font-family: Georgia,serif; font-size: 25px; font-weight: 400; margin: 10px 0; }
@media (max-width:760px) { .care-examples { grid-template-columns: 1fr; } }

/* Visible mobile navigation and project dropdown */
.project-menu { position:relative; }
.project-menu summary { color:#7b3045; font-weight:700; cursor:pointer; padding-bottom:4px; }
.project-menu summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.project-menu-links { position:absolute; top:100%; left:0; min-width:250px; padding:12px 16px; background:#f7f0e1; border:1px solid #b9ced8; box-shadow:0 6px 16px #23364022; z-index:20; display:grid; gap:8px; }
.project-menu-links a { display:block; line-height:1.5; padding:8px 0; }
.future [id] { scroll-margin-top:24px; }
@media (max-width:760px) {
 .opening-hero .navlinks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; flex:1 1 100%; gap:6px 14px; justify-content:start; font-size:11px; line-height:1.45; }
 .opening-hero .navlinks > a { display:flex; align-items:center; min-height:44px; padding:8px 0; }
 .project-menu { grid-column:1 / -1; }
 .project-menu summary { min-height:44px; padding:12px 0; }
 .project-menu-links { position:static; min-width:0; box-shadow:none; margin-bottom:8px; }
}

/* V36: ateliers, galeries manuelles dans les deux sens */
.care-video-links.care-examples { display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x proximity; scroll-behavior:smooth; padding-bottom:24px; margin-top:0; }
.care-examples > article { flex:0 0 min(80vw,520px); min-width:0; scroll-snap-align:start; margin:0; }
.workshop-photos { display:flex; overflow-x:auto; scroll-snap-type:x proximity; gap:0; margin:18px 0; }
.workshop-photos img { flex:0 0 100%; width:100%; min-width:0; aspect-ratio:16/10; object-fit:contain; background:#172527; scroll-snap-align:start; }
.workshop-carousel-controls { margin:0 0 18px; }
.care-carousel-controls { margin:12px 0 18px; }
.care-examples h4 { font-size:24px; }
@media(max-width:600px) { .care-video-links.care-examples { gap:18px; } .care-examples > article { flex-basis:86%; } }

#avenir .future { display:flex; gap:28px; overflow-x:auto; scroll-snap-type:x proximity; scroll-behavior:smooth; padding-bottom:24px; }
#avenir .future > p { flex:0 0 min(78vw,540px); min-width:0; scroll-snap-align:start; }
#avenir .future-carousel-controls button { color:inherit; border-color:currentColor; }
@media(max-width:600px) { #avenir .future { gap:18px; } #avenir .future > p { flex-basis:86%; } }

/* Compact mobile navigation */
.mobile-menu-toggle { display:none; }
@media(max-width:760px) {
 .opening-hero nav { gap:14px; align-items:center; }
 .mobile-menu-toggle { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 14px; border:1px solid #7b304566; border-radius:3px; background:transparent; color:#7b3045; font:inherit; font-size:13px; cursor:pointer; }
 .opening-hero .navlinks { display:none; flex-basis:100%; }
 .opening-hero nav.menu-open .navlinks { display:grid; gap:0 14px; }
 .opening-hero .navlinks > a { min-height:44px; }
 .opening-hero .identity { margin-top:12px; }
 .opening-hero .identity-copy { padding-top:24px; }
}

/* Collaborations: jaune-vert et présentation resserrée */
#collaborations { background:#edb79c; color:#3c2821; border-color:#d99576; padding-top:64px; padding-bottom:64px; }
#collaborations .section-head { margin-bottom:30px; }
.collaborations-grid > article { flex-basis:clamp(290px,32vw,440px); }
#collaborations .collaboration-media img { max-height:230px; width:100%; object-fit:contain; }
#collaborations .falling-collab .collaboration-media { max-width:260px; margin-left:0; }
#collaborations .falling-collab .collaboration-media img { max-height:170px; }
.collaboration-more { margin:14px 0; }
.collaboration-more summary { cursor:pointer; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.collaboration-more[open] { padding-bottom:8px; }
.collaboration-more summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(max-width:760px) {
 .collaborations-grid > article { flex-basis:82vw; }
 #collaborations { padding-top:48px; padding-bottom:56px; }
}

#collaborations .collaboration-key { font-size:clamp(18px,1.7vw,23px); line-height:1.35; margin:14px 0 20px; }
#collaborations .collaboration-key strong { font-weight:700; }

/* V36 — vraies images de collaboration, gardées dans leur matière */
#collaborations .verna-photo img { width:auto; max-width:100%; max-height:260px; object-fit:contain; }
#collaborations .serge-ricci-pair { display:flex; align-items:flex-start; gap:8px; margin:18px -5px 20px; }
#collaborations .serge-ricci-pair img:first-child { flex:0 0 38%; width:38%; height:260px; object-fit:cover; transform:rotate(-1deg); }
#collaborations .serge-ricci-pair img:last-child { flex:1 1 62%; width:62%; height:205px; margin-top:22px; object-fit:cover; transform:rotate(1deg); }
@media(max-width:760px) {
 #collaborations .serge-ricci-pair img:first-child { height:230px; }
 #collaborations .serge-ricci-pair img:last-child { height:180px; }
}

/* Anna Rodriguez — collage couleur de Salomé / Collective Illusion */
#collaborations .salome-collage { margin:20px -4px 18px; transform:rotate(-1deg); }
#collaborations .salome-collage img { width:100%; max-height:none; height:auto; object-fit:contain; filter:saturate(1.55) contrast(1.06); border:5px solid #f4cc4b; box-shadow:9px 9px 0 #cf5c3f; }
#collaborations .salome-collage figcaption { margin-top:14px; font-weight:700; color:#713a2b; }
#collaborations .salome-archive { margin-top:20px; }
@media (max-width:760px) { #collaborations .salome-collage { margin-left:0; margin-right:0; } #collaborations .salome-collage img { border-width:4px; box-shadow:6px 6px 0 #cf5c3f; } }

/* Essai photo d’accueil : portrait posé sur la figure, choix des images */
.opening-visuals .opening-trial-controls { position:absolute; z-index:3; top:14px; left:14px; padding:0; max-width:calc(100% - 28px); }
.opening-visuals .opening-trial-button { background:rgba(18,34,82,.78); border-color:rgba(255,255,255,.85); color:#fff; text-transform:none; letter-spacing:.02em; font-size:11px; }
.opening-visuals .opening-trial-button:hover,.opening-visuals .opening-trial-button:focus-visible,.opening-visuals .opening-trial-button.is-active { background:#f4d449; color:#25213a; }
.opening-visuals .opening-meta { top:55%; right:20%; bottom:auto; width:clamp(118px,13vw,180px); }
.opening-visuals.is-red-sheet-study .opening-meta { top:38%; right:42%; }
@media(max-width:760px) {
 .opening-visuals .opening-trial-controls { top:8px; left:8px; right:8px; gap:6px; max-width:none; }
 .opening-visuals .opening-trial-button { width:auto; flex:1 1 45%; padding:8px 6px; font-size:9px; }
 .opening-visuals .opening-meta { top:45%; right:18%; bottom:auto; width:clamp(92px,28vw,128px); }
 .opening-visuals.is-red-sheet-study .opening-meta { top:34%; right:42%; bottom:auto; }
}

/* Portrait en filigrane et photo Verna à cheval sur le cadre de l’essai */
.identity-copy { position:relative; }
.identity-copy > :not(.identity-watermark) { position:relative; z-index:1; }
.identity-watermark { position:absolute; z-index:0; top:0; left:4vw; width:clamp(130px,17vw,220px); margin:0; opacity:.18; mix-blend-mode:multiply; pointer-events:none; }
.identity-watermark img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.opening-visuals .verna-inset { display:none; }
.opening-visuals.is-close-silhouettes .verna-inset { display:block; position:absolute; z-index:4; right:-30px; bottom:26px; width:clamp(150px,18vw,225px); margin:0; padding:5px; background:#f7f0e1; transform:rotate(2deg) translateX(10%); box-shadow:0 12px 26px rgba(12,15,39,.35); }
.opening-visuals .verna-inset img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
@media(max-width:760px) {
 .identity-watermark { top:-18px; left:3vw; width:clamp(110px,34vw,150px); opacity:.16; }
 .opening-visuals.is-close-silhouettes .verna-inset { right:-14px; bottom:16px; width:clamp(110px,32vw,145px); transform:rotate(2deg) translateX(8%); padding:4px; }
}

/* Derniers réglages de l’essai bleu : transparence, cadrage et intensité */
.identity-watermark { opacity:.46; width:clamp(150px,19vw,245px); }
.opening-visuals.is-red-sheet-study .falling-figure { background:#1261d5; }
.opening-visuals.is-red-sheet-study .falling-figure .opening-trial-image { object-fit:cover; object-position:center center; }
.opening-visuals.is-close-silhouettes .falling-figure { position:relative; }
.opening-visuals.is-close-silhouettes .opening-trial-image { filter:saturate(.82); }
.opening-visuals.is-close-silhouettes .falling-figure::after { display:none; }
.opening-visuals.is-close-silhouettes .verna-inset { opacity:1; padding:0; background:transparent; box-shadow:none; }
@media(max-width:760px) {
 .identity-watermark { opacity:.38; width:clamp(125px,36vw,165px); }
}

/* Flèches du carrousel Collaborations assorties aux liens du haut */
#collaborations .carousel-controls button { color:#7b3045; border-color:#7b3045; }
#collaborations .carousel-controls button:hover,#collaborations .carousel-controls button:focus-visible { background:#7b3045; color:#f7f0e1; }

/* Essai bleu : cadre cinéma horizontal, sans bandes noires */
.opening-visuals.is-close-silhouettes .falling-figure { width:100%; height:auto; min-height:0; aspect-ratio:16/9; align-self:center; background:#1261d5; }
.opening-visuals.is-close-silhouettes .opening-trial-image { display:block; width:100%; height:100%; min-height:0; aspect-ratio:16/9; object-fit:cover; object-position:center; }

/* Présences découpées dans la photographie originale, sans cadres de capture */
.hero-photo-collage { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden; }
.hero-photo-fragment { position:absolute; display:block; margin:0; aspect-ratio:394/354; overflow:hidden; mix-blend-mode:screen; filter:saturate(.85) contrast(.95); }
.falling-figure .hero-photo-fragment img { position:absolute; top:0; display:block; width:304.06%; max-width:none; height:100%; min-height:0; aspect-ratio:auto; object-fit:fill; filter:none; }
.hero-photo-fragment--crouch { left:-2%; bottom:2%; width:38%; opacity:.58; clip-path:polygon(24% 20%,33% 17%,43% 18%,54% 22%,59% 30%,62% 35%,70% 40%,74% 50%,78% 62%,75% 72%,71% 81%,68% 91%,69% 100%,37% 100%,28% 97%,23% 93%,18% 88%,17% 82%,21% 77%,25% 72%,21% 68%,20% 61%,20% 55%,19% 51%,14% 47%,14% 39%,16% 31%,20% 24%); }
.hero-photo-fragment--crouch img { left:0; }
.hero-photo-fragment--woman { right:2%; top:2%; width:34%; opacity:.53; clip-path:polygon(31% 14%,38% 12%,52% 12%,60% 15%,63% 23%,65% 32%,64% 41%,68% 48%,75% 53%,79% 61%,80% 74%,76% 88%,72% 100%,16% 100%,8% 92%,11% 80%,14% 69%,18% 58%,24% 52%,28% 46%,25% 38%,23% 32%,25% 23%); }
.hero-photo-fragment--woman img { left:-204.06%; }
.opening-visuals:not(.is-close-silhouettes) .hero-photo-collage { display:none; }
.identity-watermark { opacity:.62; }
@media(max-width:760px) {
 .identity-watermark { opacity:.53; }
 .hero-photo-fragment--crouch { width:42%; left:-4%; }
 .hero-photo-fragment--woman { width:38%; right:0; }
}

/* Deux bêtes : première carte compacte, lecteur au format vertical original */
.deux-betes-media { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; align-items:center; margin:16px 0 18px; }
#collaborations .deux-betes-media .collaboration-media { margin:0; }
#collaborations .deux-betes-media .collaboration-media img { max-height:200px; }
.deux-betes-media .collaboration-video-frame { width:100%; max-width:180px; aspect-ratio:240/426; margin:0 auto; background:transparent; }
.deux-betes-media .collaboration-video-frame iframe { width:100%; height:100%; transform:none; }

/* Nuit Blanche : une seule photographie originale sur toute la largeur */
.archive-generator { max-width:none; width:100%; }
.archive-generator-images img { width:100%; max-height:none; height:auto; background:transparent; }

/* La photo Verna rentre davantage dans le cadre bleu */
.opening-visuals.is-close-silhouettes .verna-inset { right:6%; bottom:3%; transform:rotate(2deg); }
@media(max-width:760px) {
 .opening-visuals.is-close-silhouettes .verna-inset { right:4%; bottom:4%; transform:rotate(2deg); }
}

/* Accueil : silhouette seule sur ivoire, collaboration annoncée sans effet fantôme */
.opening-collaboration-study { position:relative; min-height:clamp(560px,70vh,780px); overflow:hidden; background:#f7f0e1; }
.opening-collaboration-study .marc-cutout { position:absolute; z-index:1; left:0; bottom:0; width:min(94%,920px); margin:0; }
.opening-collaboration-study .marc-cutout img { display:block; width:100%; height:auto; }
.opening-collaboration-study .hero-project-link { position:absolute; z-index:3; top:3%; left:6%; display:flex; align-items:center; gap:12px; color:#7b3045; text-decoration:none; text-align:left; }
.opening-collaboration-study .hero-project-link span { font-family:Georgia,serif; font-size:clamp(36px,4.2vw,64px); line-height:1; }
.opening-collaboration-study .hero-project-link b { font-size:28px; line-height:1; font-weight:400; }
.opening-collaboration-study .hero-collaboration-link { position:absolute; z-index:3; top:10%; right:9%; display:grid; grid-template-columns:auto auto; align-items:end; justify-items:end; column-gap:14px; color:#7b3045; text-decoration:none; text-align:right; }
.opening-collaboration-study .hero-collaboration-link span { grid-column:1 / -1; font-family:Georgia,serif; font-size:clamp(28px,3.2vw,46px); line-height:.92; }
.opening-collaboration-study .hero-collaboration-link small { max-width:180px; margin-top:12px; font-size:12px; line-height:1.35; letter-spacing:.08em; text-transform:uppercase; }
.opening-collaboration-study .hero-collaboration-link b { font-size:38px; line-height:1; font-weight:400; }
.opening-collaboration-study .hero-collaboration-link:hover span,.opening-collaboration-study .hero-collaboration-link:focus-visible span { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
.opening-collaboration-study .hero-project-link:hover span,.opening-collaboration-study .hero-project-link:focus-visible span { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:6px; }
.opening-collaboration-study .verna-inset { display:block; position:absolute; z-index:2; right:9%; bottom:4%; width:clamp(145px,18vw,230px); margin:0; transform:rotate(1.5deg); }
.opening-collaboration-study .verna-inset img { display:block; width:100%; height:auto; aspect-ratio:1/1; object-fit:cover; }
@media(max-width:760px) {
 .opening-hero .identity-copy { padding-bottom:8px; }
 .opening-collaboration-study { min-height:60vh; margin-top:-14px; }
 .opening-collaboration-study .marc-cutout { left:-10%; bottom:7%; width:105%; }
 .opening-collaboration-study .hero-project-link { top:0; left:5%; right:auto; }
 .opening-collaboration-study .hero-project-link span { font-size:clamp(28px,9vw,38px); }
 .opening-collaboration-study .hero-collaboration-link { top:9%; right:5%; }
 .opening-collaboration-study .hero-collaboration-link span { font-size:clamp(26px,8.5vw,38px); }
 .opening-collaboration-study .hero-collaboration-link small { display:none; }
 .opening-collaboration-study .verna-inset { right:3%; bottom:9%; width:clamp(105px,31vw,145px); }
}

@media(min-width:761px) {
 .opening-collaboration-study { overflow:visible; }
 .opening-collaboration-study .marc-cutout { left:-33%; }
 .identity-copy { z-index:2; padding-top:96px; }
 .identity-watermark { top:104px; opacity:.82; filter:contrast(1.38) saturate(.88); }
 .identity-copy .identity-role,.identity-copy .identity-care { position:absolute; left:4vw; display:table; width:auto; margin:0; background:#f7f0e1; padding:2px 6px; }
 .identity-copy .identity-role { top:20px; }
 .identity-copy .identity-care { top:78px; }
 .identity-copy h1 { width:max-content; max-width:360px; margin-left:clamp(190px,22vw,300px); margin-bottom:2vh; font-size:clamp(48px,5.6vw,82px); }
 .identity-copy .lead { margin-left:0; }
}

/* Accueil mobile : reprendre le portrait dense et les métiers au-dessus,
   sans l'ancien surlignage bleu ni effet de filigrane pâle. */
@media(max-width:760px) {
 .opening-hero .identity-copy { padding-top:88px; }
 .identity-watermark {
  top:94px;
  left:6vw;
  width:clamp(135px,40vw,178px);
  opacity:.82;
  filter:contrast(1.38) saturate(.88);
 }
 .identity-copy .identity-role,.identity-copy .identity-care {
  position:absolute;
  left:6vw;
  display:table;
  width:auto;
  margin:0;
  padding:2px 6px;
  background:#f7f0e1;
  color:#151515;
  font-size:clamp(11px,3.4vw,14px);
  letter-spacing:.07em;
  white-space:nowrap;
 }
 .identity-copy .identity-role { top:18px; }
 .identity-copy .identity-care { top:37px; }
 .identity-copy h1 {
  width:auto;
  max-width:none;
  min-height:clamp(184px,51vw,224px);
  margin:2vh 0 2vh 46vw;
  font-size:clamp(40px,12.5vw,56px);
  line-height:.88;
 }
 .mobile-title-break { display:block; }
 .desktop-title-space { display:none; }
 .identity-copy .lead { clear:both; margin:0 0 4vh; }
}

.future .future-squat-cube > img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; object-position:center; margin:0 0 22px; background:#53636e; }

.archive-generator-heading h3 { font-family:Georgia,serif; font-size:clamp(30px,4vw,54px); font-weight:400; margin:10px 0 14px; }
.archive-generator-heading p { font-size:17px; line-height:1.5; }
.archive-generator-photo { margin:28px 0 42px; }
.archive-generator-photo > img { display:block; width:100%; height:auto; }

/* Navigation : même rouge brun que les liens d’entrée de l’accueil */
.section-arrow,.hero-arrow { color:#7b3045; }
.section-arrow-pair { display:flex; justify-content:center; align-items:center; gap:24px; margin:70px auto -78px; }
.section-arrow-pair .section-arrow { margin:0; }
.section-up-arrow:hover { transform:translateY(-4px); }
.carousel-controls button,#avenir .future-carousel-controls button { color:#7b3045; border-color:#7b3045; }
.carousel-controls button:hover,.carousel-controls button:focus-visible,#avenir .future-carousel-controls button:hover,#avenir .future-carousel-controls button:focus-visible { background:#7b3045; color:#f7f0e1; }
@media(max-width:760px) { .section-arrow-pair { margin:48px auto -52px; } }

/* Les galeries acceptent le glissement horizontal et le défilement vertical. */
.collaborations-grid,.video-carousel,.inspiration-carousel,.care-video-links.care-examples,.workshop-photos,#avenir .future {
 touch-action:pan-x pan-y pinch-zoom;
 overscroll-behavior-x:contain;
 -webkit-overflow-scrolling:touch;
}

/* Anniversary announcement in the Projects section. */
#projet-frasq .generator-anniversary { display:inline-flex; align-items:center; gap:.55em; margin:.55em 0; padding:.35em .65em; border:1px solid currentColor; border-radius:2px; color:#772d39; font-family:Arial,Helvetica,sans-serif; font-size:.9em; line-height:1.4; }
#projet-frasq .generator-anniversary::before { content:""; flex:0 0 .5em; width:.5em; height:.5em; border-radius:50%; background:currentColor; animation:generator-anniversary-glow 2.4s ease-in-out infinite; }
@keyframes generator-anniversary-glow { 0%,100% { opacity:1; box-shadow:0 0 0 0 rgba(119,45,57,.35); } 50% { opacity:.35; box-shadow:0 0 0 .35em rgba(119,45,57,0); } }
@media (prefers-reduced-motion:reduce) { #projet-frasq .generator-anniversary::before { animation:none; } }
@media print { #projet-frasq .generator-anniversary::before { animation:none; } }

/* Two supplied posters alternate clearly, without rapid flashing. */
#projet-frasq .generator-posters { display:grid; position:relative; width:100%; margin:0 0 22px; padding:0; background:#000; overflow:hidden; aspect-ratio:9/16; }
#projet-frasq .generator-posters img { grid-area:1/1; display:block; width:100%; height:100%; max-height:none; margin:0; aspect-ratio:auto; object-fit:contain; background:#000; }
#projet-frasq .generator-posters img { animation:generator-poster-switch 9s steps(1,end) infinite; opacity:0; }
#projet-frasq .generator-posters img:nth-child(2) { animation-delay:-6s; }
#projet-frasq .generator-posters img:nth-child(3) { animation-delay:-3s; }
@keyframes generator-poster-switch { 0% { opacity:1; } 33.333%,100% { opacity:0; } }
@media (prefers-reduced-motion:reduce), print { #projet-frasq .generator-posters { aspect-ratio:auto; } #projet-frasq .generator-posters img { grid-area:auto; height:auto; } #projet-frasq .generator-posters img { animation:none; opacity:1; } }

/* Mobile: reserve the full silhouette's height rather than clipping an absolute image. */
@media(max-width:760px) {
 .opening-collaboration-study { min-height:0; height:auto; overflow:visible; padding:150px 0 160px; }
 .opening-collaboration-study .marc-cutout { position:relative; inset:auto; width:100%; height:auto; margin:0; overflow:visible; }
 .opening-collaboration-study .marc-cutout img { width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:3/2; object-fit:contain; object-position:center; clip-path:none; }
 .opening-collaboration-study .verna-inset { bottom:10px; right:3%; }
}

/* Bring the collaboration entrance into the space between the red tissue and portrait. */
.opening-collaboration-study .hero-collaboration-link { top:32%; right:22%; }
.opening-collaboration-study .hero-collaboration-link span { font-size:clamp(30px,3.45vw,50px); }
@media(max-width:760px) {
 /* Keep this link in normal flow, below the full silhouette, so it cannot cover the body. */
 .opening-collaboration-study .hero-collaboration-link { position:relative; inset:auto; width:62%; margin:16px 0 0 6%; justify-items:start; text-align:left; }
 .opening-collaboration-study .hero-collaboration-link span { font-size:clamp(29px,8.8vw,40px); }
}

/* Tablet: size the opening composition from its width, not the tall viewport. */
@media (min-width:761px) and (max-width:1180px) {
 .opening-hero { min-height:0; }
 .opening-hero .identity { flex:none; min-height:0; height:clamp(680px,85vw,860px); }
 .opening-collaboration-study { min-height:0; height:100%; }
 .opening-collaboration-study .marc-cutout { bottom:28px; }
 .opening-collaboration-study .verna-inset { bottom:45px; }
 .opening-collaboration-study .hero-collaboration-link { top:33%; right:15%; }
}
@media (min-width:761px) {
 .identity-copy .identity-care { top:40px; }
}

/* Preserve the complete video image and native player controls. */
.video-frame iframe { transform:none; }

/* Smaller care photograph, preserving its complete original frame. */
.care-relation-photo { width:72%; max-width:360px; margin:22px auto 0; }

/* Keep all professions in a single flowing block when the first line wraps. */
.identity-copy .identity-professions { position:absolute; top:20px; left:4vw; right:4vw; display:flex; flex-direction:column; align-items:flex-start; gap:2px; z-index:3; }
.identity-copy .identity-professions .identity-role,
.identity-copy .identity-professions .identity-care { position:static; inset:auto; display:block; width:auto; max-width:100%; margin:0; white-space:normal; overflow-wrap:normal; }
@media(max-width:760px) {
 .identity-copy .identity-professions { top:18px; left:6vw; right:6vw; }
}

/* Preserve the established composition; lower only the introductory paragraph. */
@media(min-width:761px) {
 .identity-copy .lead { margin-top:44px; }
 .opening-collaboration-study .hero-collaboration-link { right:4%; }
}

/* Wrap the title before lieu, preserving the established size and silhouette position. */
@media(min-width:761px) {
 .identity-copy h1 .mobile-title-break { display:block; }
 .identity-copy h1 .desktop-title-space { display:none; }
}

/* Keep ACTEUR with the other stage professions and the care role directly below. */
@media(min-width:761px) {
 .identity-copy .identity-professions { gap:0; }
 .identity-copy .identity-professions .identity-role,
 .identity-copy .identity-professions .identity-care { font-size:clamp(11px,1.05vw,16px); line-height:1.35; letter-spacing:.07em; }
 .identity-copy .identity-professions .identity-role { white-space:nowrap; width:max-content; max-width:none; }
}

/* Show the film thumbnail without Vimeo chrome until playback is requested. */
.video-frame,.collaboration-video-frame,.video-carousel .video-frame { background:transparent; aspect-ratio:auto; }
.video-preview { position:relative; display:block; width:100%; aspect-ratio:var(--video-ratio); padding:0; border:0; background:transparent; cursor:pointer; }
.video-preview img { display:block; width:100%; height:100%; object-fit:contain; }
.video-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,.92); color:#7b3045; font:24px/1 Arial,sans-serif; padding-left:4px; box-sizing:border-box; }
.video-preview:focus-visible { outline:3px solid #7b3045; outline-offset:4px; }
