@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) 16%,transparent);
  --ombre-forte:color-mix(in srgb,var(--encre) 28%,transparent);
  --voile:color-mix(in srgb,var(--encre) 76%,transparent);
  --filet:color-mix(in srgb,var(--encre) 22%,transparent);
  --filet-clair:color-mix(in srgb,var(--blanc) 24%,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}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{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:-.035em;line-height:.91}
h1{font-size:clamp(4rem,9vw,9.2rem)}
h2{font-size:clamp(3rem,6vw,6.5rem)}
h3{font-size:clamp(2rem,3vw,3.7rem)}
.env{width:min(1200px,calc(100% - 8vw));margin-inline:auto}
.evitement{position:fixed;left:1rem;top:-10rem;z-index:100;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)}
.repere{font:600 .66rem/1.35 var(--donnee);letter-spacing:.15em;text-transform:uppercase;color:var(--cobalt)}
.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.35rem;border-radius:55% 45% 50% 50% / 55% 45% 55% 45%;background:var(--biscuit-clair);box-shadow:0 10px 26px var(--ombre);font:600 .68rem/1 var(--donnee);letter-spacing:.08em;text-transform:uppercase;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(-4px) rotate(-1deg);box-shadow:0 16px 34px var(--ombre-forte);border-radius:45% 55% 42% 58% / 48% 52% 58% 42%}
.bouton.plein{background:var(--cobalt);color:var(--blanc)}
.bouton.plein:hover{background:var(--cobalt-fonce)}
.bouton.clair{background:var(--blanc);color:var(--encre)}
.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,.lien:focus-visible{color:var(--cobalt);border-color:var(--cobalt);transform:translateX(5px);letter-spacing:.015em}
.lien.clair{border-color:var(--blanc);color:var(--blanc)}

/* En-tête */
.hd{height:94px;padding:0 3vw;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:2.2vw;align-items:center;position:relative;z-index:50;background:var(--biscuit-clair);box-shadow:0 8px 26px 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);transform:translateY(-2px)}
.logo strong{font:400 1.35rem/.95 var(--titre);letter-spacing:-.035em}
.logo small{margin-top:.25rem;font:600 .52rem/1 var(--donnee);letter-spacing:.12em;text-transform:uppercase}
.hd>nav{display:flex;align-items:center;gap:clamp(.8rem,1.5vw,1.7rem)}
.hd>nav>a:not(.bouton){position:relative;font-weight:650;transition:color .25s ease,transform .25s ease}
.hd>nav>a:not(.bouton)::after{content:"";position:absolute;left:0;right:0;bottom:-.4rem;height:2px;background:var(--cobalt);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.hd>nav>a:not(.bouton):hover{color:var(--cobalt);transform:translateY(-2px)}
.hd>nav>a:not(.bouton):hover::after{transform:scaleX(1)}
.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:.5rem;text-transform:uppercase;color:var(--cobalt);letter-spacing:.1em}
.telephone:hover{color:var(--cobalt);transform:translateY(-2px)}
.menu-bouton{display:none;min-width:48px;min-height:48px;border:0;border-radius:60% 40% 55% 45%;background:var(--cobalt);color:var(--blanc);font:600 .62rem/1 var(--donnee);text-transform:uppercase;transition:transform .25s ease,background .25s ease,border-radius .25s ease}
.menu-bouton:hover{background:var(--cobalt-fonce);transform:rotate(3deg);border-radius:42% 58% 45% 55%}
.menu-mobile{display:none;position:fixed;z-index:45;inset:94px 0 auto;background:var(--cobalt-fonce);color:var(--blanc);padding:2rem;box-shadow:0 18px 36px var(--ombre-forte)}
.menu-mobile.ouvert{display:block;animation:menuEntre .45s ease both}
.menu-mobile nav{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}
.menu-mobile a{font:400 1.8rem/1.1 var(--titre);padding:.5rem;transition:color .25s ease,transform .25s ease}
.menu-mobile a:hover{color:var(--cobalt-pale);transform:translateX(8px)}

/* Hero Essentiel : composition claire en mosaïque, jamais plein écran */
.hero-essentiel{min-height:calc(780px - 94px);display:grid;grid-template-columns:52% 48%;background:var(--biscuit-clair);position:relative}
.hero-essentiel::before{content:"";position:absolute;width:22vw;height:22vw;left:-8vw;top:6vw;background:var(--cobalt-pale);border-radius:62% 38% 44% 56% / 48% 62% 38% 52%;animation:flotte 10s ease-in-out infinite;opacity:.65}
.hero-texte{position:relative;z-index:2;padding:clamp(4rem,8vw,8rem) 4vw 4rem 7vw;display:flex;flex-direction:column;justify-content:center}
.hero-texte h1{font-size:clamp(4.6rem,8.4vw,9.2rem);max-width:760px;animation:titreEntre .8s ease both}
.hero-texte h1 em{color:var(--cobalt);font-style:normal;display:inline-block;animation:respire 5s ease-in-out infinite}
.hero-texte .amorce{max-width:610px;font-size:1.15rem;animation:texteEntre .8s .16s ease both}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.2rem;animation:texteEntre .8s .28s ease both}
.hero-images{display:grid;grid-template-columns:1.4fr .8fr;gap:1rem;padding:3vw 3vw 3vw 0;align-items:center;position:relative}
.hero-images::after{content:"";position:absolute;right:-5vw;bottom:-3vw;width:18vw;height:12vw;background:var(--celadon);border-radius:45% 55% 65% 35% / 60% 42% 58% 40%;z-index:0;animation:derive 12s ease-in-out infinite alternate}
.hero-images figure{margin:0;overflow:hidden;position:relative;z-index:1;box-shadow:0 24px 54px var(--ombre)}
.hero-images figure:first-child{height:78%;border-radius:52% 48% 45% 55% / 22% 30% 70% 78%}
.hero-images figure:last-child{height:48%;margin-left:-5vw;margin-top:19vw;border-radius:62% 38% 64% 36% / 45% 58% 42% 55%}
.hero-images img{height:100%;object-fit:cover;transition:filter .6s ease,transform .8s ease}
.hero-images figure:hover img{filter:contrast(1.08);transform:scale(1.04)}

.essentiel{display:grid;grid-template-columns:1.6fr .8fr 1fr 1fr;gap:1rem;padding:1.5rem 4vw;background:var(--cobalt);color:var(--blanc)}
.essentiel div{min-height:98px;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% 55% 45% / 38% 47% 53% 62%;transition:background .25s ease,transform .25s ease,border-radius .25s ease}
.essentiel div:hover{background:color-mix(in srgb,var(--blanc) 15%,transparent);transform:translateY(-5px);border-radius:46% 54% 38% 62% / 58% 42% 58% 42%}
.essentiel span{font:500 .56rem/1.2 var(--donnee);text-transform:uppercase;letter-spacing:.1em;color:var(--cobalt-pale);margin-bottom:.45rem}
.essentiel strong,.essentiel a{font:400 1.05rem/1.25 var(--titre)}
.essentiel a{transition:color .25s ease,transform .25s ease}.essentiel a:hover{color:var(--celadon);transform:translateX(3px)}

.manifeste{padding-block:clamp(7rem,12vw,13rem);position:relative}
.manifeste::after{content:"";position:absolute;right:-18vw;top:18%;width:34vw;height:34vw;border-radius:48% 52% 63% 37% / 55% 39% 61% 45%;background:var(--kaolin);opacity:.45;z-index:-1;animation:derive 14s ease-in-out infinite alternate-reverse}
.manifeste h2{max-width:1050px;margin-inline:auto;text-align:center}
.manifeste .repere{text-align:center}
.colonnes{max-width:830px;margin:4rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.colonnes p:first-child{transform:translateY(-1.5rem)}

.familles{padding:3rem 4vw 9rem;background:var(--biscuit-clair)}
.familles article{display:grid;grid-template-columns:8vw minmax(280px,1fr) 1.5fr;gap:4vw;align-items:center;min-height:590px;margin-bottom:4rem;position:relative}
.familles article:nth-child(even){grid-template-columns:1.5fr 8vw minmax(280px,1fr)}
.familles article:nth-child(even)>span{grid-column:2}.familles article:nth-child(even)>div{grid-column:3}.familles article:nth-child(even)>img{grid-row:1;grid-column:1}
.familles article>span{align-self:start;padding-top:3rem;font:500 clamp(3rem,6vw,7rem)/1 var(--donnee);color:var(--cobalt-pale);animation:respire 6s ease-in-out infinite}
.familles article>div{max-width:470px}
.familles article>img{height:520px;object-fit:cover;box-shadow:0 25px 50px var(--ombre);border-radius:58% 42% 46% 54% / 28% 36% 64% 72%;transition:transform .7s ease,filter .5s ease,border-radius .5s ease}
.familles article:nth-child(2)>img{border-radius:38% 62% 55% 45% / 60% 30% 70% 40%}
.familles article:nth-child(3)>img{border-radius:63% 37% 41% 59% / 34% 63% 37% 66%}
.familles article:hover>img{transform:scale(1.018) rotate(.5deg);filter:contrast(1.06);border-radius:48% 52% 54% 46% / 42% 58% 42% 58%}

.passage{padding-block:8rem;background:var(--encre);color:var(--blanc);position:relative;overflow:hidden}
.passage::before{content:"";position:absolute;left:-12vw;top:-15vw;width:32vw;height:32vw;background:var(--cobalt-fonce);border-radius:48% 52% 43% 57% / 63% 38% 62% 37%;animation:flotte 9s ease-in-out infinite}
.passage .entete{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;position:relative;z-index:1;margin-bottom:4rem}
.passage h2{font-size:clamp(3.4rem,6vw,6.8rem)}
.passage .entete>p:last-child{color:var(--kaolin);align-self:end}
.etats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;width:min(1380px,calc(100% - 4vw));margin-inline:auto;position:relative;z-index:1}
.etats figure{margin:0;transition:transform .45s ease,filter .45s ease}
.etats figure:nth-child(even){transform:translateY(2.5rem)}
.etats figure:hover{transform:translateY(-.7rem) scale(1.015)}
.etats figure:nth-child(even):hover{transform:translateY(1rem) scale(1.015)}
.etats img{aspect-ratio:1/1;object-fit:cover;filter:grayscale(1);border-radius:60% 40% 55% 45% / 45% 60% 40% 55%;transition:filter .45s ease,border-radius .45s ease,transform .45s ease}
.etats figure:hover img{filter:grayscale(0);border-radius:44% 56% 38% 62% / 60% 42% 58% 40%;transform:rotate(-1deg)}
.etats figcaption{padding:1.2rem .5rem}
.etats b{font:500 .62rem/1 var(--donnee);color:var(--cobalt-pale)}
.etats strong{display:block;margin:.5rem 0;font:400 1.6rem/1 var(--titre)}
.etats p{color:var(--kaolin);font-size:.92rem}

.collection-debord{padding-block:clamp(8rem,13vw,14rem);display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:center}
.collection-debord figure{margin:0 0 0 -12vw;position:relative}
.collection-debord figure::before{content:"";position:absolute;right:-5vw;bottom:-5vw;width:17vw;height:17vw;background:var(--celadon);border-radius:63% 37% 52% 48% / 38% 65% 35% 62%;z-index:-1;animation:flotte 11s ease-in-out infinite alternate}
.collection-debord img{min-height:650px;object-fit:cover;border-radius:35% 65% 43% 57% / 57% 31% 69% 43%;box-shadow:0 26px 60px var(--ombre);transition:transform .7s ease,filter .5s ease,border-radius .5s ease}
.collection-debord figure:hover img{transform:rotate(-1deg) scale(1.01);filter:contrast(1.06);border-radius:48% 52% 57% 43% / 35% 61% 39% 65%}
.collection-debord figcaption{position:absolute;right:-1rem;bottom:4rem;background:var(--cobalt);color:var(--blanc);padding:1rem 1.4rem;border-radius:55% 45% 55% 45% / 45% 58% 42% 55%;font:500 .58rem/1.3 var(--donnee)}
.collection-debord>div p{font-size:1.07rem}.collection-debord .bouton{margin-top:1rem}

.prix{padding-block:8rem;background:var(--cobalt-pale);position:relative}
.prix::after{content:"";position:absolute;right:-7vw;top:4rem;width:18vw;height:18vw;background:var(--biscuit-clair);border-radius:50% 50% 38% 62% / 63% 38% 62% 37%;animation:derive 13s ease-in-out infinite alternate}
.prix .entete{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;position:relative;z-index:1}
.prix .entete>p:last-child{align-self:end}
.liste-prix{margin-top:4rem;position:relative;z-index:1}
.liste-prix div{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;min-height:90px;padding:1rem 2rem;margin:.7rem 0;background:var(--biscuit-clair);border-radius:58% 42% 54% 46% / 42% 58% 42% 58%;box-shadow:0 10px 24px var(--ombre);transition:background .3s ease,color .3s ease,transform .3s ease,border-radius .3s ease,box-shadow .3s ease}
.liste-prix div:nth-child(even){margin-left:5vw}
.liste-prix div:hover{background:var(--cobalt);color:var(--blanc);transform:translateX(8px);border-radius:44% 56% 38% 62% / 58% 42% 58% 42%;box-shadow:0 18px 32px var(--ombre-forte)}
.liste-prix span{font:400 clamp(1.4rem,2.4vw,2.6rem)/1 var(--titre)}
.liste-prix b{font:600 .75rem/1 var(--donnee);color:var(--cobalt)}
.liste-prix div:hover b{color:var(--cobalt-pale)}
.prix>.lien{margin-top:2rem}

.atelier{padding-block:clamp(8rem,13vw,14rem);display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:center}
.atelier figure{margin:0;position:relative;transform:translateX(7vw)}
.atelier img{height:720px;object-fit:cover;border-radius:53% 47% 50% 50% / 26% 31% 69% 74%;box-shadow:0 30px 65px var(--ombre);transition:transform .65s ease,filter .45s ease,border-radius .45s ease}
.atelier figure:hover img{transform:translateY(-8px) rotate(1deg);filter:contrast(1.05);border-radius:43% 57% 38% 62% / 35% 48% 52% 65%}
.atelier figcaption{position:absolute;left:-3rem;bottom:4rem;background:var(--biscuit-clair);padding:1rem 1.4rem;border-radius:60% 40% 55% 45%;box-shadow:0 12px 28px var(--ombre);font:500 .6rem/1.3 var(--donnee)}
.atelier>div p{font-size:1.08rem}

.citation{min-height:78vh;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:28vw;height:28vw;left:-9vw;top:-8vw}.citation::after{width:20vw;height:20vw;right:-5vw;bottom:-8vw;animation-delay:-3s}
.citation blockquote{position:relative;z-index:1;margin:0;max-width:1200px;font:400 clamp(3.8rem,7.8vw,9.5rem)/.88 var(--titre);letter-spacing:-.045em}
.citation p{position:relative;z-index:1;margin-top:2rem;color:var(--cobalt-pale);font:500 .7rem/1 var(--donnee);text-transform:uppercase;letter-spacing:.1em}

.contact-final{min-height:760px;display:grid;grid-template-columns:1.2fr 1fr;background:var(--encre);color:var(--blanc)}
.contact-final>img{height:100%;min-height:760px;object-fit:cover;clip-path:ellipse(79% 78% at 20% 50%);filter:grayscale(.5);transition:filter .6s ease,transform .8s ease}
.contact-final:hover>img{filter:grayscale(0);transform:scale(1.015)}
.contact-final>div{padding:8vw 7vw 8vw 3vw;align-self:center}
.contact-final h2{font-size:clamp(3.4rem,5.8vw,6.5rem)}
.contact-final p:not(.repere){color:var(--kaolin);font-size:1.08rem}
.contact-final .lien{margin-left:1rem}

.ft{padding:6rem 4vw 2rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:5vw;background:var(--encre);color:var(--blanc)}
.ft>div p{max-width:380px;color:var(--kaolin);margin-top:1rem}.ft nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}
.ft nav>strong{margin-bottom:.6rem;font:500 .6rem/1 var(--donnee);color:var(--cobalt-pale);text-transform:uppercase;letter-spacing:.12em}
.ft nav a{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 .58rem/1.3 var(--donnee);letter-spacing:.1em;text-transform:uppercase;color:var(--kaolin)}
.contact-flottant{display:none;position:fixed;right:1rem;bottom:1rem;z-index:60;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 14px 30px var(--ombre-forte);font:600 .68rem/1 var(--donnee);text-transform:uppercase;transition:background .25s ease,transform .25s ease,border-radius .25s ease}
.contact-flottant:hover{background:var(--cobalt-fonce);transform:translateY(-4px);border-radius:42% 58% 45% 55%}

/* Pages intérieures */
.page-hero{min-height:60vh;padding:8vw 5vw 5vw;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:end;background:var(--biscuit-clair);position:relative;overflow:hidden}
.page-hero::before{content:attr(data-index);position:absolute;right:-.08em;top:-.25em;font:400 clamp(14rem,33vw,36rem)/1 var(--titre);color:var(--cobalt-pale);animation:derive 12s ease-in-out infinite alternate}
.page-hero>div{position:relative;z-index:1}.page-hero h1{font-size:clamp(4.2rem,8vw,9rem)}.page-hero p{font-size:1.18rem;max-width:650px}
.page-hero figure{margin:0;position:relative;z-index:1;transform:translateY(7vw)}
.page-hero img{height:500px;object-fit:cover;border-radius:55% 45% 48% 52% / 35% 65% 35% 65%;box-shadow:0 24px 54px var(--ombre)}
.intro-page{padding-block:8rem;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw}.intro-page p{font-size:1.08rem}.intro-page h2{font-size:clamp(3rem,5vw,5.8rem)}
.grille-pieces{padding:7rem 4vw;background:var(--biscuit-clair);display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.piece{background:var(--biscuit);padding:1.2rem;border-radius:58% 42% 48% 52% / 20% 25% 75% 80%;box-shadow:0 16px 32px var(--ombre);transition:transform .4s ease,box-shadow .4s ease,border-radius .4s ease,background .4s ease}
.piece:nth-child(even){transform:translateY(3rem)}.piece:hover{transform:translateY(-8px) rotate(-.7deg);box-shadow:0 24px 48px var(--ombre-forte);border-radius:44% 56% 38% 62% / 26% 38% 62% 74%;background:var(--cobalt-pale)}
.piece img{aspect-ratio:3/4;object-fit:cover;border-radius:58% 42% 50% 50% / 28% 35% 65% 72%;transition:filter .4s ease,transform .5s ease}.piece:hover img{filter:contrast(1.06);transform:scale(.985)}
.piece h3{margin-top:1.5rem;font-size:2.2rem}.piece dl{margin:1rem 0}.piece dl div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0}.piece dt{font:500 .58rem/1.2 var(--donnee);text-transform:uppercase}.piece dd{margin:0;font-weight:700;text-align:right}.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:320px;padding:2rem;background:var(--biscuit-clair);border-radius:60% 40% 55% 45% / 35% 25% 75% 65%;box-shadow:0 15px 32px 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.15fr 1fr;min-height:700px;background:var(--encre);color:var(--blanc)}.bloc-photo>img{height:100%;min-height:700px;object-fit:cover;clip-path:ellipse(78% 75% at 25% 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}.bloc-photo dt{font:500 .6rem/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:3rem}.informations dl div{display:flex;justify-content:space-between;gap:2rem;padding:.8rem 0}.informations dt{font:500 .62rem/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:820px;margin-bottom:4rem}.formulaire form{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;padding:3rem;background:var(--biscuit-clair);border-radius:12% 6% 14% 8% / 8% 12% 7% 14%;box-shadow:0 22px 48px var(--ombre)}.formulaire label{display:flex;flex-direction:column;gap:.5rem;font:600 .63rem/1.2 var(--donnee);letter-spacing:.08em;text-transform:uppercase}.formulaire input,.formulaire select,.formulaire textarea{width:100%;min-height:52px;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{border:0;justify-self:start}.confirmation{grid-column:1/-1;padding:1.5rem;background:var(--celadon);border-radius:60% 40% 55% 45% / 42% 58% 42% 58%}
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s var(--delai,0ms) ease,transform .7s var(--delai,0ms) ease}.rv.visible{opacity:1;transform:none}

@keyframes menuEntre{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes titreEntre{from{opacity:0;transform:translateY(24px) rotate(-1deg)}to{opacity:1;transform:none}}
@keyframes texteEntre{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.5vw,-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:-.035em}50%{transform:scale(1.02);letter-spacing:-.02em}}

@media(max-width:1120px){.hd>nav>a:nth-child(3),.hd>nav>a:nth-child(4){display:none}.hero-essentiel{grid-template-columns:1fr 1fr}.essentiel{grid-template-columns:1fr 1fr}.familles article,.familles article:nth-child(even){grid-template-columns:6vw 1fr 1.2fr}.familles article:nth-child(even)>span{grid-column:1}.familles article:nth-child(even)>div{grid-column:2}.familles article:nth-child(even)>img{grid-row:auto;grid-column:3}.passage .entete,.prix .entete{grid-template-columns:1fr 2fr}.passage .entete>p:last-child,.prix .entete>p:last-child{grid-column:2}.parcours-liste{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.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}.menu-bouton{display:block}.menu-mobile{inset-top:82px}.hero-essentiel{display:block}.hero-texte{min-height:640px;padding:5rem 1rem 4rem}.hero-images{height:560px;padding:0 1rem 2rem;grid-template-columns:1.2fr .8fr}.hero-images figure:first-child{height:92%}.hero-images figure:last-child{height:52%;margin-top:13rem;margin-left:-4rem}.essentiel{padding-inline:1rem}.colonnes{grid-template-columns:1fr}.colonnes p:first-child{transform:none}.familles{padding-inline:1rem}.familles article,.familles article:nth-child(even){grid-template-columns:1fr;gap:1.5rem}.familles article>span,.familles article:nth-child(even)>span{grid-column:1}.familles article>div,.familles article:nth-child(even)>div{grid-column:1}.familles article>img,.familles article:nth-child(even)>img{grid-column:1;grid-row:auto;width:calc(100% + 1rem);height:480px}.etats{overflow:auto;display:flex;padding-bottom:2rem;scroll-snap-type:x mandatory}.etats figure{min-width:70vw;scroll-snap-align:start}.collection-debord{grid-template-columns:1fr}.collection-debord figure{margin-left:-1rem}.collection-debord img{min-height:520px}.prix .entete,.passage .entete{display:block}.liste-prix div:nth-child(even){margin-left:0}.atelier{grid-template-columns:1fr}.atelier figure{transform:translateX(1rem)}.atelier img{height:620px}.contact-final{grid-template-columns:1fr}.contact-final>img{min-height:520px;height:520px;clip-path:ellipse(86% 85% at 50% 20%)}.contact-final>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}.grille-pieces{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:600px){h1{font-size:clamp(3.8rem,17vw,5.6rem)}h2{font-size:clamp(2.8rem,13vw,4.4rem)}.logo strong{font-size:1.05rem}.logo small{font-size:.46rem}.telephone{font-size:.58rem}.hero-texte{min-height:590px}.hero-texte h1{font-size:clamp(4.2rem,19vw,5.8rem)}.hero-images{height:430px}.hero-images figure:last-child{margin-top:9rem}.essentiel{grid-template-columns:1fr}.essentiel div{min-height:88px}.manifeste{padding-block:6rem}.familles{padding-block:4rem}.familles article{min-height:0;margin-bottom:6rem}.familles article>span{font-size:3rem;padding-top:0}.familles article>img,.familles article:nth-child(even)>img{height:400px}.passage{padding-block:6rem}.etats figure{min-width:82vw}.collection-debord{padding-block:6rem}.collection-debord img{min-height:430px}.prix{padding-block:6rem}.liste-prix div{padding:1rem 1.2rem}.liste-prix span{font-size:1.25rem}.atelier{padding-block:6rem}.atelier img{height:500px}.citation{min-height:70vh;padding:5rem 1rem}.citation blockquote{font-size:clamp(3.5rem,16vw,5.4rem)}.contact-final>img{height:420px;min-height:420px}.contact-final .lien{margin:1rem 0 0}.ft{grid-template-columns:1fr;padding:4rem 1rem 6rem}.ft>div{grid-column:auto}.contact-flottant{display:flex}.page-hero{min-height:58vh;padding:5rem 1rem 3rem;display:block}.page-hero h1{font-size:clamp(4rem,18vw,5.7rem)}.page-hero figure{margin-top:2rem}.page-hero img{height:360px}.intro-page{padding-block:5rem}.grille-pieces{grid-template-columns:1fr;padding:5rem 1rem}.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%}.menu-mobile{top:82px}}
@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}}
