@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&display=swap");
@font-face{font-family:Terpsichore;src:url("fonts/terpsichore.woff2") format("woff2");font-display:swap}@font-face{font-family:Fragoles;src:url("fonts/FRAGOLES-Regular.ttf") format("truetype");font-display:swap}
:root{--bg:#fff;--fg:#000;--muted:#000;--line:#000;--frag-bg:#001d1d;--frag-fg:#d7ffcd;--terp-bg:#2f5667;--terp-fg:#86f58d}.night{--bg:#000;--fg:#fff;--muted:#fff;--line:#fff;--frag-bg:#d7ffcd;--frag-fg:#001d1d;--terp-bg:#86f58d;--terp-fg:#2f5667}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.35 "DM Mono",monospace;transition:background .18s,color .18s}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;color:#07FB1A}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;padding:14px 16px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start;background:var(--bg)}.brand{font-weight:500}.site-header nav{display:flex;gap:22px;max-height:1row }.mode-button{justify-self:end;width:20px;height:20px;padding:0;border:0;background:none;color:var(--fg);cursor:pointer;display:grid;place-items:center}.mode-button svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mode-button .moon{fill:currentColor;stroke:none}
.hero{height:100svh;min-height:650px;padding:85px 16px 16px;display:flex;flex-direction:column;justify-content:space-between}.hero h1{margin:0;font:400 clamp(86px,16vw,245px)/.76 Georgia,"Times New Roman",serif;letter-spacing:-.075em}.hero p{margin:38px 0 0;text-transform:uppercase;font-size:10px}.hero-foot{border-top:1px solid var(--line);padding-top:7px;display:flex;justify-content:space-between;text-transform:uppercase;font-size:9px}
.work,.about,.index{padding:45px 16px 100px}.section-top{border-top:1px solid var(--line);padding:7px 0 26px;display:flex;justify-content:space-between;text-transform:uppercase;font-size:9px}.project{padding:0 0 45px;margin-bottom:45px;border-bottom:1px solid var(--line)}.project-head{display:grid;grid-template-columns:28px 1fr 1fr;gap:10px;align-items:start}.plus{width:22px;height:22px;border:1px solid var(--fg);border-radius:50%;background:transparent;color:var(--fg);cursor:pointer;font:inherit;line-height:19px}.title{margin:0;font:400 23px/1 Georgia,"Times New Roman",serif}.cat,.caption,.media-label{font-size:9px;text-transform:uppercase;color:var(--muted)}.cat{margin-top:5px}.details{display:none;grid-column:2/-1;max-width:760px;padding-top:18px}.project.open .details{display:block}.details p{margin:0 0 12px}
.visuals{margin-bottom:18px}.source{display:block;width:100%;height:auto}.visual-frame{position:relative;overflow:hidden}.visual-frame img{display:block;width:100%;height:auto}.row{display:flex;gap:0;align-items:stretch}.row img{display:block;object-fit:contain}
.mepp1-single{width:100%;background:#000}.type-book{display:inline-grid;grid-template-columns:45% 50%;gap:60px;justify-content: space-between}.terp-type,.terp-book{width:100%;height:100%; background: #000}.terp-type{align-self:start}.terp-book{justify-self: flex-end}.terp-cover{padding:50px 0px 0px;display: grid;grid-template-columns: 42% 13% 42%; justify-content: space-between; width:100%;height:100%;gap :15px}.t-left,.t-strip,.t-right{width:100%}.t-left{width:100%;float: left}.t-strip{width: 100%}.t-right{justify-self: end; width: 100%;float: right}
.opium-top{display:grid;grid-template-columns:51% 48.1%;background:#000;justify-content:center;justify-content: flex-start}.opium-cover,.opium-single{width:100%;background:#000}.opium-single{align-self: start}.opium-double{display:grid;grid-template-columns:50% 50%;place-items:center;background:#000;justify-content: center}.opium-half1,.opium-half2{width: 100%; background: #000}
.memoire{display:grid;grid-template-columns:22.8% 37.5%;gap:60px;place-items:center;background:#000;justify-content: center}.memoire-cover,.memoire-book{width:100%}
.stars-top{display:grid;grid-template-columns:45% 50%;grid-gap:35px;align-items:space-between;background: #FFF}.stars-logo{width:90%;display:grid}.stars-app{width:100%;display:grid}.stars-bus{display:grid;width:100%;height:100%;background: #FFF;justify-content: space-between}.stars-mockup{padding: 40px 0px 0px;width: 100%; background:#FFF}.stars-middle{background: #FFF;padding:50px 0px 0px;display:grid;grid-template-columns:33% 33% 33%;justify-content:space-between;background: #FFF}.mepp7-single,.mepp8-single,.mepp9-single{width:100%;height:auto}.mepp7-single{align-self:end}.mepp8-single{align-self:center}.stars-bottom{background:#FFF; padding:50px 0px 0px;display:grid;grid-template-columns:40% 60%}.stars-phone-grid,.stars-window{width:100%;height:100%;object-fit:cover}
.grosmots-layout{display:grid;grid-template-columns:35% 60%;justify-content:space-between;background: #000}.gros-cover,.gros-grid{width:100%;height:auto;justify-content: space-between}.gros-cover{align-self:center}.gros-grid{align-self:flex-end}
.fluctuat-layout{display:grid;grid-template-columns:26% 30% 30% 30%;gap:10px;justify-content:space-between;background:#fff}.fluct-symbols{grid-row:1/3;width:100%;height:100%;object-fit:contain;justify-content: space-between}.fluct-pattern-a,.fluct-pattern-b{width:100%;height:100%;object-fit:cover; justify-content: space-between}.fluct-pattern-a{grid-column:2;grid-row:1;object-position:right}.fluct-pattern-b{grid-column:3;grid-row:1;object-position:right}.fluct-boat-fallback{grid-column:2/4;grid-row:2;width:100%;height:100%;object-fit:cover;object-position:right;}.night .fluctuat-layout{background:#000}
.transparence-layout{display:grid;grid-template-columns:28% 28% 42%;justify-content: space-between; background: #000}.trans-cover,.trans-tall,.trans-wide{width:100%;height:auto}.trans-tall{align-self:end}.trans-wide{align-self:center}
.fabrique-layout{display:grid;grid-template-columns:4fr 1.3fr;grid-template-rows:repeat(3,auto);column-gap:14px;align-items:start}.fabrique-main{grid-column:1;grid-row:1/4;width:100%}.fabrique-card{grid-column:2;width:100%;margin-bottom:10px}.fabrique-card:nth-child(2){grid-row:1}.fabrique-card:nth-child(3){grid-row:2}.fabrique-card:nth-child(4){grid-row:3}
.festival-layout{display:grid;grid-template-columns:4fr 1.265fr;grid-template-rows:auto auto auto;gap:15px;align-items:start}.festival-main{grid-column:1;grid-row:1/4;width:100%}.festival-card{grid-column:2;width:100%}.festival-card:nth-child(2){grid-row:1}.festival-card:nth-child(3){grid-row:2}.festival-small{grid-column:2;grid-row:3;width:100%}
.mairie18{width: 100%}.tour-layout{display:grid;grid-template-columns:50.64% 48.87%;justify-content: space-between}.tour-left,.tour-right{width:100%}
.fungi-layout{display:grid;grid-template-columns:30% 67%;align-items:grid;gap:10px;justify-content: space-between}.fungi-small{grid-column:1;grid-row:1;width:100%}.fungi-detail{grid-column:1;grid-row:2;width:100%}.fungi-main{grid-column:2;grid-row:1/3;width:100%;height:100%;object-fit:cover}
.project-media{width:100%;margin:0 0 22px}.project-media iframe{display:block;width:100%;border:0;background:transparent}.figma-frame{height:100svh;min-height:650px}.video-frame{height:min(82svh,900px);min-height:520px;background:#000!important}.media-label{padding:0 0 7px}
.font-tester{margin:18px 0 22px;padding:16px;background:var(--tester-bg);color:var(--tester-fg)}.font-tester.terpsichore{--tester-bg:var(--terp-bg);--tester-fg:var(--terp-fg)}.font-tester.fragoles{--tester-bg:var(--frag-bg);--tester-fg:var(--frag-fg)}.tester-head,.tester-foot{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:9px}.tester-head input{width:70px;background:transparent;border:0;border-bottom:1px solid currentColor;color:inherit;font:inherit;text-align:right}.font-specimen{font-size:clamp(64px,10vw,150px);line-height:.88;outline:none;min-height:2.5em;padding:30px 0;overflow-wrap:anywhere}.font-tester.terpsichore .font-specimen{font-family:Terpsichore,sans-serif}.font-tester.fragoles .font-specimen{font-family:Fragoles,sans-serif}.tester-foot{opacity:.8}.font-hint{font-style:italic;text-transform:none}
.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:50px;max-width:1050px}.about h2{margin:0 0 25px;font:400 clamp(50px,8vw,110px)/.78 Georgia,"Times New Roman",serif;letter-spacing:-.06em}.about p{max-width:650px}.skills{text-transform:uppercase}.skills span{display:block;margin-bottom:5px}.index-row{display:grid;grid-template-columns:45px 1fr 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.index-row a{font:400 20px/1 Georgia,"Times New Roman",serif}.index-row span:last-child{color:var(--muted);text-transform:uppercase;font-size:9px}footer{margin:0 16px;border-top:1px solid var(--line);padding:10px 0 24px;display:flex;justify-content:space-between;text-transform:uppercase;font-size:9px}
@media(max-width:760px){.site-header{display:flex;align-items:center;gap:clamp(8px,2.4vw,15px);padding:10px 11px;white-space:nowrap}.site-header .brand{flex:0 1 auto;min-width:0;font-size:11.5px}.site-header nav{display:flex;align-items:center;gap:clamp(9px,3vw,15px);margin:0;flex:0 0 auto;font-size:11.5px}.site-header nav a{white-space:nowrap}.mode-button{flex:0 0 19px;width:19px;height:19px;margin-left:auto}.mode-button svg{width:18px;height:18px}.hero{min-height:560px;padding-top:90px}.hero h1{font-size:clamp(70px,20vw,125px)}.project-head{grid-template-columns:28px 1fr}.caption{grid-column:2}.details{grid-column:2}.row,.stars-top,.stars-bottom,.grosmots-layout,.transparence-layout,.fabrique-layout,.festival-layout,.tour-layout,.fungi-layout{display:grid;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:8px}.terp-cover{grid-template-columns:1fr!important}.terp-cover img{width:100%!important;max-height:none!important}.stars-top img,.stars-bottom img,.grosmots-layout img,.transparence-layout img,.fabrique-layout img,.festival-layout img,.tour-layout img,.fungi-layout img{grid-column:1!important;grid-row:auto!important}.figma-frame{height:100svh;min-height:560px}.video-frame{height:auto;aspect-ratio:16/9;min-height:0}.about-grid{grid-template-columns:1fr}.index-row{grid-template-columns:30px 1fr}.index-row span:last-child{grid-column:2}}

/* Image lightbox */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.96);color:#fff;display:none;align-items:center;justify-content:center;overscroll-behavior:contain}
.lightbox.is-open{display:flex}
.lightbox-viewport{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none;cursor:zoom-out}
.lightbox-top,.lightbox-bottom{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font:11px/1.2 "DM Mono",monospace;text-transform:uppercase;pointer-events:none}
.lightbox-top{top:0}
.lightbox-bottom{bottom:0}
.lightbox-top>* ,.lightbox-bottom>*{pointer-events:auto}
.lightbox-project,.lightbox-counter{opacity:.9}
.lightbox-button{width:34px;height:34px;border:1px solid currentColor;background:transparent;color:inherit;border-radius:50%;display:grid;place-items:center;cursor:pointer;font:inherit}
.lightbox-button:hover{background:#fff;color:#000;text-decoration:none}
.lightbox-nav{position:absolute;top:50%;z-index:2;transform:translateY(-50%);width:46px;height:72px;border:0;background:transparent;color:#fff;cursor:pointer;font:22px/1 Arial,sans-serif;opacity:.85}
.lightbox-nav:hover{opacity:1}
.lightbox-prev{left:12px}.lightbox-next{right:12px}
.lightbox-hint{opacity:.65;font-size:9px}
body.lightbox-open{overflow:hidden}
.visuals img{cursor:zoom-in}
@media (hover:hover) and (pointer:fine){.visuals img{cursor:zoom-in}}
@media (max-width:760px){
  .lightbox-viewport{padding:48px 42px}
  .lightbox-nav{width:38px;height:60px}
  .lightbox-prev{left:1px}.lightbox-next{right:1px}
  .lightbox-top,.lightbox-bottom{padding:10px 11px}
  .lightbox-hint{display:none}
}
