:root{--bone:#eee8dd;--surface:#f6f2ea;--stone:#c4c6bb;--taupe:#898163;--ink:#1c1a14;--ink-2:#1c1a149e;--paper-on-ink:#f4f0e7;--muted:#5c5344;--muted-on-ink:#c7c2b0;--line:#dad7cc;--line-on-ink:#f4f0e729;--clay:#ae7052;--clay-deep:#8b5a42;--font-display:"Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--font-body:"Inter", "Helvetica Neue", Arial, sans-serif;--maxw:1280px;--gutter:clamp(1.25rem, 5vw, 5rem);--radius:2px;--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bone);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:clamp(1rem,.97rem + .18vw,1.075rem);line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-weight:600;line-height:1.02}.section-title{letter-spacing:-.035em;font-size:clamp(1.9rem,1.3rem + 2.6vw,3.25rem);font-weight:600}.section-title.light{color:var(--paper-on-ink)}.btn{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius);cursor:pointer;transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), transform .4s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;padding:.95em 1.7em;font-size:.82rem;font-weight:500;display:inline-flex}.btn-solid{background:var(--ink);color:var(--paper-on-ink)}.btn-solid:hover{background:var(--clay-deep);transform:translateY(-2px)}.btn-ghost{color:inherit;border-color:currentColor}.btn-ghost:hover{background:var(--ink);color:var(--paper-on-ink);border-color:var(--ink);transform:translateY(-2px)}.site-header{z-index:100;padding:1.1rem var(--gutter);backdrop-filter:saturate(140%)blur(14px);transition:border-color .4s var(--ease), background-color .4s var(--ease);background:#eee8ddd1;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:2rem;display:flex;position:sticky;top:0}.site-header.scrolled{border-bottom-color:var(--line)}.brand{flex-direction:column;line-height:1.1;display:flex}.brand-logo{width:auto;height:26px}.brand-role{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin-top:.5rem;font-size:.66rem}.nav{align-items:center;gap:clamp(1rem,2.4vw,2.4rem);display:flex}.nav a{letter-spacing:.03em;color:var(--ink);padding:.2em 0;font-size:.82rem;position:relative}.nav a:not(.nav-cta):after{content:"";background:var(--clay);transform-origin:0;width:100%;height:1px;transition:transform .4s var(--ease);position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.nav a:not(.nav-cta):hover:after{transform:scaleX(1)}.nav-cta{color:var(--clay-deep);font-weight:500}.nav-cta:hover{color:var(--ink)}.nav-social{color:var(--ink);display:inline-flex}.nav-social svg{width:18px;height:18px;transition:color .3s var(--ease)}.nav-social:hover svg{color:var(--clay-deep)}.nav-toggle{display:none}.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#14120d4d 0%,#14120d8c 100%);position:absolute;inset:0}.hero-inner{z-index:1;color:var(--paper-on-ink);padding:2rem var(--gutter);width:100%;max-width:48rem;position:relative}.hero-meta{text-transform:uppercase;letter-spacing:.28em;color:#e8c9b4;margin:0 0 1.6rem;font-size:.72rem}.hero h1{letter-spacing:-.04em;text-shadow:0 2px 30px #0f0d0a66;font-size:clamp(2.8rem,1.5rem + 5.4vw,5.6rem)}.hero-lede{color:#f1ece2;max-width:40ch;margin:1.8rem auto 2.6rem;font-size:clamp(1.05rem,1rem + .4vw,1.3rem);line-height:1.55}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.9rem;display:flex}.hero .btn-solid{background:var(--paper-on-ink);color:var(--ink)}.hero .btn-solid:hover{background:var(--clay);color:var(--ink)}.hero .btn-ghost{color:var(--paper-on-ink);border-color:var(--paper-on-ink)}.hero .btn-ghost:hover{background:var(--paper-on-ink);color:var(--ink);border-color:var(--paper-on-ink)}.apropos{max-width:var(--maxw);padding:clamp(4rem, 8vw, 8rem) var(--gutter);border-top:1px solid var(--line);grid-template-columns:.85fr 1fr;align-items:center;gap:clamp(2rem,6vw,6rem);margin:0 auto;display:grid}.apropos-figure{margin:0;position:relative}.apropos-figure img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%}.apropos-figure figcaption{text-transform:uppercase;letter-spacing:.22em;color:var(--muted);margin-top:.9rem;font-size:.72rem}.apropos-text .section-title{margin-bottom:1.8rem}.apropos-text p{max-width:60ch;color:var(--ink);text-wrap:pretty;margin:0 0 1.1rem}.apropos-text p:nth-of-type(n+2){color:var(--muted)}.prestations{background:var(--ink);color:var(--paper-on-ink);padding:clamp(4rem,8vw,8.5rem) 0}.prestations-head{max-width:var(--maxw);padding:0 var(--gutter);margin:0 auto clamp(2.5rem,5vw,4.5rem)}.prestations-intro{color:var(--muted-on-ink);max-width:42ch;margin:1.1rem 0 0}.service{max-width:var(--maxw);padding:clamp(2.2rem, 4vw, 3.4rem) var(--gutter);border-top:1px solid var(--line-on-ink);grid-template-columns:.5fr 1.3fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,4rem);margin:0 auto;display:grid}.service:last-child{border-bottom:1px solid var(--line-on-ink)}.service-index{text-transform:uppercase;letter-spacing:.24em;color:var(--clay);font-size:.74rem}.service-body h3{margin-bottom:.9rem;font-size:clamp(1.5rem,1rem + 1.6vw,2.3rem)}.service-body p{color:var(--muted-on-ink);max-width:52ch;margin:0}.service-figure{border-radius:var(--radius);aspect-ratio:5/4;margin:0;overflow:hidden}.service-figure img{object-fit:cover;filter:grayscale(.18)contrast(1.02);width:100%;height:100%;transition:transform .7s var(--ease), filter .7s var(--ease)}.service:hover .service-figure img{filter:grayscale(0)contrast();transform:scale(1.04)}.realisations{max-width:var(--maxw);padding:clamp(4rem, 8vw, 8.5rem) var(--gutter);margin:0 auto}.realisations-head{margin-bottom:clamp(2rem,4vw,3.5rem)}.realisations-head p{color:var(--muted);margin:.9rem 0 0}.projects{grid-template-columns:repeat(5,1fr);gap:clamp(.6rem,1.2vw,1.25rem);display:grid}.project-tile{aspect-ratio:1;border-radius:var(--radius);display:block;position:relative;overflow:hidden}.project-tile img{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease)}.project-tile:hover img,.project-tile:focus-visible img{transform:scale(1.05)}.project-tile:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.project-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--paper-on-ink);opacity:.85;transition:opacity .5s var(--ease), transform .5s var(--ease);background:linear-gradient(#0000 45%,#1c1a1499 100%);padding:clamp(1.1rem,2.4vw,1.8rem);font-size:clamp(1.05rem,.85rem + 1vw,1.5rem);font-weight:600;position:absolute;inset:auto 0 0;transform:translateY(4%)}.project-tile:hover .project-name,.project-tile:focus-visible .project-name{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.project-tile img{transition:none}.project-tile:hover img,.project-tile:focus-visible img{transform:none}.project-name{transition:none}}@media (width<=900px){.projects{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.projects{grid-template-columns:repeat(2,1fr)}}.follow{max-width:var(--maxw);padding:0 var(--gutter) clamp(4rem, 8vw, 8rem);margin:0 auto}.follow-head{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:clamp(3rem,6vw,5rem) 0;display:flex}.follow-head .section-title{font-size:clamp(1.5rem,1rem + 2vw,2.6rem)}.follow-strip{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:.25rem var(--gutter) 1rem;cursor:grab;gap:clamp(.6rem,1.5vw,1.2rem);display:flex;overflow-x:auto}.follow-strip::-webkit-scrollbar{display:none}.follow-strip:active{cursor:grabbing}.follow-strip:focus-visible{outline:2px solid var(--clay);outline-offset:4px}.follow-post{scroll-snap-align:start;flex:0 0 clamp(9.5rem,22vw,15rem);display:block;position:relative}.follow-post img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);filter:grayscale(.15);width:100%;transition:filter .5s var(--ease), transform .5s var(--ease)}.follow-post-icon{width:1.9rem;height:1.9rem;color:var(--paper-on-ink);opacity:0;transition:opacity .35s var(--ease), transform .35s var(--ease);background:#1c1a148c;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.75rem;right:.75rem;transform:translateY(-4px)}.follow-post-icon svg{width:1.05rem;height:1.05rem}.follow-post:hover img,.follow-post:focus-visible img{filter:grayscale(0);transform:scale(1.03)}.follow-post:hover .follow-post-icon,.follow-post:focus-visible .follow-post-icon{opacity:1;transform:translateY(0)}.follow-post:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:var(--radius)}.contact{background:var(--ink);color:var(--paper-on-ink);padding:clamp(4rem, 8vw, 8.5rem) var(--gutter);grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,6rem);display:grid}.contact-text{max-width:40ch}.contact-text p{color:var(--muted-on-ink);margin:1.6rem 0 1rem}.contact-mail{font-family:var(--font-display);color:var(--paper-on-ink);border-bottom:1px solid var(--clay);transition:color .4s var(--ease);padding-bottom:4px;font-size:clamp(1.1rem,.9rem + 1vw,1.6rem)}.contact-mail:hover{color:var(--clay)}.contact-form{width:100%;max-width:640px}.field-row{grid-template-columns:1fr 1fr;gap:1.2rem;display:grid}.field{margin-bottom:1.4rem;display:block}.field span{text-transform:uppercase;letter-spacing:.14em;color:var(--muted-on-ink);margin-bottom:.55rem;font-size:.74rem;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--line-on-ink);width:100%;color:var(--paper-on-ink);font-family:var(--font-body);transition:border-color .4s var(--ease);background:0 0;padding:.6rem 0;font-size:1rem}.field input:focus,.field textarea:focus{border-bottom-color:var(--clay);outline:none}.field textarea{resize:vertical}.contact-form .btn-solid{background:var(--clay);color:var(--ink);margin-top:.8rem}.contact-form .btn-solid:hover{background:var(--paper-on-ink);color:var(--ink)}.site-footer{max-width:var(--maxw);padding:clamp(3rem, 5vw, 4.5rem) var(--gutter);gap:1.2rem;margin:0 auto;display:grid}.footer-brand{flex-direction:column;display:flex}.footer-zones{color:var(--muted);font-size:.95rem}.footer-links{flex-wrap:wrap;gap:1.6rem;display:flex}.footer-links a{color:var(--ink);transition:border-color .3s var(--ease);border-bottom:1px solid #0000;font-size:.85rem}.footer-links a:hover{border-bottom-color:var(--clay)}.footer-credit{color:var(--muted);margin:.4rem 0 0;font-size:.78rem}.projet-hero{aspect-ratio:21/9;width:100%;max-height:72vh;overflow:hidden}.projet-hero img{object-fit:cover;width:100%;height:100%}.projet-head{max-width:820px;padding:clamp(3rem, 6vw, 5.5rem) var(--gutter) clamp(2rem, 4vw, 3.5rem);margin:0 auto}.projet-back{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);transition:color .3s var(--ease);margin-bottom:2rem;font-size:.76rem;display:inline-block}.projet-back:hover{color:var(--clay-deep)}.projet-head h1{letter-spacing:-.035em;margin-bottom:2rem;font-size:clamp(2.4rem,1.4rem + 4.2vw,4.6rem)}.projet-specs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem 2.4rem;margin-bottom:2.4rem;padding-bottom:2.4rem;display:flex}.spec{flex-direction:column;gap:.15rem;display:flex}.spec-label{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.68rem}.spec-value{color:var(--ink);font-size:.95rem}.projet-intro{color:var(--muted);text-wrap:pretty;max-width:65ch;font-size:clamp(1.08rem,1rem + .4vw,1.22rem);line-height:1.7}.projet-section{max-width:var(--maxw);padding:0 var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.projet-gallery,.projet-gallery figure{margin:0}.projet-gallery img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%}.layout-full{max-width:100%}.layout-full figure{aspect-ratio:16/9}.layout-duo{grid-template-columns:1fr 1fr;gap:clamp(.6rem,1.5vw,1.2rem);display:grid}.layout-duo figure{aspect-ratio:4/5}.layout-trio{grid-template-columns:repeat(3,1fr);gap:clamp(.6rem,1.5vw,1.2rem);display:grid}.layout-trio figure{aspect-ratio:3/4}.layout-staggered{grid-template-rows:auto auto;grid-template-columns:1.2fr .8fr;gap:clamp(.6rem,1.5vw,1.2rem);display:grid}.layout-staggered figure:first-child{aspect-ratio:3/4;grid-row:span 2}.layout-staggered figure:nth-child(2),.layout-staggered figure:nth-child(3){aspect-ratio:4/3}.projet-nav{border-top:1px solid var(--line);max-width:var(--maxw);grid-template-columns:1fr 1fr;margin:clamp(2rem,4vw,4rem) auto 0;display:grid}.projet-nav-link{padding:clamp(2rem, 4vw, 3.5rem) var(--gutter);transition:background-color .4s var(--ease);flex-direction:column;gap:.4rem;display:flex}.projet-nav-link:hover{background:var(--surface)}.projet-nav-link.next{text-align:right;border-left:1px solid var(--line);align-items:flex-end}.projet-nav-label{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.72rem}.projet-nav-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.2rem,.9rem + 1.2vw,1.9rem);font-weight:600}@media (width<=900px){.projet-hero{aspect-ratio:16/10}.layout-trio{grid-template-columns:1fr 1fr}.layout-trio figure:last-child{aspect-ratio:16/10;grid-column:span 2}}@media (width<=640px){.layout-duo{grid-template-columns:1fr}.layout-duo figure{aspect-ratio:16/11}.layout-trio{grid-template-columns:1fr}.layout-trio figure,.layout-trio figure:last-child{aspect-ratio:16/11;grid-column:auto}.layout-staggered{grid-template-columns:1fr}.layout-staggered figure:first-child{aspect-ratio:16/11;grid-row:auto}.projet-nav{grid-template-columns:1fr}.projet-nav-link.next{border-left:none;border-top:1px solid var(--line);text-align:left;align-items:flex-start}.projet-specs{gap:.8rem 1.6rem}}.js .reveal{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(26px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transition:none;transform:none}.service-figure img,.project-tile img,.follow-post img{transition:none}}@media (width<=900px){.hero{min-height:85vh}.apropos{grid-template-columns:1fr}.apropos-figure{max-width:420px}.service{grid-template-columns:1fr;gap:1.2rem}.service-figure{aspect-ratio:16/10}.service-index{order:-1}.contact{grid-template-columns:1fr}}@media (width<=640px){.nav{display:none}.nav.open{padding:1.6rem var(--gutter) 2rem;background:var(--bone);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:1.4rem;display:flex;position:absolute;top:100%;left:0;right:0}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0;display:inline-flex}.nav-toggle span{background:var(--ink);width:22px;height:1.5px;transition:transform .3s var(--ease), opacity .3s var(--ease);display:block}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px)rotate(-45deg)}.field-row{grid-template-columns:1fr}}
