@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Onest:wght@400;500;600;700&family=Smooch+Sans:wght@300;500;700;900&display=swap');

:root{
  --fil:#E10071;
  --fil-fonce:#A80055;
  --fil-pale:#FBE3F0;
  --encre:#24161F;
  --encre-2:#392632;
  --papier:#F3EEE6;
  --papier-2:#E9E0D4;
  --lin:#FFFDFC;
  --mauve:#8C7898;
  --mauve-pale:#D8CEDD;
  --bois:#6E4938;
  --blanc:#FFFFFF;
  --transparent:transparent;
  --voile:rgba(36,22,31,.82);
  --voile-clair:rgba(255,253,252,.86);
  --filet:rgba(36,22,31,.24);
  --filet-clair:rgba(255,255,255,.34);
  --selection:rgba(225,0,113,.2);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--papier)}
body{margin:0;font-family:'Onest',sans-serif;font-size:1rem;line-height:1.65;color:var(--encre);background:var(--papier);overflow-x:hidden}
body::selection{background:var(--selection)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;object-fit:cover}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.env{width:min(1400px,calc(100% - 48px));margin-inline:auto}
.mono,.sur,.donnee{font-family:'DM Mono',monospace}
.sur{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:'Smooch Sans',sans-serif;letter-spacing:-.035em;line-height:.9}
h1{font-size:clamp(4.5rem,10.5vw,10rem);font-weight:900;margin-bottom:1.25rem}
h2{font-size:clamp(3.4rem,7vw,7.4rem);font-weight:800;margin-bottom:1.5rem}
h3{font-size:clamp(2rem,3.5vw,3.4rem);font-weight:700;margin-bottom:.75rem}
p{max-width:68ch}
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.rv.vu{opacity:1;transform:none}
.bouton,.bouton-clair,.bouton-trait{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:48px;padding:.72rem 1.1rem;border:1px solid var(--encre);border-radius:4px;font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease,border-color .25s ease,letter-spacing .25s ease}
.bouton{background:var(--fil);color:var(--blanc);border-color:var(--fil)}
.bouton-clair{background:var(--lin);color:var(--encre);border-color:var(--lin)}
.bouton-trait{background:var(--transparent);color:inherit}
.bouton:hover,.bouton-clair:hover,.bouton-trait:hover{transform:translateY(-3px);letter-spacing:.12em;background:var(--encre);color:var(--blanc);border-color:var(--encre)}

.hd{position:absolute;inset:0 0 auto;z-index:20;color:var(--blanc);transition:background .3s ease,color .3s ease,transform .3s ease,border-color .3s ease,backdrop-filter .3s ease}
.hd.fixe{position:fixed;background:var(--voile-clair);color:var(--encre);backdrop-filter:blur(16px);border-bottom:1px solid var(--filet)}
.hd-ligne{width:min(1400px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:2rem;min-height:84px}
.logo{display:flex;flex-direction:column;font-family:'Smooch Sans',sans-serif;font-weight:900;font-size:2.05rem;line-height:.72;letter-spacing:-.02em;white-space:nowrap;transition:color .25s ease,transform .25s ease}
.logo small{font-family:'DM Mono',monospace;font-size:.54rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;margin-top:.5rem;font-weight:500}
.logo:hover{color:var(--fil);transform:translateX(3px)}
.nav-princ{display:flex;justify-content:center;gap:clamp(1rem,2.6vw,2.4rem)}
.nav-princ a,.tel-hd{font-size:.86rem;font-weight:600;position:relative;min-height:44px;display:inline-flex;align-items:center;transition:color .25s ease,transform .25s ease}
.nav-princ a::after{content:'';position:absolute;left:0;right:100%;bottom:8px;height:2px;background:var(--fil);transition:right .25s ease}
.nav-princ a:hover{color:var(--fil);transform:translateY(-2px)}
.nav-princ a:hover::after{right:0}
.actions-hd{display:flex;align-items:center;gap:.8rem}
.tel-hd:hover{color:var(--fil);transform:translateY(-2px)}
.plan{position:relative}
.plan summary{list-style:none;min-height:44px;display:flex;align-items:center;padding:.45rem .7rem;border:1px solid currentColor;border-radius:4px;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;transition:background .25s ease,color .25s ease,transform .25s ease}
.plan summary::-webkit-details-marker{display:none}
.plan summary:hover{background:var(--fil);color:var(--blanc);transform:translateY(-2px)}
.plan-nav{position:absolute;right:0;top:calc(100% + .75rem);width:min(720px,80vw);background:var(--lin);color:var(--encre);border:1px solid var(--encre);display:grid;grid-template-columns:repeat(3,1fr);padding:1rem;z-index:30}
.plan-nav a{padding:.7rem;border-bottom:1px solid var(--filet);font-size:.82rem;transition:background .2s ease,color .2s ease,transform .2s ease}
.plan-nav a:hover{background:var(--fil);color:var(--blanc);transform:translateX(3px)}

.hero-s{height:100vh;height:100svh;min-height:740px;position:relative;color:var(--blanc);display:grid;align-items:end;overflow:hidden;background:var(--encre)}
.hero-s>picture,.hero-s>picture img{position:absolute;inset:0;width:100%;height:100%}
.hero-s>picture img{object-position:center center;animation:ken 22s ease-in-out infinite alternate}
.hero-bloc{position:relative;z-index:2;width:min(43%,690px);min-width:590px;height:calc(100% - 84px);margin-top:84px;padding:clamp(6rem,11vh,9rem) clamp(2rem,5vw,5.5rem) 3rem;background:var(--voile);display:flex;flex-direction:column;justify-content:flex-end;border-right:1px solid var(--filet-clair)}
.hero-bloc h1{animation:entree .9s .15s both}
.hero-bloc .sur{color:var(--fil);animation:entree .7s both}
.hero-bloc>p{font-size:1.08rem;animation:entree .9s .25s both}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;animation:entree .9s .35s both}
.defile{position:absolute;z-index:3;bottom:2rem;right:2.5rem;font-family:'DM Mono',monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;animation:pulse 2.4s ease-in-out infinite}

.bande-essentiel{background:var(--lin);border-bottom:1px solid var(--encre)}
.essentiel-grille{display:grid;grid-template-columns:1.25fr .8fr 1fr 1.15fr}
.essentiel-item{padding:1.25rem 1.5rem;border-right:1px solid var(--filet)}
.essentiel-item:last-child{border-right:0}
.essentiel-item strong{display:block;font-family:'Smooch Sans',sans-serif;font-size:1.8rem;line-height:1;margin-top:.3rem}
.essentiel-item a{color:var(--fil);transition:color .2s ease,letter-spacing .2s ease}
.essentiel-item a:hover{color:var(--encre);letter-spacing:.02em}

.manifeste{padding:clamp(5rem,10vw,10rem) 0;border-bottom:1px solid var(--encre)}
.manifeste-grille{display:grid;grid-template-columns:1fr 3fr;gap:5vw;align-items:start}
.manifeste h2{max-width:1050px}
.manifeste h2 em{font-style:normal;color:var(--fil)}
.manifeste-note{border-top:1px solid var(--encre);padding-top:1rem;font-family:'DM Mono',monospace;font-size:.78rem}

.coupe{background:var(--encre);color:var(--blanc);padding:clamp(5rem,8vw,8rem) 0}
.coupe-entete{display:grid;grid-template-columns:1.3fr 1fr;gap:4rem;align-items:end;margin-bottom:3rem}
.amorce{color:var(--fil);font-family:'DM Mono',monospace;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.outil-siege{display:grid;grid-template-columns:1.5fr .9fr;border:1px solid var(--filet-clair);min-height:650px}
.outil-visuel{position:relative;border-right:1px solid var(--filet-clair);overflow:hidden;background:var(--encre-2)}
.outil-visuel img{width:100%;height:100%;position:absolute;inset:0;transition:opacity .2s ease,transform .5s ease}
.outil-visuel img.change{opacity:.15;transform:scale(1.03)}
.outil-numero{position:absolute;left:1.5rem;top:1rem;font-family:'Smooch Sans',sans-serif;font-size:8rem;font-weight:900;line-height:1;color:var(--fil);z-index:2}
.outil-panneau{padding:2.2rem;display:flex;flex-direction:column}
.outil-panneau h3{font-size:4rem}
.outil-panneau p{color:var(--mauve-pale)}
.etats{display:grid;margin-top:auto;border-top:1px solid var(--filet-clair)}
.etats button{appearance:none;text-align:left;background:var(--transparent);color:var(--blanc);border:0;border-bottom:1px solid var(--filet-clair);padding:1rem;min-height:58px;font-family:'DM Mono',monospace;font-size:.78rem;transition:background .25s ease,color .25s ease,padding-left .25s ease}
.etats button:hover,.etats button.actif{background:var(--fil);color:var(--blanc);padding-left:1.5rem}

.prestations{padding:clamp(5rem,9vw,9rem) 0}
.prestations-tete{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:3rem}
.liste-prestations{border-top:1px solid var(--encre)}
.presta{display:grid;grid-template-columns:90px 1fr 1fr auto;gap:2rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--encre);transition:background .25s ease,padding .25s ease,color .25s ease}
.presta:hover{background:var(--fil-pale);padding-inline:1rem}
.presta .num{font-family:'Smooch Sans',sans-serif;font-size:3.5rem;font-weight:900;color:var(--fil)}
.presta h3{font-size:2.7rem;margin:0}
.presta p{margin:0}
.presta .prix{font-family:'DM Mono',monospace;white-space:nowrap}

.matiere{padding:0 0 clamp(6rem,10vw,10rem)}
.matiere-grille{display:grid;grid-template-columns:1.1fr .75fr .75fr;grid-template-rows:360px 330px;gap:1px;background:var(--encre);border:1px solid var(--encre)}
.matiere-grille figure{margin:0;position:relative;overflow:hidden;background:var(--papier)}
.matiere-grille figure:first-child{grid-row:span 2}
.matiere-grille img{width:100%;height:100%;filter:saturate(.8);transition:filter .45s ease,transform .6s ease}
.matiere-grille figure:hover img{filter:saturate(1.1);transform:scale(1.04)}
.matiere-grille figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--voile-clair);padding:.5rem .7rem;font-family:'DM Mono',monospace;font-size:.72rem;border:1px solid var(--filet)}

.realisations{background:var(--lin);padding:clamp(5rem,8vw,8rem) 0;border-block:1px solid var(--encre)}
.galerie{display:grid;grid-template-columns:1.35fr .65fr;gap:1px;background:var(--encre);border:1px solid var(--encre)}
.galerie figure{margin:0;background:var(--papier);overflow:hidden;position:relative;min-height:360px}
.galerie figure:nth-child(1){grid-row:span 2;min-height:760px}
.galerie img{width:100%;height:100%;position:absolute;inset:0;filter:grayscale(1);transition:filter .45s ease,transform .6s ease}
.galerie figure:hover img{filter:grayscale(0);transform:scale(1.03)}
.galerie figcaption{position:absolute;inset:auto 0 0;padding:1rem;background:var(--voile);color:var(--blanc);font-family:'DM Mono',monospace;font-size:.75rem}

.methode{padding:clamp(6rem,10vw,10rem) 0}
.methode h2{max-width:900px}
.frise{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--encre)}
.etape{padding:1.4rem;min-height:250px;border-right:1px solid var(--encre);display:flex;flex-direction:column;transition:background .25s ease,color .25s ease,transform .25s ease}
.etape:last-child{border-right:0}
.etape:hover{background:var(--encre);color:var(--blanc);transform:translateY(-6px)}
.etape strong{font-family:'Smooch Sans',sans-serif;font-size:4rem;color:var(--fil)}
.etape h3{font-size:2.3rem}

.rupture{min-height:82vh;display:grid;grid-template-columns:1.2fr .8fr;background:var(--encre);color:var(--blanc);overflow:hidden}
.rupture-image{min-height:650px;position:relative}
.rupture-image img{position:absolute;inset:0;width:100%;height:100%}
.rupture-texte{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--filet-clair)}
.rupture blockquote{font-family:'Smooch Sans',sans-serif;font-size:clamp(3rem,6vw,6rem);font-weight:700;line-height:.9;margin:0 0 2rem}
.rupture cite{font-style:normal;color:var(--fil);font-family:'DM Mono',monospace}

.projet{padding:clamp(5rem,8vw,8rem) 0}
.projet-grille{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--encre)}
.projet-image{min-height:620px;position:relative;overflow:hidden}
.projet-image img{position:absolute;inset:0;width:100%;height:100%;transition:transform .6s ease,filter .5s ease}
.projet-image:hover img{transform:scale(1.03);filter:saturate(1.1)}
.projet-contenu{padding:clamp(2rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--encre)}
.choix-projet{display:grid;grid-template-columns:repeat(3,1fr);margin:1rem 0;border:1px solid var(--encre)}
.choix-projet button{background:var(--transparent);border:0;border-right:1px solid var(--encre);padding:1rem .5rem;min-height:52px;transition:background .2s ease,color .2s ease,transform .2s ease}
.choix-projet button:last-child{border-right:0}
.choix-projet button:hover,.choix-projet button.actif{background:var(--fil);color:var(--blanc);transform:translateY(-2px)}
.resultat-projet{padding:1rem;border-left:5px solid var(--fil);background:var(--fil-pale);min-height:88px}

.infos{padding:clamp(5rem,8vw,8rem) 0;background:var(--papier-2);border-top:1px solid var(--encre)}
.infos-grille{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1px;background:var(--encre);border:1px solid var(--encre)}
.infos-grille>div{background:var(--papier-2);padding:2rem;min-height:260px}
.infos strong{display:block;font-family:'Smooch Sans',sans-serif;font-size:3rem;line-height:1;margin-bottom:1rem}
.infos a{color:var(--fil);transition:color .2s ease,letter-spacing .2s ease}
.infos a:hover{color:var(--encre);letter-spacing:.02em}

.interieur-hero{padding:150px 0 70px;background:var(--encre);color:var(--blanc);border-bottom:1px solid var(--filet-clair)}
.interieur-hero .sur{color:var(--fil)}
.interieur-hero h1{max-width:1150px;margin-bottom:1rem}
.interieur-hero p{font-size:1.15rem;color:var(--mauve-pale)}
.contenu-page{padding:clamp(4rem,8vw,8rem) 0}
.intro-page{display:grid;grid-template-columns:1.1fr .9fr;gap:5vw;align-items:start;margin-bottom:5rem}
.intro-page img{width:100%;min-height:480px;border:1px solid var(--encre)}
.donnees{border-top:1px solid var(--encre)}
.ligne-donnee{display:grid;grid-template-columns:1fr 1.7fr;gap:2rem;padding:1rem 0;border-bottom:1px solid var(--encre)}
.ligne-donnee span:first-child{font-family:'DM Mono',monospace;font-size:.78rem;color:var(--fil)}
.blocs-page{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--encre);margin:4rem 0}
.bloc-page{padding:1.7rem;border-right:1px solid var(--encre);min-height:250px}
.bloc-page:last-child{border-right:0}
.bloc-page strong{display:block;font-family:'Smooch Sans',sans-serif;font-size:3.5rem;color:var(--fil)}
.grand-visuel{height:min(74vh,800px);margin:4rem 0;overflow:hidden;border:1px solid var(--encre)}
.grand-visuel img{width:100%;height:100%;transition:transform .6s ease,filter .4s ease}
.grand-visuel:hover img{transform:scale(1.025);filter:saturate(1.05)}
.tarifs{border:1px solid var(--encre);margin:3rem 0}
.tarif{display:grid;grid-template-columns:1.3fr 2fr auto;gap:2rem;padding:1rem;border-bottom:1px solid var(--encre);align-items:center;transition:background .2s ease,color .2s ease,padding-left .2s ease}
.tarif:last-child{border-bottom:0}
.tarif:hover{background:var(--fil-pale);padding-left:1.4rem}
.tarif strong{font-family:'Smooch Sans',sans-serif;font-size:2rem}
.tarif span:last-child{font-family:'DM Mono',monospace}
.fq{border-bottom:1px solid var(--encre)}
.fq button{width:100%;background:var(--transparent);border:0;padding:1.1rem 0;text-align:left;font-family:'Smooch Sans',sans-serif;font-size:2rem;font-weight:700;display:flex;justify-content:space-between;transition:color .2s ease,padding-left .2s ease}
.fq button:hover{color:var(--fil);padding-left:.5rem}
.fq .rep{display:none;padding:0 0 1.2rem;max-width:800px}
.fq.ouvert .rep{display:block;animation:deplier .35s ease both}
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--encre);border:1px solid var(--encre);margin-top:3rem}
.formulaire label{background:var(--papier);padding:1rem;font-family:'DM Mono',monospace;font-size:.75rem}
.formulaire label.large{grid-column:1/-1}
.formulaire input,.formulaire select,.formulaire textarea{display:block;width:100%;margin-top:.5rem;border:1px solid var(--encre);border-radius:4px;min-height:48px;background:var(--lin);padding:.7rem;color:var(--encre);transition:border-color .2s ease,background .2s ease,transform .2s ease}
.formulaire textarea{min-height:140px;resize:vertical}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{outline:0;border-color:var(--fil);background:var(--fil-pale);transform:translateY(-2px)}
.formulaire .envoi{grid-column:1/-1;background:var(--papier);padding:1rem}

.pied{background:var(--encre);color:var(--blanc);border-top:1px solid var(--filet-clair);padding:4rem 0 1.5rem}
.pied-grille{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem}
.pied h3{font-size:2rem;color:var(--fil)}
.pied nav{display:grid;gap:.55rem}
.pied a{transition:color .2s ease,transform .2s ease}
.pied a:hover{color:var(--fil);transform:translateX(3px)}
.pied-bas{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--filet-clair);display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:.7rem;color:var(--mauve-pale)}
.appel-mobile{display:none}

/* États de lecture et repères techniques des pages intérieures */
:focus-visible{outline:3px solid var(--fil);outline-offset:4px}
.contenu-page>.env>h2{position:relative;padding-top:1.2rem;border-top:1px solid var(--encre)}
.contenu-page>.env>h2::after{content:'POINT DE CONTRÔLE';position:absolute;right:0;top:1.35rem;font-family:'DM Mono',monospace;font-size:.64rem;letter-spacing:.14em;color:var(--fil)}
.intro-page>div:first-child>p:first-child,.intro-page>div:last-child>p:first-child{color:var(--fil)}
.intro-page img{filter:saturate(.86) contrast(1.02);transition:filter .45s ease,transform .6s ease,object-position .45s ease}
.intro-page img:hover{filter:saturate(1.08) contrast(1);transform:translateY(-5px)}
.donnees::before{content:'FICHE PROJET';display:block;padding:.65rem 0;border-bottom:1px solid var(--encre);font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.15em;color:var(--fil)}
.ligne-donnee{transition:background .2s ease,padding-left .2s ease,padding-right .2s ease}
.ligne-donnee:hover{background:var(--fil-pale);padding-left:.6rem;padding-right:.6rem}
.blocs-page .bloc-page{position:relative;overflow:hidden;transition:background .25s ease,color .25s ease,transform .25s ease}
.blocs-page .bloc-page::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:5px;background:var(--fil);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.blocs-page .bloc-page:hover{background:var(--encre);color:var(--blanc);transform:translateY(-6px)}
.blocs-page .bloc-page:hover::after{transform:scaleX(1)}
.blocs-page .bloc-page p{font-size:.94rem}
.tarifs::before{content:'PRIX INDICATIFS · MAIN-D’ŒUVRE';display:block;padding:.7rem 1rem;border-bottom:1px solid var(--encre);font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em;background:var(--encre);color:var(--blanc)}
.tarif:nth-child(even){background:var(--lin)}
.tarif:nth-child(even):hover{background:var(--fil-pale)}
.tarif strong{line-height:1}
.tarif span:nth-child(2){font-size:.92rem}
.tarif span:last-child{color:var(--fil);font-weight:500}
.grand-visuel{position:relative}
.grand-visuel::before{content:'DOCUMENT ATELIER';position:absolute;z-index:2;top:1rem;left:1rem;background:var(--encre);color:var(--blanc);padding:.45rem .65rem;font-family:'DM Mono',monospace;font-size:.65rem;letter-spacing:.12em}
.formulaire::before{content:'DEMANDE · ÉTAPE UNIQUE';grid-column:1/-1;display:block;background:var(--encre);color:var(--blanc);padding:.75rem 1rem;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.14em}
.formulaire label{transition:background .2s ease,color .2s ease}
.formulaire label:focus-within{background:var(--fil-pale)}
.formulaire input::placeholder,.formulaire textarea::placeholder{color:var(--mauve)}
.fq button span{font-family:'DM Mono',monospace;color:var(--fil);transition:transform .25s ease,color .25s ease}
.fq.ouvert button span{transform:rotate(45deg);color:var(--encre)}
.fq.ouvert button{color:var(--fil)}
.fq .rep p{padding-left:1rem;border-left:4px solid var(--fil)}
.interieur-hero{position:relative;overflow:hidden}
.interieur-hero::after{content:'';position:absolute;right:-8vw;bottom:-12vw;width:34vw;height:34vw;border:1px solid var(--filet-clair);border-radius:50%;animation:tourne 26s linear infinite}
.interieur-hero .env{position:relative;z-index:2}
.interieur-hero h1{position:relative}
.interieur-hero h1::after{content:'';display:block;width:120px;height:5px;background:var(--fil);margin-top:1.3rem;animation:allonge 1.2s .25s both}
.pied .logo{font-size:2.4rem}
.pied p{color:var(--mauve-pale)}
.pied nav a{min-height:32px;display:flex;align-items:center;border-bottom:1px solid var(--filet-clair)}
.pied nav a::before{content:'→';color:var(--fil);margin-right:.5rem;transition:transform .2s ease}
.pied nav a:hover::before{transform:translateX(4px)}
.outil-siege:focus-within{outline:3px solid var(--fil);outline-offset:5px}
.choix-projet button:focus-visible,.etats button:focus-visible{outline-offset:-5px}
.resultat-projet::before{content:'À PRÉPARER';display:block;font-family:'DM Mono',monospace;font-size:.66rem;letter-spacing:.12em;color:var(--fil);margin-bottom:.45rem}
.presta::after{content:'→';font-family:'DM Mono',monospace;color:var(--fil);font-size:1.4rem;transition:transform .25s ease,color .25s ease}
.presta:hover::after{transform:translateX(7px);color:var(--encre)}
.etape::after{content:'ÉTAPE';margin-top:auto;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.13em;color:var(--mauve)}
.etape:hover::after{color:var(--fil)}
.infos-grille>div{position:relative}
.infos-grille>div::before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:var(--fil);transform:scaleX(.12);transform-origin:left;transition:transform .3s ease}
.infos-grille>div:hover::before{transform:scaleX(1)}
.matiere-grille figure::after,.galerie figure::after{content:'';position:absolute;inset:0;border:0 solid var(--fil);pointer-events:none;transition:border-width .25s ease}
.matiere-grille figure:hover::after,.galerie figure:hover::after{border-width:5px}

@keyframes tourne{to{transform:rotate(360deg)}}
@keyframes allonge{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}

@media(min-width:901px){
  .contenu-page>.env>p:not(.sur):not(.amorce){font-size:1.05rem}
  .intro-page:nth-child(even) img{transform:translateY(2rem)}
  .intro-page:nth-child(even) img:hover{transform:translateY(1.5rem)}
  .blocs-page .bloc-page:nth-child(2){transform:translateY(1.5rem)}
  .blocs-page .bloc-page:nth-child(2):hover{transform:translateY(1rem)}
}

@media(max-width:900px){
  .contenu-page>.env>h2::after{position:static;display:block;margin-top:.75rem}
  .interieur-hero::after{width:70vw;height:70vw;right:-30vw;bottom:-35vw}
  .formulaire::before{grid-column:1/-1}
  .pied nav a{min-height:44px}
}

@media print{
  .hd,.appel-mobile,.bouton,.bouton-clair,.bouton-trait,.pied{display:none!important}
  body{background:var(--blanc);color:var(--encre)}
  .interieur-hero{padding:1rem 0;background:var(--blanc);color:var(--encre)}
  .rv{opacity:1;transform:none}
  .contenu-page{padding:1rem 0}
  img{max-height:350px}
}

@keyframes ken{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes entree{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}
@keyframes deplier{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes fil{from{background-position:0 0}to{background-position:120px 0}}
@keyframes clignote{0%,100%{color:var(--fil)}50%{color:var(--blanc)}}

@media(max-width:1180px){
  .hd-ligne{grid-template-columns:220px 1fr auto}.nav-princ{gap:1rem}.nav-princ a:nth-child(4){display:none}.tel-hd{display:none}
  .hero-bloc{width:55%;min-width:520px}.presta{grid-template-columns:70px 1fr auto}.presta p{display:none}
  .frise{grid-template-columns:repeat(3,1fr)}.etape:nth-child(3){border-right:0}.etape:nth-child(-n+3){border-bottom:1px solid var(--encre)}
  .pied-grille{grid-template-columns:1fr 1fr}.outil-siege{grid-template-columns:1.2fr 1fr}
}
@media(max-width:900px){
  .env,.hd-ligne{width:min(100% - 28px,1400px)}.hd-ligne{grid-template-columns:1fr auto;min-height:72px}.nav-princ{display:none}.actions-hd .bouton{display:none}
  .plan-nav{position:fixed;inset:72px 14px auto;width:auto;max-height:75vh;overflow:auto;grid-template-columns:1fr 1fr}
  .hero-s{min-height:720px;height:92vh;height:92svh}.hero-s>picture img{object-position:center}.hero-bloc{width:100%;min-width:0;height:auto;margin-top:72px;padding:7rem 1.25rem 2rem;background:linear-gradient(to top,var(--voile),var(--transparent));border-right:0}
  .hero-bloc h1{font-size:clamp(4.7rem,21vw,7.5rem)}.defile{display:none}.essentiel-grille{grid-template-columns:1fr 1fr}.essentiel-item:nth-child(2){border-right:0}.essentiel-item:nth-child(-n+2){border-bottom:1px solid var(--filet)}
  .manifeste-grille,.coupe-entete,.prestations-tete,.projet-grille,.intro-page{grid-template-columns:1fr}.outil-siege{grid-template-columns:1fr;min-height:0}.outil-visuel{min-height:520px;border-right:0;border-bottom:1px solid var(--filet-clair)}
  .matiere-grille{grid-template-columns:1fr 1fr;grid-template-rows:500px 280px 280px}.matiere-grille figure:first-child{grid-column:span 2;grid-row:auto}
  .galerie{grid-template-columns:1fr}.galerie figure:nth-child(1){grid-row:auto;min-height:600px}.galerie figure{min-height:420px}
  .rupture{grid-template-columns:1fr}.rupture-image{min-height:540px}.rupture-texte{border-left:0;border-top:1px solid var(--filet-clair)}
  .projet-contenu{border-left:0;border-top:1px solid var(--encre)}.infos-grille{grid-template-columns:1fr}.infos-grille>div{min-height:0}.blocs-page{grid-template-columns:1fr}.bloc-page{border-right:0;border-bottom:1px solid var(--encre)}.bloc-page:last-child{border-bottom:0}
  .pied-grille{grid-template-columns:1fr 1fr}.appel-mobile{display:flex;position:fixed;right:14px;bottom:14px;z-index:40;background:var(--fil);color:var(--blanc);border:1px solid var(--blanc);border-radius:4px;min-height:52px;padding:.75rem 1rem;align-items:center;font-family:'DM Mono',monospace;font-size:.75rem;transition:background .2s ease,transform .2s ease,border-color .2s ease}.appel-mobile:hover{background:var(--encre);border-color:var(--fil);transform:translateY(-3px)}
}
@media(max-width:640px){
  h1{font-size:clamp(4.2rem,22vw,6.8rem)}h2{font-size:clamp(3.4rem,18vw,5.3rem)}.logo{font-size:1.75rem}
  .plan-nav{grid-template-columns:1fr}.hero-bloc{padding-top:6rem}.hero-actions{display:grid}.hero-actions a{width:100%}.essentiel-grille{grid-template-columns:1fr}.essentiel-item{border-right:0;border-bottom:1px solid var(--filet)}
  .presta{grid-template-columns:52px 1fr}.presta .prix{grid-column:2}.matiere-grille{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,320px)}.matiere-grille figure:first-child{grid-column:auto}
  .frise{grid-template-columns:1fr}.etape{border-right:0;border-bottom:1px solid var(--encre)!important;min-height:0}.etape:last-child{border-bottom:0!important}.outil-visuel{min-height:420px}.outil-panneau{padding:1.25rem}.outil-panneau h3{font-size:3.2rem}.outil-numero{font-size:5rem}
  .galerie figure:nth-child(1),.galerie figure{min-height:360px}.rupture-image{min-height:440px}.choix-projet{grid-template-columns:1fr}.choix-projet button{border-right:0;border-bottom:1px solid var(--encre)}.choix-projet button:last-child{border-bottom:0}
  .infos-grille{display:block}.pied-grille{grid-template-columns:1fr}.pied-bas{display:grid;gap:.5rem}.formulaire{grid-template-columns:1fr}.formulaire label.large,.formulaire .envoi{grid-column:auto}.tarif{grid-template-columns:1fr}.ligne-donnee{grid-template-columns:1fr}.interieur-hero{padding-top:120px}.grand-visuel{height:55vh;min-height:390px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.rv{opacity:1;transform:none}}
