@import url('https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Faculty+Glyphic&family=Host+Grotesk:wght@400..800&display=swap');

:root{
  --cobalt:#3346C8;
  --cobalt-fonce:#172476;
  --cobalt-pale:#DDE1FF;
  --biscuit:#F4F0E7;
  --biscuit-clair:#FBF9F4;
  --kaolin:#D8D3C9;
  --celadon:#B9D4C4;
  --encre:#18191D;
  --encre-doux:#4D4E54;
  --blanc:#FFFFFF;
  --transparent:transparent;
  --ombre:color-mix(in srgb,var(--encre) 18%,transparent);
  --ombre-forte:color-mix(in srgb,var(--encre) 35%,transparent);
  --voile:color-mix(in srgb,var(--encre) 78%,transparent);
  --voile-doux:color-mix(in srgb,var(--encre) 34%,transparent);
  --filet:color-mix(in srgb,var(--encre) 22%,transparent);
  --filet-clair:color-mix(in srgb,var(--blanc) 25%,transparent);
  --titre:'Faculty Glyphic',serif;
  --texte:'Host Grotesk',sans-serif;
  --donnee:'Azeret Mono',monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--biscuit);color:var(--encre);font:400 1rem/1.55 var(--texte);overflow-x:hidden}
body.menu-ouvert{overflow:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0 0 1.15rem;color:var(--encre-doux)}
h1,h2,h3{margin:0 0 1.2rem;font-family:var(--titre);font-weight:400;letter-spacing:-.04em;line-height:.89}
h1{font-size:clamp(4.4rem,9vw,10rem)}
h2{font-size:clamp(3.2rem,6.4vw,7.4rem)}
h3{font-size:clamp(2rem,3vw,3.7rem)}
.env{width:min(1200px,calc(100% - 8vw));margin-inline:auto}
.repere{font:600 .66rem/1.35 var(--donnee);letter-spacing:.15em;text-transform:uppercase;color:var(--cobalt)}
.evitement{position:fixed;left:1rem;top:-10rem;z-index:150;background:var(--cobalt);color:var(--blanc);padding:1rem 1.4rem;border-radius:999px;transition:top .25s ease,transform .25s ease}.evitement:focus{top:1rem;transform:translateY(2px)}
.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.9rem 1.45rem;border:0;border-radius:57% 43% 52% 48% / 55% 45% 58% 42%;background:var(--biscuit-clair);box-shadow:0 12px 30px var(--ombre);font:600 .68rem/1 var(--donnee);text-transform:uppercase;letter-spacing:.08em;transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease,border-radius .3s ease}
.bouton:hover,.bouton:focus-visible{background:var(--cobalt);color:var(--blanc);transform:translateY(-5px) rotate(-1deg);box-shadow:0 20px 42px var(--ombre-forte);border-radius:43% 57% 38% 62% / 48% 58% 42% 52%}
.bouton.clair{background:var(--blanc);color:var(--encre)}.bouton.clair:hover{background:var(--cobalt-pale);color:var(--cobalt-fonce)}
.lien{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--encre);font-weight:700;transition:color .25s ease,transform .25s ease,border-color .25s ease,letter-spacing .25s ease}.lien:hover{color:var(--cobalt);border-color:var(--cobalt);transform:translateX(6px);letter-spacing:.015em}.lien.clair{color:var(--blanc);border-color:var(--blanc)}

/* En-tête superposé, puis opaque au défilement */
.hd{height:92px;padding:0 3vw;display:grid;grid-template-columns:minmax(190px,1fr) auto auto auto;gap:2.2vw;align-items:center;position:absolute;inset:0 0 auto;z-index:80;color:var(--blanc);transition:height .35s ease,background .35s ease,color .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.hd.compacte{position:fixed;height:76px;background:color-mix(in srgb,var(--biscuit-clair) 88%,transparent);color:var(--encre);backdrop-filter:blur(16px);box-shadow:0 8px 28px var(--ombre)}
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;transition:transform .25s ease,color .25s ease}.logo:hover{color:var(--cobalt-pale);transform:translateY(-2px)}.compacte .logo:hover{color:var(--cobalt)}
.logo strong{font:400 1.38rem/.95 var(--titre);letter-spacing:-.035em}.logo small{margin-top:.25rem;font:600 .51rem/1 var(--donnee);letter-spacing:.13em;text-transform:uppercase}
.hd>nav{display:flex;gap:clamp(.8rem,1.45vw,1.65rem)}.hd>nav a{position:relative;font-weight:650;transition:color .25s ease,transform .25s ease}.hd>nav a::after{content:"";position:absolute;left:0;right:0;bottom:-.45rem;height:2px;background:var(--cobalt-pale);transform:scaleX(0);transform-origin:left;transition:transform .25s ease,background .25s ease}.hd>nav a:hover{color:var(--cobalt-pale);transform:translateY(-2px)}.hd>nav a:hover::after{transform:scaleX(1)}.compacte>nav a:hover{color:var(--cobalt)}.compacte>nav a::after{background:var(--cobalt)}
.telephone{display:flex;flex-direction:column;font:600 .66rem/1.2 var(--donnee);white-space:nowrap;transition:color .25s ease,transform .25s ease}.telephone span{font-size:.48rem;letter-spacing:.1em;text-transform:uppercase}.telephone:hover{color:var(--cobalt-pale);transform:translateY(-2px)}.compacte .telephone:hover{color:var(--cobalt)}
.tout-site,.fermer{min-height:46px;border:1px solid var(--filet-clair);background:var(--transparent);padding:.75rem 1rem;font:600 .62rem/1 var(--donnee);text-transform:uppercase;letter-spacing:.08em;border-radius:58% 42% 55% 45%;transition:background .25s ease,color .25s ease,transform .25s ease,border-radius .25s ease}.tout-site:hover,.fermer:hover{background:var(--cobalt);color:var(--blanc);transform:rotate(2deg);border-radius:44% 56% 42% 58%}.compacte .tout-site{border-color:var(--filet)}
.panneau-site{position:fixed;inset:0;z-index:120;background:var(--cobalt-fonce);color:var(--blanc);padding:5rem 5vw;clip-path:circle(0 at 94% 4%);visibility:hidden;transition:clip-path .7s cubic-bezier(.78,0,.22,1),visibility .7s ease}.panneau-site.ouvert{clip-path:circle(150% at 94% 4%);visibility:visible}.panneau-site .fermer{position:absolute;right:3vw;top:2rem}.panneau-site nav{height:100%;display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));align-content:center;gap:.3rem 6vw}.panneau-site a{padding:.4rem 0;font:400 clamp(1.65rem,3.2vw,3.5rem)/1 var(--titre);border-bottom:1px solid var(--filet-clair);transition:color .25s ease,transform .25s ease,padding .25s ease}.panneau-site a:hover{color:var(--cobalt-pale);transform:translateX(8px);padding-left:.5rem}

/* Hero plein écran Signature, traitement O4 */
.hero-signature{height:100vh;height:100svh;min-height:760px;position:relative;overflow:hidden;background:var(--encre);color:var(--blanc)}
.hero-signature picture,.hero-signature picture img{position:absolute;inset:0;width:100%;height:100%}.hero-signature picture img{object-fit:cover;object-position:center;animation:kenBurns 22s ease-in-out infinite alternate}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle at 62% 45%,var(--transparent) 0 28%,var(--voile-doux) 68%,var(--voile) 120%),linear-gradient(90deg,var(--voile) 0%,var(--voile-doux) 38%,var(--transparent) 67%)}
.hero-contenu{position:absolute;z-index:2;left:5vw;bottom:7vh;width:min(760px,70vw);animation:blocEntre .9s ease both}.hero-contenu .repere{color:var(--cobalt-pale);animation:ligneEntre .75s .1s ease both}.hero-contenu h1{font-size:clamp(4.8rem,8.6vw,10.2rem);animation:ligneEntre .75s .2s ease both}.hero-contenu h1 em{display:inline-block;color:var(--cobalt-pale);font-style:normal;animation:respire 6s ease-in-out infinite}.hero-contenu>p:not(.repere){max-width:650px;color:var(--blanc);font-size:1.18rem;animation:ligneEntre .75s .32s ease both}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.5rem;animation:ligneEntre .75s .44s ease both}
.defiler{position:absolute;right:2vw;bottom:3vh;z-index:2;writing-mode:vertical-rl;font:500 .56rem/1 var(--donnee);letter-spacing:.12em;text-transform:uppercase;transition:color .25s ease,transform .25s ease}.defiler span{margin-top:.6rem;color:var(--cobalt-pale);animation:rebond 1.8s ease-in-out infinite}.defiler:hover{color:var(--cobalt-pale);transform:translateY(4px)}

.essentiel{display:grid;grid-template-columns:1.6fr .7fr 1fr .8fr;gap:1rem;padding:1.4rem 4vw;background:var(--cobalt);color:var(--blanc);position:relative;z-index:5}.essentiel div{min-height:100px;padding:1rem 1.4rem;display:flex;flex-direction:column;justify-content:center;background:color-mix(in srgb,var(--blanc) 8%,transparent);border-radius:58% 42% 54% 46% / 40% 55% 45% 60%;transition:background .25s ease,transform .25s ease,border-radius .25s ease}.essentiel div:hover{background:color-mix(in srgb,var(--blanc) 16%,transparent);transform:translateY(-5px);border-radius:43% 57% 39% 61% / 58% 42% 58% 42%}.essentiel span{font:500 .55rem/1.2 var(--donnee);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt-pale);margin-bottom:.45rem}.essentiel strong,.essentiel a{font:400 1.05rem/1.22 var(--titre)}.essentiel a{transition:color .25s ease,transform .25s ease}.essentiel a:hover{color:var(--celadon);transform:translateX(3px)}

.manifeste{padding-block:clamp(8rem,13vw,15rem);position:relative;overflow:hidden}.manifeste::before{content:"";position:absolute;width:34vw;height:34vw;right:-12vw;top:8vw;background:var(--cobalt-pale);border-radius:63% 37% 48% 52% / 42% 61% 39% 58%;opacity:.65;animation:flotte 13s ease-in-out infinite;z-index:-1}.manifeste h2{font-size:clamp(3.8rem,7vw,8.4rem);max-width:1180px}.texte-double{margin:5rem 0 0 auto;max-width:820px;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.texte-double p{font-size:1.08rem}.texte-double p:first-child{transform:translateY(-2rem)}
.ruban{overflow:hidden;background:var(--encre);color:var(--blanc);padding:1.25rem 0;transform:rotate(-1deg) scale(1.02)}.ruban div{width:max-content;font:500 .68rem/1 var(--donnee);letter-spacing:.12em;animation:ruban 24s linear infinite}

.pieces-vedettes{padding-block:clamp(8rem,12vw,13rem);background:var(--biscuit-clair);overflow:hidden}.pieces-vedettes .entete{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;margin-bottom:5rem}.pieces-vedettes .entete>p:last-child{align-self:end}.galerie-horizontale{width:min(1500px,calc(100% - 4vw));margin-left:max(2vw,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1fr 1.15fr .85fr;gap:2vw;align-items:start}.galerie-horizontale article:nth-child(2){margin-top:8vw}.galerie-horizontale figure{margin:0;position:relative}.galerie-horizontale img{height:610px;object-fit:cover;border-radius:58% 42% 47% 53% / 28% 37% 63% 72%;box-shadow:0 24px 52px var(--ombre);filter:grayscale(.15);transition:transform .65s ease,filter .45s ease,border-radius .45s ease}.galerie-horizontale article:nth-child(2) img{border-radius:38% 62% 53% 47% / 62% 34% 66% 38%}.galerie-horizontale article:nth-child(3) img{border-radius:65% 35% 42% 58% / 43% 65% 35% 57%}.galerie-horizontale article:hover img{transform:translateY(-8px) rotate(.7deg);filter:grayscale(0) contrast(1.05);border-radius:46% 54% 40% 60% / 58% 42% 58% 42%}.galerie-horizontale figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--biscuit-clair);padding:.8rem 1rem;border-radius:60% 40% 55% 45%;box-shadow:0 10px 26px var(--ombre);font:500 .55rem/1.25 var(--donnee)}.galerie-horizontale h3{margin:1.5rem 0 .5rem}.galerie-horizontale p{margin:0}.galerie-horizontale b{display:block;margin-top:.5rem;color:var(--cobalt);font:600 .7rem/1 var(--donnee)}.pieces-vedettes>.bouton{margin:5rem 4vw 0}

.feu{padding:8rem 5vw;background:var(--encre);color:var(--blanc);position:relative;overflow:hidden}.feu::before{content:"";position:absolute;left:-10vw;bottom:-12vw;width:35vw;height:35vw;background:var(--cobalt-fonce);border-radius:53% 47% 61% 39% / 38% 63% 37% 62%;animation:flotte 11s ease-in-out infinite}.feu-intro{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:4vw;position:relative;z-index:1}.feu-intro h2{font-size:clamp(3.6rem,6.3vw,7rem)}.feu-intro>p:last-child{align-self:end;color:var(--kaolin)}.feu-outil{max-width:1200px;margin:5rem auto 3rem;display:grid;grid-template-columns:1fr 1.1fr;gap:6vw;align-items:center;position:relative;z-index:1}.objet-feu{position:relative}.objet-feu::before{content:"";position:absolute;inset:-3vw;background:var(--cobalt);border-radius:62% 38% 45% 55% / 55% 42% 58% 45%;opacity:.28;animation:derive 12s ease-in-out infinite alternate}.objet-feu img{position:relative;z-index:1;aspect-ratio:1/1;object-fit:cover;border-radius:55% 45% 62% 38% / 42% 63% 37% 58%;box-shadow:0 26px 65px var(--ombre-forte);transition:opacity .25s ease,transform .45s ease,filter .45s ease}.objet-feu img.change{opacity:.15;transform:scale(.96);filter:blur(5px)}.objet-feu span{position:absolute;z-index:2;right:-1rem;bottom:2rem;background:var(--cobalt);padding:1rem 1.4rem;border-radius:55% 45% 52% 48%;font:600 .72rem/1 var(--donnee)}.commande-feu>label{display:block;margin-bottom:1rem;font:600 .64rem/1 var(--donnee);text-transform:uppercase;letter-spacing:.12em;color:var(--cobalt-pale)}.commande-feu input[type=range]{width:100%;accent-color:var(--cobalt);cursor:ew-resize}.graduations{display:flex;justify-content:space-between;gap:.5rem;margin:.8rem 0 3rem;font:500 .53rem/1 var(--donnee);color:var(--kaolin)}.commande-feu h3{font-size:clamp(2.8rem,4.2vw,4.8rem)}.commande-feu p{color:var(--kaolin);font-size:1.07rem}.commande-feu dl{margin-top:2rem}.commande-feu dl div{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0;border-bottom:1px solid var(--filet-clair)}.commande-feu dt{font:500 .58rem/1 var(--donnee);text-transform:uppercase;color:var(--cobalt-pale)}.commande-feu dd{margin:0;text-align:right}

.commande{padding-block:clamp(8rem,13vw,15rem);display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;align-items:center;width:min(1280px,calc(100% - 8vw));margin-inline:auto}.commande figure{margin:0 0 0 -10vw;position:relative}.commande figure::after{content:"";position:absolute;width:18vw;height:18vw;right:-5vw;bottom:-5vw;background:var(--celadon);border-radius:56% 44% 63% 37% / 42% 58% 42% 58%;z-index:-1;animation:flotte 10s ease-in-out infinite}.commande img{min-height:680px;object-fit:cover;border-radius:35% 65% 43% 57% / 58% 33% 67% 42%;box-shadow:0 28px 64px var(--ombre);transition:transform .7s ease,filter .5s ease,border-radius .5s ease}.commande figure:hover img{transform:rotate(-1deg) scale(1.01);filter:contrast(1.05);border-radius:48% 52% 58% 42% / 37% 61% 39% 63%}.commande figcaption{position:absolute;right:-2rem;top:3rem;background:var(--cobalt);color:var(--blanc);padding:1rem 1.5rem;border-radius:60% 40% 55% 45%;font:500 .57rem/1.3 var(--donnee)}.commande>div p{font-size:1.07rem}.commande dl{margin:2rem 0}.commande dl div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--filet)}.commande dt{font:500 .58rem/1 var(--donnee);text-transform:uppercase;color:var(--cobalt)}.commande dd{margin:0;text-align:right;font-weight:700}

.matiere{min-height:100vh;padding:7vw 4vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center;background:var(--cobalt-fonce);color:var(--blanc);position:relative;overflow:hidden}.matiere::before{content:"";position:absolute;right:-8vw;top:-8vw;width:28vw;height:28vw;background:var(--cobalt);border-radius:62% 38% 47% 53% / 42% 60% 40% 58%;animation:derive 14s ease-in-out infinite alternate}.matiere-texte{position:relative;z-index:1}.matiere-texte h2{font-size:clamp(3.6rem,5.8vw,6.6rem)}.matiere-texte p:not(.repere){color:var(--kaolin);font-size:1.08rem}.matiere-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start;position:relative;z-index:1}.matiere-images figure{margin:0;position:relative;transition:transform .45s ease}.matiere-images figure:first-child{grid-row:span 2;margin-top:8vw}.matiere-images figure:nth-child(3){margin-left:3vw}.matiere-images figure:hover{transform:translateY(-7px) rotate(.7deg)}.matiere-images img{height:330px;object-fit:cover;border-radius:60% 40% 54% 46% / 42% 58% 42% 58%;filter:grayscale(.7);transition:filter .45s ease,border-radius .45s ease,transform .45s ease}.matiere-images figure:first-child img{height:610px}.matiere-images figure:hover img{filter:grayscale(0);border-radius:43% 57% 38% 62% / 58% 42% 58% 42%;transform:scale(1.015)}.matiere-images figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--encre);padding:.65rem .9rem;border-radius:60% 40% 55% 45%;font:500 .55rem/1 var(--donnee)}

.atelier{padding-block:clamp(8rem,13vw,15rem);display:grid;grid-template-columns:.85fr 1.1fr .5fr;gap:5vw;align-items:center;width:min(1320px,calc(100% - 6vw));margin-inline:auto}.portrait{position:relative}.portrait img{height:720px;object-fit:cover;border-radius:55% 45% 50% 50% / 25% 34% 66% 75%;box-shadow:0 26px 58px var(--ombre);transition:transform .65s ease,filter .45s ease,border-radius .45s ease}.portrait:hover img{transform:translateY(-8px) rotate(-1deg);filter:contrast(1.05);border-radius:43% 57% 38% 62% / 36% 48% 52% 64%}.portrait span{position:absolute;left:-1.5rem;bottom:3rem;background:var(--biscuit-clair);padding:1rem 1.3rem;border-radius:58% 42% 55% 45%;box-shadow:0 12px 28px var(--ombre);font:500 .56rem/1 var(--donnee)}.atelier-texte p{font-size:1.07rem}.miniatures{display:flex;flex-direction:column;gap:2rem}.miniatures img{height:250px;object-fit:cover;border-radius:60% 40% 55% 45% / 43% 57% 43% 57%;box-shadow:0 16px 34px var(--ombre);transition:transform .45s ease,filter .4s ease,border-radius .4s ease}.miniatures img:nth-child(2){transform:translateX(-4vw)}.miniatures img:hover{transform:translateY(-7px);filter:contrast(1.06);border-radius:42% 58% 38% 62% / 58% 42% 58% 42%}.miniatures img:nth-child(2):hover{transform:translate(-4vw,-7px)}

.journal{padding-block:8rem;background:var(--cobalt-pale)}.journal .entete{display:grid;grid-template-columns:1fr 2fr;gap:4vw;margin-bottom:4rem}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.articles article{min-height:390px;padding:2.5rem 2rem;display:flex;flex-direction:column;background:var(--biscuit-clair);border-radius:58% 42% 52% 48% / 26% 32% 68% 74%;box-shadow:0 16px 32px var(--ombre);transition:background .35s ease,color .35s ease,transform .35s ease,border-radius .35s ease,box-shadow .35s ease}.articles article:nth-child(2){transform:translateY(2.5rem)}.articles article:hover{background:var(--cobalt);color:var(--blanc);transform:translateY(-8px) rotate(-.6deg);border-radius:44% 56% 38% 62% / 42% 58% 42% 58%;box-shadow:0 24px 48px var(--ombre-forte)}.articles span{font:500 .57rem/1 var(--donnee);color:var(--cobalt)}.articles article:hover span{color:var(--cobalt-pale)}.articles h3{font-size:2.2rem;margin-top:3rem}.articles p{color:inherit;flex:1}.articles a{font-weight:700;border-bottom:1px solid var(--encre);align-self:flex-start;transition:color .25s ease,transform .25s ease,border-color .25s ease}.articles a:hover{color:var(--cobalt-pale);border-color:var(--cobalt-pale);transform:translateX(4px)}
.citation{min-height:88vh;padding:8vw;display:flex;flex-direction:column;justify-content:center;background:var(--cobalt);color:var(--blanc);position:relative;overflow:hidden}.citation::before,.citation::after{content:"";position:absolute;border-radius:50%;background:color-mix(in srgb,var(--blanc) 9%,transparent);animation:flotte 10s ease-in-out infinite}.citation::before{width:30vw;height:30vw;left:-10vw;top:-10vw}.citation::after{width:22vw;height:22vw;right:-5vw;bottom:-8vw;animation-delay:-3s}.citation blockquote{position:relative;z-index:1;margin:0;max-width:1250px;font:400 clamp(3.8rem,7.4vw,9rem)/.89 var(--titre);letter-spacing:-.045em}.citation p{position:relative;z-index:1;margin-top:2rem;color:var(--cobalt-pale);font:500 .68rem/1 var(--donnee);letter-spacing:.1em;text-transform:uppercase}
.visite{min-height:850px;display:grid;grid-template-columns:1.25fr 1fr;background:var(--encre);color:var(--blanc)}.visite>img{height:100%;min-height:850px;object-fit:cover;clip-path:ellipse(80% 78% at 20% 50%);filter:grayscale(.55);transition:filter .6s ease,transform .8s ease}.visite:hover>img{filter:grayscale(0);transform:scale(1.015)}.visite>div{padding:8vw 7vw 8vw 3vw;align-self:center}.visite h2{font-size:clamp(3.7rem,6vw,7rem)}.visite p:not(.repere){color:var(--kaolin);font-size:1.08rem}
.ft{padding:6rem 4vw 2rem;display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:3vw;background:var(--encre);color:var(--blanc)}.ft>div p{max-width:330px;margin-top:1rem;color:var(--kaolin)}.ft nav{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}.ft nav>strong{margin-bottom:.7rem;font:500 .57rem/1 var(--donnee);text-transform:uppercase;letter-spacing:.1em;color:var(--cobalt-pale)}.ft nav a{font-size:.9rem;border-bottom:1px solid var(--transparent);transition:color .25s ease,transform .25s ease,border-color .25s ease}.ft nav a:hover{color:var(--cobalt-pale);border-color:var(--cobalt);transform:translateX(4px)}.ft>small{grid-column:1/-1;padding-top:2rem;margin-top:2rem;border-top:1px solid var(--filet-clair);font:500 .56rem/1.3 var(--donnee);letter-spacing:.1em;text-transform:uppercase;color:var(--kaolin)}.rdv-flottant{display:none;position:fixed;right:1rem;bottom:1rem;z-index:90;min-height:50px;align-items:center;padding:.8rem 1.2rem;background:var(--cobalt);color:var(--blanc);border-radius:60% 40% 55% 45%;box-shadow:0 16px 34px var(--ombre-forte);font:600 .66rem/1 var(--donnee);text-transform:uppercase;transition:background .25s ease,transform .25s ease,border-radius .25s ease}.rdv-flottant:hover{background:var(--cobalt-fonce);transform:translateY(-4px);border-radius:42% 58% 45% 55%}

/* Pages intérieures */
.page-hd{padding-top:92px;background:var(--encre);color:var(--blanc)}
.page-hd .hd{position:fixed;background:var(--encre)}
.page-hero{min-height:72vh;padding:8vw 5vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;background:var(--biscuit-clair);color:var(--encre);position:relative;overflow:hidden}.page-hero::before{content:attr(data-index);position:absolute;right:-.06em;top:-.23em;font:400 clamp(15rem,34vw,38rem)/1 var(--titre);color:var(--cobalt-pale);animation:derive 12s ease-in-out infinite alternate}.page-hero>div,.page-hero>figure{position:relative;z-index:1}.page-hero h1{font-size:clamp(4.4rem,8vw,9.4rem)}.page-hero p{font-size:1.16rem;max-width:650px}.page-hero figure{margin:0;transform:translateY(6vw)}.page-hero img{height:560px;object-fit:cover;border-radius:55% 45% 48% 52% / 32% 62% 38% 68%;box-shadow:0 26px 58px var(--ombre)}
.intro-page{padding-block:8rem;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw}.intro-page h2{font-size:clamp(3.2rem,5.6vw,6.2rem)}.intro-page p{font-size:1.08rem}
.catalogue{padding:8rem 4vw;background:var(--biscuit-clair);display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.fiche-piece{padding:1.2rem;background:var(--biscuit);border-radius:58% 42% 48% 52% / 20% 27% 73% 80%;box-shadow:0 16px 34px var(--ombre);transition:transform .4s ease,box-shadow .4s ease,border-radius .4s ease,background .4s ease}.fiche-piece:nth-child(even){transform:translateY(3rem)}.fiche-piece:hover{transform:translateY(-8px) rotate(-.7deg);box-shadow:0 25px 50px var(--ombre-forte);border-radius:43% 57% 38% 62% / 28% 40% 60% 72%;background:var(--cobalt-pale)}.fiche-piece img{aspect-ratio:3/4;object-fit:cover;border-radius:58% 42% 50% 50% / 28% 35% 65% 72%;transition:filter .45s ease,transform .55s ease}.fiche-piece:hover img{filter:contrast(1.06);transform:scale(.985)}.fiche-piece h3{margin-top:1.5rem;font-size:2.2rem}.fiche-piece dl{margin:1rem 0}.fiche-piece dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0}.fiche-piece dt{font:500 .57rem/1.2 var(--donnee);text-transform:uppercase}.fiche-piece dd{margin:0;text-align:right;font-weight:700}.fiche-piece .statut{color:var(--cobalt)}
.parcours{padding-block:8rem}.parcours-liste{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:4rem}.parcours-liste article{min-height:330px;padding:2rem;background:var(--biscuit-clair);border-radius:60% 40% 55% 45% / 35% 25% 75% 65%;box-shadow:0 16px 34px var(--ombre);transition:background .3s ease,color .3s ease,transform .3s ease,border-radius .3s ease}.parcours-liste article:nth-child(even){transform:translateY(2rem)}.parcours-liste article:hover{background:var(--cobalt);color:var(--blanc);transform:translateY(-7px);border-radius:45% 55% 40% 60% / 55% 38% 62% 45%}.parcours-liste b{font:500 .62rem/1 var(--donnee);color:var(--cobalt)}.parcours-liste article:hover b{color:var(--cobalt-pale)}.parcours-liste h3{font-size:2rem;margin-top:3rem}.parcours-liste p{color:inherit}
.bloc-photo{display:grid;grid-template-columns:1.2fr 1fr;min-height:730px;background:var(--encre);color:var(--blanc)}.bloc-photo>img{height:100%;min-height:730px;object-fit:cover;clip-path:ellipse(79% 77% at 22% 50%)}.bloc-photo>div{padding:7vw;align-self:center}.bloc-photo p:not(.repere){color:var(--kaolin);font-size:1.08rem}.bloc-photo dl{margin:2rem 0}.bloc-photo dl div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--filet-clair)}.bloc-photo dt{font:500 .58rem/1.2 var(--donnee);text-transform:uppercase;color:var(--cobalt-pale)}.bloc-photo dd{margin:0;text-align:right}
.informations{padding-block:8rem;display:grid;grid-template-columns:1fr 1fr;gap:5vw}.informations article{padding:3rem;background:var(--biscuit-clair);border-radius:54% 46% 60% 40% / 28% 36% 64% 72%;box-shadow:0 16px 34px var(--ombre)}.informations h2{font-size:3.2rem}.informations dl div{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0}.informations dt{font:500 .6rem/1.2 var(--donnee);text-transform:uppercase;color:var(--cobalt)}.informations dd{margin:0;text-align:right}
.formulaire{padding-block:8rem}.formulaire .entete-form{max-width:850px;margin-bottom:4rem}.formulaire form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:3.5rem;background:var(--biscuit-clair);border-radius:12% 6% 14% 8% / 8% 12% 7% 14%;box-shadow:0 24px 52px var(--ombre)}.formulaire label{display:flex;flex-direction:column;gap:.5rem;font:600 .62rem/1.2 var(--donnee);letter-spacing:.08em;text-transform:uppercase}.formulaire input,.formulaire select,.formulaire textarea{width:100%;min-height:54px;padding:1rem;border:0;background:var(--biscuit);color:var(--encre);border-radius:55% 45% 52% 48% / 25% 35% 65% 75%;box-shadow:inset 0 0 0 1px var(--filet);transition:background .25s ease,box-shadow .25s ease,transform .25s ease,border-radius .25s ease}.formulaire textarea{min-height:160px;border-radius:8% 4% 10% 6% / 12% 8% 14% 10%}.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{outline:0;background:var(--cobalt-pale);box-shadow:inset 0 0 0 2px var(--cobalt);transform:translateY(-2px);border-radius:45% 55% 42% 58% / 35% 45% 55% 65%}.formulaire .large{grid-column:1/-1}.formulaire .bouton{justify-self:start}.confirmation{grid-column:1/-1;padding:1.5rem;background:var(--celadon);border-radius:60% 40% 55% 45% / 42% 58% 42% 58%}
.texte-legal{padding-block:8rem;max-width:900px}.texte-legal h1{font-size:clamp(4rem,8vw,8rem)}.texte-legal h2{font-size:2.6rem;margin-top:4rem}.texte-legal p,.texte-legal li{font-size:1.05rem}.connexion{max-width:720px;margin-inline:auto;padding:9rem 4vw}.connexion form{padding:3rem;background:var(--biscuit-clair);border-radius:60% 40% 55% 45% / 25% 32% 68% 75%;box-shadow:0 22px 48px var(--ombre)}
.rv{opacity:0;transform:translateY(28px);transition:opacity .72s var(--delai,0ms) ease,transform .72s var(--delai,0ms) ease}.rv.visible{opacity:1;transform:none}

@keyframes kenBurns{from{transform:scale(1)}to{transform:scale(1.065)}}
@keyframes blocEntre{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes ligneEntre{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes flotte{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(1.6vw,-1vw) rotate(3deg)}}
@keyframes derive{from{transform:translateX(0) rotate(0)}to{transform:translateX(-2vw) rotate(-3deg)}}
@keyframes respire{0%,100%{transform:scale(1);letter-spacing:-.04em}50%{transform:scale(1.018);letter-spacing:-.025em}}
@keyframes rebond{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes ruban{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pageEntre{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:none}}

@media(max-width:1150px){.hd>nav a:nth-child(3),.hd>nav a:nth-child(4){display:none}.essentiel{grid-template-columns:1fr 1fr}.pieces-vedettes .entete,.feu-intro{grid-template-columns:1fr 2fr}.pieces-vedettes .entete>p:last-child,.feu-intro>p:last-child{grid-column:2}.galerie-horizontale img{height:520px}.atelier{grid-template-columns:.8fr 1.2fr}.miniatures{grid-column:1/-1;flex-direction:row}.miniatures img{width:50%}.miniatures img:nth-child(2){transform:none}.ft{grid-template-columns:1.5fr repeat(2,1fr)}.ft nav:nth-of-type(n+3){margin-top:2rem}.parcours-liste{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.env{width:min(100% - 2rem,720px)}.hd{height:82px;padding-inline:1rem;grid-template-columns:1fr auto auto}.hd>nav{display:none}.telephone span{display:none}.panneau-site{padding:6rem 1rem 2rem}.panneau-site nav{grid-template-columns:1fr;overflow:auto;align-content:start;padding-top:2rem}.panneau-site a{font-size:1.7rem}.hero-signature{min-height:720px;height:94svh}.hero-contenu{left:1rem;bottom:6vh;width:calc(100% - 2rem)}.hero-contenu h1{font-size:clamp(4.3rem,16vw,7rem)}.essentiel{padding-inline:1rem}.texte-double{grid-template-columns:1fr}.texte-double p:first-child{transform:none}.pieces-vedettes .entete,.feu-intro{display:block}.galerie-horizontale{display:flex;overflow:auto;scroll-snap-type:x mandatory}.galerie-horizontale article{min-width:72vw;scroll-snap-align:start}.galerie-horizontale article:nth-child(2){margin-top:0}.feu{padding-inline:1rem}.feu-outil{grid-template-columns:1fr}.objet-feu{width:min(560px,90%);margin-inline:auto}.commande{grid-template-columns:1fr;width:min(100% - 2rem,720px)}.commande figure{margin-left:-1rem}.commande img{min-height:530px}.matiere{grid-template-columns:1fr;padding:6rem 1rem}.matiere-images figure:first-child{margin-top:0}.atelier{grid-template-columns:1fr;width:min(100% - 2rem,720px)}.portrait img{height:620px}.miniatures{grid-column:auto}.articles{grid-template-columns:1fr}.articles article:nth-child(2){transform:none}.visite{grid-template-columns:1fr}.visite>img{height:540px;min-height:540px;clip-path:ellipse(88% 86% at 50% 20%)}.visite>div{padding:4rem 1rem}.ft{grid-template-columns:1fr 1fr}.ft>div{grid-column:1/-1}.page-hero{grid-template-columns:1fr}.page-hero figure{transform:none}.intro-page,.bloc-photo,.informations{grid-template-columns:1fr}.catalogue{grid-template-columns:1fr 1fr}.bloc-photo>img{min-height:520px}.formulaire form{grid-template-columns:1fr}.formulaire .large{grid-column:auto}}
@media(max-width:620px){h1{font-size:clamp(4rem,18vw,6rem)}h2{font-size:clamp(2.9rem,13vw,4.6rem)}.logo strong{font-size:1.04rem}.logo small{font-size:.45rem}.telephone{font-size:.56rem}.tout-site{padding:.7rem;font-size:.55rem}.hero-signature{min-height:700px}.hero-signature picture img{object-position:center top}.hero-vignette{background:linear-gradient(0deg,var(--voile) 0 56%,var(--voile-doux) 78%,var(--transparent) 100%)}.hero-contenu h1{font-size:clamp(4.2rem,18vw,5.8rem)}.hero-contenu>p:not(.repere){font-size:1.02rem}.defiler{display:none}.essentiel{grid-template-columns:1fr}.essentiel div{min-height:88px}.manifeste{padding-block:6rem}.ruban{padding-block:1rem}.pieces-vedettes{padding-block:6rem}.galerie-horizontale article{min-width:84vw}.galerie-horizontale img{height:500px}.feu{padding-block:6rem}.graduations{font-size:.46rem}.commande{padding-block:6rem}.commande img{min-height:430px}.commande figcaption{right:0;top:1rem}.matiere{min-height:0}.matiere-images{grid-template-columns:1fr 1fr}.matiere-images figure:first-child{grid-row:auto;grid-column:1/-1}.matiere-images figure:first-child img{height:380px}.matiere-images img{height:240px}.atelier{padding-block:6rem}.portrait img{height:520px}.miniatures img{height:180px}.journal{padding-block:6rem}.journal .entete{display:block}.citation{min-height:76vh;padding:5rem 1rem}.citation blockquote{font-size:clamp(3.4rem,15vw,5.3rem)}.visite>img{height:430px;min-height:430px}.ft{grid-template-columns:1fr;padding:4rem 1rem 6rem}.ft>div{grid-column:auto}.rdv-flottant{display:flex}.page-hd{padding-top:82px}.page-hero{min-height:62vh;padding:5rem 1rem 3rem;display:block}.page-hero h1{font-size:clamp(4rem,18vw,5.8rem)}.page-hero figure{margin-top:2rem}.page-hero img{height:370px}.intro-page{padding-block:5rem}.catalogue{grid-template-columns:1fr;padding:5rem 1rem}.fiche-piece:nth-child(even){transform:none}.parcours{padding-block:5rem}.parcours-liste{grid-template-columns:1fr}.parcours-liste article:nth-child(even){transform:none}.bloc-photo>img{min-height:430px}.bloc-photo>div{padding:4rem 1rem}.informations{padding-block:5rem}.informations article{padding:2rem 1.5rem}.formulaire{padding-block:5rem}.formulaire form{padding:2rem 1rem;border-radius:7% 4% 8% 5%}.texte-legal{padding:6rem 1rem}.texte-legal h1{font-size:clamp(2.8rem,12.5vw,3.4rem)}.connexion{padding:6rem 1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}}
