:root{--noir:#11100d;--papier:#f1eadf;--papier2:#e5d8c7;--or:#a98450;--brun:#6d4b32;--texte:#211d18;--ligne:rgba(63,48,32,.22);--vert:#6b9b67;--orange:#db8b3f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--papier);color:var(--texte);font-family:Arial,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.17;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");z-index:20}h1,h2,h3,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{font-size:.68rem;letter-spacing:.23em;text-transform:uppercase;color:var(--or)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 25px;border:1px solid var(--or);text-transform:uppercase;letter-spacing:.12em;font-size:.66rem;background:transparent;color:inherit;cursor:pointer}.btn.gold{background:var(--or);color:white}.btn.dark{background:var(--noir);color:#fff;border-color:var(--noir)}header{position:absolute;z-index:10;width:100%;color:white;border-bottom:1px solid #ffffff2b}nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{font-family:Georgia,serif;letter-spacing:.12em;font-size:1.15rem}.brand i{font-style:normal;color:var(--or)}.brand small{display:block;font:500 .45rem Arial,sans-serif;letter-spacing:.27em}.links{display:flex;align-items:center;gap:25px;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}.menu{display:none;background:none;border:1px solid #ffffff55;color:white;padding:8px 12px}.hero{min-height:760px;color:white;background:linear-gradient(90deg,rgba(7,7,6,.88),rgba(7,7,6,.48) 45%,rgba(7,7,6,.06) 75%),url('assets/hero-main-et-outil.png') center/cover;display:flex;align-items:center}.hero-copy{padding-top:85px}.hero h1{font-size:clamp(4.5rem,9vw,8rem);line-height:.81;margin:26px 0 24px;letter-spacing:.02em}.hero .lead{max-width:490px;color:#eee}.actions{display:flex;gap:15px;flex-wrap:wrap;margin:32px 0}.micro{font-size:.61rem;text-transform:uppercase;letter-spacing:.12em;margin-top:38px}.section{padding:88px 0}.section h2,.page-title{font-size:clamp(2.1rem,4.4vw,4rem);line-height:1.06;margin:.35em 0}.concept-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:75px;align-items:center}.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:center}.icon{font:2rem Georgia;color:var(--or)}.pillars strong{display:block;font-size:.65rem;line-height:1.4;text-transform:uppercase;letter-spacing:.1em}.tour{background:var(--noir);color:#f6efe4}.tour-grid{display:grid;grid-template-columns:.72fr 1.45fr .66fr;gap:32px;align-items:center}.map{position:relative;min-height:470px}.france{position:absolute;inset:3%;background:#2b2821;clip-path:polygon(48% 0,66% 8%,82% 25%,79% 43%,91% 59%,76% 71%,67% 97%,44% 89%,25% 96%,17% 76%,4% 60%,14% 43%,9% 22%,30% 12%);border:1px solid var(--or)}.route-svg{position:absolute;inset:8%;width:84%;height:84%}.city{position:absolute;transform:translate(-50%,-50%);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em}.city:before{content:"";display:block;width:12px;height:12px;border:3px solid #d8cfbd;background:var(--vert);border-radius:50%;margin:auto}.nantes{left:27%;top:43%}.montjean{left:31%;top:47%}.city small{white-space:nowrap}.legend span{display:block;margin:10px 0;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:9px}.card-dark{border:1px solid var(--or);padding:25px}.card-dark h3{font-size:1.45rem}.portraits-grid,.directory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.portrait-card{min-height:360px;position:relative;display:flex;align-items:flex-end;padding:28px;color:#fff;background-position:center;background-size:cover;overflow:hidden}.portrait-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.06) 65%)}.portrait-card>div{position:relative}.portrait-card.vitrail{background-image:url('assets/atelier-vitrail.png')}.portrait-card.maroline{background-image:url('assets/atelier-maroline.png')}.portrait-card h3{font-size:2rem;margin:.15em 0}.card-link{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.cta-band{display:grid;grid-template-columns:1fr 1.6fr;background:var(--papier2)}.cta-img{min-height:360px;background:url('assets/hero-artisan.png') 65% center/cover}.cta-copy{padding:58px}.page-hero{padding:150px 0 75px;background:var(--noir);color:#fff}.page-hero p{max-width:640px}.filters{display:grid;grid-template-columns:1.7fr repeat(4,1fr);gap:10px;margin:32px 0}.field,input,select,textarea{width:100%;font:inherit}input,select,textarea{border:0;border-bottom:1px solid var(--ligne);background:transparent;padding:14px 8px;outline:none}textarea{min-height:120px;resize:vertical}.count{margin-bottom:18px}.artisan-head{display:grid;grid-template-columns:1.08fr .92fr;min-height:700px}.artisan-visual{background-position:center;background-size:cover}.artisan-copy{padding:145px 8vw 70px;background:var(--noir);color:white}.artisan-copy h1{font-size:clamp(3rem,6vw,6rem);line-height:.93}.meta{display:flex;gap:25px;flex-wrap:wrap;margin:28px 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}.prose{max-width:780px;margin:auto;font-family:Georgia,serif;font-size:1.12rem}.prose h2{margin-top:2.2em}.quote{border-left:1px solid var(--or);padding-left:25px;font-size:1.6rem;font-style:italic}.form-layout{display:grid;grid-template-columns:.95fr 1.05fr;min-height:100vh}.form-image{background:url('assets/hero-artisan.png') center/cover;min-height:700px}.form-panel{padding:125px 6vw 65px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full{grid-column:1/-1}.check{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;margin:12px 0}.check input{width:auto;margin-top:5px}.notice{padding:16px;border-left:3px solid var(--or);background:#e4d7c5;font-size:.8rem}.success{color:#45643d;font-weight:bold}.legal{max-width:820px}.legal h2{margin-top:2em}.todo{color:#8a241c;background:#f3d7d2;padding:2px 5px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.admin-card{border-top:1px solid var(--ligne);padding:25px 0}footer{background:#151411;color:#ddd;padding:55px 0 25px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}footer h4{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;color:white}footer a,footer p{display:block;font-size:.75rem;color:#aaa;margin:6px 0}.socials{display:flex;gap:14px}.footer-bottom{border-top:1px solid #ffffff1c;margin-top:35px;padding-top:18px;font-size:.65rem;color:#777}.empty{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed var(--ligne)}@media(max-width:900px){.links{display:none;position:absolute;top:82px;left:0;right:0;background:#151411;padding:25px;flex-direction:column}.links.open{display:flex}.menu{display:block}.concept-grid,.tour-grid,.cta-band,.artisan-head,.form-layout,.contact-grid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr 1fr}.artisan-visual,.form-image{min-height:480px}.artisan-copy,.form-panel{padding:90px 24px}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.wrap{width:calc(100% - 28px)}.hero{min-height:700px;background-position:63% center}.hero h1{font-size:3.7rem}.filters,.form-grid,.footer-grid,.portraits-grid,.directory-grid{grid-template-columns:1fr}.pillars{grid-template-columns:1fr 1fr}.section{padding:65px 0}.cta-copy{padding:42px 24px}.full{grid-column:auto}}
/* Section concept plein écran */
#concept{min-height:100vh;display:flex;align-items:center;padding-top:clamp(55px,7vh,90px);padding-bottom:clamp(55px,7vh,90px)}
#concept>.wrap{width:min(1400px,calc(100% - 7vw))}
@media(max-width:900px){#concept{min-height:auto;padding-top:80px;padding-bottom:80px}}
/* Finition sobre de la section concept */
#concept .concept-grid{grid-template-columns:minmax(420px,.95fr) minmax(620px,1.25fr);gap:clamp(70px,7vw,125px)}
#concept .concept-grid>div:first-child{position:relative;padding-right:clamp(35px,4vw,70px)}
#concept .concept-grid>div:first-child:after{content:"";position:absolute;top:4%;right:0;width:1px;height:92%;background:linear-gradient(to bottom,transparent,rgba(169,132,80,.55) 22%,rgba(169,132,80,.55) 78%,transparent)}
#concept h2{max-width:680px;letter-spacing:-.018em}
#concept .concept-grid>div:first-child>p{max-width:610px;color:#4f4840;margin:24px 0 28px}
#concept .pillars{gap:0;align-items:center}
#concept .pillars>div{position:relative;padding:24px 18px}
#concept .pillars>div+div:before{content:"";position:absolute;left:0;top:27%;height:46%;width:1px;background:rgba(109,75,50,.14)}
#concept .icon{font-size:2.55rem;line-height:1;margin-bottom:15px}
#concept .pillars strong{font-size:.69rem;line-height:1.5}
@media(max-width:900px){#concept .concept-grid{grid-template-columns:1fr;gap:55px}#concept .concept-grid>div:first-child{padding-right:0}#concept .concept-grid>div:first-child:after{display:none}#concept .pillars>div:nth-child(3):before{display:none}}
@media(max-width:560px){#concept .pillars>div{padding:20px 10px}#concept .pillars>div:before{display:none}#concept .icon{font-size:2.25rem}}
/* Lecture des portraits éditoriaux */
.prose h3{font-size:1.45rem;line-height:1.35;margin:1.4em 0 .7em;color:var(--brun)}
.prose hr{border:0;border-top:1px solid rgba(169,132,80,.4);width:90px;margin:55px 0}
.prose strong{font-weight:700;color:#17130f}
.prose{max-width:1180px;width:58vw;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.15rem,1.35vw,1.7rem);line-height:1.62}
.prose p{max-width:1180px;margin:0 0 1.55em}
.prose strong{font-weight:inherit;color:inherit}
.prose>.quote:first-child{max-width:none;margin:0 0 190px;padding:8px 0 8px 38px;border:0;border-left:2px solid var(--or);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.8rem,2.3vw,2.9rem);font-style:italic;font-weight:400;line-height:1.2;letter-spacing:-.015em;color:var(--texte)}
.prose>.quote:first-child:before{content:none}
.prose>.quote:first-child+hr{display:none}
.prose h2{position:relative;max-width:1180px;margin:0 0 .55em;padding:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.8rem,4.25vw,5.5rem);font-weight:400;line-height:1.04;letter-spacing:-.03em;color:var(--texte)}
.prose h2:before{content:none}
.prose h2:not(:first-of-type){margin-top:1.45em}
.prose hr{display:none}
@media(max-width:1200px){.prose{width:calc(100% - 96px)}}
@media(max-width:900px){.prose{width:calc(100% - 48px)}.prose>.quote:first-child{margin-bottom:85px;padding-left:28px}.prose h2{font-size:clamp(2.75rem,9vw,5rem)}}
@media(max-width:560px){.prose{width:calc(100% - 28px);font-size:1.08rem}.prose>.quote:first-child{margin-bottom:60px;padding:5px 0 5px 20px;font-size:1.75rem}.prose h2{font-size:2.65rem}}
.success.error{color:#8a241c}
button:disabled{cursor:wait;opacity:.62}
