.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:dark;--bg:#0a090b;--bg-soft:#121014;--surface:#17141a;--surface-strong:#211b24;--text:#f4f0ea;--muted:#b7aea6;--line:#f4f0ea29;--red:#7d3c3f;--eyebrow:#a06a72;--cyan:#2fc2d6;--green:#a5d63b;--gold:#cda76a;--max:1180px;--header-height:113px}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{background:linear-gradient(180deg, #d5332f14, transparent 520px), var(--bg);min-width:320px;color:var(--text);margin:0;font-family:Courier New,Courier,monospace;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}body.artworks-index:before{content:"";inset:var(--header-height) 0 0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0a090bb8,#0a090b59 55%,#0a090b80),url(/assets/site/oeuvres-araignee-fond-v2.webp) 50%/cover no-repeat;position:fixed}body.artworks-index .site-content,body.artworks-index .site-footer{z-index:1;position:relative}body.artworks-index .page-intro{text-shadow:0 2px 16px #000000e6}body.vivid-atmosphere-page main,body.dark-line-spectrum-page main{--text:#fffdf9;--muted:#eee8e2;--eyebrow:#df5548;--red:#df5548;text-shadow:0 2px 5px #000000f2,0 0 14px #000000a6}body.vivid-atmosphere-page main{--eyebrow:#d6aeb9;--red:#d6aeb9}body.bio:before{content:"";inset:var(--header-height) 0 0;z-index:0;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#0a090beb,#0a090b9e 46%,#0a090bdb),linear-gradient(#0a090bb8,#0000 66%,#0a090bfa),url(/assets/bio-generated/christmas-v1/bio-christmas-02-apparition-rideau-rouge.png);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:fixed}body.contact:before{content:"";inset:var(--header-height) 0 0;z-index:0;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#0a090beb,#0a090b8a 48%,#0a090bc2),linear-gradient(#0a090ba3,#0000 58%,#0a090bf5),url(/assets/hero-generated/candy-cane-forest-v1/hero-candy-cane-forest-03-procession-sucres-orge.png);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:fixed}body.legacy-index:before{content:"";inset:var(--header-height) 0 0;z-index:0;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#0a090bdb,#0a090b99 46%,#0a090b7a),linear-gradient(#0000 52%,#0a090bd1),url(/assets/site/anciens-projets-vivid-pressbook-v2.webp);background-position:50%;background-repeat:repeat,repeat,repeat;background-size:cover;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:fixed}body.collections-index:before{content:"";inset:var(--collections-header-height,var(--header-height)) 0 0;z-index:0;pointer-events:none;background-color:#37312d;background-image:linear-gradient(90deg,#0a090bdb,#0a090b99 46%,#0a090b7a),linear-gradient(#0000 52%,#0a090bd1),url(/assets/site/collections-personnage-entier-v2.webp),url(/assets/site/collections-decor-beton-sucre-v2.webp);background-position:50%,50%,65%,50%;background-repeat:no-repeat;background-size:cover,cover,auto min(100%,125vw),cover;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;position:fixed}body.expositions-index{--expositions-image-height:min(calc(100svh - var(--expositions-header-height,var(--header-height))), 62vw)}body.expositions-index:before{content:"";inset:var(--expositions-header-height,var(--header-height)) 0 0;z-index:0;pointer-events:none;background:linear-gradient(90deg,#0a090bdb,#0a090b99 46%,#0a090b7a) 50%,linear-gradient(#0000 52%,#0a090bd1) 50%,url(/assets/site/expositions-tableaux-entiers-v11.webp) 35%,url(/assets/site/expositions-decor-beton-v11.webp) 50%;background-size:cover, cover, auto var(--expositions-image-height), cover;background-color:#615549;background-repeat:no-repeat;position:fixed}body.expositions-index .page-intro{min-height:max(0px, calc(var(--expositions-image-height) * .78 - clamp(44px, 7vw, 86px) - 44px))}body.masques-page:before{content:"";inset:var(--archive-header-height,var(--header-height)) 0 0;z-index:0;pointer-events:none;background-color:#292623;background-image:linear-gradient(90deg,#0a090bd6,#0a090b99 46%,#0a090b66),linear-gradient(#0000 52%,#0a090bd1),url(/assets/site/masques-cuivre-beton-v3.webp);background-position:50%,50%,100%;background-repeat:no-repeat;background-size:cover,cover,auto min(100% - 32px,110vw);background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:fixed}body.vivid-atmosphere-page:before{content:"";inset:var(--archive-header-height,var(--header-height)) 0 0;z-index:0;pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#00000061,#0000003d 46%,#0000002e),linear-gradient(#0000 52%,#00000061),linear-gradient(#8b4c661f,#8b4c661f),url(/assets/site/vivid-atmosphere-pierres-laterales-v39.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;position:fixed}body.gwen-page{--archive-concrete-background:url(/assets/site/gwen-beton-ferraille-v1.webp)}body.darkleeloo-page:before,body.gwen-page:before,body.dark-line-spectrum-page:before,body.techny-call-x-page:before{content:"";inset:var(--header-height) 0 0;z-index:0;pointer-events:none;background:linear-gradient(90deg, #0a090bd1, #0a090ba3 46%, #0a090b94), linear-gradient(0deg, #0a090bd1, transparent 48%), var(--archive-concrete-background,url(/assets/site/darkleeloo-beton-desagrege-v1.webp));background-position:50%;background-size:cover;position:fixed}body.dark-line-spectrum-page{--archive-concrete-background:url(/assets/site/dark-line-spectrum-marionnettes-cirque-v2.webp)}body.techny-call-x-page{--archive-concrete-background:url(/assets/site/techny-call-x-positions-selection-v3.webp)}body.techny-call-x-page:before{filter:saturate(.75);background-position:50%,50%,50% 65%}body.dark-line-spectrum-page:before{background-image:linear-gradient(90deg, #0000007a, #00000047 46%, #00000038), linear-gradient(0deg, #00000073, transparent 48%), var(--archive-concrete-background);background-position:50%,50%,top;background-repeat:no-repeat;background-size:cover,cover,cover;background-color:var(--bg)}@media (width<=880px){body.vivid-atmosphere-page:before{background-position:50%,50%,53%}body.expositions-index:before{background-position:50%,50%,65%,50%}}body.legacy-index .site-content,body.legacy-index .site-footer,body.collections-index .site-content,body.collections-index .site-footer,body.expositions-index .site-content,body.expositions-index .site-footer,body.masques-page .site-content,body.masques-page .site-footer,body.vivid-atmosphere-page .site-content,body.vivid-atmosphere-page .site-footer,body.darkleeloo-page .site-content,body.darkleeloo-page .site-footer,body.gwen-page .site-content,body.gwen-page .site-footer,body.dark-line-spectrum-page .site-content,body.dark-line-spectrum-page .site-footer,body.techny-call-x-page .site-content,body.techny-call-x-page .site-footer{z-index:1;position:relative}body.legacy-index .page-intro,body.legacy-index .section-heading,body.collections-index .page-intro,body.expositions-index .page-intro,body.masques-page .page-intro,body.masques-page .gallery-back,body.masques-page .mask-archives h2,body.vivid-atmosphere-page .page-intro,body.vivid-atmosphere-page .gallery-back,body.vivid-atmosphere-page .legacy-project-body,body.vivid-atmosphere-page .vivid-archives h2,body.darkleeloo-page .page-intro,body.darkleeloo-page .gallery-back,body.gwen-page .page-intro,body.gwen-page .gallery-back,body.dark-line-spectrum-page .page-intro,body.dark-line-spectrum-page .gallery-back,body.techny-call-x-page .page-intro,body.techny-call-x-page .gallery-back{text-shadow:0 2px 16px #000c}body.bio .site-header,body.contact .site-header,body.bio main,body.contact main,body.bio .site-footer,body.contact .site-footer{z-index:1;position:relative}body.bio .page-intro,body.contact .page-intro,body.bio .text-flow,body.contact .contact-panel{text-shadow:0 2px 18px #000000d6}.site-header{z-index:20;min-height:var(--header-height);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);background:#0a090bc7;justify-content:space-between;align-items:center;gap:24px;padding:16px clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:190px;display:inline-flex}.brand-mark{background:#302d28;border:1px solid #f4f0ea57;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:80px;padding:4px;display:flex;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0}.brand strong,.brand small{display:block}.brand strong{font-size:.98rem;line-height:1.2}.brand small{color:var(--muted);font-size:.78rem}.main-nav{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:8px 18px;font-size:1.2rem;display:flex}.main-nav a{padding:4px 0}.main-nav a:hover{color:var(--text)}.site-content{position:relative}.site-construction-notice{z-index:1;justify-content:flex-start;padding:10px clamp(18px,4vw,48px);display:flex;position:relative}.site-construction-notice img{width:clamp(96px,10.8vw,126px);height:auto}.hero{min-height:calc(100svh - var(--header-height));align-items:end;display:grid;position:relative;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{object-fit:cover;width:100%;height:100%}body.home .hero{min-height:0;display:block}body.home .hero-image{object-fit:contain;object-position:center;height:auto;padding:0;position:relative;inset:auto;mask-image:none}body.home .hero-content{width:min(520px,50% - 48px);margin:0;padding:0;position:absolute;inset:clamp(32px,8vh,96px) auto auto clamp(24px,4vw,72px);transform:none}body.home .hero h1{margin:10px 0 20px;font-size:clamp(3.25rem,6.6vw,7rem);line-height:1}body.home .hero .eyebrow{margin:0;font-size:clamp(1.2rem,2.1vw,1.7rem)}body.home .hero p:not(.eyebrow){max-width:440px;margin:0;font-size:clamp(1rem,1.5vw,1.25rem)}body.home .hero-actions{margin-top:24px}@media (width<=880px){body.home .hero-content{width:min(520px,100% - 36px);margin:0 auto;padding:28px 0 42px;position:relative;inset:auto}}.hero-overlay{background:linear-gradient(90deg,#0a090bdb,#0a090b47 55%,#0a090ba3),linear-gradient(#0000 52%,#0a090bf5)}.hero-content{width:min(var(--max), calc(100% - 36px));margin:0 auto;padding:0 0 clamp(42px,8vh,80px) clamp(28px,4vw,72px);position:relative;transform:none}@media (width>=1280px){.hero-content{transform:translate(-48px)}}@media (width>=1440px){.hero-content{transform:translate(clamp(-140px,-8vw,-80px))}}.hero h1{letter-spacing:0;max-width:780px;margin:8px 0 14px;font-family:Gabriola,Segoe Script,cursive;font-size:clamp(4rem,14vw,10rem);line-height:.86}.hero p:not(.eyebrow){max-width:620px;color:var(--text);font-size:clamp(1.08rem,2vw,1.35rem)}.hero .eyebrow{letter-spacing:.08em;font-family:Gabriola,Segoe Script,cursive;font-size:clamp(1.45rem,3vw,2.2rem);font-weight:400;line-height:1}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border:1px solid var(--line);justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:700;display:inline-flex}.button.primary{background:var(--text);color:var(--bg);border-color:#0000}.button.ghost{color:var(--text);background:#0a090b5c}.button:hover{transform:translateY(-1px)}.section,.page{width:min(var(--max), calc(100% - 36px));margin:0 auto}.section{padding:clamp(58px,8vw,96px) 0}.page{padding:clamp(44px,7vw,86px) 0 clamp(72px,10vw,120px)}.section-heading,.page-intro{max-width:820px;margin-bottom:34px}.page-intro{margin-bottom:44px}.eyebrow{color:var(--eyebrow);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.95rem;font-weight:800}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{margin:0;line-height:1.05}h1,h2{font-family:Gabriola,Segoe Script,cursive;font-weight:500}.page-intro h1,.section-heading h2{font-size:clamp(2.2rem,6vw,5rem)}.page-intro p:not(.eyebrow),.section-heading p+h2+p{color:var(--muted)}.legacy-project-body{max-width:860px;color:var(--muted);margin:-14px 0 42px;font-size:1rem}.legacy-project-body p{margin:0 0 18px}.legacy-project-body p:last-child{margin-bottom:0}.legacy-project-sections{gap:clamp(48px,7vw,78px);display:grid}.legacy-project-section .section-heading{margin-bottom:22px}.legacy-project-section .section-heading h2{font-size:clamp(2rem,5vw,4.1rem)}.legacy-project-links{max-width:860px;margin:0 0 42px}.legacy-project-links h2{color:var(--red);margin-bottom:18px;font-family:Courier New,Courier,monospace;font-size:1.15rem;font-weight:800}.legacy-project-link-grid{flex-wrap:wrap;gap:12px;display:flex}.legacy-project-link-grid a{border:1px solid var(--line);color:var(--text);background:color-mix(in srgb, var(--surface) 88%, transparent);padding:10px 14px}.legacy-project-link-grid a:hover{border-color:var(--red);color:var(--red)}.collection-grid,.artwork-grid{gap:18px;display:grid}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-tile,.artwork-card,.timeline-item,.contact-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 88%, transparent)}.collection-tile{flex-direction:column;justify-content:flex-end;min-height:260px;padding:22px;display:flex}.collection-tile span{color:var(--text);font-size:.82rem;font-weight:700}.collection-tile h3{color:var(--red);overflow-wrap:normal;word-break:normal;margin:10px 0;font-size:2.15rem}.collection-tile-long-title{container-type:inline-size}.collection-tile.collection-tile-long-title h3{font-size:clamp(1rem,9cqi,2.15rem)}.collection-tile p{color:var(--muted);margin:0}.collection-tile:hover{background:var(--surface-strong);border-color:#2fc2d68a}.artwork-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.artwork-card{overflow:hidden}.artwork-media{aspect-ratio:4/5;background:#050506;display:block;overflow:hidden}.artwork-media img{object-fit:cover;width:100%;height:100%;transform-origin:var(--zoom-origin-x,50%) var(--zoom-origin-y,50%);transition:transform .42s}.artwork-card:hover img{transform:scale(1.035)}.artwork-card-body{padding:18px}.artwork-card h3{font-size:1.35rem}.artwork-card p:not(.eyebrow){color:var(--muted)}.meta-row{border-top:1px solid var(--line);color:var(--gold);justify-content:space-between;gap:12px;padding-top:12px;font-size:.86rem;display:flex}.text-flow{max-width:860px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.22rem)}.text-flow p{margin:0 0 22px}.text-flow h2,.text-flow h3{color:var(--text);margin:34px 0 14px;font-family:Gabriola,Segoe Script,cursive;font-weight:500}.text-flow h2{font-size:clamp(1.8rem,4vw,3rem)}.text-flow h3{font-size:clamp(1.35rem,3vw,2rem)}.text-flow strong{color:var(--text)}.text-flow a{color:var(--text);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:.18em}.text-flow.compact{margin-bottom:36px}.legal-updated{margin-top:38px;font-size:.95rem}.artwork-page{width:min(1360px,100% - 36px);margin:0 auto;padding:clamp(34px,6vw,74px) 0 clamp(72px,10vw,120px)}.artwork-detail{grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid}.artwork-detail-media{background:#050506;overflow:hidden}.artwork-detail-media img{object-fit:cover;width:100%;min-height:420px;max-height:78svh;transform-origin:var(--zoom-origin-x,50%) var(--zoom-origin-y,50%);transition:transform .42s;display:block}@media (hover:hover) and (pointer:fine){.artwork-detail-media.is-zoomable{cursor:zoom-in}.artwork-detail-media.is-zoomable:hover img{transform:scale(var(--zoom-scale,1.6))}}.artwork-detail-copy{top:calc(var(--header-height) + 24px);position:sticky}.artwork-detail-copy h1{font-size:clamp(2.6rem,7vw,5.4rem)}.artwork-detail-copy>p{color:var(--muted);font-size:1.2rem}.spec-list{border-top:1px solid var(--line);margin:28px 0}.spec-list div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:18px;padding:12px 0;display:grid}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0}.timeline{gap:16px;display:grid}.timeline-item{padding:22px}.timeline-item h2{font-size:clamp(1.5rem,3vw,2.4rem)}.timeline-item .place{color:var(--text);font-weight:700}.timeline-item .timeline-description{color:var(--muted)}.timeline-link{margin-top:18px}.gallery-back{margin:-22px 0 32px}.gallery-back a{color:var(--eyebrow);font-weight:700}.exhibition-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.exhibition-photo{border:1px solid var(--line);background:var(--panel);margin:0}.exhibition-photo.darkleeloo-group-start,.exhibition-photo.gwen-group-start{grid-column-start:1}.exhibition-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.exhibition-photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.exhibition-photo-button:focus-visible{outline:2px solid var(--eyebrow);outline-offset:4px}body.darkleeloo-page .exhibition-gallery{align-items:start}body.darkleeloo-page.has-photo-lightbox .site-header{z-index:0}.darkleeloo-thumbnail{display:block;position:relative;overflow:hidden}.exhibition-photo .darkleeloo-thumbnail img{left:var(--thumbnail-left);top:var(--thumbnail-top);width:var(--thumbnail-width);aspect-ratio:auto;max-width:none;height:auto;position:absolute}.photo-lightbox{z-index:20;background:#0a090beb;place-items:center;padding:clamp(18px,4vw,48px);display:grid;position:fixed;inset:0}.photo-lightbox[hidden]{display:none}.photo-lightbox img{object-fit:contain;border:1px solid var(--line);max-width:min(100%,1280px);max-height:88vh;box-shadow:0 28px 70px #00000094}.photo-lightbox-close{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:#0a090bb8;font-size:2rem;line-height:1;position:fixed;top:20px;right:22px}body.has-photo-lightbox{overflow:hidden}.contact-panel{max-width:760px;padding:clamp(22px,4vw,36px)}body.contact .contact-panel{backdrop-filter:blur(10px);background:#0a090bad}.contact-link,.contact-link:visited,.contact-link:hover,.contact-link:focus-visible{color:var(--red);margin-bottom:14px;font-family:Gabriola,Segoe Script,cursive;font-size:clamp(1.35rem,4vw,2.5rem);display:inline-block}.contact-panel p{color:var(--muted)}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:26px clamp(18px,4vw,48px);display:flex}.site-footer p{margin:0}.footer-links{flex-wrap:wrap;gap:10px 18px;display:flex}.site-footer a{color:var(--text)}.site-footer a:hover{color:var(--red)}@media (width<=880px){.site-header{flex-direction:column;align-items:flex-start}.main-nav{justify-content:flex-start}.collection-grid,.artwork-grid,.artwork-detail{grid-template-columns:1fr}.artwork-detail-copy{position:static}}@media (width<=560px){.hero{min-height:720px}.hero h1{font-size:clamp(3.4rem,22vw,5.8rem)}.collection-tile h2,.collection-tile h3{font-size:1.85rem}.spec-list div{grid-template-columns:1fr;gap:2px}}
