
:root{--mbc:#8F4951;--pap:#F7F1E6;--enc:#231F20;--gra:#5A6470;--txt:#3B3637;--gre:#8F4951;--line:#D6CFC3;--pec:#E0A38F;--sau:#A9BFA8;--blv:#9EC3D3;}
*{box-sizing:border-box;margin:0;padding:0}

body{font-family:Poppins,sans-serif;font-weight:300;color:var(--txt);font-size:2.963rem;line-height:1.6}

h1,h2,h3,.lora{font-family:Lora,Georgia,serif;font-weight:400;color:var(--enc)}
h1{font-size:10.583rem;line-height:1.05}
h2{font-size:6.703rem;line-height:1.12;margin-bottom:4rem}
h3{font-size:4.057rem;line-height:1.25;margin-bottom:1.5rem}
p{margin-bottom:2.4rem}
.k{font-size:2.328rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gre);margin-bottom:2.5rem;display:block}
.wrap{padding:0 18rem 0 20rem;position:relative}
section{position:relative;padding:15rem 0}
.pap{background:var(--pap)} .wht{background:#fff}
.img{background-size:cover;background-position:center;background-repeat:no-repeat}
.ph{position:relative;overflow:hidden;background-color:#fff;box-shadow:0 0.6rem 2rem rgba(35,31,32,.14);border:0.25rem solid #fff}
.cap{font-size:2.187rem;color:var(--gra);font-style:italic;margin-top:1.5rem;display:block}
.todo{border:0.35rem dashed var(--gre);background:repeating-linear-gradient(135deg,rgba(143,73,81,.05) 0 3rem,transparent 3rem 6rem);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gre);font-size:2.328rem;font-weight:500;padding:3rem}
.btn{display:inline-block;font-size:2.469rem;font-weight:500;padding:2.2rem 5rem;border-radius:6rem;margin-right:3rem}
.btn.dark{background:var(--enc);color:var(--pap)} .btn.line{border:0.35rem solid var(--enc);color:var(--enc)}
.quote{font-family:Lora,Georgia,serif;font-style:italic;font-size:4.939rem;line-height:1.35;color:var(--gre)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:6rem}
.flow{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin:2rem 0 2.6rem}
.flow span{font-size:2.258rem;background:var(--pap);border:0.25rem solid var(--line);padding:0.7rem 2.2rem;border-radius:3rem;color:var(--enc)}
.flow i{font-style:normal;color:var(--gra);font-size:2.469rem}
.wht .flow span{background:var(--pap)} .pap .flow span{background:#fff}
.band{height:9rem;background-size:cover;background-position:center}
.rule{height:0.3rem;background:var(--line);margin:7rem 0}
/* nav */




/* hero */
.hero{min-height:118rem;padding:0}
.hero .frag{position:absolute;right:0;top:0;bottom:0;width:72rem;-webkit-mask-image:linear-gradient(to left,#000 60%,transparent);mask-image:linear-gradient(to left,#000 60%,transparent)}
.hero .t{position:absolute;left:105rem;bottom:12rem;width:80rem;height:36rem;background-size:contain;background-repeat:no-repeat;opacity:.9}
.hero .wrap{padding-top:20rem;padding-bottom:14rem}.hero .wrap>*{max-width:132rem}
.hero .qs{font-family:Lora,Georgia,serif;font-style:italic;font-size:4.057rem;line-height:1.5;color:var(--gre);margin:6rem 0 5rem}
.lead{font-family:Lora,Georgia,serif;font-size:4.41rem;line-height:1.45;color:var(--enc);margin-bottom:3rem}
/* cards */
.card{background:#fff;border:0.25rem solid var(--line);padding:5rem}
.pap .card{background:#fff} .wht .card{background:var(--pap);border-color:transparent}
.num{font-family:Lora,Georgia,serif;font-size:7.056rem;color:var(--gre);line-height:1;margin-bottom:2rem}
.xp{display:grid;grid-template-columns:52rem 1fr;gap:6rem;padding:6rem 0;border-top:0.25rem solid var(--line)}
.xp:first-of-type{border-top:none}
.xp .ph{height:38rem}
.xp .name{font-size:2.328rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gre)}
.par{display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.par .card h3{margin-bottom:3rem}
.par dl{display:grid;grid-template-columns:22rem 1fr;gap:1.8rem 3rem;font-size:2.681rem}
.par dt{font-size:2.187rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gra);padding-top:0.5rem}
.par dd .flow{margin:0}
.logos{display:grid;grid-template-columns:repeat(7,1fr);gap:3rem;margin-top:4rem}
.logos div{height:13rem;font-size:2.046rem;padding:1.5rem}
.contact{font-family:Lora,Georgia,serif;font-size:4.586rem;color:var(--enc)}
footer{padding:6rem 18rem 8rem 20rem;font-size:2.258rem;color:var(--gra);background:var(--pap);border-top:0.25rem solid var(--line);display:flex;justify-content:space-between}
.logos{display:grid;grid-template-columns:repeat(7,1fr);gap:4rem;margin-top:5rem;align-items:center}
.logos .lg{height:14rem;display:flex;align-items:center;justify-content:center;background:#fff;padding:2rem;border:0.25rem solid var(--line)}
.logos img{max-width:100%;max-height:100%;filter:grayscale(1);opacity:.75}
/* équipe */
.now{display:grid;grid-template-columns:repeat(4,1fr);gap:5rem;margin:4rem 0 8rem}
.now .pt{height:30rem;margin-bottom:2.5rem}
.now b{font-family:Lora,Georgia,serif;font-weight:400;font-size:3.704rem;color:var(--enc);display:block}
.now .r{font-size:2.469rem;color:var(--gra);line-height:1.4;display:block}
.now .u{font-size:2.258rem;color:var(--gre);display:block;margin-top:0.8rem}
.frise{position:relative;display:grid;grid-template-columns:28rem repeat(4,1fr);column-gap:0;margin-top:3rem}
.frise .per{font-family:Lora,Georgia,serif;font-size:3.528rem;color:var(--enc);padding:0 0 2rem 3rem;border-left:0.3rem solid var(--line)}
.frise .per.cur{color:var(--gre)}
.frise .lab{font-size:2.187rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gra);align-self:center}
.frise .cell{border-left:0.3rem solid var(--line);padding:1.6rem 2.5rem 1.6rem 3rem;min-height:11rem}
.frise .cell b{font-family:Lora,Georgia,serif;font-weight:400;font-size:3.104rem;color:var(--enc);display:block;line-height:1.2}
.frise .cell span{font-size:2.187rem;color:var(--gra);line-height:1.35;display:block}
.frise .cell em{font-style:normal;font-size:2.117rem;color:var(--gre);display:block}
.bar{grid-column:2 / -1;height:2.4rem;border-radius:2rem;margin:1rem 0 2.5rem;background-size:cover;background-position:center}
.span2{position:relative}
.span2t::after{top:0;bottom:auto}
.pt.img{border:0.25rem solid var(--line);background-color:#fff;background-size:contain}
.span2::after{content:"";position:absolute;left:0;right:-100%;bottom:0;height:0.6rem;background:var(--gre);opacity:.55;border-radius:1rem}

/* fils sur une ligne */
.flow.chain{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;margin:2.5rem 0 3rem}
.flow.chain span{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.35;font-size:2.328rem;padding:1.8rem 2rem;border-radius:2rem;border:none;background:#fff;color:var(--txt)}
.flow.chain i{flex:0 0 8rem;display:flex;align-items:center;justify-content:center;font-size:3.881rem;color:var(--gra)}
.wht .flow.chain span{background:var(--pap)}
.par .flow.chain span{background:#fff;border:0.3rem solid var(--txt);border-radius:2.5rem;min-height:11rem;font-size:2.399rem}
.par{display:grid;grid-template-columns:1fr !important;gap:5rem}
.par dl{grid-template-columns:24rem 1fr !important;gap:2.5rem 4rem !important;align-items:center}
.par dd{font-size:2.822rem}

.morebtn{text-align:center;margin:5rem 0 4rem}
.unfold{position:relative;border:0.4rem dashed var(--gre);border-radius:2rem;padding:9rem 5rem 4rem;margin:2rem -3rem 4rem;background:rgba(143,73,81,.03)}
.uflab{position:absolute;top:2.5rem;left:5rem;font-size:2.187rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gre)}
.unfold .xp:first-of-type{border-top:none}

.forms4{display:grid;grid-template-columns:1fr 1fr;margin-bottom:5rem}
.forms4 p{padding:2.5rem 4rem}
.forms4 p:nth-child(odd):not(:last-child){border-right:0.3rem solid var(--line);padding-left:0}
.forms4 p:nth-child(1),.forms4 p:nth-child(2){border-bottom:0.3rem solid var(--line)}
.forms4 p:last-child{padding-left:0}
.mb{position:relative;height:36rem;display:flex;align-items:center;gap:8rem;padding:0 18rem 0 20rem;background:var(--mbc)}
.mb img{height:26rem;width:auto;display:block;border:0.5rem solid rgba(247,241,230,.9);box-shadow:0 0.8rem 2.5rem rgba(0,0,0,.35)}
.mb .btn{margin:0 0 0 auto;background:var(--pap);color:var(--enc);font-size:2.611rem;padding:2.6rem 6rem}
.mb .clk{position:absolute;top:2rem;right:18rem;font-size:1.976rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(247,241,230,.75);border:0.3rem dashed rgba(247,241,230,.6);border-radius:1.5rem;padding:0.5rem 1.8rem}
.dlrow{display:grid;grid-template-columns:1fr 1fr;gap:6rem;margin-top:8rem}
.dl{display:grid;grid-template-columns:30rem 1fr;gap:5rem;align-items:center;background:#fff;border:0.25rem solid var(--line);padding:4rem}
.dl img{width:30rem;display:block;box-shadow:0 0.6rem 2rem rgba(35,31,32,.18)}
footer{flex-wrap:wrap} footer .docs{color:var(--enc);flex-basis:100%;order:-1;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:0.25rem solid var(--line)} footer .docs u{text-decoration:none;border-bottom:0.25rem solid var(--gre)}
.mailtodo{display:inline-block;border:0.35rem dashed var(--gre);color:var(--gre);padding:0.3rem 2rem;border-radius:1.5rem;font-weight:500}

@font-face{font-family:Poppins;font-weight:300;font-style:normal;font-display:swap;src:url(../fonts/poppins-300.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:300;font-style:italic;font-display:swap;src:url(../fonts/poppins-300i.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/poppins-400.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/poppins-500.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:600 700;font-style:normal;font-display:swap;src:url(../fonts/poppins-600.woff) format('woff')}
@font-face{font-family:Lora;font-weight:400 700;font-style:normal;font-display:swap;src:url(../fonts/lora.woff) format('woff')}
@font-face{font-family:Lora;font-weight:400 700;font-style:italic;font-display:swap;src:url(../fonts/lora-i.woff) format('woff')}
html{font-size:5.4px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:#fff;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
button{font:inherit;background:none;border:none;cursor:pointer;color:inherit}
.btn{cursor:pointer;transition:background .2s,color .2s,opacity .2s;line-height:1.4}
.btn.line:hover{background:var(--enc);color:var(--pap)}
.btn.dark:hover{background:var(--gre)}
.wrap{max-width:210rem;margin:0 auto}
section[id],.fam[id]{scroll-margin-top:16rem}
/* header */
.top{position:sticky;top:0;z-index:50;height:13rem;display:flex;align-items:center;justify-content:space-between;gap:6rem;padding:0 max(18rem,calc((100% - 172rem)/2)) 0 max(20rem,calc((100% - 172rem)/2));background:var(--pap);border-bottom:0.25rem solid var(--line)}
.top .brand{font-family:Lora,serif;font-size:4.233rem;color:var(--enc);white-space:nowrap}
.top .links{font-size:2.223rem;font-weight:500;color:var(--enc);display:flex;align-items:center;gap:3.2rem;white-space:nowrap}
.top .links a{padding:0.6rem 0;border-bottom:0.45rem solid transparent}
.top .links a:hover,.top .links a.on{border-bottom-color:var(--gre)}
.top .links a.cta{background:var(--enc);color:var(--pap);padding:1.2rem 3rem;border-radius:4rem;border:none}
.top .links a.cta:hover{background:var(--gre)}
.burger{display:none;width:9rem;height:9rem;position:relative}
.burger i,.burger i::before,.burger i::after{position:absolute;left:1.5rem;right:1.5rem;height:0.5rem;background:var(--enc);content:"";display:block;transition:transform .2s}
.burger i{top:50%}.burger i::before{top:-2rem;left:0;right:0}.burger i::after{top:2rem;left:0;right:0}
.hero .t{left:calc(max(0px,(100% - 210rem)/2) + 112rem);bottom:5rem}
/* unfold */
.unfold{border:none;padding:0;margin:0 0 4rem;background:none}
.unfold[hidden],.lot[hidden]{display:none}
.morebtn .btn{margin:0}
/* mini-bandeaux */
.mb{padding:0 max(18rem,calc((100% - 172rem)/2)) 0 max(20rem,calc((100% - 172rem)/2));transition:background .2s}
.mb:hover{background:#7d3d45}
.mb:hover .btn{background:#fff}
.mb img{transition:transform .25s}
.mb:hover img{transform:scale(1.03)}
/* téléchargements */
.dl .btn{margin:0}
footer{padding:6rem max(18rem,calc((100% - 172rem)/2)) 8rem max(20rem,calc((100% - 172rem)/2))}
footer a:hover{color:var(--gre)}
footer .docs a{border-bottom:0.25rem solid var(--gre)}
.u a,.frise em a{border-bottom:0.2rem solid currentColor}
.contact-mail a{border-bottom:0.25rem solid var(--gre)}
.contact-mail a:hover{color:var(--gre)}
.frise-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
/* ===== page Réalisations ===== */
.phero{min-height:78rem;padding:0}
.phero .frag{position:absolute;right:0;top:0;bottom:0;width:78rem;-webkit-mask-image:linear-gradient(to left,#000 55%,transparent);mask-image:linear-gradient(to left,#000 55%,transparent)}
.phero .wrap{padding-top:18rem;padding-bottom:12rem}
.idx{display:flex;flex-wrap:wrap;gap:2rem;margin-top:6rem;max-width:130rem}
.idx a{font-size:2.399rem;font-weight:500;color:var(--enc);border:0.3rem solid var(--line);background:#fff;border-radius:4rem;padding:1.4rem 3.2rem;transition:border-color .2s}
.idx a:hover{border-color:var(--gre)}
.idx a b{font-family:Lora,serif;font-weight:400;color:var(--gre);margin-right:1.4rem}
.fam{padding:13rem 0 12rem}
.fh{display:grid;grid-template-columns:18rem 1fr;gap:4rem;align-items:start;margin-bottom:6rem}
.fh .n{font-family:Lora,serif;font-size:9.172rem;line-height:.95;color:var(--gre)}
.fh h2{margin-bottom:2rem}
.fh p{max-width:140rem;margin-bottom:1.2rem}
.fh .plus{font-family:Lora,serif;font-size:3.704rem;color:var(--enc)}
.g{position:relative;display:block;overflow:hidden;background:#fff;box-shadow:0 0.5rem 1.6rem rgba(35,31,32,.13);cursor:zoom-in;min-width:0}
.g img{width:100%;height:auto;display:block;object-fit:cover;transition:transform .3s,opacity .3s}
.g:hover img{transform:scale(1.03)}
.row{display:flex;gap:2.2rem;margin-bottom:2.2rem}
.glead{display:flex;gap:2.2rem;margin-bottom:2.2rem}
.glead .big img{position:absolute;inset:0;width:100%;height:100%}
.glead .side{display:flex;flex-direction:column;gap:2.2rem;min-width:0}
.ed{display:grid;grid-template-columns:50rem 1fr;gap:7rem;padding:6rem 0;border-top:0.25rem solid var(--line)}
.ed:first-of-type{border-top:none;padding-top:0}
.ed h3{font-size:3.704rem}
.ed .sub{font-size:2.611rem;color:var(--gra);margin-bottom:3rem;display:block}
.meta{display:grid;grid-template-columns:22rem 1fr;gap:1.4rem 3rem;font-size:2.54rem;line-height:1.45}
.meta dt{font-size:2.117rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--gra);padding-top:0.4rem}
.meta dd{color:var(--enc)}
.ublock{border-top:0.25rem solid var(--line);margin-top:9rem;padding-top:8rem}
.endband{padding:12rem 0 14rem}
.endband .btn{margin-bottom:2rem}
/* page légale */
.legal{padding:16rem 0 20rem}
.legal .wrap{max-width:150rem}
.legal h2{font-size:4.586rem;margin:8rem 0 2rem}
.legal a{border-bottom:0.25rem solid var(--gre)}
/* lightbox */
#lb{position:fixed;inset:0;z-index:100;background:rgba(28,24,25,.94);display:flex;align-items:center;justify-content:center}
#lb[hidden]{display:none}
#lb img{max-width:calc(100vw - 30rem);max-height:calc(100vh - 24rem);object-fit:contain;box-shadow:0 2rem 8rem rgba(0,0,0,.5);background:#fff}
#lb button{position:absolute;color:#F7F1E6;font-size:5.644rem;line-height:1;width:12rem;height:12rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08)}
#lb button:hover{background:rgba(255,255,255,.2)}
#lb .x{top:4rem;right:4rem}#lb .p{left:3rem;top:50%;transform:translateY(-50%)}#lb .n{right:3rem;top:50%;transform:translateY(-50%)}
#lb .c{position:absolute;bottom:4rem;left:0;right:0;text-align:center;color:rgba(247,241,230,.7);font-size:2.328rem;letter-spacing:.1em}
/* ===== tablette ===== */
@media (max-width:1180px){
 html{font-size:4.8px}
 .wrap{padding-left:8rem !important;padding-right:8rem !important}
 .top{padding:0 8rem}
 .mb,footer{padding-left:8rem;padding-right:8rem}
 .top .links{gap:2.4rem}
}
@media (max-width:980px){
 .top .links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--pap);border-bottom:0.25rem solid var(--line);padding:2rem 8rem 5rem;font-size:3.175rem;box-shadow:0 2rem 4rem rgba(35,31,32,.08)}
 .top.open .links{display:flex}
 .top .links a{padding:2.4rem 0;width:100%;border-bottom:0.25rem solid var(--line)}
 .top .links a.cta{margin-top:3rem;width:auto;padding:2rem 5rem}
 .burger{display:block}
 .top.open .burger i{background:transparent}.top.open .burger i::before{transform:translateY(2rem) rotate(45deg)}.top.open .burger i::after{transform:translateY(-2rem) rotate(-45deg)}
}
/* ===== mobile ===== */
@media (max-width:760px){
 html{font-size:5px}
 .wrap{padding-left:5rem !important;padding-right:5rem !important;max-width:none !important}
 .top{padding:0 5rem}.mb,footer{padding-left:5rem;padding-right:5rem}
 h1{font-size:7.056rem} h2{font-size:5.115rem !important} .quote{font-size:4.057rem !important}
 section{padding:11rem 0}
 .hero{min-height:0}.hero .wrap{padding-top:12rem;padding-bottom:12rem}.hero .t{display:none}.hero .frag{width:40rem;opacity:.5}
 .hero .qs br,.quote br{display:none}
 .grid2,.grid3,.forms4,.dlrow,.xp,.ed{grid-template-columns:1fr !important}
 div[style*="grid-template-columns"]{grid-template-columns:1fr !important}
 .forms4 p{border:none !important;padding:2rem 0 !important;grid-column:auto !important}
 .xp .ph{height:52rem !important}
 .ph[style*="height:62rem"],.ph[style*="height:48rem"]{max-width:70rem}
 .flow.chain{flex-direction:column;align-items:stretch}
 .flow.chain i{flex:0 0 5rem;transform:rotate(90deg)}
 .flow.chain span{flex:none}
 .flow{justify-content:flex-start !important}
 .par dl{grid-template-columns:1fr !important;gap:1rem !important}
 .par dt{margin-top:2rem}
 .now{grid-template-columns:1fr 1fr}
 .logos{grid-template-columns:repeat(4,1fr)}
 .frise{min-width:180rem}
 .dl{grid-template-columns:22rem 1fr}.dl img{width:22rem}
 .mb{height:auto;padding-top:5rem;padding-bottom:5rem;gap:5rem}
 .mb img{height:18rem}
 .mb .btn{font-size:2.681rem;padding:2.2rem 4rem}
 footer{flex-direction:column;gap:2rem}
 .phero{min-height:0}.phero .frag{width:40rem;opacity:.5}
 .fh{grid-template-columns:1fr;gap:1rem}
 .ed{gap:3rem}
 .row,.glead{gap:1.5rem;margin-bottom:1.5rem}.glead .side{gap:1.5rem}
 #lb img{max-width:100vw;max-height:calc(100vh - 30rem)}
 #lb .p{top:auto;bottom:3rem;transform:none;left:8rem}#lb .n{top:auto;bottom:3rem;transform:none;right:8rem}
 #lb .c{bottom:7rem}
}
.frise-hint{display:none;font-size:2.258rem;color:var(--gre);margin:1rem 0 2rem}
.btn{white-space:nowrap}
@media (max-width:760px){.frise-hint{display:block}.frise-scroll{-webkit-mask-image:linear-gradient(to right,#000 85%,transparent);mask-image:linear-gradient(to right,#000 85%,transparent)}}
