:root{
  --noir:#000; --or:#C9A961; --or-clair:#E8D5A3; --or-pale:#F7ECCB; --ivoire:#F2E9DC;
  --texte:rgba(242,233,220,.8); --trait:rgba(242,233,220,.13); --trait-or:rgba(201,169,97,.32);
  --serif:"Playfair Display",Georgia,serif; --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --marge:clamp(1.3rem,5vw,6.5rem);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--noir);color:var(--texte);font-family:var(--sans);font-weight:300;
  font-size:clamp(.95rem,.35vw + .87rem,1.05rem);line-height:1.75;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;opacity:0;animation:entre .5s ease forwards;}
body.sort{opacity:0;transition:opacity .28s ease;}
@keyframes entre{to{opacity:1;}}
a{color:inherit;} img{max-width:100%;display:block;}
::selection{background:var(--or);color:#000;}
:focus-visible{outline:1px solid var(--or);outline-offset:4px;}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ivoire);line-height:1.12;margin:0;}
h2{font-size:clamp(2rem,4.2vw,3.4rem);letter-spacing:-.015em;}
p{margin:0 0 1.1em;max-width:64ch;}
.surtitre{font-size:.7rem;letter-spacing:.3em;color:var(--or);margin:0 0 1rem;}
.filet{width:5rem;height:1px;background:var(--or);margin:1.6rem 0 2.4rem;}
section{padding:clamp(4rem,8vw,7.5rem) var(--marge);position:relative;}
.intro{font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.45;color:var(--ivoire);}
.centre{text-align:center;} .centre p{margin-left:auto;margin-right:auto;}

.lueur{position:fixed;top:0;left:0;width:26rem;height:26rem;margin:-13rem 0 0 -13rem;border-radius:50%;
  pointer-events:none;z-index:70;opacity:0;transition:opacity .5s;
  background:radial-gradient(circle,rgba(201,169,97,.10),transparent 62%);}
@media (pointer:fine){.lueur{opacity:1;}}
.jauge{position:fixed;top:0;left:0;height:2px;width:0;background:var(--or);z-index:90;transition:width .1s linear;}

.nav{position:sticky;top:0;z-index:80;display:flex;align-items:center;justify-content:space-between;
  padding:.95rem var(--marge);background:rgba(0,0,0,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--trait);}
.nav__logo{font-family:var(--serif);font-size:1.45rem;color:var(--ivoire);text-decoration:none;}
.nav__logo span{font-family:var(--sans);font-size:.55rem;letter-spacing:.4em;color:var(--or);margin-left:.45rem;vertical-align:middle;}
.menu{position:relative;}
.menu__bouton{display:flex;align-items:center;gap:.75rem;background:none;border:1px solid var(--trait-or);
  color:var(--ivoire);font-family:var(--sans);font-size:.72rem;font-weight:300;letter-spacing:.22em;
  padding:.72rem 1.25rem;cursor:pointer;transition:.25s;}
.menu__bouton:hover{border-color:var(--or);color:var(--or);}
.menu__barres{display:grid;gap:4px;width:16px;}
.menu__barres i{height:1px;background:currentColor;display:block;transition:transform .3s,opacity .3s;}
.menu__bouton[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg);}
.menu__bouton[aria-expanded="true"] i:nth-child(2){opacity:0;}
.menu__bouton[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg);}
.menu__panneau{position:absolute;right:0;top:calc(100% + .75rem);min-width:19rem;background:#000;
  border:1px solid var(--trait-or);opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity .3s,transform .3s,visibility .3s;}
.menu__panneau[data-ouvert="true"]{opacity:1;visibility:visible;transform:none;}
.menu__panneau a{position:relative;display:flex;align-items:baseline;gap:.9rem;text-decoration:none;
  padding:1rem 1.5rem;font-size:.88rem;letter-spacing:.06em;color:rgba(242,233,220,.75);
  border-bottom:1px solid var(--trait);overflow:hidden;transition:color .25s;}
.menu__panneau a:last-child{border-bottom:0;}
.menu__panneau a em{font-style:normal;font-family:var(--serif);font-size:.78rem;color:rgba(201,169,97,.6);}
.menu__panneau a::after{content:"";position:absolute;inset:0;background:rgba(201,169,97,.1);
  transform:translateX(-101%);transition:transform .35s cubic-bezier(.22,.61,.36,1);}
.menu__panneau a:hover,.menu__panneau a:focus-visible{color:var(--or);}
.menu__panneau a:hover::after,.menu__panneau a:focus-visible::after{transform:none;}
.menu__panneau a[aria-current="page"]{color:var(--or);}

.scene{position:relative;min-height:calc(100svh - 4.1rem);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;padding:4rem var(--marge) 4rem;overflow:hidden;
  --x:50%; --y:42%;}
.scene__photos{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);
  -webkit-mask-image:radial-gradient(circle 24vmax at var(--x) var(--y),#000 0%,rgba(0,0,0,.5) 42%,transparent 70%);
  mask-image:radial-gradient(circle 24vmax at var(--x) var(--y),#000 0%,rgba(0,0,0,.5) 42%,transparent 70%);}
.scene__photos img{width:100%;height:100%;object-fit:cover;opacity:.38;filter:grayscale(.4) contrast(1.1);}
@media (max-width:760px){.scene__photos{grid-template-columns:1fr;}
  .scene__photos img:nth-child(n+2){display:none;}}
.scene__halo{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle 22vmax at var(--x) var(--y),rgba(201,169,97,.13),transparent 65%);}
.scene__vignette{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,.88) 100%);}
.scene__contenu{position:relative;z-index:2;width:100%;}
.scene__indice{position:absolute;bottom:1.5rem;left:0;right:0;z-index:2;font-size:.64rem;letter-spacing:.28em;
  color:rgba(242,233,220,.4);}
.scene__indice b{font-weight:300;color:rgba(201,169,97,.75);}

.logo{margin:0;display:flex;justify-content:center;}
.logo__image{position:relative;width:min(27rem,68vw);
  -webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0);
  animation:devoileLogo 1.3s cubic-bezier(.19,1,.22,1) .2s forwards;}
.logo__image img{width:100%;filter:drop-shadow(0 0 45px rgba(0,0,0,.85));}
.logo__image::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(100deg,transparent 38%,rgba(255,246,222,.6) 50%,transparent 62%);
  background-size:280% 100%;
  -webkit-mask-image:var(--logo);mask-image:var(--logo);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  animation:reflet 6.5s linear 1.5s infinite;}
@keyframes devoileLogo{to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);}}
@keyframes reflet{0%{background-position:130% 0;}100%{background-position:-130% 0;}}

.tournant{margin-top:clamp(2rem,5vw,3.2rem);font-family:var(--serif);font-style:italic;
  font-size:clamp(1.25rem,3.2vw,2.1rem);color:var(--ivoire);display:flex;flex-wrap:wrap;gap:.35em;
  justify-content:center;align-items:center;line-height:1.3;opacity:0;animation:entre .8s ease 1.5s forwards;}
.tournant__boite{position:relative;display:block;height:1.3em;overflow:hidden;min-width:9em;text-align:left;}
.tournant__mot{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;
  font-style:normal;font-family:var(--sans);font-weight:300;
  font-size:.72em;letter-spacing:.12em;text-transform:uppercase;color:var(--or);line-height:1;
  transform:translateY(110%);opacity:0;transition:transform .6s cubic-bezier(.19,1,.22,1),opacity .6s;}
.tournant__mot[data-etat="actif"]{transform:none;opacity:1;}
.tournant__mot[data-etat="sorti"]{transform:translateY(-110%);opacity:0;}
@media (max-width:640px){.tournant{flex-direction:column;gap:.2em;}
  .tournant__boite{min-width:0;width:100%;text-align:center;}
  .tournant__mot{justify-content:center;}}

.bandeau{border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);overflow:hidden;
  padding:.9rem 0;background:rgba(201,169,97,.04);}
.bandeau__piste{display:flex;width:max-content;animation:defile 38s linear infinite;}
.bandeau:hover .bandeau__piste{animation-play-state:paused;}
.bandeau span{font-family:var(--serif);font-size:1.05rem;letter-spacing:.16em;color:rgba(242,233,220,.6);
  padding:0 1.6rem;white-space:nowrap;}
.bandeau span b{font-weight:400;color:var(--or);}
@keyframes defile{to{transform:translateX(-50%);}}

.apparait{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.apparait.vu{opacity:1;transform:none;}
.decoupe span{display:inline-block;opacity:0;transform:translateY(.5em);
  transition:opacity .6s ease,transform .6s cubic-bezier(.19,1,.22,1);}
.decoupe.vu span{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .apparait,.decoupe span{opacity:1;transform:none;transition:none;}
  .bandeau__piste{animation:none;} html{scroll-behavior:auto;} body{animation:none;opacity:1;}
  .logo__image{-webkit-clip-path:none;clip-path:none;animation:none;}
  .logo__image::after{display:none;}
  .tournant{opacity:1;animation:none;}
}

.poles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem;}
@media (max-width:900px){.poles{grid-template-columns:1fr;}}
.pole{position:relative;border:1px solid var(--trait);padding:2rem 1.8rem 2.2rem;overflow:hidden;transition:border-color .4s,transform .4s;}
.pole::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:var(--or);transition:width .5s cubic-bezier(.22,.61,.36,1);}
.pole:hover{border-color:var(--trait-or);transform:translateY(-4px);}
.pole:hover::before{width:100%;}
.pole h3{font-size:1.35rem;margin-bottom:.8rem;}
.pole__num{font-family:var(--serif);font-size:.9rem;color:rgba(201,169,97,.6);margin-bottom:1.2rem;display:block;}
.pole ul{list-style:none;margin:1rem 0 0;padding:0;font-size:.9rem;}
.pole li{padding:.35rem 0;border-bottom:1px solid rgba(242,233,220,.07);}
.pole li:last-child{border-bottom:0;}

.chiffres{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--trait-or);margin-top:2.2rem;}
.chiffre{padding:2rem 1.2rem;text-align:center;border-left:1px solid var(--trait);}
.chiffre:first-child{border-left:0;}
.chiffre b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);color:var(--or);}
.chiffre u{display:block;text-decoration:none;font-size:.85rem;color:var(--ivoire);margin:.5rem 0 .3rem;line-height:1.35;}
.chiffre em{font-style:normal;font-size:.74rem;color:rgba(242,233,220,.45);line-height:1.45;display:block;}
@media (max-width:620px){.chiffres{grid-template-columns:1fr;}
  .chiffre{border-left:0;border-top:1px solid var(--trait);} .chiffre:first-child{border-top:0;}}

.encadre{border:1px solid var(--trait-or);padding:1.8rem;max-width:72ch;margin:2rem 0;}
.encadre__titre{font-size:.68rem;letter-spacing:.24em;color:var(--or);margin-bottom:.9rem;}
.encadre p:last-child{margin-bottom:0;}
.citation{font-family:var(--serif);font-style:italic;color:var(--or-clair);}
.duo-blocs{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;}
@media (max-width:700px){.duo-blocs{grid-template-columns:1fr;}}
.duo-blocs .encadre{margin:0;}
.manifeste{font-family:var(--serif);font-size:clamp(1.7rem,4.5vw,3.2rem);line-height:1.22;color:var(--ivoire);margin:0;}
.manifeste span{display:block;color:var(--or);}

.duo-scene{position:relative;max-width:54rem;margin:2.5rem auto 0;}
.duo-scene__image{position:relative;}
.duo-scene__image img{width:100%;}
.duo-scene__ombre{position:absolute;inset:0;pointer-events:none;transition:background .6s;}
.duo-scene[data-choix="yohan"] .duo-scene__ombre{background:linear-gradient(90deg,transparent 0 44%,rgba(0,0,0,.7) 62%);}
.duo-scene[data-choix="sephora"] .duo-scene__ombre{background:linear-gradient(270deg,transparent 0 44%,rgba(0,0,0,.7) 62%);}
.zone{position:absolute;top:0;bottom:0;width:50%;background:none;border:0;cursor:pointer;padding:0;}
.zone--gauche{left:0;} .zone--droite{right:0;}
.zone span{position:absolute;left:50%;bottom:8%;transform:translateX(-50%);white-space:nowrap;
  font-size:.64rem;letter-spacing:.22em;color:var(--ivoire);border:1px solid var(--trait-or);
  background:rgba(0,0,0,.65);padding:.5rem 1rem;transition:.3s;}
.zone:hover span,.zone:focus-visible span{background:var(--or);color:#000;border-color:var(--or);}
.duo-scene[data-choix="yohan"] .zone--gauche span,
.duo-scene[data-choix="sephora"] .zone--droite span{background:var(--or);color:#000;border-color:var(--or);}
.fiche{display:none;margin-top:3rem;animation:fondu .55s ease;}
.fiche[data-actif="true"]{display:grid;grid-template-columns:minmax(0,17rem) 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
@media (max-width:820px){.fiche[data-actif="true"]{grid-template-columns:1fr;}}
.fiche__portrait{position:relative;}
.fiche__portrait img{max-width:16rem;margin:0 auto;}
.fiche__portrait::after{content:"";position:absolute;inset:-10% -15%;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,rgba(201,169,97,.14),transparent 65%);}
.fiche__nom{font-size:clamp(1.9rem,3.6vw,2.6rem);margin-bottom:.2rem;}
.fiche__alias{font-family:var(--serif);font-style:italic;color:rgba(242,233,220,.55);margin:0 0 .8rem;}
.fiche__role{font-size:.68rem;letter-spacing:.2em;color:var(--or);margin-bottom:1.3rem;}
.fiche p{font-size:.95rem;color:rgba(242,233,220,.74);}
.plus{max-height:0;overflow:hidden;transition:max-height .6s cubic-bezier(.22,.61,.36,1);}
.plus[data-ouvert="true"]{max-height:70rem;}
.lien-plus{background:none;border:0;border-bottom:1px solid var(--trait-or);color:var(--or);
  font-family:var(--sans);font-size:.72rem;font-weight:300;letter-spacing:.18em;padding:.4rem 0;cursor:pointer;margin-bottom:1.4rem;}
.lien-plus:hover{color:var(--or-clair);}

.methode{display:grid;grid-template-columns:minmax(0,17rem) 1fr;gap:clamp(1.5rem,4vw,3.5rem);margin-top:2.5rem;}
@media (max-width:820px){.methode{grid-template-columns:1fr;}}
.methode__liste{display:flex;flex-direction:column;border-left:1px solid var(--trait);}
@media (max-width:820px){.methode__liste{flex-direction:row;overflow-x:auto;border-left:0;border-bottom:1px solid var(--trait);}}
.methode__item{position:relative;background:none;border:0;text-align:left;cursor:pointer;padding:1.1rem 1.4rem;
  color:rgba(242,233,220,.6);font-family:var(--sans);font-weight:300;font-size:.9rem;letter-spacing:.05em;
  display:flex;gap:1rem;align-items:baseline;transition:color .3s,background .3s;white-space:nowrap;}
.methode__item b{font-family:var(--serif);font-weight:400;color:rgba(201,169,97,.5);transition:color .3s;}
.methode__item::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:2px;background:var(--or);
  transform:scaleY(0);transform-origin:top;transition:transform .4s cubic-bezier(.22,.61,.36,1);}
.methode__item[aria-selected="true"]{color:var(--ivoire);background:rgba(201,169,97,.06);}
.methode__item[aria-selected="true"]::before{transform:none;}
.methode__item[aria-selected="true"] b{color:var(--or);}
.methode__item:hover{color:var(--ivoire);}
@media (max-width:820px){.methode__item::before{left:0;right:0;top:auto;bottom:-1px;width:auto;height:2px;transform:scaleX(0);}
  .methode__item[aria-selected="true"]::before{transform:none;}}
.methode__detail{border:1px solid var(--trait-or);padding:clamp(1.6rem,4vw,2.6rem);animation:fondu .5s ease;}
.methode__detail[hidden]{display:none;}
.methode__num{font-family:var(--serif);font-size:3.2rem;color:rgba(201,169,97,.45);line-height:1;margin-bottom:.6rem;}
.methode__detail h3{font-size:1.9rem;margin-bottom:.8rem;}
.livrables{list-style:none;margin:1.4rem 0 0;padding:0;}
.livrables li{position:relative;padding:.45rem 0 .45rem 1.5rem;font-size:.92rem;border-top:1px solid var(--trait);}
.livrables li::before{content:"";position:absolute;left:0;top:1.25em;width:5px;height:5px;background:var(--or);border-radius:50%;}
.livrables li:first-child{border-top:0;}

.onglets{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;}
.onglet{background:none;border:1px solid var(--trait);color:rgba(242,233,220,.7);font-family:var(--sans);
  font-weight:300;font-size:.78rem;letter-spacing:.16em;padding:.8rem 1.5rem;cursor:pointer;transition:.3s;}
.onglet:hover{border-color:var(--trait-or);color:var(--ivoire);}
.onglet[aria-selected="true"]{background:var(--or);border-color:var(--or);color:#000;}
.panneau[hidden]{display:none;}
.panneau{animation:fondu .5s ease;}
@keyframes fondu{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

.pilules{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0;padding:0;}
.pilules li{border:1px solid var(--trait);border-radius:999px;padding:.45rem 1.05rem;font-size:.82rem;transition:.3s;}
.pilules li:hover{border-color:var(--or);color:var(--or-clair);}
.inclus{list-style:none;margin:0;padding:0;}
.inclus li{position:relative;padding:.4rem 0 .4rem 1.4rem;font-size:.94rem;}
.inclus li::before{content:"";position:absolute;left:0;top:1.15em;width:5px;height:5px;background:var(--or);border-radius:50%;}
.formule{border:1px solid var(--trait);border-bottom:2px solid var(--or);padding:1.9rem;margin-bottom:1.3rem;transition:background .4s;}
.formule:hover{background:rgba(201,169,97,.04);}
.formule h3{font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--or-clair);margin-bottom:.3rem;}
.formule__sous{font-family:var(--serif);font-style:italic;color:rgba(242,233,220,.58);margin-bottom:1rem;}
.formule__prix{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;
  border-top:1px solid var(--trait);margin-top:1.2rem;padding-top:1rem;}
.formule__prix span{font-size:.76rem;color:rgba(242,233,220,.45);}
.formule__prix b{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.6vw,1.7rem);color:var(--or);}

.configurateur{display:grid;grid-template-columns:1fr minmax(0,21rem);gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2rem;}
@media (max-width:980px){.configurateur{grid-template-columns:1fr;}}
.config__bloc{border-top:1px solid var(--trait);padding:1.8rem 0;}
.config__bloc:first-child{border-top:0;padding-top:0;}
.config__titre{display:flex;gap:.9rem;align-items:baseline;font-size:.68rem;letter-spacing:.24em;color:var(--or);margin-bottom:1.1rem;}
.config__titre b{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:rgba(201,169,97,.55);letter-spacing:0;}
.choix{display:flex;flex-wrap:wrap;gap:.6rem;}
.choix label{cursor:pointer;position:relative;}
.choix input{position:absolute;opacity:0;width:0;height:0;}
.choix span{display:block;border:1px solid var(--trait);padding:.72rem 1.3rem;font-size:.82rem;transition:.25s;}
.choix label:hover span{border-color:var(--trait-or);color:var(--ivoire);}
.choix input:checked + span{background:var(--or);border-color:var(--or);color:#000;}
.choix input:focus-visible + span{outline:1px solid var(--or);outline-offset:3px;}
.choix label[hidden]{display:none;}
.curseur{width:100%;max-width:30rem;-webkit-appearance:none;appearance:none;height:1px;background:var(--trait-or);margin:1.6rem 0 .6rem;}
.curseur::-webkit-slider-thumb{-webkit-appearance:none;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--or);cursor:pointer;}
.curseur::-moz-range-thumb{width:1.1rem;height:1.1rem;border:0;border-radius:50%;background:var(--or);cursor:pointer;}
.curseur__valeur{font-family:var(--serif);font-size:1.6rem;color:var(--or);}
.recap{position:sticky;top:6rem;border:1px solid var(--trait-or);background:rgba(201,169,97,.04);padding:1.8rem;}
.recap h3{font-size:1.4rem;margin-bottom:.2rem;}
.recap__ligne{border-top:1px solid var(--trait);padding:.75rem 0;font-size:.86rem;display:flex;justify-content:space-between;gap:1rem;}
.recap__ligne u{text-decoration:none;color:rgba(242,233,220,.5);white-space:nowrap;}
.recap__ligne b{font-weight:400;color:var(--ivoire);text-align:right;}
.recap__prix{font-family:var(--serif);font-size:clamp(1.5rem,3.4vw,2rem);color:var(--or);margin:1.2rem 0 .2rem;}
.recap__note{font-size:.66rem;letter-spacing:.14em;color:rgba(242,233,220,.45);}
.recap .bouton{display:block;width:100%;text-align:center;margin:.7rem 0 0;}
.pot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.message{font-size:.78rem;color:var(--or);min-height:1.4em;margin:.8rem 0 0;}

.filtres{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;}
.galerie{display:grid;grid-template-columns:repeat(6,1fr);gap:1.1rem;}
@media (max-width:900px){.galerie{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.galerie{grid-template-columns:1fr;}}
.projet{grid-column:span 2;position:relative;border:0;padding:0;background:none;color:inherit;text-align:left;
  cursor:pointer;overflow:hidden;transition:opacity .45s,transform .45s;}
.projet--large{grid-column:span 3;} .projet--pleine{grid-column:span 6;}
@media (max-width:900px){.projet,.projet--large,.projet--pleine{grid-column:span 2;}}
@media (max-width:560px){.projet,.projet--large,.projet--pleine{grid-column:span 1;}}
.projet[hidden]{display:none;}
.projet__cadre{position:relative;overflow:hidden;aspect-ratio:16/10;display:block;}
.projet--pleine .projet__cadre{aspect-ratio:21/9;}
.projet__cadre img{width:100%;height:100%;object-fit:cover;filter:grayscale(.55) brightness(.8);
  transition:transform .8s cubic-bezier(.22,.61,.36,1),filter .6s;}
.projet:hover .projet__cadre img,.projet:focus-visible .projet__cadre img{transform:scale(1.06);filter:none;}
.projet__voile{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 55%);}
.projet__loupe{position:absolute;top:1rem;right:1rem;width:2.2rem;height:2.2rem;border:1px solid var(--or);
  color:var(--or);display:grid;place-items:center;font-size:1rem;opacity:0;transform:translateY(-6px);transition:.35s;}
.projet:hover .projet__loupe,.projet:focus-visible .projet__loupe{opacity:1;transform:none;}
.projet__texte{position:absolute;left:1.3rem;right:1.3rem;bottom:1.1rem;}
.projet__texte h3{font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ivoire);margin:0 0 .3rem;}
.projet__texte p{font-size:.72rem;letter-spacing:.12em;color:var(--or);margin:0;text-transform:uppercase;}

.visionneuse{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.96);display:none;align-items:center;
  justify-content:center;padding:clamp(1rem,4vw,3rem);}
.visionneuse[data-ouvert="true"]{display:flex;animation:fondu .35s ease;}
.visionneuse__boite{max-width:62rem;width:100%;}
.visionneuse__boite img{width:100%;max-height:62vh;object-fit:contain;}
.visionneuse__legende{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;
  border-top:1px solid var(--trait);margin-top:1.4rem;padding-top:1.2rem;}
.visionneuse__legende h3{font-size:1.5rem;margin-bottom:.3rem;}
.visionneuse__legende p{margin:0;font-size:.88rem;color:rgba(242,233,220,.62);}
.visionneuse__meta{font-size:.7rem;letter-spacing:.16em;color:var(--or);text-transform:uppercase;margin-bottom:.4rem;}
.visionneuse__nav{display:flex;gap:.6rem;align-items:center;}
.rond{width:2.8rem;height:2.8rem;border:1px solid var(--trait-or);background:none;color:var(--ivoire);
  font-size:1.1rem;cursor:pointer;transition:.25s;display:grid;place-items:center;}
.rond:hover{background:var(--or);color:#000;border-color:var(--or);}
.visionneuse__fermer{position:absolute;top:1.2rem;right:1.2rem;}

.formulaire{max-width:36rem;margin:0 auto;text-align:left;}
.jalons{display:flex;gap:.6rem;margin-bottom:2.2rem;}
.jalon{flex:1;height:2px;background:var(--trait);transition:background .4s;}
.jalon[data-actif="true"]{background:var(--or);}
.champ{margin-bottom:1.5rem;}
.champ label{display:block;font-size:.68rem;letter-spacing:.2em;color:var(--or);margin-bottom:.5rem;}
.champ input,.champ textarea,.champ select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(242,233,220,.25);
  color:var(--ivoire);font-family:var(--sans);font-weight:300;font-size:1rem;padding:.65rem 0;transition:border-color .3s;}
.champ textarea{min-height:7rem;resize:vertical;}
.champ input:focus,.champ textarea:focus,.champ select:focus{outline:none;border-bottom-color:var(--or);}
.champ select option{background:#000;}
.etape-form[hidden]{display:none;}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1.5rem;}

.bouton{display:inline-block;isolation:isolate;margin:1.3rem .5rem 0 0;padding:1rem 2.5rem;border:1px solid var(--or);
  color:var(--or);background:none;font-family:var(--sans);font-weight:300;font-size:.78rem;letter-spacing:.2em;
  cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:color .35s;}
.bouton::before{content:"";position:absolute;inset:0;background:var(--or);transform:translateY(101%);
  transition:transform .4s cubic-bezier(.22,.61,.36,1);z-index:-1;}
.bouton:hover,.bouton:focus-visible{color:#000;}
.bouton:hover::before,.bouton:focus-visible::before{transform:none;}
.bouton--plein{background:var(--or);color:#000;}
.bouton--discret{border-color:var(--trait);color:rgba(242,233,220,.75);}
.bouton--discret::before{background:rgba(242,233,220,.9);}

.sens{border:1px solid var(--trait-or);background:rgba(201,169,97,.05);padding:2.2rem 1.5rem;max-width:44rem;
  margin:3rem auto 0;text-align:center;}
.sens__mots{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 3rem;font-family:var(--serif);
  font-size:clamp(1.4rem,3.4vw,2.1rem);color:var(--ivoire);}
.sens__mots span b{font-weight:400;color:var(--or);}
.coordonnees{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem 3rem;margin-top:3rem;font-size:.9rem;}
.coordonnees a,.coordonnees span{border-bottom:1px solid var(--trait-or);padding-bottom:3px;text-decoration:none;}
.coordonnees a:hover{color:var(--or);}
.mention{border:1px solid var(--trait);padding:1.4rem 1.6rem;margin-top:3rem;font-size:.76rem;color:rgba(242,233,220,.42);}
.mention p{max-width:none;margin:0;}

footer{padding:2.2rem var(--marge) 2.8rem;border-top:1px solid var(--trait);display:flex;flex-wrap:wrap;
  gap:1rem 2rem;justify-content:space-between;align-items:center;font-size:.7rem;letter-spacing:.1em;color:rgba(242,233,220,.4);}
footer nav{display:flex;flex-wrap:wrap;gap:1.4rem;}
footer a{text-decoration:none;} footer a:hover{color:var(--or);}
