@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=DM+Sans:wght@400;500;600;700;800&family=Permanent+Marker&display=swap');
:root{--ink:#193653;--pink:#df5939;--lime:#f1bc4c;--cream:#edf6f3;--aqua:#a4d8d4;--blue:#315f9e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.55}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Bricolage Grotesque',Arial,sans-serif;line-height:1.03;letter-spacing:-.055em}h2{font-size:clamp(3.2rem,6.4vw,6.9rem);margin-bottom:0}h2 i,h1 em{font-style:normal;color:var(--pink)}.number,.eyebrow,.tag,.format-foot{font-size:.85rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.top{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;background:var(--cream);position:relative;z-index:5}.brand{font-family:'Bricolage Grotesque';font-size:1.6rem;font-weight:700;letter-spacing:-.08em;text-decoration:none}.brand-mark{color:var(--pink);font-size:1.3rem;margin-left:.18em}.top nav{display:flex;align-items:center;gap:2.2rem;font-size:.9rem;font-weight:700}.top nav a{text-decoration:none}.top nav a:hover,.text-link:hover{color:var(--pink)}.nav-contact{padding:.72rem 1rem;border:1.5px solid var(--ink);border-radius:100px}.nav-contact span{margin-left:.7rem}.hero{min-height:690px;background:var(--ink);color:white;display:grid;grid-template-columns:53% 47%;position:relative;overflow:hidden}.hero-copy{padding:clamp(4rem,7vw,7rem) 3rem 6rem 8.5%;z-index:1}.eyebrow{color:var(--lime);margin-bottom:2.8rem}.hero h1{font-size:clamp(4rem,6.4vw,7.4rem);margin:0 0 2.1rem;white-space:nowrap}.hero h1 em{color:var(--lime)}.dot{color:var(--pink)}.intro{max-width:33rem;font-size:1.2rem;line-height:1.5}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:2.4rem}.button{display:inline-flex;align-items:center;gap:2rem;justify-content:space-between;padding:1rem 1.3rem;border-radius:100px;text-decoration:none;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-4px)}.pink{background:var(--pink);color:white}.text-link{font-weight:700;text-decoration:none}.hero-art{min-height:680px;position:relative;overflow:hidden}.hero-art img{width:100%;height:100%;object-fit:cover}.hero-art:after{content:'';position:absolute;inset:0;border:20px solid var(--ink);pointer-events:none}.sticker{position:absolute;bottom:9%;left:-3%;background:var(--lime);color:var(--ink);padding:1.1rem 1.5rem;transform:rotate(-8deg);font-family:'Bricolage Grotesque';font-size:1.5rem;font-weight:700;line-height:1.05;z-index:2;box-shadow:9px 10px 0 var(--pink)}.hero-index{position:absolute;bottom:1.2rem;left:4.5%;font-size:.8rem;letter-spacing:.1em;font-weight:800}.ticker{background:var(--pink);color:white;white-space:nowrap;overflow:hidden;font-family:'Bricolage Grotesque';font-size:1.35rem;font-weight:700;padding:.8rem 0}.ticker div{width:max-content;animation:marquee 30s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.section{padding:8rem 8.5%;display:grid;grid-template-columns:43% 57%;gap:3%}.section-heading .number{display:block;margin-bottom:2.7rem}.concept-body{padding-top:6.3rem;max-width:42rem}.lead{font-family:'Bricolage Grotesque';font-weight:600;font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.3;letter-spacing:-.035em}.concept-body>p:not(.lead){max-width:35rem;font-size:1.08rem}.motifs{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:3rem}.motifs article{border-top:2px solid var(--ink);padding-top:1.1rem}.motif-icon{background:var(--pink);color:white;border-radius:50%;padding:.45rem .6rem;font-weight:800;font-size:.8rem}.motifs h3{font-size:1.7rem;margin:1.3rem 0 .6rem}.motifs p{font-size:.95rem}.image-break{background:var(--lime);padding:3.5rem 8.5% 2.5rem}.image-break img{width:100%;max-height:610px;object-fit:cover;object-position:center 35%;border:12px solid white}.caption{display:flex;justify-content:space-between;font-weight:800;font-size:.86rem;letter-spacing:.08em;margin-top:1.2rem}.caption span{font-size:1.6rem}.formats{background:#dce9ef;grid-template-columns:38% 62%;gap:2%}.formats .section-heading p{max-width:22rem;margin-top:2.5rem}.format-list{padding-left:3rem}.format-list article{border-top:1.5px solid var(--ink);padding:1.5rem 0 1.8rem}.format-top{display:flex;align-items:center;justify-content:space-between}.format-n{font-size:1.15rem;font-weight:800;color:var(--pink)}.tag{border:1px solid var(--ink);border-radius:50px;padding:.3rem .7rem}.format-list h3{font-size:clamp(2rem,3.3vw,3.7rem);margin:1rem 0}.format-list p{max-width:37rem}.format-foot{color:var(--pink)}.process{background:var(--ink);color:white;padding:8rem 8.5%}.process-head{max-width:60rem}.process-head h2{margin:2.3rem 0}.process-head h2 i{color:var(--lime)}.process-head p{max-width:39rem;font-size:1.1rem}.steps{list-style:none;padding:0;margin:4rem 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--lime)}.steps li{padding:1.8rem 1.2rem 0 0;display:flex;flex-direction:column;border-right:1px solid #69689b}.steps li+li{padding-left:1.2rem}.steps li:last-child{border:0}.steps b{color:var(--lime);font-size:.9rem}.steps strong{font-family:'Bricolage Grotesque';font-size:1.5rem;line-height:1.1;margin:1.4rem 0 .8rem}.steps span{font-size:.93rem;color:#dce9ef}.fablab{display:grid;grid-template-columns:22% 1fr;gap:2rem;background:var(--lime);color:var(--ink);padding:2.5rem 3rem;transform:rotate(-1deg)}.fablab .star{font-size:7rem;line-height:1;color:var(--pink)}.fablab h3{font-size:2.6rem;margin:1rem 0}.fablab p{max-width:46rem;margin:0}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;padding-top:4rem}.practical-grid>div{border-top:2px solid var(--pink);padding-top:1rem}.practical-grid h3{font-size:1.7rem;margin-bottom:.5rem}.about{background:#d9563d;color:white;display:grid;grid-template-columns:48% 52%;align-items:center}.about img{width:100%;height:600px;object-fit:cover}.about>div{padding:5rem 9%;}.about h2{margin:2rem 0}.about .dot{color:var(--lime)}.about p{max-width:35rem;font-size:1.1rem}.contact{padding:8rem 8.5%;background:var(--lime)}.contact h2{margin:2.5rem 0}.contact h2 i{color:var(--pink)}.contact p{max-width:42rem;font-size:1.15rem}.contact-actions{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;margin-top:2rem}.white{background:var(--ink);color:white}.phone{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.4rem;text-decoration:none}footer{background:var(--ink);color:white;padding:1.5rem 4.5%;display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:700}footer a{text-decoration:none}.section,.process,.about,.contact{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}.visible{opacity:1;transform:none}a:focus-visible{outline:3px solid var(--pink);outline-offset:4px}@media(max-width:900px){.top nav{gap:1rem}.top nav a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:4rem 6% 3rem}.hero h1{font-size:clamp(3.5rem,10vw,6rem)}.hero-art{min-height:440px;height:50vw}.hero-art:after{border-width:10px}.sticker{left:5%}.hero-index{display:none}.section{padding:6rem 6%;grid-template-columns:1fr;gap:2rem}.concept-body{padding-top:0}.formats .section-heading p{max-width:35rem}.format-list{padding-left:0}.process{padding:6rem 6%}.image-break{padding:2rem 6%}.about img{height:500px}}@media(max-width:600px){.top{height:66px;padding:0 5%}.brand{font-size:1.35rem}.nav-contact{font-size:.78rem;padding:.6rem}.hero-copy{padding:3.5rem 6% 3rem}.eyebrow{font-size:.73rem;margin-bottom:2rem}.hero h1{font-size:clamp(3.1rem,11vw,4.5rem);white-space:normal}.intro{font-size:1rem}.hero-actions{gap:1rem}.hero-art{height:430px;min-height:0}.sticker{font-size:1.15rem}.ticker{font-size:1rem}.section{padding:5rem 6%}.section-heading .number{margin-bottom:2rem}h2{font-size:clamp(3rem,12vw,5rem)}.motifs{grid-template-columns:1fr}.image-break img{border-width:5px}.caption{font-size:.7rem}.tag{font-size:.67rem}.format-list h3{font-size:2.5rem}.process{padding:5rem 6%}.steps{grid-template-columns:1fr 1fr;row-gap:2rem}.steps li:nth-child(2){border:0}.steps li:nth-child(3){padding-left:0}.fablab{grid-template-columns:1fr;padding:2rem;gap:0}.fablab .star{font-size:4rem}.fablab h3{font-size:2rem}.practical-grid{grid-template-columns:1fr;padding-top:1rem}.about{grid-template-columns:1fr}.about img{height:400px}.about>div{padding:4rem 6%}.contact{padding:5rem 6%}.contact h2{font-size:clamp(3.1rem,12vw,5rem)}footer{flex-direction:column;padding:2rem 6%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.section,.process,.about,.contact{opacity:1;transform:none}}

/* Couleurs des carpes : bleu de l'eau, corail, or et turquoise. */
.hero{background:linear-gradient(125deg,#193653 62%,#244d73)}
.hero h1{letter-spacing:-.065em}.hero h1 em{color:#f1bc4c}.hero .dot{color:#f1bc4c}
.ticker{background:var(--blue);color:#fff}.image-break{background:#a4d8d4}.image-break img{border:0;max-height:700px;object-position:center 43%}
.formats{background:#e0ebee}.format-list article{border-color:#7193a6}.format-n,.format-foot{color:#b9472d}
.process{background:#244361}.steps{border-color:#f1bc4c}.steps li{border-color:#6f91a6}.steps b{color:#f1bc4c}.steps span{color:#e2eeef}
.about{background:#d9563d}.about .dot{color:#f4c866}.contact{background:#a4d8d4}.contact h2 i{color:#b9472d}
.pink{background:#df5939}.motif-icon{background:#315f9e}.sticker{background:#f1bc4c;box-shadow:9px 10px 0 #df5939}
.hero-art:after{border-color:#193653}.practical-grid>div{border-color:#df5939}
.hero-art img{position:absolute;max-width:none;width:180%;height:auto;left:-4%;top:-5%;object-fit:initial}
@media(max-width:600px){.hero-art img{width:190%;left:-5%;top:-5%}}
.hero-art{background:#315f9e;display:flex;align-items:center;justify-content:center}
.hero-art img,.hero-art img:nth-child(n){position:static;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center;}
.hero-art:after{display:none}.sticker{display:none}
.street-tag{font-family:'Permanent Marker',cursive;color:#f1bc4c;font-size:clamp(1.7rem,2.5vw,3rem);line-height:1.05;letter-spacing:.015em;transform:rotate(-4deg);margin:-.5rem 0 2.3rem 1.1rem;text-shadow:3px 3px 0 #c6473a}
.motif-top{display:flex;align-items:flex-start;justify-content:space-between;min-height:145px;gap:.8rem}
.line-art{width:135px;height:135px;object-fit:contain;mix-blend-mode:multiply}
.photo-strip{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.7rem;height:380px}
.photo-strip img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center;border:0}
.photo-strip img:nth-child(1){object-position:center 75%}.photo-strip img:nth-child(2){object-position:center 40%}
.format-photo{display:block;width:100%;height:230px;object-fit:cover;object-position:center;margin:1.2rem 0 1rem}
.format-list article:nth-child(1) .format-photo{object-position:center 40%}
.format-list article:nth-child(2) .format-photo{object-position:center 55%}
.process-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:-.3rem 0 4rem}
.process-photos figure{margin:0}.process-photos img{display:block;width:100%;height:320px;object-fit:cover}.process-photos figcaption{font-size:.86rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-top:.7rem;color:#e2eeef}
.about img{object-position:center}
@media(max-width:900px){.hero-art{height:auto;min-height:0;padding:0}.hero-art img,.hero-art img:nth-child(n){width:100%;height:auto}.photo-strip{height:300px}.format-photo{height:280px}}
@media(max-width:600px){.street-tag{font-size:1.8rem;margin:0 0 2rem .5rem}.hero-art{height:auto}.hero-art img,.hero-art img:nth-child(n){width:100%;height:auto}.motif-top{min-height:110px}.line-art{width:110px;height:110px}.photo-strip{grid-template-columns:1fr 1fr;height:auto}.photo-strip img{height:195px}.photo-strip img:last-child{grid-column:1/-1;height:240px}.process-photos{grid-template-columns:1fr}.process-photos img{height:250px}.format-photo{height:220px}}

.image-break .montage{display:block;width:100%;height:auto;max-height:none;object-fit:cover;border:0;margin-bottom:.75rem}
.image-break .photo-strip{height:230px;grid-template-columns:repeat(3,1fr)}
@media(max-width:600px){.image-break .photo-strip{height:auto;grid-template-columns:1fr 1fr}.image-break .photo-strip img:last-child{grid-column:1/-1;height:210px}}

.process-photos img{height:auto;aspect-ratio:1 / 1;object-fit:cover;object-position:center}
@media(max-width:600px){.process-photos img{height:auto}}

.format-list article:nth-child(2) .format-photo{object-position:center 67%}
@media(max-width:600px){.format-list article:nth-child(2) .format-photo{object-position:center bottom}}

.format-list article:nth-child(3) .format-photo{height:300px;object-position:center top}
@media(max-width:600px){.format-list article:nth-child(3) .format-photo{height:220px;object-position:center top}}

.format-list article:nth-child(1) .format-photo{height:320px;object-position:center 31%}
.process-photos img{aspect-ratio:4 / 3}
@media(max-width:600px){.format-list article:nth-child(1) .format-photo{height:260px;object-position:center 31%}}
/* Les trois visuels des formats reprennent la hauteur du visuel central. */
.format-list article .format-photo{height:230px}
@media(max-width:900px){.format-list article .format-photo{height:280px}}
@media(max-width:600px){.format-list article .format-photo{height:220px}}

.motif-gallery{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:2rem;overflow:hidden}
.motif-gallery img{width:100%;height:270px;object-fit:cover}
.motif-gallery img:nth-child(1){object-position:center 45%}
.motif-gallery img:nth-child(3){object-position:center 45%}
.instagram-link{font-family:'Bricolage Grotesque',Arial,sans-serif;font-weight:800;text-decoration:underline;text-underline-offset:.25em;font-size:1.1rem}
.instagram-link:hover{color:#b9472d}
@media(max-width:600px){.motif-gallery{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.motif-gallery img{height:190px}}

.format-photo-frame{display:block;overflow:hidden;height:230px;margin:1.2rem 0 1rem}
.format-list article:nth-child(2) .format-photo-frame .format-photo{width:100%;height:100%;margin:0;transform:scale(1.08);object-position:center 67%}
@media(max-width:900px){.format-photo-frame{height:280px}}
@media(max-width:600px){.format-photo-frame{height:220px}.format-list article:nth-child(2) .format-photo-frame .format-photo{object-position:center bottom}}

.street-tag{font-size:clamp(2.25rem,3.7vw,4.25rem);max-width:10em}
@media(max-width:600px){.street-tag{font-size:clamp(2.2rem,8.5vw,3.1rem)}}

.hero-copy{container-type:inline-size}
.street-tag{font-size:clamp(1rem,7.6cqi,3.1rem);max-width:none;white-space:nowrap;color:var(--pink);text-shadow:3px 3px 0 #fff;text-transform:uppercase;margin-left:0;letter-spacing:0;line-height:1.2}
.fablab{align-items:start;transform:none}
.fablab-mark{color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:1.5rem 0}
.fablab-mark svg{width:6rem;height:6rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fablab-mark>div{display:flex;gap:.8rem;color:var(--pink)}
.fablab-mark>div svg{width:3rem;height:3rem}
.fablab-mark>span{font-size:.875rem;font-weight:800;letter-spacing:.06em;text-align:center;line-height:1.4}
.fablab-learning{padding-left:1.25rem;margin:1.5rem 0;max-width:46rem}
.fablab-learning li{margin-bottom:1rem}
@media(max-width:600px){.street-tag{font-size:clamp(1rem,7.6cqi,3.1rem)}.fablab-mark{flex-direction:row;justify-content:flex-start;padding:0 0 1rem;gap:1rem}.fablab-mark>svg{width:4rem;height:4rem}.fablab-mark>div svg{width:2rem;height:2rem}.fablab-mark>span{display:none}}

/* Cadres uniformes, plus hauts pour les trois formats. */
.format-list article:nth-child(n) .format-photo{height:340px}
.format-photo-frame{height:340px}
.format-list article:nth-child(2) .format-photo-frame .format-photo{height:100%}
@media(max-width:900px){.format-list article:nth-child(n) .format-photo,.format-photo-frame{height:380px}.format-list article:nth-child(2) .format-photo-frame .format-photo{height:100%}}
@media(max-width:600px){.format-list article:nth-child(n) .format-photo,.format-photo-frame{height:300px}.format-list article:nth-child(2) .format-photo-frame .format-photo{height:100%}}
